From 27da2b8b725107c817f012437724e7cebad81b58 Mon Sep 17 00:00:00 2001 From: swapnil-verma-gl <92505353+swapnil-verma-gl@users.noreply.github.com> Date: Wed, 31 May 2023 14:52:02 +0530 Subject: [PATCH 01/24] Added missing DirectiveModule import in standalone LogoutComponent (#3241) --- .../src/lib/components/common/logout/logout.component.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/aca-content/src/lib/components/common/logout/logout.component.ts b/projects/aca-content/src/lib/components/common/logout/logout.component.ts index a119e3372..859810121 100644 --- a/projects/aca-content/src/lib/components/common/logout/logout.component.ts +++ b/projects/aca-content/src/lib/components/common/logout/logout.component.ts @@ -28,10 +28,11 @@ import { SetSelectedNodesAction } from '@alfresco/aca-shared/store'; import { TranslateModule } from '@ngx-translate/core'; import { MatIconModule } from '@angular/material/icon'; import { MatMenuModule } from '@angular/material/menu'; +import { DirectiveModule } from '@alfresco/adf-core'; @Component({ standalone: true, - imports: [TranslateModule, MatIconModule, MatMenuModule], + imports: [TranslateModule, MatIconModule, MatMenuModule, DirectiveModule], selector: 'aca-logout', template: ` @@ -12,9 +12,9 @@ - @@ -92,7 +92,7 @@
-
@@ -142,4 +142,4 @@ - \ No newline at end of file + diff --git a/projects/aca-content/src/lib/dialogs/node-template/create-from-template.dialog.html b/projects/aca-content/src/lib/dialogs/node-template/create-from-template.dialog.html index 7fc0a9b55..993f50403 100644 --- a/projects/aca-content/src/lib/dialogs/node-template/create-from-template.dialog.html +++ b/projects/aca-content/src/lib/dialogs/node-template/create-from-template.dialog.html @@ -1,4 +1,4 @@ -

+

diff --git a/projects/aca-content/src/lib/dialogs/node-template/create-from-template.dialog.ts b/projects/aca-content/src/lib/dialogs/node-template/create-from-template.dialog.ts index a273b8627..7df6e8ee0 100644 --- a/projects/aca-content/src/lib/dialogs/node-template/create-from-template.dialog.ts +++ b/projects/aca-content/src/lib/dialogs/node-template/create-from-template.dialog.ts @@ -45,6 +45,8 @@ import { MatButtonModule } from '@angular/material/button'; export class CreateFromTemplateDialogComponent implements OnInit { public form: UntypedFormGroup; + title = ''; + constructor( private translationService: TranslationService, private store: Store, @@ -59,6 +61,11 @@ export class CreateFromTemplateDialogComponent implements OnInit { title: [this.data.properties ? this.data.properties['cm:title'] : '', Validators.maxLength(256)], description: [this.data.properties ? this.data.properties['cm:description'] : '', Validators.maxLength(512)] }); + + this.title = this.translationService.instant( + this.data.isFolder ? 'NODE_FROM_TEMPLATE.FOLDER_DIALOG_TITLE' : 'NODE_FROM_TEMPLATE.FILE_DIALOG_TITLE', + { template: this.data.name } + ); } onSubmit() { @@ -73,14 +80,6 @@ export class CreateFromTemplateDialogComponent implements OnInit { this.store.dispatch(new CreateFromTemplate(data)); } - title(): string { - if (this.data.isFolder) { - return this.translationService.instant('NODE_FROM_TEMPLATE.FOLDER_DIALOG_TITLE', { template: this.data.name }); - } - - return this.translationService.instant('NODE_FROM_TEMPLATE.FILE_DIALOG_TITLE', { template: this.data.name }); - } - close() { this.dialogRef.close(); } diff --git a/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.html b/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.html index a5451562c..35144a075 100644 --- a/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.html +++ b/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.html @@ -47,7 +47,7 @@ diff --git a/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.ts b/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.ts index 47ff67a37..a2a570f95 100644 --- a/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.ts +++ b/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.ts @@ -22,7 +22,7 @@ * from Hyland Software. If not, see . */ -import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; import { Location } from '@angular/common'; import { FolderRulesService } from '../services/folder-rules.service'; import { Observable, Subject, Subscription } from 'rxjs'; @@ -47,6 +47,7 @@ import { ActionParameterConstraint } from '../model/action-parameter-constraint. templateUrl: 'manage-rules.smart-component.html', styleUrls: ['manage-rules.smart-component.scss'], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Default, host: { class: 'aca-manage-rules' } }) export class ManageRulesSmartComponent implements OnInit, OnDestroy { @@ -65,6 +66,10 @@ export class ManageRulesSmartComponent implements OnInit, OnDestroy { actionsLoading$: Observable; actionDefinitions$: Observable; parameterConstraints$: Observable; + canEditMainRule = false; + canEditSelectedRule = false; + isMainRuleSetNotEmpty = false; + isInheritedRuleSetsNotEmpty = false; private destroyed$ = new Subject(); private _actionDefinitionsSub: Subscription; @@ -110,6 +115,19 @@ export class ManageRulesSmartComponent implements OnInit, OnDestroy { this._actionDefinitionsSub = this.actionDefinitions$.subscribe((actionDefinitions: ActionDefinitionTransformed[]) => this.actionsService.loadActionParameterConstraints(actionDefinitions) ); + + this.mainRuleSet$.pipe(takeUntil(this.destroyed$)).subscribe((ruleSet) => { + this.canEditMainRule = this.canEditRule(ruleSet); + this.isMainRuleSetNotEmpty = !!ruleSet; + }); + + this.inheritedRuleSets$.pipe(takeUntil(this.destroyed$)).subscribe((inheritedRuleSet) => { + this.isInheritedRuleSetsNotEmpty = inheritedRuleSet.some((ruleSet) => ruleSet.rules.some((rule: Rule) => rule.isEnabled)); + }); + + this.selectedRuleSet$.pipe(takeUntil(this.destroyed$)).subscribe((ruleSet) => { + this.canEditSelectedRule = this.canEditRule(ruleSet); + }); } ngOnDestroy() { @@ -251,12 +269,4 @@ export class ManageRulesSmartComponent implements OnInit, OnDestroy { } }); } - - isMainRuleSetNotEmpty(mainRuleSet: RuleSet): boolean { - return !!mainRuleSet; - } - - isInheritedRuleSetsNotEmpty(inheritedRuleSets: RuleSet[]): boolean { - return inheritedRuleSets.some((ruleSet) => ruleSet.rules.some((rule: Rule) => rule.isEnabled)); - } } diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.html b/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.html index 071dae114..1af5b6d3b 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.html +++ b/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.html @@ -19,7 +19,7 @@ mat-menu-item data-automation-id="rule-action-list-remove-action-button" [title]="'ACA_FOLDER_RULES.RULE_DETAILS.ACTION_BUTTONS.REMOVE' | translate" - [disabled]="formArray.controls.length <= 1" + [disabled]="formControls.length <= 1" (click)="removeAction(control)"> delete {{ 'ACA_FOLDER_RULES.RULE_DETAILS.ACTION_BUTTONS.REMOVE' | translate }} diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.ts b/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.ts index 853557982..7c5bca6e6 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.ts +++ b/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.ts @@ -56,9 +56,7 @@ export class RuleActionListUiComponent implements ControlValueAccessor, OnDestro formArray = new FormArray([]); private formArraySubscription: Subscription; - get formControls(): FormControl[] { - return this.formArray.controls as FormControl[]; - } + formControls: FormControl[] = []; onChange: (actions: RuleAction[]) => void = () => undefined; onTouch: () => void = () => undefined; @@ -73,6 +71,7 @@ export class RuleActionListUiComponent implements ControlValueAccessor, OnDestro ]; } this.formArray = new FormArray(actions.map((action: RuleAction) => new FormControl(action))); + this.formControls = this.formArray.controls as FormControl[]; this.formArraySubscription?.unsubscribe(); this.formArraySubscription = this.formArray.valueChanges.subscribe((value: any) => { this.onChange(value); @@ -94,6 +93,7 @@ export class RuleActionListUiComponent implements ControlValueAccessor, OnDestro params: {} }; this.formArray.push(new FormControl(newAction, [Validators.required, ruleActionValidator(this.actionDefinitions)])); + this.formControls = this.formArray.controls as FormControl[]; } ngOnDestroy() { @@ -103,5 +103,6 @@ export class RuleActionListUiComponent implements ControlValueAccessor, OnDestro removeAction(control: FormControl) { const index = this.formArray.value.indexOf(control.value); this.formArray.removeAt(index); + this.formControls = this.formArray.controls as FormControl[]; } } diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.html b/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.html index 5a8be2c76..32119eb02 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.html +++ b/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.html @@ -16,7 +16,7 @@ diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.scss b/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.scss index b34ac6879..51598a840 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.scss +++ b/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.scss @@ -8,4 +8,8 @@ width: 280px; } } + + &-full-width { + width: 100%; + } } diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.ts b/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.ts index 5094e279c..1eba93faa 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.ts +++ b/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.ts @@ -22,7 +22,7 @@ * from Hyland Software. If not, see . */ -import { Component, forwardRef, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; +import { Component, forwardRef, Input, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewEncapsulation } from '@angular/core'; import { ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR, Validators } from '@angular/forms'; import { ActionDefinitionTransformed, RuleAction } from '../../model/rule-action.model'; import { CardViewItem } from '@alfresco/adf-core/lib/card-view/interfaces/card-view-item.interface'; @@ -57,27 +57,15 @@ import { TranslateService } from '@ngx-translate/core'; CardViewUpdateService ] }) -export class RuleActionUiComponent implements ControlValueAccessor, OnInit, OnDestroy { +export class RuleActionUiComponent implements ControlValueAccessor, OnInit, OnChanges, OnDestroy { @Input() nodeId = ''; - private _actionDefinitions: ActionDefinitionTransformed[]; @Input() - get actionDefinitions(): ActionDefinitionTransformed[] { - return this._actionDefinitions; - } - set actionDefinitions(value: ActionDefinitionTransformed[]) { - this._actionDefinitions = value.sort((a, b) => a.title.localeCompare(b.title)); - } + actionDefinitions: ActionDefinitionTransformed[]; - private _readOnly = false; @Input() - get readOnly(): boolean { - return this._readOnly; - } - set readOnly(isReadOnly: boolean) { - this.setDisabledState(isReadOnly); - } + readOnly = false; private _parameterConstraints = []; @Input() @@ -135,6 +123,10 @@ export class RuleActionUiComponent implements ControlValueAccessor, OnInit, OnDe } ngOnInit() { + this.actionDefinitions = this.actionDefinitions.sort((firstActionDefinition, secondActionDefinition) => + firstActionDefinition.title.localeCompare(secondActionDefinition.title) + ); + this.form.valueChanges.pipe(takeUntil(this.onDestroy$)).subscribe(() => { this.setDefaultParameters(); this.setCardViewProperties(); @@ -158,6 +150,14 @@ export class RuleActionUiComponent implements ControlValueAccessor, OnInit, OnDe }); } + ngOnChanges(changes: SimpleChanges): void { + const readOnly = changes['readOnly']?.currentValue; + if (readOnly !== undefined && readOnly !== null) { + this.readOnly = readOnly; + this.setDisabledState(readOnly); + } + } + ngOnDestroy() { this.onDestroy$.next(); this.onDestroy$.complete(); @@ -272,10 +272,10 @@ export class RuleActionUiComponent implements ControlValueAccessor, OnInit, OnDe setDisabledState(isDisabled: boolean) { if (isDisabled) { - this._readOnly = true; + this.readOnly = true; this.form.disable(); } else { - this._readOnly = false; + this.readOnly = false; this.form.enable(); } } diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.html b/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.html index 4cea158eb..ab2e23dff 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.html +++ b/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.html @@ -9,9 +9,8 @@ + [formControl]="invertedControl" + [disabled]="readOnly"> {{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.IF' | translate }} {{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.NOT_IF' | translate }} @@ -19,9 +18,8 @@ + [formControl]="booleanModeControl"> {{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.AND' | translate }} {{ 'ACA_FOLDER_RULES.RULE_DETAILS.LOGIC_OPERATORS.OR' | translate }} diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.ts b/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.ts index f3f061c1d..f53d58831 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.ts +++ b/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.ts @@ -22,7 +22,7 @@ * from Hyland Software. If not, see . */ -import { Component, forwardRef, HostBinding, Input, OnDestroy, ViewEncapsulation } from '@angular/core'; +import { Component, forwardRef, HostBinding, Input, OnChanges, OnDestroy, SimpleChanges, ViewEncapsulation } from '@angular/core'; import { RuleCompositeCondition } from '../../model/rule-composite-condition.model'; import { ControlValueAccessor, FormArray, FormControl, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms'; import { RuleSimpleCondition } from '../../model/rule-simple-condition.model'; @@ -41,7 +41,7 @@ import { RuleSimpleCondition } from '../../model/rule-simple-condition.model'; } ] }) -export class RuleCompositeConditionUiComponent implements ControlValueAccessor, OnDestroy { +export class RuleCompositeConditionUiComponent implements ControlValueAccessor, OnDestroy, OnChanges { @HostBinding('class.secondaryBackground') @Input() secondaryBackground = false; @@ -58,26 +58,17 @@ export class RuleCompositeConditionUiComponent implements ControlValueAccessor, readonly isOrImplemented = false; - private _readOnly = false; @Input() - get readOnly(): boolean { - return this._readOnly; - } - set readOnly(isReadOnly: boolean) { - this.setDisabledState(isReadOnly); - } + public readOnly = false; private formSubscription = this.form.valueChanges.subscribe((value: any) => { this.onChange(value); this.onTouch(); }); - get invertedControl(): FormControl { - return this.form.get('inverted') as FormControl; - } - get booleanModeControl(): FormControl { - return this.form.get('booleanMode') as FormControl; - } + public invertedControl = this.form.get('inverted') as FormControl; + public booleanModeControl = this.form.get('booleanMode') as FormControl; + get compositeConditionsFormArray(): FormArray { return this.form.get('compositeConditions') as FormArray; } @@ -111,22 +102,14 @@ export class RuleCompositeConditionUiComponent implements ControlValueAccessor, setDisabledState(isDisabled: boolean) { if (isDisabled) { - this._readOnly = true; + this.readOnly = true; this.form.disable(); } else { - this._readOnly = false; + this.readOnly = false; this.form.enable(); } } - setInverted(value: boolean) { - this.invertedControl.setValue(value); - } - - setBooleanMode(value: 'and' | 'or') { - this.booleanModeControl.setValue(value); - } - isFormControlSimpleCondition(control: FormControl): boolean { // eslint-disable-next-line no-prototype-builtins return control.value.hasOwnProperty('field'); @@ -160,4 +143,12 @@ export class RuleCompositeConditionUiComponent implements ControlValueAccessor, ngOnDestroy() { this.formSubscription.unsubscribe(); } + + ngOnChanges(changes: SimpleChanges): void { + const readOnly = changes['readOnly'].currentValue; + if (readOnly !== undefined && readOnly !== null) { + this.readOnly = readOnly; + this.setDisabledState(readOnly); + } + } } diff --git a/projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.ts b/projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.ts index a7a6e75cc..d5948842c 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.ts +++ b/projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.ts @@ -52,6 +52,9 @@ export class EditRuleDialogUiComponent { formValue: Partial; @Output() submitted = new EventEmitter>(); + title = 'ACA_FOLDER_RULES.EDIT_RULE_DIALOG.' + (this.isUpdateMode ? 'UPDATE_TITLE' : 'CREATE_TITLE'); + submitLabel = 'ACA_FOLDER_RULES.EDIT_RULE_DIALOG.' + (this.isUpdateMode ? 'UPDATE' : 'CREATE'); + constructor(@Inject(MAT_DIALOG_DATA) public data: EditRuleDialogOptions) { this.model = this.data?.model || {}; this.nodeId = this.data?.nodeId; @@ -62,15 +65,6 @@ export class EditRuleDialogUiComponent { get isUpdateMode(): boolean { return !!this.data?.model?.id; } - - get title(): string { - return 'ACA_FOLDER_RULES.EDIT_RULE_DIALOG.' + (this.isUpdateMode ? 'UPDATE_TITLE' : 'CREATE_TITLE'); - } - - get submitLabel(): string { - return 'ACA_FOLDER_RULES.EDIT_RULE_DIALOG.' + (this.isUpdateMode ? 'UPDATE' : 'CREATE'); - } - onSubmit() { this.submitted.emit(this.formValue); } diff --git a/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.html b/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.html index 687288771..e996d0aba 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.html +++ b/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.html @@ -18,14 +18,10 @@ data-automation-id="rule-option-select-errorScript"> {{ 'ACA_FOLDER_RULES.RULE_DETAILS.OPTIONS.NO_SCRIPT' | translate }} - - - {{ option.label }} - - diff --git a/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.ts b/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.ts index 6a6f6ddfb..3c34bfd00 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.ts +++ b/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.ts @@ -22,7 +22,7 @@ * from Hyland Software. If not, see . */ -import { Component, forwardRef, HostBinding, Input, OnDestroy, ViewEncapsulation } from '@angular/core'; +import { Component, forwardRef, HostBinding, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; import { AbstractControl, ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms'; import { MatCheckboxChange } from '@angular/material/checkbox'; import { RuleOptions } from '../../model/rule.model'; @@ -42,7 +42,7 @@ import { ActionParameterConstraint, ConstraintValue } from '../../model/action-p } ] }) -export class RuleOptionsUiComponent implements ControlValueAccessor, OnDestroy { +export class RuleOptionsUiComponent implements ControlValueAccessor, OnInit, OnDestroy { form = new FormGroup({ isDisabled: new FormControl(), isInheritable: new FormControl(), @@ -51,6 +51,8 @@ export class RuleOptionsUiComponent implements ControlValueAccessor, OnDestroy { }); formSubscription = this.form.valueChanges.subscribe((value: any) => { + this.isAsynchronousChecked = value.isAsynchronous; + this.isInheritableChecked = value.isInheritable; this.onChange({ isEnabled: !value.isDisabled, isInheritable: value.isInheritable, @@ -71,16 +73,10 @@ export class RuleOptionsUiComponent implements ControlValueAccessor, OnDestroy { onChange: (options: RuleOptions) => void = () => undefined; onTouch: () => void = () => undefined; - get isAsynchronousChecked(): boolean { - return this.form.get('isAsynchronous').value; - } - get isInheritableChecked(): boolean { - return this.form.get('isInheritable').value; - } + isAsynchronousChecked = false; + isInheritableChecked = false; - get errorScriptOptions(): ConstraintValue[] { - return this.errorScriptConstraint?.constraints ?? []; - } + errorScriptOptions: ConstraintValue[] = []; writeValue(options: RuleOptions) { const isAsynchronousFormControl = this.form.get('isAsynchronous'); @@ -116,6 +112,10 @@ export class RuleOptionsUiComponent implements ControlValueAccessor, OnDestroy { } } + ngOnInit(): void { + this.errorScriptOptions = this.errorScriptConstraint?.constraints ?? []; + } + ngOnDestroy() { this.formSubscription.unsubscribe(); } diff --git a/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.html b/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.html index 5b98554d7..a649c0360 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.html +++ b/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.html @@ -8,8 +8,8 @@ - {{ getErrorMessage(name) | translate }} + [placeholder]="'ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.NAME' | translate"> + {{ 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.REQUIRED' | translate }}
@@ -21,7 +21,7 @@ @@ -32,13 +32,13 @@
{{ 'ACA_FOLDER_RULES.RULE_DETAILS.LABEL.WHEN' | translate }}
- {{ getErrorMessage(triggers) | translate }} + {{ 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.INSUFFICIENT_TRIGGERS_SELECTED' | translate }}
- {{ getErrorMessage(conditions) | translate }} + {{ 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.RULE_COMPOSITE_CONDITION_INVALID' | translate }}
diff --git a/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.ts b/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.ts index 97d13698c..7bb35e43c 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.ts +++ b/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.ts @@ -23,7 +23,7 @@ */ import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from '@angular/core'; -import { AbstractControl, UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms'; +import { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms'; import { Subject } from 'rxjs'; import { distinctUntilChanged, map, takeUntil } from 'rxjs/operators'; import { Rule, RuleForForm } from '../model/rule.model'; @@ -41,21 +41,11 @@ import { ActionParameterConstraint } from '../model/action-parameter-constraint. host: { class: 'aca-rule-details' } }) export class RuleDetailsUiComponent implements OnInit, OnDestroy { - private _readOnly = false; @Input() - get readOnly(): boolean { - return this._readOnly; - } - set readOnly(value: boolean) { - this._readOnly = value; - if (this.form?.disable) { - if (value) { - this.form.disable(); - } else { - this.form.enable(); - } - } - } + readOnly: boolean; + + descriptionPlaceHolder: string; + private _initialValue: RuleForForm = FolderRulesService.emptyRuleForForm; @Input() get value(): Partial { @@ -107,6 +97,7 @@ export class RuleDetailsUiComponent implements OnInit, OnDestroy { private onDestroy$ = new Subject(); form: UntypedFormGroup; + errorScriptConstraint: ActionParameterConstraint; get name(): UntypedFormControl { return this.form.get('name') as UntypedFormControl; } @@ -116,6 +107,7 @@ export class RuleDetailsUiComponent implements OnInit, OnDestroy { get triggers(): UntypedFormControl { return this.form.get('triggers') as UntypedFormControl; } + get conditions(): UntypedFormControl { return this.form.get('conditions') as UntypedFormControl; } @@ -124,10 +116,6 @@ export class RuleDetailsUiComponent implements OnInit, OnDestroy { return !this.readOnly || this.value.isAsynchronous || this.value.isInheritable; } - get errorScriptConstraint(): ActionParameterConstraint { - return this.parameterConstraints.find((parameterConstraint: ActionParameterConstraint) => parameterConstraint.name === 'script-ref'); - } - ngOnInit() { this.form = new UntypedFormGroup({ id: new UntypedFormControl(this.value.id), @@ -151,7 +139,6 @@ export class RuleDetailsUiComponent implements OnInit, OnDestroy { errorScript: this.value.errorScript }) }); - this.readOnly = this._readOnly; this.form.statusChanges .pipe( @@ -167,39 +154,24 @@ export class RuleDetailsUiComponent implements OnInit, OnDestroy { this.form.valueChanges.pipe(takeUntil(this.onDestroy$)).subscribe(() => { this.formValueChanged.emit(this.value); }); + + if (this.readOnly) { + this.form.disable(); + } else { + this.form.enable(); + } + + this.descriptionPlaceHolder = this.readOnly + ? 'ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.NO_DESCRIPTION' + : 'ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.DESCRIPTION'; + + this.errorScriptConstraint = this.parameterConstraints.find( + (parameterConstraint: ActionParameterConstraint) => parameterConstraint.name === 'script-ref' + ); } ngOnDestroy() { this.onDestroy$.next(); this.onDestroy$.complete(); } - - getErrorMessage(control: AbstractControl): string { - if (this.readOnly) { - return ''; - } - if (control.hasError('required')) { - return control === this.triggers - ? 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.INSUFFICIENT_TRIGGERS_SELECTED' - : 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.REQUIRED'; - } else if (control.hasError('ruleCompositeConditionInvalid')) { - return 'ACA_FOLDER_RULES.RULE_DETAILS.ERROR.RULE_COMPOSITE_CONDITION_INVALID'; - } - return ''; - } - - getPlaceholder(fieldName: string): string { - let str = 'ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.'; - switch (fieldName) { - case 'name': - str += 'NAME'; - break; - case 'description': - str += this.readOnly ? 'NO_DESCRIPTION' : 'DESCRIPTION'; - break; - default: - return ''; - } - return str; - } } diff --git a/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.html b/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.html index dc03cc0b3..16501ff7f 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.html +++ b/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.html @@ -1,7 +1,7 @@
{{ 'ACA_FOLDER_RULES.RULE_DETAILS.TRIGGERS.' + trigger | uppercase | translate }}
@@ -10,7 +10,7 @@ {{ 'ACA_FOLDER_RULES.RULE_DETAILS.TRIGGERS.' + trigger | uppercase | translate }} diff --git a/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.ts b/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.ts index 07334d823..2c5557022 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.ts +++ b/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.ts @@ -42,6 +42,10 @@ import { RuleTrigger } from '../../model/rule.model'; export class RuleTriggersUiComponent implements ControlValueAccessor { readonly triggerOptions: RuleTrigger[] = ['inbound', 'update', 'outbound']; + public selectedTriggers: { [key: string]: boolean } = { + inbound: true + }; + value: RuleTrigger[] = ['inbound']; readOnly = false; @@ -50,6 +54,8 @@ export class RuleTriggersUiComponent implements ControlValueAccessor { writeValue(triggers: RuleTrigger[]) { this.value = triggers; + this.selectedTriggers = {}; + this.value.forEach((trigger) => (this.selectedTriggers[trigger] = true)); } registerOnChange(fn: () => void) { @@ -64,10 +70,6 @@ export class RuleTriggersUiComponent implements ControlValueAccessor { this.readOnly = isDisabled; } - isTriggerChecked(trigger: RuleTrigger): boolean { - return this.value.includes(trigger); - } - onTriggerChange(trigger: RuleTrigger, checked: boolean) { if (checked) { this.value.push(trigger); @@ -77,11 +79,8 @@ export class RuleTriggersUiComponent implements ControlValueAccessor { 1 ); } + this.selectedTriggers[trigger] = checked; this.onTouch(); this.onChange([...this.value]); } - - isTriggerSelected(trigger: RuleTrigger): boolean { - return this.value.includes(trigger); - } } diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.html b/projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.html index 263750e71..6f94c0b94 100644 --- a/projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.html +++ b/projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.html @@ -5,7 +5,7 @@ matRipple matRippleColor="hsla(0,0%,0%,0.05)" tabindex="0" [rule]="item.rule" - [isSelected]="isSelected(item.rule)" + [isSelected]="item.rule.id === this.selectedRule?.id" [showEnabledToggle]="showEnabledToggles" (click)="onRuleClicked(item.rule)" (enabledChanged)="onEnabledChanged(item.rule, $event)"> diff --git a/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.html b/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.html index 484ffdec5..12a097fa1 100644 --- a/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.html +++ b/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.html @@ -23,7 +23,7 @@
- +
{{ 'ACA_FOLDER_RULES.LINK_RULES_DIALOG.LIST_OF_RULES_TO_LINK' | translate }}
@@ -52,7 +52,7 @@ diff --git a/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.ts b/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.ts index 1eebae1d9..a43ff637d 100644 --- a/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.ts +++ b/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.ts @@ -22,13 +22,13 @@ * from Hyland Software. If not, see . */ -import { Component, Inject, ViewEncapsulation } from '@angular/core'; +import { Component, Inject, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { FolderRuleSetsService } from '../services/folder-rule-sets.service'; import { Node } from '@alfresco/js-api'; import { RuleSet } from '../model/rule-set.model'; -import { BehaviorSubject, combineLatest, from, of } from 'rxjs'; -import { finalize, map, switchMap } from 'rxjs/operators'; +import { BehaviorSubject, combineLatest, from, of, Subject } from 'rxjs'; +import { finalize, map, switchMap, takeUntil } from 'rxjs/operators'; import { NotificationService } from '@alfresco/adf-core'; export interface RuleSetPickerOptions { @@ -45,11 +45,12 @@ export interface RuleSetPickerOptions { host: { class: 'aca-rule-set-picker' }, providers: [FolderRuleSetsService] }) -export class RuleSetPickerSmartComponent { +export class RuleSetPickerSmartComponent implements OnInit, OnDestroy { nodeId = '-root-'; defaultNodeId = '-root-'; isBusy = false; existingRuleSet: RuleSet = null; + hasOwnedRules = false; private selectedNodeId = ''; private folderLoading$ = new BehaviorSubject(true); @@ -59,6 +60,8 @@ export class RuleSetPickerSmartComponent { map(([rulesLoading, folderLoading]) => rulesLoading || folderLoading) ); + onDestroy$ = new Subject(); + constructor( @Inject(MAT_DIALOG_DATA) public data: RuleSetPickerOptions, private folderRuleSetsService: FolderRuleSetsService, @@ -70,8 +73,15 @@ export class RuleSetPickerSmartComponent { this.existingRuleSet = this.data?.existingRuleSet ?? null; } - hasOwnedRules(ruleSet: RuleSet): boolean { - return ruleSet?.rules.length > 0 && FolderRuleSetsService.isOwnedRuleSet(ruleSet, this.selectedNodeId); + ngOnInit(): void { + this.mainRuleSet$.pipe(takeUntil(this.onDestroy$)).subscribe((mainRuleSet) => { + this.hasOwnedRules = mainRuleSet?.rules.length > 0 && FolderRuleSetsService.isOwnedRuleSet(mainRuleSet, this.selectedNodeId); + }); + } + + ngOnDestroy(): void { + this.onDestroy$.next(); + this.onDestroy$.complete(); } onNodeSelect(nodes: Node[]) { diff --git a/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.ts b/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.ts index 6af1fe52c..8d5620233 100644 --- a/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.ts +++ b/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.ts @@ -233,8 +233,8 @@ export class FolderRuleSetsService { refreshMainRuleSet(ruleToSelect: Rule = null) { this.getMainRuleSet(this.currentFolder.id).subscribe((mainRuleSet: RuleSet) => { - this.mainRuleSet = mainRuleSet; - this.mainRuleSetSource.next(mainRuleSet); + this.mainRuleSet = { ...mainRuleSet }; + this.mainRuleSetSource.next(this.mainRuleSet); if (mainRuleSet) { const ruleToSelectInRuleSet = ruleToSelect ? mainRuleSet.rules.find((rule: Rule) => rule.id === ruleToSelect.id) : mainRuleSet.rules[0]; this.folderRulesService.selectRule(ruleToSelectInRuleSet); diff --git a/projects/aca-folder-rules/src/lib/services/folder-rules.service.ts b/projects/aca-folder-rules/src/lib/services/folder-rules.service.ts index 69afc1c07..2c84547cd 100644 --- a/projects/aca-folder-rules/src/lib/services/folder-rules.service.ts +++ b/projects/aca-folder-rules/src/lib/services/folder-rules.service.ts @@ -162,7 +162,7 @@ export class FolderRulesService { } private formatRules(res): Rule[] { - return res.list.entries.map((entry) => this.formatRule(entry.entry)); + return [...res.list.entries.map((entry) => this.formatRule(entry.entry))]; } private formatRule(obj): Rule { diff --git a/projects/aca-shared/src/lib/components/locked-by/locked-by.component.spec.ts b/projects/aca-shared/src/lib/components/locked-by/locked-by.component.spec.ts index 56c5aa182..a5631d6e8 100644 --- a/projects/aca-shared/src/lib/components/locked-by/locked-by.component.spec.ts +++ b/projects/aca-shared/src/lib/components/locked-by/locked-by.component.spec.ts @@ -36,7 +36,7 @@ describe('LockedByComponent', () => { } } as any }; - + component.ngOnInit(); expect(component.text).toBe('owner-name'); }); }); diff --git a/projects/aca-shared/src/lib/components/locked-by/locked-by.component.ts b/projects/aca-shared/src/lib/components/locked-by/locked-by.component.ts index 7d8a830cb..5b67e5bec 100644 --- a/projects/aca-shared/src/lib/components/locked-by/locked-by.component.ts +++ b/projects/aca-shared/src/lib/components/locked-by/locked-by.component.ts @@ -22,7 +22,7 @@ * from Hyland Software. If not, see . */ -import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core'; +import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation, OnInit } from '@angular/core'; import { NodeEntry } from '@alfresco/js-api'; import { TranslateModule } from '@ngx-translate/core'; import { MatIconModule } from '@angular/material/icon'; @@ -43,11 +43,13 @@ import { MatIconModule } from '@angular/material/icon'; class: 'aca-locked-by' } }) -export class LockedByComponent { +export class LockedByComponent implements OnInit { @Input() node: NodeEntry; - get text(): string { - return this.node?.entry?.properties?.['cm:lockOwner']?.displayName; + public text: string; + + ngOnInit(): void { + this.text = this.node?.entry?.properties?.['cm:lockOwner']?.displayName; } } diff --git a/projects/aca-shared/src/lib/components/tool-bar/toolbar-menu/toolbar-menu.component.ts b/projects/aca-shared/src/lib/components/tool-bar/toolbar-menu/toolbar-menu.component.ts index b023cd90e..c6817a2d6 100644 --- a/projects/aca-shared/src/lib/components/tool-bar/toolbar-menu/toolbar-menu.component.ts +++ b/projects/aca-shared/src/lib/components/tool-bar/toolbar-menu/toolbar-menu.component.ts @@ -22,7 +22,7 @@ * from Hyland Software. If not, see . */ -import { Component, Input, ViewEncapsulation, HostListener, ViewChild, ViewChildren, QueryList, AfterViewInit } from '@angular/core'; +import { Component, Input, ViewEncapsulation, HostListener, ViewChild, ViewChildren, QueryList, AfterViewInit, OnInit } from '@angular/core'; import { ContentActionRef } from '@alfresco/adf-extensions'; import { MatMenu, MatMenuItem, MatMenuTrigger } from '@angular/material/menu'; import { ThemePalette } from '@angular/material/core'; @@ -34,7 +34,7 @@ import { ToolbarMenuItemComponent } from '../toolbar-menu-item/toolbar-menu-item encapsulation: ViewEncapsulation.None, host: { class: 'app-toolbar-menu' } }) -export class ToolbarMenuComponent implements AfterViewInit { +export class ToolbarMenuComponent implements OnInit, AfterViewInit { @Input() actionRef: ContentActionRef; @@ -56,15 +56,17 @@ export class ToolbarMenuComponent implements AfterViewInit { color?: string; }; - get type(): string { - return this.data?.menuType || 'default'; - } + type = 'default'; @HostListener('document:keydown.Escape') handleKeydownEscape() { this.matTrigger.closeMenu(); } + ngOnInit(): void { + this.type = this.data?.menuType || 'default'; + } + ngAfterViewInit(): void { const menuItems: MatMenuItem[] = []; this.toolbarMenuItems.forEach((toolbarMenuItem: ToolbarMenuItemComponent) => { From e110a3449341e0518edbef549d72bb4e5306b847 Mon Sep 17 00:00:00 2001 From: Gloria Camino Date: Tue, 6 Jun 2023 14:30:20 +0100 Subject: [PATCH 11/24] LOC-441 - Updated UI in all 16 languages with new Mobile app strings (#3255) --- projects/aca-content/assets/i18n/ar.json | 20 +++++++++++--------- projects/aca-content/assets/i18n/cs.json | 18 ++++++++++-------- projects/aca-content/assets/i18n/da.json | 16 +++++++++------- projects/aca-content/assets/i18n/de.json | 14 ++++++++------ projects/aca-content/assets/i18n/es.json | 14 ++++++++------ projects/aca-content/assets/i18n/fi.json | 16 +++++++++------- projects/aca-content/assets/i18n/fr.json | 16 +++++++++------- projects/aca-content/assets/i18n/it.json | 16 +++++++++------- projects/aca-content/assets/i18n/ja.json | 16 +++++++++------- projects/aca-content/assets/i18n/nb.json | 16 +++++++++------- projects/aca-content/assets/i18n/nl.json | 14 ++++++++------ projects/aca-content/assets/i18n/pl.json | 18 ++++++++++-------- projects/aca-content/assets/i18n/pt-BR.json | 16 +++++++++------- projects/aca-content/assets/i18n/ru.json | 16 +++++++++------- projects/aca-content/assets/i18n/sv.json | 16 +++++++++------- projects/aca-content/assets/i18n/zh-CN.json | 14 ++++++++------ 16 files changed, 144 insertions(+), 112 deletions(-) diff --git a/projects/aca-content/assets/i18n/ar.json b/projects/aca-content/assets/i18n/ar.json index cfb308907..27b416da3 100644 --- a/projects/aca-content/assets/i18n/ar.json +++ b/projects/aca-content/assets/i18n/ar.json @@ -82,8 +82,6 @@ "TITLE": "التفاصيل" }, "NEW_MENU": { - "LABEL": "جديد", - "TOOLTIP": "إضافة ملفات ومجلدات جديدة، أو إنشاء مكتبة ملفات جديدة", "MENU_ITEMS": { "CREATE_FOLDER": "إنشاء مجلد", "UPLOAD_FILE": "تحميل ملف", @@ -106,7 +104,7 @@ "HEADER": { "BUTTONS": { "CREATE": "إنشاء", - "CREATE_TOOLTIP": "إنشاء محتوى", + "CREATE_TOOLTIP": "إنشاء المحتوى", "UPLOAD": "تحميل", "UPLOAD_TOOLTIP": "تحميل المحتوى" } @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin core", "EFFECTIVITY": "السريان", "TITLE": "نتائج البحث", + "FILTER_SET": "مجموعة الفلاتر:", + "ADVANCED_FILTERS": "فلاتر متقدمة:", + "RESET": "إعادة تعيين", "RESET_ACTION": "إعادة تعيين عوامل تصفية البحث", "FOUND_RESULTS": "تم العثور على {{ number }} نتائج", "FOUND_ONE_RESULT": "تم العثور على {{ number }} نتيجة", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "المكتبات التي تم العثور عليها...", "FOUND_RESULTS": "{{ number }} نتائج", "FOUND_ONE_RESULT": "{{ number }} نتيجة" } @@ -286,7 +286,9 @@ "NO_LABEL": "إلغاء" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "فتح في التطبيق" + "MOBILE_APP_BUTTON_LABEL": "فتح في التطبيق", + "DOWNLOAD_APP_BUTTON_LABEL": "ليس لديك التطبيق؟ قم بالتحميل الان.", + "OPEN_ALFRESCO_MOBILE_APP": "فتح باستخدام تطبيق Alfresco Mobile؟" } }, "DOCUMENT_LIST": { @@ -429,7 +431,7 @@ "COLLAPSE_NAVIGATION": "طي قائمة التنقل", "OPTIONS_SETTINGS": "الخيارات والإعدادات", "MY_PROFILE": "ملف التعريف الخاص بي", - "EXPAND_NAVIGATION": "توسيع قائمة التنقل" + "EXPAND_NAVIGATION": "قم بتوسيع قائمة التنقل" } }, "NODE_SELECTOR": { @@ -487,9 +489,9 @@ "INFO_PANEL": { "TABS": { - }, - "DETAILS": "التفاصيل" }, + "DETAILS": "التفاصيل" + }, "LIBRARY": { "DIALOG": { "CREATE_TITLE": "إنشاء مكتبة", @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "ملف مؤمن" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/cs.json b/projects/aca-content/assets/i18n/cs.json index ddd73e97e..a54754d3a 100644 --- a/projects/aca-content/assets/i18n/cs.json +++ b/projects/aca-content/assets/i18n/cs.json @@ -82,8 +82,6 @@ "TITLE": "Podrobnosti" }, "NEW_MENU": { - "LABEL": "Nový", - "TOOLTIP": "Přidat nové soubory a složky nebo vytvořit novou knihovnu souborů", "MENU_ITEMS": { "CREATE_FOLDER": "Vytvořit složku", "UPLOAD_FILE": "Odeslat soubor", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin Core", "EFFECTIVITY": "Účinnost", "TITLE": "Výsledky hledání", + "FILTER_SET": "Sada filtrů:", + "ADVANCED_FILTERS": "Pokročilé filtry:", + "RESET": "Reset", "RESET_ACTION": "Reset search filters", "FOUND_RESULTS": "Nalezené výsledky: {{ number }}", "FOUND_ONE_RESULT": "Nalezené výsledky: {{ number }}", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Nalezené knihovny...", "FOUND_RESULTS": "Výsledky: {{ number }}", "FOUND_ONE_RESULT": "Výsledky: {{ number }}" } @@ -286,7 +286,9 @@ "NO_LABEL": "Zrušit" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Open in App" + "MOBILE_APP_BUTTON_LABEL": "Open in App", + "DOWNLOAD_APP_BUTTON_LABEL": "Nemáte aplikaci? Stáhněte si ji nyní.", + "OPEN_ALFRESCO_MOBILE_APP": "Otevřít za pomoci aplikace Alfresco Mobile?" } }, "DOCUMENT_LIST": { @@ -386,8 +388,8 @@ "SINGULAR": "Přesunuté položky: {{ success }}", "PLURAL": "Přesunuté položky: {{ success }}", "PARTIAL": { - "SINGULAR": "Částečně přesunuté položky: {{ success }}", - "PLURAL": "Částečně přesunuté položky: {{ success }}", + "SINGULAR": "Částečně přesunuté položky: {{ partially }}", + "PLURAL": "Částečně přesunuté položky: {{ partially }}", "FAIL": "Některé položky ({{ failed }}) nebylo možné přesunout." } }, @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Podrobnosti" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "uzamčený soubor" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/da.json b/projects/aca-content/assets/i18n/da.json index 141b78154..aabfa2f71 100644 --- a/projects/aca-content/assets/i18n/da.json +++ b/projects/aca-content/assets/i18n/da.json @@ -82,8 +82,6 @@ "TITLE": "Detaljer" }, "NEW_MENU": { - "LABEL": "Ny(t)", - "TOOLTIP": "Tilføj nye filer og mapper, eller opret et nyt filbibliotek", "MENU_ITEMS": { "CREATE_FOLDER": "Opret mappe", "UPLOAD_FILE": "Upload fil", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin-kerne", "EFFECTIVITY": "Gældende periode", "TITLE": "Søgeresultater", + "FILTER_SET": "Filter indstillet:", + "ADVANCED_FILTERS": "Avancerede filtre:", + "RESET": "Nulstil", "RESET_ACTION": "Nulstil søgefiltre", "FOUND_RESULTS": "{{ number }} resultater fundet", "FOUND_ONE_RESULT": "{{ number }} resultat fundet", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Fundne biblioteker...", "FOUND_RESULTS": "{{ number }} resultater", "FOUND_ONE_RESULT": "{{ number }} resultat" } @@ -286,7 +286,9 @@ "NO_LABEL": "Annuller" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Åbn i app" + "MOBILE_APP_BUTTON_LABEL": "Åbn i app", + "DOWNLOAD_APP_BUTTON_LABEL": "Har du ikke appen? Download den nu.", + "OPEN_ALFRESCO_MOBILE_APP": "Åbn med Alfresco Mobile-applikationen?" } }, "DOCUMENT_LIST": { @@ -429,7 +431,7 @@ "COLLAPSE_NAVIGATION": "Luk navigationsmenuen", "OPTIONS_SETTINGS": "Valgmuligheder og indstillinger", "MY_PROFILE": "Min profil", - "EXPAND_NAVIGATION": "Udvid navigationsmenuen" + "EXPAND_NAVIGATION": "Udvid navigationsmenu" } }, "NODE_SELECTOR": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Detaljer" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "låst fil" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/de.json b/projects/aca-content/assets/i18n/de.json index dbeeda78e..4dc7fb64c 100644 --- a/projects/aca-content/assets/i18n/de.json +++ b/projects/aca-content/assets/i18n/de.json @@ -82,8 +82,6 @@ "TITLE": "Details" }, "NEW_MENU": { - "LABEL": "Neu", - "TOOLTIP": "Neue Dateien und Ordner hinzufügen oder neue Dateibibliothek erstellen", "MENU_ITEMS": { "CREATE_FOLDER": "Ordner erstellen", "UPLOAD_FILE": "Datei hochladen", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin Core", "EFFECTIVITY": "Effektivität", "TITLE": "Ergebnisse durchsuchen", + "FILTER_SET": "Filter-Satz:", + "ADVANCED_FILTERS": "Erweiterte Filter:", + "RESET": "Zurücksetzen", "RESET_ACTION": "Suchfilter zurücksetzen", "FOUND_RESULTS": "{{ number }} Ergebnisse gefunden", "FOUND_ONE_RESULT": "{{ number }} Ergebnisse gefunden", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Bibliotheken gefunden...", "FOUND_RESULTS": "{{ number }} Ergebnisse", "FOUND_ONE_RESULT": "{{ number }} Ergebnis" } @@ -286,7 +286,9 @@ "NO_LABEL": "Abbrechen" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "In der App öffnen" + "MOBILE_APP_BUTTON_LABEL": "In der App öffnen", + "DOWNLOAD_APP_BUTTON_LABEL": "Sie haben die App noch nicht? Jetzt herunterladen.", + "OPEN_ALFRESCO_MOBILE_APP": "Mit der Alfresco Mobile-Anwendung öffnen?" } }, "DOCUMENT_LIST": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Details" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "gesperrte Datei" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/es.json b/projects/aca-content/assets/i18n/es.json index 295c41c0f..50494aaf6 100644 --- a/projects/aca-content/assets/i18n/es.json +++ b/projects/aca-content/assets/i18n/es.json @@ -82,8 +82,6 @@ "TITLE": "Detalles" }, "NEW_MENU": { - "LABEL": "Nuevo", - "TOOLTIP": "Añadir nuevos ficheros o carpetas, o crear una nueva biblioteca de ficheros", "MENU_ITEMS": { "CREATE_FOLDER": "Crear carpeta", "UPLOAD_FILE": "Cargar fichero", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin core", "EFFECTIVITY": "Efectividad", "TITLE": "Resultados de la búsqueda", + "FILTER_SET": "Conjunto de filtros:", + "ADVANCED_FILTERS": "Filtros avanzados:", + "RESET": "Reiniciar", "RESET_ACTION": "Restablecer los filtros de la búsqueda", "FOUND_RESULTS": "{{ number }} resultados encontrados", "FOUND_ONE_RESULT": "{{ number }} resultado encontrado", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Bibliotecas encontradas...", "FOUND_RESULTS": "{{ number }} resultados", "FOUND_ONE_RESULT": "{{ number }} resultado" } @@ -286,7 +286,9 @@ "NO_LABEL": "Cancelar" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Abrir en la aplicación" + "MOBILE_APP_BUTTON_LABEL": "Abrir en la aplicación", + "DOWNLOAD_APP_BUTTON_LABEL": "¿No tiene la aplicación? Descárguela ahora.", + "OPEN_ALFRESCO_MOBILE_APP": "¿Abrir con la aplicación Alfresco Mobile?" } }, "DOCUMENT_LIST": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Detalles" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "fichero bloqueado" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/fi.json b/projects/aca-content/assets/i18n/fi.json index 14a75cec3..744d7a646 100644 --- a/projects/aca-content/assets/i18n/fi.json +++ b/projects/aca-content/assets/i18n/fi.json @@ -82,8 +82,6 @@ "TITLE": "Tiedot" }, "NEW_MENU": { - "LABEL": "Uusi", - "TOOLTIP": "Lisää uusia tiedostoja ja kansioita tai luo uusi tiedostokirjasto", "MENU_ITEMS": { "CREATE_FOLDER": "Luo kansio", "UPLOAD_FILE": "Lataa tiedosto", @@ -106,7 +104,7 @@ "HEADER": { "BUTTONS": { "CREATE": "Luo", - "CREATE_TOOLTIP": "Sisällön luominen", + "CREATE_TOOLTIP": "Luo sisältöä", "UPLOAD": "Lataa", "UPLOAD_TOOLTIP": "Lataa sisältöä" } @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin core", "EFFECTIVITY": "Voimassaolo", "TITLE": "Hakutulosta", + "FILTER_SET": "Asetettu suodatin:", + "ADVANCED_FILTERS": "Edistyneet suodattimet:", + "RESET": "Nollaa", "RESET_ACTION": "Nollaa hakusuodattimet", "FOUND_RESULTS": "Löytyi {{ number }} tulosta", "FOUND_ONE_RESULT": "Löytyi {{ number }} tulos", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Löydetyt kirjastot...", "FOUND_RESULTS": "{{ number }} tulosta", "FOUND_ONE_RESULT": "{{ number }} tulos" } @@ -286,7 +286,9 @@ "NO_LABEL": "Peruuta" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Avaa sovelluksessa" + "MOBILE_APP_BUTTON_LABEL": "Avaa sovelluksessa", + "DOWNLOAD_APP_BUTTON_LABEL": "Eikö sinulla ole sovellusta? Lataa se heti.", + "OPEN_ALFRESCO_MOBILE_APP": "Avaa Alfresco-mobiilisovelluksella?" } }, "DOCUMENT_LIST": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Tiedot" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "tiedosto lukittu" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/fr.json b/projects/aca-content/assets/i18n/fr.json index 94da16f03..25aba88a0 100644 --- a/projects/aca-content/assets/i18n/fr.json +++ b/projects/aca-content/assets/i18n/fr.json @@ -82,8 +82,6 @@ "TITLE": "Détails" }, "NEW_MENU": { - "LABEL": "Nouveau", - "TOOLTIP": "Ajouter de nouveaux fichiers et dossiers ou créer une nouvelle bibliothèque de fichiers", "MENU_ITEMS": { "CREATE_FOLDER": "Créer un dossier", "UPLOAD_FILE": "Importer le fichier", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin Core", "EFFECTIVITY": "Validité", "TITLE": "Résultats de la recherche", + "FILTER_SET": "Ensemble de filtres :", + "ADVANCED_FILTERS": "Filtres avancés :", + "RESET": "Réinitialiser", "RESET_ACTION": "Réinitialiser les filtres de recherche", "FOUND_RESULTS": "{{ number }} résultats trouvés", "FOUND_ONE_RESULT": "{{ number }} résultat trouvé", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Bibliothèques trouvées...", "FOUND_RESULTS": "{{ number }} résultats", "FOUND_ONE_RESULT": "{{ number }} résultat" } @@ -286,7 +286,9 @@ "NO_LABEL": "Annuler" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Ouvrir dans l'application" + "MOBILE_APP_BUTTON_LABEL": "Ouvrir dans l'application", + "DOWNLOAD_APP_BUTTON_LABEL": "Vous n'avez pas l'application ? Téléchargez-la maintenant.", + "OPEN_ALFRESCO_MOBILE_APP": "Ouvrir avec l'application Alfresco Mobile ?" } }, "DOCUMENT_LIST": { @@ -429,7 +431,7 @@ "COLLAPSE_NAVIGATION": "Réduire le menu de navigation", "OPTIONS_SETTINGS": "Options et paramètres", "MY_PROFILE": "Mon profil", - "EXPAND_NAVIGATION": "Élargir le menu de navigation" + "EXPAND_NAVIGATION": "Agrandir le menu de navigation" } }, "NODE_SELECTOR": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Détails" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "fichier verrouillé" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/it.json b/projects/aca-content/assets/i18n/it.json index 61c501231..3e044a2fd 100644 --- a/projects/aca-content/assets/i18n/it.json +++ b/projects/aca-content/assets/i18n/it.json @@ -82,8 +82,6 @@ "TITLE": "Dettagli" }, "NEW_MENU": { - "LABEL": "Nuovo", - "TOOLTIP": "Aggiungi nuovi file o cartelle oppure crea una nuova libreria di file", "MENU_ITEMS": { "CREATE_FOLDER": "Crea cartella", "UPLOAD_FILE": "Carica file", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin core", "EFFECTIVITY": "Validità", "TITLE": "Risultati della ricerca", + "FILTER_SET": "Set di filtri:", + "ADVANCED_FILTERS": "Filtri avanzati:", + "RESET": "Reimposta", "RESET_ACTION": "Reimposta filtri di ricerca", "FOUND_RESULTS": "{{ number }} risultati trovati", "FOUND_ONE_RESULT": "{{ number }} risultato trovato", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Librerie trovate...", "FOUND_RESULTS": "{{ number }} risultati", "FOUND_ONE_RESULT": "{{ number }} risultato" } @@ -286,7 +286,9 @@ "NO_LABEL": "Annulla" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Apri nell'App" + "MOBILE_APP_BUTTON_LABEL": "Apri nell'App", + "DOWNLOAD_APP_BUTTON_LABEL": "Non si dispone dell'app? Scaricarla ora.", + "OPEN_ALFRESCO_MOBILE_APP": "Aprire con l'applicazione Alfresco Mobile?" } }, "DOCUMENT_LIST": { @@ -429,7 +431,7 @@ "COLLAPSE_NAVIGATION": "Comprimi il menu di navigazione", "OPTIONS_SETTINGS": "Opzioni e impostazioni", "MY_PROFILE": "Il mio profilo", - "EXPAND_NAVIGATION": "Espandi il menu di navigazione" + "EXPAND_NAVIGATION": "Espande il menu di navigazione" } }, "NODE_SELECTOR": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Dettagli" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "File bloccato" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/ja.json b/projects/aca-content/assets/i18n/ja.json index c7e224654..2f0f7bd2a 100644 --- a/projects/aca-content/assets/i18n/ja.json +++ b/projects/aca-content/assets/i18n/ja.json @@ -82,8 +82,6 @@ "TITLE": "詳細" }, "NEW_MENU": { - "LABEL": "新規", - "TOOLTIP": "新しいフィールドやフォルダを追加したり、新しいファイルライブラリを作成できます。", "MENU_ITEMS": { "CREATE_FOLDER": "フォルダの作成", "UPLOAD_FILE": "ファイルのアップロード", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin core", "EFFECTIVITY": "有効性", "TITLE": "検索結果", + "FILTER_SET": "フィルタセット:", + "ADVANCED_FILTERS": "高度なフィルタ:", + "RESET": "リセット", "RESET_ACTION": "検索フィルタのリセット", "FOUND_RESULTS": "{{ number }} 件見つかりました", "FOUND_ONE_RESULT": "{{ number }} 件見つかりました", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "ライブラリが見つかりました...", "FOUND_RESULTS": "検索結果: {{ number }} 件", "FOUND_ONE_RESULT": "検索結果: {{ number }} 件" } @@ -286,7 +286,9 @@ "NO_LABEL": "キャンセル" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "アプリで開く" + "MOBILE_APP_BUTTON_LABEL": "アプリで開く", + "DOWNLOAD_APP_BUTTON_LABEL": "アプリがない場合は、今すぐダウンロードしてください。", + "OPEN_ALFRESCO_MOBILE_APP": "Alfresco Mobileアプリケーションを使用して開きますか?" } }, "DOCUMENT_LIST": { @@ -429,7 +431,7 @@ "COLLAPSE_NAVIGATION": "ナビゲーションメニューを折りたたむ", "OPTIONS_SETTINGS": "オプションと設定", "MY_PROFILE": "あなたのプロフィール", - "EXPAND_NAVIGATION": "ないビゲーションメニューを展開する" + "EXPAND_NAVIGATION": "ナビゲーションメニューを展開します" } }, "NODE_SELECTOR": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "詳細" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "ロックされているファイル" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/nb.json b/projects/aca-content/assets/i18n/nb.json index 0a30f1f45..c88843999 100644 --- a/projects/aca-content/assets/i18n/nb.json +++ b/projects/aca-content/assets/i18n/nb.json @@ -82,8 +82,6 @@ "TITLE": "Detaljer" }, "NEW_MENU": { - "LABEL": "Ny", - "TOOLTIP": "Legg til nye filer og mapper, eller opprett et nytt filbibliotek", "MENU_ITEMS": { "CREATE_FOLDER": "Opprett mappe", "UPLOAD_FILE": "Last opp fil", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin Core", "EFFECTIVITY": "Effektivitet", "TITLE": "Søkeresultater", + "FILTER_SET": "Filtersett:", + "ADVANCED_FILTERS": "Avanserte filtre:", + "RESET": "Tilbakestill", "RESET_ACTION": "Tilbakestill søkefiltre", "FOUND_RESULTS": "{{ number }} resultater funnet", "FOUND_ONE_RESULT": "{{ number }} resultat funnet", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Biblioteker funnet...", "FOUND_RESULTS": "{{ number }} resultater", "FOUND_ONE_RESULT": "{{ number }} resultat" } @@ -286,7 +286,9 @@ "NO_LABEL": "Avbryt" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Åpne i app" + "MOBILE_APP_BUTTON_LABEL": "Åpne i app", + "DOWNLOAD_APP_BUTTON_LABEL": "Har du ikke appen? Last den ned nå.", + "OPEN_ALFRESCO_MOBILE_APP": "Vil du åpne med Alfresco-mobilapplikasjonen?" } }, "DOCUMENT_LIST": { @@ -429,7 +431,7 @@ "COLLAPSE_NAVIGATION": "Skjul navigasjonsmeny", "OPTIONS_SETTINGS": "Alternativer og innstillinger", "MY_PROFILE": "Min profil", - "EXPAND_NAVIGATION": "Utvid navigasjonsmeny" + "EXPAND_NAVIGATION": "Utvider navigasjonsmenyen" } }, "NODE_SELECTOR": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Detaljer" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "låst fil" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/nl.json b/projects/aca-content/assets/i18n/nl.json index 747d9a8a1..0dcd65b6b 100644 --- a/projects/aca-content/assets/i18n/nl.json +++ b/projects/aca-content/assets/i18n/nl.json @@ -82,8 +82,6 @@ "TITLE": "Gegevens" }, "NEW_MENU": { - "LABEL": "Nieuw", - "TOOLTIP": "Nieuwe bestanden en mappen toevoegen, of een nieuwe bestandsbibliotheek maken", "MENU_ITEMS": { "CREATE_FOLDER": "Map maken", "UPLOAD_FILE": "Bestand uploaden", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin Core", "EFFECTIVITY": "Effectiviteit", "TITLE": "Zoekresultaten", + "FILTER_SET": "Ingesteld filter:", + "ADVANCED_FILTERS": "Geavanceerde filters:", + "RESET": "Opnieuw instellen", "RESET_ACTION": "Zoekfilters opnieuw instellen", "FOUND_RESULTS": "{{ number }} resultaten gevonden", "FOUND_ONE_RESULT": "{{ number }} resultaat gevonden", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Bibliotheken gevonden...", "FOUND_RESULTS": "{{ number }} resultaten", "FOUND_ONE_RESULT": "{{ number }} resultaat" } @@ -286,7 +286,9 @@ "NO_LABEL": "Annuleren" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Openen in app" + "MOBILE_APP_BUTTON_LABEL": "Openen in app", + "DOWNLOAD_APP_BUTTON_LABEL": "Hebt u de app niet? Download hem nu.", + "OPEN_ALFRESCO_MOBILE_APP": "Openen met Alfresco Mobile-app?" } }, "DOCUMENT_LIST": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Gegevens" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "Vergrendeld bestand" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/pl.json b/projects/aca-content/assets/i18n/pl.json index cab8250af..400ad9fcb 100644 --- a/projects/aca-content/assets/i18n/pl.json +++ b/projects/aca-content/assets/i18n/pl.json @@ -82,8 +82,6 @@ "TITLE": "Szczegóły" }, "NEW_MENU": { - "LABEL": "Nowy", - "TOOLTIP": "Dodaj nowe pliki i foldery lub utwórz nową bibliotekę plików", "MENU_ITEMS": { "CREATE_FOLDER": "Utwórz Folder", "UPLOAD_FILE": "Prześlij plik", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin Core", "EFFECTIVITY": "Obowiązywanie", "TITLE": "Wyniki wyszukiwania", + "FILTER_SET": "Zestaw filtrów:", + "ADVANCED_FILTERS": "Zaawansowane filtry:", + "RESET": "Resetuj", "RESET_ACTION": "Resetuj filtry wyszukiwania", "FOUND_RESULTS": "Znaleziono wyników: {{ number }}", "FOUND_ONE_RESULT": "Znaleziono wyników: {{ number }}", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Znaleziono biblioteki...", "FOUND_RESULTS": "Wyniki: {{ number }}", "FOUND_ONE_RESULT": "Wynik: {{ number }}" } @@ -286,7 +286,9 @@ "NO_LABEL": "Anuluj" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Otwórz w aplikacji" + "MOBILE_APP_BUTTON_LABEL": "Otwórz w aplikacji", + "DOWNLOAD_APP_BUTTON_LABEL": "Nie masz aplikacji? Pobierz teraz.", + "OPEN_ALFRESCO_MOBILE_APP": "Otworzyć za pomocą aplikacji Alfresco Mobile?" } }, "DOCUMENT_LIST": { @@ -445,8 +447,8 @@ "NODE_FROM_TEMPLATE": { "CANCEL": "Anuluj", "CREATE": "Utwórz", - "FOLDER_DIALOG_TITLE": "Utwórz nowy folder w oparciu o '{{ szablon }}'", - "FILE_DIALOG_TITLE": "Utwórz nowy dokument w oparciu o '{{ szablon }}'", + "FOLDER_DIALOG_TITLE": "Utwórz nowy folder w oparciu o '{{ template }}'", + "FILE_DIALOG_TITLE": "Utwórz nowy dokument w oparciu o '{{ template }}'", "FORM": { "PLACEHOLDER": { "NAME": "Nazwa", @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Szczegóły" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "zablokowany plik" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/pt-BR.json b/projects/aca-content/assets/i18n/pt-BR.json index 45d8fd4a1..66cdbfa69 100644 --- a/projects/aca-content/assets/i18n/pt-BR.json +++ b/projects/aca-content/assets/i18n/pt-BR.json @@ -82,8 +82,6 @@ "TITLE": "Detalhes" }, "NEW_MENU": { - "LABEL": "Novo", - "TOOLTIP": "Adicionar novos arquivos e pastas ou criar uma Biblioteca de Arquivos", "MENU_ITEMS": { "CREATE_FOLDER": "Criar pasta", "UPLOAD_FILE": "Carregar arquivo", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin core", "EFFECTIVITY": "Efetividade", "TITLE": "Resultados da pesquisa", + "FILTER_SET": "Conjunto de filtros:", + "ADVANCED_FILTERS": "Filtros avançados:", + "RESET": "Redefinir", "RESET_ACTION": "Redefinir filtros de pesquisa", "FOUND_RESULTS": "{{ number }} resultados encontrados", "FOUND_ONE_RESULT": "{{ number }} resultados encontrados", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Bibliotecas encontradas...", "FOUND_RESULTS": "{{ number }} resultados", "FOUND_ONE_RESULT": "{{ number }} resultados" } @@ -286,7 +286,9 @@ "NO_LABEL": "Cancelar" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Abrir no aplicativo" + "MOBILE_APP_BUTTON_LABEL": "Abrir no aplicativo", + "DOWNLOAD_APP_BUTTON_LABEL": "Não tem o aplicativo? Baixe-o agora.", + "OPEN_ALFRESCO_MOBILE_APP": "Abrir usando o aplicativo móvel Alfresco?" } }, "DOCUMENT_LIST": { @@ -429,7 +431,7 @@ "COLLAPSE_NAVIGATION": "Recolher menu de navegação", "OPTIONS_SETTINGS": "Opções e configurações", "MY_PROFILE": "Meu perfil", - "EXPAND_NAVIGATION": "Expandir painel de navegação" + "EXPAND_NAVIGATION": "Expandir menu de navegação" } }, "NODE_SELECTOR": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Detalhes" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "arquivo bloqueado" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/ru.json b/projects/aca-content/assets/i18n/ru.json index ad9adaa7d..b57cc360f 100644 --- a/projects/aca-content/assets/i18n/ru.json +++ b/projects/aca-content/assets/i18n/ru.json @@ -82,8 +82,6 @@ "TITLE": "Сведения" }, "NEW_MENU": { - "LABEL": "Создать", - "TOOLTIP": "Добавить новые файлы или папки", "MENU_ITEMS": { "CREATE_FOLDER": "Создать папку", "UPLOAD_FILE": "Загрузить файл", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Дублинское ядро", "EFFECTIVITY": "Эффективность", "TITLE": "Результаты поиска", + "FILTER_SET": "Используется фильтр:", + "ADVANCED_FILTERS": "Дополнительные фильтры:", + "RESET": "Сброс", "RESET_ACTION": "Сбросить фильтры поиска", "FOUND_RESULTS": "Найдено результатов: {{ number }}", "FOUND_ONE_RESULT": "Найден результат: {{ number }}", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Найденные библиотеки...", "FOUND_RESULTS": "Результатов: {{ number }}", "FOUND_ONE_RESULT": "Результат: {{ number }}" } @@ -286,7 +286,9 @@ "NO_LABEL": "Отмена" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Открыть в приложении" + "MOBILE_APP_BUTTON_LABEL": "Открыть в приложении", + "DOWNLOAD_APP_BUTTON_LABEL": "У вас не установлено приложение? Скачайте его прямо сейчас.", + "OPEN_ALFRESCO_MOBILE_APP": "Открыть, используя приложение Alfresco Mobile?" } }, "DOCUMENT_LIST": { @@ -445,8 +447,8 @@ "NODE_FROM_TEMPLATE": { "CANCEL": "Отмена", "CREATE": "Создать", - "FOLDER_DIALOG_TITLE": "Создать новую папку из '{{ шаблона }}'", - "FILE_DIALOG_TITLE": "Создать новый документ из '{{ шаблона }}'", + "FOLDER_DIALOG_TITLE": "Создать новую папку из '{{ template }}'", + "FILE_DIALOG_TITLE": "Создать новый документ из '{{ template }}'", "FORM": { "PLACEHOLDER": { "NAME": "Имя", @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "заблокированный файл" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/sv.json b/projects/aca-content/assets/i18n/sv.json index c2ae20ad0..0316095b6 100644 --- a/projects/aca-content/assets/i18n/sv.json +++ b/projects/aca-content/assets/i18n/sv.json @@ -82,8 +82,6 @@ "TITLE": "Detaljer" }, "NEW_MENU": { - "LABEL": "Ny", - "TOOLTIP": "Lägg till nya filer och mappar eller skapa ett nytt filbibliotek", "MENU_ITEMS": { "CREATE_FOLDER": "Skapa mapp", "UPLOAD_FILE": "Ladda upp fil", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "Dublin core", "EFFECTIVITY": "Giltighet", "TITLE": "Sökresultat", + "FILTER_SET": "Filteruppsättning:", + "ADVANCED_FILTERS": "Avancerade filter:", + "RESET": "Återställ", "RESET_ACTION": "Återställ sökfilter", "FOUND_RESULTS": "{{ number }} resultat hittades", "FOUND_ONE_RESULT": "{{ number }} resultat hittades", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "Bibliotek hittade...", "FOUND_RESULTS": "{{ number }} resultat", "FOUND_ONE_RESULT": "{{ number }} resultat" } @@ -286,7 +286,9 @@ "NO_LABEL": "Avbryt" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "Öppna i appen" + "MOBILE_APP_BUTTON_LABEL": "Öppna i appen", + "DOWNLOAD_APP_BUTTON_LABEL": "Har du inte appen? Ladda ner nu.", + "OPEN_ALFRESCO_MOBILE_APP": "Öppna med Alfresco Mobile-applikation?" } }, "DOCUMENT_LIST": { @@ -429,7 +431,7 @@ "COLLAPSE_NAVIGATION": "Dölj navigeringsmenyn", "OPTIONS_SETTINGS": "Alternativ och inställningar", "MY_PROFILE": "Min profil", - "EXPAND_NAVIGATION": "Visa navigeringsmenyn" + "EXPAND_NAVIGATION": "Expandera navigeringsmenyn" } }, "NODE_SELECTOR": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "Detaljer" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "låst fil" } } -} +} \ No newline at end of file diff --git a/projects/aca-content/assets/i18n/zh-CN.json b/projects/aca-content/assets/i18n/zh-CN.json index 17b398a6d..3fc38f723 100644 --- a/projects/aca-content/assets/i18n/zh-CN.json +++ b/projects/aca-content/assets/i18n/zh-CN.json @@ -82,8 +82,6 @@ "TITLE": "详细信息" }, "NEW_MENU": { - "LABEL": "新建", - "TOOLTIP": "添加新文件或文件夹,或者创建新文件库", "MENU_ITEMS": { "CREATE_FOLDER": "创建文件夹", "UPLOAD_FILE": "上传文件", @@ -215,6 +213,9 @@ "DUBLIN_CORE": "都柏林核心", "EFFECTIVITY": "有效性", "TITLE": "搜索结果", + "FILTER_SET": "筛选器集:", + "ADVANCED_FILTERS": "高级筛选器:", + "RESET": "重置", "RESET_ACTION": "重置搜索筛选器", "FOUND_RESULTS": "找到 {{ number }} 个结果", "FOUND_ONE_RESULT": "找到 {{ number }} 个结果", @@ -234,7 +235,6 @@ } }, "SEARCH_LIBRARIES": { - "TITLE": "库找到...", "FOUND_RESULTS": "{{ number }} 个结果", "FOUND_ONE_RESULT": "{{ number }} 个结果" } @@ -286,7 +286,9 @@ "NO_LABEL": "取消" }, "MOBILE_APP": { - "MOBILE_APP_BUTTON_LABEL": "在 App 中打开" + "MOBILE_APP_BUTTON_LABEL": "在 App 中打开", + "DOWNLOAD_APP_BUTTON_LABEL": "没有这个 App? 现在就下载。", + "OPEN_ALFRESCO_MOBILE_APP": "使用 Alfresco 移动应用程序打开?" } }, "DOCUMENT_LIST": { @@ -486,7 +488,7 @@ }, "INFO_PANEL": { "TABS": { - + }, "DETAILS": "详细信息" }, @@ -647,4 +649,4 @@ "BASELINE-LOCK-24PX": "锁定的文件" } } -} +} \ No newline at end of file From 7794129521450d2ac0c0eb15c356861b62c7f8d5 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Tue, 6 Jun 2023 15:22:12 +0100 Subject: [PATCH 12/24] [ACS-5372] remove old internal plugins (#3257) * [ACS-5372] remove old internal plugins * remove unused i18n keys --- app/src/assets/plugins/app.card-view.json | 21 --- app/src/assets/plugins/app.debug.json | 129 ------------- app/src/assets/plugins/app.metadata.json | 63 ------- app/src/assets/plugins/app.search.json | 170 ------------------ projects/aca-content/assets/i18n/ar.json | 2 - projects/aca-content/assets/i18n/cs.json | 2 - projects/aca-content/assets/i18n/da.json | 2 - projects/aca-content/assets/i18n/de.json | 2 - projects/aca-content/assets/i18n/en.json | 2 - projects/aca-content/assets/i18n/es.json | 2 - projects/aca-content/assets/i18n/fi.json | 2 - projects/aca-content/assets/i18n/fr.json | 2 - projects/aca-content/assets/i18n/it.json | 2 - projects/aca-content/assets/i18n/ja.json | 2 - projects/aca-content/assets/i18n/nb.json | 2 - projects/aca-content/assets/i18n/nl.json | 2 - projects/aca-content/assets/i18n/pl.json | 2 - projects/aca-content/assets/i18n/pt-BR.json | 2 - projects/aca-content/assets/i18n/ru.json | 2 - projects/aca-content/assets/i18n/sv.json | 2 - projects/aca-content/assets/i18n/zh-CN.json | 2 - .../aca-content/src/lib/aca-content.module.ts | 2 - .../document-display-mode.component.spec.ts | 63 ------- .../document-display-mode.component.ts | 74 -------- .../lib/components/toolbar/toolbar.module.ts | 3 - 25 files changed, 559 deletions(-) delete mode 100644 app/src/assets/plugins/app.card-view.json delete mode 100644 app/src/assets/plugins/app.debug.json delete mode 100644 app/src/assets/plugins/app.metadata.json delete mode 100644 app/src/assets/plugins/app.search.json delete mode 100644 projects/aca-content/src/lib/components/toolbar/document-display-mode/document-display-mode.component.spec.ts delete mode 100644 projects/aca-content/src/lib/components/toolbar/document-display-mode/document-display-mode.component.ts diff --git a/app/src/assets/plugins/app.card-view.json b/app/src/assets/plugins/app.card-view.json deleted file mode 100644 index e438dea5b..000000000 --- a/app/src/assets/plugins/app.card-view.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "$schema": "../../../../extension.schema.json", - "$id": "app.demo.cardView", - "$name": "app.demo.cardView", - "$version": "1.0.0", - "$vendor": "Hyland Software, Inc. and its affiliates", - "$license": "LGPL-3.0", - "$runtime": "1.5.0", - "$description": "Simple extension that provides Card View toolbar button", - - "features": { - "toolbar": [ - { - "id": "app.toolbar.cardView", - "order": 50, - "type": "custom", - "component": "app.toolbar.cardView" - } - ] - } -} diff --git a/app/src/assets/plugins/app.debug.json b/app/src/assets/plugins/app.debug.json deleted file mode 100644 index 88486a21e..000000000 --- a/app/src/assets/plugins/app.debug.json +++ /dev/null @@ -1,129 +0,0 @@ -{ - "$schema": "../../../../extension.schema.json", - "$id": "app.debug.plugin", - "$version": "1.0.0", - "$name": "app.debug.plugin", - "$vendor": "Hyland Software, Inc. and its affiliates", - "$license": "LGPL-3.0", - "$runtime": "1.5.0", - "$description": "Plugin for debugging and testing purposes", - - "actions": [ - { - "id": "plugin1.actions.settings", - "type": "NAVIGATE_URL", - "payload": "/settings" - }, - { - "id": "plugin1.actions.info", - "type": "SNACKBAR_INFO", - "payload": "I'm a nice little popup raised by extension." - }, - { - "id": "plugin1.actions.node-name", - "type": "SNACKBAR_INFO", - "payload": "$('Action for ' + context.selection.first.entry.name)" - } - ], - - "features": { - "viewer": { - "openWith": [ - { - "id": "plugin1.viewer.openWith.action1", - "type": "button", - "icon": "build", - "title": "Snackbar", - "actions": { - "click": "plugin1.actions.info" - } - } - ] - }, - "navbar": [ - { - "id": "__app.navbar.primary", - "disabled": true, - "items": [ - { - "id": "app.navbar.personalFiles", - "icon": "extension", - "title": "APP.BROWSE.PERSONAL.SIDENAV_LINK.LABEL", - "route": "personal-files" - } - ] - } - ], - "toolbar": [ - { - "disabled": true, - "id": "app.toolbar.createFolder", - "type": "button", - "order": 10, - "title": "APP.NEW_MENU.MENU_ITEMS.CREATE_FOLDER", - "description": "APP.NEW_MENU.TOOLTIPS.CREATE_FOLDER", - "icon": "create_new_folder", - "actions": { - "click": "CREATE_FOLDER" - }, - "rules": { - "visible": "app.navigation.folder.canCreate" - } - }, - { - "disabled": true, - "id": "app.toolbar.uploadFile", - "order": 11, - "type": "button", - "icon": "file_upload", - "title": "APP.NEW_MENU.MENU_ITEMS.UPLOAD_FILE", - "description": "APP.NEW_MENU.TOOLTIPS.UPLOAD_FILES", - "actions": { - "click": "UPLOAD_FILES" - }, - "rules": { - "visible": "app.navigation.folder.canUpload" - } - }, - { - "disabled": true, - "id": "app.toolbar.uploadFolder", - "order": 12, - "type": "button", - "icon": "cloud_upload", - "title": "APP.NEW_MENU.MENU_ITEMS.UPLOAD_FOLDER", - "description": "APP.NEW_MENU.TOOLTIPS.UPLOAD_FOLDERS", - "actions": { - "click": "UPLOAD_FOLDER" - }, - "rules": { - "visible": "app.navigation.folder.canUpload" - } - }, - { - "disabled": true, - "id": "plugin1.toolbar.menu1", - "type": "menu", - "icon": "storage", - "order": 300, - "children": [ - { - "id": "plugin1.toolbar.menu1.settings", - "type": "button", - "title": "Settings", - "icon": "settings_applications", - "actions": { - "click": "plugin1.actions.settings" - } - } - ] - }, - { - "disabled": true, - "id": "plugin1.toolbar.separator3", - "order": 301, - "type": "separator" - } - ] - } -} diff --git a/app/src/assets/plugins/app.metadata.json b/app/src/assets/plugins/app.metadata.json deleted file mode 100644 index b678160bd..000000000 --- a/app/src/assets/plugins/app.metadata.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "$schema": "../../../../extension.schema.json", - "$id": "app.demo.metadata", - "$name": "metadata-plugin", - "$version": "1.0.0", - "$vendor": "Hyland Software, Inc. and its affiliates", - "$license": "LGPL-3.0", - "$runtime": "1.5.0", - "$description": "metadata card configuration plugin - testing purpose", - - "features": { - "content-metadata-presets": [ - { - "id": "app.content.metadata.custom", - "custom": [ - { - "id": "app.content.metadata.customGroup", - "title": "testing extension props", - "items": [ - { - "id": "app.content.metadata.exifAspect", - "disabled": true - }, - { - "id": "app.content.metadata.exifAspect2", - "aspect": "exif:exif", - "properties": [ - "exif:orientation", - "exif:manufacturer", - "exif:model", - "exif:software" - ] - } - ] - }, - { - "id": "app.content.metadata.customGroup2", - "title": "testing extension props2", - "items": [ - { - "id": "app.content.metadata.exifAspect", - "aspect": "exif:exif", - "properties": [ - "exif:pixelXDimension", - "exif:pixelYDimension", - "exif:dateTimeOriginal" - ] - } - ] - } - ] - }, - { - "id": "app.content.metadata.kitten-images", - "kitten-images": { - "id": "app.content.metadata.kittenAspect", - "custom:aspect": "*", - "exif:exif": [ "exif:pixelXDimension", "exif:pixelYDimension"] - } - } - ] - } -} diff --git a/app/src/assets/plugins/app.search.json b/app/src/assets/plugins/app.search.json deleted file mode 100644 index 4c1376570..000000000 --- a/app/src/assets/plugins/app.search.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "$schema": "../../../../extension.schema.json", - "$id": "app.debug-search.plugin", - "$version": "1.0.0", - "$name": "app.debug-search.plugin", - "$vendor": "Hyland Software, Inc. and its affiliates", - "$license": "LGPL-3.0", - "$runtime": "1.5.0", - "$description": "Plugin for debugging and testing purposes", - - "features": { - "search": [ - { - "id": "app.search.example", - "order": 200, - "name": "Extension search (folder)", - "default": true, - "filterWithContains": true, - "aca:fields": ["cm:name", "cm:title", "cm:description", "TEXT", "TAG"], - "include": ["path", "allowableOperations", "properties"], - "sorting": { - "options": [ - { - "key": "score", - "label": "SEARCH.SORT.RELEVANCE", - "type": "SCORE", - "field": "score", - "ascending": false - }, - { - "key": "name", - "label": "SEARCH.SORT.FILENAME", - "type": "FIELD", - "field": "cm:name", - "ascending": true - }, - { - "key": "title", - "label": "SEARCH.SORT.TITLE", - "type": "FIELD", - "field": "cm:title", - "ascending": true - }, - { - "key": "modified", - "label": "SEARCH.SORT.MODIFIED_DATE", - "type": "FIELD", - "field": "cm:modified", - "ascending": true - }, - { - "key": "modifier", - "label": "SEARCH.SORT.MODIFIER", - "type": "FIELD", - "field": "cm:modifier", - "ascending": true - }, - { - "key": "created", - "label": "SEARCH.SORT.CREATE_DATE", - "type": "FIELD", - "field": "cm:created", - "ascending": true - }, - { - "key": "content.sizeInBytes", - "label": "SEARCH.SORT.SIZE", - "type": "FIELD", - "field": "content.size", - "ascending": true - }, - { - "key": "content.mimetype", - "label": "SEARCH.SORT.TYPE", - "type": "FIELD", - "field": "content.mimetype", - "ascending": true - } - ], - "defaults": [ - { - "key": "score", - "type": "SCORE", - "field": "score", - "ascending": false - } - ] - }, - "aca:triggeredOnChange": false, - "resetButton": true, - "filterQueries": [ - { "query": "+TYPE:'cm:folder'" }, - { - "query": "-TYPE:'cm:thumbnail' AND -TYPE:'cm:failedThumbnail' AND -TYPE:'cm:rating'" - }, - { "query": "-cm:creator:System AND -QNAME:comment" }, - { - "query": "-TYPE:'st:site' AND -ASPECT:'st:siteContainer' AND -ASPECT:'sys:hidden'" - }, - { - "query": "-TYPE:'dl:dataList' AND -TYPE:'dl:todoList' AND -TYPE:'dl:issue'" - }, - { "query": "-TYPE:'fm:topic' AND -TYPE:'fm:post'" }, - { "query": "-TYPE:'lnk:link'" }, - { "query": "-PNAME:'0/wiki'" } - ], - "facetQueries": { - "label": "SEARCH.CATEGORIES.MODIFIED_DATE", - "expanded": true, - "queries": [ - { - "label": "SEARCH.FACET_QUERIES.TODAY", - "query": "cm:modified:[TODAY to TODAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.THIS_WEEK", - "query": "cm:modified:[NOW/DAY-7DAYS TO NOW/DAY+1DAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.THIS_MONTH", - "query": "cm:modified:[NOW/DAY-1MONTH TO NOW/DAY+1DAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.LAST_6_MONTHS", - "query": "cm:modified:[NOW/DAY-6MONTHS TO NOW/DAY+1DAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.THIS_YEAR", - "query": "cm:modified:[NOW/DAY-1YEAR TO NOW/DAY+1DAY]" - } - ], - "settings": { - "allowUpdateOnChange": false, - "hideDefaultAction": true - } - }, - "categories": [ - { - "id": "logic", - "name": "SEARCH.CATEGORIES.LOGIC", - "enabled": true, - "component": { - "selector": "logical-filter", - "settings": { - "allowUpdateOnChange": false, - "hideDefaultAction": true, - "field": "cm:name,cm:title,cm:description,TEXT,TAG" - } - } - }, - { - "id": "createdDateRange", - "name": "SEARCH.CATEGORIES.CREATED_DATE", - "enabled": true, - "component": { - "selector": "date-range", - "settings": { - "allowUpdateOnChange": false, - "hideDefaultAction": true, - "field": "cm:created", - "dateFormat": "DD-MMM-YY", - "maxDate": "today" - } - } - } - ] - } - ] - } -} diff --git a/projects/aca-content/assets/i18n/ar.json b/projects/aca-content/assets/i18n/ar.json index 27b416da3..137deb02c 100644 --- a/projects/aca-content/assets/i18n/ar.json +++ b/projects/aca-content/assets/i18n/ar.json @@ -268,8 +268,6 @@ "LEAVE": "مغادرة المكتبة", "EDIT_OFFLINE": "تحرير دون اتصال بالإنترنت", "EDIT_OFFLINE_CANCEL": "إلغاء التحرير", - "LIST_MODE": "عرض القائمة", - "GALLERY_MODE": "عرض المعرض", "CHANGE_ASPECT": "تحرير الجوانب" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/cs.json b/projects/aca-content/assets/i18n/cs.json index a54754d3a..4f3e84b21 100644 --- a/projects/aca-content/assets/i18n/cs.json +++ b/projects/aca-content/assets/i18n/cs.json @@ -268,8 +268,6 @@ "LEAVE": "Opustit knihovnu", "EDIT_OFFLINE": "Upravit offline", "EDIT_OFFLINE_CANCEL": "Zrušit úpravu", - "LIST_MODE": "Zobrazit seznam", - "GALLERY_MODE": "Zobrazit galerii", "CHANGE_ASPECT": "Upravit aspekty" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/da.json b/projects/aca-content/assets/i18n/da.json index aabfa2f71..d2513b411 100644 --- a/projects/aca-content/assets/i18n/da.json +++ b/projects/aca-content/assets/i18n/da.json @@ -268,8 +268,6 @@ "LEAVE": "Forlad bibliotek", "EDIT_OFFLINE": "Rediger offline", "EDIT_OFFLINE_CANCEL": "Annuller redigering", - "LIST_MODE": "Vis liste", - "GALLERY_MODE": "Vis galleri", "CHANGE_ASPECT": "Rediger udseende" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/de.json b/projects/aca-content/assets/i18n/de.json index 4dc7fb64c..5ce7e9f93 100644 --- a/projects/aca-content/assets/i18n/de.json +++ b/projects/aca-content/assets/i18n/de.json @@ -268,8 +268,6 @@ "LEAVE": "Bibliothek verlassen", "EDIT_OFFLINE": "Offline bearbeiten", "EDIT_OFFLINE_CANCEL": "Bearbeitung abbrechen", - "LIST_MODE": "Liste anzeigen", - "GALLERY_MODE": "Galerie anzeigen", "CHANGE_ASPECT": "Aspekte bearbeiten" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/en.json b/projects/aca-content/assets/i18n/en.json index 12ecd8ac1..42db5999d 100644 --- a/projects/aca-content/assets/i18n/en.json +++ b/projects/aca-content/assets/i18n/en.json @@ -268,8 +268,6 @@ "LEAVE": "Leave Library", "EDIT_OFFLINE": "Edit Offline", "EDIT_OFFLINE_CANCEL": "Cancel Editing", - "LIST_MODE": "View list", - "GALLERY_MODE": "View gallery", "CHANGE_ASPECT": "Edit Aspects" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/es.json b/projects/aca-content/assets/i18n/es.json index 50494aaf6..30b6a5ea8 100644 --- a/projects/aca-content/assets/i18n/es.json +++ b/projects/aca-content/assets/i18n/es.json @@ -268,8 +268,6 @@ "LEAVE": "Abandonar biblioteca", "EDIT_OFFLINE": "Editar fuera de línea", "EDIT_OFFLINE_CANCEL": "Cancelar edición", - "LIST_MODE": "Ver lista", - "GALLERY_MODE": "Ver galería", "CHANGE_ASPECT": "Editar aspectos" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/fi.json b/projects/aca-content/assets/i18n/fi.json index 744d7a646..0abc7a067 100644 --- a/projects/aca-content/assets/i18n/fi.json +++ b/projects/aca-content/assets/i18n/fi.json @@ -268,8 +268,6 @@ "LEAVE": "Poistu kirjastosta", "EDIT_OFFLINE": "Muokkaa offline-tilassa", "EDIT_OFFLINE_CANCEL": "Peruuta muokkaus", - "LIST_MODE": "Tarkastele luetteloa", - "GALLERY_MODE": "Tarkastele galleriaa", "CHANGE_ASPECT": "Muokkaa ominaisuusjoukkoja" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/fr.json b/projects/aca-content/assets/i18n/fr.json index 25aba88a0..eca6215ad 100644 --- a/projects/aca-content/assets/i18n/fr.json +++ b/projects/aca-content/assets/i18n/fr.json @@ -268,8 +268,6 @@ "LEAVE": "Quitter la bibliothèque", "EDIT_OFFLINE": "Editer hors-ligne", "EDIT_OFFLINE_CANCEL": "Annuler l'édition", - "LIST_MODE": "Afficher la liste", - "GALLERY_MODE": "Afficher la galerie", "CHANGE_ASPECT": "Modifier les aspects" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/it.json b/projects/aca-content/assets/i18n/it.json index 3e044a2fd..d54fefa33 100644 --- a/projects/aca-content/assets/i18n/it.json +++ b/projects/aca-content/assets/i18n/it.json @@ -268,8 +268,6 @@ "LEAVE": "Esci dalla libreria", "EDIT_OFFLINE": "Modifica offline", "EDIT_OFFLINE_CANCEL": "Annulla modifica", - "LIST_MODE": "Visualizza elenco", - "GALLERY_MODE": "Visualizza raccolta", "CHANGE_ASPECT": "Modifica aspetti" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/ja.json b/projects/aca-content/assets/i18n/ja.json index 2f0f7bd2a..e9f0164b4 100644 --- a/projects/aca-content/assets/i18n/ja.json +++ b/projects/aca-content/assets/i18n/ja.json @@ -268,8 +268,6 @@ "LEAVE": "ライブラリから脱退", "EDIT_OFFLINE": "オフライン編集", "EDIT_OFFLINE_CANCEL": "編集のキャンセル", - "LIST_MODE": "リストを表示", - "GALLERY_MODE": "ギャラリーを表示", "CHANGE_ASPECT": "アスペクトを編集" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/nb.json b/projects/aca-content/assets/i18n/nb.json index c88843999..7e42becff 100644 --- a/projects/aca-content/assets/i18n/nb.json +++ b/projects/aca-content/assets/i18n/nb.json @@ -268,8 +268,6 @@ "LEAVE": "Forlat bibliotek", "EDIT_OFFLINE": "Rediger frakoblet", "EDIT_OFFLINE_CANCEL": "Avbryt redigering", - "LIST_MODE": "Vis liste", - "GALLERY_MODE": "Vis galleri", "CHANGE_ASPECT": "Rediger Aspekter" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/nl.json b/projects/aca-content/assets/i18n/nl.json index 0dcd65b6b..224b221b9 100644 --- a/projects/aca-content/assets/i18n/nl.json +++ b/projects/aca-content/assets/i18n/nl.json @@ -268,8 +268,6 @@ "LEAVE": "Bibliotheek verlaten", "EDIT_OFFLINE": "Offline bewerken", "EDIT_OFFLINE_CANCEL": "Bewerken annuleren", - "LIST_MODE": "Lijst weergeven", - "GALLERY_MODE": "Galerie weergeven", "CHANGE_ASPECT": "Aspecten bewerken" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/pl.json b/projects/aca-content/assets/i18n/pl.json index 400ad9fcb..f0215da74 100644 --- a/projects/aca-content/assets/i18n/pl.json +++ b/projects/aca-content/assets/i18n/pl.json @@ -268,8 +268,6 @@ "LEAVE": "Opuść bibliotekę", "EDIT_OFFLINE": "Edytuj w trybie offline", "EDIT_OFFLINE_CANCEL": "Anuluj edytowanie", - "LIST_MODE": "Wyświetl listę", - "GALLERY_MODE": "Wyświetl galerię", "CHANGE_ASPECT": "Edytuj aspekty" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/pt-BR.json b/projects/aca-content/assets/i18n/pt-BR.json index 66cdbfa69..44fc3215a 100644 --- a/projects/aca-content/assets/i18n/pt-BR.json +++ b/projects/aca-content/assets/i18n/pt-BR.json @@ -268,8 +268,6 @@ "LEAVE": "Sair da biblioteca", "EDIT_OFFLINE": "Editar offline", "EDIT_OFFLINE_CANCEL": "Cancelar a edição", - "LIST_MODE": "Exibir lista", - "GALLERY_MODE": "Exibir galeria", "CHANGE_ASPECT": "Editar aspectos" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/ru.json b/projects/aca-content/assets/i18n/ru.json index b57cc360f..e4c6afcd4 100644 --- a/projects/aca-content/assets/i18n/ru.json +++ b/projects/aca-content/assets/i18n/ru.json @@ -268,8 +268,6 @@ "LEAVE": "Покинуть библиотеку", "EDIT_OFFLINE": "Редактировать в автономном режиме", "EDIT_OFFLINE_CANCEL": "Отменить редактирование", - "LIST_MODE": "Просмотреть список", - "GALLERY_MODE": "Просмотреть галерею", "CHANGE_ASPECT": "Редактировать аспекты" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/sv.json b/projects/aca-content/assets/i18n/sv.json index 0316095b6..e6685188a 100644 --- a/projects/aca-content/assets/i18n/sv.json +++ b/projects/aca-content/assets/i18n/sv.json @@ -268,8 +268,6 @@ "LEAVE": "Lämna bibliotek", "EDIT_OFFLINE": "Redigera offline", "EDIT_OFFLINE_CANCEL": "Avbryt redigering", - "LIST_MODE": "Visa lista", - "GALLERY_MODE": "Visa galleri", "CHANGE_ASPECT": "Redigera aspekter" }, "DIALOGS": { diff --git a/projects/aca-content/assets/i18n/zh-CN.json b/projects/aca-content/assets/i18n/zh-CN.json index 3fc38f723..c588edce2 100644 --- a/projects/aca-content/assets/i18n/zh-CN.json +++ b/projects/aca-content/assets/i18n/zh-CN.json @@ -268,8 +268,6 @@ "LEAVE": "离开库", "EDIT_OFFLINE": "离线编辑", "EDIT_OFFLINE_CANCEL": "取消编辑", - "LIST_MODE": "查看列表", - "GALLERY_MODE": "查看图库", "CHANGE_ASPECT": "编辑纵横比" }, "DIALOGS": { diff --git a/projects/aca-content/src/lib/aca-content.module.ts b/projects/aca-content/src/lib/aca-content.module.ts index 33017eb87..dbf842434 100644 --- a/projects/aca-content/src/lib/aca-content.module.ts +++ b/projects/aca-content/src/lib/aca-content.module.ts @@ -71,7 +71,6 @@ import { LibraryMetadataTabComponent } from './components/info-drawer/library-me import { MetadataTabComponent } from './components/info-drawer/metadata-tab/metadata-tab.component'; import { VersionsTabComponent } from './components/info-drawer/versions-tab/versions-tab.component'; import { PreviewComponent } from '@alfresco/aca-preview'; -import { DocumentDisplayModeComponent } from './components/toolbar/document-display-mode/document-display-mode.component'; import { ToggleEditOfflineComponent } from './components/toolbar/toggle-edit-offline/toggle-edit-offline.component'; import { ToggleFavoriteLibraryComponent } from './components/toolbar/toggle-favorite-library/toggle-favorite-library.component'; import { ToggleFavoriteComponent } from './components/toolbar/toggle-favorite/toggle-favorite.component'; @@ -170,7 +169,6 @@ export class ContentServiceExtensionModule { 'app.toolbar.toggleFavorite': ToggleFavoriteComponent, 'app.toolbar.toggleFavoriteLibrary': ToggleFavoriteLibraryComponent, 'app.toolbar.toggleJoinLibrary': ToggleJoinLibraryButtonComponent, - 'app.toolbar.cardView': DocumentDisplayModeComponent, 'app.menu.toggleJoinLibrary': ToggleJoinLibraryMenuComponent, 'app.shared-link.toggleSharedLink': ToggleSharedComponent, 'app.columns.name': CustomNameColumnComponent, diff --git a/projects/aca-content/src/lib/components/toolbar/document-display-mode/document-display-mode.component.spec.ts b/projects/aca-content/src/lib/components/toolbar/document-display-mode/document-display-mode.component.spec.ts deleted file mode 100644 index 302560023..000000000 --- a/projects/aca-content/src/lib/components/toolbar/document-display-mode/document-display-mode.component.spec.ts +++ /dev/null @@ -1,63 +0,0 @@ -/*! - * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Alfresco Example Content Application - * - * This file is part of the Alfresco Example Content Application. - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - * The Alfresco Example Content Application is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * The Alfresco Example Content Application is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * from Hyland Software. If not, see . - */ - -import { DocumentDisplayModeComponent } from './document-display-mode.component'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { CoreModule } from '@alfresco/adf-core'; -import { AppTestingModule } from '../../../testing/app-testing.module'; -import { of } from 'rxjs'; -import { provideMockStore } from '@ngrx/store/testing'; -import { Store } from '@ngrx/store'; - -describe('DocumentDisplayModeComponent', () => { - let fixture: ComponentFixture; - let store: Store; - - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [CoreModule, AppTestingModule], - providers: [provideMockStore()] - }); - - fixture = TestBed.createComponent(DocumentDisplayModeComponent); - store = TestBed.inject(Store); - }); - - it('should show the list button when list', async () => { - spyOn(store, 'select').and.returnValue(of('list')); - fixture.detectChanges(); - await fixture.whenStable(); - - const displayButton: HTMLButtonElement = fixture.nativeElement.querySelector('#app-document-display-mode-button'); - expect(displayButton.title).toBe('APP.ACTIONS.LIST_MODE'); - }); - - it('should show the gallery button when gallery', async () => { - spyOn(store, 'select').and.returnValue(of('gallery')); - fixture.detectChanges(); - await fixture.whenStable(); - const displayButton: HTMLButtonElement = fixture.nativeElement.querySelector('#app-document-display-mode-button'); - expect(displayButton.title).toBe('APP.ACTIONS.GALLERY_MODE'); - }); -}); diff --git a/projects/aca-content/src/lib/components/toolbar/document-display-mode/document-display-mode.component.ts b/projects/aca-content/src/lib/components/toolbar/document-display-mode/document-display-mode.component.ts deleted file mode 100644 index c5b1d35f6..000000000 --- a/projects/aca-content/src/lib/components/toolbar/document-display-mode/document-display-mode.component.ts +++ /dev/null @@ -1,74 +0,0 @@ -/*! - * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Alfresco Example Content Application - * - * This file is part of the Alfresco Example Content Application. - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - * The Alfresco Example Content Application is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * The Alfresco Example Content Application is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * from Hyland Software. If not, see . - */ - -import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; -import { Observable, Subject } from 'rxjs'; -import { Store } from '@ngrx/store'; -import { AppStore, ToggleDocumentDisplayMode, getDocumentDisplayMode } from '@alfresco/aca-shared/store'; -import { takeUntil } from 'rxjs/operators'; - -@Component({ - selector: 'app-document-display-mode', - template: ` - - - - `, - encapsulation: ViewEncapsulation.None, - host: { class: 'app-document-display-mode' } -}) -export class DocumentDisplayModeComponent implements OnInit, OnDestroy { - displayMode$: Observable; - displayModeTitle: string; - - onDestroy$ = new Subject(); - - constructor(private store: Store) {} - - ngOnInit(): void { - this.displayMode$ = this.store.select(getDocumentDisplayMode); - this.displayMode$.pipe(takeUntil(this.onDestroy$)).subscribe((displayMode) => { - this.displayModeTitle = displayMode === 'list' ? 'APP.ACTIONS.LIST_MODE' : 'APP.ACTIONS.GALLERY_MODE'; - }); - } - - ngOnDestroy(): void { - this.onDestroy$.next(); - this.onDestroy$.complete(); - } - - onClick() { - this.store.dispatch(new ToggleDocumentDisplayMode()); - } -} diff --git a/projects/aca-content/src/lib/components/toolbar/toolbar.module.ts b/projects/aca-content/src/lib/components/toolbar/toolbar.module.ts index 46ec47a3c..73df94e65 100644 --- a/projects/aca-content/src/lib/components/toolbar/toolbar.module.ts +++ b/projects/aca-content/src/lib/components/toolbar/toolbar.module.ts @@ -23,7 +23,6 @@ */ import { NgModule } from '@angular/core'; -import { DocumentDisplayModeComponent } from './document-display-mode/document-display-mode.component'; import { ToggleFavoriteComponent } from './toggle-favorite/toggle-favorite.component'; import { ToggleInfoDrawerComponent } from './toggle-info-drawer/toggle-info-drawer.component'; import { CommonModule } from '@angular/common'; @@ -40,7 +39,6 @@ import { SharedToolbarModule } from '@alfresco/aca-shared'; @NgModule({ imports: [CommonModule, CoreModule.forChild(), ExtensionsModule, SharedToolbarModule, DirectivesModule], declarations: [ - DocumentDisplayModeComponent, ToggleFavoriteComponent, ToggleInfoDrawerComponent, ToggleJoinLibraryButtonComponent, @@ -50,7 +48,6 @@ import { SharedToolbarModule } from '@alfresco/aca-shared'; ViewNodeComponent ], exports: [ - DocumentDisplayModeComponent, ToggleFavoriteComponent, ToggleInfoDrawerComponent, ToggleJoinLibraryButtonComponent, From 3b8c9afe78960dab26b7f37a87f911cdb514aebe Mon Sep 17 00:00:00 2001 From: MichalKinas <113341662+MichalKinas@users.noreply.github.com> Date: Wed, 7 Jun 2023 14:04:31 +0200 Subject: [PATCH 13/24] [ACS-5170] Change some facets to filters (#3256) * [ACS-5170] Change some facets to filters * [ACS-5170] Remove unused translations * [ACS-5170] Exclude e2es that will be fixed along with advanced search changes --- e2e/protractor.excludes.json | 19 +- .../aca-content/assets/app.extensions.json | 180 ++++++++---------- projects/aca-content/assets/i18n/en.json | 7 - 3 files changed, 96 insertions(+), 110 deletions(-) diff --git a/e2e/protractor.excludes.json b/e2e/protractor.excludes.json index 99fa003e6..55e116c41 100644 --- a/e2e/protractor.excludes.json +++ b/e2e/protractor.excludes.json @@ -5,5 +5,22 @@ "C213134": "temp, see https://alfresco.atlassian.net/browse/ACS-5189", "C286252": "temp, see https://alfresco.atlassian.net/browse/ACS-5189", "C284666": "temp, see https://alfresco.atlassian.net/browse/ACS-5189", - "C286269": "temp, see https://alfresco.atlassian.net/browse/ACS-5189" + "C286269": "temp, see https://alfresco.atlassian.net/browse/ACS-5189", + "C279186": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4986", + "C279230": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4986", + "C279231": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4986", + "C279232": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4986", + "C279233": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4986", + "C279191": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-5183", + "C279192": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-5183", + "C279193": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-5183", + "C279195": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-5183", + "C280051": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-5183", + "C280052": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-5183", + "C279188": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-5183", + "C308042": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-5183", + "C279219": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4985", + "C279221": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4985", + "C279220": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4985", + "C325006": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4985" } diff --git a/projects/aca-content/assets/app.extensions.json b/projects/aca-content/assets/app.extensions.json index 16631b0bf..4d02e60b4 100644 --- a/projects/aca-content/assets/app.extensions.json +++ b/projects/aca-content/assets/app.extensions.json @@ -1391,16 +1391,6 @@ "facetFields": { "expanded": true, "fields": [ - { - "mincount": 1, - "field": "content.mimetype", - "label": "SEARCH.FACET_FIELDS.FILE_TYPE", - "settings": { - "allowUpdateOnChange": false, - "hideDefaultAction": true, - "facetOrder": 100 - } - }, { "mincount": 1, "field": "creator", @@ -1420,70 +1410,9 @@ "hideDefaultAction": true, "facetOrder": 300 } - }, - { - "mincount": 1, - "field": "SITE", - "label": "SEARCH.FACET_FIELDS.LOCATION", - "settings": { - "allowUpdateOnChange": false, - "hideDefaultAction": true, - "facetOrder": 400 - } - }, - { - "mincount": 1, - "field": "TAG", - "label": "Tags", - "settings": { - "allowUpdateOnChange": false, - "hideDefaultAction": true, - "facetOrder": 600 - } - }, - { - "mincount": 1, - "field": "cm:categories", - "label": "SEARCH.FACET_FIELDS.CATEGORIES", - "settings": { - "allowUpdateOnChange": false, - "hideDefaultAction": true, - "facetOrder": 700 - } } ] }, - "facetQueries": { - "label": "SEARCH.CATEGORIES.MODIFIED_DATE", - "expanded": true, - "queries": [ - { - "label": "SEARCH.FACET_QUERIES.TODAY", - "query": "cm:modified:[TODAY to TODAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.THIS_WEEK", - "query": "cm:modified:[NOW/DAY-7DAYS TO NOW/DAY+1DAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.THIS_MONTH", - "query": "cm:modified:[NOW/DAY-1MONTH TO NOW/DAY+1DAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.LAST_6_MONTHS", - "query": "cm:modified:[NOW/DAY-6MONTHS TO NOW/DAY+1DAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.THIS_YEAR", - "query": "cm:modified:[NOW/DAY-1YEAR TO NOW/DAY+1DAY]" - } - ], - "settings": { - "allowUpdateOnChange": false, - "hideDefaultAction": true, - "facetOrder": 500 - } - }, "categories": [ { "id": "logic", @@ -1542,6 +1471,69 @@ "maxDate": "today" } } + }, + { + "id": "modifiedDateRange", + "name": "SEARCH.CATEGORIES.MODIFIED_DATE", + "enabled": true, + "component": { + "selector": "date-range", + "settings": { + "allowUpdateOnChange": false, + "hideDefaultAction": true, + "field": "cm:modified", + "dateFormat": "DD-MMM-YY", + "maxDate": "today" + } + } + }, + { + "id": "fileType", + "name": "SEARCH.FACET_FIELDS.FILE_TYPE", + "component": { + "selector": "", + "settings": { + "allowUpdateOnChange": false, + "hideDefaultAction": true, + "field": "content.mimetype" + } + } + }, + { + "id": "location", + "name": "SEARCH.FACET_FIELDS.LOCATION", + "component": { + "selector": "", + "settings": { + "allowUpdateOnChange": false, + "hideDefaultAction": true, + "field": "SITE" + } + } + }, + { + "id": "tag", + "name": "Tags", + "component": { + "selector": "", + "settings": { + "allowUpdateOnChange": false, + "hideDefaultAction": true, + "field": "TAG" + } + } + }, + { + "id": "categories", + "name": "SEARCH.FACET_FIELDS.CATEGORIES", + "component": { + "selector": "", + "settings": { + "allowUpdateOnChange": false, + "hideDefaultAction": true, + "field": "cm:categories" + } + } } ] }, @@ -1787,39 +1779,8 @@ "hideDefaultAction": true } } - ] }, - "facetQueries": { - "label": "SEARCH.CATEGORIES.MODIFIED_DATE", - "expanded": true, - "queries": [ - { - "label": "SEARCH.FACET_QUERIES.TODAY", - "query": "cm:modified:[TODAY to TODAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.THIS_WEEK", - "query": "cm:modified:[NOW/DAY-7DAYS TO NOW/DAY+1DAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.THIS_MONTH", - "query": "cm:modified:[NOW/DAY-1MONTH TO NOW/DAY+1DAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.LAST_6_MONTHS", - "query": "cm:modified:[NOW/DAY-6MONTHS TO NOW/DAY+1DAY]" - }, - { - "label": "SEARCH.FACET_QUERIES.THIS_YEAR", - "query": "cm:modified:[NOW/DAY-1YEAR TO NOW/DAY+1DAY]" - } - ], - "settings": { - "allowUpdateOnChange": false, - "hideDefaultAction": true - } - }, "categories": [ { "id": "logic", @@ -1849,6 +1810,21 @@ } } }, + { + "id": "modifiedDateRange", + "name": "SEARCH.CATEGORIES.MODIFIED_DATE", + "enabled": true, + "component": { + "selector": "date-range", + "settings": { + "allowUpdateOnChange": false, + "hideDefaultAction": true, + "field": "cm:modified", + "dateFormat": "DD-MMM-YY", + "maxDate": "today" + } + } + }, { "id": "effectivnessFrom", "name": "SEARCH.CATEGORIES.EFFECTIVITY_FROM", diff --git a/projects/aca-content/assets/i18n/en.json b/projects/aca-content/assets/i18n/en.json index 42db5999d..011697200 100644 --- a/projects/aca-content/assets/i18n/en.json +++ b/projects/aca-content/assets/i18n/en.json @@ -569,13 +569,6 @@ "EFFECTIVITY_TO": "Effectivity to", "LOGIC": "Logic" }, - "FACET_QUERIES": { - "TODAY": "Today", - "THIS_WEEK": "This week", - "THIS_MONTH": "This month", - "LAST_6_MONTHS": "In the last 6 months", - "THIS_YEAR": "This year" - }, "SEARCH_HEADER" : { "TITLE":"Filter", "TYPE": "Type", From 99d8f84a4b402800de1661a4c84399a6ea051a9a Mon Sep 17 00:00:00 2001 From: Jatin Chugh <105338943+jatin2008@users.noreply.github.com> Date: Wed, 7 Jun 2023 19:51:14 +0530 Subject: [PATCH 14/24] fix pop up disappear issue in ADW (#3260) --- projects/aca-content/src/lib/aca-content.module.ts | 12 ++++++++++-- projects/aca-shared/src/lib/services/app.service.ts | 4 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/projects/aca-content/src/lib/aca-content.module.ts b/projects/aca-content/src/lib/aca-content.module.ts index dbf842434..6916b8e6a 100644 --- a/projects/aca-content/src/lib/aca-content.module.ts +++ b/projects/aca-content/src/lib/aca-content.module.ts @@ -34,7 +34,14 @@ import { LibraryStatusColumnComponent, TrashcanNameColumnComponent } from '@alfresco/adf-content-services'; -import { DocumentBasePageService, ExtensionsDataLoaderGuard, PageLayoutModule, SharedModule, GenericErrorComponent } from '@alfresco/aca-shared'; +import { + DocumentBasePageService, + ExtensionsDataLoaderGuard, + PageLayoutModule, + SharedModule, + GenericErrorComponent, + OpenInAppModule +} from '@alfresco/aca-shared'; import * as rules from '@alfresco/aca-shared/rules'; import { FilesComponent } from './components/files/files.component'; @@ -123,7 +130,8 @@ import { TrashcanComponent } from './components/trashcan/trashcan.component'; AcaFolderRulesModule, GenericErrorComponent, DetailsComponent, - CreateFromTemplateDialogComponent + CreateFromTemplateDialogComponent, + OpenInAppModule ], declarations: [ FilesComponent, diff --git a/projects/aca-shared/src/lib/services/app.service.ts b/projects/aca-shared/src/lib/services/app.service.ts index 25171b21f..553576e9c 100644 --- a/projects/aca-shared/src/lib/services/app.service.ts +++ b/projects/aca-shared/src/lib/services/app.service.ts @@ -166,7 +166,9 @@ export class AppService implements OnDestroy { if (isReady) { this.loadRepositoryStatus(); this.loadUserProfile(); - this.openMobileAppDialog(); + setTimeout(() => { + this.openMobileAppDialog(); + }); } }); From 699499780f0643cdb65ae33e03573f7ee55b19ca Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Fri, 9 Jun 2023 08:25:43 +0100 Subject: [PATCH 15/24] [ACS-5386] update docs (#3263) --- README.md | 13 +++--- docs/README.md | 46 +++++++++++--------- docs/getting-started/building-from-source.md | 4 +- docs/getting-started/nvm.md | 3 +- 4 files changed, 37 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index ac47e9862..e8c41747c 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,14 @@ Please refer to the public [documentation](https://alfresco-content-app.netlify. ## Compatibility -| ACA | ACS | Node | ADF | Angular | -| --- | --- | --- | --- | --- | -| 4.1 | 7.4 | 18.x | 6.1.0 | 14.x | -| 4.0 | 7.4 | 14.x | 6.0.0 | 14.x | +| ACA | ADF | ACS | Node | Angular | +| ---- | --- | --- | ---- | ------- | +| 4.1 | 6.1 | 7.4 | 18.x | 14.x | +| 4.0 | 6.1 | 7.4 | 14.x | 14.x | +| 3.1 | 5.1 | 7.3 | | | +| 3.0 | 5.0 | 7.3 | | | + +> See for more details on Angular and Node.js compatibility ## Running @@ -48,7 +52,6 @@ APP_CONFIG_DOWNLOAD_PROMPT_DELAY=
- ` + `, + encapsulation: ViewEncapsulation.None }) export class VersionsTabComponent implements OnInit, OnChanges { @Input() diff --git a/projects/aca-content/src/lib/components/libraries/libraries.component.ts b/projects/aca-content/src/lib/components/libraries/libraries.component.ts index 6c9b495e1..849df0495 100644 --- a/projects/aca-content/src/lib/components/libraries/libraries.component.ts +++ b/projects/aca-content/src/lib/components/libraries/libraries.component.ts @@ -24,12 +24,13 @@ import { NavigateLibraryAction } from '@alfresco/aca-shared/store'; import { SiteEntry } from '@alfresco/js-api'; -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { AppHookService, PageComponent } from '@alfresco/aca-shared'; import { DocumentListPresetRef } from '@alfresco/adf-extensions'; @Component({ - templateUrl: './libraries.component.html' + templateUrl: './libraries.component.html', + encapsulation: ViewEncapsulation.None }) export class LibrariesComponent extends PageComponent implements OnInit { columns: DocumentListPresetRef[] = []; diff --git a/projects/aca-content/src/lib/components/recent-files/recent-files.component.ts b/projects/aca-content/src/lib/components/recent-files/recent-files.component.ts index e4e41d42c..d8ee48a93 100644 --- a/projects/aca-content/src/lib/components/recent-files/recent-files.component.ts +++ b/projects/aca-content/src/lib/components/recent-files/recent-files.component.ts @@ -22,14 +22,15 @@ * from Hyland Software. If not, see . */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { MinimalNodeEntity } from '@alfresco/js-api'; import { debounceTime } from 'rxjs/operators'; import { PageComponent } from '@alfresco/aca-shared'; import { DocumentListPresetRef } from '@alfresco/adf-extensions'; @Component({ - templateUrl: './recent-files.component.html' + templateUrl: './recent-files.component.html', + encapsulation: ViewEncapsulation.None }) export class RecentFilesComponent extends PageComponent implements OnInit { columns: DocumentListPresetRef[] = []; diff --git a/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.scss b/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.scss index d9a615d68..bb9707162 100644 --- a/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.scss +++ b/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.scss @@ -1,45 +1,47 @@ @import '../../../ui/mixins'; -.adf-search-results { - @include flex-row; - - &__content { - @include flex-column; - - border-left: 1px solid #eee; - } - - &__content-header { - display: flex; - padding: 0 25px; - flex-direction: row; - align-items: center; - border-bottom: 1px solid #eee; - } - - &--info-text { - flex: 1; - font-size: 16px; - color: rgba(0, 0, 0, 0.54); - } - - .text--bold { - font-weight: 600; - } - - .content { +aca-search-results { + .adf-search-results { @include flex-row; - flex: unset; - height: unset; - padding-top: 8px; - padding-bottom: 8px; - flex-wrap: wrap; - - &__side--left { + &__content { @include flex-column; + border-left: 1px solid #eee; + } + + &__content-header { + display: flex; + padding: 0 25px; + flex-direction: row; + align-items: center; + border-bottom: 1px solid #eee; + } + + &--info-text { + flex: 1; + font-size: 16px; + color: rgba(0, 0, 0, 0.54); + } + + .text--bold { + font-weight: 600; + } + + .content { + @include flex-row; + + flex: unset; height: unset; + padding-top: 8px; + padding-bottom: 8px; + flex-wrap: wrap; + + &__side--left { + @include flex-column; + + height: unset; + } } } } diff --git a/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.ts b/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.ts index 40b462dbf..232aba54c 100644 --- a/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.ts +++ b/projects/aca-content/src/lib/components/search/search-libraries-results/search-libraries-results.component.ts @@ -24,7 +24,7 @@ import { NavigateLibraryAction } from '@alfresco/aca-shared/store'; import { NodePaging, Pagination, SiteEntry } from '@alfresco/js-api'; -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { ActivatedRoute, Params } from '@angular/router'; import { SearchLibrariesQueryBuilderService } from './search-libraries-query-builder.service'; import { AppHookService, AppService, PageComponent } from '@alfresco/aca-shared'; @@ -33,7 +33,8 @@ import { DocumentListPresetRef } from '@alfresco/adf-extensions'; @Component({ selector: 'aca-search-results', templateUrl: './search-libraries-results.component.html', - styleUrls: ['./search-libraries-results.component.scss'] + styleUrls: ['./search-libraries-results.component.scss'], + encapsulation: ViewEncapsulation.None }) export class SearchLibrariesResultsComponent extends PageComponent implements OnInit { searchedWord: string; diff --git a/projects/aca-content/src/lib/components/shared-files/shared-files.component.ts b/projects/aca-content/src/lib/components/shared-files/shared-files.component.ts index 218776d7c..6a67d8ac4 100644 --- a/projects/aca-content/src/lib/components/shared-files/shared-files.component.ts +++ b/projects/aca-content/src/lib/components/shared-files/shared-files.component.ts @@ -22,13 +22,15 @@ * from Hyland Software. If not, see . */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { debounceTime } from 'rxjs/operators'; import { MinimalNodeEntity } from '@alfresco/js-api'; import { AppHookService, PageComponent } from '@alfresco/aca-shared'; import { DocumentListPresetRef } from '@alfresco/adf-extensions'; + @Component({ - templateUrl: './shared-files.component.html' + templateUrl: './shared-files.component.html', + encapsulation: ViewEncapsulation.None }) export class SharedFilesComponent extends PageComponent implements OnInit { columns: DocumentListPresetRef[] = []; diff --git a/projects/aca-content/src/lib/components/trashcan/trashcan.component.ts b/projects/aca-content/src/lib/components/trashcan/trashcan.component.ts index d7828dcdf..bc4e2b86b 100644 --- a/projects/aca-content/src/lib/components/trashcan/trashcan.component.ts +++ b/projects/aca-content/src/lib/components/trashcan/trashcan.component.ts @@ -24,7 +24,7 @@ import { getUserProfile } from '@alfresco/aca-shared/store'; import { DocumentListPresetRef, ExtensionsModule } from '@alfresco/adf-extensions'; -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { PageComponent, PageLayoutModule, SharedToolbarModule } from '@alfresco/aca-shared'; import { CommonModule } from '@angular/common'; import { TranslateModule } from '@ngx-translate/core'; @@ -48,7 +48,8 @@ import { DirectivesModule } from '../../directives/directives.module'; DataTableModule, ExtensionsModule ], - templateUrl: './trashcan.component.html' + templateUrl: './trashcan.component.html', + encapsulation: ViewEncapsulation.None }) export class TrashcanComponent extends PageComponent implements OnInit { user$ = this.store.select(getUserProfile); diff --git a/projects/aca-shared/src/lib/components/info-drawer/info-drawer.component.ts b/projects/aca-shared/src/lib/components/info-drawer/info-drawer.component.ts index 5a6e594d4..43fcf6f8b 100644 --- a/projects/aca-shared/src/lib/components/info-drawer/info-drawer.component.ts +++ b/projects/aca-shared/src/lib/components/info-drawer/info-drawer.component.ts @@ -22,7 +22,7 @@ * from Hyland Software. If not, see . */ -import { Component, HostListener, Input, OnChanges, OnDestroy, OnInit } from '@angular/core'; +import { Component, HostListener, Input, OnChanges, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; import { MinimalNodeEntity, MinimalNodeEntryEntity, SiteEntry } from '@alfresco/js-api'; import { ContentActionRef, ExtensionsModule, SidebarTabRef } from '@alfresco/adf-extensions'; import { Store } from '@ngrx/store'; @@ -37,11 +37,13 @@ import { MatProgressBarModule } from '@angular/material/progress-bar'; import { InfoDrawerModule, ToolbarModule } from '@alfresco/adf-core'; import { SharedToolbarModule } from '../tool-bar/shared-toolbar.module'; import { TranslateModule } from '@ngx-translate/core'; + @Component({ standalone: true, imports: [CommonModule, TranslateModule, MatProgressBarModule, InfoDrawerModule, SharedToolbarModule, ExtensionsModule, ToolbarModule], selector: 'aca-info-drawer', - templateUrl: './info-drawer.component.html' + templateUrl: './info-drawer.component.html', + encapsulation: ViewEncapsulation.None }) export class InfoDrawerComponent implements OnChanges, OnInit, OnDestroy { @Input() From fa27e0c05c4694e76a5c082d473f0f7030db1c8e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Jun 2023 09:30:53 +0100 Subject: [PATCH 20/24] Build(deps-dev): Bump @playwright/test from 1.34.0 to 1.35.0 (#3272) Bumps [@playwright/test](https://github.com/Microsoft/playwright) from 1.34.0 to 1.35.0. - [Release notes](https://github.com/Microsoft/playwright/releases) - [Commits](https://github.com/Microsoft/playwright/compare/v1.34.0...v1.35.0) --- updated-dependencies: - dependency-name: "@playwright/test" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 23 +++++++++++++---------- package.json | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 37887518b..5a40c8fe6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,7 +59,7 @@ "@nrwl/angular": "15.9.2", "@nrwl/eslint-plugin-nx": "^15.9.2", "@nrwl/workspace": "15.9.2", - "@playwright/test": "^1.34.0", + "@playwright/test": "^1.35.0", "@schematics/angular": "14.1.2", "@types/event-emitter": "^0.3.3", "@types/jasmine": "~3.6.0", @@ -7500,19 +7500,19 @@ } }, "node_modules/@playwright/test": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.34.0.tgz", - "integrity": "sha512-GIALJVODOIrMflLV54H3Cow635OfrTwOu24ZTDyKC66uchtFX2NcCRq83cLdakMjZKYK78lODNLQSYBj2OgaTw==", + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.35.0.tgz", + "integrity": "sha512-6qXdd5edCBynOwsz1YcNfgX8tNWeuS9fxy5o59D0rvHXxRtjXRebB4gE4vFVfEMXl/z8zTnAzfOs7aQDEs8G4Q==", "dev": true, "dependencies": { "@types/node": "*", - "playwright-core": "1.34.0" + "playwright-core": "1.35.0" }, "bin": { "playwright": "cli.js" }, "engines": { - "node": ">=14" + "node": ">=16" }, "optionalDependencies": { "fsevents": "2.3.2" @@ -24408,12 +24408,15 @@ } }, "node_modules/playwright-core": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.34.0.tgz", - "integrity": "sha512-fMUY1+iR6kYbJF/EsOOqzBA99ZHXbw9sYPNjwA4X/oV0hVF/1aGlWYBGPVUEqxBkGANDKMziYoOdKGU5DIP5Gg==", + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.35.0.tgz", + "integrity": "sha512-muMXyPmIx/2DPrCHOD1H1ePT01o7OdKxKj2ebmCAYvqhUy+Y1bpal7B0rdoxros7YrXI294JT/DWw2LqyiqTPA==", "dev": true, + "bin": { + "playwright-core": "cli.js" + }, "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/pluralize": { diff --git a/package.json b/package.json index f2198c8a4..5eed2b07b 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "@nrwl/angular": "15.9.2", "@nrwl/eslint-plugin-nx": "^15.9.2", "@nrwl/workspace": "15.9.2", - "@playwright/test": "^1.34.0", + "@playwright/test": "^1.35.0", "@schematics/angular": "14.1.2", "@types/event-emitter": "^0.3.3", "@types/jasmine": "~3.6.0", From 9fd306d5b3de840f2a7b9b832d432411776aa09d Mon Sep 17 00:00:00 2001 From: MichalKinas <113341662+MichalKinas@users.noreply.github.com> Date: Wed, 14 Jun 2023 11:51:27 +0200 Subject: [PATCH 21/24] [ACS-5347] New styles for filter states (#3274) * [ACS-5347] New styles for filter states * [ACS-5347] Add disabled chips colors --- .../common/user-info/user-info.component.scss | 4 +-- .../search-results.component.scss | 25 ++++++++++++++----- .../user-menu/user-menu.component.scss | 4 +-- .../view-profile/view-profile.component.scss | 2 +- .../src/lib/ui/overrides/ay11.scss | 2 +- .../src/lib/ui/variables/variables.scss | 15 +++++------ .../page-layout/page-layout.component.scss | 2 +- 7 files changed, 32 insertions(+), 22 deletions(-) diff --git a/projects/aca-content/src/lib/components/common/user-info/user-info.component.scss b/projects/aca-content/src/lib/components/common/user-info/user-info.component.scss index 1d168b2ec..de0fe59cb 100644 --- a/projects/aca-content/src/lib/components/common/user-info/user-info.component.scss +++ b/projects/aca-content/src/lib/components/common/user-info/user-info.component.scss @@ -13,8 +13,8 @@ line-height: 32px; text-align: center; vertical-align: middle; - background: var(--theme-user-initials-background-color); - color: var(--theme-user-intials-text-color); + background: var(--theme-about-panel-border-color); + color: var(--theme-selected-text-color); border: none; } diff --git a/projects/aca-content/src/lib/components/search/search-results/search-results.component.scss b/projects/aca-content/src/lib/components/search/search-results/search-results.component.scss index c6cd41c5d..8a89d9d72 100644 --- a/projects/aca-content/src/lib/components/search/search-results/search-results.component.scss +++ b/projects/aca-content/src/lib/components/search/search-results/search-results.component.scss @@ -1,8 +1,5 @@ @import '../../../ui/mixins'; -$adf-chip-background: #efefef; -$contrast-gray: #646569; - .adf-search-results { @include flex-row; @@ -28,13 +25,29 @@ $contrast-gray: #646569; border-bottom: 1px solid var(--theme-border-color); .adf-search-filter-chip { + &[disabled] { + &.mat-chip { + background-color: var(--theme-disabled-chip-background-color); + color: var(--theme-search-chip-icon-color); + } + } + &.mat-chip { - background-color: $adf-chip-background; - color: $contrast-gray; + background-color: var(--theme-dropdown-color); + color: var(--theme-selected-text-color); + + &:hover, + &:focus { + background-color: var(--theme-grey-background-hover); + } + + mat-icon { + color: var(--theme-search-chip-icon-color); + } } .adf-search-filter-placeholder { - color: $contrast-gray; + color: var(--theme-selected-text-color); } } } diff --git a/projects/aca-content/src/lib/components/sidenav/user-menu/user-menu.component.scss b/projects/aca-content/src/lib/components/sidenav/user-menu/user-menu.component.scss index 01066a8ea..36cc0442b 100644 --- a/projects/aca-content/src/lib/components/sidenav/user-menu/user-menu.component.scss +++ b/projects/aca-content/src/lib/components/sidenav/user-menu/user-menu.component.scss @@ -8,7 +8,7 @@ line-height: 32px; text-align: center; vertical-align: middle; - background: var(--theme-user-initials-background-color); - color: var(--theme-user-intials-text-color); + background: var(--theme-about-panel-border-color); + color: var(--theme-selected-text-color); border: none; } diff --git a/projects/aca-content/src/lib/components/view-profile/view-profile.component.scss b/projects/aca-content/src/lib/components/view-profile/view-profile.component.scss index 00d6a8553..73134f9b6 100644 --- a/projects/aca-content/src/lib/components/view-profile/view-profile.component.scss +++ b/projects/aca-content/src/lib/components/view-profile/view-profile.component.scss @@ -11,7 +11,7 @@ app-view-profile { width: 100%; height: 32px; padding: 32px 0; - border-bottom: 1px solid var(--theme-header-border-color); + border-bottom: 1px solid var(--theme-about-panel-border-color); } .app-profile-title { diff --git a/projects/aca-content/src/lib/ui/overrides/ay11.scss b/projects/aca-content/src/lib/ui/overrides/ay11.scss index 8d5976f93..dac2b8593 100644 --- a/projects/aca-content/src/lib/ui/overrides/ay11.scss +++ b/projects/aca-content/src/lib/ui/overrides/ay11.scss @@ -162,7 +162,7 @@ } .mat-datetimepicker-calendar-body-active .mat-datetimepicker-calendar-body-cell-content.mat-datetimepicker-calendar-body-selected { - background-color: var(--theme-datetimepicker-cell-focus-background); + background-color: var(--theme-about-panel-border-color); color: var(--theme-datetimepicker-font-color); } diff --git a/projects/aca-content/src/lib/ui/variables/variables.scss b/projects/aca-content/src/lib/ui/variables/variables.scss index 6ce50b4d0..cd6559c85 100644 --- a/projects/aca-content/src/lib/ui/variables/variables.scss +++ b/projects/aca-content/src/lib/ui/variables/variables.scss @@ -22,20 +22,19 @@ $grey-hover-background: rgba(33, 33, 33, 0.24); $blue-save-button-background: #1f74db; $black-heading: #4e4c4c; $grey-dropdown-background: #eee; +$grey-background-hover: #e0e0e0; $grey-divider: rgba(0, 0, 0, 0.22); $datetimepicker-font-color: rgba(black, 0.87); $datetimepicker-selected-date-background: #2254b2; $datetimepicker-cell-background-color: #fff; $datetimepicker-cell-focus-border-color: #1f74db; -$datetimepicker-cell-focus-background-color: rgba(33, 33, 33, 0.12); $sidenav-background-color: #f8f8f8; $selected-text-color: #212121; $selected-background-color: rgba(31, 116, 219, 0.24); $action-button-text-color: rgba(33, 35, 40, 0.7); $page-layout-header-background-color: #fff; -$aca-toolbar-button-background-color: rgba(33, 33, 33, 0.05); -$aca-user-initials-background: rgba(33, 33, 33, 0.12); -$aca-user-initials-text-color: #212121; +$search-chip-icon-color: #757575; +$disabled-chip-background-color: #f5f5f5; // CSS Variables $defaults: ( @@ -58,6 +57,7 @@ $defaults: ( --theme-blue-button-color: $blue-save-button-background, --theme-heading-color: $black-heading, --theme-dropdown-color: $grey-dropdown-background, + --theme-grey-background-hover: $grey-background-hover, --theme-grey-divider-color: $grey-divider, --theme-pagination-background-color: mat.get-color-from-palette($background, background), --theme-about-panel-border-color: $grey-background, @@ -67,17 +67,14 @@ $defaults: ( --theme-datetimepicker-selected-date-background: $datetimepicker-selected-date-background, --theme-datetimepicker-cell-background: $datetimepicker-cell-background-color, --theme-datetimepicker-cell-focus-border: $datetimepicker-cell-focus-border-color, - --theme-datetimepicker-cell-focus-background: $datetimepicker-cell-focus-background-color, --theme-sidenav-background-color: $sidenav-background-color, --theme-selected-text-color: $selected-text-color, --theme-selected-background-color: $selected-background-color, --theme-hover-background-color: $grey-text-background, --theme-action-button-text-color: $action-button-text-color, - --theme-header-border-color: $grey-background, --theme-page-layout-header-background-color: $page-layout-header-background-color, - --theme-app-toolbar-button-background-color: $aca-toolbar-button-background-color, - --theme-user-initials-background-color: $aca-user-initials-background, - --theme-user-intials-text-color: $aca-user-initials-text-color + --theme-search-chip-icon-color: $search-chip-icon-color, + --theme-disabled-chip-background-color: $disabled-chip-background-color ); // propagates SCSS variables into the CSS variables scope diff --git a/projects/aca-shared/src/lib/components/page-layout/page-layout.component.scss b/projects/aca-shared/src/lib/components/page-layout/page-layout.component.scss index 0c5b20304..a5c31058f 100644 --- a/projects/aca-shared/src/lib/components/page-layout/page-layout.component.scss +++ b/projects/aca-shared/src/lib/components/page-layout/page-layout.component.scss @@ -31,7 +31,7 @@ align-items: center; border-radius: 6px; height: 32px; - background: var(--theme-app-toolbar-button-background-color); + background: var(--theme-grey-text-background-color); color: var(--theme-selected-text-color); line-height: 32px; From 9916ecb98b2668c39b73c2eb9b1ef82b73a0f2af Mon Sep 17 00:00:00 2001 From: Alfresco Build <8039454+alfresco-build@users.noreply.github.com> Date: Thu, 15 Jun 2023 14:11:55 +0200 Subject: [PATCH 22/24] GH Auto: Upstream dependencies ADF:6.2.0-5276452186 JS-API:6.2.0-983 using Tag:6.2.0-5276452186 (#3273) * [ci:force][auto-commit] Update dependencies ADF:6.2.0-5276452186 JS:6.2.0-983 * fix js-api version * add date-fns dep * exclude tests --------- Co-authored-by: DenysVuika Co-authored-by: Denys Vuika --- e2e/protractor.excludes.json | 5 +- package-lock.json | 107 ++++++++++++++++++++++++----------- package.json | 13 +++-- 3 files changed, 86 insertions(+), 39 deletions(-) diff --git a/e2e/protractor.excludes.json b/e2e/protractor.excludes.json index 55e116c41..03eedcb8f 100644 --- a/e2e/protractor.excludes.json +++ b/e2e/protractor.excludes.json @@ -22,5 +22,8 @@ "C279219": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4985", "C279221": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4985", "C279220": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4985", - "C325006": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4985" + "C325006": "temp, will be fixed in https://alfresco.atlassian.net/browse/ACS-4985", + "C286327": "https://alfresco.atlassian.net/browse/PRODSEC-6575", + "C286332": "https://alfresco.atlassian.net/browse/PRODSEC-6575", + "C286333": "https://alfresco.atlassian.net/browse/PRODSEC-6575" } diff --git a/package-lock.json b/package-lock.json index 5a40c8fe6..6301fda4a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,11 +10,11 @@ "hasInstallScript": true, "license": "LGPL-3.0", "dependencies": { - "@alfresco/adf-content-services": "6.1.0-5145838719", - "@alfresco/adf-core": "6.1.0-5145838719", - "@alfresco/adf-extensions": "6.1.0-5145838719", + "@alfresco/adf-content-services": "6.2.0-5276452186", + "@alfresco/adf-core": "6.2.0-5276452186", + "@alfresco/adf-extensions": "6.2.0-5276452186", "@alfresco/eslint-plugin-eslint-angular": "6.2.0-5201142775", - "@alfresco/js-api": "6.1.0", + "@alfresco/js-api": "^6.1.0", "@angular/animations": "14.1.3", "@angular/cdk": "14.1.3", "@angular/common": "14.1.3", @@ -33,6 +33,7 @@ "@ngrx/store": "^14.2.0", "@ngrx/store-devtools": "^14.2.0", "@ngx-translate/core": "^14.0.0", + "date-fns": "^2.30.0", "minimatch-browser": "^1.0.0", "moment": "^2.29.4", "moment-es6": "1.0.0", @@ -42,8 +43,8 @@ "zone.js": "0.11.8" }, "devDependencies": { - "@alfresco/adf-cli": "6.1.0-5145838719", - "@alfresco/adf-testing": "6.1.0-5145838719", + "@alfresco/adf-cli": "6.2.0-5276452186", + "@alfresco/adf-testing": "6.2.0-5276452186", "@angular-devkit/build-angular": "14.2.11", "@angular-devkit/core": "14.1.2", "@angular-devkit/schematics": "14.1.2", @@ -118,12 +119,12 @@ "dev": true }, "node_modules/@alfresco/adf-cli": { - "version": "6.1.0-5145838719", - "resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-6.1.0-5145838719.tgz", - "integrity": "sha512-WQhJA9F1t9/NfpcyxXaF1X1ePPnaCinMvdNfhGFZFP+xfrltPUYXdrxMg09qagcW0HyvXyRS8REyJGMM3+WAnA==", + "version": "6.2.0-5276452186", + "resolved": "https://registry.npmjs.org/@alfresco/adf-cli/-/adf-cli-6.2.0-5276452186.tgz", + "integrity": "sha512-8cQon3lhfFHDbK8QcFqL2Bgz6wY/AZktq56PO2chUP/3HLBLUhcT+Mcs4sjD5CYWiWA3OdSN4tBKSiC1tKpJwg==", "dev": true, "dependencies": { - "@alfresco/js-api": "^6.1.0-0", + "@alfresco/js-api": "^6.2.0-982", "commander": "^6.2.1", "ejs": "^3.1.9", "license-checker": "^25.0.1", @@ -137,16 +138,27 @@ "adf-cli": "bin/adf-cli" } }, + "node_modules/@alfresco/adf-cli/node_modules/@alfresco/js-api": { + "version": "6.2.0-983", + "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-6.2.0-983.tgz", + "integrity": "sha512-z75YOKAfmWbirGyYA2LqmXoN9tnRpughUxefEV6EnocEnEqQAZqD18TAx27Dq2yA4mQZm9cT/IIlTvnIcruTBg==", + "dev": true, + "dependencies": { + "event-emitter": "^0.3.5", + "superagent": "^6.0.0", + "tslib": "^2.0.0" + } + }, "node_modules/@alfresco/adf-content-services": { - "version": "6.1.0-5145838719", - "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-6.1.0-5145838719.tgz", - "integrity": "sha512-Rh5w299ymmxsRXnWalNbLZh7L9CRTn8GgMR5bCqMCwP4XHLfjrx1sKxJvRNNk3M5KzpUYRbJ4TtbwMjF08dwmA==", + "version": "6.2.0-5276452186", + "resolved": "https://registry.npmjs.org/@alfresco/adf-content-services/-/adf-content-services-6.2.0-5276452186.tgz", + "integrity": "sha512-jfTQv1VaIXxp+i41gBjS7w26gGSEnugmMNhBEhPm28x1gzUVjZtnn1bHfKquMSXyd2iZliQrpUtvFxI83a8kaw==", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@alfresco/adf-core": "6.1.0-5145838719", - "@alfresco/js-api": "^6.1.0-0", + "@alfresco/adf-core": ">=6.2.0-5276452186", + "@alfresco/js-api": "^6.1.0", "@angular/animations": ">=14.1.3", "@angular/cdk": ">=14.1.2", "@angular/common": ">=14.1.3", @@ -162,9 +174,9 @@ } }, "node_modules/@alfresco/adf-core": { - "version": "6.1.0-5145838719", - "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-6.1.0-5145838719.tgz", - "integrity": "sha512-J3FaQff8VX+27cAnB/MO+CXaoSmiy9my1REv0kK1tqD7bwmq8KAi7n9D6Jh4+WEM8LeOxr6DahZoQZ+dvBA8ug==", + "version": "6.2.0-5276452186", + "resolved": "https://registry.npmjs.org/@alfresco/adf-core/-/adf-core-6.2.0-5276452186.tgz", + "integrity": "sha512-ZaZ9lZEBhbH5hzsR80SF/4dUbh5lpVrWTNOmimeQxdpV8MyCh20+epkzG1f8DzlMjKapFow01OtU8h+tneNMxw==", "dependencies": { "angular-oauth2-oidc": "^13.0.1", "angular-oauth2-oidc-jwks": "^13.0.1", @@ -172,8 +184,8 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@alfresco/adf-extensions": "6.1.0-5145838719", - "@alfresco/js-api": "^6.1.0-0", + "@alfresco/adf-extensions": ">=6.2.0-5276452186", + "@alfresco/js-api": "^6.1.0", "@angular/animations": ">=14.1.3", "@angular/cdk": ">=14.1.2", "@angular/common": ">=14.1.3", @@ -191,25 +203,25 @@ } }, "node_modules/@alfresco/adf-extensions": { - "version": "6.1.0-5145838719", - "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-6.1.0-5145838719.tgz", - "integrity": "sha512-uIt2FBGm2oXRN53Ux3bMNXTBM2vStXWxnvKLwP8yS836mepL0I4GJqB1lSLdICz2ewJQtwIOsWJ6UvibyaGaqA==", + "version": "6.2.0-5276452186", + "resolved": "https://registry.npmjs.org/@alfresco/adf-extensions/-/adf-extensions-6.2.0-5276452186.tgz", + "integrity": "sha512-0Yq0EHsPEOnv1iwkvldrmYhJ09VUvmIisn19/icnOjDWD/kXARR6gZDVYfxG6IvaiA25QzoWfQzTz1W5yX+yoQ==", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@alfresco/js-api": "^6.1.0-0", + "@alfresco/js-api": "^6.1.0", "@angular/common": ">=14.1.3", "@angular/core": ">=14.1.3" } }, "node_modules/@alfresco/adf-testing": { - "version": "6.1.0-5145838719", - "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-6.1.0-5145838719.tgz", - "integrity": "sha512-omxN/+1STiWgPPjVsbuTSO2488XQBVtDq9rsULUj5HbAIL3w1TnTbw7uAx6fTiP/oiAjZgR2bn1gKwL2XQORtA==", + "version": "6.2.0-5276452186", + "resolved": "https://registry.npmjs.org/@alfresco/adf-testing/-/adf-testing-6.2.0-5276452186.tgz", + "integrity": "sha512-wL9xZh5ihEdGNP8cTCt2pKPyy1tZ4YyXnWM5AZ+IsMKktdpV8B4mCXwnQWL7w0KGCx++DHF+zUPw4cFcBUBp5A==", "dev": true, "dependencies": { - "@alfresco/js-api": "6.1.0-952", + "@alfresco/js-api": "6.2.0-982", "@angular/compiler": "14.1.3", "@angular/core": "14.1.3", "rxjs": "6.6.6", @@ -217,13 +229,13 @@ "zone.js": "~0.11.4" }, "peerDependencies": { - "@alfresco/js-api": "^6.1.0-0" + "@alfresco/js-api": "^6.1.0" } }, "node_modules/@alfresco/adf-testing/node_modules/@alfresco/js-api": { - "version": "6.1.0-952", - "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-6.1.0-952.tgz", - "integrity": "sha512-KjS/ExJMhaQUB434fZIRLx1eJXvK2cNBSljguhW1AJ6kZOMWb9/teTnBv2Cx7h6mRfkNT7R6riXeU1ziM8dzaw==", + "version": "6.2.0-982", + "resolved": "https://registry.npmjs.org/@alfresco/js-api/-/js-api-6.2.0-982.tgz", + "integrity": "sha512-tP7/VblH0QOMAlhjzCW8n/kE9PXA2nwkPisalNVNVtvOa6jVnwMQQlVvfnCRKf+yXX7SQYBMTKbvMA9Io0gBqw==", "dev": true, "dependencies": { "event-emitter": "^0.3.5", @@ -12247,6 +12259,37 @@ "node": ">=0.10" } }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/date-fns/node_modules/@babel/runtime": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/date-fns/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, "node_modules/date-format": { "version": "4.0.14", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", diff --git a/package.json b/package.json index 5eed2b07b..f31d0ae08 100644 --- a/package.json +++ b/package.json @@ -38,11 +38,11 @@ }, "private": true, "dependencies": { - "@alfresco/adf-content-services": "6.1.0-5145838719", - "@alfresco/adf-core": "6.1.0-5145838719", - "@alfresco/adf-extensions": "6.1.0-5145838719", + "@alfresco/adf-content-services": "6.2.0-5276452186", + "@alfresco/adf-core": "6.2.0-5276452186", + "@alfresco/adf-extensions": "6.2.0-5276452186", "@alfresco/eslint-plugin-eslint-angular": "6.2.0-5201142775", - "@alfresco/js-api": "6.1.0", + "@alfresco/js-api": "^6.1.0", "@angular/animations": "14.1.3", "@angular/cdk": "14.1.3", "@angular/common": "14.1.3", @@ -61,6 +61,7 @@ "@ngrx/store": "^14.2.0", "@ngrx/store-devtools": "^14.2.0", "@ngx-translate/core": "^14.0.0", + "date-fns": "^2.30.0", "minimatch-browser": "^1.0.0", "moment": "^2.29.4", "moment-es6": "1.0.0", @@ -70,8 +71,8 @@ "zone.js": "0.11.8" }, "devDependencies": { - "@alfresco/adf-cli": "6.1.0-5145838719", - "@alfresco/adf-testing": "6.1.0-5145838719", + "@alfresco/adf-cli": "6.2.0-5276452186", + "@alfresco/adf-testing": "6.2.0-5276452186", "@angular-devkit/build-angular": "14.2.11", "@angular-devkit/core": "14.1.2", "@angular-devkit/schematics": "14.1.2", From e0a74d7fb9cf976ab5752bb189c182e9591a2305 Mon Sep 17 00:00:00 2001 From: MichalKinas <113341662+MichalKinas@users.noreply.github.com> Date: Fri, 16 Jun 2023 14:55:04 +0200 Subject: [PATCH 23/24] [ACS-4538] Make folder-rules secondary entry point of aca-content (#3181) * [ACS-4538] Make folder-rules secondary entry point of aca-content * [ACA-4538] Fix folder rules imports * [ACS-4538] Fix folder-rules unit tests * [ACS-4538] Fix package.json after folder rules transition * [ACS-4538] Remove duplicated peerDependency * [ACS-4538] Import fix --- .github/actions/publish-libs/npm-publish.sh | 1 - .../update-lib-versions.sh | 1 - .github/workflows/pull-request.yml | 1 - app/project.json | 12 +++-- app/src/app/extensions.module.ts | 2 +- .../assets/folder-rules.plugin.json | 2 +- .../folder-rules}/assets/i18n/ar.json | 0 .../folder-rules}/assets/i18n/cs.json | 0 .../folder-rules}/assets/i18n/da.json | 0 .../folder-rules}/assets/i18n/de.json | 0 .../folder-rules}/assets/i18n/en.json | 0 .../folder-rules}/assets/i18n/es.json | 0 .../folder-rules}/assets/i18n/fi.json | 0 .../folder-rules}/assets/i18n/fr.json | 0 .../folder-rules}/assets/i18n/it.json | 0 .../folder-rules}/assets/i18n/ja.json | 0 .../folder-rules}/assets/i18n/nb.json | 0 .../folder-rules}/assets/i18n/nl.json | 0 .../folder-rules}/assets/i18n/pl.json | 0 .../folder-rules}/assets/i18n/pt-BR.json | 0 .../folder-rules}/assets/i18n/ru.json | 0 .../folder-rules}/assets/i18n/sv.json | 0 .../folder-rules}/assets/i18n/zh-CN.json | 0 .../aca-content/folder-rules/ng-package.json | 5 ++ .../folder-rules/src}/folder-rules.module.ts | 2 +- .../src}/folder-rules.rules.spec.ts | 0 .../folder-rules/src}/folder-rules.rules.ts | 0 .../manage-rules.smart-component.html | 0 .../manage-rules.smart-component.scss | 2 +- .../manage-rules.smart-component.spec.ts | 19 ++++++- .../manage-rules.smart-component.ts | 0 .../mock/action-parameter-constraints.mock.ts | 0 .../folder-rules/src}/mock/actions.mock.ts | 0 .../folder-rules/src}/mock/conditions.mock.ts | 0 .../folder-rules/src}/mock/node.mock.ts | 0 .../folder-rules/src}/mock/rule-sets.mock.ts | 0 .../folder-rules/src}/mock/rules.mock.ts | 0 .../action-parameter-constraint.model.ts | 0 .../src}/model/rule-action.model.ts | 0 .../model/rule-composite-condition.model.ts | 0 .../src}/model/rule-grouping-item.model.ts | 0 .../folder-rules/src}/model/rule-set.model.ts | 0 .../src}/model/rule-simple-condition.model.ts | 0 .../folder-rules/src}/model/rule.model.ts | 0 .../folder-rules}/src/public-api.ts | 4 +- .../rule-action-list.ui-component.html | 0 .../rule-action-list.ui-component.scss | 0 .../rule-action-list.ui-component.spec.ts | 0 .../actions/rule-action-list.ui-component.ts | 0 .../actions/rule-action.ui-component.html | 0 .../actions/rule-action.ui-component.scss | 0 .../actions/rule-action.ui-component.spec.ts | 0 .../actions/rule-action.ui-component.ts | 0 ...rule-composite-condition.ui-component.html | 0 ...rule-composite-condition.ui-component.scss | 0 ...e-composite-condition.ui-component.spec.ts | 0 .../rule-composite-condition.ui-component.ts | 0 .../conditions/rule-condition-comparators.ts | 0 .../conditions/rule-condition-fields.ts | 0 .../conditions/rule-mime-types.ts | 0 .../rule-simple-condition.ui-component.html | 0 .../rule-simple-condition.ui-component.scss | 0 ...rule-simple-condition.ui-component.spec.ts | 0 .../rule-simple-condition.ui-component.ts | 0 .../edit-rule-dialog.smart-component.spec.ts | 0 .../edit-rule-dialog.ui-component.html | 0 .../edit-rule-dialog.ui-component.scss | 2 +- .../edit-rule-dialog.ui-component.ts | 0 .../options/rule-options.ui-component.html | 0 .../options/rule-options.ui-component.scss | 0 .../options/rule-options.ui-component.spec.ts | 0 .../options/rule-options.ui-component.ts | 0 .../rule-details.ui-component.html | 0 .../rule-details.ui-component.scss | 12 +++-- .../rule-details.ui-component.spec.ts | 0 .../rule-details/rule-details.ui-component.ts | 0 .../triggers/rule-triggers.ui-component.html | 0 .../rule-triggers.ui-component.spec.ts | 0 .../triggers/rule-triggers.ui-component.ts | 0 .../validators/rule-actions.validator.spec.ts | 0 .../validators/rule-actions.validator.ts | 0 .../rule-composite-condition.validator.ts | 0 .../rule-list-grouping.ui-component.html | 0 .../rule-list-grouping.ui-component.scss | 0 .../rule-list-grouping.ui-component.spec.ts | 2 +- .../rule-list-grouping.ui-component.ts | 0 .../rule-list-item.ui-component.html | 0 .../rule-list-item.ui-component.scss | 0 .../rule-list-item.ui-component.ts | 0 .../rule-list/rule-list.ui-component.html | 0 .../rule-list/rule-list.ui-component.scss | 0 .../rule-list/rule-list.ui-component.spec.ts | 0 .../rule-list/rule-list.ui-component.ts | 0 .../rule-set-picker.smart-component.html | 0 .../rule-set-picker.smart-component.scss | 0 .../rule-set-picker.smart-component.spec.ts | 33 ++++++++++-- .../rule-set-picker.smart-component.ts | 0 .../src}/services/actions.service.spec.ts | 0 .../src}/services/actions.service.ts | 0 .../services/folder-rule-sets.service.spec.ts | 0 .../src}/services/folder-rule-sets.service.ts | 0 .../services/folder-rules.service.spec.ts | 0 .../src}/services/folder-rules.service.ts | 0 projects/aca-content/ng-package.json | 1 + projects/aca-content/package.json | 13 ++++- .../aca-content/src/lib/aca-content.module.ts | 2 +- .../aca-content/src/lib/aca-content.routes.ts | 2 +- projects/aca-content/tsconfig.lib.json | 19 ++++++- projects/aca-content/tsconfig.lib.prod.json | 1 - projects/aca-folder-rules/.eslintrc.js | 23 -------- projects/aca-folder-rules/README.md | 9 ---- projects/aca-folder-rules/karma.conf.js | 15 ------ projects/aca-folder-rules/ng-package.json | 10 ---- projects/aca-folder-rules/package.json | 31 ----------- projects/aca-folder-rules/project.json | 54 ------------------- projects/aca-folder-rules/src/test.ts | 48 ----------------- projects/aca-folder-rules/tsconfig.lib.json | 25 --------- .../aca-folder-rules/tsconfig.lib.prod.json | 15 ------ .../aca-folder-rules/tsconfig.spec.adf.json | 16 ------ projects/aca-folder-rules/tsconfig.spec.json | 17 ------ tsconfig.adf.json | 4 +- tsconfig.json | 2 +- 122 files changed, 111 insertions(+), 296 deletions(-) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/folder-rules.plugin.json (97%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/ar.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/cs.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/da.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/de.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/en.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/es.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/fi.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/fr.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/it.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/ja.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/nb.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/nl.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/pl.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/pt-BR.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/ru.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/sv.json (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/assets/i18n/zh-CN.json (100%) create mode 100644 projects/aca-content/folder-rules/ng-package.json rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/folder-rules.module.ts (97%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/folder-rules.rules.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/folder-rules.rules.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/manage-rules/manage-rules.smart-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/manage-rules/manage-rules.smart-component.scss (97%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/manage-rules/manage-rules.smart-component.spec.ts (92%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/manage-rules/manage-rules.smart-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/mock/action-parameter-constraints.mock.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/mock/actions.mock.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/mock/conditions.mock.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/mock/node.mock.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/mock/rule-sets.mock.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/mock/rules.mock.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/model/action-parameter-constraint.model.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/model/rule-action.model.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/model/rule-composite-condition.model.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/model/rule-grouping-item.model.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/model/rule-set.model.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/model/rule-simple-condition.model.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/model/rule.model.ts (100%) rename projects/{aca-folder-rules => aca-content/folder-rules}/src/public-api.ts (89%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/actions/rule-action-list.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/actions/rule-action-list.ui-component.scss (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/actions/rule-action-list.ui-component.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/actions/rule-action-list.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/actions/rule-action.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/actions/rule-action.ui-component.scss (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/actions/rule-action.ui-component.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/actions/rule-action.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-composite-condition.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-composite-condition.ui-component.scss (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-composite-condition.ui-component.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-composite-condition.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-condition-comparators.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-condition-fields.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-mime-types.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-simple-condition.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-simple-condition.ui-component.scss (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-simple-condition.ui-component.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/conditions/rule-simple-condition.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/edit-rule-dialog.smart-component.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/edit-rule-dialog.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/edit-rule-dialog.ui-component.scss (97%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/edit-rule-dialog.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/options/rule-options.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/options/rule-options.ui-component.scss (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/options/rule-options.ui-component.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/options/rule-options.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/rule-details.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/rule-details.ui-component.scss (86%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/rule-details.ui-component.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/rule-details.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/triggers/rule-triggers.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/triggers/rule-triggers.ui-component.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/triggers/rule-triggers.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/validators/rule-actions.validator.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/validators/rule-actions.validator.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-details/validators/rule-composite-condition.validator.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list-grouping/rule-list-grouping.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list-grouping/rule-list-grouping.ui-component.scss (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts (97%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list-grouping/rule-list-grouping.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list-item/rule-list-item.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list-item/rule-list-item.ui-component.scss (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list-item/rule-list-item.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list/rule-list.ui-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list/rule-list.ui-component.scss (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list/rule-list.ui-component.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-list/rule-list/rule-list.ui-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-set-picker/rule-set-picker.smart-component.html (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-set-picker/rule-set-picker.smart-component.scss (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-set-picker/rule-set-picker.smart-component.spec.ts (77%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/rule-set-picker/rule-set-picker.smart-component.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/services/actions.service.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/services/actions.service.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/services/folder-rule-sets.service.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/services/folder-rule-sets.service.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/services/folder-rules.service.spec.ts (100%) rename projects/{aca-folder-rules/src/lib => aca-content/folder-rules/src}/services/folder-rules.service.ts (100%) delete mode 100644 projects/aca-folder-rules/.eslintrc.js delete mode 100644 projects/aca-folder-rules/README.md delete mode 100644 projects/aca-folder-rules/karma.conf.js delete mode 100644 projects/aca-folder-rules/ng-package.json delete mode 100644 projects/aca-folder-rules/package.json delete mode 100644 projects/aca-folder-rules/project.json delete mode 100644 projects/aca-folder-rules/src/test.ts delete mode 100644 projects/aca-folder-rules/tsconfig.lib.json delete mode 100644 projects/aca-folder-rules/tsconfig.lib.prod.json delete mode 100644 projects/aca-folder-rules/tsconfig.spec.adf.json delete mode 100644 projects/aca-folder-rules/tsconfig.spec.json diff --git a/.github/actions/publish-libs/npm-publish.sh b/.github/actions/publish-libs/npm-publish.sh index 65627e1ad..49b97a232 100755 --- a/.github/actions/publish-libs/npm-publish.sh +++ b/.github/actions/publish-libs/npm-publish.sh @@ -12,7 +12,6 @@ fi export PROJECTS=( 'aca-content' - 'aca-folder-rules' 'aca-preview' 'aca-shared' 'aca-viewer' diff --git a/.github/actions/update-library-versions/update-lib-versions.sh b/.github/actions/update-library-versions/update-lib-versions.sh index b570e6036..5b983fabc 100755 --- a/.github/actions/update-library-versions/update-lib-versions.sh +++ b/.github/actions/update-library-versions/update-lib-versions.sh @@ -11,7 +11,6 @@ fi export PROJECTS=( 'aca-content' - 'aca-folder-rules' 'aca-preview' 'aca-shared' 'aca-viewer' diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 4b65f5bea..5a81c3415 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -96,7 +96,6 @@ jobs: unit-tests: - name: "aca-content" - name: "aca-shared" - - name: "aca-folder-rules" - name: "aca-preview" steps: - name: Checkout diff --git a/app/project.json b/app/project.json index a19f1e575..e5471f111 100644 --- a/app/project.json +++ b/app/project.json @@ -79,13 +79,13 @@ }, { "glob": "folder-rules.plugin.json", - "input": "projects/aca-folder-rules/assets", + "input": "projects/aca-content/folder-rules/assets", "output": "./assets/plugins" }, { "glob": "**/*", - "input": "projects/aca-folder-rules/assets", - "output": "./assets/aca-folder-rules" + "input": "projects/aca-content/folder-rules/assets", + "output": "./assets/folder-rules" }, { "glob": "**/*", @@ -253,7 +253,11 @@ "assets": [ "app/src/assets", "app/src/favicon-96x96.png", - "projects/aca-content/assets", + { + "glob": "**/*", + "input": "projects/aca-content/assets", + "output": "/assets" + }, { "input": "app/.tmp", "output": "/", diff --git a/app/src/app/extensions.module.ts b/app/src/app/extensions.module.ts index 9f63703f9..7c08b6c7d 100644 --- a/app/src/app/extensions.module.ts +++ b/app/src/app/extensions.module.ts @@ -23,9 +23,9 @@ */ import { NgModule } from '@angular/core'; +import { AcaFolderRulesModule } from '@alfresco/aca-content/folder-rules'; import { AosExtensionModule } from '@alfresco/aca-content/ms-office'; import { AcaAboutModule, DEV_MODE_TOKEN, PACKAGE_JSON } from '@alfresco/aca-content/about'; -import { AcaFolderRulesModule } from '@alfresco/aca-folder-rules'; import { environment } from '../environments/environment'; import packageJson from 'package.json'; diff --git a/projects/aca-folder-rules/assets/folder-rules.plugin.json b/projects/aca-content/folder-rules/assets/folder-rules.plugin.json similarity index 97% rename from projects/aca-folder-rules/assets/folder-rules.plugin.json rename to projects/aca-content/folder-rules/assets/folder-rules.plugin.json index a3845283a..c653eedbb 100644 --- a/projects/aca-folder-rules/assets/folder-rules.plugin.json +++ b/projects/aca-content/folder-rules/assets/folder-rules.plugin.json @@ -1,5 +1,5 @@ { - "$schema": "../../../extension.schema.json", + "$schema": "../../../../extension.schema.json", "$id": "0455ca6c-cc7a-43ae-bbf7-35795413d2dd", "$name": "Folder Rules Plugin", "$version": "0.0.1", diff --git a/projects/aca-folder-rules/assets/i18n/ar.json b/projects/aca-content/folder-rules/assets/i18n/ar.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/ar.json rename to projects/aca-content/folder-rules/assets/i18n/ar.json diff --git a/projects/aca-folder-rules/assets/i18n/cs.json b/projects/aca-content/folder-rules/assets/i18n/cs.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/cs.json rename to projects/aca-content/folder-rules/assets/i18n/cs.json diff --git a/projects/aca-folder-rules/assets/i18n/da.json b/projects/aca-content/folder-rules/assets/i18n/da.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/da.json rename to projects/aca-content/folder-rules/assets/i18n/da.json diff --git a/projects/aca-folder-rules/assets/i18n/de.json b/projects/aca-content/folder-rules/assets/i18n/de.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/de.json rename to projects/aca-content/folder-rules/assets/i18n/de.json diff --git a/projects/aca-folder-rules/assets/i18n/en.json b/projects/aca-content/folder-rules/assets/i18n/en.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/en.json rename to projects/aca-content/folder-rules/assets/i18n/en.json diff --git a/projects/aca-folder-rules/assets/i18n/es.json b/projects/aca-content/folder-rules/assets/i18n/es.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/es.json rename to projects/aca-content/folder-rules/assets/i18n/es.json diff --git a/projects/aca-folder-rules/assets/i18n/fi.json b/projects/aca-content/folder-rules/assets/i18n/fi.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/fi.json rename to projects/aca-content/folder-rules/assets/i18n/fi.json diff --git a/projects/aca-folder-rules/assets/i18n/fr.json b/projects/aca-content/folder-rules/assets/i18n/fr.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/fr.json rename to projects/aca-content/folder-rules/assets/i18n/fr.json diff --git a/projects/aca-folder-rules/assets/i18n/it.json b/projects/aca-content/folder-rules/assets/i18n/it.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/it.json rename to projects/aca-content/folder-rules/assets/i18n/it.json diff --git a/projects/aca-folder-rules/assets/i18n/ja.json b/projects/aca-content/folder-rules/assets/i18n/ja.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/ja.json rename to projects/aca-content/folder-rules/assets/i18n/ja.json diff --git a/projects/aca-folder-rules/assets/i18n/nb.json b/projects/aca-content/folder-rules/assets/i18n/nb.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/nb.json rename to projects/aca-content/folder-rules/assets/i18n/nb.json diff --git a/projects/aca-folder-rules/assets/i18n/nl.json b/projects/aca-content/folder-rules/assets/i18n/nl.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/nl.json rename to projects/aca-content/folder-rules/assets/i18n/nl.json diff --git a/projects/aca-folder-rules/assets/i18n/pl.json b/projects/aca-content/folder-rules/assets/i18n/pl.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/pl.json rename to projects/aca-content/folder-rules/assets/i18n/pl.json diff --git a/projects/aca-folder-rules/assets/i18n/pt-BR.json b/projects/aca-content/folder-rules/assets/i18n/pt-BR.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/pt-BR.json rename to projects/aca-content/folder-rules/assets/i18n/pt-BR.json diff --git a/projects/aca-folder-rules/assets/i18n/ru.json b/projects/aca-content/folder-rules/assets/i18n/ru.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/ru.json rename to projects/aca-content/folder-rules/assets/i18n/ru.json diff --git a/projects/aca-folder-rules/assets/i18n/sv.json b/projects/aca-content/folder-rules/assets/i18n/sv.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/sv.json rename to projects/aca-content/folder-rules/assets/i18n/sv.json diff --git a/projects/aca-folder-rules/assets/i18n/zh-CN.json b/projects/aca-content/folder-rules/assets/i18n/zh-CN.json similarity index 100% rename from projects/aca-folder-rules/assets/i18n/zh-CN.json rename to projects/aca-content/folder-rules/assets/i18n/zh-CN.json diff --git a/projects/aca-content/folder-rules/ng-package.json b/projects/aca-content/folder-rules/ng-package.json new file mode 100644 index 000000000..fbafcc444 --- /dev/null +++ b/projects/aca-content/folder-rules/ng-package.json @@ -0,0 +1,5 @@ +{ + "lib": { + "entryFile": "src/public-api.ts" + } +} diff --git a/projects/aca-folder-rules/src/lib/folder-rules.module.ts b/projects/aca-content/folder-rules/src/folder-rules.module.ts similarity index 97% rename from projects/aca-folder-rules/src/lib/folder-rules.module.ts rename to projects/aca-content/folder-rules/src/folder-rules.module.ts index 6d17ea720..d888af542 100644 --- a/projects/aca-folder-rules/src/lib/folder-rules.module.ts +++ b/projects/aca-content/folder-rules/src/folder-rules.module.ts @@ -82,7 +82,7 @@ const routes: Routes = [ }) export class AcaFolderRulesModule { constructor(translation: TranslationService, extensions: ExtensionService) { - translation.addTranslationFolder('aca-folder-rules', 'assets/aca-folder-rules'); + translation.addTranslationFolder('folder-rules', 'assets/folder-rules'); extensions.setEvaluators({ 'rules.canManageFolderRules': rules.canManageFolderRules diff --git a/projects/aca-folder-rules/src/lib/folder-rules.rules.spec.ts b/projects/aca-content/folder-rules/src/folder-rules.rules.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/folder-rules.rules.spec.ts rename to projects/aca-content/folder-rules/src/folder-rules.rules.spec.ts diff --git a/projects/aca-folder-rules/src/lib/folder-rules.rules.ts b/projects/aca-content/folder-rules/src/folder-rules.rules.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/folder-rules.rules.ts rename to projects/aca-content/folder-rules/src/folder-rules.rules.ts diff --git a/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.html b/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.html rename to projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.html diff --git a/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.scss b/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.scss similarity index 97% rename from projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.scss rename to projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.scss index 20037426d..8e3c941e9 100644 --- a/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.scss +++ b/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.scss @@ -34,7 +34,7 @@ &__container { display: grid; - grid-template-columns: minmax(250px,1fr) 3fr; + grid-template-columns: minmax(250px, 1fr) 3fr; padding: 20px; gap: 12px; overflow-y: auto; diff --git a/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.spec.ts b/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.spec.ts similarity index 92% rename from projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.spec.ts rename to projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.spec.ts index 14593c884..00c14cbd6 100644 --- a/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.spec.ts +++ b/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.spec.ts @@ -23,7 +23,8 @@ */ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { AcaFolderRulesModule, ManageRulesSmartComponent } from '@alfresco/aca-folder-rules'; +import { AcaFolderRulesModule } from '../folder-rules.module'; +import { ManageRulesSmartComponent } from './manage-rules.smart-component'; import { DebugElement, Predicate } from '@angular/core'; import { CoreTestingModule } from '@alfresco/adf-core'; import { FolderRulesService } from '../services/folder-rules.service'; @@ -37,7 +38,7 @@ import { ruleSetWithLinkMock } from '../mock/rule-sets.mock'; import { By } from '@angular/platform-browser'; -import { owningFolderIdMock, owningFolderMock } from '../mock/node.mock'; +import { getOwningFolderEntryMock, owningFolderIdMock, owningFolderMock } from '../mock/node.mock'; import { MatDialog } from '@angular/material/dialog'; import { ActionsService } from '../services/actions.service'; import { FolderRuleSetsService } from '../services/folder-rule-sets.service'; @@ -53,6 +54,7 @@ describe('ManageRulesSmartComponent', () => { let folderRuleSetsService: FolderRuleSetsService; let folderRulesService: FolderRulesService; let actionsService: ActionsService; + let callApiSpy: jasmine.Spy; beforeEach(() => { TestBed.configureTestingModule({ @@ -81,6 +83,19 @@ describe('ManageRulesSmartComponent', () => { actionsService = TestBed.inject(ActionsService); spyOn(actionsService, 'loadActionDefinitions').and.stub(); + spyOn(folderRulesService, 'getRuleSettings').and.returnValue(Promise.resolve(ruleSettingsMock)); + callApiSpy = spyOn(folderRuleSetsService, 'callApi'); + callApiSpy + .withArgs(`/nodes/${owningFolderIdMock}/rule-sets?include=isLinkedTo,owningFolder,linkedToBy&skipCount=0&maxItems=100`, 'GET') + .and.returnValue(Promise.resolve(ownedRuleSetMock)) + .withArgs(`/nodes/${owningFolderIdMock}/rule-sets/-default-?include=isLinkedTo,owningFolder,linkedToBy`, 'GET') + .and.returnValue(Promise.resolve(ownedRuleSetMock)) + .withArgs(`/nodes/${owningFolderIdMock}?include=path%2Cproperties%2CallowableOperations%2Cpermissions`, 'GET') + .and.returnValue(Promise.resolve(getOwningFolderEntryMock)); + }); + + afterEach(() => { + fixture.destroy(); }); it('should show a list of rule sets and rules', () => { diff --git a/projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.ts b/projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/manage-rules/manage-rules.smart-component.ts rename to projects/aca-content/folder-rules/src/manage-rules/manage-rules.smart-component.ts diff --git a/projects/aca-folder-rules/src/lib/mock/action-parameter-constraints.mock.ts b/projects/aca-content/folder-rules/src/mock/action-parameter-constraints.mock.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/mock/action-parameter-constraints.mock.ts rename to projects/aca-content/folder-rules/src/mock/action-parameter-constraints.mock.ts diff --git a/projects/aca-folder-rules/src/lib/mock/actions.mock.ts b/projects/aca-content/folder-rules/src/mock/actions.mock.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/mock/actions.mock.ts rename to projects/aca-content/folder-rules/src/mock/actions.mock.ts diff --git a/projects/aca-folder-rules/src/lib/mock/conditions.mock.ts b/projects/aca-content/folder-rules/src/mock/conditions.mock.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/mock/conditions.mock.ts rename to projects/aca-content/folder-rules/src/mock/conditions.mock.ts diff --git a/projects/aca-folder-rules/src/lib/mock/node.mock.ts b/projects/aca-content/folder-rules/src/mock/node.mock.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/mock/node.mock.ts rename to projects/aca-content/folder-rules/src/mock/node.mock.ts diff --git a/projects/aca-folder-rules/src/lib/mock/rule-sets.mock.ts b/projects/aca-content/folder-rules/src/mock/rule-sets.mock.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/mock/rule-sets.mock.ts rename to projects/aca-content/folder-rules/src/mock/rule-sets.mock.ts diff --git a/projects/aca-folder-rules/src/lib/mock/rules.mock.ts b/projects/aca-content/folder-rules/src/mock/rules.mock.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/mock/rules.mock.ts rename to projects/aca-content/folder-rules/src/mock/rules.mock.ts diff --git a/projects/aca-folder-rules/src/lib/model/action-parameter-constraint.model.ts b/projects/aca-content/folder-rules/src/model/action-parameter-constraint.model.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/model/action-parameter-constraint.model.ts rename to projects/aca-content/folder-rules/src/model/action-parameter-constraint.model.ts diff --git a/projects/aca-folder-rules/src/lib/model/rule-action.model.ts b/projects/aca-content/folder-rules/src/model/rule-action.model.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/model/rule-action.model.ts rename to projects/aca-content/folder-rules/src/model/rule-action.model.ts diff --git a/projects/aca-folder-rules/src/lib/model/rule-composite-condition.model.ts b/projects/aca-content/folder-rules/src/model/rule-composite-condition.model.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/model/rule-composite-condition.model.ts rename to projects/aca-content/folder-rules/src/model/rule-composite-condition.model.ts diff --git a/projects/aca-folder-rules/src/lib/model/rule-grouping-item.model.ts b/projects/aca-content/folder-rules/src/model/rule-grouping-item.model.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/model/rule-grouping-item.model.ts rename to projects/aca-content/folder-rules/src/model/rule-grouping-item.model.ts diff --git a/projects/aca-folder-rules/src/lib/model/rule-set.model.ts b/projects/aca-content/folder-rules/src/model/rule-set.model.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/model/rule-set.model.ts rename to projects/aca-content/folder-rules/src/model/rule-set.model.ts diff --git a/projects/aca-folder-rules/src/lib/model/rule-simple-condition.model.ts b/projects/aca-content/folder-rules/src/model/rule-simple-condition.model.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/model/rule-simple-condition.model.ts rename to projects/aca-content/folder-rules/src/model/rule-simple-condition.model.ts diff --git a/projects/aca-folder-rules/src/lib/model/rule.model.ts b/projects/aca-content/folder-rules/src/model/rule.model.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/model/rule.model.ts rename to projects/aca-content/folder-rules/src/model/rule.model.ts diff --git a/projects/aca-folder-rules/src/public-api.ts b/projects/aca-content/folder-rules/src/public-api.ts similarity index 89% rename from projects/aca-folder-rules/src/public-api.ts rename to projects/aca-content/folder-rules/src/public-api.ts index 0a9f4273f..1db452bcf 100644 --- a/projects/aca-folder-rules/src/public-api.ts +++ b/projects/aca-content/folder-rules/src/public-api.ts @@ -22,5 +22,5 @@ * from Hyland Software. If not, see . */ -export * from './lib/folder-rules.module'; -export { ManageRulesSmartComponent } from './lib/manage-rules/manage-rules.smart-component'; +export * from './folder-rules.module'; +export { ManageRulesSmartComponent } from './manage-rules/manage-rules.smart-component'; diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.html b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.html rename to projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.scss b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.scss similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.scss rename to projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.scss diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.spec.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/actions/rule-action-list.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-details/actions/rule-action-list.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.html b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.html rename to projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.scss b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.scss similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.scss rename to projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.scss diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.spec.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/actions/rule-action.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-details/actions/rule-action.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.html b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.html rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.scss b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.scss similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.scss rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.scss diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.spec.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-composite-condition.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-composite-condition.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-condition-comparators.ts b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-condition-comparators.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-condition-comparators.ts rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-condition-comparators.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-condition-fields.ts b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-condition-fields.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-condition-fields.ts rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-condition-fields.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-mime-types.ts b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-mime-types.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-mime-types.ts rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-mime-types.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-simple-condition.ui-component.html b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-simple-condition.ui-component.html rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-simple-condition.ui-component.scss b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.scss similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-simple-condition.ui-component.scss rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.scss diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-simple-condition.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-simple-condition.ui-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.spec.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/conditions/rule-simple-condition.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/conditions/rule-simple-condition.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-details/conditions/rule-simple-condition.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.smart-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.smart-component.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.smart-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.smart-component.spec.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.html b/projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.html rename to projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.scss b/projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.scss similarity index 97% rename from projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.scss rename to projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.scss index 34344e4f8..a24044e64 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.scss +++ b/projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.scss @@ -36,7 +36,7 @@ display: flex; align-items: center; justify-content: center; - margin: 20px 0 + margin: 20px 0; } } diff --git a/projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/edit-rule-dialog.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-details/edit-rule-dialog.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.html b/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.html rename to projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.scss b/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.scss similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.scss rename to projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.scss diff --git a/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.spec.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/options/rule-options.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-details/options/rule-options.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.html b/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.html rename to projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.scss b/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.scss similarity index 86% rename from projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.scss rename to projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.scss index 752a92aea..0661eaca3 100644 --- a/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.scss +++ b/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.scss @@ -24,7 +24,8 @@ align-items: baseline; gap: 8px; - & > label, & > .label { + & > label, + & > .label { font-weight: bold; width: 20%; min-width: 100px; @@ -75,12 +76,15 @@ } } - &.read-only, .mat-form-field-disabled { - .mat-form-field-underline, .mat-select-arrow-wrapper { + &.read-only, + .mat-form-field-disabled { + .mat-form-field-underline, + .mat-select-arrow-wrapper { display: none; } - *:disabled, .mat-select-disabled .mat-select-value { + *:disabled, + .mat-select-disabled .mat-select-value { color: inherit; } } diff --git a/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.spec.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/rule-details.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-details/rule-details.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.html b/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.html rename to projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.spec.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.ts b/projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/triggers/rule-triggers.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-details/triggers/rule-triggers.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/validators/rule-actions.validator.spec.ts b/projects/aca-content/folder-rules/src/rule-details/validators/rule-actions.validator.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/validators/rule-actions.validator.spec.ts rename to projects/aca-content/folder-rules/src/rule-details/validators/rule-actions.validator.spec.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/validators/rule-actions.validator.ts b/projects/aca-content/folder-rules/src/rule-details/validators/rule-actions.validator.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/validators/rule-actions.validator.ts rename to projects/aca-content/folder-rules/src/rule-details/validators/rule-actions.validator.ts diff --git a/projects/aca-folder-rules/src/lib/rule-details/validators/rule-composite-condition.validator.ts b/projects/aca-content/folder-rules/src/rule-details/validators/rule-composite-condition.validator.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-details/validators/rule-composite-condition.validator.ts rename to projects/aca-content/folder-rules/src/rule-details/validators/rule-composite-condition.validator.ts diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.html b/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.html rename to projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.scss b/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.scss similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.scss rename to projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.scss diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts similarity index 97% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts index 4f8d42d85..49969c4d7 100644 --- a/projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.spec.ts @@ -28,7 +28,7 @@ import { ruleListGroupingItemsMock, rulesMock } from '../../mock/rules.mock'; import { DebugElement } from '@angular/core'; import { By } from '@angular/platform-browser'; import { CoreTestingModule } from '@alfresco/adf-core'; -import { AcaFolderRulesModule } from '@alfresco/aca-folder-rules'; +import { AcaFolderRulesModule } from '../../folder-rules.module'; describe('RuleListGroupingUiComponent', () => { let component: RuleListGroupingUiComponent; diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.ts b/projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list-grouping/rule-list-grouping.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-list/rule-list-grouping/rule-list-grouping.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list-item/rule-list-item.ui-component.html b/projects/aca-content/folder-rules/src/rule-list/rule-list-item/rule-list-item.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list-item/rule-list-item.ui-component.html rename to projects/aca-content/folder-rules/src/rule-list/rule-list-item/rule-list-item.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list-item/rule-list-item.ui-component.scss b/projects/aca-content/folder-rules/src/rule-list/rule-list-item/rule-list-item.ui-component.scss similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list-item/rule-list-item.ui-component.scss rename to projects/aca-content/folder-rules/src/rule-list/rule-list-item/rule-list-item.ui-component.scss diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list-item/rule-list-item.ui-component.ts b/projects/aca-content/folder-rules/src/rule-list/rule-list-item/rule-list-item.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list-item/rule-list-item.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-list/rule-list-item/rule-list-item.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list/rule-list.ui-component.html b/projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list/rule-list.ui-component.html rename to projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list/rule-list.ui-component.scss b/projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.scss similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list/rule-list.ui-component.scss rename to projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.scss diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list/rule-list.ui-component.spec.ts b/projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list/rule-list.ui-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.spec.ts diff --git a/projects/aca-folder-rules/src/lib/rule-list/rule-list/rule-list.ui-component.ts b/projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-list/rule-list/rule-list.ui-component.ts rename to projects/aca-content/folder-rules/src/rule-list/rule-list/rule-list.ui-component.ts diff --git a/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.html b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.html similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.html rename to projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.html diff --git a/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.scss b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.scss similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.scss rename to projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.scss diff --git a/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.spec.ts b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts similarity index 77% rename from projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.spec.ts rename to projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts index 1c441657a..25432fd1d 100644 --- a/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.spec.ts +++ b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.spec.ts @@ -25,11 +25,12 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { RuleSetPickerOptions, RuleSetPickerSmartComponent } from './rule-set-picker.smart-component'; import { CoreTestingModule } from '@alfresco/adf-core'; -import { folderToLinkMock } from '../mock/node.mock'; +import { folderToLinkMock, otherFolderMock } from '../mock/node.mock'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { FolderRuleSetsService } from '../services/folder-rule-sets.service'; import { of } from 'rxjs'; -import { ruleSetWithLinkMock, ruleSetWithNoRulesToLinkMock, ruleSetWithOwnedRulesToLinkMock } from '../mock/rule-sets.mock'; +import { ownedRuleSetMock, ruleSetWithLinkMock, ruleSetWithNoRulesToLinkMock, ruleSetWithOwnedRulesToLinkMock } from '../mock/rule-sets.mock'; +import { ContentApiService } from '@alfresco/aca-shared'; import { By } from '@angular/platform-browser'; describe('RuleSetPickerSmartComponent', () => { @@ -38,6 +39,7 @@ describe('RuleSetPickerSmartComponent', () => { let folderRuleSetsService: FolderRuleSetsService; let loadRuleSetsSpy: jasmine.Spy; + let callApiSpy: jasmine.Spy; const dialogRef = { close: jasmine.createSpy('close'), @@ -54,7 +56,18 @@ describe('RuleSetPickerSmartComponent', () => { imports: [CoreTestingModule], providers: [ { provide: MatDialogRef, useValue: dialogRef }, - { provide: MAT_DIALOG_DATA, useValue: dialogOptions } + { provide: MAT_DIALOG_DATA, useValue: dialogOptions }, + { + provide: ContentApiService, + useValue: { + getNode: () => { + return of({ entry: folderToLinkMock }); + }, + getNodeInfo: () => { + return of(otherFolderMock); + } + } + } ] }); @@ -63,7 +76,19 @@ describe('RuleSetPickerSmartComponent', () => { component = fixture.componentInstance; component['folderRuleSetsService'] = folderRuleSetsService; - loadRuleSetsSpy = spyOn(folderRuleSetsService, 'loadRuleSets'); + loadRuleSetsSpy = spyOn(folderRuleSetsService, 'loadRuleSets').and.callThrough(); + callApiSpy = spyOn(folderRuleSetsService, 'callApi'); + callApiSpy + .withArgs(`/nodes/${dialogOptions.nodeId}/rule-sets?include=isLinkedTo,owningFolder,linkedToBy&skipCount=0&maxItems=100`, 'GET') + .and.returnValue(Promise.resolve(ownedRuleSetMock)) + .withArgs(`/nodes/${dialogOptions.nodeId}/rule-sets/-default-?include=isLinkedTo,owningFolder,linkedToBy`, 'GET') + .and.returnValue(Promise.resolve(ownedRuleSetMock)) + .withArgs(`/nodes/${folderToLinkMock.id}?include=path%2Cproperties%2CallowableOperations%2Cpermissions`, 'GET') + .and.returnValue(Promise.resolve({ entry: folderToLinkMock })); + }); + + afterEach(() => { + fixture.destroy(); }); it('should load the rule sets of a node once it has been selected', () => { diff --git a/projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.ts b/projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/rule-set-picker/rule-set-picker.smart-component.ts rename to projects/aca-content/folder-rules/src/rule-set-picker/rule-set-picker.smart-component.ts diff --git a/projects/aca-folder-rules/src/lib/services/actions.service.spec.ts b/projects/aca-content/folder-rules/src/services/actions.service.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/services/actions.service.spec.ts rename to projects/aca-content/folder-rules/src/services/actions.service.spec.ts diff --git a/projects/aca-folder-rules/src/lib/services/actions.service.ts b/projects/aca-content/folder-rules/src/services/actions.service.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/services/actions.service.ts rename to projects/aca-content/folder-rules/src/services/actions.service.ts diff --git a/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.spec.ts b/projects/aca-content/folder-rules/src/services/folder-rule-sets.service.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.spec.ts rename to projects/aca-content/folder-rules/src/services/folder-rule-sets.service.spec.ts diff --git a/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.ts b/projects/aca-content/folder-rules/src/services/folder-rule-sets.service.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.ts rename to projects/aca-content/folder-rules/src/services/folder-rule-sets.service.ts diff --git a/projects/aca-folder-rules/src/lib/services/folder-rules.service.spec.ts b/projects/aca-content/folder-rules/src/services/folder-rules.service.spec.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/services/folder-rules.service.spec.ts rename to projects/aca-content/folder-rules/src/services/folder-rules.service.spec.ts diff --git a/projects/aca-folder-rules/src/lib/services/folder-rules.service.ts b/projects/aca-content/folder-rules/src/services/folder-rules.service.ts similarity index 100% rename from projects/aca-folder-rules/src/lib/services/folder-rules.service.ts rename to projects/aca-content/folder-rules/src/services/folder-rules.service.ts diff --git a/projects/aca-content/ng-package.json b/projects/aca-content/ng-package.json index 893f210ec..ddb6ac172 100644 --- a/projects/aca-content/ng-package.json +++ b/projects/aca-content/ng-package.json @@ -11,6 +11,7 @@ "input": "./src/lib/ui/", "output": "ui" }, + "folder-rules/assets", "about/assets", "ms-office/assets", "assets" diff --git a/projects/aca-content/package.json b/projects/aca-content/package.json index eabdddfc8..989d48169 100644 --- a/projects/aca-content/package.json +++ b/projects/aca-content/package.json @@ -4,7 +4,18 @@ "license": "LGPL-3.0", "peerDependencies": { "@angular/common": "^14.1.0", - "@angular/core": "^14.1.0" + "@angular/core": "^14.1.0", + "@alfresco/adf-core": "^6.1.0-0", + "@alfresco/adf-content-services": "^6.1.0-0", + "@alfresco/adf-extensions": "^6.1.0-0", + "@alfresco/js-api": "^6.1.0-0", + "@angular/animations": "^14.1.3", + "@angular/cdk": "^14.1.3", + "@angular/forms": "^14.1.3", + "@angular/material": "^14.1.3", + "@ngx-translate/core": "^14.0.0", + "rxjs": "6.6.6", + "zone.js": "0.11.8" }, "dependencies": { "tslib": "^2.3.0" diff --git a/projects/aca-content/src/lib/aca-content.module.ts b/projects/aca-content/src/lib/aca-content.module.ts index 6916b8e6a..ac48d850a 100644 --- a/projects/aca-content/src/lib/aca-content.module.ts +++ b/projects/aca-content/src/lib/aca-content.module.ts @@ -89,7 +89,7 @@ import { CONTENT_ROUTES } from './aca-content.routes'; import { RouterModule } from '@angular/router'; import { UploadFilesDialogComponent } from './components/upload-files-dialog/upload-files-dialog.component'; import { AppSharedLinkViewModule } from './components/shared-link-view/shared-link-view.module'; -import { AcaFolderRulesModule } from '@alfresco/aca-folder-rules'; +import { AcaFolderRulesModule } from '@alfresco/aca-content/folder-rules'; import { TagsColumnComponent } from './components/dl-custom-components/tags-column/tags-column.component'; import { UserInfoComponent } from './components/common/user-info/user-info.component'; import { SidenavComponent } from './components/sidenav/sidenav.component'; diff --git a/projects/aca-content/src/lib/aca-content.routes.ts b/projects/aca-content/src/lib/aca-content.routes.ts index 56cc53481..3c720c96b 100644 --- a/projects/aca-content/src/lib/aca-content.routes.ts +++ b/projects/aca-content/src/lib/aca-content.routes.ts @@ -571,7 +571,7 @@ export const CONTENT_LAYOUT_ROUTES: Route = { children: [ { path: '', - loadChildren: () => import('@alfresco/aca-folder-rules').then((m) => m.AcaFolderRulesModule) + loadChildren: () => import('@alfresco/aca-content/folder-rules').then((m) => m.AcaFolderRulesModule) } ] }, diff --git a/projects/aca-content/tsconfig.lib.json b/projects/aca-content/tsconfig.lib.json index 8532fb4c6..5b863a5b8 100644 --- a/projects/aca-content/tsconfig.lib.json +++ b/projects/aca-content/tsconfig.lib.json @@ -3,10 +3,27 @@ "extends": "../../tsconfig.json", "compilerOptions": { "outDir": "../../out-tsc/lib", + "target": "es2020", + "moduleResolution": "node", + "sourceMap": true, "declaration": true, "declarationMap": true, "inlineSources": true, - "types": [] + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "importHelpers": true, + "types": [], + "lib": [ + "dom", + "es2020" + ] + }, + "angularCompilerOptions": { + "skipTemplateCodegen": true, + "strictMetadataEmit": true, + "enableResourceInlining": true, + "fullTemplateTypeCheck": true, + "strictInjectionParameters": true }, "exclude": [ "test.ts", diff --git a/projects/aca-content/tsconfig.lib.prod.json b/projects/aca-content/tsconfig.lib.prod.json index fc8229de4..de0d99b65 100644 --- a/projects/aca-content/tsconfig.lib.prod.json +++ b/projects/aca-content/tsconfig.lib.prod.json @@ -7,7 +7,6 @@ "@alfresco/aca-shared": ["dist/@alfresco/aca-shared"], "@alfresco/aca-shared/store": ["dist/@alfresco/aca-shared/store"], "@alfresco/aca-shared/rules": ["dist/@alfresco/aca-shared/rules"], - "@alfresco/aca-folder-rules": ["dist/@alfresco/aca-folder-rules"], "@alfresco/aca-viewer": ["dist/@alfresco/aca-viewer"], "@alfresco/aca-preview": ["dist/@alfresco/aca-preview"] }, diff --git a/projects/aca-folder-rules/.eslintrc.js b/projects/aca-folder-rules/.eslintrc.js deleted file mode 100644 index 9e780e164..000000000 --- a/projects/aca-folder-rules/.eslintrc.js +++ /dev/null @@ -1,23 +0,0 @@ -path = require("path"); -module.exports = { - "extends": "../../.eslintrc.json", - "ignorePatterns": [ - "!**/*" - ], - "overrides": [ - { - "files": [ - "*.ts" - ], - "parserOptions": { - "project": [ - path.join(__dirname, "tsconfig.lib.json"), - path.join(__dirname, "tsconfig.spec.json") - ], - "createDefaultProgram": true - }, - "rules": { - } - } - ] -} diff --git a/projects/aca-folder-rules/README.md b/projects/aca-folder-rules/README.md deleted file mode 100644 index 8854b79d8..000000000 --- a/projects/aca-folder-rules/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Folder Rules - -## Build - -Run `nx build aca-folder-rules` to build the project. The build artifacts will be stored in the `dist/` directory. - -## Running unit tests - -Run `nx test aca-folder-rules` to execute the unit tests via [Karma](https://karma-runner.github.io). diff --git a/projects/aca-folder-rules/karma.conf.js b/projects/aca-folder-rules/karma.conf.js deleted file mode 100644 index 6c900ccaf..000000000 --- a/projects/aca-folder-rules/karma.conf.js +++ /dev/null @@ -1,15 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html -const { join } = require('path'); -const getBaseKarmaConfig = require('../../karma.conf'); - -module.exports = function (config) { - const baseConfig = getBaseKarmaConfig(); - config.set({ - ...baseConfig, - coverageReporter: { - ...baseConfig.coverageReporter, - dir: join(__dirname, '../../coverage/aca-folder-rules'), - }, - }); -}; diff --git a/projects/aca-folder-rules/ng-package.json b/projects/aca-folder-rules/ng-package.json deleted file mode 100644 index cbd0584c8..000000000 --- a/projects/aca-folder-rules/ng-package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", - "dest": "../../dist/@alfresco/aca-folder-rules", - "lib": { - "entryFile": "src/public-api.ts" - }, - "assets": [ - "assets" - ] -} diff --git a/projects/aca-folder-rules/package.json b/projects/aca-folder-rules/package.json deleted file mode 100644 index f24a104aa..000000000 --- a/projects/aca-folder-rules/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "@alfresco/aca-folder-rules", - "version": "0.0.1", - "license": "LGPL-3.0", - "peerDependencies": { - "@angular/common": "^14.1.0", - "@angular/core": "^14.1.0", - "@alfresco/adf-core": "^6.1.0-0", - "@alfresco/adf-content-services": "^6.1.0-0", - "@alfresco/adf-extensions": "^6.1.0-0", - "@alfresco/js-api": "^6.1.0-0", - "@angular/animations": "^14.1.3", - "@angular/cdk": "^14.1.3", - "@angular/forms": "^14.1.3", - "@angular/material": "^14.1.3", - "@ngx-translate/core": "^14.0.0", - "rxjs": "6.6.6", - "tslib": "^2.0.0", - "zone.js": "0.11.8" - }, - "dependencies": { - "tslib": "^2.3.0" - }, - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "https://github.com/Alfresco/alfresco-content-app.git" - } -} diff --git a/projects/aca-folder-rules/project.json b/projects/aca-folder-rules/project.json deleted file mode 100644 index c56130a2a..000000000 --- a/projects/aca-folder-rules/project.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "name": "aca-folder-rules", - "projectType": "library", - "sourceRoot": "projects/aca-folder-rules/src", - "prefix": "lib", - "targets": { - "build": { - "executor": "@angular-devkit/build-angular:ng-packagr", - "options": { - "tsConfig": "projects/aca-folder-rules/tsconfig.lib.json", - "project": "projects/aca-folder-rules/ng-package.json" - }, - "configurations": { - "production": { - "tsConfig": "projects/aca-folder-rules/tsconfig.lib.prod.json" - } - }, - "defaultConfiguration": "production", - "outputs": [ - "{workspaceRoot}/dist/@alfresco/aca-folder-rules" - ] - }, - "test": { - "executor": "@angular-devkit/build-angular:karma", - "options": { - "codeCoverage": true, - "main": "projects/aca-folder-rules/src/test.ts", - "tsConfig": "projects/aca-folder-rules/tsconfig.spec.json", - "karmaConfig": "projects/aca-folder-rules/karma.conf.js" - }, - "configurations": { - "adfprod": { - "tsConfig": "projects/aca-folder-rules/tsconfig.spec.adf.json" - } - } - }, - "lint": { - "executor": "@angular-eslint/builder:lint", - "options": { - "lintFilePatterns": [ - "projects/aca-folder-rules/**/*.ts", - "projects/aca-folder-rules/**/*.html" - ], - "cache": true, - "cacheLocation": ".eslintcache", - "ignorePath": ".eslintignore" - }, - "outputs": [ - "{options.outputFile}" - ] - } - } -} diff --git a/projects/aca-folder-rules/src/test.ts b/projects/aca-folder-rules/src/test.ts deleted file mode 100644 index 24bdc445c..000000000 --- a/projects/aca-folder-rules/src/test.ts +++ /dev/null @@ -1,48 +0,0 @@ -/*! - * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Alfresco Example Content Application - * - * This file is part of the Alfresco Example Content Application. - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - * The Alfresco Example Content Application is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * The Alfresco Example Content Application is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * from Hyland Software. If not, see . - */ - -// This file is required by karma.conf.js and loads recursively all the .spec and framework files - -import 'zone.js/dist/zone'; -import 'zone.js/dist/zone-testing'; -import { getTestBed } from '@angular/core/testing'; -import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; - -declare const require: { - context( - path: string, - deep?: boolean, - filter?: RegExp - ): { - keys(): string[]; - (id: string): T; - }; -}; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting()); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); diff --git a/projects/aca-folder-rules/tsconfig.lib.json b/projects/aca-folder-rules/tsconfig.lib.json deleted file mode 100644 index a5aa46ace..000000000 --- a/projects/aca-folder-rules/tsconfig.lib.json +++ /dev/null @@ -1,25 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "outDir": "../../out-tsc/lib", - "target": "es2020", - "declaration": true, - "declarationMap": true, - "inlineSources": true, - "types": [], - "lib": [ - "dom", - "es2020" - ] - }, - "angularCompilerOptions": { - "skipTemplateCodegen": true, - "strictMetadataEmit": true, - "enableResourceInlining": true - }, - "exclude": [ - "src/test.ts", - "**/*.spec.ts" - ] -} diff --git a/projects/aca-folder-rules/tsconfig.lib.prod.json b/projects/aca-folder-rules/tsconfig.lib.prod.json deleted file mode 100644 index 2d277e037..000000000 --- a/projects/aca-folder-rules/tsconfig.lib.prod.json +++ /dev/null @@ -1,15 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.lib.json", - "compilerOptions": { - "declarationMap": false, - "paths": { - "@alfresco/aca-shared": ["dist/@alfresco/aca-shared"], - "@alfresco/aca-shared/store": ["dist/@alfresco/aca-shared/store"], - "@alfresco/aca-shared/rules": ["dist/@alfresco/aca-shared/rules"] - } - }, - "angularCompilerOptions": { - "enableIvy": false - } -} diff --git a/projects/aca-folder-rules/tsconfig.spec.adf.json b/projects/aca-folder-rules/tsconfig.spec.adf.json deleted file mode 100644 index 04a6994be..000000000 --- a/projects/aca-folder-rules/tsconfig.spec.adf.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tsconfig.adf.json", - "compilerOptions": { - "outDir": "../../out-tsc/spec", - "types": [ - "jasmine" - ] - }, - "files": [ - "src/test.ts" - ], - "include": [ - "**/*.spec.ts", - "**/*.d.ts" - ] -} diff --git a/projects/aca-folder-rules/tsconfig.spec.json b/projects/aca-folder-rules/tsconfig.spec.json deleted file mode 100644 index 715dd0a5d..000000000 --- a/projects/aca-folder-rules/tsconfig.spec.json +++ /dev/null @@ -1,17 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "outDir": "../../out-tsc/spec", - "types": [ - "jasmine" - ] - }, - "files": [ - "src/test.ts" - ], - "include": [ - "**/*.spec.ts", - "**/*.d.ts" - ] -} diff --git a/tsconfig.adf.json b/tsconfig.adf.json index 4edf86a8b..0783af92d 100644 --- a/tsconfig.adf.json +++ b/tsconfig.adf.json @@ -38,9 +38,9 @@ "@alfresco/aca-shared/rules": ["projects/aca-shared/rules/src/public-api.ts"], "@alfresco/aca-content/ms-office": ["projects/aca-content/ms-office/src/public-api.ts"], "@alfresco/aca-testing-shared": ["projects/aca-testing-shared/src/index.ts"], - "@alfresco/aca-folder-rules": ["projects/aca-folder-rules/src/public-api.ts"], - "@alfresco/aca-content": ["projects/aca-content/src/public-api.ts"], "@alfresco/aca-content/about": ["projects/aca-content/about/src/public-api.ts"], + "@alfresco/aca-content/folder-rules": ["projects/aca-content/folder-rules/src/public-api.ts"], + "@alfresco/aca-content": ["projects/aca-content/src/public-api.ts"], "@alfresco/aca-viewer": ["projects/aca-viewer/src/public-api.ts"], "@alfresco/aca-preview": ["projects/aca-preview/src/public-api.ts"], "package.json": ["package.json"], diff --git a/tsconfig.json b/tsconfig.json index 0a98d1d02..43062f18f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -26,7 +26,7 @@ "@alfresco/aca-shared/rules": ["projects/aca-shared/rules/src/public-api.ts"], "@alfresco/aca-content/ms-office": ["projects/aca-content/ms-office/src/public-api.ts"], "@alfresco/aca-testing-shared": ["projects/aca-testing-shared/src/index.ts"], - "@alfresco/aca-folder-rules": ["projects/aca-folder-rules/src/public-api.ts"], + "@alfresco/aca-content/folder-rules": ["projects/aca-content/folder-rules/src/public-api.ts"], "@alfresco/aca-content": ["projects/aca-content/src/public-api.ts"], "@alfresco/aca-content/about": ["projects/aca-content/about/src/public-api.ts"], "@alfresco/aca-viewer": ["projects/aca-viewer/src/public-api.ts"], From c843a8dbaadf2475e4825d037f6d811fc341f8f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Fidor?= <42964298+MichalFidor@users.noreply.github.com> Date: Fri, 16 Jun 2023 19:07:09 +0200 Subject: [PATCH 24/24] [ACS-5343] refactor Playwright framework in ACA (#3261) * [ACS-5343] refactor Playwright framework in ACA * Add the tests for Actions, from the Adam PR [ACS-5328] * Small fixes * Improve logs * [ACS-5343] adding-goThroughPages-and-delete * [ACS-5343] added git changes * [ACS-5343] added git changes for playwright * [ACS-5343] fix for e2e * [ACS-5343] e2e protractor path fix * remove import * [ACS-5343] e2e playwright user fix * [ACS-5343] e2e playwright user ids fix * [ACS-5343] e2e playwright users ids fix * changes for git * fix playwright test run * tsconfig path fix * playwright action yml added * retrigger checks * add test id from testrail * merge conflits * fix gha * fix credentials --------- Co-authored-by: adam.zakrzewski Co-authored-by: akash.rathod@hyland.com Co-authored-by: Denys Vuika --- .github/actions/run-e2e-playwright/action.yml | 57 +++++++++++++ .github/actions/run-e2e/action.yml | 4 +- .github/workflows/pull-request.yml | 24 +++++- e2e/playwright/actions/.eslintrc.json | 26 ++++++ e2e/playwright/actions/exclude.tests.json | 1 + .../playwright.config.ts} | 28 ++++--- e2e/playwright/actions/project.json | 34 ++++++++ .../actions/src/tests/create-folder.spec.ts | 50 ++++++++++++ e2e/playwright/actions/tsconfig.e2e.adf.json | 15 ++++ e2e/playwright/actions/tsconfig.e2e.json | 12 +++ e2e/playwright/folder-rules/.eslintrc.json | 26 ++++++ .../folder-rules/exclude.tests.json | 1 + .../folder-rules/playwright.config.ts | 44 ++++++++++ e2e/playwright/folder-rules/project.json | 34 ++++++++ .../src}/tests/actions.spec.ts | 16 ++-- .../src}/tests/conditions.spec.ts | 19 +++-- .../src}/tests/manage-rules.spec.ts | 15 ++-- .../folder-rules/tsconfig.e2e.adf.json | 15 ++++ e2e/playwright/folder-rules/tsconfig.e2e.json | 12 +++ e2e/playwright/shared/package.json | 8 -- e2e/playwright/shared/page-objects/index.ts | 29 ------- e2e/{ => protractor}/.eslintrc.json | 4 +- .../e2e-config/utils/build-number.js | 0 .../e2e-config/utils/upload-output.js | 0 e2e/{ => protractor}/project.json | 2 +- e2e/{ => protractor}/protractor.excludes.json | 0 .../context-submenus-ext.json | 2 +- .../document-presets-ext.json | 2 +- .../extensibility-configs/header-ext.json | 2 +- .../info-drawer-ext.json | 2 +- .../info-drawer-no-tabs-ext.json | 2 +- .../extensibility-configs/metadata-ext.json | 2 +- .../extensibility-configs/viewer-ext.json | 2 +- .../resources/test-files/file-docx.docx | Bin .../resources/test-files/file-jpg.jpg | Bin .../resources/test-files/file-pdf.pdf | 0 .../resources/test-files/file-xlsx.xlsx | Bin .../resources/test-files/file2-docx.docx | Bin .../resources/test-files/file2-xlsx.xlsx | Bin .../resources/test-files/file_unsupported.3DS | 0 .../resources/test-files/protected.pdf | Bin e2e/{ => protractor}/smartrunner-factory.js | 0 .../files-folders/folders-actions.test.ts | 0 .../files-folders/generic.test.ts | 0 .../locked-files-actions.test.ts | 0 .../multiple-files-actions.test.ts | 0 .../office-files-actions.test.ts | 0 .../files-folders/single-file-actions.test.ts | 0 .../files-folders/test-data.ts | 0 .../files-folders/trash.test.ts | 0 .../libraries/library-trash.test.ts | 0 .../libraries/library.test.ts | 0 .../libraries/test-data-libraries.ts | 0 .../new-menu/new-menu.test.ts | 0 .../special-permissions/favorites.ts | 0 .../special-permissions/my-libraries.ts | 0 .../special-permissions/other-permissions.ts | 0 .../special-permissions/search-results.ts | 0 .../special-permissions/shared-files.ts | 0 .../special-permissions-actions.test.ts | 0 .../test-data-permissions.ts | 0 .../special-permissions/viewer.ts | 0 .../suites/actions-available/test-util.ts | 0 .../suites/actions/copy-move/copy.test.ts | 0 .../destination-picker-dialog.test.ts | 0 .../suites/actions/copy-move/move.test.ts | 0 .../create/create-file-from-template.test.ts | 0 .../create-folder-from-template.test.ts | 0 .../actions/create/create-folder.test.ts | 0 .../actions/create/create-library.test.ts | 0 .../actions/delete/delete-undo-delete.test.ts | 0 .../actions/delete/permanently-delete.test.ts | 0 .../suites/actions/delete/restore.test.ts | 0 .../suites/actions/edit/edit-folder.test.ts | 0 .../suites/actions/edit/edit-offline.test.ts | 0 .../actions/favorite/mark-favorite.test.ts | 0 .../actions/library/library-actions.test.ts | 0 .../suites/actions/share/share-file.test.ts | 0 .../share/unshare-file-search-results.test.ts | 0 .../actions/upload-download/download.test.ts | 0 .../upload-download/upload-file.test.ts | 0 .../upload-new-version.test.ts | 0 .../upload-download/version-actions.test.ts | 0 .../suites/application/general.test.ts | 0 .../suites/application/page-titles.test.ts | 0 .../suites/authentication/login.test.ts | 0 .../suites/authentication/logout.test.ts | 0 .../extensions/ext-context-submenus.test.ts | 0 .../extensions/ext-document-list.test.ts | 0 .../suites/extensions/ext-header.test.ts | 0 .../suites/extensions/ext-info-drawer.test.ts | 0 .../suites/extensions/ext-metadata.test.ts | 0 .../suites/extensions/ext-viewer.test.ts | 0 .../suites/info-drawer/comments.test.ts | 0 .../file-folder-properties.test.ts | 0 .../suites/info-drawer/file-preview.test.ts | 0 .../suites/info-drawer/general.test.ts | 0 .../info-drawer/library-properties.test.ts | 0 .../suites/list-views/empty-list.test.ts | 0 .../suites/list-views/favorites.test.ts | 0 .../suites/list-views/file-libraries.test.ts | 0 .../suites/list-views/generic-errors.test.ts | 0 .../suites/list-views/permissions.test.ts | 0 .../suites/list-views/personal-files.test.ts | 0 .../suites/list-views/recent-files.test.ts | 0 .../suites/list-views/shared-files.test.ts | 0 .../suites/list-views/sort-list.test.ts | 0 .../suites/list-views/tooltips.test.ts | 0 .../suites/list-views/trash.test.ts | 0 .../suites/navigation/breadcrumb.test.ts | 0 .../suites/navigation/sidebar.test.ts | 0 .../suites/navigation/single-click.test.ts | 0 .../suites/pagination/favorites.ts | 0 .../pagination/multiple-pages-files.test.ts | 0 .../multiple-pages-libraries.test.ts | 0 .../pagination/multiple-pages-trash.test.ts | 0 .../suites/pagination/personal-files.ts | 0 .../suites/pagination/recent-files.ts | 0 .../suites/pagination/search-results.ts | 0 .../suites/pagination/shared-files.ts | 0 .../suites/pagination/single-page.test.ts | 0 .../suites/search/search-filters.test.ts | 0 .../suites/search/search-input.test.ts | 0 .../search-results-files-folders.test.ts | 0 .../search/search-results-general.test.ts | 0 .../search/search-results-libraries.test.ts | 0 .../suites/search/search-sorting.test.ts | 0 .../suites/viewer/viewer-actions.test.ts | 0 .../suites/viewer/viewer-general.test.ts | 0 .../viewer/viewer-protected-file.test.ts | 0 e2e/{ => protractor}/tsconfig.e2e.adf.json | 6 +- e2e/protractor/tsconfig.e2e.json | 16 ++++ e2e/tsconfig.e2e.json | 16 ---- projects/aca-playwright-shared/package.json | 13 +++ projects/aca-playwright-shared/project.json | 7 ++ .../src}/api/api-client-factory.ts | 2 +- .../aca-playwright-shared/src}/api/index.ts | 0 .../src}/api/rules-api.ts | 0 .../src/base-config}/global-variables.ts | 0 .../src}/base-config/global.setup.ts | 58 ++++++++------ .../src/base-config/index.ts | 27 +++++++ .../src/base-config}/playwright.config.ts | 40 +++++----- .../src}/fixtures/page-initialization.ts | 8 +- .../aca-playwright-shared/src}/index.ts | 2 + .../src/models/custom-config.ts | 8 +- .../src}/models/index.ts | 1 + .../src}/models/user-model.ts | 0 .../components/aca-header.component.ts | 35 ++++++++ .../components/actions-dropdown.component.ts | 4 +- .../page-objects/components/base.component.ts | 0 .../components/conditions.component.ts | 10 +-- .../dataTable/data-table.component.ts | 0 .../components/dataTable/index.ts | 0 .../dataTable}/mat-menu.component.ts | 4 +- .../components/dataTable/toolbar.component.ts | 0 .../dialogs/adf-folder-dialog.component.ts | 37 +++++++++ .../page-objects/components/dialogs}/index.ts | 2 +- .../src/page-objects/components/index.ts | 34 ++++++++ .../components/manageRules}/index.ts | 4 +- .../manage-rules-dialog.component.ts | 13 +-- .../manageRules}/manage-rules.component.ts | 2 +- .../components/pagination.component.ts | 2 +- .../snackBar}/snack-bar.component.ts | 2 +- .../components/spinner.component.ts | 0 .../src/page-objects}/index.ts | 4 +- .../src}/page-objects/pages/base.page.ts | 0 .../src/page-objects/pages/index.ts | 28 +++++++ .../src}/page-objects/pages/login.page.ts | 0 .../src}/page-objects/pages/nodes.page.ts | 8 +- .../page-objects/pages/personal-files.page.ts | 9 ++- .../src}/page-objects/playwright-base.ts | 0 .../src/utils/exclude-tests.ts | 22 +++++ .../aca-playwright-shared/src/utils/index.ts | 28 +++++++ .../aca-playwright-shared/src/utils/paths.ts | 33 ++++++++ .../src/utils/state-helper.ts | 34 ++++++++ .../src/utils/timeouts.ts | 37 +++++++++ .../aca-playwright-shared}/tsconfig.lib.json | 7 +- protractor.conf.js | 75 +++++++++--------- tsconfig.adf.json | 2 +- tsconfig.json | 2 +- 180 files changed, 897 insertions(+), 235 deletions(-) create mode 100644 .github/actions/run-e2e-playwright/action.yml create mode 100644 e2e/playwright/actions/.eslintrc.json create mode 100644 e2e/playwright/actions/exclude.tests.json rename e2e/playwright/{shared/page-objects/components/dataTable/mat-menu.component.ts => actions/playwright.config.ts} (68%) create mode 100644 e2e/playwright/actions/project.json create mode 100644 e2e/playwright/actions/src/tests/create-folder.spec.ts create mode 100644 e2e/playwright/actions/tsconfig.e2e.adf.json create mode 100755 e2e/playwright/actions/tsconfig.e2e.json create mode 100644 e2e/playwright/folder-rules/.eslintrc.json create mode 100644 e2e/playwright/folder-rules/exclude.tests.json create mode 100644 e2e/playwright/folder-rules/playwright.config.ts create mode 100644 e2e/playwright/folder-rules/project.json rename e2e/playwright/{tests/folder-rules => folder-rules/src}/tests/actions.spec.ts (83%) rename e2e/playwright/{tests/folder-rules => folder-rules/src}/tests/conditions.spec.ts (77%) rename e2e/playwright/{tests/folder-rules => folder-rules/src}/tests/manage-rules.spec.ts (74%) create mode 100644 e2e/playwright/folder-rules/tsconfig.e2e.adf.json create mode 100755 e2e/playwright/folder-rules/tsconfig.e2e.json delete mode 100644 e2e/playwright/shared/package.json delete mode 100644 e2e/playwright/shared/page-objects/index.ts rename e2e/{ => protractor}/.eslintrc.json (81%) rename e2e/{ => protractor}/e2e-config/utils/build-number.js (100%) rename e2e/{ => protractor}/e2e-config/utils/upload-output.js (100%) rename e2e/{ => protractor}/project.json (92%) rename e2e/{ => protractor}/protractor.excludes.json (100%) rename e2e/{ => protractor}/resources/extensibility-configs/context-submenus-ext.json (99%) rename e2e/{ => protractor}/resources/extensibility-configs/document-presets-ext.json (99%) rename e2e/{ => protractor}/resources/extensibility-configs/header-ext.json (99%) rename e2e/{ => protractor}/resources/extensibility-configs/info-drawer-ext.json (99%) rename e2e/{ => protractor}/resources/extensibility-configs/info-drawer-no-tabs-ext.json (99%) rename e2e/{ => protractor}/resources/extensibility-configs/metadata-ext.json (99%) rename e2e/{ => protractor}/resources/extensibility-configs/viewer-ext.json (99%) rename e2e/{ => protractor}/resources/test-files/file-docx.docx (100%) rename e2e/{ => protractor}/resources/test-files/file-jpg.jpg (100%) rename e2e/{ => protractor}/resources/test-files/file-pdf.pdf (100%) rename e2e/{ => protractor}/resources/test-files/file-xlsx.xlsx (100%) rename e2e/{ => protractor}/resources/test-files/file2-docx.docx (100%) rename e2e/{ => protractor}/resources/test-files/file2-xlsx.xlsx (100%) rename e2e/{ => protractor}/resources/test-files/file_unsupported.3DS (100%) rename e2e/{ => protractor}/resources/test-files/protected.pdf (100%) rename e2e/{ => protractor}/smartrunner-factory.js (100%) rename e2e/{ => protractor}/suites/actions-available/files-folders/folders-actions.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/files-folders/generic.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/files-folders/locked-files-actions.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/files-folders/multiple-files-actions.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/files-folders/office-files-actions.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/files-folders/single-file-actions.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/files-folders/test-data.ts (100%) rename e2e/{ => protractor}/suites/actions-available/files-folders/trash.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/libraries/library-trash.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/libraries/library.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/libraries/test-data-libraries.ts (100%) rename e2e/{ => protractor}/suites/actions-available/new-menu/new-menu.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/special-permissions/favorites.ts (100%) rename e2e/{ => protractor}/suites/actions-available/special-permissions/my-libraries.ts (100%) rename e2e/{ => protractor}/suites/actions-available/special-permissions/other-permissions.ts (100%) rename e2e/{ => protractor}/suites/actions-available/special-permissions/search-results.ts (100%) rename e2e/{ => protractor}/suites/actions-available/special-permissions/shared-files.ts (100%) rename e2e/{ => protractor}/suites/actions-available/special-permissions/special-permissions-actions.test.ts (100%) rename e2e/{ => protractor}/suites/actions-available/special-permissions/test-data-permissions.ts (100%) rename e2e/{ => protractor}/suites/actions-available/special-permissions/viewer.ts (100%) rename e2e/{ => protractor}/suites/actions-available/test-util.ts (100%) rename e2e/{ => protractor}/suites/actions/copy-move/copy.test.ts (100%) rename e2e/{ => protractor}/suites/actions/copy-move/destination-picker-dialog.test.ts (100%) rename e2e/{ => protractor}/suites/actions/copy-move/move.test.ts (100%) rename e2e/{ => protractor}/suites/actions/create/create-file-from-template.test.ts (100%) rename e2e/{ => protractor}/suites/actions/create/create-folder-from-template.test.ts (100%) rename e2e/{ => protractor}/suites/actions/create/create-folder.test.ts (100%) rename e2e/{ => protractor}/suites/actions/create/create-library.test.ts (100%) rename e2e/{ => protractor}/suites/actions/delete/delete-undo-delete.test.ts (100%) rename e2e/{ => protractor}/suites/actions/delete/permanently-delete.test.ts (100%) rename e2e/{ => protractor}/suites/actions/delete/restore.test.ts (100%) rename e2e/{ => protractor}/suites/actions/edit/edit-folder.test.ts (100%) rename e2e/{ => protractor}/suites/actions/edit/edit-offline.test.ts (100%) rename e2e/{ => protractor}/suites/actions/favorite/mark-favorite.test.ts (100%) rename e2e/{ => protractor}/suites/actions/library/library-actions.test.ts (100%) rename e2e/{ => protractor}/suites/actions/share/share-file.test.ts (100%) rename e2e/{ => protractor}/suites/actions/share/unshare-file-search-results.test.ts (100%) rename e2e/{ => protractor}/suites/actions/upload-download/download.test.ts (100%) rename e2e/{ => protractor}/suites/actions/upload-download/upload-file.test.ts (100%) rename e2e/{ => protractor}/suites/actions/upload-download/upload-new-version.test.ts (100%) rename e2e/{ => protractor}/suites/actions/upload-download/version-actions.test.ts (100%) rename e2e/{ => protractor}/suites/application/general.test.ts (100%) rename e2e/{ => protractor}/suites/application/page-titles.test.ts (100%) rename e2e/{ => protractor}/suites/authentication/login.test.ts (100%) rename e2e/{ => protractor}/suites/authentication/logout.test.ts (100%) rename e2e/{ => protractor}/suites/extensions/ext-context-submenus.test.ts (100%) rename e2e/{ => protractor}/suites/extensions/ext-document-list.test.ts (100%) rename e2e/{ => protractor}/suites/extensions/ext-header.test.ts (100%) rename e2e/{ => protractor}/suites/extensions/ext-info-drawer.test.ts (100%) rename e2e/{ => protractor}/suites/extensions/ext-metadata.test.ts (100%) rename e2e/{ => protractor}/suites/extensions/ext-viewer.test.ts (100%) rename e2e/{ => protractor}/suites/info-drawer/comments.test.ts (100%) rename e2e/{ => protractor}/suites/info-drawer/file-folder-properties.test.ts (100%) rename e2e/{ => protractor}/suites/info-drawer/file-preview.test.ts (100%) rename e2e/{ => protractor}/suites/info-drawer/general.test.ts (100%) rename e2e/{ => protractor}/suites/info-drawer/library-properties.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/empty-list.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/favorites.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/file-libraries.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/generic-errors.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/permissions.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/personal-files.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/recent-files.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/shared-files.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/sort-list.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/tooltips.test.ts (100%) rename e2e/{ => protractor}/suites/list-views/trash.test.ts (100%) rename e2e/{ => protractor}/suites/navigation/breadcrumb.test.ts (100%) rename e2e/{ => protractor}/suites/navigation/sidebar.test.ts (100%) rename e2e/{ => protractor}/suites/navigation/single-click.test.ts (100%) rename e2e/{ => protractor}/suites/pagination/favorites.ts (100%) rename e2e/{ => protractor}/suites/pagination/multiple-pages-files.test.ts (100%) rename e2e/{ => protractor}/suites/pagination/multiple-pages-libraries.test.ts (100%) rename e2e/{ => protractor}/suites/pagination/multiple-pages-trash.test.ts (100%) rename e2e/{ => protractor}/suites/pagination/personal-files.ts (100%) rename e2e/{ => protractor}/suites/pagination/recent-files.ts (100%) rename e2e/{ => protractor}/suites/pagination/search-results.ts (100%) rename e2e/{ => protractor}/suites/pagination/shared-files.ts (100%) rename e2e/{ => protractor}/suites/pagination/single-page.test.ts (100%) rename e2e/{ => protractor}/suites/search/search-filters.test.ts (100%) rename e2e/{ => protractor}/suites/search/search-input.test.ts (100%) rename e2e/{ => protractor}/suites/search/search-results-files-folders.test.ts (100%) rename e2e/{ => protractor}/suites/search/search-results-general.test.ts (100%) rename e2e/{ => protractor}/suites/search/search-results-libraries.test.ts (100%) rename e2e/{ => protractor}/suites/search/search-sorting.test.ts (100%) rename e2e/{ => protractor}/suites/viewer/viewer-actions.test.ts (100%) rename e2e/{ => protractor}/suites/viewer/viewer-general.test.ts (100%) rename e2e/{ => protractor}/suites/viewer/viewer-protected-file.test.ts (100%) rename e2e/{ => protractor}/tsconfig.e2e.adf.json (58%) create mode 100755 e2e/protractor/tsconfig.e2e.json delete mode 100755 e2e/tsconfig.e2e.json create mode 100644 projects/aca-playwright-shared/package.json create mode 100644 projects/aca-playwright-shared/project.json rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/api/api-client-factory.ts (99%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/api/index.ts (100%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/api/rules-api.ts (100%) rename {e2e/playwright/shared/page-objects => projects/aca-playwright-shared/src/base-config}/global-variables.ts (100%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/base-config/global.setup.ts (51%) create mode 100644 projects/aca-playwright-shared/src/base-config/index.ts rename {e2e/playwright/tests/folder-rules => projects/aca-playwright-shared/src/base-config}/playwright.config.ts (70%) rename {e2e/playwright/tests/folder-rules => projects/aca-playwright-shared/src}/fixtures/page-initialization.ts (89%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/index.ts (94%) rename e2e/playwright/shared/page-objects/components/index.ts => projects/aca-playwright-shared/src/models/custom-config.ts (91%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/models/index.ts (97%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/models/user-model.ts (100%) create mode 100644 projects/aca-playwright-shared/src/page-objects/components/aca-header.component.ts rename {e2e/playwright/tests/folder-rules => projects/aca-playwright-shared/src}/page-objects/components/actions-dropdown.component.ts (98%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/page-objects/components/base.component.ts (100%) rename {e2e/playwright/tests/folder-rules => projects/aca-playwright-shared/src}/page-objects/components/conditions.component.ts (90%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/page-objects/components/dataTable/data-table.component.ts (100%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/page-objects/components/dataTable/index.ts (100%) rename {e2e/playwright/shared/page-objects/components => projects/aca-playwright-shared/src/page-objects/components/dataTable}/mat-menu.component.ts (93%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/page-objects/components/dataTable/toolbar.component.ts (100%) create mode 100644 projects/aca-playwright-shared/src/page-objects/components/dialogs/adf-folder-dialog.component.ts rename {e2e/playwright/shared/base-config => projects/aca-playwright-shared/src/page-objects/components/dialogs}/index.ts (96%) create mode 100644 projects/aca-playwright-shared/src/page-objects/components/index.ts rename {e2e/playwright/tests/folder-rules/page-objects => projects/aca-playwright-shared/src/page-objects/components/manageRules}/index.ts (92%) rename {e2e/playwright/tests/folder-rules/page-objects/components => projects/aca-playwright-shared/src/page-objects/components/manageRules}/manage-rules-dialog.component.ts (78%) rename {e2e/playwright/tests/folder-rules/page-objects/components => projects/aca-playwright-shared/src/page-objects/components/manageRules}/manage-rules.component.ts (96%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/page-objects/components/pagination.component.ts (97%) rename {e2e/playwright/shared/page-objects/components => projects/aca-playwright-shared/src/page-objects/components/snackBar}/snack-bar.component.ts (96%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/page-objects/components/spinner.component.ts (100%) rename {e2e/playwright/shared/page-objects/pages => projects/aca-playwright-shared/src/page-objects}/index.ts (95%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/page-objects/pages/base.page.ts (100%) create mode 100644 projects/aca-playwright-shared/src/page-objects/pages/index.ts rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/page-objects/pages/login.page.ts (100%) rename {e2e/playwright/tests/folder-rules => projects/aca-playwright-shared/src}/page-objects/pages/nodes.page.ts (80%) rename {e2e/playwright/tests/folder-rules => projects/aca-playwright-shared/src}/page-objects/pages/personal-files.page.ts (77%) rename {e2e/playwright/shared => projects/aca-playwright-shared/src}/page-objects/playwright-base.ts (100%) create mode 100644 projects/aca-playwright-shared/src/utils/exclude-tests.ts create mode 100644 projects/aca-playwright-shared/src/utils/index.ts create mode 100644 projects/aca-playwright-shared/src/utils/paths.ts create mode 100644 projects/aca-playwright-shared/src/utils/state-helper.ts create mode 100644 projects/aca-playwright-shared/src/utils/timeouts.ts rename {e2e/playwright/shared => projects/aca-playwright-shared}/tsconfig.lib.json (75%) diff --git a/.github/actions/run-e2e-playwright/action.yml b/.github/actions/run-e2e-playwright/action.yml new file mode 100644 index 000000000..b0364c946 --- /dev/null +++ b/.github/actions/run-e2e-playwright/action.yml @@ -0,0 +1,57 @@ +name: "Run e2e Playwright" +description: "Run e2e Playwright" + +inputs: + options: + description: 'Options' + required: true + type: string + test-runner: + description: 'Test runner' + required: false + type: string + default: 'Playwright' + artifact-name: + description: Name of the artifact cache + required: true + type: string + +runs: + using: "composite" + steps: + - name: Setup and run with options + shell: bash + run: | + # npx http-server -c-1 $CONTENT_CE_DIST_PATH -p 4200 > /dev/null &\ + + { + echo "APP_CONFIG_ECM_HOST={protocol}//{hostname}{:port}" + echo "APP_CONFIG_PLUGIN_FOLDER_RULES=true" + echo "APP_CONFIG_PLUGIN_AOS=true" + echo "APP_CONFIG_PLUGIN_CONTENT_SERVICE=true" + echo "APP_CONFIG_ENABLE_MOBILE_APP_SWITCH=false" + echo "APP_CONFIG_PROVIDER=ECM" + echo "APP_CONFIG_AUTH_TYPE=BASIC" + echo "APP_CONFIG_OAUTH2_HOST=http://localhost:4200/auth/realms/alfresco" + echo "APP_CONFIG_OAUTH2_CLIENTID=alfresco" + echo "APP_CONFIG_SESSION_TIME_FOR_OPEN_APP_DIALOG_DISPLAY_IN_HOURS=12" + echo "APP_CONFIG_OAUTH2_IMPLICIT_FLOW=true" + echo "APP_CONFIG_OAUTH2_SILENT_LOGIN=true" + echo "APP_CONFIG_OAUTH2_REDIRECT_LOGOUT=/" + echo "APP_CONFIG_OAUTH2_REDIRECT_LOGIN=/" + echo "APP_CONFIG_OAUTH2_REDIRECT_SILENT_IFRAME_URI={protocol}//{hostname}{:port}/assets/silent-refresh.html" + } >> .env + + npm start > /dev/null &\ + + echo "Running playwright tests with options ${{ inputs.options }}" + sleep 90 + npx nx run ${{ inputs.options }}-e2e:e2e + + + - name: Upload E2Es results + if: ${{ always() }} + uses: actions/upload-artifact@v3 + with: + name: ${{ inputs.artifact-name }} + path: test-results/ diff --git a/.github/actions/run-e2e/action.yml b/.github/actions/run-e2e/action.yml index 4725b49ab..5e52b0669 100644 --- a/.github/actions/run-e2e/action.yml +++ b/.github/actions/run-e2e/action.yml @@ -22,7 +22,7 @@ runs: - name: Setup and run with options shell: bash run: | - ./node_modules/.bin/tsc -p "./e2e/$E2E_TSCONFIG" || exit 1; + ./node_modules/.bin/tsc -p "./e2e/protractor/$E2E_TSCONFIG" || exit 1; # npx http-server -c-1 $CONTENT_CE_DIST_PATH -p 4200 > /dev/null &\ { @@ -48,7 +48,7 @@ runs: if [ ${{ inputs.test-runner }} == "playwright" ]; then echo "Running playwright tests with options ${{ inputs.options }}" sleep 90 - npx playwright test --config ${{ inputs.options }} + npx nx run ${{ inputs.options }}-e2e:e2e else echo "Running protractor tests with options ${{ inputs.options }}" echo "./node_modules/.bin/protractor \"./protractor.conf.js\" ${{ inputs.options }} || exit 1" diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 5a81c3415..82846abc7 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -13,6 +13,14 @@ env: APP_CONFIG_ECM_HOST: ${{ secrets.PIPELINE_ENV_URL }} ADMIN_EMAIL: ${{ secrets.PIPELINE_ADMIN_USERNAME }} ADMIN_PASSWORD: ${{ secrets.PIPELINE_ADMIN_PASSWORD }} + HR_USER: ${{ secrets.HR_USER }} + HR_USER_PASSWORD: ${{ secrets.HR_USER_PASSWORD }} + SUPERADMIN_EMAIL: ${{ secrets.SUPERADMIN_EMAIL }} + SUPERADMIN_PASSWORD: ${{ secrets.SUPERADMIN_PASSWORD }} + IDENTITY_USER_EMAIL: ${{ secrets.IDENTITY_USER_EMAIL }} + IDENTITY_USER_PASSWORD: ${{ secrets.IDENTITY_USER_PASSWORD }} + CONTENT_IDENTITY_USERNAME: ${{ secrets.CONTENT_IDENTITY_USERNAME }} + CONTENT_IDENTITY_PASSWORD: ${{ secrets.CONTENT_IDENTITY_PASSWORD }} SCREENSHOT_USERNAME: ${{ secrets.SCREENSHOT_USERNAME }} SCREENSHOT_PASSWORD: ${{ secrets.SCREENSHOT_PASSWORD}} AWS_REGION: "eu-west-2" @@ -177,8 +185,16 @@ jobs: e2es-playwright: needs: [lint, build, unit-tests] - name: 'E2e test suites: Folder Rules - Playwright' + name: 'E2e test suites: Playwright' runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + e2e-suites: + - name: "actions" + id: 1 + - name: "folder-rules" + id: 2 steps: - name: Checkout uses: actions/checkout@v3 @@ -203,10 +219,10 @@ jobs: - name: before playwright shell: bash run: npx playwright install chromium - - uses: ./.github/actions/run-e2e + - uses: ./.github/actions/run-e2e-playwright with: - options: "e2e/playwright/tests/folder-rules/playwright.config.ts" - artifact-name: folder-rules + options: "${{ matrix.e2e-suites.name }}" + artifact-name: ${{ matrix.e2e-suites.name }} test-runner: playwright - uses: ./.github/actions/after-e2e diff --git a/e2e/playwright/actions/.eslintrc.json b/e2e/playwright/actions/.eslintrc.json new file mode 100644 index 000000000..67b7dbf29 --- /dev/null +++ b/e2e/playwright/actions/.eslintrc.json @@ -0,0 +1,26 @@ +{ + "extends": "../../../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "parserOptions": { + "project": [ + "e2e/playwright/actions/tsconfig.e2e.json" + ], + "createDefaultProgram": true + }, + "plugins": [ + "rxjs", + "unicorn" + ], + "rules": { + "@typescript-eslint/no-floating-promises": "off" + } + } + ] +} diff --git a/e2e/playwright/actions/exclude.tests.json b/e2e/playwright/actions/exclude.tests.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/e2e/playwright/actions/exclude.tests.json @@ -0,0 +1 @@ +{} diff --git a/e2e/playwright/shared/page-objects/components/dataTable/mat-menu.component.ts b/e2e/playwright/actions/playwright.config.ts similarity index 68% rename from e2e/playwright/shared/page-objects/components/dataTable/mat-menu.component.ts rename to e2e/playwright/actions/playwright.config.ts index 92953f751..9b921ce47 100644 --- a/e2e/playwright/shared/page-objects/components/dataTable/mat-menu.component.ts +++ b/e2e/playwright/actions/playwright.config.ts @@ -22,17 +22,23 @@ * from Hyland Software. If not, see . */ -import { Page } from '@playwright/test'; -import { BaseComponent } from '../base.component'; +import { PlaywrightTestConfig } from '@playwright/test'; +import { CustomConfig, getGlobalConfig, getExcludedTestsRegExpArray } from '@alfresco/playwright-shared'; +import EXCLUDED_JSON from './exclude.tests.json'; -export class MatMenuComponent extends BaseComponent { - private static rootElement = '.mat-menu-content'; +const config: PlaywrightTestConfig = { + ...getGlobalConfig, - constructor(page: Page) { - super(page, MatMenuComponent.rootElement); - } + grepInvert: getExcludedTestsRegExpArray(EXCLUDED_JSON, 'Actions'), + projects: [ + { + name: 'Actions', + testDir: './src/tests', + use: { + users: ['hruser'] + } + } + ] +}; - public getMenuItemsLocator = this.getChild('button'); - - public getButtonByText = (text: string) => this.getChild('button', { hasText: text }); -} +export default config; diff --git a/e2e/playwright/actions/project.json b/e2e/playwright/actions/project.json new file mode 100644 index 000000000..c7228bfa0 --- /dev/null +++ b/e2e/playwright/actions/project.json @@ -0,0 +1,34 @@ +{ + "$schema": "../../../node_modules/nx/schemas/project-schema.json", + "name": "actions-e2e", + "sourceRoot": "e2e/playwright/actions/src", + "projectType": "application", + "targets": { + "e2e": { + "executor": "nx:run-commands", + "options": { + "commands": [ + "npx playwright test --config=e2e/playwright/actions/playwright.config.ts" + ] + }, + "configurations": { + "production": { + "devServerTarget": "content-ce:serve:production" + } + } + }, + "lint": { + "executor": "@angular-eslint/builder:lint", + "options": { + "lintFilePatterns": [ + "e2e/**/*.ts", + "e2e/**/*.html" + ], + "cache": true, + "cacheLocation": ".eslintcache", + "ignorePath": ".eslintignore" + }, + "outputs": ["{options.outputFile}"] + } + } +} diff --git a/e2e/playwright/actions/src/tests/create-folder.spec.ts b/e2e/playwright/actions/src/tests/create-folder.spec.ts new file mode 100644 index 000000000..585a66d07 --- /dev/null +++ b/e2e/playwright/actions/src/tests/create-folder.spec.ts @@ -0,0 +1,50 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +import { expect } from '@playwright/test'; +import { getUserState, test } from '@alfresco/playwright-shared'; + +test.use({ storageState: getUserState('hruser') }); +test.describe('Create actions', () => { + let randomFolderName: string; + + test.beforeEach(async ({ personalFiles }) => { + randomFolderName = `playwright-folder-${(Math.random() + 1).toString(36).substring(6)}`; + await personalFiles.navigate(); + }); + + test.afterEach(async ({ personalFiles }) => { + await personalFiles.dataTable.performActionFromExpandableMenu(randomFolderName, 'Delete'); + }); + + test('[C216341] Create a folder with name only', async ({ personalFiles }) => { + await personalFiles.acaHeader.createButton.click(); + await personalFiles.matMenu.createFolder.click(); + await personalFiles.folderDialog.folderNameInputLocator.fill(randomFolderName); + await personalFiles.folderDialog.createButton.click(); + + await personalFiles.dataTable.goThroughPagesLookingForRowWithName(randomFolderName); + await expect(personalFiles.dataTable.getRowByName(randomFolderName)).toBeVisible(); + }); +}); diff --git a/e2e/playwright/actions/tsconfig.e2e.adf.json b/e2e/playwright/actions/tsconfig.e2e.adf.json new file mode 100644 index 000000000..87cbcf775 --- /dev/null +++ b/e2e/playwright/actions/tsconfig.e2e.adf.json @@ -0,0 +1,15 @@ +{ + "extends": "../../../tsconfig.adf.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node"], + "skipLibCheck": true, + "paths": { + "@alfresco/playwright-shared": ["../../../projects/aca-playwright-shared/src/index.ts"] + } + }, + "exclude": ["node_modules"] +} diff --git a/e2e/playwright/actions/tsconfig.e2e.json b/e2e/playwright/actions/tsconfig.e2e.json new file mode 100755 index 000000000..d1d140fba --- /dev/null +++ b/e2e/playwright/actions/tsconfig.e2e.json @@ -0,0 +1,12 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node", "@playwright/test"], + "skipLibCheck": true, + }, + "exclude": ["node_modules"] +} diff --git a/e2e/playwright/folder-rules/.eslintrc.json b/e2e/playwright/folder-rules/.eslintrc.json new file mode 100644 index 000000000..d241111e1 --- /dev/null +++ b/e2e/playwright/folder-rules/.eslintrc.json @@ -0,0 +1,26 @@ +{ + "extends": "../../../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "parserOptions": { + "project": [ + "e2e/playwright/folder-rules/tsconfig.e2e.json" + ], + "createDefaultProgram": true + }, + "plugins": [ + "rxjs", + "unicorn" + ], + "rules": { + "@typescript-eslint/no-floating-promises": "off" + } + } + ] +} diff --git a/e2e/playwright/folder-rules/exclude.tests.json b/e2e/playwright/folder-rules/exclude.tests.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/e2e/playwright/folder-rules/exclude.tests.json @@ -0,0 +1 @@ +{} diff --git a/e2e/playwright/folder-rules/playwright.config.ts b/e2e/playwright/folder-rules/playwright.config.ts new file mode 100644 index 000000000..8a4f25ecb --- /dev/null +++ b/e2e/playwright/folder-rules/playwright.config.ts @@ -0,0 +1,44 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +import { PlaywrightTestConfig } from '@playwright/test'; +import { CustomConfig, getGlobalConfig, getExcludedTestsRegExpArray } from '@alfresco/playwright-shared'; +import EXCLUDED_JSON from './exclude.tests.json'; + +const config: PlaywrightTestConfig = { + ...getGlobalConfig, + + grepInvert: getExcludedTestsRegExpArray(EXCLUDED_JSON, 'Folder Rules'), + projects: [ + { + name: 'Folder Rules', + testDir: './src/tests', + use: { + users: ['admin'] + } + } + ] +}; + +export default config; diff --git a/e2e/playwright/folder-rules/project.json b/e2e/playwright/folder-rules/project.json new file mode 100644 index 000000000..f279a4ba6 --- /dev/null +++ b/e2e/playwright/folder-rules/project.json @@ -0,0 +1,34 @@ +{ + "$schema": "../../../node_modules/nx/schemas/project-schema.json", + "name": "folder-rules-e2e", + "sourceRoot": "e2e/playwright/folder-rules/src", + "projectType": "application", + "targets": { + "e2e": { + "executor": "nx:run-commands", + "options": { + "commands": [ + "npx playwright test --config=e2e/playwright/folder-rules/playwright.config.ts" + ] + }, + "configurations": { + "production": { + "devServerTarget": "content-ce:serve:production" + } + } + }, + "lint": { + "executor": "@angular-eslint/builder:lint", + "options": { + "lintFilePatterns": [ + "e2e/**/*.ts", + "e2e/**/*.html" + ], + "cache": true, + "cacheLocation": ".eslintcache", + "ignorePath": ".eslintignore" + }, + "outputs": ["{options.outputFile}"] + } + } +} diff --git a/e2e/playwright/tests/folder-rules/tests/actions.spec.ts b/e2e/playwright/folder-rules/src/tests/actions.spec.ts similarity index 83% rename from e2e/playwright/tests/folder-rules/tests/actions.spec.ts rename to e2e/playwright/folder-rules/src/tests/actions.spec.ts index 860b8354b..2bbcf9542 100644 --- a/e2e/playwright/tests/folder-rules/tests/actions.spec.ts +++ b/e2e/playwright/folder-rules/src/tests/actions.spec.ts @@ -22,10 +22,10 @@ * from Hyland Software. If not, see . */ -import { test } from '../fixtures/page-initialization'; -import { ActionType } from '../page-objects/components/actions-dropdown.component'; import { expect } from '@playwright/test'; +import { ActionType, getUserState, test } from '@alfresco/playwright-shared'; +test.use({ storageState: getUserState('admin') }); test.describe('Folder Rules Actions', () => { const randomFolderName = `playwright-folder-${(Math.random() + 1).toString(36).substring(6)}`; const randomRuleName = `playwright-rule-${(Math.random() + 1).toString(36).substring(6)}`; @@ -36,8 +36,8 @@ test.describe('Folder Rules Actions', () => { let folderId: string; - test.beforeAll(async ({ apiClient }) => { - const node = await apiClient.nodes.createNode('-my-', { name: randomFolderName, nodeType: 'cm:folder', relativePath: '/' }); + test.beforeAll(async ({ superAdminApiClient }) => { + const node = await superAdminApiClient.nodes.createNode('-my-', { name: randomFolderName, nodeType: 'cm:folder', relativePath: '/' }); folderId = node.entry.id; }); @@ -45,15 +45,15 @@ test.describe('Folder Rules Actions', () => { await personalFiles.navigate({ waitUntil: 'domcontentloaded' }); }); - test.afterAll(async ({ apiClient }) => { - await apiClient.nodes.deleteNode(folderId); + test.afterAll(async ({ superAdminApiClient }) => { + await superAdminApiClient.nodes.deleteNode(folderId); }); - test('Create a rule with actions', async ({ personalFiles, nodesPage }) => { + test('[C691637] Create a rule with actions', async ({ personalFiles, nodesPage }) => { await personalFiles.dataTable.performActionFromExpandableMenu(randomFolderName, 'Manage rules'); await nodesPage.toolbar.clickCreateRuleButton(); - await nodesPage.manageRulesDialog.typeRuleName(randomRuleName); + await nodesPage.manageRulesDialog.ruleNameInputLocator.type(randomRuleName); await nodesPage.actionsDropdown.selectAction(ActionType.HideRecord, 0); await nodesPage.actionsDropdown.selectAction(ActionType.IncrementCounter, 1); diff --git a/e2e/playwright/tests/folder-rules/tests/conditions.spec.ts b/e2e/playwright/folder-rules/src/tests/conditions.spec.ts similarity index 77% rename from e2e/playwright/tests/folder-rules/tests/conditions.spec.ts rename to e2e/playwright/folder-rules/src/tests/conditions.spec.ts index ce5136d4e..283ddd5fe 100644 --- a/e2e/playwright/tests/folder-rules/tests/conditions.spec.ts +++ b/e2e/playwright/folder-rules/src/tests/conditions.spec.ts @@ -22,11 +22,10 @@ * from Hyland Software. If not, see . */ -import { test } from '../fixtures/page-initialization'; -import { ActionType } from '../page-objects/components/actions-dropdown.component'; -import { Comparator, Field } from '../page-objects/components/conditions.component'; import { expect } from '@playwright/test'; +import { ActionType, Comparator, Field, getUserState, test } from '@alfresco/playwright-shared'; +test.use({ storageState: getUserState('admin') }); test.describe('Folder Rules Conditions', () => { const randomFolderName = `playwright-folder-${(Math.random() + 1).toString(36).substring(6)}`; const randomRuleName = `playwright-rule-${(Math.random() + 1).toString(36).substring(6)}`; @@ -34,8 +33,8 @@ test.describe('Folder Rules Conditions', () => { let folderId: string; - test.beforeAll(async ({ apiClient }) => { - const node = await apiClient.nodes.createNode('-my-', { name: randomFolderName, nodeType: 'cm:folder', relativePath: '/' }); + test.beforeAll(async ({ superAdminApiClient }) => { + const node = await superAdminApiClient.nodes.createNode('-my-', { name: randomFolderName, nodeType: 'cm:folder', relativePath: '/' }); folderId = node.entry.id; }); @@ -43,18 +42,18 @@ test.describe('Folder Rules Conditions', () => { await personalFiles.navigate(); }); - test.afterAll(async ({ apiClient }) => { - await apiClient.nodes.deleteNode(folderId); + test.afterAll(async ({ superAdminApiClient }) => { + await superAdminApiClient.nodes.deleteNode(folderId); }); - test('Create a rule with condition', async ({ personalFiles, nodesPage }) => { + test('[C691638] Create a rule with condition', async ({ personalFiles, nodesPage }) => { await personalFiles.dataTable.performActionFromExpandableMenu(randomFolderName, 'Manage rules'); await nodesPage.toolbar.clickCreateRuleButton(); - await nodesPage.manageRulesDialog.typeRuleName(randomRuleName); + await nodesPage.manageRulesDialog.ruleNameInputLocator.type(randomRuleName); await nodesPage.conditionsDropdown.addCondition(Field.Size, Comparator.Equals, specialChars, 0); await nodesPage.conditionsDropdown.addCondition(Field.Size, Comparator.Equals, specialChars, 1); - await nodesPage.conditionsDropdown.createConditionGroup(); + await nodesPage.conditionsDropdown.addConditionGroupButton.click(); await nodesPage.conditionsDropdown.addConditionGroup(Field.Size, Comparator.Equals, specialChars, 0); await nodesPage.conditionsDropdown.addConditionGroup(Field.Size, Comparator.Equals, specialChars, 1); await nodesPage.actionsDropdown.selectAction(ActionType.IncrementCounter, 0); diff --git a/e2e/playwright/tests/folder-rules/tests/manage-rules.spec.ts b/e2e/playwright/folder-rules/src/tests/manage-rules.spec.ts similarity index 74% rename from e2e/playwright/tests/folder-rules/tests/manage-rules.spec.ts rename to e2e/playwright/folder-rules/src/tests/manage-rules.spec.ts index 0c18c6106..6683de63e 100644 --- a/e2e/playwright/tests/folder-rules/tests/manage-rules.spec.ts +++ b/e2e/playwright/folder-rules/src/tests/manage-rules.spec.ts @@ -22,29 +22,30 @@ * from Hyland Software. If not, see . */ -import { test } from '../fixtures/page-initialization'; +import { getUserState, test } from '@alfresco/playwright-shared'; +test.use({ storageState: getUserState('admin') }); test.describe('Rules - Manage Rules', () => { const randomName = `playwright-folder-${(Math.random() + 1).toString(36).substring(6)}`; const randomRuleName = `playwright-rule-${(Math.random() + 1).toString(36).substring(6)}`; let folderId: string; - test.beforeAll(async ({ apiClient }) => { - const node = await apiClient.nodes.createNode('-my-', { name: randomName, nodeType: 'cm:folder', relativePath: '/' }); + test.beforeAll(async ({ superAdminApiClient }) => { + const node = await superAdminApiClient.nodes.createNode('-my-', { name: randomName, nodeType: 'cm:folder', relativePath: '/' }); folderId = node.entry.id; - await apiClient.createRandomRule(folderId, randomRuleName); + await superAdminApiClient.createRandomRule(folderId, randomRuleName); }); test.beforeEach(async ({ personalFiles }) => { await personalFiles.navigate(); }); - test.afterAll(async ({ apiClient }) => { - await apiClient.nodes.deleteNode(folderId); + test.afterAll(async ({ superAdminApiClient }) => { + await superAdminApiClient.nodes.deleteNode(folderId); }); - test('Disable an existing rule', async ({ personalFiles, nodesPage }) => { + test('[C691651] Disable an existing rule', async ({ personalFiles, nodesPage }) => { await personalFiles.dataTable.performActionFromExpandableMenu(randomName, 'Manage rules'); await nodesPage.manageRules.disableRuleToggle.click(); }); diff --git a/e2e/playwright/folder-rules/tsconfig.e2e.adf.json b/e2e/playwright/folder-rules/tsconfig.e2e.adf.json new file mode 100644 index 000000000..87cbcf775 --- /dev/null +++ b/e2e/playwright/folder-rules/tsconfig.e2e.adf.json @@ -0,0 +1,15 @@ +{ + "extends": "../../../tsconfig.adf.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node"], + "skipLibCheck": true, + "paths": { + "@alfresco/playwright-shared": ["../../../projects/aca-playwright-shared/src/index.ts"] + } + }, + "exclude": ["node_modules"] +} diff --git a/e2e/playwright/folder-rules/tsconfig.e2e.json b/e2e/playwright/folder-rules/tsconfig.e2e.json new file mode 100755 index 000000000..d1d140fba --- /dev/null +++ b/e2e/playwright/folder-rules/tsconfig.e2e.json @@ -0,0 +1,12 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node", "@playwright/test"], + "skipLibCheck": true, + }, + "exclude": ["node_modules"] +} diff --git a/e2e/playwright/shared/package.json b/e2e/playwright/shared/package.json deleted file mode 100644 index c7bc52fd2..000000000 --- a/e2e/playwright/shared/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name": "playwright-shared", - "version": "3.0.0", - "main": "index.ts", - "dependencies": { - "tslib": "^2.0.0" - } -} diff --git a/e2e/playwright/shared/page-objects/index.ts b/e2e/playwright/shared/page-objects/index.ts deleted file mode 100644 index 7d4708465..000000000 --- a/e2e/playwright/shared/page-objects/index.ts +++ /dev/null @@ -1,29 +0,0 @@ -/*! - * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. - * - * Alfresco Example Content Application - * - * This file is part of the Alfresco Example Content Application. - * If the software was purchased under a paid Alfresco license, the terms of - * the paid license agreement will prevail. Otherwise, the software is - * provided under the following open source license terms: - * - * The Alfresco Example Content Application is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * The Alfresco Example Content Application is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * from Hyland Software. If not, see . - */ - -export * from './global-variables'; -export * from './playwright-base'; -export * from './components'; -export * from './components/dataTable'; -export * from './pages'; diff --git a/e2e/.eslintrc.json b/e2e/protractor/.eslintrc.json similarity index 81% rename from e2e/.eslintrc.json rename to e2e/protractor/.eslintrc.json index 700775812..6ae84700d 100644 --- a/e2e/.eslintrc.json +++ b/e2e/protractor/.eslintrc.json @@ -1,5 +1,5 @@ { - "extends": "../.eslintrc.json", + "extends": "../../.eslintrc.json", "ignorePatterns": [ "!**/*" ], @@ -10,7 +10,7 @@ ], "parserOptions": { "project": [ - "e2e/tsconfig.e2e.json" + "e2e/protractor/tsconfig.e2e.json" ], "createDefaultProgram": true }, diff --git a/e2e/e2e-config/utils/build-number.js b/e2e/protractor/e2e-config/utils/build-number.js similarity index 100% rename from e2e/e2e-config/utils/build-number.js rename to e2e/protractor/e2e-config/utils/build-number.js diff --git a/e2e/e2e-config/utils/upload-output.js b/e2e/protractor/e2e-config/utils/upload-output.js similarity index 100% rename from e2e/e2e-config/utils/upload-output.js rename to e2e/protractor/e2e-config/utils/upload-output.js diff --git a/e2e/project.json b/e2e/protractor/project.json similarity index 92% rename from e2e/project.json rename to e2e/protractor/project.json index db7613fd9..ca6a4c653 100644 --- a/e2e/project.json +++ b/e2e/protractor/project.json @@ -1,5 +1,5 @@ { - "$schema": "../node_modules/nx/schemas/project-schema.json", + "$schema": "../../node_modules/nx/schemas/project-schema.json", "name": "app-e2e", "sourceRoot": "e2e", "projectType": "application", diff --git a/e2e/protractor.excludes.json b/e2e/protractor/protractor.excludes.json similarity index 100% rename from e2e/protractor.excludes.json rename to e2e/protractor/protractor.excludes.json diff --git a/e2e/resources/extensibility-configs/context-submenus-ext.json b/e2e/protractor/resources/extensibility-configs/context-submenus-ext.json similarity index 99% rename from e2e/resources/extensibility-configs/context-submenus-ext.json rename to e2e/protractor/resources/extensibility-configs/context-submenus-ext.json index 94bb45d02..336f324a7 100644 --- a/e2e/resources/extensibility-configs/context-submenus-ext.json +++ b/e2e/protractor/resources/extensibility-configs/context-submenus-ext.json @@ -1,5 +1,5 @@ { - "$schema": "../../extension.schema.json", + "$schema": "../../../../extension.schema.json", "$id": "app.core", "$name": "app.core", "$version": "1.0.0", diff --git a/e2e/resources/extensibility-configs/document-presets-ext.json b/e2e/protractor/resources/extensibility-configs/document-presets-ext.json similarity index 99% rename from e2e/resources/extensibility-configs/document-presets-ext.json rename to e2e/protractor/resources/extensibility-configs/document-presets-ext.json index fc3ab4bbc..84229b582 100644 --- a/e2e/resources/extensibility-configs/document-presets-ext.json +++ b/e2e/protractor/resources/extensibility-configs/document-presets-ext.json @@ -1,5 +1,5 @@ { - "$schema": "../../extension.schema.json", + "$schema": "../../../../extension.schema.json", "$id": "app.core", "$name": "app.core", "$version": "1.0.0", diff --git a/e2e/resources/extensibility-configs/header-ext.json b/e2e/protractor/resources/extensibility-configs/header-ext.json similarity index 99% rename from e2e/resources/extensibility-configs/header-ext.json rename to e2e/protractor/resources/extensibility-configs/header-ext.json index 5b5ea0efa..7d265f828 100644 --- a/e2e/resources/extensibility-configs/header-ext.json +++ b/e2e/protractor/resources/extensibility-configs/header-ext.json @@ -1,5 +1,5 @@ { - "$schema": "../../extension.schema.json", + "$schema": "../../../../extension.schema.json", "$id": "app.core", "$name": "app.core", "$version": "1.0.0", diff --git a/e2e/resources/extensibility-configs/info-drawer-ext.json b/e2e/protractor/resources/extensibility-configs/info-drawer-ext.json similarity index 99% rename from e2e/resources/extensibility-configs/info-drawer-ext.json rename to e2e/protractor/resources/extensibility-configs/info-drawer-ext.json index f03205721..333933877 100644 --- a/e2e/resources/extensibility-configs/info-drawer-ext.json +++ b/e2e/protractor/resources/extensibility-configs/info-drawer-ext.json @@ -1,5 +1,5 @@ { - "$schema": "../../extension.schema.json", + "$schema": "../../../../extension.schema.json", "$id": "app.core", "$name": "app.core", "$version": "1.0.0", diff --git a/e2e/resources/extensibility-configs/info-drawer-no-tabs-ext.json b/e2e/protractor/resources/extensibility-configs/info-drawer-no-tabs-ext.json similarity index 99% rename from e2e/resources/extensibility-configs/info-drawer-no-tabs-ext.json rename to e2e/protractor/resources/extensibility-configs/info-drawer-no-tabs-ext.json index d50b8d784..531c134f5 100644 --- a/e2e/resources/extensibility-configs/info-drawer-no-tabs-ext.json +++ b/e2e/protractor/resources/extensibility-configs/info-drawer-no-tabs-ext.json @@ -1,5 +1,5 @@ { - "$schema": "../../extension.schema.json", + "$schema": "../../../../extension.schema.json", "$id": "app.core", "$name": "app.core", "$version": "1.0.0", diff --git a/e2e/resources/extensibility-configs/metadata-ext.json b/e2e/protractor/resources/extensibility-configs/metadata-ext.json similarity index 99% rename from e2e/resources/extensibility-configs/metadata-ext.json rename to e2e/protractor/resources/extensibility-configs/metadata-ext.json index ea508fdd5..3fc4312a9 100644 --- a/e2e/resources/extensibility-configs/metadata-ext.json +++ b/e2e/protractor/resources/extensibility-configs/metadata-ext.json @@ -1,5 +1,5 @@ { - "$schema": "../../extension.schema.json", + "$schema": "../../../../extension.schema.json", "$id": "app.core", "$name": "app.core", "$version": "1.0.0", diff --git a/e2e/resources/extensibility-configs/viewer-ext.json b/e2e/protractor/resources/extensibility-configs/viewer-ext.json similarity index 99% rename from e2e/resources/extensibility-configs/viewer-ext.json rename to e2e/protractor/resources/extensibility-configs/viewer-ext.json index be6702d8e..141e1c8c3 100644 --- a/e2e/resources/extensibility-configs/viewer-ext.json +++ b/e2e/protractor/resources/extensibility-configs/viewer-ext.json @@ -1,5 +1,5 @@ { - "$schema": "../../extension.schema.json", + "$schema": "../../../../extension.schema.json", "$id": "app.core", "$name": "app.core", "$version": "1.0.0", diff --git a/e2e/resources/test-files/file-docx.docx b/e2e/protractor/resources/test-files/file-docx.docx similarity index 100% rename from e2e/resources/test-files/file-docx.docx rename to e2e/protractor/resources/test-files/file-docx.docx diff --git a/e2e/resources/test-files/file-jpg.jpg b/e2e/protractor/resources/test-files/file-jpg.jpg similarity index 100% rename from e2e/resources/test-files/file-jpg.jpg rename to e2e/protractor/resources/test-files/file-jpg.jpg diff --git a/e2e/resources/test-files/file-pdf.pdf b/e2e/protractor/resources/test-files/file-pdf.pdf similarity index 100% rename from e2e/resources/test-files/file-pdf.pdf rename to e2e/protractor/resources/test-files/file-pdf.pdf diff --git a/e2e/resources/test-files/file-xlsx.xlsx b/e2e/protractor/resources/test-files/file-xlsx.xlsx similarity index 100% rename from e2e/resources/test-files/file-xlsx.xlsx rename to e2e/protractor/resources/test-files/file-xlsx.xlsx diff --git a/e2e/resources/test-files/file2-docx.docx b/e2e/protractor/resources/test-files/file2-docx.docx similarity index 100% rename from e2e/resources/test-files/file2-docx.docx rename to e2e/protractor/resources/test-files/file2-docx.docx diff --git a/e2e/resources/test-files/file2-xlsx.xlsx b/e2e/protractor/resources/test-files/file2-xlsx.xlsx similarity index 100% rename from e2e/resources/test-files/file2-xlsx.xlsx rename to e2e/protractor/resources/test-files/file2-xlsx.xlsx diff --git a/e2e/resources/test-files/file_unsupported.3DS b/e2e/protractor/resources/test-files/file_unsupported.3DS similarity index 100% rename from e2e/resources/test-files/file_unsupported.3DS rename to e2e/protractor/resources/test-files/file_unsupported.3DS diff --git a/e2e/resources/test-files/protected.pdf b/e2e/protractor/resources/test-files/protected.pdf similarity index 100% rename from e2e/resources/test-files/protected.pdf rename to e2e/protractor/resources/test-files/protected.pdf diff --git a/e2e/smartrunner-factory.js b/e2e/protractor/smartrunner-factory.js similarity index 100% rename from e2e/smartrunner-factory.js rename to e2e/protractor/smartrunner-factory.js diff --git a/e2e/suites/actions-available/files-folders/folders-actions.test.ts b/e2e/protractor/suites/actions-available/files-folders/folders-actions.test.ts similarity index 100% rename from e2e/suites/actions-available/files-folders/folders-actions.test.ts rename to e2e/protractor/suites/actions-available/files-folders/folders-actions.test.ts diff --git a/e2e/suites/actions-available/files-folders/generic.test.ts b/e2e/protractor/suites/actions-available/files-folders/generic.test.ts similarity index 100% rename from e2e/suites/actions-available/files-folders/generic.test.ts rename to e2e/protractor/suites/actions-available/files-folders/generic.test.ts diff --git a/e2e/suites/actions-available/files-folders/locked-files-actions.test.ts b/e2e/protractor/suites/actions-available/files-folders/locked-files-actions.test.ts similarity index 100% rename from e2e/suites/actions-available/files-folders/locked-files-actions.test.ts rename to e2e/protractor/suites/actions-available/files-folders/locked-files-actions.test.ts diff --git a/e2e/suites/actions-available/files-folders/multiple-files-actions.test.ts b/e2e/protractor/suites/actions-available/files-folders/multiple-files-actions.test.ts similarity index 100% rename from e2e/suites/actions-available/files-folders/multiple-files-actions.test.ts rename to e2e/protractor/suites/actions-available/files-folders/multiple-files-actions.test.ts diff --git a/e2e/suites/actions-available/files-folders/office-files-actions.test.ts b/e2e/protractor/suites/actions-available/files-folders/office-files-actions.test.ts similarity index 100% rename from e2e/suites/actions-available/files-folders/office-files-actions.test.ts rename to e2e/protractor/suites/actions-available/files-folders/office-files-actions.test.ts diff --git a/e2e/suites/actions-available/files-folders/single-file-actions.test.ts b/e2e/protractor/suites/actions-available/files-folders/single-file-actions.test.ts similarity index 100% rename from e2e/suites/actions-available/files-folders/single-file-actions.test.ts rename to e2e/protractor/suites/actions-available/files-folders/single-file-actions.test.ts diff --git a/e2e/suites/actions-available/files-folders/test-data.ts b/e2e/protractor/suites/actions-available/files-folders/test-data.ts similarity index 100% rename from e2e/suites/actions-available/files-folders/test-data.ts rename to e2e/protractor/suites/actions-available/files-folders/test-data.ts diff --git a/e2e/suites/actions-available/files-folders/trash.test.ts b/e2e/protractor/suites/actions-available/files-folders/trash.test.ts similarity index 100% rename from e2e/suites/actions-available/files-folders/trash.test.ts rename to e2e/protractor/suites/actions-available/files-folders/trash.test.ts diff --git a/e2e/suites/actions-available/libraries/library-trash.test.ts b/e2e/protractor/suites/actions-available/libraries/library-trash.test.ts similarity index 100% rename from e2e/suites/actions-available/libraries/library-trash.test.ts rename to e2e/protractor/suites/actions-available/libraries/library-trash.test.ts diff --git a/e2e/suites/actions-available/libraries/library.test.ts b/e2e/protractor/suites/actions-available/libraries/library.test.ts similarity index 100% rename from e2e/suites/actions-available/libraries/library.test.ts rename to e2e/protractor/suites/actions-available/libraries/library.test.ts diff --git a/e2e/suites/actions-available/libraries/test-data-libraries.ts b/e2e/protractor/suites/actions-available/libraries/test-data-libraries.ts similarity index 100% rename from e2e/suites/actions-available/libraries/test-data-libraries.ts rename to e2e/protractor/suites/actions-available/libraries/test-data-libraries.ts diff --git a/e2e/suites/actions-available/new-menu/new-menu.test.ts b/e2e/protractor/suites/actions-available/new-menu/new-menu.test.ts similarity index 100% rename from e2e/suites/actions-available/new-menu/new-menu.test.ts rename to e2e/protractor/suites/actions-available/new-menu/new-menu.test.ts diff --git a/e2e/suites/actions-available/special-permissions/favorites.ts b/e2e/protractor/suites/actions-available/special-permissions/favorites.ts similarity index 100% rename from e2e/suites/actions-available/special-permissions/favorites.ts rename to e2e/protractor/suites/actions-available/special-permissions/favorites.ts diff --git a/e2e/suites/actions-available/special-permissions/my-libraries.ts b/e2e/protractor/suites/actions-available/special-permissions/my-libraries.ts similarity index 100% rename from e2e/suites/actions-available/special-permissions/my-libraries.ts rename to e2e/protractor/suites/actions-available/special-permissions/my-libraries.ts diff --git a/e2e/suites/actions-available/special-permissions/other-permissions.ts b/e2e/protractor/suites/actions-available/special-permissions/other-permissions.ts similarity index 100% rename from e2e/suites/actions-available/special-permissions/other-permissions.ts rename to e2e/protractor/suites/actions-available/special-permissions/other-permissions.ts diff --git a/e2e/suites/actions-available/special-permissions/search-results.ts b/e2e/protractor/suites/actions-available/special-permissions/search-results.ts similarity index 100% rename from e2e/suites/actions-available/special-permissions/search-results.ts rename to e2e/protractor/suites/actions-available/special-permissions/search-results.ts diff --git a/e2e/suites/actions-available/special-permissions/shared-files.ts b/e2e/protractor/suites/actions-available/special-permissions/shared-files.ts similarity index 100% rename from e2e/suites/actions-available/special-permissions/shared-files.ts rename to e2e/protractor/suites/actions-available/special-permissions/shared-files.ts diff --git a/e2e/suites/actions-available/special-permissions/special-permissions-actions.test.ts b/e2e/protractor/suites/actions-available/special-permissions/special-permissions-actions.test.ts similarity index 100% rename from e2e/suites/actions-available/special-permissions/special-permissions-actions.test.ts rename to e2e/protractor/suites/actions-available/special-permissions/special-permissions-actions.test.ts diff --git a/e2e/suites/actions-available/special-permissions/test-data-permissions.ts b/e2e/protractor/suites/actions-available/special-permissions/test-data-permissions.ts similarity index 100% rename from e2e/suites/actions-available/special-permissions/test-data-permissions.ts rename to e2e/protractor/suites/actions-available/special-permissions/test-data-permissions.ts diff --git a/e2e/suites/actions-available/special-permissions/viewer.ts b/e2e/protractor/suites/actions-available/special-permissions/viewer.ts similarity index 100% rename from e2e/suites/actions-available/special-permissions/viewer.ts rename to e2e/protractor/suites/actions-available/special-permissions/viewer.ts diff --git a/e2e/suites/actions-available/test-util.ts b/e2e/protractor/suites/actions-available/test-util.ts similarity index 100% rename from e2e/suites/actions-available/test-util.ts rename to e2e/protractor/suites/actions-available/test-util.ts diff --git a/e2e/suites/actions/copy-move/copy.test.ts b/e2e/protractor/suites/actions/copy-move/copy.test.ts similarity index 100% rename from e2e/suites/actions/copy-move/copy.test.ts rename to e2e/protractor/suites/actions/copy-move/copy.test.ts diff --git a/e2e/suites/actions/copy-move/destination-picker-dialog.test.ts b/e2e/protractor/suites/actions/copy-move/destination-picker-dialog.test.ts similarity index 100% rename from e2e/suites/actions/copy-move/destination-picker-dialog.test.ts rename to e2e/protractor/suites/actions/copy-move/destination-picker-dialog.test.ts diff --git a/e2e/suites/actions/copy-move/move.test.ts b/e2e/protractor/suites/actions/copy-move/move.test.ts similarity index 100% rename from e2e/suites/actions/copy-move/move.test.ts rename to e2e/protractor/suites/actions/copy-move/move.test.ts diff --git a/e2e/suites/actions/create/create-file-from-template.test.ts b/e2e/protractor/suites/actions/create/create-file-from-template.test.ts similarity index 100% rename from e2e/suites/actions/create/create-file-from-template.test.ts rename to e2e/protractor/suites/actions/create/create-file-from-template.test.ts diff --git a/e2e/suites/actions/create/create-folder-from-template.test.ts b/e2e/protractor/suites/actions/create/create-folder-from-template.test.ts similarity index 100% rename from e2e/suites/actions/create/create-folder-from-template.test.ts rename to e2e/protractor/suites/actions/create/create-folder-from-template.test.ts diff --git a/e2e/suites/actions/create/create-folder.test.ts b/e2e/protractor/suites/actions/create/create-folder.test.ts similarity index 100% rename from e2e/suites/actions/create/create-folder.test.ts rename to e2e/protractor/suites/actions/create/create-folder.test.ts diff --git a/e2e/suites/actions/create/create-library.test.ts b/e2e/protractor/suites/actions/create/create-library.test.ts similarity index 100% rename from e2e/suites/actions/create/create-library.test.ts rename to e2e/protractor/suites/actions/create/create-library.test.ts diff --git a/e2e/suites/actions/delete/delete-undo-delete.test.ts b/e2e/protractor/suites/actions/delete/delete-undo-delete.test.ts similarity index 100% rename from e2e/suites/actions/delete/delete-undo-delete.test.ts rename to e2e/protractor/suites/actions/delete/delete-undo-delete.test.ts diff --git a/e2e/suites/actions/delete/permanently-delete.test.ts b/e2e/protractor/suites/actions/delete/permanently-delete.test.ts similarity index 100% rename from e2e/suites/actions/delete/permanently-delete.test.ts rename to e2e/protractor/suites/actions/delete/permanently-delete.test.ts diff --git a/e2e/suites/actions/delete/restore.test.ts b/e2e/protractor/suites/actions/delete/restore.test.ts similarity index 100% rename from e2e/suites/actions/delete/restore.test.ts rename to e2e/protractor/suites/actions/delete/restore.test.ts diff --git a/e2e/suites/actions/edit/edit-folder.test.ts b/e2e/protractor/suites/actions/edit/edit-folder.test.ts similarity index 100% rename from e2e/suites/actions/edit/edit-folder.test.ts rename to e2e/protractor/suites/actions/edit/edit-folder.test.ts diff --git a/e2e/suites/actions/edit/edit-offline.test.ts b/e2e/protractor/suites/actions/edit/edit-offline.test.ts similarity index 100% rename from e2e/suites/actions/edit/edit-offline.test.ts rename to e2e/protractor/suites/actions/edit/edit-offline.test.ts diff --git a/e2e/suites/actions/favorite/mark-favorite.test.ts b/e2e/protractor/suites/actions/favorite/mark-favorite.test.ts similarity index 100% rename from e2e/suites/actions/favorite/mark-favorite.test.ts rename to e2e/protractor/suites/actions/favorite/mark-favorite.test.ts diff --git a/e2e/suites/actions/library/library-actions.test.ts b/e2e/protractor/suites/actions/library/library-actions.test.ts similarity index 100% rename from e2e/suites/actions/library/library-actions.test.ts rename to e2e/protractor/suites/actions/library/library-actions.test.ts diff --git a/e2e/suites/actions/share/share-file.test.ts b/e2e/protractor/suites/actions/share/share-file.test.ts similarity index 100% rename from e2e/suites/actions/share/share-file.test.ts rename to e2e/protractor/suites/actions/share/share-file.test.ts diff --git a/e2e/suites/actions/share/unshare-file-search-results.test.ts b/e2e/protractor/suites/actions/share/unshare-file-search-results.test.ts similarity index 100% rename from e2e/suites/actions/share/unshare-file-search-results.test.ts rename to e2e/protractor/suites/actions/share/unshare-file-search-results.test.ts diff --git a/e2e/suites/actions/upload-download/download.test.ts b/e2e/protractor/suites/actions/upload-download/download.test.ts similarity index 100% rename from e2e/suites/actions/upload-download/download.test.ts rename to e2e/protractor/suites/actions/upload-download/download.test.ts diff --git a/e2e/suites/actions/upload-download/upload-file.test.ts b/e2e/protractor/suites/actions/upload-download/upload-file.test.ts similarity index 100% rename from e2e/suites/actions/upload-download/upload-file.test.ts rename to e2e/protractor/suites/actions/upload-download/upload-file.test.ts diff --git a/e2e/suites/actions/upload-download/upload-new-version.test.ts b/e2e/protractor/suites/actions/upload-download/upload-new-version.test.ts similarity index 100% rename from e2e/suites/actions/upload-download/upload-new-version.test.ts rename to e2e/protractor/suites/actions/upload-download/upload-new-version.test.ts diff --git a/e2e/suites/actions/upload-download/version-actions.test.ts b/e2e/protractor/suites/actions/upload-download/version-actions.test.ts similarity index 100% rename from e2e/suites/actions/upload-download/version-actions.test.ts rename to e2e/protractor/suites/actions/upload-download/version-actions.test.ts diff --git a/e2e/suites/application/general.test.ts b/e2e/protractor/suites/application/general.test.ts similarity index 100% rename from e2e/suites/application/general.test.ts rename to e2e/protractor/suites/application/general.test.ts diff --git a/e2e/suites/application/page-titles.test.ts b/e2e/protractor/suites/application/page-titles.test.ts similarity index 100% rename from e2e/suites/application/page-titles.test.ts rename to e2e/protractor/suites/application/page-titles.test.ts diff --git a/e2e/suites/authentication/login.test.ts b/e2e/protractor/suites/authentication/login.test.ts similarity index 100% rename from e2e/suites/authentication/login.test.ts rename to e2e/protractor/suites/authentication/login.test.ts diff --git a/e2e/suites/authentication/logout.test.ts b/e2e/protractor/suites/authentication/logout.test.ts similarity index 100% rename from e2e/suites/authentication/logout.test.ts rename to e2e/protractor/suites/authentication/logout.test.ts diff --git a/e2e/suites/extensions/ext-context-submenus.test.ts b/e2e/protractor/suites/extensions/ext-context-submenus.test.ts similarity index 100% rename from e2e/suites/extensions/ext-context-submenus.test.ts rename to e2e/protractor/suites/extensions/ext-context-submenus.test.ts diff --git a/e2e/suites/extensions/ext-document-list.test.ts b/e2e/protractor/suites/extensions/ext-document-list.test.ts similarity index 100% rename from e2e/suites/extensions/ext-document-list.test.ts rename to e2e/protractor/suites/extensions/ext-document-list.test.ts diff --git a/e2e/suites/extensions/ext-header.test.ts b/e2e/protractor/suites/extensions/ext-header.test.ts similarity index 100% rename from e2e/suites/extensions/ext-header.test.ts rename to e2e/protractor/suites/extensions/ext-header.test.ts diff --git a/e2e/suites/extensions/ext-info-drawer.test.ts b/e2e/protractor/suites/extensions/ext-info-drawer.test.ts similarity index 100% rename from e2e/suites/extensions/ext-info-drawer.test.ts rename to e2e/protractor/suites/extensions/ext-info-drawer.test.ts diff --git a/e2e/suites/extensions/ext-metadata.test.ts b/e2e/protractor/suites/extensions/ext-metadata.test.ts similarity index 100% rename from e2e/suites/extensions/ext-metadata.test.ts rename to e2e/protractor/suites/extensions/ext-metadata.test.ts diff --git a/e2e/suites/extensions/ext-viewer.test.ts b/e2e/protractor/suites/extensions/ext-viewer.test.ts similarity index 100% rename from e2e/suites/extensions/ext-viewer.test.ts rename to e2e/protractor/suites/extensions/ext-viewer.test.ts diff --git a/e2e/suites/info-drawer/comments.test.ts b/e2e/protractor/suites/info-drawer/comments.test.ts similarity index 100% rename from e2e/suites/info-drawer/comments.test.ts rename to e2e/protractor/suites/info-drawer/comments.test.ts diff --git a/e2e/suites/info-drawer/file-folder-properties.test.ts b/e2e/protractor/suites/info-drawer/file-folder-properties.test.ts similarity index 100% rename from e2e/suites/info-drawer/file-folder-properties.test.ts rename to e2e/protractor/suites/info-drawer/file-folder-properties.test.ts diff --git a/e2e/suites/info-drawer/file-preview.test.ts b/e2e/protractor/suites/info-drawer/file-preview.test.ts similarity index 100% rename from e2e/suites/info-drawer/file-preview.test.ts rename to e2e/protractor/suites/info-drawer/file-preview.test.ts diff --git a/e2e/suites/info-drawer/general.test.ts b/e2e/protractor/suites/info-drawer/general.test.ts similarity index 100% rename from e2e/suites/info-drawer/general.test.ts rename to e2e/protractor/suites/info-drawer/general.test.ts diff --git a/e2e/suites/info-drawer/library-properties.test.ts b/e2e/protractor/suites/info-drawer/library-properties.test.ts similarity index 100% rename from e2e/suites/info-drawer/library-properties.test.ts rename to e2e/protractor/suites/info-drawer/library-properties.test.ts diff --git a/e2e/suites/list-views/empty-list.test.ts b/e2e/protractor/suites/list-views/empty-list.test.ts similarity index 100% rename from e2e/suites/list-views/empty-list.test.ts rename to e2e/protractor/suites/list-views/empty-list.test.ts diff --git a/e2e/suites/list-views/favorites.test.ts b/e2e/protractor/suites/list-views/favorites.test.ts similarity index 100% rename from e2e/suites/list-views/favorites.test.ts rename to e2e/protractor/suites/list-views/favorites.test.ts diff --git a/e2e/suites/list-views/file-libraries.test.ts b/e2e/protractor/suites/list-views/file-libraries.test.ts similarity index 100% rename from e2e/suites/list-views/file-libraries.test.ts rename to e2e/protractor/suites/list-views/file-libraries.test.ts diff --git a/e2e/suites/list-views/generic-errors.test.ts b/e2e/protractor/suites/list-views/generic-errors.test.ts similarity index 100% rename from e2e/suites/list-views/generic-errors.test.ts rename to e2e/protractor/suites/list-views/generic-errors.test.ts diff --git a/e2e/suites/list-views/permissions.test.ts b/e2e/protractor/suites/list-views/permissions.test.ts similarity index 100% rename from e2e/suites/list-views/permissions.test.ts rename to e2e/protractor/suites/list-views/permissions.test.ts diff --git a/e2e/suites/list-views/personal-files.test.ts b/e2e/protractor/suites/list-views/personal-files.test.ts similarity index 100% rename from e2e/suites/list-views/personal-files.test.ts rename to e2e/protractor/suites/list-views/personal-files.test.ts diff --git a/e2e/suites/list-views/recent-files.test.ts b/e2e/protractor/suites/list-views/recent-files.test.ts similarity index 100% rename from e2e/suites/list-views/recent-files.test.ts rename to e2e/protractor/suites/list-views/recent-files.test.ts diff --git a/e2e/suites/list-views/shared-files.test.ts b/e2e/protractor/suites/list-views/shared-files.test.ts similarity index 100% rename from e2e/suites/list-views/shared-files.test.ts rename to e2e/protractor/suites/list-views/shared-files.test.ts diff --git a/e2e/suites/list-views/sort-list.test.ts b/e2e/protractor/suites/list-views/sort-list.test.ts similarity index 100% rename from e2e/suites/list-views/sort-list.test.ts rename to e2e/protractor/suites/list-views/sort-list.test.ts diff --git a/e2e/suites/list-views/tooltips.test.ts b/e2e/protractor/suites/list-views/tooltips.test.ts similarity index 100% rename from e2e/suites/list-views/tooltips.test.ts rename to e2e/protractor/suites/list-views/tooltips.test.ts diff --git a/e2e/suites/list-views/trash.test.ts b/e2e/protractor/suites/list-views/trash.test.ts similarity index 100% rename from e2e/suites/list-views/trash.test.ts rename to e2e/protractor/suites/list-views/trash.test.ts diff --git a/e2e/suites/navigation/breadcrumb.test.ts b/e2e/protractor/suites/navigation/breadcrumb.test.ts similarity index 100% rename from e2e/suites/navigation/breadcrumb.test.ts rename to e2e/protractor/suites/navigation/breadcrumb.test.ts diff --git a/e2e/suites/navigation/sidebar.test.ts b/e2e/protractor/suites/navigation/sidebar.test.ts similarity index 100% rename from e2e/suites/navigation/sidebar.test.ts rename to e2e/protractor/suites/navigation/sidebar.test.ts diff --git a/e2e/suites/navigation/single-click.test.ts b/e2e/protractor/suites/navigation/single-click.test.ts similarity index 100% rename from e2e/suites/navigation/single-click.test.ts rename to e2e/protractor/suites/navigation/single-click.test.ts diff --git a/e2e/suites/pagination/favorites.ts b/e2e/protractor/suites/pagination/favorites.ts similarity index 100% rename from e2e/suites/pagination/favorites.ts rename to e2e/protractor/suites/pagination/favorites.ts diff --git a/e2e/suites/pagination/multiple-pages-files.test.ts b/e2e/protractor/suites/pagination/multiple-pages-files.test.ts similarity index 100% rename from e2e/suites/pagination/multiple-pages-files.test.ts rename to e2e/protractor/suites/pagination/multiple-pages-files.test.ts diff --git a/e2e/suites/pagination/multiple-pages-libraries.test.ts b/e2e/protractor/suites/pagination/multiple-pages-libraries.test.ts similarity index 100% rename from e2e/suites/pagination/multiple-pages-libraries.test.ts rename to e2e/protractor/suites/pagination/multiple-pages-libraries.test.ts diff --git a/e2e/suites/pagination/multiple-pages-trash.test.ts b/e2e/protractor/suites/pagination/multiple-pages-trash.test.ts similarity index 100% rename from e2e/suites/pagination/multiple-pages-trash.test.ts rename to e2e/protractor/suites/pagination/multiple-pages-trash.test.ts diff --git a/e2e/suites/pagination/personal-files.ts b/e2e/protractor/suites/pagination/personal-files.ts similarity index 100% rename from e2e/suites/pagination/personal-files.ts rename to e2e/protractor/suites/pagination/personal-files.ts diff --git a/e2e/suites/pagination/recent-files.ts b/e2e/protractor/suites/pagination/recent-files.ts similarity index 100% rename from e2e/suites/pagination/recent-files.ts rename to e2e/protractor/suites/pagination/recent-files.ts diff --git a/e2e/suites/pagination/search-results.ts b/e2e/protractor/suites/pagination/search-results.ts similarity index 100% rename from e2e/suites/pagination/search-results.ts rename to e2e/protractor/suites/pagination/search-results.ts diff --git a/e2e/suites/pagination/shared-files.ts b/e2e/protractor/suites/pagination/shared-files.ts similarity index 100% rename from e2e/suites/pagination/shared-files.ts rename to e2e/protractor/suites/pagination/shared-files.ts diff --git a/e2e/suites/pagination/single-page.test.ts b/e2e/protractor/suites/pagination/single-page.test.ts similarity index 100% rename from e2e/suites/pagination/single-page.test.ts rename to e2e/protractor/suites/pagination/single-page.test.ts diff --git a/e2e/suites/search/search-filters.test.ts b/e2e/protractor/suites/search/search-filters.test.ts similarity index 100% rename from e2e/suites/search/search-filters.test.ts rename to e2e/protractor/suites/search/search-filters.test.ts diff --git a/e2e/suites/search/search-input.test.ts b/e2e/protractor/suites/search/search-input.test.ts similarity index 100% rename from e2e/suites/search/search-input.test.ts rename to e2e/protractor/suites/search/search-input.test.ts diff --git a/e2e/suites/search/search-results-files-folders.test.ts b/e2e/protractor/suites/search/search-results-files-folders.test.ts similarity index 100% rename from e2e/suites/search/search-results-files-folders.test.ts rename to e2e/protractor/suites/search/search-results-files-folders.test.ts diff --git a/e2e/suites/search/search-results-general.test.ts b/e2e/protractor/suites/search/search-results-general.test.ts similarity index 100% rename from e2e/suites/search/search-results-general.test.ts rename to e2e/protractor/suites/search/search-results-general.test.ts diff --git a/e2e/suites/search/search-results-libraries.test.ts b/e2e/protractor/suites/search/search-results-libraries.test.ts similarity index 100% rename from e2e/suites/search/search-results-libraries.test.ts rename to e2e/protractor/suites/search/search-results-libraries.test.ts diff --git a/e2e/suites/search/search-sorting.test.ts b/e2e/protractor/suites/search/search-sorting.test.ts similarity index 100% rename from e2e/suites/search/search-sorting.test.ts rename to e2e/protractor/suites/search/search-sorting.test.ts diff --git a/e2e/suites/viewer/viewer-actions.test.ts b/e2e/protractor/suites/viewer/viewer-actions.test.ts similarity index 100% rename from e2e/suites/viewer/viewer-actions.test.ts rename to e2e/protractor/suites/viewer/viewer-actions.test.ts diff --git a/e2e/suites/viewer/viewer-general.test.ts b/e2e/protractor/suites/viewer/viewer-general.test.ts similarity index 100% rename from e2e/suites/viewer/viewer-general.test.ts rename to e2e/protractor/suites/viewer/viewer-general.test.ts diff --git a/e2e/suites/viewer/viewer-protected-file.test.ts b/e2e/protractor/suites/viewer/viewer-protected-file.test.ts similarity index 100% rename from e2e/suites/viewer/viewer-protected-file.test.ts rename to e2e/protractor/suites/viewer/viewer-protected-file.test.ts diff --git a/e2e/tsconfig.e2e.adf.json b/e2e/protractor/tsconfig.e2e.adf.json similarity index 58% rename from e2e/tsconfig.e2e.adf.json rename to e2e/protractor/tsconfig.e2e.adf.json index 7ce2a4a8e..1b1fa99bb 100644 --- a/e2e/tsconfig.e2e.adf.json +++ b/e2e/protractor/tsconfig.e2e.adf.json @@ -1,14 +1,14 @@ { - "extends": "../tsconfig.adf.json", + "extends": "../../tsconfig.adf.json", "compilerOptions": { - "outDir": "../out-tsc/e2e", + "outDir": "../../out-tsc/e2e", "baseUrl": "./", "module": "commonjs", "target": "es2017", "types": ["jasmine", "jasminewd2", "node"], "skipLibCheck": true, "paths": { - "@alfresco/aca-testing-shared": ["../projects/aca-testing-shared/src/index.ts"] + "@alfresco/aca-testing-shared": ["../../projects/aca-testing-shared/src/index.ts"] } }, "exclude": ["node_modules"] diff --git a/e2e/protractor/tsconfig.e2e.json b/e2e/protractor/tsconfig.e2e.json new file mode 100755 index 000000000..14c0002b0 --- /dev/null +++ b/e2e/protractor/tsconfig.e2e.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node", "@playwright/test"], + "skipLibCheck": true, + "paths": { + "@alfresco/aca-testing-shared": ["../../projects/aca-testing-shared/src/index.ts"], + "@alfresco/playwright-shared": ["../../projects/aca-playwright-shared/src/index.ts"] + } + }, + "exclude": ["node_modules"] +} diff --git a/e2e/tsconfig.e2e.json b/e2e/tsconfig.e2e.json deleted file mode 100755 index 1a23ff5b8..000000000 --- a/e2e/tsconfig.e2e.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../tsconfig.json", - "compilerOptions": { - "outDir": "../out-tsc/e2e", - "baseUrl": "./", - "module": "commonjs", - "target": "es2017", - "types": ["jasmine", "jasminewd2", "node", "@playwright/test"], - "skipLibCheck": true, - "paths": { - "@alfresco/aca-testing-shared": ["../projects/aca-testing-shared/src/index.ts"], - "@alfresco/playwright-shared": ["./playwright/shared/index.ts"] - } - }, - "exclude": ["node_modules"] -} diff --git a/projects/aca-playwright-shared/package.json b/projects/aca-playwright-shared/package.json new file mode 100644 index 000000000..75014efa3 --- /dev/null +++ b/projects/aca-playwright-shared/package.json @@ -0,0 +1,13 @@ +{ + "name": "aca-playwright-shared", + "version": "3.0.0", + "license": "LGPL-3.0", + "main": "src/index.ts", + "dependencies": { + "tslib": "^2.0.0" + }, + "repository": { + "type": "git", + "url": "https://github.com/Alfresco/alfresco-content-app.git" + } +} diff --git a/projects/aca-playwright-shared/project.json b/projects/aca-playwright-shared/project.json new file mode 100644 index 000000000..fc840b198 --- /dev/null +++ b/projects/aca-playwright-shared/project.json @@ -0,0 +1,7 @@ +{ + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "name": "playwright-shared", + "sourceRoot": "projects/aca-playwright-shared/src", + "projectType": "library", + "prefix": "lib" +} diff --git a/e2e/playwright/shared/api/api-client-factory.ts b/projects/aca-playwright-shared/src/api/api-client-factory.ts similarity index 99% rename from e2e/playwright/shared/api/api-client-factory.ts rename to projects/aca-playwright-shared/src/api/api-client-factory.ts index e02cb1b4e..907635b9d 100644 --- a/e2e/playwright/shared/api/api-client-factory.ts +++ b/projects/aca-playwright-shared/src/api/api-client-factory.ts @@ -37,9 +37,9 @@ import { SitesApi, UploadApi } from '@alfresco/js-api'; -import { users } from '../page-objects'; import { logger } from '@alfresco/adf-cli/scripts/logger'; import { ActionTypes, Rule } from './rules-api'; +import { users } from '../base-config'; export interface AcaBackend { sites: SitesApi; diff --git a/e2e/playwright/shared/api/index.ts b/projects/aca-playwright-shared/src/api/index.ts similarity index 100% rename from e2e/playwright/shared/api/index.ts rename to projects/aca-playwright-shared/src/api/index.ts diff --git a/e2e/playwright/shared/api/rules-api.ts b/projects/aca-playwright-shared/src/api/rules-api.ts similarity index 100% rename from e2e/playwright/shared/api/rules-api.ts rename to projects/aca-playwright-shared/src/api/rules-api.ts diff --git a/e2e/playwright/shared/page-objects/global-variables.ts b/projects/aca-playwright-shared/src/base-config/global-variables.ts similarity index 100% rename from e2e/playwright/shared/page-objects/global-variables.ts rename to projects/aca-playwright-shared/src/base-config/global-variables.ts diff --git a/e2e/playwright/shared/base-config/global.setup.ts b/projects/aca-playwright-shared/src/base-config/global.setup.ts similarity index 51% rename from e2e/playwright/shared/base-config/global.setup.ts rename to projects/aca-playwright-shared/src/base-config/global.setup.ts index 678969a2c..8d1ce5d9b 100644 --- a/e2e/playwright/shared/base-config/global.setup.ts +++ b/projects/aca-playwright-shared/src/base-config/global.setup.ts @@ -24,39 +24,49 @@ import { chromium, FullConfig } from '@playwright/test'; import { LoginPage } from '../page-objects'; +import { CustomConfig } from '../models'; +import { users } from './global-variables'; import fs from 'fs'; +import { paths } from '../utils/paths'; -const E2E_HOST = process.env.PLAYWRIGHT_E2E_HOST; -const E2E_PORT = process.env.PLAYWRIGHT_E2E_PORT; -const acsAdminUser = process.env.ADMIN_EMAIL; -const acsAdminUserPassword = process.env.ADMIN_PASSWORD; - -async function globalSetup(config: FullConfig) { +async function globalSetup(config: FullConfig) { const { use } = config.projects[0]; - let baseUrl: string; + await removeOutputFolders(); + await createOutputFolders(); - if (use.baseURL) { - baseUrl = use.baseURL; - } else { - if (E2E_HOST?.match(/localhost/)) { - baseUrl = `${E2E_HOST}:${E2E_PORT}`; - } else { - baseUrl = E2E_HOST; + if (use.users) { + for (const user of use.users) { + if (users[user].username) { + const browser = await chromium.launch(); + const page = await browser.newPage(); + const loginPage = new LoginPage(page); + await page.goto(use.baseURL); + await loginPage.loginUser({ username: users[user].username, password: users[user].password }, { + withNavigation: false, + waitForLoading: true + }); + await page.context().storageState({ path: `${paths.userStates}/${user}UserState.json` }); + await browser.close(); + } else { + throw new Error(`Add credentials for ${user} to you .env file!`); + } } } +} - const browser = await chromium.launch({ - args: ['--disable-web-security'] - }); - const page = await browser.newPage(); - const loginPage = new LoginPage(page); +async function createOutputFolders() { + for (const path in paths) { + if (!fs.existsSync(paths[path])) { + fs.mkdirSync(paths[path], { recursive: true }); + } + } +} - fs.mkdirSync(`./storage-state`, { recursive: true }); - await page.goto(baseUrl); - await loginPage.loginUser({ username: acsAdminUser, password: acsAdminUserPassword }, { withNavigation: false, waitForLoading: true }); - await page.context().storageState({ path: `./storage-state/AdminUserState.json` }); - await browser.close(); +async function removeOutputFolders() { + if (fs.existsSync(paths.rootFolder)) { + fs.rmdirSync(paths.rootFolder, { recursive: true }); + } } export default globalSetup; diff --git a/projects/aca-playwright-shared/src/base-config/index.ts b/projects/aca-playwright-shared/src/base-config/index.ts new file mode 100644 index 000000000..0944bc93d --- /dev/null +++ b/projects/aca-playwright-shared/src/base-config/index.ts @@ -0,0 +1,27 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +export * from './global.setup'; +export * from './playwright.config'; +export * from './global-variables'; diff --git a/e2e/playwright/tests/folder-rules/playwright.config.ts b/projects/aca-playwright-shared/src/base-config/playwright.config.ts similarity index 70% rename from e2e/playwright/tests/folder-rules/playwright.config.ts rename to projects/aca-playwright-shared/src/base-config/playwright.config.ts index 0ec69eeea..928870680 100644 --- a/e2e/playwright/tests/folder-rules/playwright.config.ts +++ b/projects/aca-playwright-shared/src/base-config/playwright.config.ts @@ -22,43 +22,49 @@ * from Hyland Software. If not, see . */ -import { PlaywrightTestConfig, devices } from '@playwright/test'; +import { PlaywrightTestConfig, ReporterDescription, devices } from '@playwright/test'; +import { timeouts } from '../utils'; -require('dotenv').config(); +require('@alfresco/adf-cli/tooling').dotenvConfig(); +const { env } = process; -export const config: PlaywrightTestConfig = { - testDir: './', +const report: ReporterDescription[] = (env.CI) ? [['github']] : [['html']]; + +export const getGlobalConfig: PlaywrightTestConfig = { + timeout: timeouts.globalTest, + globalTimeout: timeouts.globalSpec, expect: { /** * Maximum time expect() should wait for the condition to be met. * For example in `await expect(locator).toHaveText();` */ - timeout: 10000 + timeout: timeouts.medium }, /* Run tests in files in parallel */ fullyParallel: true, /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, + forbidOnly: !!env.CI, /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, + retries: env.CI ? 2 : 0, /* Opt out of parallel tests on CI. */ - workers: 5, - timeout: 40000, - - globalSetup: require.resolve('../../shared/base-config/global.setup'), + workers: 3, + reporter: [['list'], ...report], + globalSetup: require.resolve('./global.setup'), use: { /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - storageState: './storage-state/AdminUserState.json', actionTimeout: 0, /* Base URL to use in actions like `await page.goto('/')`. */ - baseURL: process.env.PLAYWRIGHT_E2E_HOST, + baseURL: env.PLAYWRIGHT_E2E_HOST, + headless: !!env.PLAYWRIGHT_HEADLESS ? (env.PLAYWRIGHT_HEADLESS === 'true') : !!env.CI, ignoreHTTPSErrors: true, bypassCSP: true, /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry', + trace: 'retain-on-failure', + video: 'retain-on-failure', + screenshot: 'only-on-failure', launchOptions: { devtools: false, - args: ['--disable-web-security', '--no-sandbox', '--disable-site-isolation-trials'] + args: ['--no-sandbox', '--disable-site-isolation-trials'] } }, @@ -70,7 +76,5 @@ export const config: PlaywrightTestConfig = { ...devices['Desktop Chrome'] } } - ] + ], }; - -export default config; diff --git a/e2e/playwright/tests/folder-rules/fixtures/page-initialization.ts b/projects/aca-playwright-shared/src/fixtures/page-initialization.ts similarity index 89% rename from e2e/playwright/tests/folder-rules/fixtures/page-initialization.ts rename to projects/aca-playwright-shared/src/fixtures/page-initialization.ts index 84ef9e860..b9a701c7c 100644 --- a/e2e/playwright/tests/folder-rules/fixtures/page-initialization.ts +++ b/projects/aca-playwright-shared/src/fixtures/page-initialization.ts @@ -22,9 +22,9 @@ * from Hyland Software. If not, see . */ -import { PersonalFilesPage, NodesPage } from '../page-objects'; + import { test as base } from '@playwright/test'; -import { ApiClientFactory } from '@alfresco/playwright-shared'; +import { ApiClientFactory, NodesPage, PersonalFilesPage } from '../'; interface Pages { personalFiles: PersonalFilesPage; @@ -32,7 +32,7 @@ interface Pages { } interface Api { - apiClient: ApiClientFactory; + superAdminApiClient: ApiClientFactory; } export const test = base.extend({ @@ -43,7 +43,7 @@ export const test = base.extend({ await use(new NodesPage(page)); }, // eslint-disable-next-line no-empty-pattern - apiClient: async ({}, use) => { + superAdminApiClient: async ({ }, use) => { const apiClient = new ApiClientFactory(); await apiClient.setUpAcaBackend('admin'); await use(apiClient); diff --git a/e2e/playwright/shared/index.ts b/projects/aca-playwright-shared/src/index.ts similarity index 94% rename from e2e/playwright/shared/index.ts rename to projects/aca-playwright-shared/src/index.ts index 41459a82d..24b44026e 100644 --- a/e2e/playwright/shared/index.ts +++ b/projects/aca-playwright-shared/src/index.ts @@ -26,3 +26,5 @@ export * from './api'; export * from './base-config'; export * from './models'; export * from './page-objects'; +export * from './fixtures/page-initialization'; +export * from './utils'; diff --git a/e2e/playwright/shared/page-objects/components/index.ts b/projects/aca-playwright-shared/src/models/custom-config.ts similarity index 91% rename from e2e/playwright/shared/page-objects/components/index.ts rename to projects/aca-playwright-shared/src/models/custom-config.ts index 9b5e828c2..64f83e05b 100644 --- a/e2e/playwright/shared/page-objects/components/index.ts +++ b/projects/aca-playwright-shared/src/models/custom-config.ts @@ -22,6 +22,8 @@ * from Hyland Software. If not, see . */ -export * from './base.component'; -export * from './snack-bar.component'; -export * from './spinner.component'; +import { users } from '../base-config'; + +export interface CustomConfig { + users: Array; +} diff --git a/e2e/playwright/shared/models/index.ts b/projects/aca-playwright-shared/src/models/index.ts similarity index 97% rename from e2e/playwright/shared/models/index.ts rename to projects/aca-playwright-shared/src/models/index.ts index 728baa1f3..57b33edbd 100644 --- a/e2e/playwright/shared/models/index.ts +++ b/projects/aca-playwright-shared/src/models/index.ts @@ -23,3 +23,4 @@ */ export * from './user-model'; +export * from './custom-config'; diff --git a/e2e/playwright/shared/models/user-model.ts b/projects/aca-playwright-shared/src/models/user-model.ts similarity index 100% rename from e2e/playwright/shared/models/user-model.ts rename to projects/aca-playwright-shared/src/models/user-model.ts diff --git a/projects/aca-playwright-shared/src/page-objects/components/aca-header.component.ts b/projects/aca-playwright-shared/src/page-objects/components/aca-header.component.ts new file mode 100644 index 000000000..dc8c10ee4 --- /dev/null +++ b/projects/aca-playwright-shared/src/page-objects/components/aca-header.component.ts @@ -0,0 +1,35 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + + import { BaseComponent } from './base.component'; + import { Page } from '@playwright/test'; + + export class AcaHeader extends BaseComponent { + private static rootElement = 'adf-toolbar'; + public createButton = this.getChild('[id="app.toolbar.create"]'); + + constructor(page: Page) { + super(page, AcaHeader.rootElement); + } + } diff --git a/e2e/playwright/tests/folder-rules/page-objects/components/actions-dropdown.component.ts b/projects/aca-playwright-shared/src/page-objects/components/actions-dropdown.component.ts similarity index 98% rename from e2e/playwright/tests/folder-rules/page-objects/components/actions-dropdown.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/actions-dropdown.component.ts index 640bf0ff1..d6d5d57c2 100644 --- a/e2e/playwright/tests/folder-rules/page-objects/components/actions-dropdown.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/actions-dropdown.component.ts @@ -23,7 +23,7 @@ */ import { Locator, Page } from '@playwright/test'; -import { BaseComponent } from '@alfresco/playwright-shared'; +import { BaseComponent } from './base.component'; export enum ActionType { AddAspect = 'Add aspect', @@ -76,7 +76,7 @@ export class ActionsDropdownComponent extends BaseComponent { } await this.actionDropdownLocator.nth(index).click(); const option = this.getOptionLocator(action); - await option.nth(0).click(); + await option.click(); } async dropdownSelection(selectValue: string, locator: string, index: number): Promise { diff --git a/e2e/playwright/shared/page-objects/components/base.component.ts b/projects/aca-playwright-shared/src/page-objects/components/base.component.ts similarity index 100% rename from e2e/playwright/shared/page-objects/components/base.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/base.component.ts diff --git a/e2e/playwright/tests/folder-rules/page-objects/components/conditions.component.ts b/projects/aca-playwright-shared/src/page-objects/components/conditions.component.ts similarity index 90% rename from e2e/playwright/tests/folder-rules/page-objects/components/conditions.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/conditions.component.ts index f54bedf19..a3bb86c5a 100644 --- a/e2e/playwright/tests/folder-rules/page-objects/components/conditions.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/conditions.component.ts @@ -23,7 +23,7 @@ */ import { Locator, Page } from '@playwright/test'; -import { ManageRulesDialogComponent } from './manage-rules-dialog.component'; +import { ManageRulesDialogComponent } from './manageRules/manage-rules-dialog.component'; export enum Field { Name = 'Name', @@ -61,17 +61,13 @@ export class ConditionComponent extends ManageRulesDialogComponent { await this.addConditionButton.click(); await this.selectField(fields, index); await this.selectComparator(comparators, index); - await this.typeConditionValue(value, index); - } - - async createConditionGroup(): Promise { - await this.addConditionGroupButton.click(); + await this.valueField.nth(index).type(value); } async addConditionGroup(fields: Partial, comparators: Partial, value: string, index: number): Promise { await this.addConditionButton.nth(0).click(); await this.selectField(fields, index); await this.selectComparator(comparators, index); - await this.typeConditionValue(value, index); + await this.valueField.nth(index).type(value); } } diff --git a/e2e/playwright/shared/page-objects/components/dataTable/data-table.component.ts b/projects/aca-playwright-shared/src/page-objects/components/dataTable/data-table.component.ts similarity index 100% rename from e2e/playwright/shared/page-objects/components/dataTable/data-table.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/dataTable/data-table.component.ts diff --git a/e2e/playwright/shared/page-objects/components/dataTable/index.ts b/projects/aca-playwright-shared/src/page-objects/components/dataTable/index.ts similarity index 100% rename from e2e/playwright/shared/page-objects/components/dataTable/index.ts rename to projects/aca-playwright-shared/src/page-objects/components/dataTable/index.ts diff --git a/e2e/playwright/shared/page-objects/components/mat-menu.component.ts b/projects/aca-playwright-shared/src/page-objects/components/dataTable/mat-menu.component.ts similarity index 93% rename from e2e/playwright/shared/page-objects/components/mat-menu.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/dataTable/mat-menu.component.ts index f25c0a7ad..82c466906 100644 --- a/e2e/playwright/shared/page-objects/components/mat-menu.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/dataTable/mat-menu.component.ts @@ -23,7 +23,7 @@ */ import { Page } from '@playwright/test'; -import { BaseComponent } from './base.component'; +import { BaseComponent } from '../base.component'; export class MatMenuComponent extends BaseComponent { private static rootElement = '.mat-menu-content'; @@ -34,6 +34,6 @@ export class MatMenuComponent extends BaseComponent { public getMenuItemsLocator = this.getChild('button'); public getMenuItemTextLocator = this.getChild('[data-automation-id="menu-item-title"]'); - + public createFolder = this.getChild('[id="app.create.folder"]'); public getButtonByText = (text: string) => this.getChild('button', { hasText: text }); } diff --git a/e2e/playwright/shared/page-objects/components/dataTable/toolbar.component.ts b/projects/aca-playwright-shared/src/page-objects/components/dataTable/toolbar.component.ts similarity index 100% rename from e2e/playwright/shared/page-objects/components/dataTable/toolbar.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/dataTable/toolbar.component.ts diff --git a/projects/aca-playwright-shared/src/page-objects/components/dialogs/adf-folder-dialog.component.ts b/projects/aca-playwright-shared/src/page-objects/components/dialogs/adf-folder-dialog.component.ts new file mode 100644 index 000000000..bc3a97d22 --- /dev/null +++ b/projects/aca-playwright-shared/src/page-objects/components/dialogs/adf-folder-dialog.component.ts @@ -0,0 +1,37 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +import { BaseComponent } from '../base.component'; +import { Page } from '@playwright/test'; + +export class AdfFolderDialogComponent extends BaseComponent { + private static rootElement = 'adf-folder-dialog'; + + public folderNameInputLocator = this.getChild('[id="adf-folder-name-input"]'); + public createButton = this.getChild('[id="adf-folder-create-button"]'); + + constructor(page: Page) { + super(page, AdfFolderDialogComponent.rootElement); + } +} diff --git a/e2e/playwright/shared/base-config/index.ts b/projects/aca-playwright-shared/src/page-objects/components/dialogs/index.ts similarity index 96% rename from e2e/playwright/shared/base-config/index.ts rename to projects/aca-playwright-shared/src/page-objects/components/dialogs/index.ts index 8740deab6..f659ffb7d 100644 --- a/e2e/playwright/shared/base-config/index.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/dialogs/index.ts @@ -22,4 +22,4 @@ * from Hyland Software. If not, see . */ -export * from './global.setup'; +export * from './adf-folder-dialog.component'; diff --git a/projects/aca-playwright-shared/src/page-objects/components/index.ts b/projects/aca-playwright-shared/src/page-objects/components/index.ts new file mode 100644 index 000000000..2286fc706 --- /dev/null +++ b/projects/aca-playwright-shared/src/page-objects/components/index.ts @@ -0,0 +1,34 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +export * from './snackBar/snack-bar.component'; +export * from './dataTable'; +export * from './dialogs'; +export * from './manageRules'; +export * from './base.component'; +export * from './spinner.component'; +export * from './actions-dropdown.component'; +export * from './conditions.component'; +export * from './pagination.component'; + diff --git a/e2e/playwright/tests/folder-rules/page-objects/index.ts b/projects/aca-playwright-shared/src/page-objects/components/manageRules/index.ts similarity index 92% rename from e2e/playwright/tests/folder-rules/page-objects/index.ts rename to projects/aca-playwright-shared/src/page-objects/components/manageRules/index.ts index f237a20b8..78bb1806b 100644 --- a/e2e/playwright/tests/folder-rules/page-objects/index.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/manageRules/index.ts @@ -22,5 +22,5 @@ * from Hyland Software. If not, see . */ -export * from './pages/personal-files.page'; -export * from './pages/nodes.page'; +export * from './manage-rules-dialog.component'; +export * from './manage-rules.component'; diff --git a/e2e/playwright/tests/folder-rules/page-objects/components/manage-rules-dialog.component.ts b/projects/aca-playwright-shared/src/page-objects/components/manageRules/manage-rules-dialog.component.ts similarity index 78% rename from e2e/playwright/tests/folder-rules/page-objects/components/manage-rules-dialog.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/manageRules/manage-rules-dialog.component.ts index a4575d982..7b463cfdb 100644 --- a/e2e/playwright/tests/folder-rules/page-objects/components/manage-rules-dialog.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/manageRules/manage-rules-dialog.component.ts @@ -22,29 +22,22 @@ * from Hyland Software. If not, see . */ -import { BaseComponent } from '@alfresco/playwright-shared'; +import { BaseComponent } from '../base.component'; import { Page } from '@playwright/test'; export class ManageRulesDialogComponent extends BaseComponent { private static rootElement = 'aca-edit-rule-dialog'; public createRuleButton = this.getChild('[data-automation-id="edit-rule-dialog-submit"]'); - private ruleNameInputLocator = this.getChild('[id="rule-details-name-input"]'); + public ruleNameInputLocator = this.getChild('[id="rule-details-name-input"]'); public addConditionButton = this.getChild('[data-automation-id="add-condition-button"]'); public addConditionGroupButton = this.getChild('[data-automation-id="add-group-button"]'); public fieldDropDown = this.getChild('[data-automation-id="field-select"]'); public comparatorDropDown = this.getChild('[data-automation-id="comparator-select"]'); - private valueField = this.getChild('[data-automation-id="value-input"]'); + public valueField = this.getChild('[data-automation-id="value-input"]'); constructor(page: Page) { super(page, ManageRulesDialogComponent.rootElement); } - async typeRuleName(ruleName: string): Promise { - await this.ruleNameInputLocator.type(ruleName, { delay: 50 }); - } - - async typeConditionValue(ruleName: string, index: number): Promise { - await this.valueField.nth(index).type(ruleName, { delay: 50 }); - } } diff --git a/e2e/playwright/tests/folder-rules/page-objects/components/manage-rules.component.ts b/projects/aca-playwright-shared/src/page-objects/components/manageRules/manage-rules.component.ts similarity index 96% rename from e2e/playwright/tests/folder-rules/page-objects/components/manage-rules.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/manageRules/manage-rules.component.ts index a2fdecc0e..b805c4fc7 100644 --- a/e2e/playwright/tests/folder-rules/page-objects/components/manage-rules.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/manageRules/manage-rules.component.ts @@ -23,7 +23,7 @@ */ import { Locator, Page } from '@playwright/test'; -import { BaseComponent } from '@alfresco/playwright-shared'; +import { BaseComponent } from '../base.component'; export class ManageRules extends BaseComponent { private static rootElement = '.aca-manage-rules'; diff --git a/e2e/playwright/shared/page-objects/components/pagination.component.ts b/projects/aca-playwright-shared/src/page-objects/components/pagination.component.ts similarity index 97% rename from e2e/playwright/shared/page-objects/components/pagination.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/pagination.component.ts index dee316d47..e964929f3 100644 --- a/e2e/playwright/shared/page-objects/components/pagination.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/pagination.component.ts @@ -24,7 +24,7 @@ import { BaseComponent } from './base.component'; import { Page } from '@playwright/test'; -import { MatMenuComponent } from './mat-menu.component'; +import { MatMenuComponent } from './dataTable/mat-menu.component'; export enum PaginationActionsType { PageSizeSelector = 'Page size selector', diff --git a/e2e/playwright/shared/page-objects/components/snack-bar.component.ts b/projects/aca-playwright-shared/src/page-objects/components/snackBar/snack-bar.component.ts similarity index 96% rename from e2e/playwright/shared/page-objects/components/snack-bar.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/snackBar/snack-bar.component.ts index 877c1a49d..0c160a03c 100644 --- a/e2e/playwright/shared/page-objects/components/snack-bar.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/snackBar/snack-bar.component.ts @@ -23,7 +23,7 @@ */ import { Page } from '@playwright/test'; -import { BaseComponent } from './base.component'; +import { BaseComponent } from '../base.component'; export class SnackBarComponent extends BaseComponent { private static rootElement = 'simple-snack-bar'; diff --git a/e2e/playwright/shared/page-objects/components/spinner.component.ts b/projects/aca-playwright-shared/src/page-objects/components/spinner.component.ts similarity index 100% rename from e2e/playwright/shared/page-objects/components/spinner.component.ts rename to projects/aca-playwright-shared/src/page-objects/components/spinner.component.ts diff --git a/e2e/playwright/shared/page-objects/pages/index.ts b/projects/aca-playwright-shared/src/page-objects/index.ts similarity index 95% rename from e2e/playwright/shared/page-objects/pages/index.ts rename to projects/aca-playwright-shared/src/page-objects/index.ts index 95963574e..b26b36a44 100644 --- a/e2e/playwright/shared/page-objects/pages/index.ts +++ b/projects/aca-playwright-shared/src/page-objects/index.ts @@ -22,5 +22,5 @@ * from Hyland Software. If not, see . */ -export * from './base.page'; -export * from './login.page'; +export * from './components'; +export * from './pages'; diff --git a/e2e/playwright/shared/page-objects/pages/base.page.ts b/projects/aca-playwright-shared/src/page-objects/pages/base.page.ts similarity index 100% rename from e2e/playwright/shared/page-objects/pages/base.page.ts rename to projects/aca-playwright-shared/src/page-objects/pages/base.page.ts diff --git a/projects/aca-playwright-shared/src/page-objects/pages/index.ts b/projects/aca-playwright-shared/src/page-objects/pages/index.ts new file mode 100644 index 000000000..c1d1ae1c1 --- /dev/null +++ b/projects/aca-playwright-shared/src/page-objects/pages/index.ts @@ -0,0 +1,28 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +export * from './base.page'; +export * from './login.page'; +export * from './nodes.page'; +export * from './personal-files.page'; diff --git a/e2e/playwright/shared/page-objects/pages/login.page.ts b/projects/aca-playwright-shared/src/page-objects/pages/login.page.ts similarity index 100% rename from e2e/playwright/shared/page-objects/pages/login.page.ts rename to projects/aca-playwright-shared/src/page-objects/pages/login.page.ts diff --git a/e2e/playwright/tests/folder-rules/page-objects/pages/nodes.page.ts b/projects/aca-playwright-shared/src/page-objects/pages/nodes.page.ts similarity index 80% rename from e2e/playwright/tests/folder-rules/page-objects/pages/nodes.page.ts rename to projects/aca-playwright-shared/src/page-objects/pages/nodes.page.ts index 34f170b0d..4e8756955 100644 --- a/e2e/playwright/tests/folder-rules/page-objects/pages/nodes.page.ts +++ b/projects/aca-playwright-shared/src/page-objects/pages/nodes.page.ts @@ -22,12 +22,10 @@ * from Hyland Software. If not, see . */ -import { BasePage, ToolbarComponent } from '@alfresco/playwright-shared'; import { Page } from '@playwright/test'; -import { ManageRulesDialogComponent } from '../components/manage-rules-dialog.component'; -import { ActionsDropdownComponent } from '../components/actions-dropdown.component'; -import { ConditionComponent } from '../components/conditions.component'; -import { ManageRules } from '../components/manage-rules.component'; +import { ConditionComponent, ManageRules, ManageRulesDialogComponent, ToolbarComponent, ActionsDropdownComponent } from '../components'; +import { BasePage } from './base.page'; + export class NodesPage extends BasePage { private static pageUrl = 'nodes'; diff --git a/e2e/playwright/tests/folder-rules/page-objects/pages/personal-files.page.ts b/projects/aca-playwright-shared/src/page-objects/pages/personal-files.page.ts similarity index 77% rename from e2e/playwright/tests/folder-rules/page-objects/pages/personal-files.page.ts rename to projects/aca-playwright-shared/src/page-objects/pages/personal-files.page.ts index 58efd392b..7845ee51b 100644 --- a/e2e/playwright/tests/folder-rules/page-objects/pages/personal-files.page.ts +++ b/projects/aca-playwright-shared/src/page-objects/pages/personal-files.page.ts @@ -22,8 +22,12 @@ * from Hyland Software. If not, see . */ -import { BasePage, DataTableComponent } from '@alfresco/playwright-shared'; + import { Page } from '@playwright/test'; +import { BasePage } from './base.page'; +import { DataTableComponent, MatMenuComponent } from '../components'; +import { AcaHeader } from '../components/aca-header.component'; +import { AdfFolderDialogComponent } from '../components/dialogs'; export class PersonalFilesPage extends BasePage { private static pageUrl = 'personal-files'; @@ -32,5 +36,8 @@ export class PersonalFilesPage extends BasePage { super(page, PersonalFilesPage.pageUrl); } + public acaHeader = new AcaHeader(this.page); + public matMenu = new MatMenuComponent(this.page); + public folderDialog = new AdfFolderDialogComponent(this.page); public dataTable = new DataTableComponent(this.page); } diff --git a/e2e/playwright/shared/page-objects/playwright-base.ts b/projects/aca-playwright-shared/src/page-objects/playwright-base.ts similarity index 100% rename from e2e/playwright/shared/page-objects/playwright-base.ts rename to projects/aca-playwright-shared/src/page-objects/playwright-base.ts diff --git a/projects/aca-playwright-shared/src/utils/exclude-tests.ts b/projects/aca-playwright-shared/src/utils/exclude-tests.ts new file mode 100644 index 000000000..aa89a8a29 --- /dev/null +++ b/projects/aca-playwright-shared/src/utils/exclude-tests.ts @@ -0,0 +1,22 @@ +/* + * Copyright © 2005 - 2021 Alfresco Software, Ltd. All rights reserved. + * + * License rights for this program may be obtained from Alfresco Software, Ltd. + * pursuant to a written agreement and any use of this program without such an + * agreement is prohibited. + */ + +import { logger } from '@alfresco/adf-cli/scripts/logger'; + +export const getExcludedTestsRegExpArray = (excludedJson: any, projectName: string) => { + const prefix = `[ 🎭 Playwright Excludes - ${projectName} ]`; + const objectKeys = Object.keys(excludedJson); + + if (!objectKeys.length) { + logger.info(`${prefix} ✅ No excluded tests 🎉 `); + } else { + logger.warn(`${prefix} ❌ Tests excluded because of 🐛 : ${objectKeys}`); + } + + return objectKeys.map((key) => new RegExp(key)); +}; diff --git a/projects/aca-playwright-shared/src/utils/index.ts b/projects/aca-playwright-shared/src/utils/index.ts new file mode 100644 index 000000000..984ce0272 --- /dev/null +++ b/projects/aca-playwright-shared/src/utils/index.ts @@ -0,0 +1,28 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +export * from './paths'; +export * from './timeouts'; +export * from './exclude-tests'; +export * from './state-helper'; diff --git a/projects/aca-playwright-shared/src/utils/paths.ts b/projects/aca-playwright-shared/src/utils/paths.ts new file mode 100644 index 000000000..e5055fe4a --- /dev/null +++ b/projects/aca-playwright-shared/src/utils/paths.ts @@ -0,0 +1,33 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +const rootFolder = 'e2e-output'; + +export const paths = { + rootFolder, + allData: `${rootFolder}/playwright-data`, + files: `${rootFolder}/playwright-data/downloads`, + report: `${rootFolder}/playwright-data/report`, + userStates: `${rootFolder}/playwright-data/user-states`, +}; diff --git a/projects/aca-playwright-shared/src/utils/state-helper.ts b/projects/aca-playwright-shared/src/utils/state-helper.ts new file mode 100644 index 000000000..b2def1b98 --- /dev/null +++ b/projects/aca-playwright-shared/src/utils/state-helper.ts @@ -0,0 +1,34 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + + +import { resolve } from 'path'; +import { paths } from '.'; +import { users } from '../base-config'; + +export function getUserState(user: UserType) { + return resolve(process.cwd(), `${paths.userStates}/${user}UserState.json`); +} + +type UserType = keyof typeof users; diff --git a/projects/aca-playwright-shared/src/utils/timeouts.ts b/projects/aca-playwright-shared/src/utils/timeouts.ts new file mode 100644 index 000000000..31b43b13f --- /dev/null +++ b/projects/aca-playwright-shared/src/utils/timeouts.ts @@ -0,0 +1,37 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +export const timeouts = { + typingDelay: 50, + tiny: 500, + short: 1000, + normal: 2000, + medium: 5000, + large: 10000, + extraLarge: 20 * 1000, + globalTest: 45 * 1000, + extendedTest: 120 * 1000, + webServer: 240 * 1000, + globalSpec: 60 * 10 * 1000 +}; diff --git a/e2e/playwright/shared/tsconfig.lib.json b/projects/aca-playwright-shared/tsconfig.lib.json similarity index 75% rename from e2e/playwright/shared/tsconfig.lib.json rename to projects/aca-playwright-shared/tsconfig.lib.json index 281b7ca83..6db207fbc 100644 --- a/e2e/playwright/shared/tsconfig.lib.json +++ b/projects/aca-playwright-shared/tsconfig.lib.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.e2e.json", + "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "../../../out-tsc/playwright-testing", + "outDir": "../../out-tsc/aca-playwright-testing", "target": "es2015", "module": "es2015", "moduleResolution": "node", @@ -11,6 +11,7 @@ "emitDecoratorMetadata": true, "experimentalDecorators": true, "importHelpers": true, + "types": [], "lib": ["dom", "es2018"] }, "angularCompilerOptions": { @@ -20,5 +21,5 @@ "strictInjectionParameters": true, "enableResourceInlining": true }, - "exclude": ["node_modules"] + "exclude": ["node_modules", "src/test.ts", "**/*.spec.ts"] } diff --git a/protractor.conf.js b/protractor.conf.js index e7ef12248..5186a8932 100755 --- a/protractor.conf.js +++ b/protractor.conf.js @@ -5,14 +5,14 @@ require('dotenv').config({path: process.env.ENV_FILE}); const path = require('path'); const {SpecReporter} = require('jasmine-spec-reporter'); const retry = require('protractor-retry-angular-cli').retry; -const {saveScreenshots} = require('./e2e/e2e-config/utils/upload-output'); -const smartRunnerFactory = require('./e2e/smartrunner-factory'); +const {saveScreenshots} = require('./e2e/protractor/e2e-config/utils/upload-output'); +const smartRunnerFactory = require('./e2e/protractor/smartrunner-factory'); const argv = require('yargs').argv; const projectRoot = path.resolve(__dirname); const downloadFolder = path.join(__dirname, 'e2e-downloads'); const screenshotsFolder = path.resolve(__dirname, 'e2e-output'); -const e2eFolder = path.resolve(projectRoot, 'e2e'); +const e2eFolder = path.resolve(projectRoot, 'e2e/protractor'); const E2E_HOST = process.env.E2E_HOST || 'http://localhost:4200'; const BROWSER_RUN = !!process.env.BROWSER_RUN; const width = 1366; @@ -50,43 +50,43 @@ exports.config = { }, specs: [ - './e2e/suites/actions/**/**/*test.ts', - './e2e/suites/actions-available/**/**/*test.ts', - './e2e/suites/application/**/*test.ts', - './e2e/suites/authentication/**/*test.ts', - './e2e/suites/extensions/**/*test.ts', - './e2e/suites/info-drawer/**/*test.ts', - './e2e/suites/list-views/**/*test.ts', - './e2e/suites/navigation/**/*test.ts', - './e2e/suites/pagination/**/*test.ts', - './e2e/suites/search/**/*test.ts', - './e2e/suites/viewer/**/*test.ts' + './e2e/protractor/suites/actions/**/**/*test.ts', + './e2e/protractor/suites/actions-available/**/**/*test.ts', + './e2e/protractor/suites/application/**/*test.ts', + './e2e/protractor/suites/authentication/**/*test.ts', + './e2e/protractor/suites/extensions/**/*test.ts', + './e2e/protractor/suites/info-drawer/**/*test.ts', + './e2e/protractor/suites/list-views/**/*test.ts', + './e2e/protractor/suites/navigation/**/*test.ts', + './e2e/protractor/suites/pagination/**/*test.ts', + './e2e/protractor/suites/search/**/*test.ts', + './e2e/protractor/suites/viewer/**/*test.ts' ], suites: { - copyMoveActions: './e2e/suites/actions/copy-move/**/**/*test.ts', - createActions: './e2e/suites/actions/create/**/**/*test.ts', - deleteActions: './e2e/suites/actions/delete/**/**/*test.ts', - editActions: './e2e/suites/actions/edit/**/**/*test.ts', - favoriteActions: './e2e/suites/actions/favorite/**/**/*test.ts', - libraryActions: './e2e/suites/actions/library/**/**/*test.ts', - shareActions: './e2e/suites/actions/share/**/**/*test.ts', - uploadDownloadActions: './e2e/suites/actions/upload-download/**/**/*test.ts', + copyMoveActions: './e2e/protractor/suites/actions/copy-move/**/**/*test.ts', + createActions: './e2e/protractor/suites/actions/create/**/**/*test.ts', + deleteActions: './e2e/protractor/suites/actions/delete/**/**/*test.ts', + editActions: './e2e/protractor/suites/actions/edit/**/**/*test.ts', + favoriteActions: './e2e/protractor/suites/actions/favorite/**/**/*test.ts', + libraryActions: './e2e/protractor/suites/actions/library/**/**/*test.ts', + shareActions: './e2e/protractor/suites/actions/share/**/**/*test.ts', + uploadDownloadActions: './e2e/protractor/suites/actions/upload-download/**/**/*test.ts', - actionsAvailableFilesFolders: './e2e/suites/actions-available/files-folders/**/**/*test.ts', - actionsAvailableLibraries: './e2e/suites/actions-available/libraries/**/**/*test.ts', - actionsAvailableSpecialPermissions: './e2e/suites/actions-available/special-permissions/**/**/*test.ts', - actionsAvailableNewMenu: './e2e/suites/actions-available/new-menu/**/**/*test.ts', + actionsAvailableFilesFolders: './e2e/protractor/suites/actions-available/files-folders/**/**/*test.ts', + actionsAvailableLibraries: './e2e/protractor/suites/actions-available/libraries/**/**/*test.ts', + actionsAvailableSpecialPermissions: './e2e/protractor/suites/actions-available/special-permissions/**/**/*test.ts', + actionsAvailableNewMenu: './e2e/protractor/suites/actions-available/new-menu/**/**/*test.ts', - application: './e2e/suites/application/**/*test.ts', - authentication: './e2e/suites/authentication/**/*test.ts', - extensions: './e2e/suites/extensions/**/*test.ts', - infoDrawer: './e2e/suites/info-drawer/**/*test.ts', - listViews: './e2e/suites/list-views/**/*test.ts', - navigation: './e2e/suites/navigation/**/*test.ts', - pagination: './e2e/suites/pagination/**/*test.ts', - search: './e2e/suites/search/**/*test.ts', - viewer: './e2e/suites/viewer/**/*test.ts' + application: './e2e/protractor/suites/application/**/*test.ts', + authentication: './e2e/protractor/suites/authentication/**/*test.ts', + extensions: './e2e/protractor/suites/extensions/**/*test.ts', + infoDrawer: './e2e/protractor/suites/info-drawer/**/*test.ts', + listViews: './e2e/protractor/suites/list-views/**/*test.ts', + navigation: './e2e/protractor/suites/navigation/**/*test.ts', + pagination: './e2e/protractor/suites/pagination/**/*test.ts', + search: './e2e/protractor/suites/search/**/*test.ts', + viewer: './e2e/protractor/suites/viewer/**/*test.ts' }, SELENIUM_PROMISE_MANAGER: false, @@ -140,8 +140,6 @@ exports.config = { showColors: true, defaultTimeoutInterval: 200000, includeStackTrace: true, - print: function () { - }, ...(process.env.CI ? smartRunnerFactory.applyExclusionFilter() : {}) }, @@ -189,8 +187,10 @@ exports.config = { paths: tsConfig.compilerOptions.paths }); + // eslint-disable-next-line no-undef browser.manage().window().setSize(width, height); + // eslint-disable-next-line no-undef jasmine.getEnv().addReporter( new SpecReporter({ spec: { @@ -200,6 +200,7 @@ exports.config = { }) ); + // eslint-disable-next-line no-undef browser.driver.sendChromiumCommand('Page.setDownloadBehavior', { behavior: 'allow', downloadPath: downloadFolder diff --git a/tsconfig.adf.json b/tsconfig.adf.json index 0783af92d..66df13c0b 100644 --- a/tsconfig.adf.json +++ b/tsconfig.adf.json @@ -23,7 +23,7 @@ "paths": { "@alfresco/adf-testing": ["../alfresco-ng2-components/lib/testing"], "@alfresco/adf-testing/shared": ["../alfresco-ng2-components/lib/testing/src/lib/shared"], - "@alfresco/playwright-shared": ["e2e/playwright/shared/index.ts"], + "@alfresco/playwright-shared": ["projects/aca-playwright-shared/src/index.ts"], "@alfresco/adf-core": ["../alfresco-ng2-components/lib/core"], "@alfresco/adf-core/*": ["../alfresco-ng2-components/lib/core/*/public-api.ts"], "@alfresco/adf-core/shell": ["../alfresco-ng2-components/lib/core/shell/src/index.ts"], diff --git a/tsconfig.json b/tsconfig.json index 43062f18f..399e90fe4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -31,7 +31,7 @@ "@alfresco/aca-content/about": ["projects/aca-content/about/src/public-api.ts"], "@alfresco/aca-viewer": ["projects/aca-viewer/src/public-api.ts"], "@alfresco/aca-preview": ["projects/aca-preview/src/public-api.ts"], - "@alfresco/playwright-shared": ["e2e/playwright/shared/index.ts"], + "@alfresco/playwright-shared": ["projects/aca-playwright-shared/src/index.ts"], "package.json": ["package.json"] } },