diff --git a/src/Squidex.Infrastructure/Languages.cs b/src/Squidex.Infrastructure/Languages.cs index 83c0e05fd..7851b7438 100644 --- a/src/Squidex.Infrastructure/Languages.cs +++ b/src/Squidex.Infrastructure/Languages.cs @@ -5,6 +5,7 @@ // Copyright (c) Squidex Group // All rights reserved. // ========================================================================== +// using System.CodeDom.Compiler; @@ -28,31 +29,30 @@ namespace Squidex.Infrastructure public static readonly Language BA = AddLanguage("ba", "Bashkir"); public static readonly Language BE = AddLanguage("be", "Belarusian"); public static readonly Language BG = AddLanguage("bg", "Bulgarian"); - public static readonly Language BH = AddLanguage("bh", "Bihari languages"); + public static readonly Language BH = AddLanguage("bh", "Bihari"); public static readonly Language BI = AddLanguage("bi", "Bislama"); public static readonly Language BM = AddLanguage("bm", "Bambara"); public static readonly Language BN = AddLanguage("bn", "Bengali"); public static readonly Language BO = AddLanguage("bo", "Tibetan"); public static readonly Language BR = AddLanguage("br", "Breton"); public static readonly Language BS = AddLanguage("bs", "Bosnian"); - public static readonly Language CA = AddLanguage("ca", "Catalan; Valencian"); + public static readonly Language CA = AddLanguage("ca", "Catalan"); public static readonly Language CE = AddLanguage("ce", "Chechen"); public static readonly Language CH = AddLanguage("ch", "Chamorro"); public static readonly Language CO = AddLanguage("co", "Corsican"); public static readonly Language CR = AddLanguage("cr", "Cree"); public static readonly Language CS = AddLanguage("cs", "Czech"); - public static readonly Language CU = AddLanguage("cu", "Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic"); public static readonly Language CV = AddLanguage("cv", "Chuvash"); public static readonly Language CY = AddLanguage("cy", "Welsh"); public static readonly Language DA = AddLanguage("da", "Danish"); public static readonly Language DE = AddLanguage("de", "German"); - public static readonly Language DV = AddLanguage("dv", "Divehi; Dhivehi; Maldivian"); + public static readonly Language DV = AddLanguage("dv", "Divehi"); public static readonly Language DZ = AddLanguage("dz", "Dzongkha"); public static readonly Language EE = AddLanguage("ee", "Ewe"); - public static readonly Language EL = AddLanguage("el", "Greek, Modern (1453-)"); + public static readonly Language EL = AddLanguage("el", "Greek"); public static readonly Language EN = AddLanguage("en", "English"); public static readonly Language EO = AddLanguage("eo", "Esperanto"); - public static readonly Language ES = AddLanguage("es", "Spanish; Castilian"); + public static readonly Language ES = AddLanguage("es", "Spanish"); public static readonly Language ET = AddLanguage("et", "Estonian"); public static readonly Language EU = AddLanguage("eu", "Basque"); public static readonly Language FA = AddLanguage("fa", "Persian"); @@ -63,7 +63,7 @@ namespace Squidex.Infrastructure public static readonly Language FR = AddLanguage("fr", "French"); public static readonly Language FY = AddLanguage("fy", "Western Frisian"); public static readonly Language GA = AddLanguage("ga", "Irish"); - public static readonly Language GD = AddLanguage("gd", "Gaelic; Scottish Gaelic"); + public static readonly Language GD = AddLanguage("gd", "Gaelic"); public static readonly Language GL = AddLanguage("gl", "Galician"); public static readonly Language GN = AddLanguage("gn", "Guarani"); public static readonly Language GU = AddLanguage("gu", "Gujarati"); @@ -73,15 +73,13 @@ namespace Squidex.Infrastructure public static readonly Language HI = AddLanguage("hi", "Hindi"); public static readonly Language HO = AddLanguage("ho", "Hiri Motu"); public static readonly Language HR = AddLanguage("hr", "Croatian"); - public static readonly Language HT = AddLanguage("ht", "Haitian; Haitian Creole"); + public static readonly Language HT = AddLanguage("ht", "Haitian"); public static readonly Language HU = AddLanguage("hu", "Hungarian"); public static readonly Language HY = AddLanguage("hy", "Armenian"); public static readonly Language HZ = AddLanguage("hz", "Herero"); - public static readonly Language IA = AddLanguage("ia", "Interlingua (International Auxiliary Language Association)"); public static readonly Language ID = AddLanguage("id", "Indonesian"); - public static readonly Language IE = AddLanguage("ie", "Interlingue; Occidental"); public static readonly Language IG = AddLanguage("ig", "Igbo"); - public static readonly Language II = AddLanguage("ii", "Sichuan Yi; Nuosu"); + public static readonly Language II = AddLanguage("ii", "Sichuan Yi"); public static readonly Language IK = AddLanguage("ik", "Inupiaq"); public static readonly Language IO = AddLanguage("io", "Ido"); public static readonly Language IS = AddLanguage("is", "Icelandic"); @@ -91,10 +89,10 @@ namespace Squidex.Infrastructure public static readonly Language JV = AddLanguage("jv", "Javanese"); public static readonly Language KA = AddLanguage("ka", "Georgian"); public static readonly Language KG = AddLanguage("kg", "Kongo"); - public static readonly Language KI = AddLanguage("ki", "Kikuyu; Gikuyu"); - public static readonly Language KJ = AddLanguage("kj", "Kuanyama; Kwanyama"); + public static readonly Language KI = AddLanguage("ki", "Kikuyu"); + public static readonly Language KJ = AddLanguage("kj", "Kuanyama"); public static readonly Language KK = AddLanguage("kk", "Kazakh"); - public static readonly Language KL = AddLanguage("kl", "Kalaallisut; Greenlandic"); + public static readonly Language KL = AddLanguage("kl", "Kalaallisut"); public static readonly Language KM = AddLanguage("km", "Central Khmer"); public static readonly Language KN = AddLanguage("kn", "Kannada"); public static readonly Language KO = AddLanguage("ko", "Korean"); @@ -103,11 +101,11 @@ namespace Squidex.Infrastructure public static readonly Language KU = AddLanguage("ku", "Kurdish"); public static readonly Language KV = AddLanguage("kv", "Komi"); public static readonly Language KW = AddLanguage("kw", "Cornish"); - public static readonly Language KY = AddLanguage("ky", "Kirghiz; Kyrgyz"); + public static readonly Language KY = AddLanguage("ky", "Kirghiz"); public static readonly Language LA = AddLanguage("la", "Latin"); - public static readonly Language LB = AddLanguage("lb", "Luxembourgish; Letzeburgesch"); + public static readonly Language LB = AddLanguage("lb", "Luxembourgish"); public static readonly Language LG = AddLanguage("lg", "Ganda"); - public static readonly Language LI = AddLanguage("li", "Limburgan; Limburger; Limburgish"); + public static readonly Language LI = AddLanguage("li", "Limburgan"); public static readonly Language LN = AddLanguage("ln", "Lingala"); public static readonly Language LO = AddLanguage("lo", "Lao"); public static readonly Language LT = AddLanguage("lt", "Lithuanian"); @@ -124,30 +122,26 @@ namespace Squidex.Infrastructure public static readonly Language MT = AddLanguage("mt", "Maltese"); public static readonly Language MY = AddLanguage("my", "Burmese"); public static readonly Language NA = AddLanguage("na", "Nauru"); - public static readonly Language NB = AddLanguage("nb", "Bokmål, Norwegian; Norwegian Bokmål"); - public static readonly Language ND = AddLanguage("nd", "Ndebele, North; North Ndebele"); + public static readonly Language NB = AddLanguage("nb", "Bokmål"); + public static readonly Language ND = AddLanguage("nd", "Ndebele"); public static readonly Language NE = AddLanguage("ne", "Nepali"); public static readonly Language NG = AddLanguage("ng", "Ndonga"); - public static readonly Language NL = AddLanguage("nl", "Dutch; Flemish"); - public static readonly Language NN = AddLanguage("nn", "Norwegian Nynorsk; Nynorsk, Norwegian"); + public static readonly Language NL = AddLanguage("nl", "Dutch"); + public static readonly Language NN = AddLanguage("nn", "Norwegian Nynorsk"); public static readonly Language NO = AddLanguage("no", "Norwegian"); - public static readonly Language NR = AddLanguage("nr", "Ndebele, South; South Ndebele"); - public static readonly Language NV = AddLanguage("nv", "Navajo; Navaho"); - public static readonly Language NY = AddLanguage("ny", "Chichewa; Chewa; Nyanja"); - public static readonly Language OC = AddLanguage("oc", "Occitan (post 1500); Provençal"); + public static readonly Language NR = AddLanguage("nr", "Ndebele"); + public static readonly Language NV = AddLanguage("nv", "Navajo"); public static readonly Language OJ = AddLanguage("oj", "Ojibwa"); public static readonly Language OM = AddLanguage("om", "Oromo"); public static readonly Language OR = AddLanguage("or", "Oriya"); - public static readonly Language OS = AddLanguage("os", "Ossetian; Ossetic"); - public static readonly Language PA = AddLanguage("pa", "Panjabi; Punjabi"); public static readonly Language PI = AddLanguage("pi", "Pali"); public static readonly Language PL = AddLanguage("pl", "Polish"); - public static readonly Language PS = AddLanguage("ps", "Pushto; Pashto"); + public static readonly Language PS = AddLanguage("ps", "Pushto"); public static readonly Language PT = AddLanguage("pt", "Portuguese"); public static readonly Language QU = AddLanguage("qu", "Quechua"); public static readonly Language RM = AddLanguage("rm", "Romansh"); public static readonly Language RN = AddLanguage("rn", "Rundi"); - public static readonly Language RO = AddLanguage("ro", "Romanian; Moldavian; Moldovan"); + public static readonly Language RO = AddLanguage("ro", "Romanian"); public static readonly Language RU = AddLanguage("ru", "Russian"); public static readonly Language RW = AddLanguage("rw", "Kinyarwanda"); public static readonly Language SA = AddLanguage("sa", "Sanskrit"); @@ -155,7 +149,7 @@ namespace Squidex.Infrastructure public static readonly Language SD = AddLanguage("sd", "Sindhi"); public static readonly Language SE = AddLanguage("se", "Northern Sami"); public static readonly Language SG = AddLanguage("sg", "Sango"); - public static readonly Language SI = AddLanguage("si", "Sinhala; Sinhalese"); + public static readonly Language SI = AddLanguage("si", "Sinhala"); public static readonly Language SK = AddLanguage("sk", "Slovak"); public static readonly Language SL = AddLanguage("sl", "Slovenian"); public static readonly Language SM = AddLanguage("sm", "Samoan"); @@ -164,7 +158,7 @@ namespace Squidex.Infrastructure public static readonly Language SQ = AddLanguage("sq", "Albanian"); public static readonly Language SR = AddLanguage("sr", "Serbian"); public static readonly Language SS = AddLanguage("ss", "Swati"); - public static readonly Language ST = AddLanguage("st", "Sotho, Southern"); + public static readonly Language ST = AddLanguage("st", "Sotho"); public static readonly Language SU = AddLanguage("su", "Sundanese"); public static readonly Language SV = AddLanguage("sv", "Swedish"); public static readonly Language SW = AddLanguage("sw", "Swahili"); @@ -176,13 +170,13 @@ namespace Squidex.Infrastructure public static readonly Language TK = AddLanguage("tk", "Turkmen"); public static readonly Language TL = AddLanguage("tl", "Tagalog"); public static readonly Language TN = AddLanguage("tn", "Tswana"); - public static readonly Language TO = AddLanguage("to", "Tonga (Tonga Islands)"); + public static readonly Language TO = AddLanguage("to", "Tonga"); public static readonly Language TR = AddLanguage("tr", "Turkish"); public static readonly Language TS = AddLanguage("ts", "Tsonga"); public static readonly Language TT = AddLanguage("tt", "Tatar"); public static readonly Language TW = AddLanguage("tw", "Twi"); public static readonly Language TY = AddLanguage("ty", "Tahitian"); - public static readonly Language UG = AddLanguage("ug", "Uighur; Uyghur"); + public static readonly Language UG = AddLanguage("ug", "Uighur"); public static readonly Language UK = AddLanguage("uk", "Ukrainian"); public static readonly Language UR = AddLanguage("ur", "Urdu"); public static readonly Language UZ = AddLanguage("uz", "Uzbek"); @@ -194,7 +188,7 @@ namespace Squidex.Infrastructure public static readonly Language XH = AddLanguage("xh", "Xhosa"); public static readonly Language YI = AddLanguage("yi", "Yiddish"); public static readonly Language YO = AddLanguage("yo", "Yoruba"); - public static readonly Language ZA = AddLanguage("za", "Zhuang; Chuang"); + public static readonly Language ZA = AddLanguage("za", "Zhuang"); public static readonly Language ZH = AddLanguage("zh", "Chinese"); public static readonly Language ZU = AddLanguage("zu", "Zulu"); } diff --git a/src/Squidex.Infrastructure/language-codes.csv b/src/Squidex.Infrastructure/language-codes.csv index a8db380d2..40e9a0af3 100644 --- a/src/Squidex.Infrastructure/language-codes.csv +++ b/src/Squidex.Infrastructure/language-codes.csv @@ -14,31 +14,30 @@ "ba","Bashkir" "be","Belarusian" "bg","Bulgarian" -"bh","Bihari languages" +"bh","Bihari" "bi","Bislama" "bm","Bambara" "bn","Bengali" "bo","Tibetan" "br","Breton" "bs","Bosnian" -"ca","Catalan; Valencian" +"ca","Catalan" "ce","Chechen" "ch","Chamorro" "co","Corsican" "cr","Cree" "cs","Czech" -"cu","Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" "cv","Chuvash" "cy","Welsh" "da","Danish" "de","German" -"dv","Divehi; Dhivehi; Maldivian" +"dv","Divehi" "dz","Dzongkha" "ee","Ewe" -"el","Greek, Modern (1453-)" +"el","Greek" "en","English" "eo","Esperanto" -"es","Spanish; Castilian" +"es","Spanish" "et","Estonian" "eu","Basque" "fa","Persian" @@ -49,7 +48,7 @@ "fr","French" "fy","Western Frisian" "ga","Irish" -"gd","Gaelic; Scottish Gaelic" +"gd","Gaelic" "gl","Galician" "gn","Guarani" "gu","Gujarati" @@ -59,15 +58,13 @@ "hi","Hindi" "ho","Hiri Motu" "hr","Croatian" -"ht","Haitian; Haitian Creole" +"ht","Haitian" "hu","Hungarian" "hy","Armenian" "hz","Herero" -"ia","Interlingua (International Auxiliary Language Association)" "id","Indonesian" -"ie","Interlingue; Occidental" "ig","Igbo" -"ii","Sichuan Yi; Nuosu" +"ii","Sichuan Yi" "ik","Inupiaq" "io","Ido" "is","Icelandic" @@ -77,10 +74,10 @@ "jv","Javanese" "ka","Georgian" "kg","Kongo" -"ki","Kikuyu; Gikuyu" -"kj","Kuanyama; Kwanyama" +"ki","Kikuyu" +"kj","Kuanyama" "kk","Kazakh" -"kl","Kalaallisut; Greenlandic" +"kl","Kalaallisut" "km","Central Khmer" "kn","Kannada" "ko","Korean" @@ -89,11 +86,11 @@ "ku","Kurdish" "kv","Komi" "kw","Cornish" -"ky","Kirghiz; Kyrgyz" +"ky","Kirghiz" "la","Latin" -"lb","Luxembourgish; Letzeburgesch" +"lb","Luxembourgish" "lg","Ganda" -"li","Limburgan; Limburger; Limburgish" +"li","Limburgan" "ln","Lingala" "lo","Lao" "lt","Lithuanian" @@ -110,30 +107,26 @@ "mt","Maltese" "my","Burmese" "na","Nauru" -"nb","Bokmål, Norwegian; Norwegian Bokmål" -"nd","Ndebele, North; North Ndebele" +"nb","Bokmål" +"nd","Ndebele" "ne","Nepali" "ng","Ndonga" -"nl","Dutch; Flemish" -"nn","Norwegian Nynorsk; Nynorsk, Norwegian" +"nl","Dutch" +"nn","Norwegian Nynorsk" "no","Norwegian" -"nr","Ndebele, South; South Ndebele" -"nv","Navajo; Navaho" -"ny","Chichewa; Chewa; Nyanja" -"oc","Occitan (post 1500); Provençal" +"nr","Ndebele" +"nv","Navajo" "oj","Ojibwa" "om","Oromo" "or","Oriya" -"os","Ossetian; Ossetic" -"pa","Panjabi; Punjabi" "pi","Pali" "pl","Polish" -"ps","Pushto; Pashto" +"ps","Pushto" "pt","Portuguese" "qu","Quechua" "rm","Romansh" "rn","Rundi" -"ro","Romanian; Moldavian; Moldovan" +"ro","Romanian" "ru","Russian" "rw","Kinyarwanda" "sa","Sanskrit" @@ -141,7 +134,7 @@ "sd","Sindhi" "se","Northern Sami" "sg","Sango" -"si","Sinhala; Sinhalese" +"si","Sinhala" "sk","Slovak" "sl","Slovenian" "sm","Samoan" @@ -150,7 +143,7 @@ "sq","Albanian" "sr","Serbian" "ss","Swati" -"st","Sotho, Southern" +"st","Sotho" "su","Sundanese" "sv","Swedish" "sw","Swahili" @@ -162,13 +155,13 @@ "tk","Turkmen" "tl","Tagalog" "tn","Tswana" -"to","Tonga (Tonga Islands)" +"to","Tonga" "tr","Turkish" "ts","Tsonga" "tt","Tatar" "tw","Twi" "ty","Tahitian" -"ug","Uighur; Uyghur" +"ug","Uighur" "uk","Ukrainian" "ur","Urdu" "uz","Uzbek" @@ -180,6 +173,6 @@ "xh","Xhosa" "yi","Yiddish" "yo","Yoruba" -"za","Zhuang; Chuang" +"za","Zhuang" "zh","Chinese" "zu","Zulu" diff --git a/src/Squidex/app/features/content/pages/content/content-page.component.ts b/src/Squidex/app/features/content/pages/content/content-page.component.ts index cbaf60646..875d2b4c8 100644 --- a/src/Squidex/app/features/content/pages/content/content-page.component.ts +++ b/src/Squidex/app/features/content/pages/content/content-page.component.ts @@ -97,7 +97,7 @@ export class ContentPageComponent extends AppComponentBase implements CanCompone } public canDeactivate(): Observable { - if (!this.contentForm.dirty) { + if (!this.contentForm.dirty || this.isNewMode) { return Observable.of(true); } else { this.cancelDialog.show(); @@ -206,10 +206,10 @@ export class ContentPageComponent extends AppComponentBase implements CanCompone if (field.partitioning === 'language') { for (let language of this.languages) { - group.addControl(language.iso2Code, new FormControl(undefined, field.createValidators())); + group.addControl(language.iso2Code, new FormControl(undefined, field.createValidators(language.isOptional))); } } else { - group.addControl('iv', new FormControl(undefined, field.createValidators())); + group.addControl('iv', new FormControl(undefined, field.createValidators(false))); } controls[field.name] = group; diff --git a/src/Squidex/app/features/settings/pages/languages/languages-page.component.ts b/src/Squidex/app/features/settings/pages/languages/languages-page.component.ts index 8ab06f547..f3cf75a65 100644 --- a/src/Squidex/app/features/settings/pages/languages/languages-page.component.ts +++ b/src/Squidex/app/features/settings/pages/languages/languages-page.component.ts @@ -105,7 +105,7 @@ export class LanguagesPageComponent extends AppComponentBase implements OnInit { private loadAllLanguages() { this.languagesService.getLanguages().retry(2) .subscribe(languages => { - this.allLanguages = languages; + this.allLanguages = ImmutableArray.of(languages).sortByStringAsc(l => l.englishName).values; this.updateNewLanguages(); }, error => { diff --git a/src/Squidex/app/shared/services/schemas.fields.spec.ts b/src/Squidex/app/shared/services/schemas.fields.spec.ts index 6bdafcf54..5c136cc3c 100644 --- a/src/Squidex/app/shared/services/schemas.fields.spec.ts +++ b/src/Squidex/app/shared/services/schemas.fields.spec.ts @@ -62,7 +62,7 @@ describe('AssetsField', () => { const field = createField(new AssetsFieldPropertiesDto(null, null, null, true, false, 1, 1)); it('should create validators', () => { - expect(field.createValidators().length).toBe(3); + expect(field.createValidators(false).length).toBe(3); }); it('should format to empty string if null', () => { @@ -82,7 +82,7 @@ describe('BooleanField', () => { const field = createField(new BooleanFieldPropertiesDto(null, null, null, true, false, 'Checkbox')); it('should create validators', () => { - expect(field.createValidators().length).toBe(1); + expect(field.createValidators(false).length).toBe(1); }); it('should format to empty string if null', () => { @@ -102,7 +102,7 @@ describe('DateTimeField', () => { const field = createField(new DateTimeFieldPropertiesDto(null, null, null, true, false, 'Date')); it('should create validators', () => { - expect(field.createValidators().length).toBe(1); + expect(field.createValidators(false).length).toBe(1); }); it('should format to empty string if null', () => { @@ -130,7 +130,7 @@ describe('GeolocationField', () => { const field = createField(new GeolocationFieldPropertiesDto(null, null, null, true, false, 'Default')); it('should create validators', () => { - expect(field.createValidators().length).toBe(1); + expect(field.createValidators(false).length).toBe(1); }); it('should format to empty string if null', () => { @@ -146,7 +146,7 @@ describe('JsonField', () => { const field = createField(new JsonFieldPropertiesDto(null, null, null, true, false)); it('should create validators', () => { - expect(field.createValidators().length).toBe(1); + expect(field.createValidators(false).length).toBe(1); }); it('should format to empty string if null', () => { @@ -162,7 +162,7 @@ describe('NumberField', () => { const field = createField(new NumberFieldPropertiesDto(null, null, null, true, false, 'Input', undefined, 3, 1, [1, 2, 3])); it('should create validators', () => { - expect(field.createValidators().length).toBe(4); + expect(field.createValidators(false).length).toBe(4); }); it('should format to empty string if null', () => { @@ -178,7 +178,7 @@ describe('ReferencesField', () => { const field = createField(new ReferencesFieldPropertiesDto(null, null, null, true, false, 1, 1)); it('should create validators', () => { - expect(field.createValidators().length).toBe(3); + expect(field.createValidators(false).length).toBe(3); }); it('should format to empty string if null', () => { @@ -198,7 +198,7 @@ describe('NumberField', () => { const field = createField(new StringFieldPropertiesDto(null, null, null, true, false, 'Input', undefined, 'pattern', undefined, 3, 1, ['1', '2'])); it('should create validators', () => { - expect(field.createValidators().length).toBe(5); + expect(field.createValidators(false).length).toBe(5); }); it('should format to empty string if null', () => { diff --git a/src/Squidex/app/shared/services/schemas.service.ts b/src/Squidex/app/shared/services/schemas.service.ts index 18d739328..0a13903c9 100644 --- a/src/Squidex/app/shared/services/schemas.service.ts +++ b/src/Squidex/app/shared/services/schemas.service.ts @@ -245,8 +245,8 @@ export class FieldDto { return this.properties.formatValue(value); } - public createValidators(): ValidatorFn[] { - return this.properties.createValidators(); + public createValidators(isOptional: boolean): ValidatorFn[] { + return this.properties.createValidators(isOptional); } } @@ -263,7 +263,7 @@ export abstract class FieldPropertiesDto { public abstract formatValue(value: any): string; - public abstract createValidators(): ValidatorFn[]; + public abstract createValidators(isOptional: boolean): ValidatorFn[]; } export class StringFieldPropertiesDto extends FieldPropertiesDto { @@ -289,10 +289,10 @@ export class StringFieldPropertiesDto extends FieldPropertiesDto { return value; } - public createValidators(): ValidatorFn[] { + public createValidators(isOptional: false): ValidatorFn[] { const validators: ValidatorFn[] = []; - if (this.isRequired) { + if (this.isRequired && !isOptional) { validators.push(Validators.required); } @@ -337,10 +337,10 @@ export class NumberFieldPropertiesDto extends FieldPropertiesDto { return value; } - public createValidators(): ValidatorFn[] { + public createValidators(isOptional: boolean): ValidatorFn[] { const validators: ValidatorFn[] = []; - if (this.isRequired) { + if (this.isRequired && !isOptional) { validators.push(Validators.required); } @@ -391,10 +391,10 @@ export class DateTimeFieldPropertiesDto extends FieldPropertiesDto { } } - public createValidators(): ValidatorFn[] { + public createValidators(isOptional: boolean): ValidatorFn[] { const validators: ValidatorFn[] = []; - if (this.isRequired) { + if (this.isRequired && !isOptional) { validators.push(Validators.required); } @@ -420,10 +420,10 @@ export class BooleanFieldPropertiesDto extends FieldPropertiesDto { return value ? '✔' : '-'; } - public createValidators(): ValidatorFn[] { + public createValidators(isOptional: boolean): ValidatorFn[] { const validators: ValidatorFn[] = []; - if (this.isRequired) { + if (this.isRequired && !isOptional) { validators.push(Validators.required); } @@ -448,10 +448,10 @@ export class GeolocationFieldPropertiesDto extends FieldPropertiesDto { return `${value.longitude}, ${value.latitude}`; } - public createValidators(): ValidatorFn[] { + public createValidators(isOptional: boolean): ValidatorFn[] { const validators: ValidatorFn[] = []; - if (this.isRequired) { + if (this.isRequired && !isOptional) { validators.push(Validators.required); } @@ -482,10 +482,10 @@ export class ReferencesFieldPropertiesDto extends FieldPropertiesDto { } } - public createValidators(): ValidatorFn[] { + public createValidators(isOptional: boolean): ValidatorFn[] { const validators: ValidatorFn[] = []; - if (this.isRequired) { + if (this.isRequired && !isOptional) { validators.push(Validators.required); } @@ -523,10 +523,10 @@ export class AssetsFieldPropertiesDto extends FieldPropertiesDto { } } - public createValidators(): ValidatorFn[] { + public createValidators(isOptional: boolean): ValidatorFn[] { const validators: ValidatorFn[] = []; - if (this.isRequired) { + if (this.isRequired && !isOptional) { validators.push(Validators.required); } @@ -558,10 +558,10 @@ export class JsonFieldPropertiesDto extends FieldPropertiesDto { return ''; } - public createValidators(): ValidatorFn[] { + public createValidators(isOptional: boolean): ValidatorFn[] { const validators: ValidatorFn[] = []; - if (this.isRequired) { + if (this.isRequired && !isOptional) { validators.push(Validators.required); } diff --git a/src/Squidex/appsettings.json b/src/Squidex/appsettings.json index b4962fefa..08409956d 100644 --- a/src/Squidex/appsettings.json +++ b/src/Squidex/appsettings.json @@ -10,7 +10,7 @@ /* * Setting the flag to true, enables well formatteds json logs. */ - "human": false + "human": true }, /*