Browse Source

Frontend improvements (#1231)

* Small UI improvements.

* New validator rule and a small frontend improvements.

* API tests.

* Fix tests

* Fix tests again.
pull/1234/head
Sebastian Stehle 11 months ago
committed by GitHub
parent
commit
1d85b5e96a
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 6
      backend/extensions/Squidex.Extensions/Validation/CompositeUniqueValidator.cs
  2. 1
      backend/i18n/frontend_en.json
  3. 1
      backend/i18n/frontend_fr.json
  4. 1
      backend/i18n/frontend_it.json
  5. 1
      backend/i18n/frontend_nl.json
  6. 1
      backend/i18n/frontend_pt.json
  7. 1
      backend/i18n/frontend_zh.json
  8. 1
      backend/i18n/source/backend_en.json
  9. 1
      backend/i18n/source/frontend_en.json
  10. 18
      backend/src/Squidex.Domain.Apps.Core.Model/FieldDescriptions.Designer.cs
  11. 6
      backend/src/Squidex.Domain.Apps.Core.Model/FieldDescriptions.resx
  12. 2
      backend/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldProperties.cs
  13. 7
      backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptingCompleter.cs
  14. 6
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/DefaultValidatorsFactory.cs
  15. 3
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/RootContext.cs
  16. 4
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidationContext.cs
  17. 2
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/AggregateValidator.cs
  18. 2
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/AllowedValuesValidator.cs
  19. 22
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/AssetsValidator.cs
  20. 17
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/CollectionItemValidator.cs
  21. 10
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/CollectionValidator.cs
  22. 55
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/FieldValidator.cs
  23. 2
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/NoValueValidator.cs
  24. 43
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/NotChangedValidator.cs
  25. 60
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/ObjectValidator.cs
  26. 31
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/PatternValidator.cs
  27. 42
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/RangeValidator.cs
  28. 6
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/ReferencesValidator.cs
  29. 2
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/RequiredStringValidator.cs
  30. 2
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/RequiredValidator.cs
  31. 42
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/StringLengthValidator.cs
  32. 96
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/StringTextValidator.cs
  33. 2
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/UniqueObjectValuesValidator.cs
  34. 4
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/UniqueValidator.cs
  35. 14
      backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/UniqueValuesValidator.cs
  36. 4
      backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentDomainObject.cs
  37. 3
      backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentOperation.cs
  38. 35
      backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/Guards/ValidationExtensions.cs
  39. 2
      backend/src/Squidex.Infrastructure/Tasks/Scheduler.cs
  40. 3
      backend/src/Squidex.Shared/Texts.fr.resx
  41. 3
      backend/src/Squidex.Shared/Texts.it.resx
  42. 3
      backend/src/Squidex.Shared/Texts.nl.resx
  43. 3
      backend/src/Squidex.Shared/Texts.pt.resx
  44. 3
      backend/src/Squidex.Shared/Texts.resx
  45. 3
      backend/src/Squidex.Shared/Texts.zh.resx
  46. 5
      backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/FieldPropertiesDto.cs
  47. 372
      backend/src/Squidex/wwwroot/editor/squidex-editor.js
  48. 40
      backend/tests/Squidex.Domain.Apps.Core.Tests/Model/Schemas/Schema.json
  49. 40
      backend/tests/Squidex.Domain.Apps.Core.Tests/Model/Schemas/Schema_Old.json
  50. 2
      backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/ScriptingCompleterTests.cs
  51. 2
      backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/ArrayFieldTests.cs
  52. 44
      backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/ContentValidationTests.cs
  53. 48
      backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/ValidationTestExtensions.cs
  54. 2
      backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/Validators/AllowedValuesValidatorTests.cs
  55. 144
      backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/Validators/NotChangedValidatorTests.cs
  56. 39
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.Add_should_create_events_and_add_field.verified.txt
  57. 255
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.Add_should_create_events_and_add_field_to_array.verified.txt
  58. 36
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.ConfigureUIFields_should_create_events_for_list_fields_and_update_schema.verified.txt
  59. 36
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.ConfigureUIFields_should_create_events_for_reference_fields_and_update_schema.verified.txt
  60. 1080
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.Create_should_create_events_and_schema_with_initial_fields.verified.txt
  61. 36
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.DeleteField_should_create_events_and_delete_nested_field.verified.txt
  62. 36
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.DisableField_should_create_events_and_update_field_disabled_flag.verified.txt
  63. 252
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.DisableField_should_create_events_and_update_nested_field_disabled_flag.verified.txt
  64. 36
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.EnableField_should_create_events_and_update_field_disabled_flag.verified.txt
  65. 252
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.EnableField_should_create_events_and_update_nested_field_disabled_flag.verified.txt
  66. 36
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.HideField_should_create_events_and_update_field_hidden_flag.verified.txt
  67. 252
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.HideField_should_create_events_and_update_nested_field_hidden_flag.verified.txt
  68. 36
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.LockField_should_create_events_and_update_field_locked_flag.verified.txt
  69. 252
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.LockField_should_create_events_and_update_nested_field_locked_flag.verified.txt
  70. 72
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.Reorder_should_create_events_and_reorder_fields.verified.txt
  71. 468
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.Reorder_should_create_events_and_reorder_nestedy_fields.verified.txt
  72. 36
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.ShowField_should_create_events_and_update_field_hidden_flag.verified.txt
  73. 252
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.ShowField_should_create_events_and_update_nested_field_hidden_flag.verified.txt
  74. 39
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.UpdateField_should_create_events_and_update_field_properties.verified.txt
  75. 255
      backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.UpdateField_should_create_events_and_update_nested_field_properties.verified.txt
  76. 4
      backend/tests/Squidex.Infrastructure.Tests/Tasks/SchedulerTests.cs
  77. 8
      frontend/angular.json
  78. 2
      frontend/src/app/features/content/pages/content/content-page.component.ts
  79. 2
      frontend/src/app/features/content/shared/forms/content-field.component.html
  80. 6
      frontend/src/app/features/content/shared/forms/field-editor.component.ts
  81. 11
      frontend/src/app/features/schemas/pages/schema/fields/forms/field-form-validation.component.html
  82. 4
      frontend/src/app/features/schemas/pages/schema/rules/schema-field-rules-form.component.html
  83. 2
      frontend/src/app/features/schemas/pages/schema/rules/schema-field-rules-form.component.scss
  84. 32
      frontend/src/app/features/schemas/pages/schema/rules/schema-field-rules-form.component.ts
  85. 51
      frontend/src/app/features/schemas/pages/schemas/schema-form.component.scss
  86. 2
      frontend/src/app/features/settings/pages/clients/client-add-form.component.html
  87. 2
      frontend/src/app/features/settings/pages/contributors/contributor-add-form.component.html
  88. 2
      frontend/src/app/features/settings/pages/jobs/jobs-page.component.html
  89. 2
      frontend/src/app/features/settings/pages/languages/language-add-form.component.html
  90. 2
      frontend/src/app/features/settings/pages/plans/plans-page.component.html
  91. 48
      frontend/src/app/features/settings/pages/roles/role-add-form.component.html
  92. 2
      frontend/src/app/features/settings/pages/roles/roles-page.component.html
  93. 2
      frontend/src/app/features/settings/pages/templates/templates-page.component.html
  94. 48
      frontend/src/app/features/settings/pages/workflows/workflow-add-form.component.html
  95. 8
      frontend/src/app/features/settings/pages/workflows/workflows-page.component.html
  96. 2
      frontend/src/app/features/teams/pages/contributors/contributor-add-form.component.html
  97. 66
      frontend/src/app/framework/angular/forms/editors/code-editor.component.ts
  98. 7
      frontend/src/app/framework/angular/modals/dialog-renderer.component.html
  99. 47
      frontend/src/app/framework/angular/modals/dialog-renderer.component.scss
  100. 139
      frontend/src/app/framework/angular/modals/dialog-renderer.stories.ts

6
backend/extensions/Squidex.Extensions/Validation/CompositeUniqueValidator.cs

@ -22,11 +22,11 @@ internal sealed class CompositeUniqueValidator(string contentTag, IContentReposi
{ {
if (value is ContentData data) if (value is ContentData data)
{ {
context.Root.AddTask(async ct => await ValidateAsync(data, context)); context.Root.AddTask(ct => ValidateAsync(data, context));
} }
} }
private async Task ValidateAsync(ContentData data, ValidationContext context) private async ValueTask ValidateAsync(ContentData data, ValidationContext context)
{ {
var validateableFields = context.Root.Schema.Fields.Where(IsValidateableField); var validateableFields = context.Root.Schema.Fields.Where(IsValidateableField);
@ -48,7 +48,7 @@ internal sealed class CompositeUniqueValidator(string contentTag, IContentReposi
var found = await contentRepository.QueryIdsAsync(context.Root.App, context.Root.Schema, filter, SearchScope.All); var found = await contentRepository.QueryIdsAsync(context.Root.App, context.Root.Schema, filter, SearchScope.All);
if (found.Any(x => x.Id != context.Root.ContentId)) if (found.Any(x => x.Id != context.Root.ContentId))
{ {
context.AddError(Enumerable.Empty<string>(), "A content with the same values already exist."); context.AddError("A content with the same values already exist.", Enumerable.Empty<string>());
} }
} }
} }

1
backend/i18n/frontend_en.json

@ -852,6 +852,7 @@
"schemas.field.allowedValues": "Allowed Values", "schemas.field.allowedValues": "Allowed Values",
"schemas.field.createEnum": "Generate GraphQL Enum.", "schemas.field.createEnum": "Generate GraphQL Enum.",
"schemas.field.createEnumHint": "Generate a GraphQL enumeration for this field. The input format is not compatible with a string anymore and can be a breaking change for your client.", "schemas.field.createEnumHint": "Generate a GraphQL enumeration for this field. The input format is not compatible with a string anymore and can be a breaking change for your client.",
"schemas.field.createOnly": "Immutable (cannot be changed)",
"schemas.field.defaultValue": "Default Value", "schemas.field.defaultValue": "Default Value",
"schemas.field.defaultValues": "Default Values", "schemas.field.defaultValues": "Default Values",
"schemas.field.defaultValuesHint": "Set the default value per language and override the default value property, if defined. Only use it if really needed.", "schemas.field.defaultValuesHint": "Set the default value per language and override the default value property, if defined. Only use it if really needed.",

1
backend/i18n/frontend_fr.json

@ -852,6 +852,7 @@
"schemas.field.allowedValues": "Valeurs autorisées", "schemas.field.allowedValues": "Valeurs autorisées",
"schemas.field.createEnum": "Générer l'énumération GraphQL.", "schemas.field.createEnum": "Générer l'énumération GraphQL.",
"schemas.field.createEnumHint": "Générez une énumération GraphQL pour ce champ. Le format d'entrée n'est plus compatible avec une chaîne et peut constituer un changement radical pour votre client.", "schemas.field.createEnumHint": "Générez une énumération GraphQL pour ce champ. Le format d'entrée n'est plus compatible avec une chaîne et peut constituer un changement radical pour votre client.",
"schemas.field.createOnly": "Immutable (cannot be changed)",
"schemas.field.defaultValue": "Valeur par défaut", "schemas.field.defaultValue": "Valeur par défaut",
"schemas.field.defaultValues": "Les valeurs par défaut", "schemas.field.defaultValues": "Les valeurs par défaut",
"schemas.field.defaultValuesHint": "Définissez la valeur par défaut par langue et remplacez la propriété de valeur par défaut, si elle est définie. Ne l'utilisez qu'en cas de besoin.", "schemas.field.defaultValuesHint": "Définissez la valeur par défaut par langue et remplacez la propriété de valeur par défaut, si elle est définie. Ne l'utilisez qu'en cas de besoin.",

1
backend/i18n/frontend_it.json

@ -852,6 +852,7 @@
"schemas.field.allowedValues": "Valori consentiti", "schemas.field.allowedValues": "Valori consentiti",
"schemas.field.createEnum": "Generate GraphQL Enum.", "schemas.field.createEnum": "Generate GraphQL Enum.",
"schemas.field.createEnumHint": "Generate a GraphQL enumeration for this field. The input format is not compatible with a string anymore and can be a breaking change for your client.", "schemas.field.createEnumHint": "Generate a GraphQL enumeration for this field. The input format is not compatible with a string anymore and can be a breaking change for your client.",
"schemas.field.createOnly": "Immutable (cannot be changed)",
"schemas.field.defaultValue": "Valore predefinito", "schemas.field.defaultValue": "Valore predefinito",
"schemas.field.defaultValues": "Valori predefiniti", "schemas.field.defaultValues": "Valori predefiniti",
"schemas.field.defaultValuesHint": "Imposta il valore predefinito per la lingua e sovrascrivere il valore predefinito, se definito. Usalo solo se davvero necessario.", "schemas.field.defaultValuesHint": "Imposta il valore predefinito per la lingua e sovrascrivere il valore predefinito, se definito. Usalo solo se davvero necessario.",

1
backend/i18n/frontend_nl.json

@ -852,6 +852,7 @@
"schemas.field.allowedValues": "Toegestane waarden", "schemas.field.allowedValues": "Toegestane waarden",
"schemas.field.createEnum": "Generate GraphQL Enum.", "schemas.field.createEnum": "Generate GraphQL Enum.",
"schemas.field.createEnumHint": "Generate a GraphQL enumeration for this field. The input format is not compatible with a string anymore and can be a breaking change for your client.", "schemas.field.createEnumHint": "Generate a GraphQL enumeration for this field. The input format is not compatible with a string anymore and can be a breaking change for your client.",
"schemas.field.createOnly": "Immutable (cannot be changed)",
"schemas.field.defaultValue": "Standaardwaarde", "schemas.field.defaultValue": "Standaardwaarde",
"schemas.field.defaultValues": "Standaardwaardes", "schemas.field.defaultValues": "Standaardwaardes",
"schemas.field.defaultValuesHint": "Stel de standaardwaarde per taal in en overschrijf de standaardwaarde-eigenschap, indien gedefinieerd. Gebruik het alleen als het echt nodig is.", "schemas.field.defaultValuesHint": "Stel de standaardwaarde per taal in en overschrijf de standaardwaarde-eigenschap, indien gedefinieerd. Gebruik het alleen als het echt nodig is.",

1
backend/i18n/frontend_pt.json

@ -852,6 +852,7 @@
"schemas.field.allowedValues": "Valores Permitidos", "schemas.field.allowedValues": "Valores Permitidos",
"schemas.field.createEnum": "Gerar GraphQL Enum.", "schemas.field.createEnum": "Gerar GraphQL Enum.",
"schemas.field.createEnumHint": "Gere uma enumeração GraphQL para este campo. O formato de entrada já não é compatível com uma corda e pode ser uma mudança de rutura para o seu cliente.", "schemas.field.createEnumHint": "Gere uma enumeração GraphQL para este campo. O formato de entrada já não é compatível com uma corda e pode ser uma mudança de rutura para o seu cliente.",
"schemas.field.createOnly": "Immutable (cannot be changed)",
"schemas.field.defaultValue": "Valor Predefinido", "schemas.field.defaultValue": "Valor Predefinido",
"schemas.field.defaultValues": "Valores predefinidos", "schemas.field.defaultValues": "Valores predefinidos",
"schemas.field.defaultValuesHint": "Desaponha o valor predefinido por idioma e substitua a propriedade de valor predefinido, se definida. Só a use se realmente for necessário.", "schemas.field.defaultValuesHint": "Desaponha o valor predefinido por idioma e substitua a propriedade de valor predefinido, se definida. Só a use se realmente for necessário.",

1
backend/i18n/frontend_zh.json

@ -852,6 +852,7 @@
"schemas.field.allowedValues": "允许的值", "schemas.field.allowedValues": "允许的值",
"schemas.field.createEnum": "Generate GraphQL Enum.", "schemas.field.createEnum": "Generate GraphQL Enum.",
"schemas.field.createEnumHint": "Generate a GraphQL enumeration for this field. The input format is not compatible with a string anymore and can be a breaking change for your client.", "schemas.field.createEnumHint": "Generate a GraphQL enumeration for this field. The input format is not compatible with a string anymore and can be a breaking change for your client.",
"schemas.field.createOnly": "Immutable (cannot be changed)",
"schemas.field.defaultValue": "Default Value", "schemas.field.defaultValue": "Default Value",
"schemas.field.defaultValues": "默认值", "schemas.field.defaultValues": "默认值",
"schemas.field.defaultValuesHint": "设置每种语言的默认值并覆盖默认值属性(如果已定义)。仅在真正需要时才使用它。", "schemas.field.defaultValuesHint": "设置每种语言的默认值并覆盖默认值属性(如果已定义)。仅在真正需要时才使用它。",

1
backend/i18n/source/backend_en.json

@ -153,6 +153,7 @@
"contents.validation.between": "Must be between {min} and {max}.", "contents.validation.between": "Must be between {min} and {max}.",
"contents.validation.characterCount": "Must have exactly {count} character(s).", "contents.validation.characterCount": "Must have exactly {count} character(s).",
"contents.validation.charactersBetween": "Must have between {min} and {max} character(s).", "contents.validation.charactersBetween": "Must have between {min} and {max} character(s).",
"contents.validation.createOnly": "Field cannot be changed after creation.",
"contents.validation.duplicates": "Must not contain duplicate values.", "contents.validation.duplicates": "Must not contain duplicate values.",
"contents.validation.error": "Validation failed with internal error.", "contents.validation.error": "Validation failed with internal error.",
"contents.validation.exactValue": "Must be exactly {value}.", "contents.validation.exactValue": "Must be exactly {value}.",

1
backend/i18n/source/frontend_en.json

@ -852,6 +852,7 @@
"schemas.field.allowedValues": "Allowed Values", "schemas.field.allowedValues": "Allowed Values",
"schemas.field.createEnum": "Generate GraphQL Enum.", "schemas.field.createEnum": "Generate GraphQL Enum.",
"schemas.field.createEnumHint": "Generate a GraphQL enumeration for this field. The input format is not compatible with a string anymore and can be a breaking change for your client.", "schemas.field.createEnumHint": "Generate a GraphQL enumeration for this field. The input format is not compatible with a string anymore and can be a breaking change for your client.",
"schemas.field.createOnly": "Immutable (cannot be changed)",
"schemas.field.defaultValue": "Default Value", "schemas.field.defaultValue": "Default Value",
"schemas.field.defaultValues": "Default Values", "schemas.field.defaultValues": "Default Values",
"schemas.field.defaultValuesHint": "Set the default value per language and override the default value property, if defined. Only use it if really needed.", "schemas.field.defaultValuesHint": "Set the default value per language and override the default value property, if defined. Only use it if really needed.",

18
backend/src/Squidex.Domain.Apps.Core.Model/FieldDescriptions.Designer.cs

@ -762,6 +762,24 @@ namespace Squidex.Domain.Apps.Core {
} }
} }
/// <summary>
/// Looks up a localized string similar to The type of action that is performed..
/// </summary>
public static string FieldRuleAction {
get {
return ResourceManager.GetString("FieldRuleAction", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The context object..
/// </summary>
public static string FieldRuleContext {
get {
return ResourceManager.GetString("FieldRuleContext", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to The graphql request.. /// Looks up a localized string similar to The graphql request..
/// </summary> /// </summary>

6
backend/src/Squidex.Domain.Apps.Core.Model/FieldDescriptions.resx

@ -426,6 +426,9 @@
<data name="RichTextFieldValue" xml:space="preserve"> <data name="RichTextFieldValue" xml:space="preserve">
<value>The raw value.</value> <value>The raw value.</value>
</data> </data>
<data name="FieldRuleContext" xml:space="preserve">
<value>The context object.</value>
</data>
<data name="SchemaId" xml:space="preserve"> <data name="SchemaId" xml:space="preserve">
<value>The ID of the schema.</value> <value>The ID of the schema.</value>
</data> </data>
@ -477,4 +480,7 @@
<data name="UsersClaimsValue" xml:space="preserve"> <data name="UsersClaimsValue" xml:space="preserve">
<value>The list of additional properties that have the name 'name'.</value> <value>The list of additional properties that have the name 'name'.</value>
</data> </data>
<data name="FieldRuleAction" xml:space="preserve">
<value>The type of action that is performed.</value>
</data>
</root> </root>

2
backend/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldProperties.cs

@ -17,6 +17,8 @@ public abstract record FieldProperties : NamedElementPropertiesBase
public bool IsHalfWidth { get; init; } public bool IsHalfWidth { get; init; }
public bool IsCreateOnly { get; init; }
public string? Placeholder { get; init; } public string? Placeholder { get; init; }
public string? EditorUrl { get; init; } public string? EditorUrl { get; init; }

7
backend/src/Squidex.Domain.Apps.Core.Operations/Scripting/ScriptingCompleter.cs

@ -231,6 +231,13 @@ public sealed partial class ScriptingCompleter(IEnumerable<IScriptDescriptor> de
FieldDescriptions.UserAppRole); FieldDescriptions.UserAppRole);
}); });
AddObject("ctx", FieldDescriptions.FieldRuleContext, () =>
{
Add(JsonType.String, "action",
FieldDescriptions.UserAppRole, ["Create", "Update"]);
});
AddObject("data", FieldDescriptions.ContentData, () => AddObject("data", FieldDescriptions.ContentData, () =>
{ {
AddData(); AddData();

6
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/DefaultValidatorsFactory.cs

@ -5,6 +5,7 @@
// All rights reserved. Licensed under the MIT license. // All rights reserved. Licensed under the MIT license.
// ========================================================================== // ==========================================================================
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas; using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Domain.Apps.Core.ValidateContent.Validators; using Squidex.Domain.Apps.Core.ValidateContent.Validators;
@ -18,6 +19,11 @@ public sealed class DefaultValidatorsFactory : IValidatorsFactory
{ {
yield return NoValueValidator.Instance; yield return NoValueValidator.Instance;
} }
if (field is IRootField rootField && field.RawProperties.IsCreateOnly && context.Root.PreviousData is ContentData previous)
{
yield return new NotChangedValidator(rootField, previous);
}
} }
public IEnumerable<IValidator> CreateValueValidators(ValidationContext context, IField field, ValidatorFactory factory) public IEnumerable<IValidator> CreateValueValidators(ValidationContext context, IField field, ValidatorFactory factory)

3
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/RootContext.cs

@ -7,6 +7,7 @@
using System.Collections.Concurrent; using System.Collections.Concurrent;
using Squidex.Domain.Apps.Core.Apps; using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas; using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure; using Squidex.Infrastructure;
using Squidex.Infrastructure.Json; using Squidex.Infrastructure.Json;
@ -30,6 +31,8 @@ public sealed class RootContext(App app, Schema schema, DomainId contentId, Reso
public ResolvedComponents Components { get; } = components; public ResolvedComponents Components { get; } = components;
public ContentData? PreviousData { get; init; }
public IEnumerable<ValidationError> Errors public IEnumerable<ValidationError> Errors
{ {
get => errors; get => errors;

4
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/ValidationContext.cs

@ -21,9 +21,9 @@ public sealed record ValidationContext(RootContext Root)
public ValidationAction Action { get; init; } public ValidationAction Action { get; init; }
public void AddError(IEnumerable<string> path, string message) public void AddError(string message, IEnumerable<string>? path = null)
{ {
Root.AddError(path, message); Root.AddError(path ?? Path, message);
} }
public ValidationContext Optimized(bool optimized = true) public ValidationContext Optimized(bool optimized = true)

2
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/AggregateValidator.cs

@ -29,7 +29,7 @@ public sealed class AggregateValidator(IEnumerable<IValidator>? validators) : IV
} }
catch catch
{ {
context.AddError(context.Path, T.Get("contents.validation.error")); context.AddError(T.Get("contents.validation.error"));
} }
} }
} }

