[ACS-8956] Add new ESLint rule for self-closing tags (#4211)

This commit is contained in:
MichalKinas 2024-10-31 09:54:23 +01:00 committed by GitHub
parent d25c08a2c5
commit cacc4149fa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
60 changed files with 200 additions and 256 deletions

View File

@ -315,7 +315,8 @@
"@angular-eslint/template/no-negated-async": "off", "@angular-eslint/template/no-negated-async": "off",
"@angular-eslint/template/no-positive-tabindex": "error", "@angular-eslint/template/no-positive-tabindex": "error",
"@angular-eslint/template/eqeqeq": "error", "@angular-eslint/template/eqeqeq": "error",
"@angular-eslint/template/no-call-expression": "off" "@angular-eslint/template/no-call-expression": "off",
"@angular-eslint/template/prefer-self-closing-tags": "error"
} }
}, },
{ {

View File

@ -1 +1 @@
<router-outlet></router-outlet> <router-outlet />

View File

@ -4,6 +4,4 @@
logoImageUrl="./assets/images/alfresco-logo.svg" logoImageUrl="./assets/images/alfresco-logo.svg"
backgroundImageUrl="./assets/images/Wallpaper-BG-generic.svg" backgroundImageUrl="./assets/images/Wallpaper-BG-generic.svg"
[showRememberMe]="false" [showRememberMe]="false"
[showLoginActions]="false" [showLoginActions]="false" />
>
</adf-login>

View File

@ -10,25 +10,25 @@
<adf-about> <adf-about>
<adf-about-panel *ngIf="dev" [label]="'ABOUT.SERVER_SETTINGS.TITLE' | translate"> <adf-about-panel *ngIf="dev" [label]="'ABOUT.SERVER_SETTINGS.TITLE' | translate">
<ng-template> <ng-template>
<adf-about-server-settings></adf-about-server-settings> <adf-about-server-settings />
</ng-template> </ng-template>
</adf-about-panel> </adf-about-panel>
<adf-about-panel [label]="'ABOUT.REPOSITORY' | translate" *ngIf="repository"> <adf-about-panel [label]="'ABOUT.REPOSITORY' | translate" *ngIf="repository">
<ng-template> <ng-template>
<adf-about-repository-info [data]="repository"></adf-about-repository-info> <adf-about-repository-info [data]="repository" />
</ng-template> </ng-template>
</adf-about-panel> </adf-about-panel>
<adf-about-panel *ngIf="dev" [label]="'ABOUT.PACKAGES.TITLE' | translate"> <adf-about-panel *ngIf="dev" [label]="'ABOUT.PACKAGES.TITLE' | translate">
<ng-template> <ng-template>
<adf-about-package-list [dependencies]="packageJson?.dependencies"></adf-about-package-list> <adf-about-package-list [dependencies]="packageJson?.dependencies" />
</ng-template> </ng-template>
</adf-about-panel> </adf-about-panel>
<adf-about-panel *ngIf="extensions$ | async as extensions" [label]="'ABOUT.PLUGINS.TITLE' | translate"> <adf-about-panel *ngIf="extensions$ | async as extensions" [label]="'ABOUT.PLUGINS.TITLE' | translate">
<ng-template> <ng-template>
<adf-about-extension-list [data]="extensions"></adf-about-extension-list> <adf-about-extension-list [data]="extensions" />
</ng-template> </ng-template>
</adf-about-panel> </adf-about-panel>
</adf-about> </adf-about>

View File

@ -13,7 +13,7 @@
<div class="aca-main-content"> <div class="aca-main-content">
<ng-container *ngIf="((ruleSetsLoading$ | async) && (inheritedRuleSets$ | async).length === 0) || (actionsLoading$ | async); else onLoaded"> <ng-container *ngIf="((ruleSetsLoading$ | async) && (inheritedRuleSets$ | async).length === 0) || (actionsLoading$ | async); else onLoaded">
<mat-progress-bar color="primary" mode="indeterminate"></mat-progress-bar> <mat-progress-bar color="primary" mode="indeterminate" />
</ng-container> </ng-container>
<ng-template #onLoaded> <ng-template #onLoaded>
@ -35,7 +35,7 @@
{{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.INHERIT_RULES' | translate }} {{ 'ACA_FOLDER_RULES.MANAGE_RULES.TOOLBAR.ACTIONS.INHERIT_RULES' | translate }}
</mat-slide-toggle> </mat-slide-toggle>
<mat-divider vertical class="aca-manage-rules__actions-bar__vertical-divider"></mat-divider> <mat-divider vertical class="aca-manage-rules__actions-bar__vertical-divider" />
<div class="aca-manage-rules__actions-bar__buttons"> <div class="aca-manage-rules__actions-bar__buttons">
<button <button
@ -56,7 +56,7 @@
</div> </div>
</adf-toolbar> </adf-toolbar>
<mat-divider></mat-divider> <mat-divider />
<div class="aca-manage-rules__container" *ngIf="isMainRuleSetNotEmpty || isInheritedRuleSetsNotEmpty; else emptyContent"> <div class="aca-manage-rules__container" *ngIf="isMainRuleSetNotEmpty || isInheritedRuleSetsNotEmpty; else emptyContent">
<aca-rule-list <aca-rule-list
@ -71,8 +71,7 @@
(selectRule)="onSelectRule($event)" (selectRule)="onSelectRule($event)"
(ruleEnabledChanged)="onRuleEnabledToggle($event[0], $event[1])" (ruleEnabledChanged)="onRuleEnabledToggle($event[0], $event[1])"
(ruleSetEditLinkClicked)="openLinkRulesDialog($event)" (ruleSetEditLinkClicked)="openLinkRulesDialog($event)"
(ruleSetUnlinkClicked)="onRuleSetUnlinkClicked($event)"> (ruleSetUnlinkClicked)="onRuleSetUnlinkClicked($event)" />
</aca-rule-list>
<div class="aca-manage-rules__container__rule-details"> <div class="aca-manage-rules__container__rule-details">
@ -111,8 +110,7 @@
[readOnly]="true" [readOnly]="true"
[preview]="true" [preview]="true"
[value]="selectedRule" [value]="selectedRule"
[nodeId]="nodeId"> [nodeId]="nodeId" />
</aca-rule-details>
</div> </div>
</div> </div>
</div> </div>
@ -122,14 +120,13 @@
icon="library_books" icon="library_books"
[title]="'ACA_FOLDER_RULES.MANAGE_RULES.EMPTY_RULES_LIST.TITLE' | translate" [title]="'ACA_FOLDER_RULES.MANAGE_RULES.EMPTY_RULES_LIST.TITLE' | translate"
[subtitle]="'ACA_FOLDER_RULES.MANAGE_RULES.EMPTY_RULES_LIST.SUBTITLE' | translate" [subtitle]="'ACA_FOLDER_RULES.MANAGE_RULES.EMPTY_RULES_LIST.SUBTITLE' | translate"
> />
</adf-empty-content>
</ng-template> </ng-template>
</ng-container> </ng-container>
<ng-template #genericError> <ng-template #genericError>
<div class="aca-page-layout-error"> <div class="aca-page-layout-error">
<aca-generic-error></aca-generic-error> <aca-generic-error />
</div> </div>
</ng-template> </ng-template>

View File

@ -4,8 +4,7 @@
[parameterConstraints]="parameterConstraints" [parameterConstraints]="parameterConstraints"
[readOnly]="readOnly" [readOnly]="readOnly"
[formControl]="control" [formControl]="control"
[nodeId]="nodeId"> [nodeId]="nodeId" />
</aca-rule-action>
<button <button
mat-icon-button mat-icon-button

View File

@ -18,7 +18,6 @@
data-automation-id="rule-action-card-view" data-automation-id="rule-action-card-view"
[properties]="cardViewItems" [properties]="cardViewItems"
class="aca-rule-action-full-width" class="aca-rule-action-full-width"
[editable]="!readOnly"> [editable]="!readOnly" />
</adf-card-view>
</form> </form>

View File

@ -29,14 +29,12 @@
[secondaryBackground]="!secondaryBackground" [secondaryBackground]="!secondaryBackground"
[childCondition]="true" [childCondition]="true"
[formControl]="control" [formControl]="control"
[readOnly]="readOnly"> [readOnly]="readOnly" />
</aca-rule-composite-condition>
<aca-rule-simple-condition <aca-rule-simple-condition
*ngIf="isFormControlSimpleCondition(control)" *ngIf="isFormControlSimpleCondition(control)"
[formControl]="control" [formControl]="control"
[readOnly]="readOnly"> [readOnly]="readOnly" />
</aca-rule-simple-condition>
<button mat-icon-button [matMenuTriggerFor]="menu" *ngIf="!readOnly" data-automation-id="condition-actions-button"> <button mat-icon-button [matMenuTriggerFor]="menu" *ngIf="!readOnly" data-automation-id="condition-actions-button">
<mat-icon>more_vert</mat-icon> <mat-icon>more_vert</mat-icon>

View File

@ -50,8 +50,7 @@
color="primary" color="primary"
mode="indeterminate" mode="indeterminate"
data-automation-id="auto-complete-loading-spinner" data-automation-id="auto-complete-loading-spinner"
[diameter]="25" [diameter]="25" />
></mat-progress-spinner>
</span> </span>
</mat-option> </mat-option>
<ng-template #optionList> <ng-template #optionList>

View File

@ -14,8 +14,7 @@
[value]="model" [value]="model"
[nodeId]="nodeId" [nodeId]="nodeId"
(formValueChanged)="formValue = $event" (formValueChanged)="formValue = $event"
(formValidationChanged)="onFormValidChange($event)"> (formValidationChanged)="onFormValidChange($event)" />
</aca-rule-details>
</mat-dialog-content> </mat-dialog-content>
<mat-dialog-actions align="end" class="aca-edit-rule-dialog__footer"> <mat-dialog-actions align="end" class="aca-edit-rule-dialog__footer">

View File

@ -32,13 +32,13 @@
<div class="aca-rule-details__form__row aca-rule-details__form__triggers"> <div class="aca-rule-details__form__row aca-rule-details__form__triggers">
<div class="aca-label">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.WHEN' | translate }}</div> <div class="aca-label">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.WHEN' | translate }}</div>
<div> <div>
<aca-rule-triggers formControlName="triggers" data-automation-id="rule-details-triggers-component"></aca-rule-triggers> <aca-rule-triggers formControlName="triggers" data-automation-id="rule-details-triggers-component" />
<mat-error class="aca-rule-details-error" *ngIf="triggers.hasError('required')">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.INSUFFICIENT_TRIGGERS_SELECTED' | translate }}</mat-error> <mat-error class="aca-rule-details-error" *ngIf="triggers.hasError('required')">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.INSUFFICIENT_TRIGGERS_SELECTED' | translate }}</mat-error>
</div> </div>
</div> </div>
<div class="aca-rule-details__form__conditions"> <div class="aca-rule-details__form__conditions">
<aca-rule-composite-condition [readOnly]="readOnly" formControlName="conditions"></aca-rule-composite-condition> <aca-rule-composite-condition [readOnly]="readOnly" formControlName="conditions" />
<mat-error class="aca-rule-details-error" *ngIf="conditions.hasError('ruleCompositeConditionInvalid')">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.RULE_COMPOSITE_CONDITION_INVALID' | translate }}</mat-error> <mat-error class="aca-rule-details-error" *ngIf="conditions.hasError('ruleCompositeConditionInvalid')">{{ 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.RULE_COMPOSITE_CONDITION_INVALID' | translate }}</mat-error>
</div> </div>
@ -49,8 +49,7 @@
[actionDefinitions]="actionDefinitions" [actionDefinitions]="actionDefinitions"
[parameterConstraints]="parameterConstraints" [parameterConstraints]="parameterConstraints"
[readOnly]="readOnly" [readOnly]="readOnly"
[nodeId]="nodeId"> [nodeId]="nodeId" />
</aca-rule-action-list>
</div> </div>
<div class="aca-rule-details__form__row aca-rule-details__form__others" *ngIf="showOptionsSection"> <div class="aca-rule-details__form__row aca-rule-details__form__others" *ngIf="showOptionsSection">
@ -58,8 +57,7 @@
<aca-rule-options <aca-rule-options
formControlName="options" formControlName="options"
data-automation-id="rule-details-options-component" data-automation-id="rule-details-options-component"
[errorScriptConstraint]="errorScriptConstraint"> [errorScriptConstraint]="errorScriptConstraint" />
</aca-rule-options>
</div> </div>
</form> </form>

