@alfresco/aca-content 7.3.0-21393293138 → 7.3.0-21431989670

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ import * as i2 from '@alfresco/adf-core';
2
2
  import { CardViewSelectItemModel, CardViewTextItemModel, CardViewBoolItemModel, CardViewComponent, CardViewUpdateService, NotificationService, EmptyContentComponent, ConfirmDialogComponent, provideTranslations } from '@alfresco/adf-core';
3
3
  import { provideExtensionConfig, provideExtensions } from '@alfresco/adf-extensions';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, forwardRef, Input, ViewEncapsulation, Component, inject, DestroyRef, HostBinding, EventEmitter, Output, Inject, ChangeDetectionStrategy, NgModule } from '@angular/core';
5
+ import { Injectable, forwardRef, Input, ViewEncapsulation, Component, inject, DestroyRef, ElementRef, ViewChildren, HostBinding, EventEmitter, Output, Inject, ChangeDetectionStrategy, NgModule } from '@angular/core';
6
6
  import * as i3$3 from '@angular/router';
7
7
  import { RouterModule, provideRouter } from '@angular/router';
8
8
  import * as i1$1 from '@angular/common';
@@ -27,6 +27,7 @@ import * as i5 from '@angular/material/input';
27
27
  import { MatInputModule } from '@angular/material/input';
28
28
  import * as i2$1 from '@angular/material/checkbox';
29
29
  import { MatCheckboxModule } from '@angular/material/checkbox';
30
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
30
31
  import * as i4 from '@angular/material/select';
31
32
  import { MatSelectModule } from '@angular/material/select';
32
33
  import * as i6$1 from '@angular/material/menu';
@@ -39,7 +40,7 @@ import * as i7 from '@angular/material/progress-spinner';
39
40
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
40
41
  import * as i2$4 from '@alfresco/aca-shared';
41
42
  import { AppSettingsService, PageLayoutComponent, GenericErrorComponent, PluginEnabledGuard } from '@alfresco/aca-shared';
42
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
43
+ import { FocusTrapFactory } from '@angular/cdk/a11y';
43
44
  import { ActionsApi } from '@alfresco/js-api';
44
45
  import * as i2$5 from '@angular/material/slide-toggle';
45
46
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
@@ -824,6 +825,7 @@ class RuleCompositeConditionUiComponent {
824
825
  secondaryBackground = false;
825
826
  childCondition = false;
826
827
  readOnly = false;
828
+ conditionRows;
827
829
  isOrImplemented = false;
828
830
  form = new FormGroup({
829
831
  inverted: new FormControl(),
@@ -831,12 +833,16 @@ class RuleCompositeConditionUiComponent {
831
833
  compositeConditions: new FormArray([]),
832
834
  simpleConditions: new FormArray([])
833
835
  });
834
- formSubscription = this.form.valueChanges.subscribe((value) => {
835
- this.onChange(value);
836
- this.onTouch();
837
- });
838
836
  invertedControl = this.form.get('inverted');
839
837
  booleanModeControl = this.form.get('booleanMode');
838
+ destroyRef = inject(DestroyRef);
839
+ focusTrapFactory = inject(FocusTrapFactory);
840
+ constructor() {
841
+ this.form.valueChanges.pipe(takeUntilDestroyed()).subscribe((value) => {
842
+ this.onChange(value);
843
+ this.onTouch();
844
+ });
845
+ }
840
846
  get compositeConditionsFormArray() {
841
847
  return this.form.get('compositeConditions');
842
848
  }
@@ -851,6 +857,11 @@ class RuleCompositeConditionUiComponent {
851
857
  }
852
858
  onChange = () => undefined;
853
859
  onTouch = () => undefined;
860
+ ngAfterViewInit() {
861
+ this.conditionRows.changes.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
862
+ this.focusLastCondition();
863
+ });
864
+ }
854
865
  writeValue(value) {
855
866
  this.form.get('inverted').setValue(value.inverted);
856
867
  this.form.get('booleanMode').setValue(value.booleanMode);
@@ -889,9 +900,6 @@ class RuleCompositeConditionUiComponent {
889
900
  };
890
901
  this.compositeConditionsFormArray.push(new FormControl(newCondition));
891
902
  }
892
- ngOnDestroy() {
893
- this.formSubscription.unsubscribe();
894
- }
895
903
  ngOnChanges(changes) {
896
904
  const readOnly = changes['readOnly']?.currentValue;
897
905
  if (readOnly !== undefined && readOnly !== null) {
@@ -905,6 +913,18 @@ class RuleCompositeConditionUiComponent {
905
913
  }
906
914
  }
907
915
  }