2
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/AllowedValuesValidator.cs

@ -30,7 +30,7 @@ public sealed class AllowedValuesValidator<TValue> : IValidator
{ {
if (value is TValue typedValue && !allowedValues.Contains(typedValue)) if (value is TValue typedValue && !allowedValues.Contains(typedValue))
{ {
context.AddError(context.Path, T.Get("contents.validation.notAllowed")); context.AddError(T.Get("contents.validation.notAllowed"), context.Path);
} }
} }
} }

22
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/AssetsValidator.cs

@ -50,7 +50,7 @@ public sealed class AssetsValidator : IValidator
context.Root.AddTask(ct => ValidateCoreAsync(value, context, ct)); context.Root.AddTask(ct => ValidateCoreAsync(value, context, ct));
} }
private async Task ValidateCoreAsync(object? value, ValidationContext context, private async ValueTask ValidateCoreAsync(object? value, ValidationContext context,
CancellationToken ct) CancellationToken ct)
{ {
var foundIds = new List<DomainId>(); var foundIds = new List<DomainId>();
@ -69,7 +69,7 @@ public sealed class AssetsValidator : IValidator
{ {
if (context.Action == ValidationAction.Upsert) if (context.Action == ValidationAction.Upsert)
{ {
context.AddError(assetPath, T.Get("contents.validation.assetNotFound", new { id = assetId })); context.AddError(T.Get("contents.validation.assetNotFound", new { id = assetId }), assetPath);
} }
continue; continue;
@ -118,19 +118,19 @@ public sealed class AssetsValidator : IValidator
{ {
var min = properties.MinSize.Value.ToReadableSize(); var min = properties.MinSize.Value.ToReadableSize();
context.AddError(path, T.Get("contents.validation.minimumSize", new { size = asset.FileSize.ToReadableSize(), min })); context.AddError(T.Get("contents.validation.minimumSize", new { size = asset.FileSize.ToReadableSize(), min }), path);
} }
if (properties.MaxSize != null && asset.FileSize > properties.MaxSize) if (properties.MaxSize != null && asset.FileSize > properties.MaxSize)
{ {
var max = properties.MaxSize.Value.ToReadableSize(); var max = properties.MaxSize.Value.ToReadableSize();
context.AddError(path, T.Get("contents.validation.maximumSize", new { size = asset.FileSize.ToReadableSize(), max })); context.AddError(T.Get("contents.validation.maximumSize", new { size = asset.FileSize.ToReadableSize(), max }), path);
} }
if (properties.AllowedExtensions is { Count: > 0 } && !properties.AllowedExtensions.Any(x => asset.FileName.EndsWith("." + x, StringComparison.OrdinalIgnoreCase))) if (properties.AllowedExtensions is { Count: > 0 } && !properties.AllowedExtensions.Any(x => asset.FileName.EndsWith("." + x, StringComparison.OrdinalIgnoreCase)))
{ {
context.AddError(path, T.Get("contents.validation.extension")); context.AddError(T.Get("contents.validation.extension"), path);
} }
} }
@ -140,7 +140,7 @@ public sealed class AssetsValidator : IValidator
if (properties.ExpectedType != null && properties.ExpectedType != type) if (properties.ExpectedType != null && properties.ExpectedType != type)
{ {
context.AddError(path, T.Get("contents.validation.assetType", new { type = properties.ExpectedType })); context.AddError(T.Get("contents.validation.assetType", new { type = properties.ExpectedType }), path);
} }
} }
@ -150,22 +150,22 @@ public sealed class AssetsValidator : IValidator
if (properties.MinWidth != null && w < properties.MinWidth) if (properties.MinWidth != null && w < properties.MinWidth)
{ {
context.AddError(path, T.Get("contents.validation.minimumWidth", new { width = w, min = properties.MinWidth })); context.AddError(T.Get("contents.validation.minimumWidth", new { width = w, min = properties.MinWidth }), path);
} }
if (properties.MaxWidth != null && w > properties.MaxWidth) if (properties.MaxWidth != null && w > properties.MaxWidth)
{ {
context.AddError(path, T.Get("contents.validation.maximumWidth", new { width = w, max = properties.MaxWidth })); context.AddError(T.Get("contents.validation.maximumWidth", new { width = w, max = properties.MaxWidth }), path);
} }
if (properties.MinHeight != null && h < properties.MinHeight) if (properties.MinHeight != null && h < properties.MinHeight)
{ {
context.AddError(path, T.Get("contents.validation.minimumHeight", new { height = h, min = properties.MinHeight })); context.AddError(T.Get("contents.validation.minimumHeight", new { height = h, min = properties.MinHeight }), path);
} }
if (properties.MaxHeight != null && h > properties.MaxHeight) if (properties.MaxHeight != null && h > properties.MaxHeight)
{ {
context.AddError(path, T.Get("contents.validation.maximumHeight", new { height = h, max = properties.MaxHeight })); context.AddError(T.Get("contents.validation.maximumHeight", new { height = h, max = properties.MaxHeight }), path);
} }
if (properties.AspectHeight != null && properties.AspectWidth != null) if (properties.AspectHeight != null && properties.AspectWidth != null)
@ -174,7 +174,7 @@ public sealed class AssetsValidator : IValidator
if (Math.Abs(expectedRatio - actualRatio) > double.Epsilon) if (Math.Abs(expectedRatio - actualRatio) > double.Epsilon)
{ {
context.AddError(path, T.Get("contents.validation.aspectRatio", new { width = properties.AspectWidth, height = properties.AspectHeight })); context.AddError(T.Get("contents.validation.aspectRatio", new { width = properties.AspectWidth, height = properties.AspectHeight }), path);
} }
} }
} }

17
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/CollectionItemValidator.cs

@ -23,17 +23,18 @@ public sealed class CollectionItemValidator : IValidator
public void Validate(object? value, ValidationContext context) public void Validate(object? value, ValidationContext context)
{ {
if (value is ICollection { Count: > 0 } items) if (value is not ICollection { Count: > 0 } items)
{ {
var itemIndex = 1; return;
}
foreach (var item in items) var itemIndex = 1;
{ foreach (var item in items)
var itemContext = context.Nested($"[{itemIndex}]"); {
var itemContext = context.Nested($"[{itemIndex}]");
itemValidator.Validate(item, itemContext); itemValidator.Validate(item, itemContext);
itemIndex++; itemIndex++;
}
} }
} }
} }

10
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/CollectionValidator.cs

@ -35,7 +35,7 @@ public sealed class CollectionValidator : IValidator
{ {
if (isRequired && !context.IsOptional) if (isRequired && !context.IsOptional)
{ {
context.AddError(context.Path, T.Get("contents.validation.required")); context.AddError(T.Get("contents.validation.required"));
} }
return; return;
@ -45,23 +45,23 @@ public sealed class CollectionValidator : IValidator
{ {
if (minItems == maxItems && minItems != items.Count) if (minItems == maxItems && minItems != items.Count)
{ {
context.AddError(context.Path, T.Get("contents.validation.itemCount", new { count = minItems })); context.AddError(T.Get("contents.validation.itemCount", new { count = minItems }));
} }
else if (items.Count < minItems || items.Count > maxItems) else if (items.Count < minItems || items.Count > maxItems)
{ {
context.AddError(context.Path, T.Get("contents.validation.itemCountBetween", new { min = minItems, max = maxItems })); context.AddError(T.Get("contents.validation.itemCountBetween", new { min = minItems, max = maxItems }));
} }
} }
else else
{ {
if (minItems != null && items.Count < minItems) if (minItems != null && items.Count < minItems)
{ {
context.AddError(context.Path, T.Get("contents.validation.minItems", new { min = minItems })); context.AddError(T.Get("contents.validation.minItems", new { min = minItems }));
} }
if (maxItems != null && items.Count > maxItems) if (maxItems != null && items.Count > maxItems)
{ {
context.AddError(context.Path, T.Get("contents.validation.maxItems", new { max = maxItems })); context.AddError(T.Get("contents.validation.maxItems", new { max = maxItems }));
} }
} }
} }

55
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/FieldValidator.cs