View File

@ -8,8 +8,7 @@
[isSelected]="item.rule.id === this.selectedRule?.id" [isSelected]="item.rule.id === this.selectedRule?.id"
[showEnabledToggle]="showEnabledToggles" [showEnabledToggle]="showEnabledToggles"
(click)="onRuleClicked(item.rule)" (click)="onRuleClicked(item.rule)"
(enabledChanged)="onEnabledChanged(item.rule, $event)"> (enabledChanged)="onEnabledChanged(item.rule, $event)" />
</aca-rule-list-item>
<ng-template #loadMoreRules> <ng-template #loadMoreRules>
<div <div
@ -40,7 +39,7 @@
tabindex="0" tabindex="0"
class="aca-rule-list-grouping__non-rule-item" class="aca-rule-list-grouping__non-rule-item"
matRipple matRippleColor="hsla(0,0%,0%,0.05)"> matRipple matRippleColor="hsla(0,0%,0%,0.05)">
<mat-spinner mode="indeterminate" [diameter]="16" class="aca-spinner"></mat-spinner> <mat-spinner mode="indeterminate" [diameter]="16" class="aca-spinner" />
{{ 'ACA_FOLDER_RULES.RULE_LIST.LOADING_RULES' | translate }} {{ 'ACA_FOLDER_RULES.RULE_LIST.LOADING_RULES' | translate }}
</div> </div>
</ng-template> </ng-template>

View File

@ -5,8 +5,7 @@
<mat-slide-toggle <mat-slide-toggle
*ngIf="showEnabledToggle" *ngIf="showEnabledToggle"
[checked]="rule.isEnabled" [checked]="rule.isEnabled"
(click)="onToggleClick(!rule.isEnabled, $event)"> (click)="onToggleClick(!rule.isEnabled, $event)" />
</mat-slide-toggle>
</div> </div>
<div class="aca-rule-list-item__description">{{ rule.description }}</div> <div class="aca-rule-list-item__description">{{ rule.description }}</div>

View File

@ -29,9 +29,7 @@
(selectRule)="onSelectRule($event)" (selectRule)="onSelectRule($event)"
(ruleEnabledChanged)="onRuleEnabledChanged($event)" (ruleEnabledChanged)="onRuleEnabledChanged($event)"
(loadMoreRules)="onLoadMoreRules($event)" (loadMoreRules)="onLoadMoreRules($event)"
(loadMoreRuleSets)="onLoadMoreRuleSets()"> (loadMoreRuleSets)="onLoadMoreRuleSets()" />
</aca-rule-list-grouping>
</div> </div>
<div <div
@ -74,8 +72,7 @@
[showEnabledToggles]="isMainRuleSetOwned" [showEnabledToggles]="isMainRuleSetOwned"
(selectRule)="onSelectRule($event)" (selectRule)="onSelectRule($event)"
(ruleEnabledChanged)="onRuleEnabledChanged($event)" (ruleEnabledChanged)="onRuleEnabledChanged($event)"
(loadMoreRules)="onLoadMoreRules($event)"> (loadMoreRules)="onLoadMoreRules($event)" />
</aca-rule-list-grouping>
<ng-template #emptyLinkedRuleSet> <ng-template #emptyLinkedRuleSet>
<div class="aca-rule-list__item__all-linked-rules-are-disabled"> <div class="aca-rule-list__item__all-linked-rules-are-disabled">

View File

@ -14,12 +14,11 @@
(select)="onNodeSelect($event)" (select)="onNodeSelect($event)"
(folderLoaded)="setFolderLoading(false)" (folderLoaded)="setFolderLoading(false)"
(navigationChange)="setFolderLoading(true)" (navigationChange)="setFolderLoading(true)"
(siteChange)="setFolderLoading(true)"> (siteChange)="setFolderLoading(true)" />
</adf-content-node-selector-panel>
<div class="aca-rule-set-picker__content__rule-list" [ngClass]="{ 'aca-justify': rulesLoading$ | async }"> <div class="aca-rule-set-picker__content__rule-list" [ngClass]="{ 'aca-justify': rulesLoading$ | async }">
<ng-container *ngIf="rulesLoading$ | async; else rulesLoaded"> <ng-container *ngIf="rulesLoading$ | async; else rulesLoaded">
<mat-progress-spinner color="primary" mode="indeterminate"></mat-progress-spinner> <mat-progress-spinner color="primary" mode="indeterminate" />
</ng-container> </ng-container>
<ng-template #rulesLoaded> <ng-template #rulesLoaded>
@ -30,16 +29,14 @@
<aca-rule-list-item <aca-rule-list-item
*ngFor="let rule of (mainRuleSet$ | async).rules" *ngFor="let rule of (mainRuleSet$ | async).rules"
[rule]="rule"> [rule]="rule" />
</aca-rule-list-item>
</ng-container> </ng-container>
<ng-template #noOwnedRules> <ng-template #noOwnedRules>
<adf-empty-content <adf-empty-content
icon="library_books" icon="library_books"
[title]="'ACA_FOLDER_RULES.LINK_RULES_DIALOG.EMPTY_RULES_LIST.TITLE' | translate" [title]="'ACA_FOLDER_RULES.LINK_RULES_DIALOG.EMPTY_RULES_LIST.TITLE' | translate"
[subtitle]="'ACA_FOLDER_RULES.LINK_RULES_DIALOG.EMPTY_RULES_LIST.SUBTITLE' | translate"> [subtitle]="'ACA_FOLDER_RULES.LINK_RULES_DIALOG.EMPTY_RULES_LIST.SUBTITLE' | translate" />
</adf-empty-content>
</ng-template> </ng-template>
</ng-template> </ng-template>
</div> </div>

View File

@ -22,7 +22,7 @@
[value]="bulkSelectControl.value?.icon" [value]="bulkSelectControl.value?.icon"
class="aca-bulk-actions-icon" class="aca-bulk-actions-icon"
[attr.data-automation-id]="'aca-bulk-action-icon-' + bulkSelectControl.value?.id" [attr.data-automation-id]="'aca-bulk-action-icon-' + bulkSelectControl.value?.id"
></adf-icon> />
{{ bulkSelectControl.value?.title | translate }} {{ bulkSelectControl.value?.title | translate }}
</div> </div>
</mat-select-trigger> </mat-select-trigger>
@ -41,7 +41,7 @@
[value]="option.icon" [value]="option.icon"
class="aca-bulk-actions-icon" class="aca-bulk-actions-icon"
[attr.data-automation-id]="'aca-bulk-action-icon-' + option.id" [attr.data-automation-id]="'aca-bulk-action-icon-' + option.id"
></adf-icon> />
{{ option.title | translate }} {{ option.title | translate }}
</div> </div>
</mat-option> </mat-option>

View File

@ -38,7 +38,7 @@ import { TranslateModule } from '@ngx-translate/core';
{{ 'APP.LANGUAGE' | translate }} {{ 'APP.LANGUAGE' | translate }}
</button> </button>
<mat-menu #langMenu="matMenu"> <mat-menu #langMenu="matMenu">
<adf-language-menu></adf-language-menu> <adf-language-menu />
</mat-menu> </mat-menu>
`, `,
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None

View File

@ -2,28 +2,28 @@
<ng-container [ngSwitch]="actionRef.type"> <ng-container [ngSwitch]="actionRef.type">
<ng-container *ngSwitchCase="'menu'"> <ng-container *ngSwitchCase="'menu'">
<button mat-menu-item [id]="actionRef.id" [matMenuTriggerFor]="childMenu"> <button mat-menu-item [id]="actionRef.id" [matMenuTriggerFor]="childMenu">
<adf-icon [value]="actionRef.icon" class="app-context-menu-item--icon"></adf-icon> <adf-icon [value]="actionRef.icon" class="app-context-menu-item--icon" />
<span [attr.data-automation-id]="actionRef.id + '-label'">{{ actionRef.title | translate }}</span> <span [attr.data-automation-id]="actionRef.id + '-label'">{{ actionRef.title | translate }}</span>
</button> </button>
<mat-menu #childMenu="matMenu"> <mat-menu #childMenu="matMenu">
<ng-container *ngFor="let child of actionRef.children; trackBy: trackByActionId"> <ng-container *ngFor="let child of actionRef.children; trackBy: trackByActionId">
<app-context-menu-item [actionRef]="child"></app-context-menu-item> <app-context-menu-item [actionRef]="child" />
</ng-container> </ng-container>
</mat-menu> </mat-menu>
</ng-container> </ng-container>
<ng-container *ngSwitchCase="'separator'"> <ng-container *ngSwitchCase="'separator'">
<mat-divider></mat-divider> <mat-divider />
</ng-container> </ng-container>
<ng-container *ngSwitchCase="'custom'"> <ng-container *ngSwitchCase="'custom'">
<adf-dynamic-component [data]="actionRef.data" [id]="actionRef.component"></adf-dynamic-component> <adf-dynamic-component [data]="actionRef.data" [id]="actionRef.component" />
</ng-container> </ng-container>
<ng-container *ngSwitchDefault> <ng-container *ngSwitchDefault>
<button mat-menu-item [id]="actionRef.id" (click)="runAction()"> <button mat-menu-item [id]="actionRef.id" (click)="runAction()">
<adf-icon [value]="actionRef.icon" class="app-context-menu-item--icon"></adf-icon> <adf-icon [value]="actionRef.icon" class="app-context-menu-item--icon" />
<span [attr.data-automation-id]="actionRef.id + '-label'">{{ actionRef.title | translate }}</span> <span [attr.data-automation-id]="actionRef.id + '-label'">{{ actionRef.title | translate }}</span>
</button> </button>
</ng-container> </ng-container>

View File

