diff --git a/frontend/app/features/content/pages/content/editor/content-editor.component.html b/frontend/app/features/content/pages/content/editor/content-editor.component.html index c335989f4..98ee73d6f 100644 --- a/frontend/app/features/content/pages/content/editor/content-editor.component.html +++ b/frontend/app/features/content/pages/content/editor/content-editor.component.html @@ -23,6 +23,7 @@ [form]="contentForm" [formCompare]="contentFormCompare" [formContext]="formContext" + [formLevel]="0" [formSection]="section" [languages]="languages" [schema]="schema"> diff --git a/frontend/app/features/content/pages/content/editor/content-field.component.html b/frontend/app/features/content/pages/content/editor/content-field.component.html index 46ff7a909..a8fdcd082 100644 --- a/frontend/app/features/content/pages/content/editor/content-field.component.html +++ b/frontend/app/features/content/pages/content/editor/content-field.component.html @@ -26,6 +26,7 @@ [canUnset]="!formModel.field.isDisabled" [form]="form" [formContext]="formContext" + [formLevel]="formLevel" [formModel]="formModel.get(language)" [language]="language" [languages]="languages" @@ -39,6 +40,7 @@ [canUnset]="!formModel.field.isDisabled" [form]="form" [formContext]="formContext" + [formLevel]="formLevel" [formModel]="getControl()" [language]="language" [languages]="languages"> @@ -71,6 +73,7 @@ diff --git a/frontend/app/features/content/pages/content/editor/content-field.component.ts b/frontend/app/features/content/pages/content/editor/content-field.component.ts index 0d826bdf6..1fc72b78e 100644 --- a/frontend/app/features/content/pages/content/editor/content-field.component.ts +++ b/frontend/app/features/content/pages/content/editor/content-field.component.ts @@ -10,7 +10,7 @@ import { AppLanguageDto, AppsState, changed$, EditContentForm, FieldForm, invali import { Observable } from 'rxjs'; @Component({ - selector: 'sqx-content-field[form][formContext][formModel][language][languages][schema]', + selector: 'sqx-content-field[form][formContext][formLevel][formModel][language][languages][schema]', styleUrls: ['./content-field.component.scss'], templateUrl: './content-field.component.html', }) @@ -30,6 +30,9 @@ export class ContentFieldComponent implements OnChanges { @Input() public formContext: any; + @Input() + public formLevel: number; + @Input() public formModel: FieldForm; diff --git a/frontend/app/features/content/pages/content/editor/content-section.component.html b/frontend/app/features/content/pages/content/editor/content-section.component.html index 4d6c4e715..afe805f96 100644 --- a/frontend/app/features/content/pages/content/editor/content-section.component.html +++ b/frontend/app/features/content/pages/content/editor/content-section.component.html @@ -20,12 +20,13 @@
diff --git a/frontend/app/features/content/pages/content/editor/content-section.component.ts b/frontend/app/features/content/pages/content/editor/content-section.component.ts index 0f336ea68..7501d5fb3 100644 --- a/frontend/app/features/content/pages/content/editor/content-section.component.ts +++ b/frontend/app/features/content/pages/content/editor/content-section.component.ts @@ -14,7 +14,7 @@ interface State { } @Component({ - selector: 'sqx-content-section[form][formContext][formSection][language][languages][schema]', + selector: 'sqx-content-section[form][formContext][formLevel][formSection][language][languages][schema]', styleUrls: ['./content-section.component.scss'], templateUrl: './content-section.component.html', changeDetection: ChangeDetectionStrategy.OnPush, @@ -32,6 +32,9 @@ export class ContentSectionComponent extends StatefulComponent implements @Input() public formCompare?: EditContentForm | null; + @Input() + public formLevel: number; + @Input() public formContext: any; diff --git a/frontend/app/features/content/shared/forms/array-editor.component.html b/frontend/app/features/content/shared/forms/array-editor.component.html index 91162cf1b..b5a68ccaf 100644 --- a/frontend/app/features/content/shared/forms/array-editor.component.html +++ b/frontend/app/features/content/shared/forms/array-editor.component.html @@ -12,6 +12,7 @@ [canUnset]="canUnset" [form]="form" [formContext]="formContext" + [formLevel]="formLevel + 1" [formModel]="itemForm" [index]="i" [isCollapsedInitial]="isCollapsedInitial" @@ -34,6 +35,7 @@ [canUnset]="canUnset" [form]="form" [formContext]="formContext" + [formLevel]="formLevel + 1" [formModel]="itemForm" [index]="i" [isCollapsedInitial]="isCollapsedInitial" diff --git a/frontend/app/features/content/shared/forms/array-editor.component.ts b/frontend/app/features/content/shared/forms/array-editor.component.ts index e96ac2f24..2ac0135d0 100644 --- a/frontend/app/features/content/shared/forms/array-editor.component.ts +++ b/frontend/app/features/content/shared/forms/array-editor.component.ts @@ -13,7 +13,7 @@ import { map } from 'rxjs/operators'; import { ArrayItemComponent } from './array-item.component'; @Component({ - selector: 'sqx-array-editor[form][formContext][formModel][language][languages]', + selector: 'sqx-array-editor[form][formContext][formLevel][formModel][language][languages]', styleUrls: ['./array-editor.component.scss'], templateUrl: './array-editor.component.html', changeDetection: ChangeDetectionStrategy.OnPush, @@ -28,6 +28,9 @@ export class ArrayEditorComponent implements OnChanges { @Input() public formContext: any; + @Input() + public formLevel: number; + @Input() public formModel: FieldArrayForm; @@ -81,7 +84,7 @@ export class ArrayEditorComponent implements OnChanges { return disabled || items.length >= maxItems; })); - this.isCollapsedInitial = this.localStore.getBoolean(this.expandedKey()); + this.isCollapsedInitial = this.formLevel > 0 || this.localStore.getBoolean(this.expandedKey()); } } diff --git a/frontend/app/features/content/shared/forms/array-item.component.html b/frontend/app/features/content/shared/forms/array-item.component.html index 2c6fb0769..0378ca05e 100644 --- a/frontend/app/features/content/shared/forms/array-item.component.html +++ b/frontend/app/features/content/shared/forms/array-item.component.html @@ -48,6 +48,7 @@ [canUnset]="canUnset" [form]="form" [formContext]="formContext" + [formLevel]="formLevel" [formSection]="$any(section)" [index]="index" [language]="language" diff --git a/frontend/app/features/content/shared/forms/array-item.component.ts b/frontend/app/features/content/shared/forms/array-item.component.ts index da76945e1..27717c38c 100644 --- a/frontend/app/features/content/shared/forms/array-item.component.ts +++ b/frontend/app/features/content/shared/forms/array-item.component.ts @@ -17,7 +17,7 @@ interface State { } @Component({ - selector: 'sqx-array-item[form][formContext][language][languages][index]', + selector: 'sqx-array-item[form][formContext][formLevel][language][languages][index]', styleUrls: ['./array-item.component.scss'], templateUrl: './array-item.component.html', changeDetection: ChangeDetectionStrategy.OnPush, @@ -38,6 +38,9 @@ export class ArrayItemComponent extends StatefulComponent implements OnCh @Input() public formContext: any; + @Input() + public formLevel: number; + @Input() public formModel: ObjectFormBase; diff --git a/frontend/app/features/content/shared/forms/component-section.component.html b/frontend/app/features/content/shared/forms/component-section.component.html index 1b84fc240..d1f58b8dd 100644 --- a/frontend/app/features/content/shared/forms/component-section.component.html +++ b/frontend/app/features/content/shared/forms/component-section.component.html @@ -12,6 +12,7 @@ [canUnset]="canUnset" [form]="form" [formContext]="formContext" + [formLevel]="formLevel" [formModel]="child" [index]="index" [canUnset]="canUnset" diff --git a/frontend/app/features/content/shared/forms/component-section.component.ts b/frontend/app/features/content/shared/forms/component-section.component.ts index 5bf563361..111e8c05a 100644 --- a/frontend/app/features/content/shared/forms/component-section.component.ts +++ b/frontend/app/features/content/shared/forms/component-section.component.ts @@ -10,7 +10,7 @@ import { AbstractContentForm, AppLanguageDto, EditContentForm, FieldDto, FieldSe import { FieldEditorComponent } from './field-editor.component'; @Component({ - selector: 'sqx-component-section[form][formContext][formSection][language][languages]', + selector: 'sqx-component-section[form][formContext][formLevel][formSection][language][languages]', styleUrls: ['./component-section.component.scss'], templateUrl: './component-section.component.html', changeDetection: ChangeDetectionStrategy.OnPush, @@ -22,6 +22,9 @@ export class ComponentSectionComponent { @Input() public formContext: any; + @Input() + public formLevel: number; + @Input() public formSection: FieldSection; diff --git a/frontend/app/features/content/shared/forms/component.component.html b/frontend/app/features/content/shared/forms/component.component.html index c1ddadaf0..4651c8c5f 100644 --- a/frontend/app/features/content/shared/forms/component.component.html +++ b/frontend/app/features/content/shared/forms/component.component.html @@ -9,6 +9,7 @@ [canUnset]="canUnset" [form]="form" [formContext]="formContext" + [formLevel]="formLevel + 1" [formSection]="$any(section)" [language]="language" [languages]="languages"> diff --git a/frontend/app/features/content/shared/forms/component.component.ts b/frontend/app/features/content/shared/forms/component.component.ts index 73b336b22..e7e3c06d4 100644 --- a/frontend/app/features/content/shared/forms/component.component.ts +++ b/frontend/app/features/content/shared/forms/component.component.ts @@ -10,7 +10,7 @@ import { AppLanguageDto, ComponentFieldPropertiesDto, ComponentForm, EditContent import { ComponentSectionComponent } from './component-section.component'; @Component({ - selector: 'sqx-component[form][formContext][formModel][language][languages]', + selector: 'sqx-component[form][formContext][formLevel][formModel][language][languages]', styleUrls: ['./component.component.scss'], templateUrl: './component.component.html', changeDetection: ChangeDetectionStrategy.OnPush, @@ -28,6 +28,9 @@ export class ComponentComponent extends ResourceOwner implements OnChanges { @Input() public formContext: any; + @Input() + public formLevel: number; + @Input() public formModel: ComponentForm; diff --git a/frontend/app/features/content/shared/forms/field-editor.component.html b/frontend/app/features/content/shared/forms/field-editor.component.html index 74cf072fb..210123f16 100644 --- a/frontend/app/features/content/shared/forms/field-editor.component.html +++ b/frontend/app/features/content/shared/forms/field-editor.component.html @@ -24,6 +24,7 @@ @@ -60,6 +62,7 @@ ; diff --git a/frontend/app/features/content/shared/references/content-creator.component.html b/frontend/app/features/content/shared/references/content-creator.component.html index 13b66335e..731ad1246 100644 --- a/frontend/app/features/content/shared/references/content-creator.component.html +++ b/frontend/app/features/content/shared/references/content-creator.component.html @@ -36,6 +36,7 @@ [(language)]="language" [form]="contentForm" [formContext]="formContext" + [formLevel]="0" [formSection]="section" [isCompact]="true" [languages]="languages"