@ -29,41 +29,44 @@ public sealed class FieldValidator : IValidator
public void Validate(object? value, ValidationContext context) public void Validate(object? value, ValidationContext context)
{ {
var typedValue = value; var typedValue = ResolveValue(value, context);
try validator.Validate(typedValue, context);
}
private object? ResolveValue(object? value, ValidationContext context)
{
if (value is not JsonValue jsonValue)
{ {
if (value is JsonValue jsonValue) return value;
{ }
if (jsonValue == default || Updates.IsUnset(jsonValue))
{ if (jsonValue == default || Updates.IsUnset(jsonValue))
typedValue = null; {
} return null;
else }
{
typedValue = jsonValue.Value;
var (typed, error) = JsonValueConverter.ConvertValue(field, jsonValue, var result = jsonValue.Value;
context.Root.Serializer, try
context.Root.Components); {
var (typed, error) = JsonValueConverter.ConvertValue(field, jsonValue,
context.Root.Serializer,
context.Root.Components);
if (error != null) if (error != null)
{ {
context.AddError(context.Path, error.Error); context.AddError(error.Error);
} }
else else
{ {
typedValue = typed; result = typed;
}
}
} }
} }
catch catch
{ {
context.AddError(context.Path, T.Get("contents.validation.invalid")); context.AddError(T.Get("contents.validation.invalid"));
return;
} }
validator.Validate(typedValue, context); return result;
} }
} }

2
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/NoValueValidator.cs

@ -21,7 +21,7 @@ public sealed class NoValueValidator : IValidator
{ {
if (!value.IsUndefined()) if (!value.IsUndefined())
{ {
context.AddError(context.Path, T.Get("contents.validation.mustBeEmpty")); context.AddError(T.Get("contents.validation.mustBeEmpty"));
} }
} }
} }

43
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/NotChangedValidator.cs

@ -0,0 +1,43 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using Squidex.Domain.Apps.Core.Apps;
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Infrastructure.Translations;
namespace Squidex.Domain.Apps.Core.ValidateContent.Validators;
public sealed class NotChangedValidator(IRootField field, ContentData previousData) : IValidator
{
public void Validate(object? value, ValidationContext context)
{
var previousFieldData =
previousData.GetValueOrDefault(field.Name);
var newFieldData =
value as ContentFieldData;
var partitions = context.Root.App.PartitionResolver()(field.Partitioning);
foreach (var partition in partitions.AllKeys)
{
var previousLanguageValue =
previousFieldData?.GetValueOrDefault(partition);
var newLanguageValue =
newFieldData?.GetValueOrDefault(partition);
if (!Equals(previousLanguageValue, newLanguageValue))
{
var path = context.Path.Enqueue(partition);
context.AddError(T.Get("contents.validation.createOnly"), path);
}
}
}
}

60
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/ObjectValidator.cs

@ -23,45 +23,47 @@ public sealed class ObjectValidator<TValue>(IDictionary<string, (bool IsOptional
value = DefaultValue; value = DefaultValue;
} }
if (value is IReadOnlyDictionary<string, TValue> values) if (value is not IReadOnlyDictionary<string, TValue> values)
{ {
foreach (var fieldData in values) return;
{ }
var name = fieldData.Key;
if (!fields.ContainsKey(name)) foreach (var fieldData in values)
{ {
context.AddError(context.Path.Enqueue(name), T.Get("contents.validation.unknownField", new { fieldType })); var name = fieldData.Key;
}
}
foreach (var (name, field) in fields) if (!fields.ContainsKey(name))
{ {
var fieldValue = Undefined.Value; context.AddError(T.Get("contents.validation.unknownField", new { fieldType }), context.Path.Enqueue(name));
}
}
if (!values.TryGetValue(name, out var nestedValue)) foreach (var (name, field) in fields)
{ {
// If the original value was unset, we have to validate the children for required values. var fieldValue = Undefined.Value;
if (isPartial && !originalValue.IsUnset())
{
continue;
}
}
else
{
fieldValue = nestedValue!;
}
// Use a special null values for unsets so we can treat them as null for required validators. if (!values.TryGetValue(name, out var nestedValue))
if (Updates.IsUnset(fieldValue)) {
// If the original value was unset, we have to validate the children for required values.
if (isPartial && !originalValue.IsUnset())
{ {
fieldValue = Undefined.Unset; continue;
} }
}
else
{
fieldValue = nestedValue!;
}
var fieldContext = context.Nested(name, field.IsOptional); // Use a special null values for unsets so we can treat them as null for required validators.
if (Updates.IsUnset(fieldValue))
field.Validator.Validate(fieldValue, fieldContext); {
fieldValue = Undefined.Unset;
} }
var fieldContext = context.Nested(name, field.IsOptional);
field.Validator.Validate(fieldValue, fieldContext);
} }
} }
} }

31
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/PatternValidator.cs

@ -35,29 +35,28 @@ public class PatternValidator : IValidator
public void Validate(object? value, ValidationContext context) public void Validate(object? value, ValidationContext context)
{ {
if (value is string stringValue) if (value is not string stringValue || string.IsNullOrEmpty(stringValue))
{ {
if (!string.IsNullOrEmpty(stringValue)) return;
}
try
{
if (!regex.IsMatch(stringValue))
{ {
try if (string.IsNullOrWhiteSpace(errorMessage))
{ {
if (!regex.IsMatch(stringValue)) context.AddError(T.Get("contents.validation.pattern"));
{
if (string.IsNullOrWhiteSpace(errorMessage))
{
context.AddError(context.Path, T.Get("contents.validation.pattern"));
}
else
{
context.AddError(context.Path, errorMessage);
}
}
} }
catch else
{ {
context.AddError(context.Path, T.Get("contents.validation.regexTooSlow")); context.AddError(errorMessage);
} }
} }
} }
catch
{
context.AddError(T.Get("contents.validation.regexTooSlow"));
}
} }
} }

42
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/RangeValidator.cs

@ -28,30 +28,32 @@ public sealed class RangeValidator<TValue> : IValidator where TValue : struct, I
public void Validate(object? value, ValidationContext context) public void Validate(object? value, ValidationContext context)
{ {
if (value is TValue typedValue) if (value is not TValue typedValue)
{ {
if (min != null && max != null) return;
}
if (min != null && max != null)
{
if (Equals(min, max) && Equals(min.Value, max.Value))
{
context.AddError(T.Get("contents.validation.exactValue", new { value = max.Value }));
}
else if (typedValue.CompareTo(min.Value) < 0 || typedValue.CompareTo(max.Value) > 0)
{ {
if (Equals(min, max) && Equals(min.Value, max.Value)) context.AddError(T.Get("contents.validation.between", new { min, max }));
{
context.AddError(context.Path, T.Get("contents.validation.exactValue", new { value = max.Value }));
}
else if (typedValue.CompareTo(min.Value) < 0 || typedValue.CompareTo(max.Value) > 0)
{
context.AddError(context.Path, T.Get("contents.validation.between", new { min, max }));
}
} }
else }
else
{
if (min != null && typedValue.CompareTo(min.Value) < 0)
{
context.AddError(T.Get("contents.validation.min", new { min }));
}
if (max != null && typedValue.CompareTo(max.Value) > 0)
{ {
if (min != null && typedValue.CompareTo(min.Value) < 0) context.AddError(T.Get("contents.validation.max", new { max }));
{
context.AddError(context.Path, T.Get("contents.validation.min", new { min }));
}
if (max != null && typedValue.CompareTo(max.Value) > 0)
{
context.AddError(context.Path, T.Get("contents.validation.max", new { max }));
}
} }
} }
} }

6
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/ReferencesValidator.cs

@ -49,7 +49,7 @@ public sealed class ReferencesValidator : IValidator
context.Root.AddTask(ct => ValidateCoreAsync(value, context, ct)); context.Root.AddTask(ct => ValidateCoreAsync(value, context, ct));
} }
private async Task ValidateCoreAsync(object? value, ValidationContext context, private async ValueTask ValidateCoreAsync(object? value, ValidationContext context,
CancellationToken ct) CancellationToken ct)
{ {
var foundIds = new List<DomainId>(); var foundIds = new List<DomainId>();
@ -69,7 +69,7 @@ public sealed class ReferencesValidator : IValidator
{ {
if (context.Action == ValidationAction.Upsert) if (context.Action == ValidationAction.Upsert)
{ {
context.AddError(path, T.Get("contents.validation.referenceNotFound", new { id })); context.AddError(T.Get("contents.validation.referenceNotFound", new { id }), path);
} }
continue; continue;
@ -81,7 +81,7 @@ public sealed class ReferencesValidator : IValidator
{ {
if (context.Action == ValidationAction.Upsert) if (context.Action == ValidationAction.Upsert)
{ {
context.AddError(path, T.Get("contents.validation.referenceToInvalidSchema", new { id })); context.AddError(T.Get("contents.validation.referenceToInvalidSchema", new { id }), path);
} }
isValid = false; isValid = false;

2
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/RequiredStringValidator.cs

@ -20,7 +20,7 @@ public class RequiredStringValidator(bool validateEmptyStrings = false) : IValid
if (value.IsNullOrUndefined() || IsEmptyString(value)) if (value.IsNullOrUndefined() || IsEmptyString(value))
{ {
context.AddError(context.Path, T.Get("contents.validation.required")); context.AddError(T.Get("contents.validation.required"));
} }
} }

2
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/RequiredValidator.cs

@ -15,7 +15,7 @@ public class RequiredValidator : IValidator
{ {
if (value.IsNullOrUndefined() && !context.IsOptional) if (value.IsNullOrUndefined() && !context.IsOptional)
{ {
context.AddError(context.Path, T.Get("contents.validation.required")); context.AddError(T.Get("contents.validation.required"), context.Path);
} }
} }
} }

42
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/StringLengthValidator.cs

@ -28,30 +28,32 @@ public class StringLengthValidator : IValidator
public void Validate(object? value, ValidationContext context) public void Validate(object? value, ValidationContext context)
{ {
if (value is string stringValue && !string.IsNullOrEmpty(stringValue)) if (value is not string stringValue || string.IsNullOrEmpty(stringValue))
{ {
if (minLength != null && maxLength != null) return;
}
if (minLength != null && maxLength != null)
{
if (minLength == maxLength && minLength != stringValue.Length)
{
context.AddError(T.Get("contents.validation.characterCount", new { count = minLength }), context.Path);
}
else if (stringValue.Length < minLength || stringValue.Length > maxLength)
{ {
if (minLength == maxLength && minLength != stringValue.Length) context.AddError(T.Get("contents.validation.charactersBetween", new { min = minLength, max = maxLength }), context.Path);
{
context.AddError(context.Path, T.Get("contents.validation.characterCount", new { count = minLength }));
}
else if (stringValue.Length < minLength || stringValue.Length > maxLength)
{
context.AddError(context.Path, T.Get("contents.validation.charactersBetween", new { min = minLength, max = maxLength }));
}
} }
else }
else
{
if (minLength != null && stringValue.Length < minLength)
{
context.AddError(T.Get("contents.validation.minLength", new { min = minLength }), context.Path);
}
if (maxLength != null && stringValue.Length > maxLength)
{ {
if (minLength != null && stringValue.Length < minLength) context.AddError(T.Get("contents.validation.maxLength", new { max = maxLength }), context.Path);
{
context.AddError(context.Path, T.Get("contents.validation.minLength", new { min = minLength }));
}
if (maxLength != null && stringValue.Length > maxLength)
{
context.AddError(context.Path, T.Get("contents.validation.maxLength", new { max = maxLength }));
}
} }
} }
} }

96
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/StringTextValidator.cs

@ -44,68 +44,70 @@ public sealed class StringTextValidator : IValidator
public void Validate(object? value, ValidationContext context) public void Validate(object? value, ValidationContext context)
{ {
if (value is string stringValue && !string.IsNullOrEmpty(stringValue)) if (value is not string stringValue || string.IsNullOrEmpty(stringValue))
{ {
if (transform != null) return;
{ }
stringValue = transform(stringValue);
}
if (minWords != null || maxWords != null) if (transform != null)
{ {
var words = stringValue.WordCount(); stringValue = transform(stringValue);
}
if (minWords != null && maxWords != null) if (minWords != null || maxWords != null)
{
var words = stringValue.WordCount();
if (minWords != null && maxWords != null)
{
if (minWords == maxWords && minWords != words)
{
context.AddError(T.Get("contents.validation.wordCount", new { count = minWords }));
}
else if (words < minWords || words > maxWords)
{ {
if (minWords == maxWords && minWords != words) context.AddError(T.Get("contents.validation.wordsBetween", new { min = minWords, max = maxWords }));
{
context.AddError(context.Path, T.Get("contents.validation.wordCount", new { count = minWords }));
}
else if (words < minWords || words > maxWords)
{
context.AddError(context.Path, T.Get("contents.validation.wordsBetween", new { min = minWords, max = maxWords }));
}
} }
else }
else
{
if (words < minWords)
{ {
if (words < minWords) context.AddError(T.Get("contents.validation.minWords", new { min = minWords }));
{ }
context.AddError(context.Path, T.Get("contents.validation.minWords", new { min = minWords }));
}
if (words > maxWords) if (words > maxWords)
{ {
context.AddError(context.Path, T.Get("contents.validation.maxWords", new { max = maxWords })); context.AddError(T.Get("contents.validation.maxWords", new { max = maxWords }));
}
} }
} }
}
if (minCharacters != null || maxCharacters != null) if (minCharacters != null || maxCharacters != null)
{ {
var characters = stringValue.CharacterCount(); var characters = stringValue.CharacterCount();
if (minCharacters != null && maxCharacters != null) if (minCharacters != null && maxCharacters != null)
{
if (minCharacters == maxCharacters && minCharacters != characters)
{ {
if (minCharacters == maxCharacters && minCharacters != characters) context.AddError(T.Get("contents.validation.normalCharacterCount", new { count = minCharacters }));
{
context.AddError(context.Path, T.Get("contents.validation.normalCharacterCount", new { count = minCharacters }));
}
else if (characters < minCharacters || characters > maxCharacters)
{
context.AddError(context.Path, T.Get("contents.validation.normalCharactersBetween", new { min = minCharacters, max = maxCharacters }));
}
} }
else else if (characters < minCharacters || characters > maxCharacters)
{ {
if (characters < minCharacters) context.AddError(T.Get("contents.validation.normalCharactersBetween", new { min = minCharacters, max = maxCharacters }));
{ }
context.AddError(context.Path, T.Get("contents.validation.minNormalCharacters", new { min = minCharacters })); }
} else
{
if (characters < minCharacters)
{
context.AddError(T.Get("contents.validation.minNormalCharacters", new { min = minCharacters }), context.Path);
}
if (characters > maxCharacters) if (characters > maxCharacters)
{ {
context.AddError(context.Path, T.Get("contents.validation.maxCharacters", new { max = maxCharacters })); context.AddError(T.Get("contents.validation.maxCharacters", new { max = maxCharacters }), context.Path);
}
} }
} }
} }

2
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/UniqueObjectValuesValidator.cs

@ -37,7 +37,7 @@ public sealed class UniqueObjectValuesValidator(IEnumerable<string> fields) : IV
{ {
if (item.TryGetValue(field, out var fieldValue) && !duplicates.Add(fieldValue)) if (item.TryGetValue(field, out var fieldValue) && !duplicates.Add(fieldValue))
{ {
context.AddError(context.Path, T.Get("contents.validation.uniqueObjectValues", new { field })); context.AddError(T.Get("contents.validation.uniqueObjectValues", new { field }));
break; break;
} }
} }

4
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/UniqueValidator.cs

@ -42,14 +42,14 @@ public sealed class UniqueValidator(CheckUniqueness checkUniqueness) : IValidato
} }
} }
private async Task ValidateCoreAsync(ValidationContext context, FilterNode<ClrValue> filter, private async ValueTask ValidateCoreAsync(ValidationContext context, FilterNode<ClrValue> filter,
CancellationToken ct) CancellationToken ct)
{ {
var found = await checkUniqueness(filter, ct); var found = await checkUniqueness(filter, ct);
if (found.Any(x => x.Id != context.Root.ContentId)) if (found.Any(x => x.Id != context.Root.ContentId))
{ {
context.AddError(context.Path, T.Get("contents.validation.unique")); context.AddError(T.Get("contents.validation.unique"));
} }
} }