@ -5,30 +5,30 @@
<ng-container *ngFor="let entry of actions; trackBy: trackByActionId" [ngSwitch]="entry.type"> <ng-container *ngFor="let entry of actions; trackBy: trackByActionId" [ngSwitch]="entry.type">
<ng-container *ngSwitchDefault> <ng-container *ngSwitchDefault>
<button mat-menu-item [id]="entry.id" (click)="runAction(entry)"> <button mat-menu-item [id]="entry.id" (click)="runAction(entry)">
<adf-icon [value]="entry.icon" class="app-context-menu-item--icon"></adf-icon> <adf-icon [value]="entry.icon" class="app-context-menu-item--icon" />
<span [attr.data-automation-id]="entry.id + '-label'">{{ entry.title | translate }}</span> <span [attr.data-automation-id]="entry.id + '-label'">{{ entry.title | translate }}</span>
</button> </button>
</ng-container> </ng-container>
<ng-container *ngSwitchCase="'separator'"> <ng-container *ngSwitchCase="'separator'">
<mat-divider></mat-divider> <mat-divider />
</ng-container> </ng-container>
<ng-container *ngSwitchCase="'menu'"> <ng-container *ngSwitchCase="'menu'">
<button mat-menu-item [id]="entry.id" [matMenuTriggerFor]="childMenu"> <button mat-menu-item [id]="entry.id" [matMenuTriggerFor]="childMenu">
<adf-icon [value]="entry.icon" class="app-context-menu-item--icon"></adf-icon> <adf-icon [value]="entry.icon" class="app-context-menu-item--icon" />
<span [attr.data-automation-id]="entry.id + '-label'">{{ entry.title | translate }}</span> <span [attr.data-automation-id]="entry.id + '-label'">{{ entry.title | translate }}</span>
</button> </button>
<mat-menu #childMenu="matMenu"> <mat-menu #childMenu="matMenu">
<ng-container *ngFor="let child of entry.children; trackBy: trackByActionId"> <ng-container *ngFor="let child of entry.children; trackBy: trackByActionId">
<app-context-menu-item [actionRef]="child"></app-context-menu-item> <app-context-menu-item [actionRef]="child" />
</ng-container> </ng-container>
</mat-menu> </mat-menu>
</ng-container> </ng-container>
<ng-container *ngSwitchCase="'custom'"> <ng-container *ngSwitchCase="'custom'">
<adf-dynamic-component [data]="entry.data" [id]="entry.component"></adf-dynamic-component> <adf-dynamic-component [data]="entry.data" [id]="entry.component" />
</ng-container> </ng-container>
</ng-container> </ng-container>
</mat-menu> </mat-menu>

View File

@ -1,7 +1,7 @@
<aca-page-layout> <aca-page-layout>
<div class="aca-page-layout-header"> <div class="aca-page-layout-header">
<adf-breadcrumb [root]="title" [folderNode]="node" (navigate)="onBreadcrumbNavigate($event)"> </adf-breadcrumb> <adf-breadcrumb [root]="title" [folderNode]="node" (navigate)="onBreadcrumbNavigate($event)" />
<aca-toolbar [items]="actions"></aca-toolbar> <aca-toolbar [items]="actions" />
</div> </div>
<div class="aca-page-layout-content"> <div class="aca-page-layout-content">
@ -13,7 +13,7 @@
{{ node.name }} </span> {{ node.name }} </span>
</div> </div>
<div class="aca-details-buttons"> <div class="aca-details-buttons">
<aca-toolbar [items]="aspectActions" info-drawer-buttons></aca-toolbar> <aca-toolbar [items]="aspectActions" info-drawer-buttons />
<button <button
class="aca-close-details-button" class="aca-close-details-button"
mat-icon-button mat-icon-button
@ -28,17 +28,17 @@
<mat-tab-group [selectedIndex]="activeTab" class="aca-details-tabs" animationDuration="0" mat-stretch-tabs="false" mat-align-tabs="start"> <mat-tab-group [selectedIndex]="activeTab" class="aca-details-tabs" animationDuration="0" mat-stretch-tabs="false" mat-align-tabs="start">
<mat-tab label="{{ 'APP.INFO_DRAWER.TABS.PROPERTIES' | translate }}"> <mat-tab label="{{ 'APP.INFO_DRAWER.TABS.PROPERTIES' | translate }}">
<ng-template matTabContent> <ng-template matTabContent>
<app-metadata-tab *ngIf="node && !isLoading; else loading" [node]="node"></app-metadata-tab> <app-metadata-tab *ngIf="node && !isLoading; else loading" [node]="node" />
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<mat-tab label="{{ 'APP.INFO_DRAWER.TABS.COMMENTS' | translate }}"> <mat-tab label="{{ 'APP.INFO_DRAWER.TABS.COMMENTS' | translate }}">
<ng-template matTabContent> <ng-template matTabContent>
<app-comments-tab *ngIf="node && !isLoading; else loading" [node]="node"></app-comments-tab> <app-comments-tab *ngIf="node && !isLoading; else loading" [node]="node" />
</ng-template> </ng-template>
</mat-tab> </mat-tab>
<mat-tab [disabled]="!canManagePermissions" label="{{ 'APP.INFO_DRAWER.TABS.PERMISSIONS' | translate }}"> <mat-tab [disabled]="!canManagePermissions" label="{{ 'APP.INFO_DRAWER.TABS.PERMISSIONS' | translate }}">
<ng-template matTabContent> <ng-template matTabContent>
<adf-permission-list *ngIf="node && !isLoading; else loading" [nodeId]="node.id"></adf-permission-list> <adf-permission-list *ngIf="node && !isLoading; else loading" [nodeId]="node.id" />
</ng-template> </ng-template>
</mat-tab> </mat-tab>
</mat-tab-group> </mat-tab-group>
@ -47,5 +47,5 @@
</aca-page-layout> </aca-page-layout>
<ng-template #loading> <ng-template #loading>
<mat-progress-bar color="primary" mode="indeterminate"></mat-progress-bar> <mat-progress-bar color="primary" mode="indeterminate" />
</ng-template> </ng-template>

View File

@ -1,19 +1,19 @@
<div class="aca-datatable-cell-badges-container"> <div class="aca-datatable-cell-badges-container">
<ng-container *ngFor="let badge of badges"> <ng-container *ngFor="let badge of badges">
<adf-dynamic-component <adf-dynamic-component
*ngIf="badge.component; else iconBadge" *ngIf="badge.component; else iconBadge"
[id]="badge.component" [id]="badge.component"
[data]="{ node }" [data]="{ node }"
></adf-dynamic-component> />
<ng-template #iconBadge> <ng-template #iconBadge>
<adf-icon <adf-icon
class="adf-datatable-cell-badge" class="adf-datatable-cell-badge"
[title]="badge.tooltip | translate" [title]="badge.tooltip | translate"
[value]="badge.icon" [value]="badge.icon"
(click)="onBadgeClick(badge)" (click)="onBadgeClick(badge)"
(keypress.enter)="onKeyPress(badge)" (keypress.enter)="onKeyPress(badge)"
tabindex="0" tabindex="0"
></adf-icon> />
</ng-template> </ng-template>
</ng-container> </ng-container>
</div> </div>

View File

@ -16,8 +16,8 @@
</span> </span>
<ng-container *ngIf="isFile && isFileWriteLocked"> <ng-container *ngIf="isFile && isFileWriteLocked">
<aca-locked-by [node]="context.row.node"></aca-locked-by> <aca-locked-by [node]="context.row.node" />
</ng-container> </ng-container>
</div> </div>
<aca-datatable-cell-badges [node]="node"></aca-datatable-cell-badges> <aca-datatable-cell-badges [node]="node" />
</div> </div>

View File

