Browse Source

Json Editor

pull/1/head
Sebastian 9 years ago
parent
commit
acadb2cf65
  1. 1
      Squidex.sln.DotSettings
  2. 9
      src/Squidex.Core/Schemas/Field.cs
  3. 3
      src/Squidex.Core/Schemas/FieldRegistry.cs
  4. 47
      src/Squidex.Core/Schemas/JsonField.cs
  5. 28
      src/Squidex.Core/Schemas/JsonFieldProperties.cs
  6. 2
      src/Squidex.Core/Schemas/StringFieldEditor.cs
  7. 2
      src/Squidex/Controllers/Api/Schemas/Models/BooleanFieldPropertiesDto.cs
  8. 11
      src/Squidex/Controllers/Api/Schemas/Models/Converters/SchemaConverter.cs
  9. 2
      src/Squidex/Controllers/Api/Schemas/Models/DateTimeFieldPropertiesDto.cs
  10. 1
      src/Squidex/Controllers/Api/Schemas/Models/FieldPropertiesDto.cs
  11. 23
      src/Squidex/Controllers/Api/Schemas/Models/JsonFieldPropertiesDto.cs
  12. 2
      src/Squidex/Controllers/Api/Schemas/Models/NumberFieldPropertiesDto.cs
  13. 2
      src/Squidex/Controllers/Api/Schemas/Models/StringFieldPropertiesDto.cs
  14. 16
      src/Squidex/app/features/content/pages/content/content-field.component.html
  15. 2
      src/Squidex/app/features/schemas/declarations.ts
  16. 4
      src/Squidex/app/features/schemas/module.ts
  17. 22
      src/Squidex/app/features/schemas/pages/schema/field.component.html
  18. 9
      src/Squidex/app/features/schemas/pages/schema/schema-page.component.ts
  19. 2
      src/Squidex/app/features/schemas/pages/schema/types/boolean-ui.component.html
  20. 4
      src/Squidex/app/features/schemas/pages/schema/types/date-time-ui.component.html
  21. 3
      src/Squidex/app/features/schemas/pages/schema/types/json-ui.component.html
  22. 2
      src/Squidex/app/features/schemas/pages/schema/types/json-ui.component.scss
  23. 24
      src/Squidex/app/features/schemas/pages/schema/types/json-ui.component.ts
  24. 9
      src/Squidex/app/features/schemas/pages/schema/types/json-validation.component.html
  25. 10
      src/Squidex/app/features/schemas/pages/schema/types/json-validation.component.scss
  26. 24
      src/Squidex/app/features/schemas/pages/schema/types/json-validation.component.ts
  27. 6
      src/Squidex/app/features/schemas/pages/schema/types/number-ui.component.html
  28. 10
      src/Squidex/app/features/schemas/pages/schema/types/string-ui.component.html
  29. 12
      src/Squidex/app/framework/angular/json-editor.component.ts
  30. 11
      src/Squidex/app/shared/services/schemas.service.spec.ts
  31. 55
      src/Squidex/app/shared/services/schemas.service.ts
  32. 96
      src/Squidex/app/theme/icomoon/demo.html
  33. BIN
      src/Squidex/app/theme/icomoon/fonts/icomoon.eot
  34. 26
      src/Squidex/app/theme/icomoon/fonts/icomoon.svg
  35. BIN
      src/Squidex/app/theme/icomoon/fonts/icomoon.ttf
  36. BIN
      src/Squidex/app/theme/icomoon/fonts/icomoon.woff
  37. 26
      src/Squidex/app/theme/icomoon/selection.json
  38. 43
      src/Squidex/app/theme/icomoon/style.css
  39. 12
      tests/Squidex.Core.Tests/Contents/ContentDataTests.cs
  40. 4
      tests/Squidex.Core.Tests/Schemas/BooleanFieldTests.cs
  41. 2
      tests/Squidex.Core.Tests/Schemas/DateTimeFieldTests.cs
  42. 63
      tests/Squidex.Core.Tests/Schemas/JsonFieldTests.cs
  43. 2
      tests/Squidex.Core.Tests/Schemas/NumberFieldTests.cs
  44. 2
      tests/Squidex.Core.Tests/Schemas/SchemaTests.cs
  45. 18
      tests/Squidex.Core.Tests/Schemas/SchemaValidationTests.cs
  46. 2
      tests/Squidex.Core.Tests/Schemas/StringFieldTests.cs
  47. 2
      tools/GenerateLanguages/Program.cs

1
Squidex.sln.DotSettings

@ -34,6 +34,7 @@
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestVarOrType_005FElsewhere/@EntryIndexedValue">SUGGESTION</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestVarOrType_005FSimpleTypes/@EntryIndexedValue">SUGGESTION</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=TsResolvedFromInaccessibleModule/@EntryIndexedValue">DO_NOT_SHOW</s:String>
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedMember_002EGlobal/@EntryIndexedValue">DO_NOT_SHOW</s:String>
<s:String x:Key="/Default/CodeInspection/TypeScriptInspections/Level/@EntryValue">TypeScript16</s:String>
<s:String x:Key="/Default/CodeStyle/CodeCleanup/Profiles/=Header/@EntryIndexedValue">&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;Profile name="Header"&gt;&lt;CSUpdateFileHeader&gt;True&lt;/CSUpdateFileHeader&gt;&lt;/Profile&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/CodeCleanup/Profiles/=Namespaces/@EntryIndexedValue">&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;Profile name="Namespaces"&gt;&lt;CSOptimizeUsings&gt;&lt;OptimizeUsings&gt;True&lt;/OptimizeUsings&gt;&lt;EmbraceInRegion&gt;False&lt;/EmbraceInRegion&gt;&lt;RegionName&gt;&lt;/RegionName&gt;&lt;/CSOptimizeUsings&gt;&lt;CSUpdateFileHeader&gt;True&lt;/CSUpdateFileHeader&gt;&lt;/Profile&gt;</s:String>

9
src/Squidex.Core/Schemas/Field.cs

@ -157,11 +157,18 @@ namespace Squidex.Core.Schemas
languages = new[] { Language.Invariant };
}
var edmValueType = CreateEdmType();
if (edmValueType == null)
{
return;
}
var languageType = typeResolver(new EdmComplexType("Squidex", $"{schemaName}_{Name}_Property"));
foreach (var language in languages)
{
languageType.AddStructuralProperty(language.Iso2Code, CreateEdmType());
languageType.AddStructuralProperty(language.Iso2Code, edmValueType);
}
edmType.AddStructuralProperty(Name, new EdmComplexTypeReference(languageType, false));

3
src/Squidex.Core/Schemas/FieldRegistry.cs

@ -67,6 +67,9 @@ namespace Squidex.Core.Schemas
Add<DateTimeFieldProperties>(
(id, name, p) => new DateTimeField(id, name, (DateTimeFieldProperties)p));
Add<JsonFieldProperties>(
(id, name, p) => new JsonField(id, name, (JsonFieldProperties)p));
}
public void Add<TFieldProperties>(FactoryFunction fieldFactory)

47
src/Squidex.Core/Schemas/JsonField.cs

@ -0,0 +1,47 @@
// ==========================================================================
// JsonField.cs
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex Group
// All rights reserved.
// ==========================================================================
using System.Collections.Generic;
using Microsoft.OData.Edm;
using Newtonsoft.Json.Linq;
using NJsonSchema;
using Squidex.Core.Schemas.Validators;
namespace Squidex.Core.Schemas
{
public sealed class JsonField : Field<JsonFieldProperties>
{
public JsonField(long id, string name, JsonFieldProperties properties)
: base(id, name, properties)
{
}
protected override IEnumerable<IValidator> CreateValidators()
{
if (Properties.IsRequired)
{
yield return new RequiredValidator();
}
}
protected override object ConvertValue(JToken value)
{
return value;
}
protected override void PrepareJsonSchema(JsonProperty jsonProperty)
{
jsonProperty.Type = JsonObjectType.Object;
}
protected override IEdmTypeReference CreateEdmType()
{
return null;
}
}
}

28
src/Squidex.Core/Schemas/JsonFieldProperties.cs

@ -0,0 +1,28 @@
// ==========================================================================
// JsonFieldProperties.cs
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex Group
// All rights reserved.
// ==========================================================================
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using Squidex.Infrastructure;
namespace Squidex.Core.Schemas
{
[TypeName("JsonField")]
public sealed class JsonFieldProperties : FieldProperties
{
public override JToken GetDefaultValue()
{
return JValue.CreateNull();
}
protected override IEnumerable<ValidationError> ValidateCore()
{
yield break;
}
}
}

2
src/Squidex.Core/Schemas/StringFieldEditor.cs

@ -11,7 +11,7 @@ namespace Squidex.Core.Schemas
public enum StringFieldEditor
{
Input,
TextArea,
Textarea,
Radio,
Dropdown
}

2
src/Squidex/Controllers/Api/Schemas/Models/BooleanFieldPropertiesDto.cs