14
backend/src/Squidex.Domain.Apps.Core.Operations/ValidateContent/Validators/UniqueValuesValidator.cs

@ -13,14 +13,16 @@ public sealed class UniqueValuesValidator<TValue> : IValidator
{ {
public void Validate(object? value, ValidationContext context) public void Validate(object? value, ValidationContext context)
{ {
if (value is IEnumerable<TValue> items && items.Any()) if (value is not IEnumerable<TValue> items || !items.Any())
{ {
var itemsArray = items.ToArray(); return;
}
var itemsArray = items.ToArray();
if (itemsArray.Length != itemsArray.Distinct().Count()) if (itemsArray.Length != itemsArray.Distinct().Count())
{ {
context.AddError(context.Path, T.Get("contents.validation.duplicates")); context.AddError(T.Get("contents.validation.duplicates"));
}
} }
} }
} }

4
backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentDomainObject.cs

@ -249,7 +249,7 @@ public partial class ContentDomainObject(
if (!c.DoNotValidate) if (!c.DoNotValidate)
{ {
await operation.ValidateInputAsync(c.Data, c.OptimizeValidation, Snapshot.IsPublished, ct); await operation.ValidateInputAsync(c.Data, c.OptimizeValidation, Snapshot.IsPublished, null, ct);
} }
var status = await operation.GetInitialStatusAsync(); var status = await operation.GetInitialStatusAsync();
@ -322,7 +322,7 @@ public partial class ContentDomainObject(
if (!c.DoNotValidate) if (!c.DoNotValidate)
{ {
await operation.ValidateInputAsync(newData, c.OptimizeValidation, Snapshot.IsPublished, ct); await operation.ValidateInputAsync(newData, c.OptimizeValidation, Snapshot.IsPublished, Snapshot.EditingData, ct);
} }
if (!c.DoNotValidateWorkflow) if (!c.DoNotValidateWorkflow)

3
backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/ContentOperation.cs

@ -13,7 +13,8 @@ using Squidex.Infrastructure;
namespace Squidex.Domain.Apps.Entities.Contents.DomainObject; namespace Squidex.Domain.Apps.Entities.Contents.DomainObject;
public sealed class ContentOperation(IServiceProvider serviceProvider, Func<WriteContent> snapshot) : OperationContextBase<ContentCommand, WriteContent>(serviceProvider, snapshot) public sealed class ContentOperation(IServiceProvider serviceProvider, Func<WriteContent> snapshot)
: OperationContextBase<ContentCommand, WriteContent>(serviceProvider, snapshot)
{ {
public Schema Schema { get; init; } public Schema Schema { get; init; }

35
backend/src/Squidex.Domain.Apps.Entities/Contents/DomainObject/Guards/ValidationExtensions.cs

@ -48,10 +48,13 @@ public static class ValidationExtensions
} }
public static async Task ValidateInputAsync(this ContentOperation operation, public static async Task ValidateInputAsync(this ContentOperation operation,
ContentData data, bool optimize, bool published, ContentData data,
bool optimize,
bool published,
ContentData? previousData,
CancellationToken ct) CancellationToken ct)
{ {
var validator = GetValidator(operation, optimize, published); var validator = GetValidator(operation, optimize, published, previousData);
await validator.ValidateInputAsync(data, ct); await validator.ValidateInputAsync(data, ct);
@ -59,10 +62,12 @@ public static class ValidationExtensions
} }
public static async Task ValidateInputPartialAsync(this ContentOperation operation, public static async Task ValidateInputPartialAsync(this ContentOperation operation,
ContentData data, bool optimize, bool published, ContentData data,
bool optimize,
bool published,
CancellationToken ct) CancellationToken ct)
{ {
var validator = GetValidator(operation, optimize, published); var validator = GetValidator(operation, optimize, published, null);
await validator.ValidateInputPartialAsync(data, ct); await validator.ValidateInputPartialAsync(data, ct);
@ -70,10 +75,12 @@ public static class ValidationExtensions
} }
public static async Task ValidateContentAsync(this ContentOperation operation, public static async Task ValidateContentAsync(this ContentOperation operation,
ContentData data, bool optimize, bool published, ContentData data,
bool optimize,
bool published,
CancellationToken ct) CancellationToken ct)
{ {
var validator = GetValidator(operation, optimize, published); var validator = GetValidator(operation, optimize, published, null);
await validator.ValidateContentAsync(data, ct); await validator.ValidateContentAsync(data, ct);
@ -81,10 +88,12 @@ public static class ValidationExtensions
} }
public static async Task ValidateContentAndInputAsync(this ContentOperation operation, public static async Task ValidateContentAndInputAsync(this ContentOperation operation,
ContentData data, bool optimize, bool published, ContentData data,
bool optimize,
bool published,
CancellationToken ct) CancellationToken ct)
{ {
var validator = GetValidator(operation, optimize, published); var validator = GetValidator(operation, optimize, published, null);
await validator.ValidateInputAndContentAsync(data, ct); await validator.ValidateInputAndContentAsync(data, ct);
@ -128,7 +137,10 @@ public static class ValidationExtensions
} }
} }
private static ContentValidator GetValidator(this ContentOperation operation, bool optimize, bool published) private static ContentValidator GetValidator(this ContentOperation operation,
bool optimize,
bool published,
ContentData? previousData)
{ {
var rootContext = var rootContext =
new RootContext( new RootContext(
@ -136,7 +148,10 @@ public static class ValidationExtensions
operation.Schema, operation.Schema,
operation.CommandId, operation.CommandId,
operation.Components, operation.Components,
operation.Resolve<IJsonSerializer>()); operation.Resolve<IJsonSerializer>())
{
PreviousData = previousData
};
var validationContext = new ValidationContext(rootContext).Optimized(optimize).AsPublishing(published); var validationContext = new ValidationContext(rootContext).Optimized(optimize).AsPublishing(published);

2
backend/src/Squidex.Infrastructure/Tasks/Scheduler.cs

@ -8,7 +8,7 @@
namespace Squidex.Infrastructure.Tasks; namespace Squidex.Infrastructure.Tasks;
#pragma warning disable MA0048 // File name must match type name #pragma warning disable MA0048 // File name must match type name
public delegate Task SchedulerTask(CancellationToken ct); public delegate ValueTask SchedulerTask(CancellationToken ct);
#pragma warning restore MA0048 // File name must match type name #pragma warning restore MA0048 // File name must match type name
public sealed class Scheduler public sealed class Scheduler

3
backend/src/Squidex.Shared/Texts.fr.resx

@ -544,6 +544,9 @@
<data name="contents.validation.charactersBetween" xml:space="preserve"> <data name="contents.validation.charactersBetween" xml:space="preserve">
<value>Doit contenir entre {min} et {max} caractère(s).</value> <value>Doit contenir entre {min} et {max} caractère(s).</value>
</data> </data>
<data name="contents.validation.createOnly" xml:space="preserve">
<value>Field cannot be changed after creation.</value>
</data>
<data name="contents.validation.duplicates" xml:space="preserve"> <data name="contents.validation.duplicates" xml:space="preserve">
<value>Ne doit pas contenir de valeurs en double.</value> <value>Ne doit pas contenir de valeurs en double.</value>
</data> </data>

3
backend/src/Squidex.Shared/Texts.it.resx

@ -544,6 +544,9 @@
<data name="contents.validation.charactersBetween" xml:space="preserve"> <data name="contents.validation.charactersBetween" xml:space="preserve">
<value>Deve essere tra {min} e {max} carattere(i).</value> <value>Deve essere tra {min} e {max} carattere(i).</value>
</data> </data>
<data name="contents.validation.createOnly" xml:space="preserve">
<value>Field cannot be changed after creation.</value>
</data>
<data name="contents.validation.duplicates" xml:space="preserve"> <data name="contents.validation.duplicates" xml:space="preserve">
<value>Non può avere valori duplicati.</value> <value>Non può avere valori duplicati.</value>
</data> </data>

3
backend/src/Squidex.Shared/Texts.nl.resx

@ -544,6 +544,9 @@
<data name="contents.validation.charactersBetween" xml:space="preserve"> <data name="contents.validation.charactersBetween" xml:space="preserve">
<value>Moet tussen {min} en {max} teken (s) bevatten.</value> <value>Moet tussen {min} en {max} teken (s) bevatten.</value>
</data> </data>
<data name="contents.validation.createOnly" xml:space="preserve">
<value>Field cannot be changed after creation.</value>
</data>
<data name="contents.validation.duplicates" xml:space="preserve"> <data name="contents.validation.duplicates" xml:space="preserve">
<value>Mag geen dubbele waarden bevatten.</value> <value>Mag geen dubbele waarden bevatten.</value>
</data> </data>

3
backend/src/Squidex.Shared/Texts.pt.resx

@ -544,6 +544,9 @@
<data name="contents.validation.charactersBetween" xml:space="preserve"> <data name="contents.validation.charactersBetween" xml:space="preserve">
<value>Deve ter entre {min} e {max} caractere(es).</value> <value>Deve ter entre {min} e {max} caractere(es).</value>
</data> </data>
<data name="contents.validation.createOnly" xml:space="preserve">
<value>Field cannot be changed after creation.</value>
</data>
<data name="contents.validation.duplicates" xml:space="preserve"> <data name="contents.validation.duplicates" xml:space="preserve">
<value>Não pode ter duplicados.</value> <value>Não pode ter duplicados.</value>
</data> </data>

3
backend/src/Squidex.Shared/Texts.resx

@ -544,6 +544,9 @@
<data name="contents.validation.charactersBetween" xml:space="preserve"> <data name="contents.validation.charactersBetween" xml:space="preserve">
<value>Must have between {min} and {max} character(s).</value> <value>Must have between {min} and {max} character(s).</value>
</data> </data>
<data name="contents.validation.createOnly" xml:space="preserve">
<value>Field cannot be changed after creation.</value>
</data>
<data name="contents.validation.duplicates" xml:space="preserve"> <data name="contents.validation.duplicates" xml:space="preserve">
<value>Must not contain duplicate values.</value> <value>Must not contain duplicate values.</value>
</data> </data>

3
backend/src/Squidex.Shared/Texts.zh.resx

@ -544,6 +544,9 @@
<data name="contents.validation.charactersBetween" xml:space="preserve"> <data name="contents.validation.charactersBetween" xml:space="preserve">
<value>必须在 {min} 到 {max} 个字符之间。</value> <value>必须在 {min} 到 {max} 个字符之间。</value>
</data> </data>
<data name="contents.validation.createOnly" xml:space="preserve">
<value>Field cannot be changed after creation.</value>
</data>
<data name="contents.validation.duplicates" xml:space="preserve"> <data name="contents.validation.duplicates" xml:space="preserve">
<value>不得包含重复值。</value> <value>不得包含重复值。</value>
</data> </data>

5
backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/FieldPropertiesDto.cs

@ -48,6 +48,11 @@ public abstract class FieldPropertiesDto
/// </summary> /// </summary>
public bool IsHalfWidth { get; set; } public bool IsHalfWidth { get; set; }
/// <summary>
/// Indicates if the field can only be created and not modified.
/// </summary>
public bool IsCreateOnly { get; set; }
/// <summary> /// <summary>
/// Optional url to the editor. /// Optional url to the editor.
/// </summary> /// </summary>

372
backend/src/Squidex/wwwroot/editor/squidex-editor.js

File diff suppressed because one or more lines are too long

40
backend/tests/Squidex.Domain.Apps.Core.Tests/Model/Schemas/Schema.json

@ -28,7 +28,8 @@
"editor": "Input", "editor": "Input",
"isRequired": true, "isRequired": true,
"isRequiredOnPublish": true, "isRequiredOnPublish": true,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -52,7 +53,8 @@
], ],
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -72,7 +74,8 @@
"editor": "Checkbox", "editor": "Checkbox",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -90,7 +93,8 @@
], ],
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -109,7 +113,8 @@
], ],
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -126,7 +131,8 @@
"editor": "DateTime", "editor": "DateTime",
"isRequired": true, "isRequired": true,
"isRequiredOnPublish": true, "isRequiredOnPublish": true,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -141,7 +147,8 @@
"editor": "Map", "editor": "Map",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": true "isHalfWidth": true,
"isCreateOnly": false
} }
}, },
{ {
@ -155,7 +162,8 @@
"$type": "JsonField", "$type": "JsonField",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -173,6 +181,7 @@
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false, "isHalfWidth": false,
"isCreateOnly": false,
"tags": [ "tags": [
"1", "1",
"2", "2",
@ -199,7 +208,8 @@
], ],
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -228,7 +238,8 @@
"normalization": "None", "normalization": "None",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -243,7 +254,8 @@
"calculatedDefaultValue": "EmptyArray", "calculatedDefaultValue": "EmptyArray",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
}, },
"children": [ "children": [
{ {
@ -262,7 +274,8 @@
"editor": "Input", "editor": "Input",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
} }
] ]
@ -279,7 +292,8 @@
"editor": "Separator", "editor": "Separator",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": true
} }
} }
], ],

40
backend/tests/Squidex.Domain.Apps.Core.Tests/Model/Schemas/Schema_Old.json

@ -63,7 +63,8 @@
"editor": "Input", "editor": "Input",
"isRequired": true, "isRequired": true,
"isRequiredOnPublish": true, "isRequiredOnPublish": true,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -87,7 +88,8 @@
], ],
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -107,7 +109,8 @@
"editor": "Checkbox", "editor": "Checkbox",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -125,7 +128,8 @@
], ],
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -144,7 +148,8 @@
], ],
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -161,7 +166,8 @@
"editor": "DateTime", "editor": "DateTime",
"isRequired": true, "isRequired": true,
"isRequiredOnPublish": true, "isRequiredOnPublish": true,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -176,7 +182,8 @@
"editor": "Map", "editor": "Map",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": true "isHalfWidth": true,
"isCreateOnly": false
} }
}, },
{ {
@ -190,7 +197,8 @@
"$type": "JsonField", "$type": "JsonField",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -208,6 +216,7 @@
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false, "isHalfWidth": false,
"isCreateOnly": false,
"tags": [ "tags": [
"1", "1",
"2", "2",
@ -234,7 +243,8 @@
], ],
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -263,7 +273,8 @@
"normalization": "None", "normalization": "None",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
}, },
{ {
@ -278,7 +289,8 @@
"calculatedDefaultValue": "EmptyArray", "calculatedDefaultValue": "EmptyArray",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
}, },
"children": [ "children": [
{ {
@ -297,7 +309,8 @@
"editor": "Input", "editor": "Input",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": false
} }
} }
] ]
@ -314,7 +327,8 @@
"editor": "Separator", "editor": "Separator",
"isRequired": false, "isRequired": false,
"isRequiredOnPublish": false, "isRequiredOnPublish": false,
"isHalfWidth": false "isHalfWidth": false,
"isCreateOnly": true
} }
} }
], ],

2
backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/Scripting/ScriptingCompleterTests.cs