@ -29,7 +29,7 @@ import { TagNodeListComponent } from '@alfresco/adf-content-services';
standalone: true, standalone: true,
imports: [TagNodeListComponent], imports: [TagNodeListComponent],
selector: 'aca-tags-column', selector: 'aca-tags-column',
template: `<adf-tag-node-list [showDelete]="false" [limitTagsDisplayed]="true" [nodeId]="nodeId" (results)="onTagsLoaded()"></adf-tag-node-list>`, template: `<adf-tag-node-list [showDelete]="false" [limitTagsDisplayed]="true" [nodeId]="nodeId" (results)="onTagsLoaded()" />`,
styleUrls: ['./tags-column.component.scss'], styleUrls: ['./tags-column.component.scss'],
encapsulation: ViewEncapsulation.None, encapsulation: ViewEncapsulation.None,
host: { host: {

View File

@ -1,4 +1,4 @@
<mat-icon class="adf-datatable-selected" *ngIf="isSelected" svgIcon="selected"></mat-icon> <mat-icon class="adf-datatable-selected" *ngIf="isSelected" svgIcon="selected" />
<ng-container *ngIf="!isSelected"> <ng-container *ngIf="!isSelected">
<ng-container *ngIf="isIcon; else image"> <ng-container *ngIf="isIcon; else image">
<mat-icon>{{thumbnailUrl}}</mat-icon> <mat-icon>{{thumbnailUrl}}</mat-icon>

View File

@ -3,7 +3,7 @@
<h1 class="aca-page-title"> <h1 class="aca-page-title">
{{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.LIBRARIES.MENU.FAVORITE_LIBRARIES.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }} {{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.LIBRARIES.MENU.FAVORITE_LIBRARIES.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }}
</h1> </h1>
<aca-toolbar [items]="actions"></aca-toolbar> <aca-toolbar [items]="actions" />
</div> </div>
<div class="aca-page-layout-content"> <div class="aca-page-layout-content">
@ -33,8 +33,7 @@
icon="library_books" icon="library_books"
[title]="'APP.BROWSE.LIBRARIES.EMPTY_STATE.FAVORITE_LIBRARIES.TITLE'" [title]="'APP.BROWSE.LIBRARIES.EMPTY_STATE.FAVORITE_LIBRARIES.TITLE'"
subtitle="APP.BROWSE.LIBRARIES.EMPTY_STATE.FAVORITE_LIBRARIES.TEXT" subtitle="APP.BROWSE.LIBRARIES.EMPTY_STATE.FAVORITE_LIBRARIES.TEXT"
> />
</adf-empty-content>
</adf-custom-empty-content-template> </adf-custom-empty-content-template>
<data-columns> <data-columns>
@ -54,7 +53,7 @@
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> >
<ng-template let-context> <ng-template let-context>
<adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column> <adf-dynamic-column [id]="column.template" [context]="context" />
</ng-template> </ng-template>
</data-column> </data-column>
</ng-container> </ng-container>
@ -72,8 +71,7 @@
[sortable]="column.sortable" [sortable]="column.sortable"
[isHidden]="column.isHidden" [isHidden]="column.isHidden"
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> />
</data-column>
</ng-container> </ng-container>
</ng-container> </ng-container>
</data-columns> </data-columns>
@ -86,12 +84,11 @@
(changePageNumber)="onChange($event)" (changePageNumber)="onChange($event)"
(nextPage)="onChange($event)" (nextPage)="onChange($event)"
(prevPage)="onChange($event)" (prevPage)="onChange($event)"
> />
</adf-pagination>
</div> </div>
<div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async"> <div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async">
<aca-info-drawer [node]="selection.last"></aca-info-drawer> <aca-info-drawer [node]="selection.last" />
</div> </div>
</div> </div>
</aca-page-layout> </aca-page-layout>

View File

@ -2,14 +2,13 @@
<div class="aca-page-layout-header"> <div class="aca-page-layout-header">
<aca-search-ai-input-container <aca-search-ai-input-container
*ngIf="searchAiInputState.active; else header" *ngIf="searchAiInputState.active; else header"
[agentId]="searchAiInputState.selectedAgentId"> [agentId]="searchAiInputState.selectedAgentId" />
</aca-search-ai-input-container>
<ng-template #header> <ng-template #header>
<div class="aca-header-container"> <div class="aca-header-container">
<h1 class="aca-page-title"> <h1 class="aca-page-title">
{{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.FAVORITES.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }} {{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.FAVORITES.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }}
</h1> </h1>
<aca-toolbar [items]="actions"></aca-toolbar> <aca-toolbar [items]="actions" />
</div> </div>
</ng-template> </ng-template>
</div> </div>
@ -36,8 +35,7 @@
(name-click)="handleNodeClick($event)" (name-click)="handleNodeClick($event)"
> >
<adf-custom-empty-content-template> <adf-custom-empty-content-template>
<adf-empty-content icon="star_rate" [title]="'APP.BROWSE.FAVORITES.EMPTY_STATE.TITLE'" subtitle="APP.BROWSE.FAVORITES.EMPTY_STATE.TEXT"> <adf-empty-content icon="star_rate" [title]="'APP.BROWSE.FAVORITES.EMPTY_STATE.TITLE'" subtitle="APP.BROWSE.FAVORITES.EMPTY_STATE.TEXT" />
</adf-empty-content>
</adf-custom-empty-content-template> </adf-custom-empty-content-template>
<data-columns> <data-columns>
@ -57,7 +55,7 @@
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> >
<ng-template let-context> <ng-template let-context>
<adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column> <adf-dynamic-column [id]="column.template" [context]="context" />
</ng-template> </ng-template>
</data-column> </data-column>
</ng-container> </ng-container>
@ -75,18 +73,17 @@
[sortable]="column.sortable" [sortable]="column.sortable"
[isHidden]="column.isHidden" [isHidden]="column.isHidden"
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> />
</data-column>
</ng-container> </ng-container>
</ng-container> </ng-container>
</data-columns> </data-columns>
</adf-document-list> </adf-document-list>
<adf-pagination acaPagination [target]="documentList"> </adf-pagination> <adf-pagination acaPagination [target]="documentList" />
</div> </div>
<div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async"> <div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async">
<aca-info-drawer [node]="selection.last"></aca-info-drawer> <aca-info-drawer [node]="selection.last" />
</div> </div>
</div> </div>
</aca-page-layout> </aca-page-layout>

View File

@ -2,23 +2,21 @@
<div class="aca-page-layout-header"> <div class="aca-page-layout-header">
<aca-search-ai-input-container <aca-search-ai-input-container
*ngIf="searchAiInputState.active; else header" *ngIf="searchAiInputState.active; else header"
[agentId]="searchAiInputState.selectedAgentId"> [agentId]="searchAiInputState.selectedAgentId" />
</aca-search-ai-input-container>
<ng-template #header> <ng-template #header>
<div class="aca-header-container"> <div class="aca-header-container">
<adf-breadcrumb <adf-breadcrumb
[root]="title" [root]="title"
[folderNode]="node" [folderNode]="node"
[selectedRowItemsCount]="selectedRowItemsCount" [maxItems]="isSmallScreen ? 1 : 0" [selectedRowItemsCount]="selectedRowItemsCount" [maxItems]="isSmallScreen ? 1 : 0"
(navigate)="onBreadcrumbNavigate($event)"> (navigate)="onBreadcrumbNavigate($event)" />
</adf-breadcrumb> <aca-toolbar [items]="actions" />
<aca-toolbar [items]="actions"></aca-toolbar>
</div> </div>
</ng-template> </ng-template>
</div> </div>
<div class="aca-page-layout-error"> <div class="aca-page-layout-error">
<aca-generic-error></aca-generic-error> <aca-generic-error />
</div> </div>
<div class="aca-page-layout-content"> <div class="aca-page-layout-content">
@ -67,7 +65,7 @@
[resizable]="column.resizable" [resizable]="column.resizable"
> >
<ng-template let-context> <ng-template let-context>
<adf-dynamic-column [id]="column.template" [context]="context"></adf-dynamic-column> <adf-dynamic-column [id]="column.template" [context]="context" />
</ng-template> </ng-template>
</data-column> </data-column>
</ng-container> </ng-container>
@ -85,8 +83,7 @@
[isHidden]="column.isHidden" [isHidden]="column.isHidden"
[draggable]="column.draggable" [draggable]="column.draggable"
[resizable]="column.resizable" [resizable]="column.resizable"
> />
</data-column>
</ng-container> </ng-container>
</ng-container> </ng-container>
</data-columns> </data-columns>
@ -102,7 +99,7 @@
</adf-custom-empty-content-template> </adf-custom-empty-content-template>
</adf-document-list> </adf-document-list>
<adf-pagination acaPagination [target]="documentList"> </adf-pagination> <adf-pagination acaPagination [target]="documentList" />
</adf-upload-drag-area> </adf-upload-drag-area>
</div> </div>
@ -110,11 +107,10 @@
id="adf-document-list-loading" id="adf-document-list-loading"
class="adf-document-list-loading-margin" class="adf-document-list-loading-margin"
[color]="'primary'" [color]="'primary'"
[mode]="'indeterminate'"> [mode]="'indeterminate'" />
</mat-progress-spinner>
<div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async"> <div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async">
<aca-info-drawer [node]="selection.last"></aca-info-drawer> <aca-info-drawer [node]="selection.last" />
</div> </div>
</div> </div>
</aca-page-layout> </aca-page-layout>

View File

@ -33,8 +33,8 @@ import { NodeCommentsModule } from '@alfresco/adf-content-services';
imports: [MatCardModule, NodeCommentsModule], imports: [MatCardModule, NodeCommentsModule],
selector: 'app-comments-tab', selector: 'app-comments-tab',
template: `<mat-card class="adf-comments-tab-container" appearance="raised" template: `<mat-card class="adf-comments-tab-container" appearance="raised"
><adf-node-comments [readOnly]="!canUpdateNode" [nodeId]="node?.id"></adf-node-comments ><adf-node-comments [readOnly]="!canUpdateNode" [nodeId]="node?.id"
></mat-card>`, /></mat-card>`,
styles: ['app-comments-tab mat-card { padding: 16px }'], styles: ['app-comments-tab mat-card { padding: 16px }'],
encapsulation: ViewEncapsulation.None, encapsulation: ViewEncapsulation.None,
styleUrls: ['./comments-tab.component.scss'] styleUrls: ['./comments-tab.component.scss']

View File

@ -30,7 +30,7 @@ import { LibraryMetadataFormComponent } from './library-metadata-form.component'
standalone: true, standalone: true,
imports: [LibraryMetadataFormComponent], imports: [LibraryMetadataFormComponent],
selector: 'app-library-metadata-tab', selector: 'app-library-metadata-tab',
template: '<app-library-metadata-form [node]="node"></app-library-metadata-form>', template: '<app-library-metadata-form [node]="node" />',
host: { class: 'app-metadata-tab' }, host: { class: 'app-metadata-tab' },
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })

View File

@ -53,8 +53,7 @@ import { Store } from '@ngrx/store';
[displayCategories]="displayCategories" [displayCategories]="displayCategories"
[displayTags]="displayTags" [displayTags]="displayTags"
[displayAspect]="metadataAspect" [displayAspect]="metadataAspect"
> />
</adf-content-metadata>
`, `,
encapsulation: ViewEncapsulation.None, encapsulation: ViewEncapsulation.None,
host: { class: 'app-metadata-tab' } host: { class: 'app-metadata-tab' }

View File

@ -43,8 +43,7 @@ import { AppSettingsService } from '@alfresco/aca-shared';
[allowViewVersions]="settings.versionManagerAllowViewVersions" [allowViewVersions]="settings.versionManagerAllowViewVersions"
[allowVersionDelete]="settings.versionManagerAllowVersionDelete" [allowVersionDelete]="settings.versionManagerAllowVersionDelete"
[showActions]="settings.versionManagerShowActions" [showActions]="settings.versionManagerShowActions"
> />
</adf-version-manager>
</ng-container> </ng-container>
<ng-template #empty> <ng-template #empty>

View File