@ -14,7 +14,7 @@ using Squidex.Infrastructure.Reflection;
namespace Squidex.Controllers.Api.Schemas.Models
{
[JsonSchema("boolean")]
[JsonSchema("Boolean")]
public sealed class BooleanFieldPropertiesDto : FieldPropertiesDto
{
/// <summary>

11
src/Squidex/Controllers/Api/Schemas/Models/Converters/SchemaConverter.cs

@ -27,6 +27,10 @@ namespace Squidex.Controllers.Api.Schemas.Models.Converters
typeof(DateTimeFieldProperties),
p => Convert((DateTimeFieldProperties)p)
},
{
typeof(JsonFieldProperties),
p => Convert((JsonFieldProperties)p)
},
{
typeof(StringFieldProperties),
p => Convert((StringFieldProperties)p)
@ -74,6 +78,13 @@ namespace Squidex.Controllers.Api.Schemas.Models.Converters
return result;
}
private static FieldPropertiesDto Convert(JsonFieldProperties source)
{
var result = SimpleMapper.Map(source, new JsonFieldPropertiesDto());
return result;
}
private static FieldPropertiesDto Convert(StringFieldProperties source)
{
var result = SimpleMapper.Map(source, new StringFieldPropertiesDto());

2
src/Squidex/Controllers/Api/Schemas/Models/DateTimeFieldPropertiesDto.cs

@ -15,7 +15,7 @@ using Squidex.Infrastructure.Reflection;
namespace Squidex.Controllers.Api.Schemas.Models
{
[JsonSchema("dateTime")]
[JsonSchema("DateTime")]
public sealed class DateTimeFieldPropertiesDto : FieldPropertiesDto
{
/// <summary>

1
src/Squidex/Controllers/Api/Schemas/Models/FieldPropertiesDto.cs

@ -17,6 +17,7 @@ namespace Squidex.Controllers.Api.Schemas.Models
[JsonConverter(typeof(JsonInheritanceConverter), "fieldType")]
[KnownType(typeof(BooleanFieldPropertiesDto))]
[KnownType(typeof(DateTimeFieldPropertiesDto))]
[KnownType(typeof(JsonFieldPropertiesDto))]
[KnownType(typeof(NumberFieldPropertiesDto))]
[KnownType(typeof(StringFieldPropertiesDto))]
public abstract class FieldPropertiesDto

23
src/Squidex/Controllers/Api/Schemas/Models/JsonFieldPropertiesDto.cs

@ -0,0 +1,23 @@
// ==========================================================================
// JsonFieldPropertiesDto.cs
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex Group
// All rights reserved.
// ==========================================================================
using NJsonSchema.Annotations;
using Squidex.Core.Schemas;
using Squidex.Infrastructure.Reflection;
namespace Squidex.Controllers.Api.Schemas.Models
{
[JsonSchema("Json")]
public sealed class JsonFieldPropertiesDto : FieldPropertiesDto
{
public override FieldProperties ToProperties()
{
return SimpleMapper.Map(this, new JsonFieldProperties());
}
}
}

2
src/Squidex/Controllers/Api/Schemas/Models/NumberFieldPropertiesDto.cs

@ -15,7 +15,7 @@ using Squidex.Infrastructure.Reflection;
namespace Squidex.Controllers.Api.Schemas.Models
{
[JsonSchema("number")]
[JsonSchema("Number")]
public sealed class NumberFieldPropertiesDto : FieldPropertiesDto
{
/// <summary>

2
src/Squidex/Controllers/Api/Schemas/Models/StringFieldPropertiesDto.cs

@ -15,7 +15,7 @@ using Squidex.Infrastructure.Reflection;
namespace Squidex.Controllers.Api.Schemas.Models
{
[JsonSchema("string")]
[JsonSchema("String")]
public sealed class StringFieldPropertiesDto : FieldPropertiesDto
{
/// <summary>

16
src/Squidex/app/features/content/pages/content/content-field.component.html

@ -15,7 +15,7 @@
<sqx-control-errors [for]="language" fieldName="{{field|displayName:'properties.label':'name'}}" [submitted]="contentFormSubmitted"></sqx-control-errors>
<div [ngSwitch]="field.properties.fieldType">
<div *ngSwitchCase="'number'">
<div *ngSwitchCase="'Number'">
<div [ngSwitch]="field.properties.editor">
<div *ngSwitchCase="'Input'">
<input class="form-control" type="number" [formControlName]="language">
@ -34,7 +34,7 @@
</div>
</div>
</div>
<div *ngSwitchCase="'string'">
<div *ngSwitchCase="'String'">
<div [ngSwitch]="field.properties.editor">
<div *ngSwitchCase="'Input'">
<input class="form-control" type="text" [formControlName]="language">
@ -44,7 +44,7 @@
<option *ngFor="let value of field.properties.allowedValues">{{value}}</option>
</select>
</div>
<div *ngSwitchCase="'TextArea'">
<div *ngSwitchCase="'Textarea'">
<textarea class="form-control" [formControlName]="language"></textarea>
</div>
<div *ngSwitchCase="'Radio'">
@ -55,10 +55,8 @@
</div>
</div>
</div>
</div><div *ngSwitchCase="'dateTime'">
<sqx-date-time-editor enforceTime="true" [mode]="field.properties.editor" [formControlName]="language"></sqx-date-time-editor>
</div>
<div *ngSwitchCase="'boolean'">
<div *ngSwitchCase="'Boolean'">
<div [ngSwitch]="field.properties.editor">
<div *ngSwitchCase="'Checkbox'">
<div class="form-check form-check-inline">
@ -69,6 +67,12 @@
</div>
</div>
</div>
<div *ngSwitchCase="'DateTime'">
<sqx-date-time-editor enforceTime="true" [mode]="field.properties.editor" [formControlName]="language"></sqx-date-time-editor>
</div>
<div *ngSwitchCase="'Json'">
<sqx-json-editor [formControlName]="language"></sqx-json-editor>
</div>
</div>
</div>
</div>

2
src/Squidex/app/features/schemas/declarations.ts

@ -9,6 +9,8 @@ export * from './pages/schema/types/boolean-ui.component';
export * from './pages/schema/types/boolean-validation.component';
export * from './pages/schema/types/date-time-ui.component';
export * from './pages/schema/types/date-time-validation.component';
export * from './pages/schema/types/json-ui.component';
export * from './pages/schema/types/json-validation.component';
export * from './pages/schema/types/number-ui.component';
export * from './pages/schema/types/number-validation.component';
export * from './pages/schema/types/string-ui.component';

4
src/Squidex/app/features/schemas/module.ts

@ -22,6 +22,8 @@ import {
BooleanValidationComponent,
DateTimeUIComponent,
DateTimeValidationComponent,
JsonUIComponent,
JsonValidationComponent,
NumberUIComponent,
NumberValidationComponent,
SchemaEditFormComponent,
@ -78,6 +80,8 @@ const routes: Routes = [
BooleanValidationComponent,
DateTimeUIComponent,
DateTimeValidationComponent,
JsonUIComponent,
JsonValidationComponent,
NumberUIComponent,
NumberValidationComponent,
SchemaEditFormComponent,

22
src/Squidex/app/features/schemas/pages/schema/field.component.html

@ -129,35 +129,41 @@
<div class="field-details-tab" [class.hidden]="selectedTab !== 1">
<div [ngSwitch]="field.properties.fieldType">
<div *ngSwitchCase="'number'">
<div *ngSwitchCase="'Number'">
<sqx-number-validation [editForm]="editForm" [properties]="field.properties"></sqx-number-validation>
</div>
<div *ngSwitchCase="'string'">
<div *ngSwitchCase="'String'">
<sqx-string-validation [editForm]="editForm" [properties]="field.properties"></sqx-string-validation>
</div>
<div *ngSwitchCase="'boolean'">
<div *ngSwitchCase="'Boolean'">
<sqx-boolean-validation [editForm]="editForm" [properties]="field.properties"></sqx-boolean-validation>
</div>
<div *ngSwitchCase="'dateTime'">
<div *ngSwitchCase="'DateTime'">
<sqx-date-time-validation [editForm]="editForm" [properties]="field.properties"></sqx-date-time-validation>
</div>
<div *ngSwitchCase="'Json'">
<sqx-json-validation [editForm]="editForm" [properties]="field.properties"></sqx-json-validation>
</div>
</div>
</div>
<div class="field-details-tab" [class.hidden]="selectedTab !== 2">
<div [ngSwitch]="field.properties.fieldType">
<div *ngSwitchCase="'number'">
<div *ngSwitchCase="'Number'">
<sqx-number-ui [editForm]="editForm" [properties]="field.properties"></sqx-number-ui>
</div>
<div *ngSwitchCase="'string'">
<div *ngSwitchCase="'String'">
<sqx-string-ui [editForm]="editForm" [properties]="field.properties"></sqx-string-ui>
</div>
<div *ngSwitchCase="'boolean'">
<div *ngSwitchCase="'Boolean'">
<sqx-boolean-ui [editForm]="editForm" [properties]="field.properties"></sqx-boolean-ui>
</div>
<div *ngSwitchCase="'dateTime'">
<div *ngSwitchCase="'DateTime'">
<sqx-date-time-ui [editForm]="editForm" [properties]="field.properties"></sqx-date-time-ui>
</div>
<div *ngSwitchCase="'Json'">
<sqx-json-ui [editForm]="editForm" [properties]="field.properties"></sqx-json-ui>
</div>
</div>
</div>
</form>

9
src/Squidex/app/features/schemas/pages/schema/schema-page.component.ts

@ -41,10 +41,11 @@ import { SchemaUpdated } from './../messages';
})
export class SchemaPageComponent extends AppComponentBase implements OnInit {
public fieldTypes: string[] = [
'string',
'number',
'boolean',
'dateTime'
'Boolean',
'DateTime',
'Json',
'Number',
'String'
];
public schemaName: string;

2
src/Squidex/app/features/schemas/pages/schema/types/boolean-ui.component.html

@ -17,7 +17,7 @@
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'Checkbox'">
<input type="radio" class="radio-input" formControlName="editor" value="Checkbox" />
<i class="icon-control-checkbox"></i>
<i class="icon-control-Checkbox"></i>
<span class="radio-label">Checkbox</span>
</label>

4
src/Squidex/app/features/schemas/pages/schema/types/date-time-ui.component.html

@ -17,14 +17,14 @@
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'Date'">
<input type="radio" class="radio-input" formControlName="editor" value="Date" />
<i class="icon-control-date"></i>
<i class="icon-control-Date"></i>
<span class="radio-label">Date</span>
</label>
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'DateTime'">
<input type="radio" class="radio-input" formControlName="editor" value="DateTime" />
<i class="icon-control-date-time"></i>
<i class="icon-control-DateTime"></i>
<span class="radio-label" clas>DateTime</span>
</label>

3
src/Squidex/app/features/schemas/pages/schema/types/json-ui.component.html

@ -0,0 +1,3 @@
<div [formGroup]="editForm">
<span>Nothing to setup</span>
<div>

2
src/Squidex/app/features/schemas/pages/schema/types/json-ui.component.scss

@ -0,0 +1,2 @@
@import '_vars';
@import '_mixins';

24
src/Squidex/app/features/schemas/pages/schema/types/json-ui.component.ts

@ -0,0 +1,24 @@
/*
* Squidex Headless CMS
*
* @license
* Copyright (c) Sebastian Stehle. All rights reserved
*/
import { Component, Input } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { JsonFieldPropertiesDto } from 'shared';
@Component({
selector: 'sqx-json-ui',
styleUrls: ['json-ui.component.scss'],
templateUrl: 'json-ui.component.html'
})
export class JsonUIComponent {
@Input()
public editForm: FormGroup;
@Input()
public properties: JsonFieldPropertiesDto;
}

9
src/Squidex/app/features/schemas/pages/schema/types/json-validation.component.html

@ -0,0 +1,9 @@
<div [formGroup]="editForm">
<div class="form-group row">
<label class="col col-3 col-form-checkbox-label" for="field-required">Required</label>
<div class="col col-6">
<input type="checkbox" class="form-check-input" id="field-required" formControlName="isRequired" />
</div>
</div>
</div>

10
src/Squidex/app/features/schemas/pages/schema/types/json-validation.component.scss

@ -0,0 +1,10 @@
@import '_vars';
@import '_mixins';
.form-check-input {
margin: 0;
}
.form-group {
margin-top: .5rem;
}

24
src/Squidex/app/features/schemas/pages/schema/types/json-validation.component.ts

@ -0,0 +1,24 @@
/*
* Squidex Headless CMS
*
* @license
* Copyright (c) Sebastian Stehle. All rights reserved
*/
import { Component, Input } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { JsonFieldPropertiesDto } from 'shared';
@Component({
selector: 'sqx-json-validation',
styleUrls: ['json-validation.component.scss'],
templateUrl: 'json-validation.component.html'
})
export class JsonValidationComponent {
@Input()
public editForm: FormGroup;
@Input()
public properties: JsonFieldPropertiesDto;
}

6
src/Squidex/app/features/schemas/pages/schema/types/number-ui.component.html

@ -17,21 +17,21 @@
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'Input'">
<input type="radio" class="radio-input" formControlName="editor" value="Input" />
<i class="icon-control-input"></i>
<i class="icon-control-Input"></i>
<span class="radio-label">Input</span>
</label>
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'Dropdown'">
<input type="radio" class="radio-input" formControlName="editor" value="Dropdown" />
<i class="icon-control-dropdown"></i>
<i class="icon-control-Dropdown"></i>
<span class="radio-label" clas>Dropdown</span>
</label>
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'Radio'">
<input type="radio" class="radio-input" formControlName="editor" value="Radio" />
<i class="icon-control-radio"></i>
<i class="icon-control-Radio"></i>
<span class="radio-label">Radio</span>
</label>

10
src/Squidex/app/features/schemas/pages/schema/types/string-ui.component.html

@ -17,28 +17,28 @@
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'Input'">
<input type="radio" class="radio-input" formControlName="editor" value="Input" />
<i class="icon-control-input"></i>
<i class="icon-control-Input"></i>
<span class="radio-label">Input</span>
</label>
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'TextArea'">
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'Textarea'">
<input type="radio" class="radio-input" formControlName="editor" value="TextArea" />
<i class="icon-control-textarea"></i>
<i class="icon-control-Textarea"></i>
<span class="radio-label">TextArea</span>
</label>
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'Dropdown'">
<input type="radio" class="radio-input" formControlName="editor" value="Dropdown" />
<i class="icon-control-dropdown"></i>
<i class="icon-control-Dropdown"></i>
<span class="radio-label" clas>Dropdown</span>
</label>
<label class="btn btn-radio" [class.active]="editForm.controls.editor.value === 'Radio'">
<input type="radio" class="radio-input" formControlName="editor" value="Radio" />
<i class="icon-control-radio"></i>
<i class="icon-control-Radio"></i>
<span class="radio-label">Radio</span>
</label>

12
src/Squidex/app/framework/angular/json-editor.component.ts

@ -94,13 +94,15 @@ export class JsonEditorComponent implements ControlValueAccessor, AfterViewInit
}
private setValue(value: any) {
if (!value) {
value = {};
}
if (value) {
const jsonString = JSON.stringify(value, undefined, 4);
const jsonString = JSON.stringify(value, undefined, 4);
this.aceEditor.setValue(jsonString);
} else {
this.aceEditor.setValue('');
}
this.aceEditor.setValue(jsonString);
this.aceEditor.clearSelection();
}
private static loadScript(callback: () => void) {

11
src/Squidex/app/shared/services/schemas.service.spec.ts

@ -130,6 +130,14 @@ describe('SchemasService', () => {
properties: {
fieldType: 'dateTime'
}
}, {
fieldId: 5,
name: 'field5',
isHidden: true,
isDisabled: true,
properties: {
fieldType: 'json'
}
}]
}
})
@ -150,7 +158,8 @@ describe('SchemasService', () => {
new FieldDto(1, 'field1', true, true, createProperties('number')),
new FieldDto(2, 'field2', true, true, createProperties('string')),
new FieldDto(3, 'field3', true, true, createProperties('boolean')),
new FieldDto(4, 'field4', true, true, createProperties('dateTime'))
new FieldDto(4, 'field4', true, true, createProperties('dateTime')),
new FieldDto(5, 'field5', true, true, createProperties('json'))
]));
authService.verifyAll();

55
src/Squidex/app/shared/services/schemas.service.ts

@ -22,30 +22,33 @@ export function createProperties(fieldType: string, values: Object | null = null
let properties: FieldPropertiesDto;
switch (fieldType) {
case 'number':
case 'Number':
properties =
new NumberFieldPropertiesDto(
undefined, undefined, undefined, false, false, false, 'Input',
undefined, undefined, undefined, undefined);
break;
case 'string':
case 'String':
properties =
new StringFieldPropertiesDto(
undefined, undefined, undefined, false, false, false, 'Input',
undefined, undefined, undefined, undefined, undefined, undefined);
break;
case 'boolean':
case 'Boolean':
properties =
new BooleanFieldPropertiesDto(
undefined, undefined, undefined, false, false, false, 'Checkbox',
undefined);
break;
case 'dateTime':
case 'DateTime':
properties =
new DateTimeFieldPropertiesDto(
undefined, undefined, undefined, false, false, false, 'DateTime',
undefined, undefined, undefined);
break;
case 'Json':
properties = new JsonFieldPropertiesDto(undefined, undefined, undefined, false, false, false);
break;
default:
throw 'Invalid properties type';
}
@ -110,39 +113,39 @@ export abstract class FieldPropertiesDto {
}
}
export class NumberFieldPropertiesDto extends FieldPropertiesDto {
export class StringFieldPropertiesDto extends FieldPropertiesDto {
constructor(label: string | undefined, hints: string | undefined, placeholder: string | undefined,
isRequired: boolean,
isListField: boolean,
isLocalizable: boolean,
public readonly editor: string,
public readonly defaultValue?: number,
public readonly maxValue?: number,
public readonly minValue?: number,
public readonly allowedValues?: number[]
public readonly defaultValue?: string,
public readonly pattern?: string,
public readonly patternMessage?: string,
public readonly minLength?: number | null,
public readonly maxLength?: number | null,
public readonly allowedValues?: string[]
) {
super(label, hints, placeholder, isRequired, isListField, isLocalizable);
this['fieldType'] = 'number';
this['fieldType'] = 'String';
}
}
export class StringFieldPropertiesDto extends FieldPropertiesDto {
export class NumberFieldPropertiesDto extends FieldPropertiesDto {
constructor(label: string | undefined, hints: string | undefined, placeholder: string | undefined,
isRequired: boolean,
isListField: boolean,
isLocalizable: boolean,
public readonly editor: string,
public readonly defaultValue?: string,
public readonly pattern?: string,
public readonly patternMessage?: string,
public readonly minLength?: number | null,
public readonly maxLength?: number | null,
public readonly allowedValues?: string[]
public readonly defaultValue?: number,
public readonly maxValue?: number,
public readonly minValue?: number,
public readonly allowedValues?: number[]
) {
super(label, hints, placeholder, isRequired, isListField, isLocalizable);
this['fieldType'] = 'string';
this['fieldType'] = 'Number';
}
}
@ -158,7 +161,7 @@ export class DateTimeFieldPropertiesDto extends FieldPropertiesDto {
) {
super(label, hints, placeholder, isRequired, isListField, isLocalizable);
this['fieldType'] = 'dateTime';
this['fieldType'] = 'DateTime';
}
}
@ -172,7 +175,19 @@ export class BooleanFieldPropertiesDto extends FieldPropertiesDto {
) {
super(label, hints, placeholder, isRequired, isListField, isLocalizable);
this['fieldType'] = 'boolean';
this['fieldType'] = 'Boolean';
}
}
export class JsonFieldPropertiesDto extends FieldPropertiesDto {
constructor(label: string | undefined, hints: string | undefined, placeholder: string | undefined,
isRequired: boolean,
isListField: boolean,
isLocalizable: boolean
) {
super(label, hints, placeholder, isRequired, isListField, isLocalizable);
this['fieldType'] = 'Json';
}
}

96
src/Squidex/app/theme/icomoon/demo.html

@ -149,10 +149,10 @@
<h1 class="mvm mtn fgc1">Grid Size: 14</h1>
<div class="glyph fs3">
<div class="clearfix bshadow0 pbs">
<span class="icon-control-date">
<span class="icon-control-Date">
</span>
<span class="mls"> icon-control-date</span>
<span class="mls"> icon-control-Date</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e936" class="unit size1of2" />
@ -165,10 +165,10 @@
</div>
<div class="glyph fs3">
<div class="clearfix bshadow0 pbs">
<span class="icon-control-date-time">
<span class="icon-control-DateTime">
</span>
<span class="mls"> icon-control-date-time</span>
<span class="mls"> icon-control-DateTime</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e937" class="unit size1of2" />
@ -472,10 +472,10 @@
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-control-checkbox">
<span class="icon-control-Checkbox">
</span>
<span class="mls"> icon-control-checkbox</span>
<span class="mls"> icon-control-Checkbox</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e90a" class="unit size1of2" />
@ -488,10 +488,10 @@
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-control-dropdown">
<span class="icon-control-Dropdown">
</span>
<span class="mls"> icon-control-dropdown</span>
<span class="mls"> icon-control-Dropdown</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e90b" class="unit size1of2" />
@ -504,10 +504,10 @@
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-control-input">
<span class="icon-control-Input">
</span>
<span class="mls"> icon-control-input</span>
<span class="mls"> icon-control-Input</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e90c" class="unit size1of2" />
@ -520,10 +520,10 @@
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-control-radio">
<span class="icon-control-Radio">
</span>
<span class="mls"> icon-control-radio</span>
<span class="mls"> icon-control-Radio</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e90d" class="unit size1of2" />
@ -536,10 +536,10 @@
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-control-textarea">
<span class="icon-control-Textarea">
</span>
<span class="mls"> icon-control-textarea</span>
<span class="mls"> icon-control-Textarea</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e90e" class="unit size1of2" />
@ -552,10 +552,10 @@
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-control-toggle">
<span class="icon-control-Toggle">
</span>
<span class="mls"> icon-control-toggle</span>
<span class="mls"> icon-control-Toggle</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e90f" class="unit size1of2" />
@ -742,6 +742,22 @@
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-type-Json">
</span>
<span class="mls"> icon-type-Json</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e91a" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe91a;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-json">
@ -920,10 +936,10 @@
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-type-boolean">
<span class="icon-type-Boolean">
</span>
<span class="mls"> icon-type-boolean</span>
<span class="mls"> icon-type-Boolean</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e924" class="unit size1of2" />
@ -936,42 +952,10 @@
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-type-datetime">
</span>
<span class="mls"> icon-type-datetime</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e925" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe925;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-type-date-time">
</span>
<span class="mls"> icon-type-date-time</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e925" class="unit size1of2" />
<input type="text" maxlength="1" readonly value="&#xe925;" class="unitRight size1of2 talign-right" />
</fieldset>
<div class="fs0 bshadow0 clearfix hidden-true">
<span class="unit pvs fgc1">liga: </span>
<input type="text" readonly value="" class="liga unitRight" />
</div>
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-type-dateTime">
<span class="icon-type-DateTime">
</span>
<span class="mls"> icon-type-dateTime</span>
<span class="mls"> icon-type-DateTime</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e925" class="unit size1of2" />
@ -984,10 +968,10 @@
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-type-number">
<span class="icon-type-Number">
</span>
<span class="mls"> icon-type-number</span>
<span class="mls"> icon-type-Number</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e926" class="unit size1of2" />
@ -1000,10 +984,10 @@
</div>
<div class="glyph fs4">
<div class="clearfix bshadow0 pbs">
<span class="icon-type-string">
<span class="icon-type-String">
</span>
<span class="mls"> icon-type-string</span>
<span class="mls"> icon-type-String</span>
</div>
<fieldset class="fs0 size1of1 clearfix hidden-false">
<input type="text" readonly value="e927" class="unit size1of2" />

BIN
src/Squidex/app/theme/icomoon/fonts/icomoon.eot

Binary file not shown.

26
src/Squidex/app/theme/icomoon/fonts/icomoon.svg

@ -17,12 +17,12 @@
<glyph unicode="&#xe907;" glyph-name="check-circle-filled" d="M512-64c-282.778 0-512 229.222-512 512s229.222 512 512 512 512-229.222 512-512-229.222-512-512-512zM855.808 689.408c-19.2 19.2-50.278 19.2-69.478 0l-376.73-376.73-171.878 171.93c-19.2 19.2-50.278 19.2-69.478 0s-19.2-50.278 0-69.478c0 0 201.523-205.261 204.8-208.486 9.984-10.138 23.347-14.643 36.557-14.080 13.21-0.563 26.573 3.942 36.608 14.029 3.277 3.226 409.6 413.286 409.6 413.286 19.2 19.2 19.2 50.33 0 69.53z" />
<glyph unicode="&#xe908;" glyph-name="close" d="M601.024 448l276.736-276.736c24.512-24.576 24.512-64.384 0-89.024-24.64-24.576-64.384-24.576-89.024 0l-276.736 276.736-276.736-276.736c-24.512-24.576-64.384-24.576-89.024 0-24.512 24.64-24.512 64.448 0 89.024l276.736 276.736-276.736 276.736c-24.512 24.576-24.512 64.384 0 89.024 24.64 24.576 64.512 24.576 89.024 0l276.736-276.736 276.736 276.736c24.64 24.576 64.384 24.576 89.024 0 24.512-24.64 24.512-64.448 0-89.024l-276.736-276.736z" />
<glyph unicode="&#xe909;" glyph-name="content" d="M409.6 524.8h-153.6v-51.2h153.6v51.2zM409.6 627.2h-153.6v-51.2h153.6v51.2zM256 268.8h409.6v51.2h-409.6v-51.2zM409.6 729.6h-153.6v-51.2h153.6v51.2zM870.4 780.8h-51.2v51.2c0 28.262-22.938 51.2-51.2 51.2h-614.4c-28.262 0-51.2-22.938-51.2-51.2v-665.6c0-28.262 22.938-51.2 51.2-51.2h51.2v-51.2c0-28.262 22.938-51.2 51.2-51.2h614.4c28.262 0 51.2 22.938 51.2 51.2v665.6c0 28.262-22.938 51.2-51.2 51.2zM179.2 166.4c-14.157 0-25.6 11.443-25.6 25.6v614.4c0 14.131 11.443 25.6 25.6 25.6h563.2c14.157 0 25.6-11.469 25.6-25.6v-614.4c0-14.157-11.443-25.6-25.6-25.6h-563.2zM870.4 89.6c0-14.157-11.443-25.6-25.6-25.6h-563.2c-14.157 0-25.6 11.443-25.6 25.6v25.6h512c28.262 0 51.2 22.938 51.2 51.2v563.2h25.6c14.157 0 25.6-11.469 25.6-25.6v-614.4zM614.4 729.6h-102.4c-28.262 0-51.2-22.938-51.2-51.2v-153.6c0-28.262 22.938-51.2 51.2-51.2h102.4c28.262 0 51.2 22.938 51.2 51.2v153.6c0 28.262-22.938 51.2-51.2 51.2zM614.4 524.8h-102.4v153.6h102.4v-153.6zM256 371.2h409.6v51.2h-409.6v-51.2z" />
<glyph unicode="&#xe90a;" glyph-name="control-checkbox" d="M793.6 115.2c0-14.157-11.443-25.6-25.6-25.6h-665.6c-14.131 0-25.6 11.443-25.6 25.6v665.6c0 14.157 11.469 25.6 25.6 25.6h665.6c14.157 0 25.6-11.443 25.6-25.6v-102.4h51.2v128c0 28.262-22.938 51.2-51.2 51.2h-716.8c-28.262 0-51.2-22.938-51.2-51.2v-716.8c0-28.262 22.938-51.2 51.2-51.2h716.8c28.262 0 51.2 22.938 51.2 51.2v281.6h-51.2v-256zM991.078 722.253c-9.958 9.958-26.035 9.958-35.968 0l-391.91-391.91-238.31 238.31c-9.958 9.958-26.061 9.958-35.942 0-9.958-9.907-9.958-26.010 0-35.942l254.874-254.874c0.461-0.538 0.614-1.203 1.126-1.69 5.043-5.018 11.674-7.475 18.278-7.373 6.605-0.102 13.235 2.355 18.278 7.373 0.512 0.512 0.666 1.178 1.126 1.69l408.448 408.474c9.933 9.933 9.933 26.035 0 35.942z" />
<glyph unicode="&#xe90b;" glyph-name="control-dropdown" d="M51.2 960c-28.262 0-51.2-22.938-51.2-51.2v-281.6c0-28.262 22.938-51.2 51.2-51.2h921.6c28.262 0 51.2 22.938 51.2 51.2v281.6c0 28.262-22.938 51.2-51.2 51.2h-921.6zM76.8 908.8h512v-281.6h-512c-14.157 0-25.6 11.443-25.6 25.6v230.4c0 14.157 11.443 25.6 25.6 25.6zM640 908.8h307.2c14.157 0 25.6-11.443 25.6-25.6v-230.4c0-14.157-11.443-25.6-25.6-25.6h-307.2v281.6zM716.8 806.4c-0.41-0.358 89.139-102.938 89.6-102.4 0.512 0 89.6 95.36 89.6 102.4 0-0.384-172.16 0-179.2 0zM128 524.8c-42.394 0-76.8-34.406-76.8-76.8s34.406-76.8 76.8-76.8c42.394 0 76.8 34.406 76.8 76.8s-34.406 76.8-76.8 76.8zM128 473.6c14.157 0 25.6-11.443 25.6-25.6s-11.443-25.6-25.6-25.6c-14.157 0-25.6 11.443-25.6 25.6s11.443 25.6 25.6 25.6zM307.2 473.6c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h640c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-640zM128 320c-42.394 0-76.8-34.381-76.8-76.8s34.406-76.8 76.8-76.8c42.394 0 76.8 34.381 76.8 76.8s-34.406 76.8-76.8 76.8zM128 268.8c14.157 0 25.6-11.443 25.6-25.6s-11.443-25.6-25.6-25.6c-14.157 0-25.6 11.443-25.6 25.6s11.443 25.6 25.6 25.6zM307.2 268.8c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h640c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-640zM128 115.2c-42.394 0-76.8-34.381-76.8-76.8s34.406-76.8 76.8-76.8c42.394 0 76.8 34.381 76.8 76.8s-34.406 76.8-76.8 76.8zM128 64c14.157 0 25.6-11.443 25.6-25.6s-11.443-25.6-25.6-25.6c-14.157 0-25.6 11.443-25.6 25.6s11.443 25.6 25.6 25.6zM307.2 64c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h640c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-640z" />
<glyph unicode="&#xe90c;" glyph-name="control-input" d="M512 960c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h128v-870.4h-128c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h307.2c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-128v870.4h128c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-307.2zM51.2 755.2c-28.262 0-51.2-22.938-51.2-51.2v-460.8c0-28.262 22.938-51.2 51.2-51.2h537.6v51.2h-512c-14.131 0-25.6 11.443-25.6 25.6v409.6c0 14.157 11.469 25.6 25.6 25.6h512v51.2h-537.6zM742.4 755.2v-51.2h204.8c14.157 0 25.6-11.443 25.6-25.6v-409.6c0-14.157-11.443-25.6-25.6-25.6h-204.8v-51.2h230.4c28.262 0 51.2 22.938 51.2 51.2v460.8c0 28.262-22.938 51.2-51.2 51.2h-230.4zM285.9 653c-0.589-0.051-1.161-0.048-1.75-0.15-8.243-0.051-16.396-4.474-20.85-13.050l-132.55-306.25c-6.656-12.749-2.866-28.981 8.5-36.2 11.341-7.219 25.97-2.749 32.6 10l27.65 63.85h170.5c0.512 0 0.914 0.224 1.4 0.25l27.45-64.050c6.63-12.749 21.136-17.269 32.4-10.050s15.005 23.451 8.4 36.2l-131.3 306.25c-4.454 8.576-12.432 12.973-20.65 13.050-0.614 0.102-1.211 0.099-1.8 0.15zM285.9 570.85l63.65-148.45h-127.9l64.25 148.45z" />
<glyph unicode="&#xe90d;" glyph-name="control-radio" d="M153.6 243.2c-84.787 0-153.6-68.813-153.6-153.6s68.813-153.6 153.6-153.6c84.787 0 153.6 68.813 153.6 153.6s-68.813 153.6-153.6 153.6zM153.6-12.8c-56.55 0-102.4 45.85-102.4 102.4s45.85 102.4 102.4 102.4c56.55 0 102.4-45.85 102.4-102.4s-45.85-102.4-102.4-102.4zM384 780.8h614.4c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-614.4c-14.131 0-25.6-11.443-25.6-25.6s11.469-25.6 25.6-25.6zM998.4 473.6h-614.4c-14.131 0-25.6-11.443-25.6-25.6s11.469-25.6 25.6-25.6h614.4c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6zM153.6 960c-84.787 0-153.6-68.787-153.6-153.6s68.813-153.6 153.6-153.6c84.787 0 153.6 68.787 153.6 153.6s-68.813 153.6-153.6 153.6zM153.6 704c-56.55 0-102.4 45.85-102.4 102.4s45.85 102.4 102.4 102.4c56.55 0 102.4-45.85 102.4-102.4s-45.85-102.4-102.4-102.4zM153.6 601.6c-84.787 0-153.6-68.787-153.6-153.6 0-84.787 68.813-153.6 153.6-153.6s153.6 68.813 153.6 153.6c0 84.813-68.813 153.6-153.6 153.6zM153.6 345.6c-56.55 0-102.4 45.85-102.4 102.4s45.85 102.4 102.4 102.4c56.55 0 102.4-45.85 102.4-102.4s-45.85-102.4-102.4-102.4zM153.6 857.6c-28.262 0-51.2-22.938-51.2-51.2s22.938-51.2 51.2-51.2c28.262 0 51.2 22.938 51.2 51.2s-22.938 51.2-51.2 51.2zM998.4 115.2h-614.4c-14.131 0-25.6-11.443-25.6-25.6s11.469-25.6 25.6-25.6h614.4c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6z" />
<glyph unicode="&#xe90e;" glyph-name="control-textarea" d="M0 960v-204.8h76.8v-76.8h51.2v76.8h76.8v204.8h-204.8zM819.2 960v-204.8h204.8v204.8h-204.8zM51.2 908.8h102.4v-102.4h-102.4v102.4zM870.4 908.8h102.4v-102.4h-102.4v102.4zM281.6 883.2v-51.2h102.4v51.2h-102.4zM486.4 883.2v-51.2h102.4v51.2h-102.4zM691.2 883.2v-51.2h102.4v51.2h-102.4zM333.25 755.2c-7.091 0.307-14.348-2.097-19.75-7.55l-74.75-74.75c-10.317-10.291-10.317-27.083 0-37.4s27.059-10.317 37.35 0l68.45 68.5h141.85v-486.4h-50.7c-7.117 0.307-14.348-2.097-19.75-7.55l-23.6-23.55c-10.317-10.317-10.317-27.083 0-37.4 10.291-10.317 27.109-10.317 37.4 0l17.25 17.3h129.75l18.050-18c10.394-10.368 27.181-10.368 37.6 0 10.368 10.394 10.368 27.181 0 37.6l-24 24c-5.478 5.478-12.682 7.907-19.85 7.6h-50.95v486.4h141.55l69.25-69.2c10.394-10.368 27.155-10.368 37.6 0 10.368 10.368 10.368 27.181 0 37.6l-75.2 75.2c-5.478 5.478-12.706 7.907-19.9 7.6h-357.65zM896 678.4v-102.4h51.2v102.4h-51.2zM76.8 576v-102.4h51.2v102.4h-51.2zM896 473.6v-102.4h51.2v102.4h-51.2zM76.8 371.2v-102.4h51.2v102.4h-51.2zM896 268.8v-102.4h51.2v102.4h-51.2zM76.8 166.4v-25.6h-76.8v-204.8h204.8v76.8h76.8v51.2h-76.8v76.8h-76.8v25.6h-51.2zM819.2 140.8v-76.8h-25.6v-51.2h25.6v-76.8h204.8v204.8h-204.8zM51.2 89.6h102.4v-102.4h-102.4v102.4zM870.4 89.6h102.4v-102.4h-102.4v102.4zM384 64v-51.2h102.4v51.2h-102.4zM588.8 64v-51.2h102.4v51.2h-102.4z" />
<glyph unicode="&#xe90f;" glyph-name="control-toggle" d="M332.8 934.4c-127.258 0-230.4-103.142-230.4-230.4s103.142-230.4 230.4-230.4h358.4c127.258 0 230.4 103.142 230.4 230.4s-103.142 230.4-230.4 230.4h-358.4zM332.8 883.2h358.4c98.97 0 179.2-80.23 179.2-179.2s-80.23-179.2-179.2-179.2h-358.4c-98.97 0-179.2 80.23-179.2 179.2s80.23 179.2 179.2 179.2zM332.8 832c-70.707 0-128-57.293-128-128s57.293-128 128-128c70.707 0 128 57.293 128 128s-57.293 128-128 128zM332.8 780.8c42.419 0 76.8-34.381 76.8-76.8s-34.381-76.8-76.8-76.8c-42.419 0-76.8 34.381-76.8 76.8s34.381 76.8 76.8 76.8zM332.8 422.4c-127.258 0-230.4-103.142-230.4-230.4s103.142-230.4 230.4-230.4h358.4c127.258 0 230.4 103.142 230.4 230.4s-103.142 230.4-230.4 230.4h-358.4zM332.8 371.2h358.4c98.97 0 179.2-80.23 179.2-179.2s-80.23-179.2-179.2-179.2h-358.4c-98.97 0-179.2 80.23-179.2 179.2s80.23 179.2 179.2 179.2zM691.2 320c-70.707 0-128-57.293-128-128s57.293-128 128-128c70.707 0 128 57.293 128 128s-57.293 128-128 128zM691.2 268.8c42.419 0 76.8-34.381 76.8-76.8s-34.381-76.8-76.8-76.8c-42.419 0-76.8 34.381-76.8 76.8s34.381 76.8 76.8 76.8z" />
<glyph unicode="&#xe90a;" glyph-name="control-Checkbox" d="M793.6 115.2c0-14.157-11.443-25.6-25.6-25.6h-665.6c-14.131 0-25.6 11.443-25.6 25.6v665.6c0 14.157 11.469 25.6 25.6 25.6h665.6c14.157 0 25.6-11.443 25.6-25.6v-102.4h51.2v128c0 28.262-22.938 51.2-51.2 51.2h-716.8c-28.262 0-51.2-22.938-51.2-51.2v-716.8c0-28.262 22.938-51.2 51.2-51.2h716.8c28.262 0 51.2 22.938 51.2 51.2v281.6h-51.2v-256zM991.078 722.253c-9.958 9.958-26.035 9.958-35.968 0l-391.91-391.91-238.31 238.31c-9.958 9.958-26.061 9.958-35.942 0-9.958-9.907-9.958-26.010 0-35.942l254.874-254.874c0.461-0.538 0.614-1.203 1.126-1.69 5.043-5.018 11.674-7.475 18.278-7.373 6.605-0.102 13.235 2.355 18.278 7.373 0.512 0.512 0.666 1.178 1.126 1.69l408.448 408.474c9.933 9.933 9.933 26.035 0 35.942z" />
<glyph unicode="&#xe90b;" glyph-name="control-Dropdown" d="M51.2 960c-28.262 0-51.2-22.938-51.2-51.2v-281.6c0-28.262 22.938-51.2 51.2-51.2h921.6c28.262 0 51.2 22.938 51.2 51.2v281.6c0 28.262-22.938 51.2-51.2 51.2h-921.6zM76.8 908.8h512v-281.6h-512c-14.157 0-25.6 11.443-25.6 25.6v230.4c0 14.157 11.443 25.6 25.6 25.6zM640 908.8h307.2c14.157 0 25.6-11.443 25.6-25.6v-230.4c0-14.157-11.443-25.6-25.6-25.6h-307.2v281.6zM716.8 806.4c-0.41-0.358 89.139-102.938 89.6-102.4 0.512 0 89.6 95.36 89.6 102.4 0-0.384-172.16 0-179.2 0zM128 524.8c-42.394 0-76.8-34.406-76.8-76.8s34.406-76.8 76.8-76.8c42.394 0 76.8 34.406 76.8 76.8s-34.406 76.8-76.8 76.8zM128 473.6c14.157 0 25.6-11.443 25.6-25.6s-11.443-25.6-25.6-25.6c-14.157 0-25.6 11.443-25.6 25.6s11.443 25.6 25.6 25.6zM307.2 473.6c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h640c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-640zM128 320c-42.394 0-76.8-34.381-76.8-76.8s34.406-76.8 76.8-76.8c42.394 0 76.8 34.381 76.8 76.8s-34.406 76.8-76.8 76.8zM128 268.8c14.157 0 25.6-11.443 25.6-25.6s-11.443-25.6-25.6-25.6c-14.157 0-25.6 11.443-25.6 25.6s11.443 25.6 25.6 25.6zM307.2 268.8c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h640c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-640zM128 115.2c-42.394 0-76.8-34.381-76.8-76.8s34.406-76.8 76.8-76.8c42.394 0 76.8 34.381 76.8 76.8s-34.406 76.8-76.8 76.8zM128 64c14.157 0 25.6-11.443 25.6-25.6s-11.443-25.6-25.6-25.6c-14.157 0-25.6 11.443-25.6 25.6s11.443 25.6 25.6 25.6zM307.2 64c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h640c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-640z" />
<glyph unicode="&#xe90c;" glyph-name="control-Input" d="M512 960c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h128v-870.4h-128c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h307.2c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-128v870.4h128c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-307.2zM51.2 755.2c-28.262 0-51.2-22.938-51.2-51.2v-460.8c0-28.262 22.938-51.2 51.2-51.2h537.6v51.2h-512c-14.131 0-25.6 11.443-25.6 25.6v409.6c0 14.157 11.469 25.6 25.6 25.6h512v51.2h-537.6zM742.4 755.2v-51.2h204.8c14.157 0 25.6-11.443 25.6-25.6v-409.6c0-14.157-11.443-25.6-25.6-25.6h-204.8v-51.2h230.4c28.262 0 51.2 22.938 51.2 51.2v460.8c0 28.262-22.938 51.2-51.2 51.2h-230.4zM285.9 653c-0.589-0.051-1.161-0.048-1.75-0.15-8.243-0.051-16.396-4.474-20.85-13.050l-132.55-306.25c-6.656-12.749-2.866-28.981 8.5-36.2 11.341-7.219 25.97-2.749 32.6 10l27.65 63.85h170.5c0.512 0 0.914 0.224 1.4 0.25l27.45-64.050c6.63-12.749 21.136-17.269 32.4-10.050s15.005 23.451 8.4 36.2l-131.3 306.25c-4.454 8.576-12.432 12.973-20.65 13.050-0.614 0.102-1.211 0.099-1.8 0.15zM285.9 570.85l63.65-148.45h-127.9l64.25 148.45z" />
<glyph unicode="&#xe90d;" glyph-name="control-Radio" d="M153.6 243.2c-84.787 0-153.6-68.813-153.6-153.6s68.813-153.6 153.6-153.6c84.787 0 153.6 68.813 153.6 153.6s-68.813 153.6-153.6 153.6zM153.6-12.8c-56.55 0-102.4 45.85-102.4 102.4s45.85 102.4 102.4 102.4c56.55 0 102.4-45.85 102.4-102.4s-45.85-102.4-102.4-102.4zM384 780.8h614.4c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-614.4c-14.131 0-25.6-11.443-25.6-25.6s11.469-25.6 25.6-25.6zM998.4 473.6h-614.4c-14.131 0-25.6-11.443-25.6-25.6s11.469-25.6 25.6-25.6h614.4c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6zM153.6 960c-84.787 0-153.6-68.787-153.6-153.6s68.813-153.6 153.6-153.6c84.787 0 153.6 68.787 153.6 153.6s-68.813 153.6-153.6 153.6zM153.6 704c-56.55 0-102.4 45.85-102.4 102.4s45.85 102.4 102.4 102.4c56.55 0 102.4-45.85 102.4-102.4s-45.85-102.4-102.4-102.4zM153.6 601.6c-84.787 0-153.6-68.787-153.6-153.6 0-84.787 68.813-153.6 153.6-153.6s153.6 68.813 153.6 153.6c0 84.813-68.813 153.6-153.6 153.6zM153.6 345.6c-56.55 0-102.4 45.85-102.4 102.4s45.85 102.4 102.4 102.4c56.55 0 102.4-45.85 102.4-102.4s-45.85-102.4-102.4-102.4zM153.6 857.6c-28.262 0-51.2-22.938-51.2-51.2s22.938-51.2 51.2-51.2c28.262 0 51.2 22.938 51.2 51.2s-22.938 51.2-51.2 51.2zM998.4 115.2h-614.4c-14.131 0-25.6-11.443-25.6-25.6s11.469-25.6 25.6-25.6h614.4c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6z" />
<glyph unicode="&#xe90e;" glyph-name="control-Textarea" d="M0 960v-204.8h76.8v-76.8h51.2v76.8h76.8v204.8h-204.8zM819.2 960v-204.8h204.8v204.8h-204.8zM51.2 908.8h102.4v-102.4h-102.4v102.4zM870.4 908.8h102.4v-102.4h-102.4v102.4zM281.6 883.2v-51.2h102.4v51.2h-102.4zM486.4 883.2v-51.2h102.4v51.2h-102.4zM691.2 883.2v-51.2h102.4v51.2h-102.4zM333.25 755.2c-7.091 0.307-14.348-2.097-19.75-7.55l-74.75-74.75c-10.317-10.291-10.317-27.083 0-37.4s27.059-10.317 37.35 0l68.45 68.5h141.85v-486.4h-50.7c-7.117 0.307-14.348-2.097-19.75-7.55l-23.6-23.55c-10.317-10.317-10.317-27.083 0-37.4 10.291-10.317 27.109-10.317 37.4 0l17.25 17.3h129.75l18.050-18c10.394-10.368 27.181-10.368 37.6 0 10.368 10.394 10.368 27.181 0 37.6l-24 24c-5.478 5.478-12.682 7.907-19.85 7.6h-50.95v486.4h141.55l69.25-69.2c10.394-10.368 27.155-10.368 37.6 0 10.368 10.368 10.368 27.181 0 37.6l-75.2 75.2c-5.478 5.478-12.706 7.907-19.9 7.6h-357.65zM896 678.4v-102.4h51.2v102.4h-51.2zM76.8 576v-102.4h51.2v102.4h-51.2zM896 473.6v-102.4h51.2v102.4h-51.2zM76.8 371.2v-102.4h51.2v102.4h-51.2zM896 268.8v-102.4h51.2v102.4h-51.2zM76.8 166.4v-25.6h-76.8v-204.8h204.8v76.8h76.8v51.2h-76.8v76.8h-76.8v25.6h-51.2zM819.2 140.8v-76.8h-25.6v-51.2h25.6v-76.8h204.8v204.8h-204.8zM51.2 89.6h102.4v-102.4h-102.4v102.4zM870.4 89.6h102.4v-102.4h-102.4v102.4zM384 64v-51.2h102.4v51.2h-102.4zM588.8 64v-51.2h102.4v51.2h-102.4z" />
<glyph unicode="&#xe90f;" glyph-name="control-Toggle" d="M332.8 934.4c-127.258 0-230.4-103.142-230.4-230.4s103.142-230.4 230.4-230.4h358.4c127.258 0 230.4 103.142 230.4 230.4s-103.142 230.4-230.4 230.4h-358.4zM332.8 883.2h358.4c98.97 0 179.2-80.23 179.2-179.2s-80.23-179.2-179.2-179.2h-358.4c-98.97 0-179.2 80.23-179.2 179.2s80.23 179.2 179.2 179.2zM332.8 832c-70.707 0-128-57.293-128-128s57.293-128 128-128c70.707 0 128 57.293 128 128s-57.293 128-128 128zM332.8 780.8c42.419 0 76.8-34.381 76.8-76.8s-34.381-76.8-76.8-76.8c-42.419 0-76.8 34.381-76.8 76.8s34.381 76.8 76.8 76.8zM332.8 422.4c-127.258 0-230.4-103.142-230.4-230.4s103.142-230.4 230.4-230.4h358.4c127.258 0 230.4 103.142 230.4 230.4s-103.142 230.4-230.4 230.4h-358.4zM332.8 371.2h358.4c98.97 0 179.2-80.23 179.2-179.2s-80.23-179.2-179.2-179.2h-358.4c-98.97 0-179.2 80.23-179.2 179.2s80.23 179.2 179.2 179.2zM691.2 320c-70.707 0-128-57.293-128-128s57.293-128 128-128c70.707 0 128 57.293 128 128s-57.293 128-128 128zM691.2 268.8c42.419 0 76.8-34.381 76.8-76.8s-34.381-76.8-76.8-76.8c-42.419 0-76.8 34.381-76.8 76.8s34.381 76.8 76.8 76.8z" />
<glyph unicode="&#xe910;" glyph-name="copy" d="M204.8 908.8c-56.525 0-102.4-45.875-102.4-102.4v-512c0-56.525 45.875-102.4 102.4-102.4h409.6c56.525 0 102.4 45.875 102.4 102.4v512c0 56.525-45.875 102.4-102.4 102.4h-409.6zM204.8 857.6h409.6c28.262 0 51.2-22.886 51.2-51.2v-512c0-28.314-22.938-51.2-51.2-51.2h-409.6c-28.262 0-51.2 22.886-51.2 51.2v512c0 28.314 22.938 51.2 51.2 51.2zM768 755.2v-51.2c28.262 0 51.2-22.886 51.2-51.2v-512c0-28.314-22.938-51.2-51.2-51.2h-409.6c-28.262 0-51.2 22.886-51.2 51.2h-51.2c0-56.525 45.875-102.4 102.4-102.4h409.6c56.525 0 102.4 45.875 102.4 102.4v512c0 56.525-45.875 102.4-102.4 102.4z" />
<glyph unicode="&#xe911;" glyph-name="dashboard" d="M882.534 89.6h-792.243c-56.653 79.514-90.291 176.538-90.291 281.6 0 268.621 217.779 486.4 486.4 486.4s486.4-217.779 486.4-486.4c0-105.062-33.638-202.086-90.266-281.6zM512 805.146v-49.946h-51.2v49.946c-219.827-12.826-395.494-188.493-408.32-408.346h49.92v-51.2h-50.278c4.429-75.008 27.981-144.742 65.664-204.8h737.203c37.709 60.058 61.261 129.792 65.664 204.8h-50.253v51.2h49.894c-12.826 219.853-188.467 395.52-408.294 408.346zM486.4 243.2c-42.419 0-76.8 34.381-76.8 76.8s34.381 332.8 76.8 332.8c42.419 0 76.8-290.381 76.8-332.8s-34.381-76.8-76.8-76.8zM486.4 448c-14.131 0-25.6-113.843-25.6-128s11.469-25.6 25.6-25.6c14.157 0 25.6 11.443 25.6 25.6s-11.443 128-25.6 128z" />
<glyph unicode="&#xe912;" glyph-name="delete, bin" d="M597.35 140.8c14.131 0 25.6 11.469 25.6 25.6v307.2c0 14.080-11.469 25.6-25.6 25.6s-25.6-11.52-25.6-25.6v-307.2c0-14.131 11.418-25.6 25.6-25.6zM776.55 755.2h-153.6v51.2c0 28.314-22.886 51.2-51.2 51.2h-102.4c-28.262 0-51.2-22.886-51.2-51.2v-51.2h-153.6c-28.262 0-51.2-22.886-51.2-51.2v-102.4c0-28.314 22.938-51.2 51.2-51.2v-460.8c0-28.314 22.938-51.2 51.2-51.2h409.6c28.314 0 51.2 22.886 51.2 51.2v460.8c28.314 0 51.2 22.886 51.2 51.2v102.4c0 28.314-22.938 51.2-51.2 51.2zM469.35 806.4h102.4v-51.2h-102.4v51.2zM725.35 89.6h-409.6v460.8h409.6v-460.8zM776.55 601.6h-512v102.4h512v-102.4zM443.75 140.8c14.131 0 25.6 11.469 25.6 25.6v307.2c0 14.080-11.469 25.6-25.6 25.6s-25.6-11.52-25.6-25.6v-307.2c0-14.131 11.469-25.6 25.6-25.6z" />
@ -33,7 +33,7 @@
<glyph unicode="&#xe917;" glyph-name="drag" d="M665.6 908.8v-102.4h102.4v102.4h-102.4zM460.8 806.4h102.4v102.4h-102.4v-102.4zM460.8 601.6h102.4v102.4h-102.4v-102.4zM665.6 601.6h102.4v102.4h-102.4v-102.4zM665.6 396.8h102.4v102.4h-102.4v-102.4zM460.8 396.8h102.4v102.4h-102.4v-102.4zM460.8 192h102.4v102.4h-102.4v-102.4zM665.6 192h102.4v102.4h-102.4v-102.4zM665.6-12.8h102.4v102.4h-102.4v-102.4zM460.8-12.8h102.4v102.4h-102.4v-102.4zM256 806.4h102.4v102.4h-102.4v-102.4zM256 601.6h102.4v102.4h-102.4v-102.4zM256 396.8h102.4v102.4h-102.4v-102.4zM256 192h102.4v102.4h-102.4v-102.4zM256-12.8h102.4v102.4h-102.4v-102.4z" />
<glyph unicode="&#xe918;" glyph-name="filter" d="M921.6 678.042c0 70.707-171.878 128.154-384 128.154s-384-57.19-384-127.898c0-10.035 3.789-19.712 10.342-29.030 0 0.051 296.858-406.067 296.858-406.067v-256l153.6 51.2v204.8c0 0 298.752 408.166 299.725 409.702 0 0 7.475 16.64 7.475 25.139zM537.6 755.2c206.899 0 318.208-53.248 332.083-76.8-13.875-23.552-125.184-76.8-332.083-76.8s-318.208 53.248-332.083 76.8c13.875 23.552 125.184 76.8 332.083 76.8zM869.376 614.144v0 0zM573.030 273.408c-6.4-8.755-9.83-19.354-9.83-30.208v-167.885l-51.2-17.050v184.934c0 10.854-3.43 21.453-9.83 30.208l-228.147 312.115c68.762-21.709 161.382-35.123 263.578-35.123 102.298 0 195.021 13.414 263.834 35.174-0.102-0.051-0.205-0.051-0.307-0.102l-228.096-312.064z" />
<glyph unicode="&#xe919;" glyph-name="help" d="M512 448h-204.8v-51.2h204.8v51.2zM768 806.4h-51.2c0 28.314-22.886 51.2-51.2 51.2h-307.2c-28.314 0-51.2-22.886-51.2-51.2h-51.2c-28.314 0-51.2-22.886-51.2-51.2v-665.6c0-28.314 22.886-51.2 51.2-51.2h512c28.314 0 51.2 22.886 51.2 51.2v665.6c0 28.314-22.886 51.2-51.2 51.2zM358.4 806.4h307.2v-51.2h-307.2v51.2zM768 140.8c0-28.314-22.886-51.2-51.2-51.2h-409.6c-28.314 0-51.2 22.886-51.2 51.2v563.2c0 28.314 22.886 51.2 51.2 51.2 0-28.314 22.886-51.2 51.2-51.2h307.2c28.314 0 51.2 22.886 51.2 51.2 28.314 0 51.2-22.886 51.2-51.2v-563.2zM307.2 499.2h409.6v51.2h-409.6v-51.2zM307.2 294.4h409.6v51.2h-409.6v-51.2z" />
<glyph unicode="&#xe91a;" glyph-name="json" d="M179.2 704c0 28.262 22.938 51.2 51.2 51.2h25.6c14.157 0 25.6 11.443 25.6 25.6 0 14.131-11.443 25.6-25.6 25.6h-25.6c-56.55 0-102.4-45.85-102.4-102.4v-179.2c0-28.262-22.938-51.2-51.2-51.2h-25.6c-14.157 0-25.6-11.469-25.6-25.6 0-14.157 11.443-25.6 25.6-25.6h25.6c28.262 0 51.2-22.938 51.2-51.2v-179.2c0-56.55 45.85-102.4 102.4-102.4h25.6c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-25.6c-28.262 0-51.2 22.938-51.2 51.2v179.2c0 30.746-13.85 58.061-35.328 76.8 21.478 18.765 35.328 46.029 35.328 76.8v179.2zM972.8 473.6h-25.6c-28.262 0-51.2 22.938-51.2 51.2v179.2c0 56.55-45.85 102.4-102.4 102.4h-25.6c-14.157 0-25.6-11.469-25.6-25.6 0-14.157 11.443-25.6 25.6-25.6h25.6c28.262 0 51.2-22.938 51.2-51.2v-179.2c0-30.771 13.85-58.035 35.328-76.8-21.478-18.739-35.328-46.054-35.328-76.8v-179.2c0-28.262-22.938-51.2-51.2-51.2h-25.6c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h25.6c56.55 0 102.4 45.85 102.4 102.4v179.2c0 28.262 22.938 51.2 51.2 51.2h25.6c14.157 0 25.6 11.443 25.6 25.6 0 14.131-11.443 25.6-25.6 25.6zM512 627.2c-14.157 0-25.6-11.469-25.6-25.6 0-14.157 11.443-25.6 25.6-25.6s25.6 11.443 25.6 25.6c0 14.131-11.443 25.6-25.6 25.6zM512 524.8c-14.157 0-25.6-11.469-25.6-25.6v-204.8c0-14.157 11.443-25.6 25.6-25.6s25.6 11.443 25.6 25.6v204.8c0 14.131-11.443 25.6-25.6 25.6z" />
<glyph unicode="&#xe91a;" glyph-name="type-Json, json" d="M179.2 704c0 28.262 22.938 51.2 51.2 51.2h25.6c14.157 0 25.6 11.443 25.6 25.6 0 14.131-11.443 25.6-25.6 25.6h-25.6c-56.55 0-102.4-45.85-102.4-102.4v-179.2c0-28.262-22.938-51.2-51.2-51.2h-25.6c-14.157 0-25.6-11.469-25.6-25.6 0-14.157 11.443-25.6 25.6-25.6h25.6c28.262 0 51.2-22.938 51.2-51.2v-179.2c0-56.55 45.85-102.4 102.4-102.4h25.6c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-25.6c-28.262 0-51.2 22.938-51.2 51.2v179.2c0 30.746-13.85 58.061-35.328 76.8 21.478 18.765 35.328 46.029 35.328 76.8v179.2zM972.8 473.6h-25.6c-28.262 0-51.2 22.938-51.2 51.2v179.2c0 56.55-45.85 102.4-102.4 102.4h-25.6c-14.157 0-25.6-11.469-25.6-25.6 0-14.157 11.443-25.6 25.6-25.6h25.6c28.262 0 51.2-22.938 51.2-51.2v-179.2c0-30.771 13.85-58.035 35.328-76.8-21.478-18.739-35.328-46.054-35.328-76.8v-179.2c0-28.262-22.938-51.2-51.2-51.2h-25.6c-14.157 0-25.6-11.443-25.6-25.6s11.443-25.6 25.6-25.6h25.6c56.55 0 102.4 45.85 102.4 102.4v179.2c0 28.262 22.938 51.2 51.2 51.2h25.6c14.157 0 25.6 11.443 25.6 25.6 0 14.131-11.443 25.6-25.6 25.6zM512 627.2c-14.157 0-25.6-11.469-25.6-25.6 0-14.157 11.443-25.6 25.6-25.6s25.6 11.443 25.6 25.6c0 14.131-11.443 25.6-25.6 25.6zM512 524.8c-14.157 0-25.6-11.469-25.6-25.6v-204.8c0-14.157 11.443-25.6 25.6-25.6s25.6 11.443 25.6 25.6v204.8c0 14.131-11.443 25.6-25.6 25.6z" />
<glyph unicode="&#xe91b;" glyph-name="location" d="M512 960c-169.421 0-307.2-137.779-307.2-307.2 0-78.643 15.258-164.915 45.261-256.41 23.859-72.55 56.986-148.582 98.56-226.099 70.707-131.635 140.339-220.774 143.309-224.512 4.813-6.195 12.288-9.779 20.070-9.779 7.834 0 15.258 3.584 20.122 9.779 2.97 3.686 72.602 92.826 143.309 224.512 41.574 77.517 74.701 153.549 98.56 226.099 29.952 91.494 45.21 177.766 45.21 256.41 0 169.421-137.83 307.2-307.2 307.2zM630.682 195.328c-46.234-86.374-92.979-154.982-118.682-190.822-25.6 35.635-72.038 103.885-118.221 189.952-62.874 117.146-137.779 291.738-137.779 458.342 0 141.158 114.842 256 256 256s256-114.842 256-256c0-166.298-74.65-340.582-137.318-457.472zM512 806.4c-84.685 0-153.6-68.915-153.6-153.6s68.915-153.6 153.6-153.6 153.6 68.915 153.6 153.6-68.915 153.6-153.6 153.6zM512 550.4c-56.525 0-102.4 45.875-102.4 102.4 0 56.474 45.875 102.4 102.4 102.4 56.474 0 102.4-45.926 102.4-102.4 0-56.525-45.926-102.4-102.4-102.4z" />
<glyph unicode="&#xe91c;" glyph-name="logo" d="M512.273 876.218c-0.141-0.056-182.959-84.073-229.418-256.782-4.481-16.584 32.696-9.296 31.036-27.527-2.034-22.136-44.668-31.201-39.109-94.764 5.659-64.734 60.321-130.141 68.527-169.673v-27.655c-0.497-8.54-4.566-31.715-18.018-43.036-7.378-6.19-17.322-8.421-30.436-6.782-18.205 2.275-25.449 14.468-28.345 24.309-4.753 16.218-0.322 35.123 10.345 44 10.724 8.924 12.17 24.842 3.236 35.564-8.934 10.712-24.858 12.161-35.582 3.218-25.995-21.64-36.887-61.52-26.491-97 9.815-33.392 36.197-55.884 70.6-60.182 4.903-0.609 9.566-0.909 14-0.909 26.623 0 44.661 10.175 55.582 19.455 32.866 27.97 35.449 74.593 35.636 79.818 0.009 0.309 0.018 0.618 0.018 0.927v21.218h0.109v1.418c0 12.351 10.008 22.364 22.382 22.364 11.944 0 21.609-9.346 22.273-21.109v-202.491c-0.206-2.912-2.536-29.892-17.891-42.945-7.368-6.274-17.384-8.53-30.545-6.873-18.214 2.275-25.476 14.468-28.364 24.291-4.762 16.228-0.322 35.151 10.345 44.018 10.724 8.933 12.188 24.833 3.255 35.564-8.924 10.694-24.876 12.161-35.6 3.218-26.013-21.631-36.887-61.52-26.491-97 9.796-33.392 36.197-55.893 70.6-60.2 4.903-0.609 9.566-0.891 14-0.891 26.623 0 44.671 10.156 55.564 19.436 32.875 27.97 35.458 74.611 35.636 79.836 0.019 0.328 0.018 0.609 0.018 0.909v225.636l0.127 0.055v1c0 12.595 10.219 22.8 22.836 22.8 12.349 0 22.333-9.824 22.727-22.073v-227.418c0-0.309 0-0.591 0.018-0.909 0.187-5.216 2.779-51.866 35.655-79.836 10.912-9.28 28.959-19.436 55.582-19.436 4.443 0 9.088 0.282 13.982 0.891 34.394 4.307 60.804 26.818 70.6 60.2 10.405 35.48-0.487 75.36-26.491 97-10.743 8.943-26.676 7.466-35.6-3.218-8.934-10.74-7.488-26.63 3.236-35.564 10.668-8.868 15.135-27.79 10.364-44.018-2.878-9.823-10.159-22.015-28.364-24.291-13.105-1.648-23.050 0.592-30.418 6.782-13.508 11.358-17.558 34.657-18.036 43v201.818c0.297 12.093 10.14 21.818 22.327 21.818 12.374 0 22.4-10.003 22.4-22.364v-1.418h0.073v-21.218c0-0.318 0-0.628 0.018-0.927 0.178-5.216 2.779-51.848 35.655-79.818 10.912-9.28 28.941-19.455 55.564-19.455 4.434 0 9.107 0.292 14 0.891 34.394 4.298 60.786 26.818 70.582 60.2 10.405 35.48-0.487 75.351-26.491 97-10.743 8.933-26.667 7.476-35.582-3.236-8.943-10.722-7.488-26.622 3.236-35.545 10.668-8.877 15.117-27.8 10.345-44.018-2.878-9.842-10.159-22.025-28.364-24.291-13.086-1.648-23.050 0.583-30.418 6.764-13.508 11.368-17.549 34.675-18.018 43v21.018c5.305 54.103 63.095 107.777 69.091 176.364 5.531 63.563-37.121 72.627-39.145 94.764-1.669 18.232 35.498 10.944 31.036 27.527-46.468 172.709-229.269 256.726-229.4 256.782z" />
<glyph unicode="&#xe91d;" glyph-name="media" d="M947.2 960h-870.4c-42.342 0-76.8-34.458-76.8-76.8v-870.4c0-42.342 34.458-76.8 76.8-76.8h870.4c42.342 0 76.8 34.458 76.8 76.8v870.4c0 42.342-34.458 76.8-76.8 76.8zM972.8 12.8c0-14.157-11.443-25.6-25.6-25.6h-870.4c-14.131 0-25.6 11.443-25.6 25.6v870.4c0 14.131 11.469 25.6 25.6 25.6h870.4c14.157 0 25.6-11.469 25.6-25.6v-870.4zM665.6 499.2c56.448 0 102.4 45.926 102.4 102.4s-45.952 102.4-102.4 102.4c-56.448 0-102.4-45.926-102.4-102.4s45.952-102.4 102.4-102.4zM665.6 652.8c28.211 0 51.2-22.989 51.2-51.2s-22.989-51.2-51.2-51.2c-28.211 0-51.2 22.989-51.2 51.2s22.989 51.2 51.2 51.2zM896 857.6h-768c-14.131 0-25.6-11.469-25.6-25.6v-614.4c0-14.157 11.469-25.6 25.6-25.6h768c14.157 0 25.6 11.443 25.6 25.6v614.4c0 14.131-11.443 25.6-25.6 25.6zM153.6 243.2v118.246l164.301 184.858c4.198 4.787 9.728 7.373 15.462 7.475 5.734 0.051 11.29-2.458 15.642-7.040l283.238-303.539h-478.643zM870.4 243.2h-168.090l-315.853 338.432c-14.285 15.334-33.331 23.603-53.709 23.347-20.326-0.256-39.219-9.011-53.094-24.627l-126.054-141.798v367.846h716.8v-563.2z" />
@ -43,10 +43,10 @@
<glyph unicode="&#xe921;" glyph-name="schemas" d="M15.667 578.278l486.4-205.235 9.933-1.997 9.958 1.997 486.4 205.235c9.446 3.994 15.642 13.312 15.642 23.654s-6.195 19.635-15.642 23.654l-486.4 205.235c-6.349 2.662-13.517 2.662-19.866 0l-486.4-205.235c-9.472-4.019-15.642-13.338-15.642-23.654s6.144-19.661 15.616-23.654zM512 779.29l420.454-177.357-420.454-177.382-420.454 177.382 420.454 177.357zM15.667 424.346l486.4-205.235 9.933-1.997 9.958 1.997 486.4 205.235c13.056 5.504 19.149 20.531 13.645 33.587-5.453 13.056-20.506 19.2-33.51 13.696l-476.493-201.062-476.442 201.088c-13.005 5.478-28.058-0.589-33.562-13.696-5.478-13.030 0.64-28.109 13.67-33.613zM988.493 317.722l-476.493-201.062-476.442 201.062c-13.005 5.53-28.058-0.589-33.562-13.67-5.478-13.030 0.614-28.109 13.67-33.613l486.4-205.235 9.933-1.997 9.958 1.997 486.4 205.235c13.056 5.53 19.149 20.557 13.645 33.613-5.453 13.030-20.506 19.2-33.51 13.67z" />
<glyph unicode="&#xe922;" glyph-name="search" d="M939.776-43.776c-27.2-27.008-71.232-27.008-98.368 0l-168.96 168.96c-66.176-38.464-142.016-62.080-224-62.080-247.744 0-448.448 200.832-448.448 448.448 0 247.744 200.704 448.448 448.448 448.448 247.68 0 448.512-200.704 448.512-448.448 0-115.136-44.672-218.944-115.904-298.304l158.656-158.656c27.008-27.136 27.008-71.168 0.064-98.368zM448.448 831.872c-176.896 0-320.32-143.36-320.32-320.32s143.424-320.32 320.32-320.32c176.96 0 320.384 143.36 320.384 320.32s-143.488 320.32-320.384 320.32z" />
<glyph unicode="&#xe923;" glyph-name="settings" d="M1019.11 519.245c-1.946 13.747-14.438 23.398-28.16 21.888-16.947-1.843-34.253 0.589-50.048 7.091-52.25 21.504-77.261 81.459-55.757 133.709 6.605 15.846 16.947 29.85 30.208 40.602 10.803 8.653 12.698 24.294 4.352 35.354-28.902 37.99-62.797 71.706-100.838 100.045-10.701 8.090-25.805 6.451-34.662-3.661-28.8-33.254-75.546-44.262-116.198-27.546-40.704 16.742-66.099 57.498-63.206 101.453 0.845 13.338-8.755 25.19-21.99 27.008-47.002 6.605-94.797 6.605-142.054-0.077-13.722-1.946-23.398-14.387-21.862-28.211 1.843-16.896-0.614-34.202-7.168-49.997-21.504-52.25-81.408-77.21-133.632-55.706-15.821 6.502-29.85 16.947-40.602 30.157-8.653 10.752-24.32 12.698-35.379 4.301-37.99-28.851-71.68-62.694-100.045-100.762-8.090-10.701-6.451-25.83 3.635-34.637 33.28-28.902 44.288-75.597 27.546-116.301-16.742-40.653-57.498-66.048-101.427-63.155-13.363 0.845-25.19-8.755-26.982-21.99-6.63-47.002-6.63-94.822 0.102-142.080 1.946-13.696 14.387-23.322 28.16-21.811 16.896 1.818 34.202-0.691 50.022-7.168 52.224-21.53 77.21-81.459 55.706-133.734-6.502-15.795-16.947-29.773-30.157-40.525-10.803-8.73-12.698-24.346-4.352-35.354 28.877-38.042 62.822-71.731 100.813-100.122 1.741-1.357 3.661-2.355 5.606-3.2 9.933-4.045 21.709-1.536 29.082 6.938 28.826 33.178 75.571 44.262 116.275 27.52 40.653-16.742 66.048-57.498 63.13-101.453-0.819-13.338 8.755-25.165 22.067-27.059 47.002-6.579 94.72-6.554 142.029 0.102 13.645 1.971 23.347 14.464 21.811 28.237-1.843 16.947 0.691 34.253 7.194 50.048 21.504 52.25 81.459 77.21 133.658 55.68 15.795-6.528 29.85-16.947 40.55-30.157 8.704-10.803 24.346-12.698 35.405-4.326 37.99 28.902 71.654 62.746 100.096 100.813 7.987 10.675 6.4 25.805-3.712 34.662-33.254 28.826-44.288 75.571-27.546 116.224 16.742 40.73 57.498 66.099 101.453 63.232 13.338-0.922 25.139 8.678 27.008 21.965 6.554 47.002 6.502 94.771-0.128 142.003zM971.059 405.99c-56.141-5.274-105.702-41.114-127.642-94.464s-12.058-113.613 24.090-156.902c-17.69-21.478-37.453-41.318-58.854-59.315-12.749 11.213-27.392 20.352-43.238 26.854-78.259 32.282-168.243-5.197-200.499-83.584-6.502-15.718-10.291-32.563-11.29-49.536-27.853-2.56-55.859-2.637-83.61-0.077-5.274 56.090-41.114 105.677-94.464 127.616-53.35 21.99-113.613 11.981-156.928-24.064-21.504 17.69-41.318 37.453-59.29 58.88 11.213 12.723 20.352 27.392 26.906 43.136 32.205 78.387-5.274 168.294-83.584 200.55-15.821 6.502-32.589 10.342-49.613 11.366-2.534 27.853-2.586 55.859 0 83.558 56.090 5.299 105.626 41.088 127.565 94.438 21.965 53.402 12.058 113.638-24.090 156.902 17.69 21.555 37.478 41.395 58.88 59.341 12.749-11.213 27.392-20.352 43.213-26.854 78.285-32.256 168.218 5.248 200.474 83.558 6.528 15.795 10.342 32.589 11.366 49.613 27.853 2.509 55.808 2.56 83.558 0 5.299-56.090 41.139-105.6 94.49-127.59 53.35-21.939 113.638-12.006 156.902 24.090 21.504-17.741 41.293-37.453 59.29-58.854-11.213-12.8-20.352-27.392-26.854-43.213-32.256-78.31 5.248-168.294 83.507-200.499 15.846-6.502 32.691-10.342 49.638-11.392 2.56-27.853 2.611-55.808 0.077-83.558zM512 652.8c-113.101 0-204.8-91.699-204.8-204.8 0-113.126 91.699-204.826 204.8-204.826s204.8 91.699 204.8 204.826c0 113.101-91.699 204.8-204.8 204.8zM512 294.374c-84.813 0-153.6 68.813-153.6 153.626 0 84.838 68.787 153.6 153.6 153.6 84.838 0 153.6-68.762 153.6-153.6 0-84.813-68.762-153.626-153.6-153.626z" />
<glyph unicode="&#xe924;" glyph-name="type-boolean" d="M77.005 857.395h128v-332.8c0-14.131 11.418-25.6 25.6-25.6 14.106 0 25.6 11.469 25.6 25.6v332.8h128c14.106 0 25.6 11.469 25.6 25.6 0 14.157-11.494 25.6-25.6 25.6h-307.2c-14.182 0-25.6-11.443-25.6-25.6 0-14.106 11.418-25.6 25.6-25.6zM947.405 243.021h-179.2v102.4h179.2c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-204.8c-14.182 0-25.6-11.443-25.6-25.6v-358.4c0-14.157 11.418-25.6 25.6-25.6 14.157 0 25.6 11.443 25.6 25.6v179.2h179.2c14.157 0 25.6 11.443 25.6 25.6s-11.494 25.6-25.6 25.6zM965.094 901.53c-9.958 9.933-26.112 9.933-36.045 0l-870.605-870.579c-9.958-9.984-9.958-26.086 0-36.045 10.010-9.984 26.112-9.984 36.045 0l870.605 870.579c9.958 9.933 9.958 26.086 0 36.045z" />
<glyph unicode="&#xe925;" glyph-name="type-datetime, type-date-time, type-dateTime" d="M947.2 857.6h-128v25.6c0 14.131-11.469 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-512v25.6c0 14.131-11.52 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-128c-42.342 0-76.8-34.458-76.8-76.8v-716.8c0-42.342 34.458-76.8 76.8-76.8h870.4c42.342 0 76.8 34.458 76.8 76.8v716.8c0 42.342-34.458 76.8-76.8 76.8zM972.8 64c0-14.131-11.469-25.6-25.6-25.6h-870.4c-14.080 0-25.6 11.469-25.6 25.6v537.6h921.6v-537.6zM972.8 652.8h-921.6v128c0 14.080 11.52 25.6 25.6 25.6h128v-76.8c0-14.080 11.52-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h512v-76.8c0-14.080 11.469-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h128c14.131 0 25.6-11.52 25.6-25.6v-128zM332.8 448h51.2c14.080 0 25.6 11.52 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.52-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 448h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.52-25.6-25.6s11.52-25.6 25.6-25.6zM640 448h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.52-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 448h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.52-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 345.6h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 345.6h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 345.6h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 345.6h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 345.6h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 243.2h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 243.2h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 243.2h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 243.2h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 243.2h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 140.8h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 140.8h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 140.8h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 140.8h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 140.8h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6z" />
<glyph unicode="&#xe926;" glyph-name="type-number" d="M256 294.4h-76.8v332.8c0 14.131-11.469 25.6-25.6 25.6h-76.8c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h51.2v-307.2h-76.8c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h204.8c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6zM614.4 652.8h-204.8c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h179.2v-128h-179.2c-14.131 0-25.6-11.469-25.6-25.6v-179.2c0-14.131 11.469-25.6 25.6-25.6h204.8c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-179.2v128h179.2c14.131 0 25.6 11.469 25.6 25.6v179.2c0 14.131-11.469 25.6-25.6 25.6zM972.8 652.8h-204.8c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h179.2v-128h-179.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h179.2v-128h-179.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h204.8c14.131 0 25.6 11.469 25.6 25.6v358.4c0 14.131-11.469 25.6-25.6 25.6z" />
<glyph unicode="&#xe927;" glyph-name="type-string" d="M870.4 38.4h-716.8c-14.131 0-25.6-11.443-25.6-25.6s11.469-25.6 25.6-25.6h716.8c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6zM194.688 142.848c13.030-5.555 28.083 0.461 33.613 13.44l125.030 291.712h317.338l125.005-291.712c4.173-9.677 13.568-15.488 23.526-15.488 3.405 0 6.81 0.64 10.112 2.048 13.005 5.606 18.995 20.659 13.44 33.638l-131.61 306.944c-0.051 0.051-0.051 0.154-0.102 0.205l-175.488 409.6c-4.045 9.472-13.312 15.565-23.552 15.565s-19.507-6.093-23.552-15.514l-175.488-409.6c-0.051-0.051-0.051-0.154-0.102-0.205l-131.61-306.97c-5.53-13.005 0.461-28.058 13.44-33.664zM512 818.227l136.704-319.027h-273.408l136.704 319.027z" />
<glyph unicode="&#xe924;" glyph-name="type-Boolean" d="M77.005 857.395h128v-332.8c0-14.131 11.418-25.6 25.6-25.6 14.106 0 25.6 11.469 25.6 25.6v332.8h128c14.106 0 25.6 11.469 25.6 25.6 0 14.157-11.494 25.6-25.6 25.6h-307.2c-14.182 0-25.6-11.443-25.6-25.6 0-14.106 11.418-25.6 25.6-25.6zM947.405 243.021h-179.2v102.4h179.2c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6h-204.8c-14.182 0-25.6-11.443-25.6-25.6v-358.4c0-14.157 11.418-25.6 25.6-25.6 14.157 0 25.6 11.443 25.6 25.6v179.2h179.2c14.157 0 25.6 11.443 25.6 25.6s-11.494 25.6-25.6 25.6zM965.094 901.53c-9.958 9.933-26.112 9.933-36.045 0l-870.605-870.579c-9.958-9.984-9.958-26.086 0-36.045 10.010-9.984 26.112-9.984 36.045 0l870.605 870.579c9.958 9.933 9.958 26.086 0 36.045z" />
<glyph unicode="&#xe925;" glyph-name="type-DateTime" d="M947.2 857.6h-128v25.6c0 14.131-11.469 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-512v25.6c0 14.131-11.52 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-128c-42.342 0-76.8-34.458-76.8-76.8v-716.8c0-42.342 34.458-76.8 76.8-76.8h870.4c42.342 0 76.8 34.458 76.8 76.8v716.8c0 42.342-34.458 76.8-76.8 76.8zM972.8 64c0-14.131-11.469-25.6-25.6-25.6h-870.4c-14.080 0-25.6 11.469-25.6 25.6v537.6h921.6v-537.6zM972.8 652.8h-921.6v128c0 14.080 11.52 25.6 25.6 25.6h128v-76.8c0-14.080 11.52-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h512v-76.8c0-14.080 11.469-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h128c14.131 0 25.6-11.52 25.6-25.6v-128zM332.8 448h51.2c14.080 0 25.6 11.52 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.52-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 448h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.52-25.6-25.6s11.52-25.6 25.6-25.6zM640 448h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.52-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 448h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.52-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 345.6h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 345.6h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 345.6h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 345.6h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 345.6h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 243.2h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 243.2h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 243.2h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 243.2h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 243.2h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 140.8h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 140.8h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 140.8h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 140.8h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 140.8h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6z" />
<glyph unicode="&#xe926;" glyph-name="type-Number" d="M256 294.4h-76.8v332.8c0 14.131-11.469 25.6-25.6 25.6h-76.8c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h51.2v-307.2h-76.8c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h204.8c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6zM614.4 652.8h-204.8c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h179.2v-128h-179.2c-14.131 0-25.6-11.469-25.6-25.6v-179.2c0-14.131 11.469-25.6 25.6-25.6h204.8c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-179.2v128h179.2c14.131 0 25.6 11.469 25.6 25.6v179.2c0 14.131-11.469 25.6-25.6 25.6zM972.8 652.8h-204.8c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h179.2v-128h-179.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h179.2v-128h-179.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6h204.8c14.131 0 25.6 11.469 25.6 25.6v358.4c0 14.131-11.469 25.6-25.6 25.6z" />
<glyph unicode="&#xe927;" glyph-name="type-String" d="M870.4 38.4h-716.8c-14.131 0-25.6-11.443-25.6-25.6s11.469-25.6 25.6-25.6h716.8c14.157 0 25.6 11.443 25.6 25.6s-11.443 25.6-25.6 25.6zM194.688 142.848c13.030-5.555 28.083 0.461 33.613 13.44l125.030 291.712h317.338l125.005-291.712c4.173-9.677 13.568-15.488 23.526-15.488 3.405 0 6.81 0.64 10.112 2.048 13.005 5.606 18.995 20.659 13.44 33.638l-131.61 306.944c-0.051 0.051-0.051 0.154-0.102 0.205l-175.488 409.6c-4.045 9.472-13.312 15.565-23.552 15.565s-19.507-6.093-23.552-15.514l-175.488-409.6c-0.051-0.051-0.051-0.154-0.102-0.205l-131.61-306.97c-5.53-13.005 0.461-28.058 13.44-33.664zM512 818.227l136.704-319.027h-273.408l136.704 319.027z" />
<glyph unicode="&#xe928;" glyph-name="user" d="M955.221 112c0 0.109 10.752 0 0 0-52.751 161.392-240.461 224-443.178 224-202.269 0-389.979-63.392-443.066-224-11.2 0.109 0 1.232 0 0 0-61.936 49.615-112 110.654-112h664.823c61.151 0 110.766 50.064 110.766 112zM290.399 672c0-123.648 99.231-336 221.645-336s221.645 212.352 221.645 336c0 123.648-99.231 224-221.645 224s-221.645-100.352-221.645-224z" />
<glyph unicode="&#xe929;" glyph-name="caret-right" horiz-adv-x="329" d="M329.143 438.857c0-9.714-4-18.857-10.857-25.714l-256-256c-6.857-6.857-16-10.857-25.714-10.857-20 0-36.571 16.571-36.571 36.571v512c0 20 16.571 36.571 36.571 36.571 9.714 0 18.857-4 25.714-10.857l256-256c6.857-6.857 10.857-16 10.857-25.714z" />
<glyph unicode="&#xe92a;" glyph-name="caret-left" horiz-adv-x="402" d="M365.714 694.857v-512c0-20-16.571-36.571-36.571-36.571-9.714 0-18.857 4-25.714 10.857l-256 256c-6.857 6.857-10.857 16-10.857 25.714s4 18.857 10.857 25.714l256 256c6.857 6.857 16 10.857 25.714 10.857 20 0 36.571-16.571 36.571-36.571z" />
@ -61,6 +61,6 @@
<glyph unicode="&#xe933;" glyph-name="unlocked" d="M768 896c105.87 0 192-86.13 192-192v-192h-128v192c0 35.29-28.71 64-64 64h-128c-35.29 0-64-28.71-64-64v-192h16c26.4 0 48-21.6 48-48v-480c0-26.4-21.6-48-48-48h-544c-26.4 0-48 21.6-48 48v480c0 26.4 21.6 48 48 48h400v192c0 105.87 86.13 192 192 192h128z" />
<glyph unicode="&#xe934;" glyph-name="lock" d="M592 512h-16v192c0 105.87-86.13 192-192 192h-128c-105.87 0-192-86.13-192-192v-192h-16c-26.4 0-48-21.6-48-48v-480c0-26.4 21.6-48 48-48h544c26.4 0 48 21.6 48 48v480c0 26.4-21.6 48-48 48zM192 704c0 35.29 28.71 64 64 64h128c35.29 0 64-28.71 64-64v-192h-256v192z" />
<glyph unicode="&#xe935;" glyph-name="browser" horiz-adv-x="1344" d="M1328 640c-8.832 0-16-7.168-16-16v-640c0-8.832-7.168-16-16-16h-1248c-8.832 0-16 7.168-16 16v640c0 8.832-7.168 16-16 16s-16-7.168-16-16v-640c0-26.464 21.536-48 48-48h1248c26.464 0 48 21.536 48 48v640c0 8.832-7.168 16-16 16zM1296 960h-1248c-26.464 0-48-21.536-48-48v-192c0-8.832 7.168-16 16-16h1312c8.832 0 16 7.168 16 16v192c0 26.464-21.536 48-48 48zM1312 736h-1280v176c0 8.832 7.168 16 16 16h1248c8.832 0 16-7.168 16-16v-176zM560 64c8.832 0 16 7.168 16 16v512c0 8.832-7.168 16-16 16h-416c-8.832 0-16-7.168-16-16v-512c0-8.832 7.168-16 16-16h416zM160 576h384v-480h-384v480zM720 480h480c8.832 0 16 7.168 16 16s-7.168 16-16 16h-480c-8.832 0-16-7.168-16-16s7.168-16 16-16zM720 320h480c8.832 0 16 7.168 16 16s-7.168 16-16 16h-480c-8.832 0-16-7.168-16-16s7.168-16 16-16zM720 160h480c8.832 0 16 7.168 16 16s-7.168 16-16 16h-480c-8.832 0-16-7.168-16-16s7.168-16 16-16zM96 832c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32s-32-14.327-32-32zM224 832c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32s-32-14.327-32-32zM352 832c0-17.673 14.327-32 32-32s32 14.327 32 32c0 17.673-14.327 32-32 32s-32-14.327-32-32z" />
<glyph unicode="&#xe936;" glyph-name="control-date" d="M947.2 848.457h-128v25.6c0 14.131-11.469 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-512v25.6c0 14.131-11.52 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-128c-42.342 0-76.8-34.458-76.8-76.8v-716.8c0-42.342 34.458-76.8 76.8-76.8h870.4c42.342 0 76.8 34.458 76.8 76.8v716.8c0 42.342-34.458 76.8-76.8 76.8zM972.8 54.857c0-14.131-11.469-25.6-25.6-25.6h-870.4c-14.080 0-25.6 11.469-25.6 25.6v537.6h921.6v-537.6zM972.8 643.657h-921.6v128c0 14.080 11.52 25.6 25.6 25.6h128v-76.8c0-14.080 11.52-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h512v-76.8c0-14.080 11.469-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h128c14.131 0 25.6-11.52 25.6-25.6v-128zM332.8 438.857h51.2c14.080 0 25.6 11.52 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.52-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 438.857h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.52-25.6-25.6s11.52-25.6 25.6-25.6zM640 438.857h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.52-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 438.857h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.52-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 336.457h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 336.457h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 336.457h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 336.457h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 336.457h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 234.057h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 234.057h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 234.057h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 234.057h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 234.057h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 131.657h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 131.657h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 131.657h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 131.657h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 131.657h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6z" />
<glyph unicode="&#xe937;" glyph-name="control-date-time" d="M486.4 541.257h51.2c14.080 0 25.6-11.52 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.52-25.6 25.6s11.52 25.6 25.6 25.6zM230.4 336.457c14.080 0 25.6-11.469 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.469-25.6 25.6s11.52 25.6 25.6 25.6h51.2zM230.4 438.857c14.080 0 25.6-11.469 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.469-25.6 25.6s11.52 25.6 25.6 25.6h51.2zM51.2 208.457v435.2h665.6v-102.4h51.2v281.6c0 42.342-34.458 76.8-76.8 76.8h-128v25.6c0 14.131-11.469 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-256v25.6c0 14.131-11.52 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-128c-42.342 0-76.8-34.458-76.8-76.8v-614.4c0-42.342 34.458-76.8 76.8-76.8h332.8v51.2h-332.8c-14.080 0-25.6 11.469-25.6 25.6zM51.2 822.857c0 14.080 11.52 25.6 25.6 25.6h128v-76.8c0-14.080 11.52-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h256v-76.8c0-14.080 11.469-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h128c14.131 0 25.6-11.52 25.6-25.6v-128h-665.6v128zM384 541.257c14.080 0 25.6-11.52 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.52-25.6 25.6s11.52 25.6 25.6 25.6h51.2zM742.4 490.057c-155.546 0-281.6-126.054-281.6-281.6s126.054-281.6 281.6-281.6 281.6 126.054 281.6 281.6-126.054 281.6-281.6 281.6zM742.4-21.943c-127.232 0-230.4 103.168-230.4 230.4s103.168 230.4 230.4 230.4 230.4-103.168 230.4-230.4-103.168-230.4-230.4-230.4zM384 438.857c14.080 0 25.6-11.469 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.469-25.6 25.6s11.52 25.6 25.6 25.6h51.2zM384 336.457c14.080 0 25.6-11.469 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.469-25.6 25.6s11.52 25.6 25.6 25.6h51.2zM844.8 234.057c14.131 0 25.6-11.469 25.6-25.6s-11.469-25.6-25.6-25.6h-102.4c-14.131 0-25.6 11.469-25.6 25.6v102.4c0 14.131 11.469 25.6 25.6 25.6s25.6-11.469 25.6-25.6v-76.8h76.8z" />
<glyph unicode="&#xe936;" glyph-name="control-Date" d="M947.2 848.457h-128v25.6c0 14.131-11.469 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-512v25.6c0 14.131-11.52 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-128c-42.342 0-76.8-34.458-76.8-76.8v-716.8c0-42.342 34.458-76.8 76.8-76.8h870.4c42.342 0 76.8 34.458 76.8 76.8v716.8c0 42.342-34.458 76.8-76.8 76.8zM972.8 54.857c0-14.131-11.469-25.6-25.6-25.6h-870.4c-14.080 0-25.6 11.469-25.6 25.6v537.6h921.6v-537.6zM972.8 643.657h-921.6v128c0 14.080 11.52 25.6 25.6 25.6h128v-76.8c0-14.080 11.52-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h512v-76.8c0-14.080 11.469-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h128c14.131 0 25.6-11.52 25.6-25.6v-128zM332.8 438.857h51.2c14.080 0 25.6 11.52 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.52-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 438.857h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.52-25.6-25.6s11.52-25.6 25.6-25.6zM640 438.857h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.52-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 438.857h51.2c14.131 0 25.6 11.52 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.52-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 336.457h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 336.457h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 336.457h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 336.457h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 336.457h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 234.057h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 234.057h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 234.057h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 234.057h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 234.057h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM179.2 131.657h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM332.8 131.657h51.2c14.080 0 25.6 11.469 25.6 25.6s-11.52 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM486.4 131.657h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.080 0-25.6-11.469-25.6-25.6s11.52-25.6 25.6-25.6zM640 131.657h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6zM793.6 131.657h51.2c14.131 0 25.6 11.469 25.6 25.6s-11.469 25.6-25.6 25.6h-51.2c-14.131 0-25.6-11.469-25.6-25.6s11.469-25.6 25.6-25.6z" />
<glyph unicode="&#xe937;" glyph-name="control-DateTime" d="M486.4 541.257h51.2c14.080 0 25.6-11.52 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.52-25.6 25.6s11.52 25.6 25.6 25.6zM230.4 336.457c14.080 0 25.6-11.469 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.469-25.6 25.6s11.52 25.6 25.6 25.6h51.2zM230.4 438.857c14.080 0 25.6-11.469 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.469-25.6 25.6s11.52 25.6 25.6 25.6h51.2zM51.2 208.457v435.2h665.6v-102.4h51.2v281.6c0 42.342-34.458 76.8-76.8 76.8h-128v25.6c0 14.131-11.469 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-256v25.6c0 14.131-11.52 25.6-25.6 25.6s-25.6-11.469-25.6-25.6v-25.6h-128c-42.342 0-76.8-34.458-76.8-76.8v-614.4c0-42.342 34.458-76.8 76.8-76.8h332.8v51.2h-332.8c-14.080 0-25.6 11.469-25.6 25.6zM51.2 822.857c0 14.080 11.52 25.6 25.6 25.6h128v-76.8c0-14.080 11.52-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h256v-76.8c0-14.080 11.469-25.6 25.6-25.6s25.6 11.52 25.6 25.6v76.8h128c14.131 0 25.6-11.52 25.6-25.6v-128h-665.6v128zM384 541.257c14.080 0 25.6-11.52 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.52-25.6 25.6s11.52 25.6 25.6 25.6h51.2zM742.4 490.057c-155.546 0-281.6-126.054-281.6-281.6s126.054-281.6 281.6-281.6 281.6 126.054 281.6 281.6-126.054 281.6-281.6 281.6zM742.4-21.943c-127.232 0-230.4 103.168-230.4 230.4s103.168 230.4 230.4 230.4 230.4-103.168 230.4-230.4-103.168-230.4-230.4-230.4zM384 438.857c14.080 0 25.6-11.469 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.469-25.6 25.6s11.52 25.6 25.6 25.6h51.2zM384 336.457c14.080 0 25.6-11.469 25.6-25.6s-11.52-25.6-25.6-25.6h-51.2c-14.080 0-25.6 11.469-25.6 25.6s11.52 25.6 25.6 25.6h51.2zM844.8 234.057c14.131 0 25.6-11.469 25.6-25.6s-11.469-25.6-25.6-25.6h-102.4c-14.131 0-25.6 11.469-25.6 25.6v102.4c0 14.131 11.469 25.6 25.6 25.6s25.6-11.469 25.6-25.6v-76.8h76.8z" />
</font></defs></svg>

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

BIN
src/Squidex/app/theme/icomoon/fonts/icomoon.ttf

Binary file not shown.

BIN
src/Squidex/app/theme/icomoon/fonts/icomoon.woff

Binary file not shown.

26
src/Squidex/app/theme/icomoon/selection.json

@ -288,7 +288,7 @@
"properties": {
"order": 71,
"id": 42,
"name": "control-date",
"name": "control-Date",
"prevSize": 28,
"code": 59702
},
@ -317,7 +317,7 @@
"properties": {
"order": 70,
"id": 41,
"name": "control-date-time",
"name": "control-DateTime",
"prevSize": 28,
"code": 59703
},
@ -789,7 +789,7 @@
"properties": {
"order": 38,
"id": 30,
"name": "control-checkbox",
"name": "control-Checkbox",
"prevSize": 32,
"code": 59658
},
@ -818,7 +818,7 @@
"properties": {
"order": 39,
"id": 29,
"name": "control-dropdown",
"name": "control-Dropdown",
"prevSize": 32,
"code": 59659
},
@ -847,7 +847,7 @@
"properties": {
"order": 41,
"id": 28,
"name": "control-input",
"name": "control-Input",
"prevSize": 32,
"code": 59660
},
@ -876,7 +876,7 @@
"properties": {
"order": 42,
"id": 27,
"name": "control-radio",
"name": "control-Radio",
"prevSize": 32,
"code": 59661
},
@ -905,7 +905,7 @@
"properties": {
"order": 17,
"id": 26,
"name": "control-textarea",
"name": "control-Textarea",
"prevSize": 32,
"code": 59662
},
@ -934,7 +934,7 @@
"properties": {
"order": 16,
"id": 25,
"name": "control-toggle",
"name": "control-Toggle",
"prevSize": 32,
"code": 59663
},
@ -1253,7 +1253,7 @@
"properties": {
"order": 20,
"id": 14,
"name": "json",
"name": "type-Json, json",
"prevSize": 32,
"code": 59674
},
@ -1543,7 +1543,7 @@
"properties": {
"order": 21,
"id": 4,
"name": "type-boolean",
"name": "type-Boolean",
"prevSize": 32,
"code": 59684
},
@ -1572,7 +1572,7 @@
"properties": {
"order": 24,
"id": 3,
"name": "type-datetime, type-date-time, type-dateTime",
"name": "type-DateTime",
"prevSize": 32,
"code": 59685
},
@ -1601,7 +1601,7 @@
"properties": {
"order": 32,
"id": 2,
"name": "type-number",
"name": "type-Number",
"prevSize": 32,
"code": 59686
},
@ -1630,7 +1630,7 @@
"properties": {
"order": 48,
"id": 1,
"name": "type-string",
"name": "type-String",
"prevSize": 32,
"code": 59687
},

43
src/Squidex/app/theme/icomoon/style.css

@ -1,10 +1,10 @@
@font-face {
font-family: 'icomoon';
src: url('fonts/icomoon.eot?9dpklz');
src: url('fonts/icomoon.eot?9dpklz#iefix') format('embedded-opentype'),
url('fonts/icomoon.ttf?9dpklz') format('truetype'),
url('fonts/icomoon.woff?9dpklz') format('woff'),
url('fonts/icomoon.svg?9dpklz#icomoon') format('svg');
src: url('fonts/icomoon.eot?8vtvuo');
src: url('fonts/icomoon.eot?8vtvuo#iefix') format('embedded-opentype'),
url('fonts/icomoon.ttf?8vtvuo') format('truetype'),
url('fonts/icomoon.woff?8vtvuo') format('woff'),
url('fonts/icomoon.svg?8vtvuo#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
@ -48,10 +48,10 @@
.icon-bin2:before {
content: "\e902";
}
.icon-control-date:before {
.icon-control-Date:before {
content: "\e936";
}
.icon-control-date-time:before {
.icon-control-DateTime:before {
content: "\e937";
}
.icon-angle-right:before {
@ -108,22 +108,22 @@
.icon-content:before {
content: "\e909";
}
.icon-control-checkbox:before {
.icon-control-Checkbox:before {
content: "\e90a";
}
.icon-control-dropdown:before {
.icon-control-Dropdown:before {
content: "\e90b";
}
.icon-control-input:before {
.icon-control-Input:before {
content: "\e90c";
}
.icon-control-radio:before {
.icon-control-Radio:before {
content: "\e90d";
}
.icon-control-textarea:before {
.icon-control-Textarea:before {
content: "\e90e";
}
.icon-control-toggle:before {
.icon-control-Toggle:before {
content: "\e90f";
}
.icon-copy:before {
@ -159,6 +159,9 @@
.icon-help:before {
content: "\e919";
}
.icon-type-Json:before {
content: "\e91a";
}
.icon-json:before {
content: "\e91a";
}
@ -192,22 +195,16 @@
.icon-settings:before {
content: "\e923";
}
.icon-type-boolean:before {
.icon-type-Boolean:before {
content: "\e924";
}
.icon-type-datetime:before {
content: "\e925";
}
.icon-type-date-time:before {
content: "\e925";
}
.icon-type-dateTime:before {
.icon-type-DateTime:before {
content: "\e925";
}
.icon-type-number:before {
.icon-type-Number:before {
content: "\e926";
}
.icon-type-string:before {
.icon-type-String:before {
content: "\e927";
}
.icon-user:before {

12
tests/Squidex.Core.Tests/Contents/ContentDataTests.cs

@ -18,12 +18,12 @@ namespace Squidex.Core.Contents
{
private readonly Schema schema =
Schema.Create("schema", new SchemaProperties())
.AddOrUpdateField(
new NumberField(1, "field1", new NumberFieldProperties { IsLocalizable = true }))
.AddOrUpdateField(
new NumberField(2, "field2", new NumberFieldProperties { IsLocalizable = false }))
.AddOrUpdateField(
new NumberField(3, "field3", new NumberFieldProperties { IsLocalizable = false }))
.AddOrUpdateField(new NumberField(1, "field1",
new NumberFieldProperties { IsLocalizable = true }))
.AddOrUpdateField(new NumberField(2, "field2",
new NumberFieldProperties { IsLocalizable = false }))
.AddOrUpdateField(new NumberField(3, "field3",
new NumberFieldProperties { IsLocalizable = false }))
.HideField(3);
private readonly Language[] languages = { Language.DE, Language.EN };
private readonly Language masterLanguage = Language.EN;

4
tests/Squidex.Core.Tests/Schemas/BooleanFieldTests.cs

@ -35,7 +35,7 @@ namespace Squidex.Core.Schemas
}
[Fact]
public async Task Should_not_add_error_if_valid_null()
public async Task Should_not_add_error_if_null_boolean_is_valid()
{
var sut = new BooleanField(1, "my-bolean", new BooleanFieldProperties { Label = "My-Boolean" });
@ -45,7 +45,7 @@ namespace Squidex.Core.Schemas
}
[Fact]
public async Task Should_not_add_error_if_valid()
public async Task Should_not_add_error_if_boolean_is_valid()
{
var sut = new BooleanField(1, "my-bolean", new BooleanFieldProperties { Label = "My-Boolean" });

2
tests/Squidex.Core.Tests/Schemas/DateTimeFieldTests.cs

@ -36,7 +36,7 @@ namespace Squidex.Core.Schemas
}
[Fact]
public async Task Should_not_add_error_if_valid()
public async Task Should_not_add_error_if_datetime_is_valid()
{
var sut = new DateTimeField(1, "my-datetime", new DateTimeFieldProperties { Label = "My-DateTime" });

63
tests/Squidex.Core.Tests/Schemas/JsonFieldTests.cs

@ -0,0 +1,63 @@
// ==========================================================================
// JsonFieldTests.cs
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex Group
// All rights reserved.
// ==========================================================================
using System.Collections.Generic;
using System.Threading.Tasks;
using FluentAssertions;
using Newtonsoft.Json.Linq;
using Xunit;
namespace Squidex.Core.Schemas
{
public class JsonFieldTests
{
private readonly List<string> errors = new List<string>();
[Fact]
public void Should_instantiate_field()
{
var sut = new JsonField(1, "my-json", new JsonFieldProperties());
Assert.Equal("my-json", sut.Name);
}
[Fact]
public void Should_clone_object()
{
var sut = new JsonField(1, "my-json", new JsonFieldProperties());
Assert.NotEqual(sut, sut.Enable());
}
[Fact]
public async Task Should_not_add_error_if_json_is_valid()
{
var sut = new JsonField(1, "my-json", new JsonFieldProperties { Label = "My-Json" });
await sut.ValidateAsync(CreateValue(null), errors);
Assert.Empty(errors);
}
[Fact]
public async Task Should_add_errors_if_datetime_is_required()
{
var sut = new JsonField(1, "my-json", new JsonFieldProperties { Label = "My-Json", IsRequired = true });
await sut.ValidateAsync(CreateValue(null), errors);
errors.ShouldBeEquivalentTo(
new[] { "My-Json is required" });
}
private static JValue CreateValue(JValue v)
{
return v;
}
}
}

2
tests/Squidex.Core.Tests/Schemas/NumberFieldTests.cs

@ -36,7 +36,7 @@ namespace Squidex.Core.Schemas
}
[Fact]
public async Task Should_not_add_error_if_valid()
public async Task Should_not_add_error_if_number_is_valid()
{
var sut = new NumberField(1, "my-number", new NumberFieldProperties { Label = "My-Number" });

2
tests/Squidex.Core.Tests/Schemas/SchemaTests.cs

@ -276,6 +276,8 @@ namespace Squidex.Core.Schemas
var schema =
Schema.Create("user", new SchemaProperties { Hints = "The User" })
.AddOrUpdateField(new JsonField(0, "my-json",
new JsonFieldProperties()))
.AddOrUpdateField(new StringField(1, "my-string1",
new StringFieldProperties { Label = "My String1", IsLocalizable = true, IsRequired = true, AllowedValues = allowedValues }))
.AddOrUpdateField(new StringField(2, "my-string2",

18
tests/Squidex.Core.Tests/Schemas/SchemaValidationTests.cs

@ -293,14 +293,16 @@ namespace Squidex.Core.Schemas
var schema =
Schema.Create("my-schema", new SchemaProperties())
.AddOrUpdateField(
new StringField(1, "my-string", new StringFieldProperties { DefaultValue = "EN-String", IsLocalizable = true }))
.AddOrUpdateField(
new NumberField(2, "my-number", new NumberFieldProperties { DefaultValue = 123 }))
.AddOrUpdateField(
new BooleanField(3, "my-boolean", new BooleanFieldProperties { DefaultValue = true }))
.AddOrUpdateField(
new DateTimeField(4, "my-datetime", new DateTimeFieldProperties { DefaultValue = now }));
.AddOrUpdateField(new JsonField(0, "my-json",
new JsonFieldProperties()))
.AddOrUpdateField(new StringField(1, "my-string",
new StringFieldProperties { DefaultValue = "EN-String", IsLocalizable = true }))
.AddOrUpdateField(new NumberField(2, "my-number",
new NumberFieldProperties { DefaultValue = 123 }))
.AddOrUpdateField(new BooleanField(3, "my-boolean",
new BooleanFieldProperties { DefaultValue = true }))
.AddOrUpdateField(new DateTimeField(4, "my-datetime",
new DateTimeFieldProperties { DefaultValue = now }));
var data =
new ContentData()

2
tests/Squidex.Core.Tests/Schemas/StringFieldTests.cs

@ -36,7 +36,7 @@ namespace Squidex.Core.Schemas
}
[Fact]
public async Task Should_not_add_error_if_valid()
public async Task Should_not_add_error_if_string_is_valid()
{
var sut = new StringField(1, "my-string", new StringFieldProperties { Label = "My-String" });

2
tools/GenerateLanguages/Program.cs

@ -15,7 +15,7 @@ namespace GenerateLanguages
{
public class Program
{
public static void Main(string[] args)
public static void Main()
{
var languageCodesFile = new FileInfo("../../src/Squidex.Infrastructure/language-codes.csv");
var languageFile = Path.Combine(languageCodesFile.DirectoryName, "Languages.cs");

Loading…
Cancel
Save