@ -179,6 +179,8 @@ public class ScriptingCompleterTests
AssertCompletion(actual, AssertCompletion(actual,
new[] new[]
{ {
"ctx",
"ctx.action",
"data", "data",
"data['my-field']", "data['my-field']",
"data['my-field'].iv", "data['my-field'].iv",

2
backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/ArrayFieldTests.cs

@ -79,7 +79,6 @@ public class ArrayFieldTests : IClassFixture<TranslationsFixture>
public async Task Should_add_error_if_items_are_required_and_empty() public async Task Should_add_error_if_items_are_required_and_empty()
{ {
var sut = Field(new ArrayFieldProperties { IsRequired = true }); var sut = Field(new ArrayFieldProperties { IsRequired = true });
await sut.ValidateAsync(CreateValue(), errors); await sut.ValidateAsync(CreateValue(), errors);
errors.Should().BeEquivalentTo( errors.Should().BeEquivalentTo(
@ -90,7 +89,6 @@ public class ArrayFieldTests : IClassFixture<TranslationsFixture>
public async Task Should_add_error_if_value_is_not_valid() public async Task Should_add_error_if_value_is_not_valid()
{ {
var sut = Field(new ArrayFieldProperties()); var sut = Field(new ArrayFieldProperties());
await sut.ValidateAsync(JsonValue.Create("invalid"), errors); await sut.ValidateAsync(JsonValue.Create("invalid"), errors);
errors.Should().BeEquivalentTo( errors.Should().BeEquivalentTo(

44
backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/ContentValidationTests.cs

@ -521,4 +521,48 @@ public class ContentValidationTests : IClassFixture<TranslationsFixture>
new ValidationError("Field is required.", "myField.iv"), new ValidationError("Field is required.", "myField.iv"),
]); ]);
} }
[Fact]
public async Task Should_not_allow_changed_fields()
{
schema = schema.AddString(1, "myField1", Partitioning.Invariant,
new StringFieldProperties { IsCreateOnly = true });
schema = schema.AddString(2, "myField2", Partitioning.Invariant,
new StringFieldProperties { IsCreateOnly = true });
schema = schema.AddString(3, "myField3", Partitioning.Invariant,
new StringFieldProperties());
var data =
new ContentData()
.AddField("myField1",
new ContentFieldData()
.AddInvariant("Value1_0"))
.AddField("myField2",
new ContentFieldData()
.AddInvariant("Value2_0"))
.AddField("myField3",
new ContentFieldData()
.AddInvariant("Value3_0"));
var previousData =
new ContentData()
.AddField("myField1",
new ContentFieldData()
.AddInvariant("Value1_1"))
.AddField("myField2",
new ContentFieldData()
.AddInvariant("Value2_0"))
.AddField("myField3",
new ContentFieldData()
.AddInvariant("Value3_0"));
await data.ValidateAsync(languages.ToResolver(), errors, schema, previousData: previousData);
errors.Should().BeEquivalentTo(
[
new ValidationError("Field cannot be changed after creation.", "myField1.iv"),
]);
}
} }

48
backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/ValidationTestExtensions.cs

@ -25,15 +25,18 @@ public static class ValidationTestExtensions
private static readonly NamedId<DomainId> AppId = NamedId.Of(DomainId.NewGuid(), "my-app"); private static readonly NamedId<DomainId> AppId = NamedId.Of(DomainId.NewGuid(), "my-app");
private static readonly NamedId<DomainId> SchemaId = NamedId.Of(DomainId.NewGuid(), "my-schema"); private static readonly NamedId<DomainId> SchemaId = NamedId.Of(DomainId.NewGuid(), "my-schema");
public static async ValueTask ValidateAsync(this IValidator validator, object? value, IList<string> errors, public static async ValueTask ValidateAsync(this IValidator validator,
object? value,
IList<string> errors,
Schema? schema = null, Schema? schema = null,
ValidationMode mode = ValidationMode.Default, ValidationMode mode = ValidationMode.Default,
ValidationUpdater? updater = null, ValidationUpdater? updater = null,
ValidationAction action = ValidationAction.Upsert, ValidationAction action = ValidationAction.Upsert,
ResolvedComponents? components = null, ResolvedComponents? components = null,
DomainId? contentId = null) DomainId? contentId = null,
ContentData? previousData = null)
{ {
var context = CreateContext(schema, mode, updater, action, components, contentId); var context = CreateContext(schema, mode, updater, action, components, contentId, previousData);
validator.Validate(value, context); validator.Validate(value, context);
@ -42,16 +45,19 @@ public static class ValidationTestExtensions
AddErrors(context.Root, errors); AddErrors(context.Root, errors);
} }
public static async ValueTask ValidateAsync(this IField field, object? value, IList<string> errors, public static async ValueTask ValidateAsync(this IField field,
object? value,
IList<string> errors,
Schema? schema = null, Schema? schema = null,
ValidationMode mode = ValidationMode.Default, ValidationMode mode = ValidationMode.Default,
ValidationUpdater? updater = null, ValidationUpdater? updater = null,
IValidatorsFactory? factory = null, IValidatorsFactory? factory = null,
ValidationAction action = ValidationAction.Upsert, ValidationAction action = ValidationAction.Upsert,
ResolvedComponents? components = null, ResolvedComponents? components = null,
DomainId? contentId = null) DomainId? contentId = null,
ContentData? previousData = null)
{ {
var context = CreateContext(schema, mode, updater, action, components, contentId); var context = CreateContext(schema, mode, updater, action, components, contentId, previousData);
new ValidatorBuilder(factory, context).ValueValidator(field) new ValidatorBuilder(factory, context).ValueValidator(field)
.Validate(value, context); .Validate(value, context);
@ -61,16 +67,19 @@ public static class ValidationTestExtensions
AddErrors(context.Root, errors); AddErrors(context.Root, errors);
} }
public static async Task ValidatePartialAsync(this ContentData data, PartitionResolver partitionResolver, IList<ValidationError> errors, public static async Task ValidatePartialAsync(this ContentData data,
PartitionResolver partitionResolver,
IList<ValidationError> errors,
Schema? schema = null, Schema? schema = null,
ValidationMode mode = ValidationMode.Default, ValidationMode mode = ValidationMode.Default,
ValidationUpdater? updater = null, ValidationUpdater? updater = null,
IValidatorsFactory? factory = null, IValidatorsFactory? factory = null,
ValidationAction action = ValidationAction.Upsert, ValidationAction action = ValidationAction.Upsert,
ResolvedComponents? components = null, ResolvedComponents? components = null,
DomainId? contentId = null) DomainId? contentId = null,
ContentData? previousData = null)
{ {
var context = CreateContext(schema, mode, updater, action, components, contentId); var context = CreateContext(schema, mode, updater, action, components, contentId, previousData);
await new ValidatorBuilder(factory, context).ContentValidator(partitionResolver) await new ValidatorBuilder(factory, context).ContentValidator(partitionResolver)
.ValidateInputPartialAsync(data); .ValidateInputPartialAsync(data);
@ -78,16 +87,19 @@ public static class ValidationTestExtensions
errors.AddRange(context.Root.Errors); errors.AddRange(context.Root.Errors);
} }
public static async Task ValidateAsync(this ContentData data, PartitionResolver partitionResolver, IList<ValidationError> errors, public static async Task ValidateAsync(this ContentData data,
PartitionResolver partitionResolver,
IList<ValidationError> errors,
Schema? schema = null, Schema? schema = null,
ValidationMode mode = ValidationMode.Default, ValidationMode mode = ValidationMode.Default,
ValidationUpdater? updater = null, ValidationUpdater? updater = null,
IValidatorsFactory? factory = null, IValidatorsFactory? factory = null,
ValidationAction action = ValidationAction.Upsert, ValidationAction action = ValidationAction.Upsert,
ResolvedComponents? components = null, ResolvedComponents? components = null,
DomainId? contentId = null) DomainId? contentId = null,
ContentData? previousData = null)
{ {
var context = CreateContext(schema, mode, updater, action, components, contentId); var context = CreateContext(schema, mode, updater, action, components, contentId, previousData);
await new ValidatorBuilder(factory, context).ContentValidator(partitionResolver) await new ValidatorBuilder(factory, context).ContentValidator(partitionResolver)
.ValidateInputAsync(data); .ValidateInputAsync(data);
@ -116,9 +128,10 @@ public static class ValidationTestExtensions
Schema? schema, Schema? schema,
ValidationMode mode, ValidationMode mode,
ValidationUpdater? updater, ValidationUpdater? updater,
ValidationAction action = ValidationAction.Upsert, ValidationAction action,
ResolvedComponents? components = null, ResolvedComponents? components,
DomainId? contentId = null) DomainId? contentId,
ContentData? previousData)
{ {
schema ??= new Schema(); schema ??= new Schema();
@ -127,7 +140,10 @@ public static class ValidationTestExtensions
schema with { Id = SchemaId.Id, Name = SchemaId.Name }, schema with { Id = SchemaId.Id, Name = SchemaId.Name },
contentId ?? DomainId.NewGuid(), contentId ?? DomainId.NewGuid(),
components ?? ResolvedComponents.Empty, components ?? ResolvedComponents.Empty,
TestUtils.DefaultSerializer); TestUtils.DefaultSerializer)
{
PreviousData = previousData
};
var context = var context =
new ValidationContext(rootContext) new ValidationContext(rootContext)

2
backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/Validators/AllowedValuesValidatorTests.cs

@ -44,4 +44,4 @@ public class AllowedValuesValidatorTests : IClassFixture<TranslationsFixture>
errors.Should().BeEquivalentTo( errors.Should().BeEquivalentTo(
["Not an allowed value."]); ["Not an allowed value."]);
} }
} }

144
backend/tests/Squidex.Domain.Apps.Core.Tests/Operations/ValidateContent/Validators/NotChangedValidatorTests.cs

@ -0,0 +1,144 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschraenkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
using Squidex.Domain.Apps.Core.Contents;
using Squidex.Domain.Apps.Core.Schemas;
using Squidex.Domain.Apps.Core.TestHelpers;
using Squidex.Domain.Apps.Core.ValidateContent.Validators;
namespace Squidex.Domain.Apps.Core.Operations.ValidateContent.Validators;
public class NotChangedValidatorTests : IClassFixture<TranslationsFixture>
{
private readonly IRootField field =
Fields.String(1, "myField", Partitioning.Invariant,
new StringFieldProperties { IsCreateOnly = true });
private readonly List<string> errors = [];
[Fact]
public async Task Should_not_add_error_if_value_is_wrong_type()
{
var sut = new NotChangedValidator(field, []);
await sut.ValidateAsync(true, errors);
Assert.Empty(errors);
}
[Fact]
public async Task Should_not_add_error_if_values_are_the_same()
{
var previousData =
new ContentData()
.AddField("myField",
new ContentFieldData()
.AddInvariant("Value1"));
var newData =
new ContentFieldData()
.AddInvariant("Value1");
var sut = new NotChangedValidator(field, previousData);
await sut.ValidateAsync(newData, errors);
Assert.Empty(errors);
}
[Fact]
public async Task Should_add_error_if_values_differ()
{
var previousData =
new ContentData()
.AddField("myField",
new ContentFieldData()
.AddInvariant("Value1"));
var newData =
new ContentFieldData()
.AddInvariant("Value2");
var sut = new NotChangedValidator(field, previousData);
await sut.ValidateAsync(newData, errors);
errors.Should().BeEquivalentTo(
["iv: Field cannot be changed after creation."]);
}
[Fact]
public async Task Should_add_error_if_values_differ_as_new_data_does_not_have_field()
{
var previousData =
new ContentData()
.AddField("myField",
new ContentFieldData()
.AddInvariant("Value1"));
var newData =
new ContentFieldData();
var sut = new NotChangedValidator(field, previousData);
await sut.ValidateAsync(newData, errors);
errors.Should().BeEquivalentTo(
["iv: Field cannot be changed after creation."]);
}
[Fact]
public async Task Should_add_error_if_values_differ_as_new_data_is_null()
{
var previousData =
new ContentData()
.AddField("myField",
new ContentFieldData()
.AddInvariant("Value1"));
var sut = new NotChangedValidator(field, previousData);
await sut.ValidateAsync(null, errors);
errors.Should().BeEquivalentTo(
["iv: Field cannot be changed after creation."]);
}
[Fact]
public async Task Should_add_error_if_values_differ_as_previous_data_does_not_have_field()
{
var newData =
new ContentFieldData()
.AddInvariant("Value2");
var sut = new NotChangedValidator(field, []);
await sut.ValidateAsync(newData, errors);
errors.Should().BeEquivalentTo(
["iv: Field cannot be changed after creation."]);
}
[Fact]
public async Task Should_add_error_if_values_differ_as_previous_data_does_not_have_value()
{
var previousData =
new ContentData()
.AddField("myField", []);
var newData =
new ContentFieldData()
.AddInvariant("Value2");
var sut = new NotChangedValidator(field, []);
await sut.ValidateAsync(newData, errors);
errors.Should().BeEquivalentTo(
["iv: Field cannot be changed after creation."]);
}
}

39
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.Add_should_create_events_and_add_field.verified.txt

@ -16,7 +16,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -27,7 +28,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -50,7 +52,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -61,7 +64,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -84,7 +88,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -95,7 +100,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -124,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -135,7 +142,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -158,7 +166,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -169,7 +178,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -192,7 +202,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -203,7 +214,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -243,7 +255,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
FieldId: 1,age, FieldId: 1,age,
SchemaId: Guid_2,my-schema, SchemaId: Guid_2,my-schema,

255
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.Add_should_create_events_and_add_field_to_array.verified.txt

@ -18,7 +18,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -29,7 +30,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -49,7 +51,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -60,7 +63,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -80,7 +84,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -91,7 +96,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -112,7 +118,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -123,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -143,7 +151,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -154,7 +163,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -174,7 +184,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -185,7 +196,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -198,12 +210,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -228,7 +242,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -239,7 +254,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -259,7 +275,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -270,7 +287,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -290,7 +308,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -301,7 +320,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -322,7 +342,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -333,7 +354,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -353,7 +375,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -364,7 +387,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -384,7 +408,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -395,7 +420,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -408,12 +434,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -438,7 +466,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -449,7 +478,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -469,7 +499,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -480,7 +511,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -500,7 +532,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -511,7 +544,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -532,7 +566,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -543,7 +578,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -563,7 +599,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -574,7 +611,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -594,7 +632,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -605,7 +644,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -618,12 +658,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -654,7 +696,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -665,7 +708,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -685,7 +729,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -696,7 +741,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -716,7 +762,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -727,7 +774,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -748,7 +796,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -759,7 +808,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -779,7 +829,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -790,7 +841,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -810,7 +862,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -821,7 +874,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -834,12 +888,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -864,7 +920,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -875,7 +932,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -895,7 +953,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -906,7 +965,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -926,7 +986,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -937,7 +998,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -958,7 +1020,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -969,7 +1032,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -989,7 +1053,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1000,7 +1065,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1020,7 +1086,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1031,7 +1098,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1044,12 +1112,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -1074,7 +1144,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1085,7 +1156,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1105,7 +1177,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1116,7 +1189,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1136,7 +1210,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1147,7 +1222,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1168,7 +1244,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1179,7 +1256,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1199,7 +1277,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1210,7 +1289,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1230,7 +1310,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1241,7 +1322,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1254,12 +1336,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -1299,7 +1383,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
FieldId: 2,age, FieldId: 2,age,
ParentFieldId: 1,array, ParentFieldId: 1,array,

36
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.ConfigureUIFields_should_create_events_for_list_fields_and_update_schema.verified.txt

@ -16,7 +16,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -27,7 +28,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -50,7 +52,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -61,7 +64,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -84,7 +88,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -95,7 +100,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -127,7 +133,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -138,7 +145,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -161,7 +169,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -172,7 +181,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -195,7 +205,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -206,7 +217,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,

36
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.ConfigureUIFields_should_create_events_for_reference_fields_and_update_schema.verified.txt

@ -16,7 +16,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -27,7 +28,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -50,7 +52,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -61,7 +64,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -84,7 +88,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -95,7 +100,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -127,7 +133,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -138,7 +145,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -161,7 +169,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -172,7 +181,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -195,7 +205,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -206,7 +217,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,

1080
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.Create_should_create_events_and_schema_with_initial_fields.verified.txt

File diff suppressed because it is too large

36
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.DeleteField_should_create_events_and_delete_nested_field.verified.txt

@ -11,12 +11,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -34,12 +36,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -57,12 +61,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -86,12 +92,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -109,12 +117,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -132,12 +142,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,

36
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.DisableField_should_create_events_and_update_field_disabled_flag.verified.txt