@ -7,8 +7,7 @@
data-automation-id="aca-agents-button"> data-automation-id="aca-agents-button">
<adf-icon <adf-icon
value="adf:colored-stars-ai" value="adf:colored-stars-ai"
class="aca-agents-button-icon"> class="aca-agents-button-icon" />
</adf-icon>
{{ 'KNOWLEDGE_RETRIEVAL.SEARCH.AGENTS_BUTTON.LABEL' | translate}} {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.AGENTS_BUTTON.LABEL' | translate}}
</button> </button>
<mat-menu <mat-menu
@ -26,7 +25,7 @@
[attr.data-automation-id]="'aca-agents-button-agent-' + agent.id" [attr.data-automation-id]="'aca-agents-button-agent-' + agent.id"
[value]="agent"> [value]="agent">
<div class="aca-agents-button-menu-list-agent-content"> <div class="aca-agents-button-menu-list-agent-content">
<adf-avatar [src]="agent?.avatarUrl" [initials]="initialsByAgentId[agent.id]"></adf-avatar> <adf-avatar [src]="agent?.avatarUrl" [initials]="initialsByAgentId[agent.id]" />
<span class="aca-agents-button-menu-list-agent-content-name" [matTooltip]="agent.name" [matTooltipPosition]="'right'"> <span class="aca-agents-button-menu-list-agent-content-name" [matTooltip]="agent.name" [matTooltipPosition]="'right'">
{{ agent.name }} {{ agent.name }}
</span> </span>

View File

@ -2,12 +2,10 @@
[searchTerm]="(inputState$ | async).searchTerm" [searchTerm]="(inputState$ | async).searchTerm"
[placeholder]="placeholder" [placeholder]="placeholder"
[agentId]="agentId" [agentId]="agentId"
[usedInAiResultsPage]="usedInAiResultsPage"> [usedInAiResultsPage]="usedInAiResultsPage" />
</aca-search-ai-input>
<mat-divider <mat-divider
[vertical]="true" [vertical]="true"
class="aca-search-ai-input-container-divider"> class="aca-search-ai-input-container-divider" />
</mat-divider>
<button <button
mat-icon-button mat-icon-button
(click)="leaveSearchInput()" (click)="leaveSearchInput()"

View File

@ -9,8 +9,7 @@
<adf-avatar <adf-avatar
[src]="agentControl.value?.avatarUrl" [src]="agentControl.value?.avatarUrl"
[initials]="initialsByAgentId[agentControl.value?.id]" [initials]="initialsByAgentId[agentControl.value?.id]"
size="26px"> size="26px" />
</adf-avatar>
<span class="aca-search-ai-input-agent-select-displayed-value-text">{{ agentControl.value?.name }}</span> <span class="aca-search-ai-input-agent-select-displayed-value-text">{{ agentControl.value?.name }}</span>
</mat-select-trigger> </mat-select-trigger>
<mat-option <mat-option
@ -18,7 +17,7 @@
[value]="agent" [value]="agent"
class="aca-search-ai-input-agent-select-options-option" class="aca-search-ai-input-agent-select-options-option"
[attr.data-automation-id]="'aca-search-ai-input-agent-' + agent.id"><div class="aca-search-ai-input-agent-select-options-option-content"> [attr.data-automation-id]="'aca-search-ai-input-agent-' + agent.id"><div class="aca-search-ai-input-agent-select-options-option-content">
<adf-avatar [src]="agent?.avatarUrl" [initials]="initialsByAgentId[agent.id]"></adf-avatar> <adf-avatar [src]="agent?.avatarUrl" [initials]="initialsByAgentId[agent.id]" />
<span class="aca-search-ai-input-agent-select-options-option-content-text" [matTooltip]="agent.name" [matTooltipPosition]="'right'">{{ agent.name }}</span> <span class="aca-search-ai-input-agent-select-options-option-content-text" [matTooltip]="agent.name" [matTooltipPosition]="'right'">{{ agent.name }}</span>
</div> </div>
</mat-option> </mat-option>
@ -30,8 +29,7 @@
<adf-avatar <adf-avatar
[initials]="initialsByAgentId[agentControl.value?.id]" [initials]="initialsByAgentId[agentControl.value?.id]"
[src]="agentControl.value?.avatarUrl" [src]="agentControl.value?.avatarUrl"
size="50px"> size="50px" />
</adf-avatar>
<span class="aca-search-ai-input-agent-popup-hover-card-container-title-name" <span class="aca-search-ai-input-agent-popup-hover-card-container-title-name"
[matTooltipPosition]="'right'" [matTooltipPosition]="'right'"
[matTooltip]="agentControl.value?.name"> [matTooltip]="agentControl.value?.name">
@ -58,6 +56,6 @@
(click)="onSearchSubmit()" (click)="onSearchSubmit()"
[disabled]="!queryControl.value" [disabled]="!queryControl.value"
data-automation-id="aca-search-ai-asking-button"> data-automation-id="aca-search-ai-asking-button">
<adf-icon [value]="'adf:three_magic_stars_ai'"></adf-icon> <adf-icon [value]="'adf:three_magic_stars_ai'" />
<span class="aca-search-ai-asking-button-label">{{ 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.ASK_BUTTON_LABEL' | translate }}</span> <span class="aca-search-ai-asking-button-label">{{ 'KNOWLEDGE_RETRIEVAL.SEARCH.SEARCH_INPUT.ASK_BUTTON_LABEL' | translate }}</span>
</button> </button>

View File

@ -4,8 +4,7 @@
placeholder="KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.QUERY_INPUT_PLACEHOLDER" placeholder="KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.QUERY_INPUT_PLACEHOLDER"
[agentId]="agentId" [agentId]="agentId"
[usedInAiResultsPage]="true" [usedInAiResultsPage]="true"
*ngIf="!hasError && agentId"> *ngIf="!hasError && agentId" />
</aca-search-ai-input-container>
<div <div
class="aca-page-layout-content" class="aca-page-layout-content"
*ngIf="!hasError"> *ngIf="!hasError">
@ -44,7 +43,7 @@
<mat-icon>copy</mat-icon> <mat-icon>copy</mat-icon>
</button> </button>
<ng-container *ngIf="nodes?.length"> <ng-container *ngIf="nodes?.length">
<mat-divider class="aca-search-ai-response-container-body-divider"></mat-divider> <mat-divider class="aca-search-ai-response-container-body-divider" />
<div class="aca-search-ai-response-container-body-references-container"> <div class="aca-search-ai-response-container-body-references-container">
<p class="aca-search-ai-response-container-body-references-container-header"> <p class="aca-search-ai-response-container-body-references-container-header">
{{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REFERENCED_DOCUMENTS_HEADER' | translate }} {{ 'KNOWLEDGE_RETRIEVAL.SEARCH.RESULTS_PAGE.REFERENCED_DOCUMENTS_HEADER' | translate }}
@ -91,8 +90,7 @@
class="aca-page-layout-content" class="aca-page-layout-content"
icon="star" icon="star"
title="KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.PAGE_NOT_AVAILABLE_ERROR" title="KNOWLEDGE_RETRIEVAL.SEARCH.ERRORS.PAGE_NOT_AVAILABLE_ERROR"
*ngIf="hasError"> *ngIf="hasError" />
</adf-empty-content>
</aca-page-layout> </aca-page-layout>
<ng-template #skeleton> <ng-template #skeleton>

View File

@ -3,7 +3,7 @@
<h1 class="aca-page-title"> <h1 class="aca-page-title">
{{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.LIBRARIES.MENU.MY_LIBRARIES.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }} {{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.LIBRARIES.MENU.MY_LIBRARIES.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }}
</h1> </h1>
<aca-toolbar [items]="actions"></aca-toolbar> <aca-toolbar [items]="actions" />
</div> </div>
<div class="aca-page-layout-content"> <div class="aca-page-layout-content">
@ -32,8 +32,7 @@
icon="library_books" icon="library_books"
[title]="'APP.BROWSE.LIBRARIES.EMPTY_STATE.FILE_LIBRARIES.TITLE'" [title]="'APP.BROWSE.LIBRARIES.EMPTY_STATE.FILE_LIBRARIES.TITLE'"
subtitle="APP.BROWSE.LIBRARIES.EMPTY_STATE.FILE_LIBRARIES.TEXT" subtitle="APP.BROWSE.LIBRARIES.EMPTY_STATE.FILE_LIBRARIES.TEXT"
> />
</adf-empty-content>
</adf-custom-empty-content-template> </adf-custom-empty-content-template>
<data-columns> <data-columns>
@ -53,7 +52,7 @@
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> >
<ng-template let-context> <ng-template let-context>
<adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column> <adf-dynamic-column [id]="column.template" [context]="context" />
</ng-template> </ng-template>
</data-column> </data-column>
</ng-container> </ng-container>
@ -71,18 +70,17 @@
[sortable]="column.sortable" [sortable]="column.sortable"
[isHidden]="column.isHidden" [isHidden]="column.isHidden"
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> />
</data-column>
</ng-container> </ng-container>
</ng-container> </ng-container>
</data-columns> </data-columns>
</adf-document-list> </adf-document-list>
<adf-pagination acaPagination [target]="documentList"> </adf-pagination> <adf-pagination acaPagination [target]="documentList" />
</div> </div>
<div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async"> <div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async">
<aca-info-drawer [node]="$any(selection).library"></aca-info-drawer> <aca-info-drawer [node]="$any(selection).library" />
</div> </div>
</div> </div>
</aca-page-layout> </aca-page-layout>

View File

@ -2,14 +2,13 @@
<div class="aca-page-layout-header"> <div class="aca-page-layout-header">
<aca-search-ai-input-container <aca-search-ai-input-container
*ngIf="searchAiInputState.active; else header" *ngIf="searchAiInputState.active; else header"
[agentId]="searchAiInputState.selectedAgentId"> [agentId]="searchAiInputState.selectedAgentId" />
</aca-search-ai-input-container>
<ng-template #header> <ng-template #header>
<div class="aca-header-container"> <div class="aca-header-container">
<h1 class="aca-page-title"> <h1 class="aca-page-title">
{{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.RECENT.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }} {{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.RECENT.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }}
</h1> </h1>
<aca-toolbar [items]="actions"></aca-toolbar> <aca-toolbar [items]="actions" />
</div> </div>
</ng-template> </ng-template>
</div> </div>
@ -36,8 +35,7 @@
(name-click)="handleNodeClick($event)" (name-click)="handleNodeClick($event)"
> >
<adf-custom-empty-content-template> <adf-custom-empty-content-template>
<adf-empty-content icon="access_time" [title]="'APP.BROWSE.RECENT.EMPTY_STATE.TITLE'" subtitle="APP.BROWSE.RECENT.EMPTY_STATE.TEXT"> <adf-empty-content icon="access_time" [title]="'APP.BROWSE.RECENT.EMPTY_STATE.TITLE'" subtitle="APP.BROWSE.RECENT.EMPTY_STATE.TEXT" />
</adf-empty-content>
</adf-custom-empty-content-template> </adf-custom-empty-content-template>
<data-columns> <data-columns>
@ -57,7 +55,7 @@
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> >
<ng-template let-context> <ng-template let-context>
<adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column> <adf-dynamic-column [id]="column.template" [context]="context" />
</ng-template> </ng-template>
</data-column> </data-column>
</ng-container> </ng-container>
@ -75,18 +73,17 @@
[draggable]="column.draggable" [draggable]="column.draggable"
[resizable]="column.resizable" [resizable]="column.resizable"
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> />
</data-column>
</ng-container> </ng-container>
</ng-container> </ng-container>
</data-columns> </data-columns>
</adf-document-list> </adf-document-list>
<adf-pagination acaPagination [target]="documentList"> </adf-pagination> <adf-pagination acaPagination [target]="documentList" />
</div> </div>
<div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async"> <div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async">
<aca-info-drawer [node]="selection.last"></aca-info-drawer> <aca-info-drawer [node]="selection.last" />
</div> </div>
</div> </div>
</aca-page-layout> </aca-page-layout>

View File

@ -35,8 +35,7 @@
(click)="$event.stopPropagation()" (click)="$event.stopPropagation()"
(submit)="onSearchSubmit($event)" (submit)="onSearchSubmit($event)"
(searchChange)="onSearchChange($event)" (searchChange)="onSearchChange($event)"
> />
</app-search-input-control>
<mat-hint *ngIf="hasLibrariesConstraint" class="app-search-hint">{{ 'SEARCH.INPUT.HINT' | translate }}</mat-hint> <mat-hint *ngIf="hasLibrariesConstraint" class="app-search-hint">{{ 'SEARCH.INPUT.HINT' | translate }}</mat-hint>
<div id="search-options" class="app-search-options"> <div id="search-options" class="app-search-options">

View File

@ -1,15 +1,15 @@
<aca-page-layout> <aca-page-layout>
<div class="aca-page-layout-header"> <div class="aca-page-layout-header">
<aca-search-input></aca-search-input> <aca-search-input />
<div class="aca-search-toolbar-spacer"></div> <div class="aca-search-toolbar-spacer"></div>
<aca-toolbar [items]="actions"></aca-toolbar> <aca-toolbar [items]="actions" />
</div> </div>
<div class="aca-page-layout-content"> <div class="aca-page-layout-content">
<div class="aca-main-content"> <div class="aca-main-content">
<div class="adf-search-results"> <div class="adf-search-results">
<div class="adf-search-results__content"> <div class="adf-search-results__content">
<mat-progress-bar *ngIf="isLoading" color="primary" mode="indeterminate"></mat-progress-bar> <mat-progress-bar *ngIf="isLoading" color="primary" mode="indeterminate" />
<div class="adf-search-results__content-header aca-content-lib" *ngIf="data?.list.entries.length"> <div class="adf-search-results__content-header aca-content-lib" *ngIf="data?.list.entries.length">
<div class="aca-content__side--left"> <div class="aca-content__side--left">
<div class="adf-search-results--info-text" *ngIf="totalResults !== 1"> <div class="adf-search-results--info-text" *ngIf="totalResults !== 1">
@ -52,7 +52,7 @@
[resizable]="column.resizable" [resizable]="column.resizable"
> >
<ng-template let-context> <ng-template let-context>
<adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column> <adf-dynamic-column [id]="column.template" [context]="context" />
</ng-template> </ng-template>
</data-column> </data-column>
</ng-container> </ng-container>
@ -68,8 +68,7 @@
[sortable]="column.sortable" [sortable]="column.sortable"
[draggable]="column.draggable" [draggable]="column.draggable"
[resizable]="column.resizable" [resizable]="column.resizable"
> />
</data-column>
</ng-container> </ng-container>
</ng-container> </ng-container>
</data-columns> </data-columns>
@ -85,13 +84,12 @@
</adf-custom-empty-content-template> </adf-custom-empty-content-template>
</adf-document-list> </adf-document-list>
<adf-pagination *ngIf="totalResults > 0" acaPagination [target]="documentList" (change)="onPaginationChanged($event)"> <adf-pagination *ngIf="totalResults > 0" acaPagination [target]="documentList" (change)="onPaginationChanged($event)" />
</adf-pagination>
</div> </div>
</div> </div>
</div> </div>
<div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async"> <div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async">
<aca-info-drawer [node]="selection.last"></aca-info-drawer> <aca-info-drawer [node]="selection.last" />
</div> </div>
</div> </div>
</aca-page-layout> </aca-page-layout>

View File

@ -34,8 +34,8 @@
[innerHTML]="description$ | async" [innerHTML]="description$ | async"
></div> ></div>
<div class="aca-result-location"> <div class="aca-result-location">
<aca-location-link [context]="context" [showLocation]="true"></aca-location-link> <aca-location-link [context]="context" [showLocation]="true" />
</div> </div>
<div class="aca-result-content aca-crop-text" [title]="contentStripped" [innerHTML]="content$ | async"></div> <div class="aca-result-content aca-crop-text" [title]="contentStripped" [innerHTML]="content$ | async"></div>
</div> </div>
<aca-datatable-cell-badges [node]="context.row.node"></aca-datatable-cell-badges> <aca-datatable-cell-badges [node]="context.row.node" />

View File

@ -2,13 +2,12 @@
<div class="aca-page-layout-header"> <div class="aca-page-layout-header">
<aca-search-ai-input-container <aca-search-ai-input-container
*ngIf="searchAiInputState.active" *ngIf="searchAiInputState.active"
[agentId]="searchAiInputState.selectedAgentId"> [agentId]="searchAiInputState.selectedAgentId" />
</aca-search-ai-input-container>
<div class="aca-header-container"> <div class="aca-header-container">
<aca-search-input></aca-search-input> <aca-search-input />
<aca-bulk-actions-dropdown *ngIf="bulkActions" [items]="bulkActions"></aca-bulk-actions-dropdown> <aca-bulk-actions-dropdown *ngIf="bulkActions" [items]="bulkActions" />
<div class="aca-search-toolbar-spacer"></div> <div class="aca-search-toolbar-spacer"></div>
<aca-toolbar [items]="actions"></aca-toolbar> <aca-toolbar [items]="actions" />
</div> </div>
</div> </div>
@ -16,13 +15,13 @@
<div class="aca-main-content"> <div class="aca-main-content">
<div class="adf-search-results"> <div class="adf-search-results">
<div class="adf-search-results__content"> <div class="adf-search-results__content">
<mat-progress-bar *ngIf="isLoading" color="primary" mode="indeterminate" aria-live="polite"> </mat-progress-bar> <mat-progress-bar *ngIf="isLoading" color="primary" mode="indeterminate" aria-live="polite" />
<div class="adf-search-results__content-header aca-content"> <div class="adf-search-results__content-header aca-content">
<div class="aca-content__filter-set"> <div class="aca-content__filter-set">
<p>{{ 'APP.BROWSE.SEARCH.FILTER_SET' | translate }}</p> <p>{{ 'APP.BROWSE.SEARCH.FILTER_SET' | translate }}</p>
<adf-search-form></adf-search-form> <adf-search-form />
</div> </div>
<mat-divider [vertical]="true" class="aca-content__divider"></mat-divider> <mat-divider [vertical]="true" class="aca-content__divider" />
<div class="aca-content__advanced-filters"> <div class="aca-content__advanced-filters">
<div class="aca-content__advanced-filters--header"> <div class="aca-content__advanced-filters--header">
<p>{{ 'APP.BROWSE.SEARCH.ADVANCED_FILTERS' | translate }}</p> <p>{{ 'APP.BROWSE.SEARCH.ADVANCED_FILTERS' | translate }}</p>
@ -47,7 +46,7 @@
</button> </button>
</div> </div>
</div> </div>
<adf-search-filter-chips></adf-search-filter-chips> <adf-search-filter-chips />
</div> </div>
</div> </div>
@ -70,12 +69,12 @@
<data-columns> <data-columns>
<data-column id="app.search.thumbnail" key="$thumbnail" type="image" [sr-title]="'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'" [sortable]="false"> <data-column id="app.search.thumbnail" key="$thumbnail" type="image" [sr-title]="'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'" [sortable]="false">
<ng-template let-context> <ng-template let-context>
<aca-custom-thumbnail-column [context]="context"></aca-custom-thumbnail-column> <aca-custom-thumbnail-column [context]="context" />
</ng-template> </ng-template>
<adf-data-column-header> <adf-data-column-header>
<ng-template> <ng-template>
<aca-search-action-menu (sortingSelected)="onSearchSortingUpdate($event)"></aca-search-action-menu> <aca-search-action-menu (sortingSelected)="onSearchSortingUpdate($event)" />
</ng-template> </ng-template>
</adf-data-column-header> </adf-data-column-header>
</data-column> </data-column>
@ -96,7 +95,7 @@
[resizable]="column.resizable" [resizable]="column.resizable"
> >
<ng-template let-context> <ng-template let-context>
<adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column> <adf-dynamic-column [id]="column.template" [context]="context" />
</ng-template> </ng-template>
</data-column> </data-column>
</ng-container> </ng-container>
@ -114,8 +113,7 @@
[isHidden]="column.isHidden" [isHidden]="column.isHidden"
[draggable]="column.draggable" [draggable]="column.draggable"
[resizable]="column.resizable" [resizable]="column.resizable"
> />
</data-column>
</ng-container> </ng-container>
</ng-container> </ng-container>
</data-columns> </data-columns>
@ -131,8 +129,7 @@
</adf-custom-empty-content-template> </adf-custom-empty-content-template>
</adf-document-list> </adf-document-list>
<adf-pagination *ngIf="totalResults > 0" acaPagination [target]="documentList" (change)="onPaginationChanged($event)"> <adf-pagination *ngIf="totalResults > 0" acaPagination [target]="documentList" (change)="onPaginationChanged($event)" />
</adf-pagination>
</div> </div>
</div> </div>
</div> </div>
@ -172,7 +169,7 @@
</adf-alfresco-viewer> </adf-alfresco-viewer>
<ng-template #infoDrawerPanel> <ng-template #infoDrawerPanel>
<div class="aca-sidebar"> <div class="aca-sidebar">
<aca-info-drawer [node]="selection.last"></aca-info-drawer> <aca-info-drawer [node]="selection.last" />
</div> </div>
</ng-template> </ng-template>
</div> </div>

View File

@ -1 +1 @@
<app-expand-menu *ngIf="item" [item]="item" (actionClicked)="onActionClick()"></app-expand-menu> <app-expand-menu *ngIf="item" [item]="item" (actionClicked)="onActionClick()" />

View File

@ -2,15 +2,14 @@
<div class="aca-page-layout-header"> <div class="aca-page-layout-header">
<aca-search-ai-input-container <aca-search-ai-input-container
*ngIf="searchAiInputState.active; else header" *ngIf="searchAiInputState.active; else header"
[agentId]="searchAiInputState.selectedAgentId"> [agentId]="searchAiInputState.selectedAgentId" />
</aca-search-ai-input-container>
<ng-template #header> <ng-template #header>
<div class="aca-header-container"> <div class="aca-header-container">
<h1 class="aca-page-title"> <h1 class="aca-page-title">
{{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.SHARED.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }} {{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.SHARED.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }}
</h1> </h1>
<aca-toolbar [items]="actions"></aca-toolbar> <aca-toolbar [items]="actions" />
</div> </div>
</ng-template> </ng-template>
</div> </div>
@ -36,8 +35,7 @@
(name-click)="handleNodeClick($event)" (name-click)="handleNodeClick($event)"
> >
<adf-custom-empty-content-template> <adf-custom-empty-content-template>
<adf-empty-content icon="people" [title]="'APP.BROWSE.SHARED.EMPTY_STATE.TITLE'" subtitle="APP.BROWSE.SHARED.EMPTY_STATE.TEXT"> <adf-empty-content icon="people" [title]="'APP.BROWSE.SHARED.EMPTY_STATE.TITLE'" subtitle="APP.BROWSE.SHARED.EMPTY_STATE.TEXT" />
</adf-empty-content>
</adf-custom-empty-content-template> </adf-custom-empty-content-template>
<data-columns> <data-columns>
@ -57,7 +55,7 @@
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> >
<ng-template let-context> <ng-template let-context>
<adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column> <adf-dynamic-column [id]="column.template" [context]="context" />
</ng-template> </ng-template>
</data-column> </data-column>
</ng-container> </ng-container>
@ -75,18 +73,17 @@
[sortable]="column.sortable" [sortable]="column.sortable"
[isHidden]="column.isHidden" [isHidden]="column.isHidden"
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> />
</data-column>
</ng-container> </ng-container>
</ng-container> </ng-container>
</data-columns> </data-columns>
</adf-document-list> </adf-document-list>
<adf-pagination acaPagination [target]="documentList"></adf-pagination> <adf-pagination acaPagination [target]="documentList" />
</div> </div>
<div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async"> <div class="aca-sidebar" *ngIf="infoDrawerOpened$ | async">
<aca-info-drawer [node]="selection.last"></aca-info-drawer> <aca-info-drawer [node]="selection.last" />
</div> </div>
</div> </div>
</aca-page-layout> </aca-page-layout>

View File

@ -1,7 +1,7 @@
<ng-container *ngIf="sharedLinkId"> <ng-container *ngIf="sharedLinkId">
<adf-alfresco-viewer [allowPrint]="false" [allowDownload]="false" [allowFullScreen]="false" [sharedLinkId]="sharedLinkId" [allowGoBack]="false"> <adf-alfresco-viewer [allowPrint]="false" [allowDownload]="false" [allowFullScreen]="false" [sharedLinkId]="sharedLinkId" [allowGoBack]="false">
<adf-viewer-toolbar-actions> <adf-viewer-toolbar-actions>
<aca-toolbar [items]="viewerToolbarActions"></aca-toolbar> <aca-toolbar [items]="viewerToolbarActions" />
</adf-viewer-toolbar-actions> </adf-viewer-toolbar-actions>
</adf-alfresco-viewer> </adf-alfresco-viewer>
</ng-container> </ng-container>

View File

@ -9,7 +9,7 @@
[attr.title]="item.description | translate" [attr.title]="item.description | translate"
[attr.data-automation-id]="item.id" [attr.data-automation-id]="item.id"
> >
<adf-icon [value]="item.icon"></adf-icon> <adf-icon [value]="item.icon" />
</button> </button>
</ng-container> </ng-container>
@ -28,7 +28,7 @@
'action-button--active': acaMenuPanel.hasActiveChildren 'action-button--active': acaMenuPanel.hasActiveChildren
}" }"
> >
<adf-icon [value]="item.icon"></adf-icon> <adf-icon [value]="item.icon" />
</button> </button>
<mat-menu #menu="matMenu" [overlapTrigger]="false"> <mat-menu #menu="matMenu" [overlapTrigger]="false">
@ -43,7 +43,7 @@
mat-menu-item mat-menu-item
class="action-button" class="action-button"
> >
<adf-icon *ngIf="child.icon" [value]="child.icon"></adf-icon> <adf-icon *ngIf="child.icon" [value]="child.icon" />
<span class="action-button__label">{{ child.title | translate }}</span> <span class="action-button__label">{{ child.title | translate }}</span>
</button> </button>
</mat-menu> </mat-menu>

View File

@ -10,7 +10,7 @@
mat-button mat-button
class="aca-action-button aca-full-width" class="aca-action-button aca-full-width"
> >
<adf-icon *ngIf="item.icon" [value]="item.icon"></adf-icon> <adf-icon *ngIf="item.icon" [value]="item.icon" />
<span class="action-button__label">{{ item.title | translate }}</span> <span class="action-button__label">{{ item.title | translate }}</span>
</button> </button>
</div> </div>
@ -32,7 +32,7 @@
[attr.data-automation-id]="item.id" [attr.data-automation-id]="item.id"
class="aca-action-button aca-full-width" class="aca-action-button aca-full-width"
> >
<adf-icon *ngIf="item.icon" [value]="item.icon"></adf-icon> <adf-icon *ngIf="item.icon" [value]="item.icon" />
<span class="aca-action-button__label">{{ item.title | translate }}</span> <span class="aca-action-button__label">{{ item.title | translate }}</span>
</span> </span>
</div> </div>
@ -51,7 +51,7 @@
mat-button mat-button
class="aca-action-button aca-full-width" class="aca-action-button aca-full-width"
> >
<adf-icon *ngIf="child.icon" [value]="child.icon"></adf-icon> <adf-icon *ngIf="child.icon" [value]="child.icon" />
<span class="aca-action-button__label">{{ child.title | translate }}</span> <span class="aca-action-button__label">{{ child.title | translate }}</span>
</button> </button>
</div> </div>

View File

@ -18,6 +18,6 @@
{{ appName | translate }} {{ appName | translate }}
</div> </div>
<aca-toolbar [items]="actions"></aca-toolbar> <aca-toolbar [items]="actions" />
</div> </div>
</div> </div>

View File

@ -1,14 +1,14 @@
<div class="aca-sidenav"> <div class="aca-sidenav">
<app-sidenav-header (toggleNavBar)="toggleClick()"></app-sidenav-header> <app-sidenav-header (toggleNavBar)="toggleClick()" />
<div class="aca-sidenav__section"> <div class="aca-sidenav__section">
<div *ngFor="let group of groups; trackBy: trackByGroupId" class="aca-sidenav__section__actions"> <div *ngFor="let group of groups; trackBy: trackByGroupId" class="aca-sidenav__section__actions">
<mat-list-item class="aca-sidenav__section__actions__item" *ngFor="let item of group.items; trackBy: trackByLinkId"> <mat-list-item class="aca-sidenav__section__actions__item" *ngFor="let item of group.items; trackBy: trackByLinkId">
<ng-container *ngIf="!item.component"> <ng-container *ngIf="!item.component">
<app-expand-menu [item]="item"></app-expand-menu> <app-expand-menu [item]="item" />
</ng-container> </ng-container>
<ng-container *ngIf="item.component"> <ng-container *ngIf="item.component">
<adf-dynamic-component [data]="{ item: item, state: 'expanded' }" [id]="item.component"></adf-dynamic-component> <adf-dynamic-component [data]="{ item: item, state: 'expanded' }" [id]="item.component" />
</ng-container> </ng-container>
</mat-list-item> </mat-list-item>
</div> </div>

View File

@ -9,6 +9,6 @@
<mat-menu #menu="matMenu" xPosition="before"> <mat-menu #menu="matMenu" xPosition="before">
<ng-container *ngFor="let item of data.items"> <ng-container *ngFor="let item of data.items">
<app-toolbar-menu-item [actionRef]="item"></app-toolbar-menu-item> <app-toolbar-menu-item [actionRef]="item" />
</ng-container> </ng-container>
</mat-menu> </mat-menu>

View File

@ -4,7 +4,7 @@
{{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.TRASHCAN.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }} {{ (selectedRowItemsCount < 1 ? 'APP.BROWSE.TRASHCAN.TITLE' : 'APP.HEADER.SELECTED') | translate: { count: selectedRowItemsCount } }}
</h1> </h1>
<aca-toolbar [items]="actions"></aca-toolbar> <aca-toolbar [items]="actions" />
</div> </div>
<div class="aca-page-layout-content"> <div class="aca-page-layout-content">
@ -54,7 +54,7 @@
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> >
<ng-template let-context> <ng-template let-context>
<adf-dynamic-column [id]="column.template" [context]="context"> </adf-dynamic-column> <adf-dynamic-column [id]="column.template" [context]="context" />
</ng-template> </ng-template>
</data-column> </data-column>
</ng-container> </ng-container>
@ -72,8 +72,7 @@
[resizable]="column.resizable" [resizable]="column.resizable"
[isHidden]="column.isHidden" [isHidden]="column.isHidden"
[sortingKey]="column.sortingKey || column.key" [sortingKey]="column.sortingKey || column.key"
> />
</data-column>
</ng-container> </ng-container>
</ng-container> </ng-container>
@ -82,12 +81,11 @@
class="adf-ellipsis-cell" class="adf-ellipsis-cell"
key="archivedByUser.displayName" key="archivedByUser.displayName"
title="APP.DOCUMENT_LIST.COLUMNS.DELETED_BY" title="APP.DOCUMENT_LIST.COLUMNS.DELETED_BY"
> />
</data-column>
</data-columns> </data-columns>
</adf-document-list> </adf-document-list>
<adf-pagination acaPagination [target]="documentList"> </adf-pagination> <adf-pagination acaPagination [target]="documentList" />
</div> </div>
</div> </div>
</aca-page-layout> </aca-page-layout>

View File

@ -1,2 +1 @@
<adf-file-uploading-dialog *ngIf="showFileUploadingDialog$ | async" position="left"> <adf-file-uploading-dialog *ngIf="showFileUploadingDialog$ | async" position="left" />
</adf-file-uploading-dialog>

View File

@ -27,33 +27,33 @@
(click)="onSaveGeneralData(profileForm)">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button> (click)="onSaveGeneralData(profileForm)">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>
</div> </div>
</div> </div>
<mat-divider class="app-divider" *ngIf="generalSectionDropdown"></mat-divider> <mat-divider class="app-divider" *ngIf="generalSectionDropdown" />
<div *ngIf="generalSectionDropdown"> <div *ngIf="generalSectionDropdown">
<div class="app-general-dropdown"> <div class="app-general-dropdown">
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
<h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.FIRST_NAME' | translate}}</h4> <h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.FIRST_NAME' | translate}}</h4>
<p class="app-profile-general-dropdown-details">{{personDetails?.firstName}}</p> <p class="app-profile-general-dropdown-details">{{personDetails?.firstName}}</p>
</div> </div>
<mat-divider class="app-general-dropdown-divider"></mat-divider> <mat-divider class="app-general-dropdown-divider" />
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
<h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.LAST_NAME' | translate}}</h4> <h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.LAST_NAME' | translate}}</h4>
<p class="app-profile-general-dropdown-details">{{personDetails?.lastName}}</p> <p class="app-profile-general-dropdown-details">{{personDetails?.lastName}}</p>
</div> </div>
<mat-divider class="app-general-dropdown-divider"></mat-divider> <mat-divider class="app-general-dropdown-divider" />
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
<h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.JOB_TITLE' | translate}}</h4> <h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.JOB_TITLE' | translate}}</h4>
<p class="app-profile-general-dropdown-details" *ngIf="generalSectionButtonsToggle">{{personDetails?.jobTitle}}</p> <p class="app-profile-general-dropdown-details" *ngIf="generalSectionButtonsToggle">{{personDetails?.jobTitle}}</p>
<input type="text" value="" formControlName="jobTitle" *ngIf="!generalSectionButtonsToggle" <input type="text" value="" formControlName="jobTitle" *ngIf="!generalSectionButtonsToggle"
class="app-profile-general-dropdown-input-details app-selected"> class="app-profile-general-dropdown-input-details app-selected">
</div> </div>
<mat-divider class="app-general-dropdown-divider"></mat-divider> <mat-divider class="app-general-dropdown-divider" />
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
<h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.LOCATION' | translate}}</h4> <h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.LOCATION' | translate}}</h4>
<p class="app-profile-general-dropdown-details" *ngIf="generalSectionButtonsToggle">{{personDetails?.location}}</p> <p class="app-profile-general-dropdown-details" *ngIf="generalSectionButtonsToggle">{{personDetails?.location}}</p>
<input type="text" value="" formControlName="location" *ngIf="!generalSectionButtonsToggle" <input type="text" value="" formControlName="location" *ngIf="!generalSectionButtonsToggle"
class="app-profile-general-dropdown-input-details app-selected"> class="app-profile-general-dropdown-input-details app-selected">
</div> </div>
<mat-divider class="app-general-dropdown-divider"></mat-divider> <mat-divider class="app-general-dropdown-divider" />
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
<h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4> <h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>
<p class="app-profile-general-dropdown-details" *ngIf="generalSectionButtonsToggle">{{personDetails?.telephone}}</p> <p class="app-profile-general-dropdown-details" *ngIf="generalSectionButtonsToggle">{{personDetails?.telephone}}</p>
@ -63,7 +63,7 @@
{{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }} {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}
</mat-error> </mat-error>
</div> </div>
<mat-divider class="app-general-dropdown-divider"></mat-divider> <mat-divider class="app-general-dropdown-divider" />
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
<h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.MOBILE' | translate}}</h4> <h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.MOBILE' | translate}}</h4>
<p class="app-profile-general-dropdown-details" *ngIf="generalSectionButtonsToggle">{{personDetails?.mobile}}</p> <p class="app-profile-general-dropdown-details" *ngIf="generalSectionButtonsToggle">{{personDetails?.mobile}}</p>
@ -96,7 +96,7 @@
(click)="onSaveCompanyData(profileForm)">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button> (click)="onSaveCompanyData(profileForm)">{{'APP.EDIT_PROFILE.SAVE' | translate}}</button>
</div> </div>
</div> </div>
<mat-divider class="app-divider" *ngIf="contactSectionDropdown"></mat-divider> <mat-divider class="app-divider" *ngIf="contactSectionDropdown" />
<div *ngIf="contactSectionDropdown"> <div *ngIf="contactSectionDropdown">
<div class="app-general-dropdown"> <div class="app-general-dropdown">
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
@ -105,21 +105,21 @@
<input type="text" value="" *ngIf="!contactSectionButtonsToggle" formControlName="companyName" <input type="text" value="" *ngIf="!contactSectionButtonsToggle" formControlName="companyName"
class="app-profile-general-dropdown-input-details app-selected"> class="app-profile-general-dropdown-input-details app-selected">
</div> </div>
<mat-divider class="app-general-dropdown-divider"></mat-divider> <mat-divider class="app-general-dropdown-divider" />
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
<h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.ADDRESS' | translate}}</h4> <h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.ADDRESS' | translate}}</h4>
<p class="app-profile-general-dropdown-details" *ngIf="contactSectionButtonsToggle">{{personDetails?.company?.address1}}</p> <p class="app-profile-general-dropdown-details" *ngIf="contactSectionButtonsToggle">{{personDetails?.company?.address1}}</p>
<input type="text" value="" *ngIf="!contactSectionButtonsToggle" formControlName="companyAddress" <input type="text" value="" *ngIf="!contactSectionButtonsToggle" formControlName="companyAddress"
class="app-profile-general-dropdown-input-details app-selected"> class="app-profile-general-dropdown-input-details app-selected">
</div> </div>
<mat-divider class="app-general-dropdown-divider"></mat-divider> <mat-divider class="app-general-dropdown-divider" />
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
<h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.POSTCODE' | translate}}</h4> <h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.POSTCODE' | translate}}</h4>
<p class="app-profile-general-dropdown-details" *ngIf="contactSectionButtonsToggle">{{personDetails?.company?.postcode}}</p> <p class="app-profile-general-dropdown-details" *ngIf="contactSectionButtonsToggle">{{personDetails?.company?.postcode}}</p>
<input type="text" value="" *ngIf="!contactSectionButtonsToggle" formControlName="companyPostCode" <input type="text" value="" *ngIf="!contactSectionButtonsToggle" formControlName="companyPostCode"
class="app-profile-general-dropdown-input-details app-selected"> class="app-profile-general-dropdown-input-details app-selected">
</div> </div>
<mat-divider class="app-general-dropdown-divider"></mat-divider> <mat-divider class="app-general-dropdown-divider" />
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
<h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4> <h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.TELEPHONE' | translate}}</h4>
<p class="app-profile-general-dropdown-details" *ngIf="contactSectionButtonsToggle">{{personDetails?.company?.telephone}}</p> <p class="app-profile-general-dropdown-details" *ngIf="contactSectionButtonsToggle">{{personDetails?.company?.telephone}}</p>
@ -129,7 +129,7 @@
{{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }} {{ 'APP.EDIT_PROFILE.INVALID_INPUT' | translate }}
</mat-error> </mat-error>
</div> </div>
<mat-divider class="app-general-dropdown-divider"></mat-divider> <mat-divider class="app-general-dropdown-divider" />
<div class="app-general-dropdown-details"> <div class="app-general-dropdown-details">
<h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.EMAIL' | translate}}</h4> <h4 class="app-profile-general-dropdown-heading">{{'APP.EDIT_PROFILE.EMAIL' | translate}}</h4>
<p class="app-profile-general-dropdown-details" *ngIf="contactSectionButtonsToggle">{{personDetails?.company?.email}}</p> <p class="app-profile-general-dropdown-details" *ngIf="contactSectionButtonsToggle">{{personDetails?.company?.email}}</p>