916
+ focusLastCondition() {
917
+ const rows = this.conditionRows.toArray();
918
+ const lastRow = rows[rows.length - 1]?.nativeElement;
919
+ if (!lastRow) {
920
+ return;
921
+ }
922
+ setTimeout(() => {
923
+ const focusTrap = this.focusTrapFactory.create(lastRow);
924
+ focusTrap.focusFirstTabbableElement();
925
+ focusTrap.destroy();
926
+ });
927
+ }
908
928
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RuleCompositeConditionUiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
909
929
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: RuleCompositeConditionUiComponent, isStandalone: true, selector: "aca-rule-composite-condition", inputs: { secondaryBackground: "secondaryBackground", childCondition: "childCondition", readOnly: "readOnly" }, host: { properties: { "class.aca-secondaryBackground": "this.secondaryBackground", "class.aca-childCompositeCondition": "this.childCondition" }, classAttribute: "aca-rule-composite-condition" }, providers: [
910
930
  {
@@ -912,7 +932,7 @@ class RuleCompositeConditionUiComponent {
912
932
  multi: true,
913
933
  useExisting: forwardRef(() => RuleCompositeConditionUiComponent)
914
934
  }
915
- ], usesOnChanges: true, ngImport: i0, template: "<form class=\"aca-rule-composite-condition__form\" [formGroup]=\"form\">\n <div *ngIf=\"hasNoConditions\" class=\"aca-rule-composite-condition__form__no-conditions\" data-automation-id=\"no-conditions\">\n {{ 'ACA_FOLDER_RULES.RULE_DETAILS.' + (childCondition ? 'NO_CONDITIONS_IN_GROUP' : 'NO_CONDITIONS') | translate }}\n </div>\n <div *ngIf=\"!hasNoConditions\" class=\"aca-rule-composite-condition__form__no-conditions\" data-automation-id=\"label-with-conditions\">\n <span id=\"conditions-group-label-{{ childCondition ? 'nested' : 'main' }}\">\n {{ (childCondition ? 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.GROUP_CONDITIONS' : 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.CONDITIONS') | translate }}\n </span>\n </div>\n\n <fieldset\n [attr.aria-labelledby]=\"'conditions-group-label-' + (childCondition ? 'nested' : 'main')\"\n class=\"aca-rule-composite-condition__form__row\"\n *ngFor=\"let control of conditionFormControls; let i = index\">\n <mat-form-field *ngIf=\"i === 0\">\n <mat-label>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.LOGIC_OPERATOR' | translate }}</mat-label>\n <mat-select\n [formControl]=\"invertedControl\"\n [disabled]=\"readOnly\">\n <mat-option [value]=\"false\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.IF' | translate }}</mat-option>\n <mat-option [value]=\"true\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.NOT_IF' | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"i > 0\" class=\"aca-rule-composite-condition__boolean-mode-control\">\n <mat-select\n [formControl]=\"booleanModeControl\">\n <mat-option value=\"and\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.AND' | translate }}</mat-option>\n <mat-option value=\"or\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.OR' | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <aca-rule-composite-condition\n *ngIf=\"!isFormControlSimpleCondition(control)\"\n [secondaryBackground]=\"!secondaryBackground\"\n [childCondition]=\"true\"\n [formControl]=\"control\"\n [readOnly]=\"readOnly\" />\n\n <aca-rule-simple-condition\n *ngIf=\"isFormControlSimpleCondition(control)\"\n [formControl]=\"control\"\n [readOnly]=\"readOnly\" />\n\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" *ngIf=\"!readOnly\" data-automation-id=\"condition-actions-button\"\n [attr.aria-label]=\"'ACA_FOLDER_RULES.EDIT_RULE_DIALOG.OPEN_ACTION_MENU' | translate\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n <mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n [title]=\"'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.REMOVE' | translate\"\n (click)=\"removeCondition(control)\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.REMOVE' | translate }}</span>\n </button>\n </mat-menu>\n </fieldset>\n\n <div class=\"aca-rule-composite-condition__form__actions\" *ngIf=\"!readOnly\" data-automation-id=\"add-actions\">\n <button mat-flat-button (click)=\"addSimpleCondition()\" data-automation-id=\"add-condition-button\">\n <mat-icon class=\"aca-rule-composite-condition__form__actions-add\">add</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.ADD_CONDITION' | translate }}</span>\n </button>\n <button mat-flat-button (click)=\"addCompositeCondition()\" data-automation-id=\"add-group-button\">\n <mat-icon class=\"aca-rule-composite-condition__form__actions-add\">add</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.ADD_GROUP' | translate }}</span>\n </button>\n </div>\n</form>\n", styles: [".aca-rule-composite-condition{display:block;border-radius:8px}.aca-rule-composite-condition fieldset{border:none;margin:0;padding:0}.aca-rule-composite-condition.aca-childCompositeCondition{padding:8px 16px;background-color:#fff}.aca-rule-composite-condition.aca-childCompositeCondition.aca-secondaryBackground{background-color:#f2f2f2}.aca-rule-composite-condition__form{display:flex;flex-direction:column;gap:8px}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row{display:flex;gap:8px}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row>:nth-child(1){width:7em;height:fit-content;font-size:inherit}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row>:nth-child(2){flex:1}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row .aca-rule-composite-condition__boolean-mode-control .mat-mdc-text-field-wrapper{background-color:unset}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row .aca-rule-composite-condition__boolean-mode-control .mat-mdc-text-field-wrapper .mat-mdc-select-disabled{color:var(--adf-theme-foreground-text-color)}.aca-rule-composite-condition__form__no-conditions{color:var(--theme-disabled-text-color);margin:.5em 0}.aca-rule-composite-condition__form__actions{padding-left:8px}.aca-rule-composite-condition__form__actions button:not(:disabled){background-color:unset}.aca-rule-composite-condition__form__actions .aca-rule-composite-condition__form__actions-add{width:24px;height:24px;font-size:24px;margin-right:0}\n"], dependencies: [{ kind: "component", type: RuleCompositeConditionUiComponent, selector: "aca-rule-composite-condition", inputs: ["secondaryBackground", "childCondition", "readOnly"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: RuleSimpleConditionUiComponent, selector: "aca-rule-simple-condition", inputs: ["readOnly"] }], encapsulation: i0.ViewEncapsulation.None });
935
+ ], viewQueries: [{ propertyName: "conditionRows", predicate: ["conditionRow"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<form class=\"aca-rule-composite-condition__form\" [formGroup]=\"form\">\n <div *ngIf=\"hasNoConditions\" class=\"aca-rule-composite-condition__form__no-conditions\" data-automation-id=\"no-conditions\">\n {{ 'ACA_FOLDER_RULES.RULE_DETAILS.' + (childCondition ? 'NO_CONDITIONS_IN_GROUP' : 'NO_CONDITIONS') | translate }}\n </div>\n <div *ngIf=\"!hasNoConditions\" class=\"aca-rule-composite-condition__form__no-conditions\" data-automation-id=\"label-with-conditions\">\n <span id=\"conditions-group-label-{{ childCondition ? 'nested' : 'main' }}\">\n {{ (childCondition ? 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.GROUP_CONDITIONS' : 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.CONDITIONS') | translate }}\n </span>\n </div>\n\n <fieldset\n #conditionRow\n [attr.aria-labelledby]=\"'conditions-group-label-' + (childCondition ? 'nested' : 'main')\"\n class=\"aca-rule-composite-condition__form__row\"\n *ngFor=\"let control of conditionFormControls; let i = index\">\n <mat-form-field *ngIf=\"i === 0\">\n <mat-label>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.LOGIC_OPERATOR' | translate }}</mat-label>\n <mat-select\n [formControl]=\"invertedControl\"\n [disabled]=\"readOnly\">\n <mat-option [value]=\"false\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.IF' | translate }}</mat-option>\n <mat-option [value]=\"true\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.NOT_IF' | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"i > 0\" class=\"aca-rule-composite-condition__boolean-mode-control\">\n <mat-select\n [formControl]=\"booleanModeControl\">\n <mat-option value=\"and\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.AND' | translate }}</mat-option>\n <mat-option value=\"or\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.OR' | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <aca-rule-composite-condition\n *ngIf=\"!isFormControlSimpleCondition(control)\"\n [secondaryBackground]=\"!secondaryBackground\"\n [childCondition]=\"true\"\n [formControl]=\"control\"\n [readOnly]=\"readOnly\" />\n\n <aca-rule-simple-condition\n *ngIf=\"isFormControlSimpleCondition(control)\"\n [formControl]=\"control\"\n [readOnly]=\"readOnly\" />\n\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" *ngIf=\"!readOnly\" data-automation-id=\"condition-actions-button\"\n [attr.aria-label]=\"'ACA_FOLDER_RULES.EDIT_RULE_DIALOG.OPEN_ACTION_MENU' | translate\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n <mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n [title]=\"'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.REMOVE' | translate\"\n (click)=\"removeCondition(control)\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.REMOVE' | translate }}</span>\n </button>\n </mat-menu>\n </fieldset>\n\n <div class=\"aca-rule-composite-condition__form__actions\" *ngIf=\"!readOnly\" data-automation-id=\"add-actions\">\n <button mat-flat-button (click)=\"addSimpleCondition()\" data-automation-id=\"add-condition-button\">\n <mat-icon class=\"aca-rule-composite-condition__form__actions-add\">add</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.ADD_CONDITION' | translate }}</span>\n </button>\n <button mat-flat-button (click)=\"addCompositeCondition()\" data-automation-id=\"add-group-button\">\n <mat-icon class=\"aca-rule-composite-condition__form__actions-add\">add</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.ADD_GROUP' | translate }}</span>\n </button>\n </div>\n</form>\n", styles: [".aca-rule-composite-condition{display:block;border-radius:8px}.aca-rule-composite-condition fieldset{border:none;margin:0;padding:0}.aca-rule-composite-condition.aca-childCompositeCondition{padding:8px 16px;background-color:#fff}.aca-rule-composite-condition.aca-childCompositeCondition.aca-secondaryBackground{background-color:#f2f2f2}.aca-rule-composite-condition__form{display:flex;flex-direction:column;gap:8px}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row{display:flex;gap:8px}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row>:nth-child(1){width:7em;height:fit-content;font-size:inherit}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row>:nth-child(2){flex:1}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row .aca-rule-composite-condition__boolean-mode-control .mat-mdc-text-field-wrapper{background-color:unset}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row .aca-rule-composite-condition__boolean-mode-control .mat-mdc-text-field-wrapper .mat-mdc-select-disabled{color:var(--adf-theme-foreground-text-color)}.aca-rule-composite-condition__form__no-conditions{color:var(--theme-disabled-text-color);margin:.5em 0}.aca-rule-composite-condition__form__actions{padding-left:8px}.aca-rule-composite-condition__form__actions button:not(:disabled){background-color:unset}.aca-rule-composite-condition__form__actions .aca-rule-composite-condition__form__actions-add{width:24px;height:24px;font-size:24px;margin-right:0}\n"], dependencies: [{ kind: "component", type: RuleCompositeConditionUiComponent, selector: "aca-rule-composite-condition", inputs: ["secondaryBackground", "childCondition", "readOnly"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6$1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: RuleSimpleConditionUiComponent, selector: "aca-rule-simple-condition", inputs: ["readOnly"] }], encapsulation: i0.ViewEncapsulation.None });
916
936
  }
917
937
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: RuleCompositeConditionUiComponent, decorators: [{
918
938
  type: Component,
@@ -932,8 +952,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
932
952
  multi: true,
933
953
  useExisting: forwardRef(() => RuleCompositeConditionUiComponent)
934
954
  }
935
- ], template: "<form class=\"aca-rule-composite-condition__form\" [formGroup]=\"form\">\n <div *ngIf=\"hasNoConditions\" class=\"aca-rule-composite-condition__form__no-conditions\" data-automation-id=\"no-conditions\">\n {{ 'ACA_FOLDER_RULES.RULE_DETAILS.' + (childCondition ? 'NO_CONDITIONS_IN_GROUP' : 'NO_CONDITIONS') | translate }}\n </div>\n <div *ngIf=\"!hasNoConditions\" class=\"aca-rule-composite-condition__form__no-conditions\" data-automation-id=\"label-with-conditions\">\n <span id=\"conditions-group-label-{{ childCondition ? 'nested' : 'main' }}\">\n {{ (childCondition ? 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.GROUP_CONDITIONS' : 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.CONDITIONS') | translate }}\n </span>\n </div>\n\n <fieldset\n [attr.aria-labelledby]=\"'conditions-group-label-' + (childCondition ? 'nested' : 'main')\"\n class=\"aca-rule-composite-condition__form__row\"\n *ngFor=\"let control of conditionFormControls; let i = index\">\n <mat-form-field *ngIf=\"i === 0\">\n <mat-label>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.LOGIC_OPERATOR' | translate }}</mat-label>\n <mat-select\n [formControl]=\"invertedControl\"\n [disabled]=\"readOnly\">\n <mat-option [value]=\"false\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.IF' | translate }}</mat-option>\n <mat-option [value]=\"true\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.NOT_IF' | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"i > 0\" class=\"aca-rule-composite-condition__boolean-mode-control\">\n <mat-select\n [formControl]=\"booleanModeControl\">\n <mat-option value=\"and\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.AND' | translate }}</mat-option>\n <mat-option value=\"or\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.OR' | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <aca-rule-composite-condition\n *ngIf=\"!isFormControlSimpleCondition(control)\"\n [secondaryBackground]=\"!secondaryBackground\"\n [childCondition]=\"true\"\n [formControl]=\"control\"\n [readOnly]=\"readOnly\" />\n\n <aca-rule-simple-condition\n *ngIf=\"isFormControlSimpleCondition(control)\"\n [formControl]=\"control\"\n [readOnly]=\"readOnly\" />\n\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" *ngIf=\"!readOnly\" data-automation-id=\"condition-actions-button\"\n [attr.aria-label]=\"'ACA_FOLDER_RULES.EDIT_RULE_DIALOG.OPEN_ACTION_MENU' | translate\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n <mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n [title]=\"'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.REMOVE' | translate\"\n (click)=\"removeCondition(control)\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.REMOVE' | translate }}</span>\n </button>\n </mat-menu>\n </fieldset>\n\n <div class=\"aca-rule-composite-condition__form__actions\" *ngIf=\"!readOnly\" data-automation-id=\"add-actions\">\n <button mat-flat-button (click)=\"addSimpleCondition()\" data-automation-id=\"add-condition-button\">\n <mat-icon class=\"aca-rule-composite-condition__form__actions-add\">add</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.ADD_CONDITION' | translate }}</span>\n </button>\n <button mat-flat-button (click)=\"addCompositeCondition()\" data-automation-id=\"add-group-button\">\n <mat-icon class=\"aca-rule-composite-condition__form__actions-add\">add</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.ADD_GROUP' | translate }}</span>\n </button>\n </div>\n</form>\n", styles: [".aca-rule-composite-condition{display:block;border-radius:8px}.aca-rule-composite-condition fieldset{border:none;margin:0;padding:0}.aca-rule-composite-condition.aca-childCompositeCondition{padding:8px 16px;background-color:#fff}.aca-rule-composite-condition.aca-childCompositeCondition.aca-secondaryBackground{background-color:#f2f2f2}.aca-rule-composite-condition__form{display:flex;flex-direction:column;gap:8px}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row{display:flex;gap:8px}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row>:nth-child(1){width:7em;height:fit-content;font-size:inherit}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row>:nth-child(2){flex:1}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row .aca-rule-composite-condition__boolean-mode-control .mat-mdc-text-field-wrapper{background-color:unset}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row .aca-rule-composite-condition__boolean-mode-control .mat-mdc-text-field-wrapper .mat-mdc-select-disabled{color:var(--adf-theme-foreground-text-color)}.aca-rule-composite-condition__form__no-conditions{color:var(--theme-disabled-text-color);margin:.5em 0}.aca-rule-composite-condition__form__actions{padding-left:8px}.aca-rule-composite-condition__form__actions button:not(:disabled){background-color:unset}.aca-rule-composite-condition__form__actions .aca-rule-composite-condition__form__actions-add{width:24px;height:24px;font-size:24px;margin-right:0}\n"] }]
936
- }], propDecorators: { secondaryBackground: [{
955
+ ], template: "<form class=\"aca-rule-composite-condition__form\" [formGroup]=\"form\">\n <div *ngIf=\"hasNoConditions\" class=\"aca-rule-composite-condition__form__no-conditions\" data-automation-id=\"no-conditions\">\n {{ 'ACA_FOLDER_RULES.RULE_DETAILS.' + (childCondition ? 'NO_CONDITIONS_IN_GROUP' : 'NO_CONDITIONS') | translate }}\n </div>\n <div *ngIf=\"!hasNoConditions\" class=\"aca-rule-composite-condition__form__no-conditions\" data-automation-id=\"label-with-conditions\">\n <span id=\"conditions-group-label-{{ childCondition ? 'nested' : 'main' }}\">\n {{ (childCondition ? 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.GROUP_CONDITIONS' : 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.CONDITIONS') | translate }}\n </span>\n </div>\n\n <fieldset\n #conditionRow\n [attr.aria-labelledby]=\"'conditions-group-label-' + (childCondition ? 'nested' : 'main')\"\n class=\"aca-rule-composite-condition__form__row\"\n *ngFor=\"let control of conditionFormControls; let i = index\">\n <mat-form-field *ngIf=\"i === 0\">\n <mat-label>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.LOGIC_OPERATOR' | translate }}</mat-label>\n <mat-select\n [formControl]=\"invertedControl\"\n [disabled]=\"readOnly\">\n <mat-option [value]=\"false\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.IF' | translate }}</mat-option>\n <mat-option [value]=\"true\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.NOT_IF' | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"i > 0\" class=\"aca-rule-composite-condition__boolean-mode-control\">\n <mat-select\n [formControl]=\"booleanModeControl\">\n <mat-option value=\"and\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.AND' | translate }}</mat-option>\n <mat-option value=\"or\">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.OR' | translate }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <aca-rule-composite-condition\n *ngIf=\"!isFormControlSimpleCondition(control)\"\n [secondaryBackground]=\"!secondaryBackground\"\n [childCondition]=\"true\"\n [formControl]=\"control\"\n [readOnly]=\"readOnly\" />\n\n <aca-rule-simple-condition\n *ngIf=\"isFormControlSimpleCondition(control)\"\n [formControl]=\"control\"\n [readOnly]=\"readOnly\" />\n\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" *ngIf=\"!readOnly\" data-automation-id=\"condition-actions-button\"\n [attr.aria-label]=\"'ACA_FOLDER_RULES.EDIT_RULE_DIALOG.OPEN_ACTION_MENU' | translate\">\n <mat-icon>more_vert</mat-icon>\n </button>\n\n <mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n [title]=\"'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.REMOVE' | translate\"\n (click)=\"removeCondition(control)\">\n <mat-icon>delete</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.REMOVE' | translate }}</span>\n </button>\n </mat-menu>\n </fieldset>\n\n <div class=\"aca-rule-composite-condition__form__actions\" *ngIf=\"!readOnly\" data-automation-id=\"add-actions\">\n <button mat-flat-button (click)=\"addSimpleCondition()\" data-automation-id=\"add-condition-button\">\n <mat-icon class=\"aca-rule-composite-condition__form__actions-add\">add</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.ADD_CONDITION' | translate }}</span>\n </button>\n <button mat-flat-button (click)=\"addCompositeCondition()\" data-automation-id=\"add-group-button\">\n <mat-icon class=\"aca-rule-composite-condition__form__actions-add\">add</mat-icon>\n <span>{{ 'ACA_FOLDER_RULES.RULE_DETAILS.CONDITION_BUTTONS.ADD_GROUP' | translate }}</span>\n </button>\n </div>\n</form>\n", styles: [".aca-rule-composite-condition{display:block;border-radius:8px}.aca-rule-composite-condition fieldset{border:none;margin:0;padding:0}.aca-rule-composite-condition.aca-childCompositeCondition{padding:8px 16px;background-color:#fff}.aca-rule-composite-condition.aca-childCompositeCondition.aca-secondaryBackground{background-color:#f2f2f2}.aca-rule-composite-condition__form{display:flex;flex-direction:column;gap:8px}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row{display:flex;gap:8px}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row>:nth-child(1){width:7em;height:fit-content;font-size:inherit}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row>:nth-child(2){flex:1}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row .aca-rule-composite-condition__boolean-mode-control .mat-mdc-text-field-wrapper{background-color:unset}.aca-rule-composite-condition__form .aca-rule-composite-condition__form__row .aca-rule-composite-condition__boolean-mode-control .mat-mdc-text-field-wrapper .mat-mdc-select-disabled{color:var(--adf-theme-foreground-text-color)}.aca-rule-composite-condition__form__no-conditions{color:var(--theme-disabled-text-color);margin:.5em 0}.aca-rule-composite-condition__form__actions{padding-left:8px}.aca-rule-composite-condition__form__actions button:not(:disabled){background-color:unset}.aca-rule-composite-condition__form__actions .aca-rule-composite-condition__form__actions-add{width:24px;height:24px;font-size:24px;margin-right:0}\n"] }]
956
+ }], ctorParameters: () => [], propDecorators: { secondaryBackground: [{
937
957
  type: HostBinding,
938
958
  args: ['class.aca-secondaryBackground']
939
959
  }, {
@@ -945,6 +965,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
945
965
  type: Input
946
966
  }], readOnly: [{
947
967
  type: Input
968
+ }], conditionRows: [{
969
+ type: ViewChildren,
970
+ args: ['conditionRow', { read: ElementRef }]
948
971
  }] } });
949
972
 
950
973
  /*!