@ -16,7 +16,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -27,7 +28,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -50,7 +52,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -61,7 +64,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -84,7 +88,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -95,7 +100,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -124,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -135,7 +142,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -158,7 +166,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -169,7 +178,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -192,7 +202,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -203,7 +214,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,

252
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.DisableField_should_create_events_and_update_nested_field_disabled_flag.verified.txt

@ -18,7 +18,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -29,7 +30,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -49,7 +51,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -60,7 +63,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -80,7 +84,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -91,7 +96,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -112,7 +118,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -123,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -143,7 +151,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -154,7 +163,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -174,7 +184,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -185,7 +196,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -198,12 +210,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -228,7 +242,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -239,7 +254,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -259,7 +275,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -270,7 +287,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -290,7 +308,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -301,7 +320,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -322,7 +342,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -333,7 +354,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -353,7 +375,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -364,7 +387,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -384,7 +408,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -395,7 +420,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -408,12 +434,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -438,7 +466,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -449,7 +478,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -469,7 +499,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -480,7 +511,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -500,7 +532,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -511,7 +544,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -532,7 +566,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -543,7 +578,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -563,7 +599,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -574,7 +611,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -594,7 +632,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -605,7 +644,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -618,12 +658,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -654,7 +696,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -665,7 +708,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -685,7 +729,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -696,7 +741,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -716,7 +762,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -727,7 +774,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -748,7 +796,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -759,7 +808,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -779,7 +829,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -790,7 +841,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -810,7 +862,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -821,7 +874,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -834,12 +888,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -864,7 +920,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -875,7 +932,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -895,7 +953,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -906,7 +965,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -926,7 +986,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -937,7 +998,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -958,7 +1020,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -969,7 +1032,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -989,7 +1053,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1000,7 +1065,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1020,7 +1086,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1031,7 +1098,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1044,12 +1112,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -1074,7 +1144,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1085,7 +1156,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1105,7 +1177,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1116,7 +1189,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1136,7 +1210,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1147,7 +1222,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1168,7 +1244,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1179,7 +1256,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1199,7 +1277,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1210,7 +1289,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1230,7 +1310,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1241,7 +1322,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1254,12 +1336,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,

36
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.EnableField_should_create_events_and_update_field_disabled_flag.verified.txt

@ -16,7 +16,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -27,7 +28,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -50,7 +52,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -61,7 +64,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -84,7 +88,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -95,7 +100,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -124,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -135,7 +142,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -158,7 +166,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -169,7 +178,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -192,7 +202,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -203,7 +214,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,

252
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.EnableField_should_create_events_and_update_nested_field_disabled_flag.verified.txt

@ -18,7 +18,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -29,7 +30,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -49,7 +51,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -60,7 +63,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -80,7 +84,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -91,7 +96,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -112,7 +118,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -123,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -143,7 +151,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -154,7 +163,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -174,7 +184,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -185,7 +196,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -198,12 +210,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -228,7 +242,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -239,7 +254,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -259,7 +275,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -270,7 +287,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -290,7 +308,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -301,7 +320,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -322,7 +342,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -333,7 +354,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -353,7 +375,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -364,7 +387,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -384,7 +408,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -395,7 +420,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -408,12 +434,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -438,7 +466,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -449,7 +478,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -469,7 +499,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -480,7 +511,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -500,7 +532,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -511,7 +544,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -532,7 +566,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -543,7 +578,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -563,7 +599,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -574,7 +611,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -594,7 +632,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -605,7 +644,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -618,12 +658,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -654,7 +696,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -665,7 +708,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -685,7 +729,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -696,7 +741,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -716,7 +762,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -727,7 +774,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -748,7 +796,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -759,7 +808,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -779,7 +829,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -790,7 +841,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -810,7 +862,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -821,7 +874,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -834,12 +888,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -864,7 +920,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -875,7 +932,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -895,7 +953,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -906,7 +965,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -926,7 +986,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -937,7 +998,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -958,7 +1020,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -969,7 +1032,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -989,7 +1053,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1000,7 +1065,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1020,7 +1086,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1031,7 +1098,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1044,12 +1112,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -1074,7 +1144,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1085,7 +1156,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1105,7 +1177,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1116,7 +1189,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1136,7 +1210,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1147,7 +1222,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1168,7 +1244,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1179,7 +1256,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1199,7 +1277,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1210,7 +1289,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1230,7 +1310,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1241,7 +1322,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1254,12 +1336,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,

36
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.HideField_should_create_events_and_update_field_hidden_flag.verified.txt

@ -16,7 +16,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -27,7 +28,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -50,7 +52,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -61,7 +64,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -84,7 +88,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -95,7 +100,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -124,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -135,7 +142,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -158,7 +166,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -169,7 +178,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -192,7 +202,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -203,7 +214,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,

252
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.HideField_should_create_events_and_update_nested_field_hidden_flag.verified.txt

@ -18,7 +18,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -29,7 +30,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -49,7 +51,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -60,7 +63,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -80,7 +84,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -91,7 +96,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -112,7 +118,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -123,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -143,7 +151,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -154,7 +163,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -174,7 +184,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -185,7 +196,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -198,12 +210,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -228,7 +242,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -239,7 +254,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -259,7 +275,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -270,7 +287,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -290,7 +308,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -301,7 +320,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -322,7 +342,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -333,7 +354,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -353,7 +375,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -364,7 +387,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -384,7 +408,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -395,7 +420,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -408,12 +434,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -438,7 +466,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -449,7 +478,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -469,7 +499,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -480,7 +511,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -500,7 +532,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -511,7 +544,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -532,7 +566,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -543,7 +578,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -563,7 +599,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -574,7 +611,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -594,7 +632,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -605,7 +644,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -618,12 +658,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -654,7 +696,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -665,7 +708,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -685,7 +729,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -696,7 +741,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -716,7 +762,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -727,7 +774,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -748,7 +796,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -759,7 +808,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -779,7 +829,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -790,7 +841,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -810,7 +862,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -821,7 +874,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -834,12 +888,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -864,7 +920,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -875,7 +932,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -895,7 +953,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -906,7 +965,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -926,7 +986,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -937,7 +998,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -958,7 +1020,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -969,7 +1032,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -989,7 +1053,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1000,7 +1065,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1020,7 +1086,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1031,7 +1098,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1044,12 +1112,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -1074,7 +1144,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1085,7 +1156,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1105,7 +1177,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1116,7 +1189,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1136,7 +1210,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1147,7 +1222,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1168,7 +1244,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1179,7 +1256,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1199,7 +1277,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1210,7 +1289,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1230,7 +1310,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1241,7 +1322,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1254,12 +1336,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,

36
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.LockField_should_create_events_and_update_field_locked_flag.verified.txt

@ -16,7 +16,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -27,7 +28,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -50,7 +52,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -61,7 +64,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -84,7 +88,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -95,7 +100,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -124,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -135,7 +142,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -158,7 +166,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -169,7 +178,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -192,7 +202,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -203,7 +214,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,

252
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.LockField_should_create_events_and_update_nested_field_locked_flag.verified.txt

@ -18,7 +18,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -29,7 +30,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -49,7 +51,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -60,7 +63,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -80,7 +84,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -91,7 +96,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -112,7 +118,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -123,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -143,7 +151,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -154,7 +163,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -174,7 +184,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -185,7 +196,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -198,12 +210,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -228,7 +242,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -239,7 +254,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -259,7 +275,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -270,7 +287,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -290,7 +308,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -301,7 +320,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -322,7 +342,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -333,7 +354,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -353,7 +375,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -364,7 +387,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -384,7 +408,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -395,7 +420,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -408,12 +434,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -438,7 +466,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -449,7 +478,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -469,7 +499,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -480,7 +511,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -500,7 +532,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -511,7 +544,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -532,7 +566,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -543,7 +578,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -563,7 +599,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -574,7 +611,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -594,7 +632,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -605,7 +644,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -618,12 +658,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -654,7 +696,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -665,7 +708,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -685,7 +729,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -696,7 +741,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -716,7 +762,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -727,7 +774,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -748,7 +796,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -759,7 +808,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -779,7 +829,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -790,7 +841,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -810,7 +862,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -821,7 +874,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -834,12 +888,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -864,7 +920,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -875,7 +932,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -895,7 +953,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -906,7 +965,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -926,7 +986,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -937,7 +998,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -958,7 +1020,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -969,7 +1032,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -989,7 +1053,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1000,7 +1065,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1020,7 +1086,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1031,7 +1098,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1044,12 +1112,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -1074,7 +1144,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1085,7 +1156,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1105,7 +1177,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1116,7 +1189,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1136,7 +1210,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1147,7 +1222,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1168,7 +1244,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1179,7 +1256,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1199,7 +1277,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1210,7 +1289,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1230,7 +1310,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1241,7 +1322,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1254,12 +1336,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,

72
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.Reorder_should_create_events_and_reorder_fields.verified.txt

@ -16,7 +16,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -27,7 +28,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: field2, Name: field2,
@ -48,7 +50,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -59,7 +62,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: field1, Name: field1,
@ -82,7 +86,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -93,7 +98,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: field1, Name: field1,
@ -114,7 +120,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -125,7 +132,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: field2, Name: field2,
@ -148,7 +156,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -159,7 +168,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: field1, Name: field1,
@ -180,7 +190,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -191,7 +202,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: field2, Name: field2,
@ -220,7 +232,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -231,7 +244,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: field2, Name: field2,
@ -252,7 +266,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -263,7 +278,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: field1, Name: field1,
@ -286,7 +302,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -297,7 +314,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: field1, Name: field1,
@ -318,7 +336,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -329,7 +348,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: field2, Name: field2,
@ -352,7 +372,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -363,7 +384,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: field1, Name: field1,
@ -384,7 +406,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -395,7 +418,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: field2, Name: field2,

468
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.Reorder_should_create_events_and_reorder_nestedy_fields.verified.txt

File diff suppressed because it is too large

36
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.ShowField_should_create_events_and_update_field_hidden_flag.verified.txt

@ -16,7 +16,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -27,7 +28,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -50,7 +52,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -61,7 +64,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -84,7 +88,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -95,7 +100,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -124,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -135,7 +142,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -158,7 +166,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -169,7 +178,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -192,7 +202,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -203,7 +214,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,

252
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.ShowField_should_create_events_and_update_nested_field_hidden_flag.verified.txt

@ -18,7 +18,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -29,7 +30,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -49,7 +51,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -60,7 +63,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -80,7 +84,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -91,7 +96,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -112,7 +118,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -123,7 +130,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -143,7 +151,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -154,7 +163,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -174,7 +184,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -185,7 +196,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -198,12 +210,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -228,7 +242,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -239,7 +254,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -259,7 +275,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -270,7 +287,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -290,7 +308,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -301,7 +320,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -322,7 +342,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -333,7 +354,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -353,7 +375,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -364,7 +387,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -384,7 +408,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -395,7 +420,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -408,12 +434,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -438,7 +466,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -449,7 +478,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -469,7 +499,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -480,7 +511,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -500,7 +532,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -511,7 +544,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -532,7 +566,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -543,7 +578,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -563,7 +599,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -574,7 +611,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -594,7 +632,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -605,7 +644,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -618,12 +658,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -654,7 +696,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -665,7 +708,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -685,7 +729,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -696,7 +741,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -716,7 +762,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -727,7 +774,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -748,7 +796,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -759,7 +808,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -779,7 +829,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -790,7 +841,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -810,7 +862,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -821,7 +874,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -834,12 +888,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -864,7 +920,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -875,7 +932,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -895,7 +953,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -906,7 +965,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -926,7 +986,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -937,7 +998,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -958,7 +1020,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -969,7 +1032,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -989,7 +1053,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1000,7 +1065,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1020,7 +1086,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1031,7 +1098,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1044,12 +1112,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -1074,7 +1144,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1085,7 +1156,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1105,7 +1177,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1116,7 +1189,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1136,7 +1210,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1147,7 +1222,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1168,7 +1244,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1179,7 +1256,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1199,7 +1277,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1210,7 +1289,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1230,7 +1310,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
MinLength: 10, MinLength: 10,
@ -1241,7 +1322,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1254,12 +1336,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,

39
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.UpdateField_should_create_events_and_update_field_properties.verified.txt

@ -14,7 +14,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -23,7 +24,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -44,7 +46,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -53,7 +56,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -74,7 +78,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -83,7 +88,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -110,7 +116,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -119,7 +126,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -140,7 +148,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -149,7 +158,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -170,7 +180,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -179,7 +190,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: age, Name: age,
@ -216,7 +228,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
FieldId: 1,age, FieldId: 1,age,
SchemaId: Guid_2,my-schema, SchemaId: Guid_2,my-schema,

255
backend/tests/Squidex.Domain.Apps.Entities.Tests/Verify/SchemaDomainObjectTests.UpdateField_should_create_events_and_update_nested_field_properties.verified.txt

@ -16,7 +16,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -25,7 +26,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -43,7 +45,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -52,7 +55,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -70,7 +74,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -79,7 +84,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -98,7 +104,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -107,7 +114,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -125,7 +133,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -134,7 +143,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -152,7 +162,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -161,7 +172,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -174,12 +186,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -202,7 +216,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -211,7 +226,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -229,7 +245,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -238,7 +255,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -256,7 +274,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -265,7 +284,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -284,7 +304,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -293,7 +314,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -311,7 +333,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -320,7 +343,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -338,7 +362,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -347,7 +372,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -360,12 +386,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -388,7 +416,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -397,7 +426,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -415,7 +445,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -424,7 +455,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -442,7 +474,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -451,7 +484,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -470,7 +504,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -479,7 +514,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -497,7 +533,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -506,7 +543,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -524,7 +562,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -533,7 +572,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -546,12 +586,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -580,7 +622,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -589,7 +632,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -607,7 +651,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -616,7 +661,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -634,7 +680,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -643,7 +690,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -662,7 +710,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -671,7 +720,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -689,7 +739,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -698,7 +749,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -716,7 +768,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -725,7 +778,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -738,12 +792,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -766,7 +822,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -775,7 +832,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -793,7 +851,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -802,7 +861,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -820,7 +880,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -829,7 +890,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -848,7 +910,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -857,7 +920,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -875,7 +939,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -884,7 +949,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -902,7 +968,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -911,7 +978,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -924,12 +992,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -952,7 +1022,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -961,7 +1032,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -979,7 +1051,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -988,7 +1061,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1006,7 +1080,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -1015,7 +1090,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1034,7 +1110,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -1043,7 +1120,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1061,7 +1139,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -1070,7 +1149,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1088,7 +1168,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsUnique: false, IsUnique: false,
@ -1097,7 +1178,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 2, Id: 2,
Name: age, Name: age,
@ -1110,12 +1192,14 @@
Properties: { Properties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
RawProperties: { RawProperties: {
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
Id: 1, Id: 1,
Name: array, Name: array,
@ -1152,7 +1236,8 @@
CreateEnum: false, CreateEnum: false,
IsRequired: false, IsRequired: false,
IsRequiredOnPublish: false, IsRequiredOnPublish: false,
IsHalfWidth: false IsHalfWidth: false,
IsCreateOnly: false
}, },
FieldId: 2,age, FieldId: 2,age,
ParentFieldId: 1,array, ParentFieldId: 1,array,

4
backend/tests/Squidex.Infrastructure.Tests/Tasks/SchedulerTests.cs

@ -104,7 +104,6 @@ public class SchedulerTests
target.Schedule(async _ => target.Schedule(async _ =>
{ {
await Task.Delay(1); await Task.Delay(1);
actuals.Add(value); actuals.Add(value);
}); });
} }
@ -114,8 +113,7 @@ public class SchedulerTests
target.Schedule(_ => target.Schedule(_ =>
{ {
actuals.Add(value); actuals.Add(value);
return default;
return Task.CompletedTask;
}); });
} }
} }

8
frontend/angular.json