View File

@ -18,17 +18,17 @@
(navigateNext)="onNavigateNext($event)" (navigateNext)="onNavigateNext($event)"
> >
<adf-viewer-sidebar *ngIf="infoDrawerOpened$ | async"> <adf-viewer-sidebar *ngIf="infoDrawerOpened$ | async">
<aca-info-drawer [node]="selection.file"></aca-info-drawer> <aca-info-drawer [node]="selection.file" />
</adf-viewer-sidebar> </adf-viewer-sidebar>
<adf-viewer-open-with *ngIf="openWith.length"> <adf-viewer-open-with *ngIf="openWith.length">
<ng-container *ngFor="let action of openWith; trackBy: trackByActionId"> <ng-container *ngFor="let action of openWith; trackBy: trackByActionId">
<app-toolbar-menu-item [actionRef]="action"></app-toolbar-menu-item> <app-toolbar-menu-item [actionRef]="action" />
</ng-container> </ng-container>
</adf-viewer-open-with> </adf-viewer-open-with>
<adf-viewer-toolbar-actions *ngIf="!simplestMode"> <adf-viewer-toolbar-actions *ngIf="!simplestMode">
<aca-toolbar [items]="viewerToolbarActions"></aca-toolbar> <aca-toolbar [items]="viewerToolbarActions" />
</adf-viewer-toolbar-actions> </adf-viewer-toolbar-actions>
</adf-alfresco-viewer> </adf-alfresco-viewer>
</ng-container> </ng-container>

View File

@ -22,17 +22,17 @@
(navigateNext)="onNavigateNext($event)" (navigateNext)="onNavigateNext($event)"
> >
<adf-viewer-sidebar *ngIf="infoDrawerOpened$ | async"> <adf-viewer-sidebar *ngIf="infoDrawerOpened$ | async">
<aca-info-drawer [node]="selection.file"></aca-info-drawer> <aca-info-drawer [node]="selection.file" />
</adf-viewer-sidebar> </adf-viewer-sidebar>
<adf-viewer-open-with *ngIf="openWith.length"> <adf-viewer-open-with *ngIf="openWith.length">
<ng-container *ngFor="let action of openWith; trackBy: trackByActionId"> <ng-container *ngFor="let action of openWith; trackBy: trackByActionId">
<app-toolbar-menu-item [actionRef]="action"></app-toolbar-menu-item> <app-toolbar-menu-item [actionRef]="action" />
</ng-container> </ng-container>
</adf-viewer-open-with> </adf-viewer-open-with>
<adf-viewer-toolbar-actions> <adf-viewer-toolbar-actions>
<aca-toolbar [items]="toolbarActions"></aca-toolbar> <aca-toolbar [items]="toolbarActions" />
</adf-viewer-toolbar-actions> </adf-viewer-toolbar-actions>
</adf-alfresco-viewer> </adf-alfresco-viewer>
</ng-container> </ng-container>