@ -200,7 +200,13 @@
"configDir": ".storybook", "configDir": ".storybook",
"browserTarget": "squidex:build", "browserTarget": "squidex:build",
"compodoc": false, "compodoc": false,
"port": 6006 "port": 6006,
"stylePreprocessorOptions": {
"includePaths": [
"./src/app/theme",
"node_modules"
]
}
} }
}, },
"build-storybook": { "build-storybook": {

2
frontend/src/app/features/content/pages/content/content-page.component.ts

@ -109,6 +109,7 @@ export class ContentPageComponent implements CanComponentDeactivate, OnInit {
const role = appsState.snapshot.selectedApp?.roleName; const role = appsState.snapshot.selectedApp?.roleName;
this.mutableContext = { this.mutableContext = {
action: 'Create',
apiUrl: apiUrl.buildUrl('api'), apiUrl: apiUrl.buildUrl('api'),
appId: contentsState.appId, appId: contentsState.appId,
appName: contentsState.appName, appName: contentsState.appName,
@ -224,6 +225,7 @@ export class ContentPageComponent implements CanComponentDeactivate, OnInit {
} }
private updateContext() { private updateContext() {
this.mutableContext['action'] = this.content ? 'Create' : 'Update';
this.mutableContext['initialContent'] = this.content; this.mutableContext['initialContent'] = this.content;
this.mutableContext['language'] = this.language; this.mutableContext['language'] = this.language;
this.mutableContext['languages'] = this.languages; this.mutableContext['languages'] = this.languages;

2
frontend/src/app/features/content/shared/forms/content-field.component.html

@ -1,6 +1,6 @@
<div class="row g-0" [class.compare]="formModelCompare"> <div class="row g-0" [class.compare]="formModelCompare">
<div [class.col-12]="!formModelCompare" [class.col-6]="formModelCompare"> <div [class.col-12]="!formModelCompare" [class.col-6]="formModelCompare">
<sqx-focus-marker [controlId]="formModel.fieldPath"> <sqx-focus-marker [controlId]="formModel.path">
@if (!(formModel.hiddenChanges | async)) { @if (!(formModel.hiddenChanges | async)) {
<div class="table-items-row table-items-row-summary" [class.field-invalid]="isInvalid | async"> <div class="table-items-row table-items-row-summary" [class.field-invalid]="isInvalid | async">
<div class="languages-container"> <div class="languages-container">

6
frontend/src/app/features/content/shared/forms/field-editor.component.ts

@ -135,7 +135,7 @@ export class FieldEditorComponent {
} }
if (changes.formModel || changes.comments) { if (changes.formModel || changes.comments) {
this.annotations = this.comments?.getAnnotations(this.formModel.fieldPath); this.annotations = this.comments?.getAnnotations(this.formModel.path);
} }
} }
@ -161,7 +161,7 @@ export class FieldEditorComponent {
} }
public annotationCreate(annotation: AnnotationSelection) { public annotationCreate(annotation: AnnotationSelection) {
this.messageBus.emit(new AnnotationCreate(this.formModel.fieldPath, annotation)); this.messageBus.emit(new AnnotationCreate(this.formModel.path, annotation));
} }
public annotationsSelect(annotation: ReadonlyArray<string>) { public annotationsSelect(annotation: ReadonlyArray<string>) {
@ -169,7 +169,7 @@ export class FieldEditorComponent {
} }
public annotationsUpdate(annotations: ReadonlyArray<Annotation>) { public annotationsUpdate(annotations: ReadonlyArray<Annotation>) {
this.comments?.updateAnnotations(this.formModel.fieldPath, annotations); this.comments?.updateAnnotations(this.formModel.path, annotations);
} }
public unset() { public unset() {

11
frontend/src/app/features/schemas/pages/schema/fields/forms/field-form-validation.component.html

@ -20,6 +20,17 @@
</div> </div>
</div> </div>
</div> </div>
<div class="form-group row mb-3">
<div class="col-9 offset-3">
<div class="form-check">
<input class="form-check-input" id="{{ field.fieldId }}_fieldCreateOnly" formControlName="isCreateOnly" type="checkbox" />
<label class="form-check-label" for="{{ field.fieldId }}_fieldCreateOnly">
{{ "schemas.field.createOnly" | sqxTranslate }}
</label>
</div>
</div>
</div>
</div> </div>
@switch (field.rawProperties.fieldType) { @switch (field.rawProperties.fieldType) {

4
frontend/src/app/features/schemas/pages/schema/rules/schema-field-rules-form.component.html

@ -22,8 +22,8 @@
<div class="col-3"> <div class="col-3">
<sqx-control-errors for="field" /> <sqx-control-errors for="field" />
<select class="form-select" formControlName="field"> <select class="form-select" formControlName="field">
@for (field of fieldNames; track field) { @for (option of fieldOptions; track option.value) {
<option [ngValue]="field">{{ field }}</option> <option [ngValue]="option.value">{{ option.label }}</option>
} }
</select> </select>
</div> </div>

2
frontend/src/app/features/schemas/pages/schema/rules/schema-field-rules-form.component.scss

@ -15,7 +15,5 @@
} }
.label { .label {
font-size: $font-small;
font-weight: normal;
line-height: 2.4rem; line-height: 2.4rem;
} }

32
frontend/src/app/features/schemas/pages/schema/rules/schema-field-rules-form.component.ts

@ -10,7 +10,7 @@ import { Component, Input, OnInit } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { EMPTY, Observable, shareReplay } from 'rxjs'; import { EMPTY, Observable, shareReplay } from 'rxjs';
import { TranslatePipe } from '@app/framework'; import { TranslatePipe } from '@app/framework';
import { CodeEditorComponent, ConfigureFieldRulesForm, ConfirmClickDirective, ControlErrorsComponent, FIELD_RULE_ACTIONS, SchemaDto, SchemasService, SchemasState, ScriptCompletions } from '@app/shared'; import { CodeEditorComponent, ConfigureFieldRulesForm, ConfirmClickDirective, ControlErrorsComponent, FIELD_RULE_ACTIONS, FieldPropertiesDto, SchemaDto, SchemasService, SchemasState, ScriptCompletions } from '@app/shared';
@Component({ @Component({
selector: 'sqx-schema-field-rules-form', selector: 'sqx-schema-field-rules-form',
@ -32,7 +32,7 @@ export class SchemaFieldRulesFormComponent implements OnInit {
public editForm = new ConfigureFieldRulesForm(); public editForm = new ConfigureFieldRulesForm();
public fieldNames!: ReadonlyArray<string>; public fieldOptions: ReadonlyArray<{ label: string; value: string }> = [];
public fieldActions = FIELD_RULE_ACTIONS; public fieldActions = FIELD_RULE_ACTIONS;
public fieldCompletions: Observable<ScriptCompletions> = EMPTY; public fieldCompletions: Observable<ScriptCompletions> = EMPTY;
@ -49,21 +49,39 @@ export class SchemaFieldRulesFormComponent implements OnInit {
} }
public ngOnChanges() { public ngOnChanges() {
const fieldNames: string[] = []; const fieldNames = new Set<string>();
const fieldTags = new Set<string>();
const addField = (name: string, properties: FieldPropertiesDto) => {
fieldNames.add(name);
if (properties.tags) {
for (const tag of properties.tags) {
fieldTags.add(tag);
}
}
};
for (const field of this.schema.fields) { for (const field of this.schema.fields) {
if (field.properties.isContentField) { if (field.properties.isContentField) {
fieldNames.push(field.name); addField(field.name, field.properties);
for (const nestedField of field.nested || []) { for (const nestedField of field.nested || []) {
if (nestedField.properties.isContentField) { if (nestedField.properties.isContentField) {
fieldNames.push(`${field.name}.${nestedField.name}`); addField(`${field.name}.${nestedField.name}`, nestedField.properties);
} }
} }
} }
} }
this.fieldNames = fieldNames.sort(); this.fieldOptions = [
...[...fieldNames]
.sorted()
.map(value => ({ label: `field: ${value}`, value })),
...[...fieldTags]
.sorted()
.map(value => ({ label: `tag: ${value}`, value: `tag:${value}` })),
];
this.isEditable = this.schema.canUpdateUrls; this.isEditable = this.schema.canUpdateUrls;
@ -72,7 +90,7 @@ export class SchemaFieldRulesFormComponent implements OnInit {
} }
public add() { public add() {
this.editForm.add(this.fieldNames); this.editForm.add(this.fieldOptions[0].value);
} }
public saveSchema() { public saveSchema() {

51
frontend/src/app/features/schemas/pages/schemas/schema-form.component.scss

@ -14,55 +14,4 @@ $icon-size: 4.5rem;
.name-group { .name-group {
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
}
.type {
margin-bottom: .5rem;
&-title {
font-weight: bold;
}
&-text {
font-size: $font-small;
}
&-icon {
background: transparent;
border: 1px solid $color-border;
border-radius: $border-radius;
color: $color-theme-brand;
cursor: pointer;
font-size: 1.75rem;
font-weight: normal;
height: $icon-size;
line-height: $icon-size;
margin-right: .5rem;
text-align: center;
text-decoration: none;
width: $icon-size;
.radio-input {
display: none;
}
&.active {
@include box-shadow-outer(0, 0, 10px, .5);
background: $color-theme-brand;
border-color: $color-theme-brand;
color: $color-white;
&:hover {
color: $color-white;
}
}
&:hover {
border-color: $color-border-dark;
}
}
.radio-input {
display: none;
}
} }

2
frontend/src/app/features/settings/pages/clients/client-add-form.component.html

@ -1,4 +1,4 @@
<div class="card card-body mb-4"> <div class="card card-body card-create mb-4">
<h5 class="card-title">{{ "clients.add.title" | sqxTranslate }}</h5> <h5 class="card-title">{{ "clients.add.title" | sqxTranslate }}</h5>
<form [formGroup]="addClientForm.form" (ngSubmit)="addClient()"> <form [formGroup]="addClientForm.form" (ngSubmit)="addClient()">

2
frontend/src/app/features/settings/pages/contributors/contributor-add-form.component.html

@ -1,4 +1,4 @@
<div class="card card-body mb-4"> <div class="card card-body card-create mb-4">
<h5 class="card-title">{{ "contributors.add.title" | sqxTranslate }}</h5> <h5 class="card-title">{{ "contributors.add.title" | sqxTranslate }}</h5>
<form [formGroup]="assignContributorForm.form" (ngSubmit)="assignContributor()"> <form [formGroup]="assignContributorForm.form" (ngSubmit)="assignContributor()">

2
frontend/src/app/features/settings/pages/jobs/jobs-page.component.html

@ -1,5 +1,5 @@
<sqx-title message="i18n:common.jobsBackups" /> <sqx-title message="i18n:common.jobsBackups" />
<sqx-layout innerWidth="50" layout="main" titleIcon="jobs" titleText="i18n:common.jobsBackups"> <sqx-layout innerWidth="50" layout="main" titleIcon="backups" titleText="i18n:common.jobsBackups">
<ng-container menu> <ng-container menu>
<button class="btn btn-text-secondary me-2" (click)="reload()" shortcut="CTRL + B" title="i18n:jobs.refreshTooltip" type="button"> <button class="btn btn-text-secondary me-2" (click)="reload()" shortcut="CTRL + B" title="i18n:jobs.refreshTooltip" type="button">
<i class="icon-reset"></i> {{ "common.refresh" | sqxTranslate }} <i class="icon-reset"></i> {{ "common.refresh" | sqxTranslate }}

2
frontend/src/app/features/settings/pages/languages/language-add-form.component.html

@ -1,4 +1,4 @@
<div class="card card-body mb-4"> <div class="card card-body card-create mb-4">
<h5 class="card-title">{{ "languages.add.title" | sqxTranslate }}</h5> <h5 class="card-title">{{ "languages.add.title" | sqxTranslate }}</h5>
<form [formGroup]="addLanguageForm.form" (ngSubmit)="addLanguage()"> <form [formGroup]="addLanguageForm.form" (ngSubmit)="addLanguage()">

2
frontend/src/app/features/settings/pages/plans/plans-page.component.html

@ -25,9 +25,7 @@
<h5 class="card-title">Squidex Referal Program</h5> <h5 class="card-title">Squidex Referal Program</h5>
<sqx-form-hint> <sqx-form-hint>
<div [sqxMarkdown]="'plans.referralHint' | sqxTranslate: referral"></div> <div [sqxMarkdown]="'plans.referralHint' | sqxTranslate: referral"></div>
<div [sqxMarkdown]="referral.condition"></div> <div [sqxMarkdown]="referral.condition"></div>
<div [sqxMarkdown]="'plans.referralEarned' | sqxTranslate: referral"></div> <div [sqxMarkdown]="'plans.referralEarned' | sqxTranslate: referral"></div>
</sqx-form-hint> </sqx-form-hint>
</div> </div>

48
frontend/src/app/features/settings/pages/roles/role-add-form.component.html

@ -1,30 +1,28 @@
<div class="card"> <div class="card card-body card-create mb-4">
<div class="card-body"> <h5 class="card-title">{{ "roles.add.title" | sqxTranslate }}</h5>
<h5 class="card-title">{{ "roles.add.title" | sqxTranslate }}</h5>
<form [formGroup]="addRoleForm.form" (ngSubmit)="addRole()"> <form [formGroup]="addRoleForm.form" (ngSubmit)="addRole()">
<div class="row gx-2"> <div class="row gx-2">
<div class="col"> <div class="col">
<sqx-control-errors for="name" /> <sqx-control-errors for="name" />
<input <input
class="form-control" class="form-control"
autocomplete="off" autocomplete="off"
formControlName="name" formControlName="name"
maxlength="40" maxlength="40"
placeholder="{{ 'roles.roleNamePlaceholder' | sqxTranslate }}" /> placeholder="{{ 'roles.roleNamePlaceholder' | sqxTranslate }}" />
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button class="btn btn-success" [disabled]="addRoleForm.hasNoName | async" type="submit"> <button class="btn btn-success" [disabled]="addRoleForm.hasNoName | async" type="submit">
{{ "roles.add" | sqxTranslate }} {{ "roles.add" | sqxTranslate }}
</button> </button>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button class="btn btn-text-secondary" (click)="cancel()" type="button">{{ "common.cancel" | sqxTranslate }}</button> <button class="btn btn-text-secondary" (click)="cancel()" type="button">{{ "common.cancel" | sqxTranslate }}</button>
</div>
</div> </div>
</form> </div>
<sqx-form-hint> {{ "roles.add.description" | sqxTranslate }} </sqx-form-hint> </form>
</div> <sqx-form-hint> {{ "roles.add.description" | sqxTranslate }} </sqx-form-hint>
</div> </div>

2
frontend/src/app/features/settings/pages/roles/roles-page.component.html

@ -15,7 +15,7 @@
@if (rolesState.defaultRoles | async; as defaultRoles) { @if (rolesState.defaultRoles | async; as defaultRoles) {
@if (defaultRoles.length > 0) { @if (defaultRoles.length > 0) {
<div> <div>
<h5 class="mt-4">{{ "roles.defaultRoles" | sqxTranslate }}</h5> <h5>{{ "roles.defaultRoles" | sqxTranslate }}</h5>
<sqx-form-hint> {{ "roles.defaultRoles.hint" | sqxTranslate }} </sqx-form-hint> <sqx-form-hint> {{ "roles.defaultRoles.hint" | sqxTranslate }} </sqx-form-hint>
@for (role of defaultRoles; track role.name) { @for (role of defaultRoles; track role.name) {
<sqx-role [allPermissions]="allPermissions" [role]="role" [schemas]="(schemasState.schemas | async)!" /> <sqx-role [allPermissions]="allPermissions" [role]="role" [schemas]="(schemasState.schemas | async)!" />

2
frontend/src/app/features/settings/pages/templates/templates-page.component.html

@ -1,5 +1,5 @@
<sqx-title message="i18n:common.templates" /> <sqx-title message="i18n:common.templates" />
<sqx-layout innerWidth="50" layout="main" titleIcon="templates" titleText="i18n:common.templates"> <sqx-layout innerWidth="50" layout="main" titleIcon="download" titleText="i18n:common.templates">
<ng-container menu> <ng-container menu>
<button class="btn btn-text-secondary me-2" (click)="reload()" shortcut="CTRL + B" title="i18n:templates.refreshTooltip" type="button"> <button class="btn btn-text-secondary me-2" (click)="reload()" shortcut="CTRL + B" title="i18n:templates.refreshTooltip" type="button">
<i class="icon-reset"></i> {{ "common.refresh" | sqxTranslate }} <i class="icon-reset"></i> {{ "common.refresh" | sqxTranslate }}

48
frontend/src/app/features/settings/pages/workflows/workflow-add-form.component.html

@ -1,30 +1,28 @@
<div class="card mt-4"> <div class="card card-body card-create mb-4">
<div class="card-body"> <h5 class="card-title">{{ "workflows.add.title" | sqxTranslate }}</h5>
<h5 class="card-title">{{ "workflows.add.title" | sqxTranslate }}</h5>
<form [formGroup]="addWorkflowForm.form" (ngSubmit)="addWorkflow()"> <form [formGroup]="addWorkflowForm.form" (ngSubmit)="addWorkflow()">
<div class="row gx-2"> <div class="row gx-2">
<div class="col"> <div class="col">
<sqx-control-errors for="name" /> <sqx-control-errors for="name" />
<input <input
class="form-control" class="form-control"
autocomplete="off" autocomplete="off"
formControlName="name" formControlName="name"
maxlength="40" maxlength="40"
placeholder="{{ 'workflows.workflowNamePlaceholder' | sqxTranslate }}" /> placeholder="{{ 'workflows.workflowNamePlaceholder' | sqxTranslate }}" />
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button class="btn btn-success" [disabled]="addWorkflowForm.hasNoName | async" type="submit"> <button class="btn btn-success" [disabled]="addWorkflowForm.hasNoName | async" type="submit">
{{ "workflows.add" | sqxTranslate }} {{ "workflows.add" | sqxTranslate }}
</button> </button>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button class="btn btn-text-secondary" (click)="cancel()" type="reset">{{ "common.cancel" | sqxTranslate }}</button> <button class="btn btn-text-secondary" (click)="cancel()" type="reset">{{ "common.cancel" | sqxTranslate }}</button>
</div>
</div> </div>
</form> </div>
<sqx-form-hint> {{ "workflows.add.description" | sqxTranslate }} </sqx-form-hint> </form>
</div> <sqx-form-hint> {{ "workflows.add.description" | sqxTranslate }} </sqx-form-hint>
</div> </div>

8
frontend/src/app/features/settings/pages/workflows/workflows-page.component.html

@ -24,6 +24,10 @@
} }
} }
@if (workflowsState.canCreate | async) {
<sqx-workflow-add-form />
}
@if (schemasSource && (workflowsState.isLoaded | async) && (workflowsState.workflows | async); as workflows) { @if (schemasSource && (workflowsState.isLoaded | async) && (workflowsState.workflows | async); as workflows) {
@for (workflow of workflows; track workflow.id) { @for (workflow of workflows; track workflow.id) {
<sqx-workflow [roles]="roles" [schemasSource]="schemasSource" [workflow]="workflow" /> <sqx-workflow [roles]="roles" [schemasSource]="schemasSource" [workflow]="workflow" />
@ -32,10 +36,6 @@
{{ "workflows.empty" | sqxTranslate }} {{ "workflows.empty" | sqxTranslate }}
</div> </div>
} }
@if (workflowsState.canCreate | async) {
<sqx-workflow-add-form />
}
} }
</ng-container> </ng-container>
</sqx-list-view> </sqx-list-view>

2
frontend/src/app/features/teams/pages/contributors/contributor-add-form.component.html

@ -1,4 +1,4 @@
<div class="card card-body mb-4"> <div class="card card-body card-create mb-4">
<h5 class="card-title">{{ "contributors.add.title" | sqxTranslate }}</h5> <h5 class="card-title">{{ "contributors.add.title" | sqxTranslate }}</h5>
<form [formGroup]="assignContributorForm.form" (ngSubmit)="assignContributor()"> <form [formGroup]="assignContributorForm.form" (ngSubmit)="assignContributor()">

66
frontend/src/app/framework/angular/forms/editors/code-editor.component.ts

@ -15,6 +15,8 @@ export const SQX_CODE_EDITOR_CONTROL_VALUE_ACCESSOR: any = {
provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => CodeEditorComponent), multi: true, provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => CodeEditorComponent), multi: true,
}; };
type Editor = AceAjax.Editor & { completers?: AceAjax.Completer[]; completer?: { showDocTooltip: (item: any) => void } };
@Component({ @Component({
selector: 'sqx-code-editor', selector: 'sqx-code-editor',
styleUrls: ['./code-editor.component.scss'], styleUrls: ['./code-editor.component.scss'],
@ -26,7 +28,7 @@ export const SQX_CODE_EDITOR_CONTROL_VALUE_ACCESSOR: any = {
}) })
export class CodeEditorComponent extends StatefulControlComponent<{}, any> implements AfterViewInit, FocusComponent { export class CodeEditorComponent extends StatefulControlComponent<{}, any> implements AfterViewInit, FocusComponent {
private aceModes?: ModeList; private aceModes?: ModeList;
private aceEditor?: AceAjax.Editor; private aceEditor?: Editor;
private aceTools = false; private aceTools = false;
private valueChanged = new Subject(); private valueChanged = new Subject();
private value = ''; private value = '';
@ -165,37 +167,43 @@ export class CodeEditorComponent extends StatefulControlComponent<{}, any> imple
this.onDisabled(this.snapshot.isDisabled); this.onDisabled(this.snapshot.isDisabled);
if (this.aceTools) { if (this.aceTools) {
const previous = (this.aceEditor as any)['completers'] as AceAjax.Completer[]; const originalCompleter = this.aceEditor.completer!;
const originalShowDocTooltip = originalCompleter.showDocTooltip;
(this.aceEditor as any)['completers'] = [ originalCompleter.showDocTooltip = item => {
previous?.[0], { requestAnimationFrame(() => {
getCompletions: (editor: any, session: any, pos: any, prefix: any, callback: any) => { originalShowDocTooltip.apply(originalCompleter, [item]);
callback(null, this.completions); });
}, };
getDocTooltip: (item: AceAjax.Completion) => {
const source = item as unknown as ScriptCompletion; const completer: AceAjax.Completer = {
getCompletions: (editor: any, session: any, pos: any, prefix: any, callback: any) => {
if (source.path && source.description) { callback(null, this.completions);
item.docHTML = `<b>${item.value}</b><hr></hr>${source.description}`; },
getDocTooltip: (item: AceAjax.Completion) => {
if (source.allowedValues) { const source = item as unknown as ScriptCompletion;
item.docHTML += '<div class="mt-2 mb-2">Allowed Values:<ul>';
if (source.path && source.description) {
for (const value of source.allowedValues) { item.docHTML = `<b>${item.value}</b><hr></hr>${source.description}`;
item.docHTML += `<li><code>${value}</code></li>`;
} if (source.allowedValues) {
item.docHTML += '<div class="mt-3 mb-0">Allowed Values:<ul class="mt-2 mb-2">';
item.docHTML += '</ul></div>';
for (const value of source.allowedValues) {
item.docHTML += `<li><code>${value}</code></li>`;
} }
if (source.deprecationReason) { item.docHTML += '</ul></div>';
item.docHTML += `<div class="mt-2 mb-2"><strong>Deprecated</strong>: ${source.deprecationReason}</div>`;
}
} }
},
identifierRegexps: [/[a-zA-Z_0-9\$\-\.\u00A2-\u2000\u2070-\uFFFF]/], if (source.deprecationReason) {
} as AceAjax.Completer, item.docHTML += `<div class="mt-2 mb-2"><strong>Deprecated</strong>: ${source.deprecationReason}</div>`;
]; }
}
},
};
const previous = this.aceEditor.completers || [];
this.aceEditor.completers = [...previous, completer];
} }
this.aceEditor.on('blur', () => { this.aceEditor.on('blur', () => {
this.changeValue(); this.changeValue();

7
frontend/src/app/framework/angular/modals/dialog-renderer.component.html

@ -19,12 +19,13 @@
</sqx-modal-dialog> </sqx-modal-dialog>
} }
</ng-container> </ng-container>
<div class="notification-container notification-container-bottom-right"> <div class="notification-container notification-container-bottom-right">
@for (notification of snapshot.notifications; track notification) { @for (notification of snapshot.notifications; track notification) {
<div class="alert alert-dismissible alert-{{ notification.messageType }} shadowed" @fade (click)="close(notification)" role="alert"> <div class="alert alert-light alert-dismissible border shadow-sm timed" @fade (click)="close(notification)" role="alert">
<button class="btn-close" data-dismiss="alert" (dialogClose)="close(notification)" type="button"></button> <button class="btn-close" data-dismiss="alert" (dialogClose)="close(notification)" type="button"></button>
<div class="shadow"></div> <div class="timer timer-{{ notification.messageType }}"></div>
<div class="shadowed" [sqxMarkdown]="notification.message | sqxTranslate"></div> <div [sqxMarkdown]="notification.message | sqxTranslate"></div>
</div> </div>
} }
</div> </div>

47
frontend/src/app/framework/angular/modals/dialog-renderer.component.scss

@ -34,25 +34,31 @@
&-bottom-left { &-bottom-left {
@include fixed(auto, auto, 0, 0); @include fixed(auto, auto, 0, 0);
} }
}
.shadow, .alert {
.shadowed { overflow-x: hidden;
position: relative; overflow-y: hidden;
} }
.timed {
position: relative;
}
.timer {
@include absolute(0, auto, 0, 0);
animation: width 10s 1 linear;
border: 0;
border-radius: 0;
height: 4px;
width: 100%;
.shadowed { &-danger {
z-index: 2; background-color: $color-theme-error;
} }
.shadow { &-primary {
@include absolute(0, auto, 0, 0); background-color: $color-theme-brand;
animation: width 10s 1 linear;
background: $color-black;
border: 0;
opacity: .1;
overflow: hidden;
width: 100%;
z-index: 1;
} }
} }
@ -71,12 +77,13 @@ $caret-size: 6px;
color: $color-white; color: $color-white;
font-size: $font-small; font-size: $font-small;
font-weight: normal; font-weight: normal;
padding: .5rem; padding: .25rem .5rem;
pointer-events: none;
white-space: nowrap; white-space: nowrap;
&-left { &-left {
&::after { &::after {
@include caret-right($color-tooltip, $caret-size); @include caret-right($color-tooltip, $caret-size + 1px);
@include absolute(50%, -$caret-size * 2, auto, auto); @include absolute(50%, -$caret-size * 2, auto, auto);
margin-top: -$caret-size; margin-top: -$caret-size;
} }
@ -84,7 +91,7 @@ $caret-size: 6px;
&-right { &-right {
&::after { &::after {
@include caret-left($color-tooltip, $caret-size); @include caret-left($color-tooltip, $caret-size + 1px);
@include absolute(50%, auto, auto, -$caret-size * 2); @include absolute(50%, auto, auto, -$caret-size * 2);
margin-top: -$caret-size; margin-top: -$caret-size;
} }
@ -92,7 +99,7 @@ $caret-size: 6px;
&-top { &-top {
&::after { &::after {
@include caret-bottom($color-tooltip, $caret-size); @include caret-bottom($color-tooltip, $caret-size + 1px);
@include absolute(auto, auto, -$caret-size * 2, 50%); @include absolute(auto, auto, -$caret-size * 2, 50%);
margin-left: -$caret-size; margin-left: -$caret-size;
} }
@ -100,7 +107,7 @@ $caret-size: 6px;
&-bottom { &-bottom {
&::after { &::after {
@include caret-top($color-tooltip, $caret-size); @include caret-top($color-tooltip, $caret-size + 1px);
@include absolute(-$caret-size * 2, auto, auto, 50%); @include absolute(-$caret-size * 2, auto, auto, 50%);
margin-left: -$caret-size; margin-left: -$caret-size;
} }

139
frontend/src/app/framework/angular/modals/dialog-renderer.stories.ts

@ -0,0 +1,139 @@
/*
* Squidex Headless CMS
*
* @license
* Copyright (c) Squidex UG (haftungsbeschränkt). All rights reserved.
*/
import { Component, inject, Input } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { Meta, moduleMetadata, StoryObj } from '@storybook/angular';
import { ConfirmClickDirective, DialogRendererComponent, DialogService, ErrorDto, LocalizerService, RootViewComponent, TooltipDirective } from '@app/framework';
type TestMode = 'ErrorText' | 'ErrorDetails' | 'Info';
@Component({
selector: 'sqx-test',
template: `
<button class="btn btn-primary" (click)="test()">
Show {{ mode }}
</button>
`,
imports: [
DialogRendererComponent,
],
})
class TestComponent {
public readonly dialogs = inject(DialogService);
@Input()
public mode: TestMode = 'Info';
public test() {
if (this.mode === 'ErrorDetails') {
const error = new ErrorDto(500,
'Error in Server',
'Error Code',
[
'Details 1',
'Details 2',
'Details 3',
'Details 4',
],
);
this.dialogs.notifyError(error);
} else if (this.mode === 'ErrorText') {
this.dialogs.notifyError('Error');
} else {
this.dialogs.notifyInfo('Info');
}
}
}
export default {
title: 'Framework/Dialogs',
component: DialogRendererComponent,
decorators: [
moduleMetadata({
imports: [
BrowserAnimationsModule,
ConfirmClickDirective,
RootViewComponent,
TestComponent,
TooltipDirective,
],
providers: [
DialogService,
{
provide: LocalizerService,
useValue: new LocalizerService({
'common.no': 'No',
'common.remember': 'Remember',
'common.yes': 'Yes',
}),
},
],
}),
],
render: args => ({
props: args,
template: `
<sqx-root-view>
<div class="p-4">
<h3>Dialogs</h3>
<div class="p-2 d-flex gap-2">
<sqx-test [mode]="'ErrorText'" />
<sqx-test [mode]="'ErrorDetails'" />
<sqx-test [mode]="'Info'" />
</div>
<h3 class="mt-4">Tooltips</h3>
<div class="p-2 d-flex gap-2">
<button class="btn btn-secondary" title="Tooltip" titlePosition="top">Top</button>
<button class="btn btn-secondary" title="Tooltip" titlePosition="left">Left</button>
<button class="btn btn-secondary" title="Tooltip" titlePosition="right">Right</button>
<button class="btn btn-secondary" title="Tooltip" titlePosition="bottom">Bottom</button>
</div>
<h3 class="mt-4">Immediate Tooltips</h3>
<div class="p-2 d-flex gap-2">
<button class="btn btn-secondary" [titleDelay]="0" title="Tooltip" titlePosition="top">Top</button>
<button class="btn btn-secondary" [titleDelay]="0" title="Tooltip" titlePosition="left">Left</button>
<button class="btn btn-secondary" [titleDelay]="0" title="Tooltip" titlePosition="right">Right</button>
<button class="btn btn-secondary" [titleDelay]="0" title="Tooltip" titlePosition="bottom">Bottom</button>
</div>
<h3 class="mt-4">Confirm</h3>
<div class="p-2 d-flex gap-2">
<button
class="btn btn-secondary"
confirmTitle="Show alert?"
confirmText="Really?"
(sqxConfirmClick)="alert('Click')">
Confirm
</button>
<button
class="btn btn-secondary"
confirmTitle="Show alert?"
confirmText="Really?"
confirmRememberKey="test"
(sqxConfirmClick)="alert('Click')">
Confirm Remember
</button>
</div>
</div>
<sqx-dialog-renderer />
</sqx-root-view>
`,
}),
} as Meta;
type Story = StoryObj<DialogRendererComponent & { mode: TestMode }>;
export const Primary: Story = {
args: {
},
};

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save