View File

@ -1,12 +1,12 @@
<div *ngIf="isLoading"> <div *ngIf="isLoading">
<mat-progress-bar mode="indeterminate" [attr.aria-label]="'APP.INFO_DRAWER.DATA_LOADING' | translate"></mat-progress-bar> <mat-progress-bar mode="indeterminate" [attr.aria-label]="'APP.INFO_DRAWER.DATA_LOADING' | translate" />
</div> </div>
<ng-container *ngIf="!isLoading && !!displayNode"> <ng-container *ngIf="!isLoading && !!displayNode">
<adf-info-drawer [icon]="icon" [title]="node?.entry?.name || 'APP.INFO_DRAWER.TITLE'" cdkTrapFocusAutoCapture> <adf-info-drawer [icon]="icon" [title]="node?.entry?.name || 'APP.INFO_DRAWER.TITLE'" cdkTrapFocusAutoCapture>
<aca-toolbar [items]="actions" info-drawer-buttons></aca-toolbar> <aca-toolbar [items]="actions" info-drawer-buttons />
<adf-info-drawer-tab *ngFor="let tab of tabs" [icon]="tab.icon" [label]="tab.title"> <adf-info-drawer-tab *ngFor="let tab of tabs" [icon]="tab.icon" [label]="tab.title">
<adf-dynamic-tab [node]="$any(displayNode)" [id]="tab.component" [attr.data-automation-id]="tab.component"> </adf-dynamic-tab> <adf-dynamic-tab [node]="$any(displayNode)" [id]="tab.component" [attr.data-automation-id]="tab.component" />
</adf-info-drawer-tab> </adf-info-drawer-tab>
</adf-info-drawer> </adf-info-drawer>
</ng-container> </ng-container>

View File

@ -1,19 +1,19 @@
<ng-container [ngSwitch]="actionRef.type"> <ng-container [ngSwitch]="actionRef.type">
<div *ngSwitchCase="'default'"> <div *ngSwitchCase="'default'">
<app-toolbar-button [type]="type" [actionRef]="actionRef" [color]="color"> </app-toolbar-button> <app-toolbar-button [type]="type" [actionRef]="actionRef" [color]="color" />
</div> </div>
<div *ngSwitchCase="'button'"> <div *ngSwitchCase="'button'">
<app-toolbar-button [type]="data?.buttonType || type" [actionRef]="actionRef" [color]="color" [data]="actionRef.data"> </app-toolbar-button> <app-toolbar-button [type]="data?.buttonType || type" [actionRef]="actionRef" [color]="color" [data]="actionRef.data" />
</div> </div>
<div *ngSwitchCase="'separator'" [id]="actionRef.id" class="aca-toolbar-divider"></div> <div *ngSwitchCase="'separator'" [id]="actionRef.id" class="aca-toolbar-divider"></div>
<ng-container *ngSwitchCase="'menu'"> <ng-container *ngSwitchCase="'menu'">
<app-toolbar-menu [actionRef]="actionRef" [color]="color" [data]="actionRef.data"></app-toolbar-menu> <app-toolbar-menu [actionRef]="actionRef" [color]="color" [data]="actionRef.data" />
</ng-container> </ng-container>
<div *ngSwitchCase="'custom'"> <div *ngSwitchCase="'custom'">
<adf-dynamic-component [data]="actionRef.data" [id]="actionRef.component"></adf-dynamic-component> <adf-dynamic-component [data]="actionRef.data" [id]="actionRef.component" />
</div> </div>
</ng-container> </ng-container>

View File

@ -9,7 +9,7 @@
[disabled]="actionRef.disabled" [disabled]="actionRef.disabled"
(click)="runAction()" (click)="runAction()"
> >
<adf-icon [value]="actionRef.icon"></adf-icon> <adf-icon [value]="actionRef.icon" />
</button> </button>
</ng-container> </ng-container>
@ -42,6 +42,6 @@
</ng-container> </ng-container>
<ng-container *ngSwitchCase="'menu-item'"> <ng-container *ngSwitchCase="'menu-item'">
<app-toolbar-menu-item [actionRef]="actionRef"></app-toolbar-menu-item> <app-toolbar-menu-item [actionRef]="actionRef" />
</ng-container> </ng-container>
</ng-container> </ng-container>

View File

@ -1,23 +1,23 @@
<ng-container [ngSwitch]="actionRef.type"> <ng-container [ngSwitch]="actionRef.type">
<ng-container *ngSwitchCase="'menu'"> <ng-container *ngSwitchCase="'menu'">
<button [id]="actionRef.id" mat-menu-item role="menuitem" tabindex="0" [disabled]="actionRef.disabled" [matMenuTriggerFor]="childMenu"> <button [id]="actionRef.id" mat-menu-item role="menuitem" tabindex="0" [disabled]="actionRef.disabled" [matMenuTriggerFor]="childMenu">
<adf-icon [value]="actionRef.icon"></adf-icon> <adf-icon [value]="actionRef.icon" />
<span data-automation-id="menu-item-title">{{ actionRef.title | translate }}</span> <span data-automation-id="menu-item-title">{{ actionRef.title | translate }}</span>
</button> </button>
<mat-menu #childMenu="matMenu" class="app-create-menu__sub-menu"> <mat-menu #childMenu="matMenu" class="app-create-menu__sub-menu">
<ng-container *ngFor="let child of actionRef.children; trackBy: trackByActionId"> <ng-container *ngFor="let child of actionRef.children; trackBy: trackByActionId">
<app-toolbar-menu-item [actionRef]="child"></app-toolbar-menu-item> <app-toolbar-menu-item [actionRef]="child" />
</ng-container> </ng-container>
</mat-menu> </mat-menu>
</ng-container> </ng-container>
<ng-container *ngSwitchCase="'separator'"> <ng-container *ngSwitchCase="'separator'">
<mat-divider></mat-divider> <mat-divider />
</ng-container> </ng-container>
<ng-container *ngSwitchCase="'custom'"> <ng-container *ngSwitchCase="'custom'">
<adf-dynamic-component [id]="actionRef.component"></adf-dynamic-component> <adf-dynamic-component [id]="actionRef.component" />
</ng-container> </ng-container>
<ng-container *ngSwitchDefault> <ng-container *ngSwitchDefault>
@ -31,7 +31,7 @@
[attr.title]="(actionRef.disabled ? actionRef['description-disabled'] : actionRef.description || actionRef.title) | translate" [attr.title]="(actionRef.disabled ? actionRef['description-disabled'] : actionRef.description || actionRef.title) | translate"
(click)="runAction()" (click)="runAction()"
> >
<adf-icon [value]="actionRef.icon" class="app-toolbar-menu-item--icon"></adf-icon> <adf-icon [value]="actionRef.icon" class="app-toolbar-menu-item--icon" />
<span data-automation-id="menu-item-title">{{ actionRef.title | translate }}</span> <span data-automation-id="menu-item-title">{{ actionRef.title | translate }}</span>
</button> </button>
</ng-container> </ng-container>

View File

@ -55,7 +55,7 @@
[disabled]="actionRef.disabled" [disabled]="actionRef.disabled"
#matTrigger="matMenuTrigger" #matTrigger="matMenuTrigger"
> >
<adf-icon *ngIf="actionRef.icon" [value]="actionRef.icon"></adf-icon> <adf-icon *ngIf="actionRef.icon" [value]="actionRef.icon" />
</button> </button>
</ng-container> </ng-container>
</ng-container> </ng-container>
@ -64,10 +64,10 @@
<ng-container *ngFor="let child of actionRef.children; trackBy: trackByActionId"> <ng-container *ngFor="let child of actionRef.children; trackBy: trackByActionId">
<ng-container [ngSwitch]="child.type"> <ng-container [ngSwitch]="child.type">
<ng-container *ngSwitchCase="'custom'"> <ng-container *ngSwitchCase="'custom'">
<adf-dynamic-component [id]="child.component" [data]="child.data"></adf-dynamic-component> <adf-dynamic-component [id]="child.component" [data]="child.data" />
</ng-container> </ng-container>
<ng-container *ngSwitchDefault> <ng-container *ngSwitchDefault>
<app-toolbar-menu-item [actionRef]="child" [menuId]="actionRef.id"></app-toolbar-menu-item> <app-toolbar-menu-item [actionRef]="child" [menuId]="actionRef.id" />
</ng-container> </ng-container>
</ng-container> </ng-container>
</ng-container> </ng-container>

View File

@ -1,5 +1,5 @@
<mat-toolbar class="aca-toolbar"> <mat-toolbar class="aca-toolbar">
<ng-container *ngFor="let item of items; trackBy: trackByActionId"> <ng-container *ngFor="let item of items; trackBy: trackByActionId">
<aca-toolbar-action [actionRef]="item"></aca-toolbar-action> <aca-toolbar-action [actionRef]="item" />
</ng-container> </ng-container>
</mat-toolbar> </mat-toolbar>