-
+
arrow_drop_down
assessment
- {{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_TASK' | translate}}
+ New Task
@@ -58,13 +57,6 @@
(row-dblclick)="onTaskRowDblClick($any($event))"
[multiselect]="multiSelectTask"
#taskList>
-
-
-
-
+
-
+
- {{'PS-TAB.TASK-AUDIT-LOG' | translate}}
+ Task Audit log
-
-
+
arrow_drop_down
@@ -181,13 +170,6 @@
(row-dblclick)="onProcessRowDblClick($any($event))"
[multiselect]="multiSelectProcess"
(success)="onSuccessProcessList()">
-
-
-
-
-
+
assessment
- {{'ADF_SIDEBAR_ACTION_MENU.BUTTON.NEW_PROCESS' | translate}}
+ New Process
- {{'PS-TAB.PROCESS-AUDIT-LOG' | translate}}
+ Process Audit log
-
+
+
@@ -234,7 +216,7 @@
[appId]="applicationId"
[processDefinitionName]="processDefinitionName"
[showSelectApplicationDropdown]="showApplications"
- [title]="'ADF_PROCESS_LIST.START_PROCESS.FORM.TITLE'"
+ [title]="'Start Process'"
[name]="defaultProcessName"
(formContentClicked)="onContentClick($event)"
(start)="onStartProcessInstance($event)"
@@ -245,8 +227,7 @@
Settings Menu
@@ -261,25 +242,25 @@
- {{ 'PS-TAB.TASK-SHOW-HEADER'| translate }}
+ Show details header
- Multiselect Process List
+ Multiselect Process List
- Multiselect Task List
+ Multiselect Task List
- Show Task list Context menu
+ Show Task list Context menu
- Show Process list Context menu
+ Show Process list Context menu
- Show Application dropdown on start process
+ Show Application dropdown on start process
Filter Process definitions
diff --git a/demo-shell/src/app/components/process-service/process-service.component.ts b/demo-shell/src/app/components/process-service/process-service.component.ts
index b6d264ede5..ddfc4ff507 100644
--- a/demo-shell/src/app/components/process-service/process-service.component.ts
+++ b/demo-shell/src/app/components/process-service/process-service.component.ts
@@ -527,7 +527,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
model: {
key: 'taskDetails',
icon: 'open',
- title: 'TASK_LIST_DEMO.TASK_CONTEXT_MENU',
+ title: 'Task List Context Menu',
visible: true
},
subject: new Subject()
@@ -542,7 +542,7 @@ export class ProcessServiceComponent implements AfterViewInit, OnDestroy, OnInit
model: {
key: 'processDetails',
icon: 'open',
- title: 'PROCESS_LIST_DEMO.PROCESS_CONTEXT_MENU',
+ title: 'Process List Context Menu',
visible: true
},
subject: new Subject()
diff --git a/demo-shell/src/app/components/rich-text-editor/rich-text-editor.component.html b/demo-shell/src/app/components/rich-text-editor/rich-text-editor.component.html
deleted file mode 100644
index 1ad3ac3bb7..0000000000
--- a/demo-shell/src/app/components/rich-text-editor/rich-text-editor.component.html
+++ /dev/null
@@ -1,10 +0,0 @@
-();
-
- editorOutputData: OutputData;
-
- sampleData = {
- time: 1656674370891,
- blocks: [
- {
- id: '99jwc03ETP',
- type: 'header',
- data: {
- text: 'Header',
- level: 2
- }
- },
- {
- id: 'ffdulIdU1E',
- type: 'paragraph',
- data: {
- text: `is simply dummy text of the printing and typesetting industry.
- Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s,
- when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries,
- but also the leap into electronic typesetting, remaining essentially unchanged.
- It was popularised in the 1960s with the release of sheets containing
- Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem`,
- alignment: 'left'
- }
- },
- {
- id: 'rTcF4u0pr3',
- type: 'list',
- data: {
- style: 'unordered',
- items: [
- 'Unordered list example',
- 'Unordered list example'
- ]
- }
- },
- {
- id: 'Kg2e_K1nHU',
- type: 'list',
- data: {
- style: 'ordered',
- items: [
- 'Ordered list example',
- 'Ordered list example'
- ]
- }
- },
- {
- id: 'xqqk0DEmqh',
- type: 'code',
- data: {
- code: '// Amazing code example\n\ncatch(Exception ex){\n // Houston, we have a problem\n}'
- }
- }
- ]
- };
-
- ngAfterViewInit(): void {
- this.textEditor.outputData$.pipe(
- takeUntil(this.onDestroy$)
- ).subscribe(outputData => {
- this.editorOutputData = outputData;
- });
- }
-
- ngOnDestroy(): void {
- this.onDestroy$.next(true);
- this.onDestroy$.complete();
- }
-
-}
diff --git a/demo-shell/src/app/components/rich-text-editor/rich-text-editor.module.ts b/demo-shell/src/app/components/rich-text-editor/rich-text-editor.module.ts
deleted file mode 100644
index eb7da3ec7c..0000000000
--- a/demo-shell/src/app/components/rich-text-editor/rich-text-editor.module.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { NgModule } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { RichTextEditorComponent } from './rich-text-editor.component';
-import { ContentModule } from '@alfresco/adf-content-services';
-import { RichTextEditorModule } from '@alfresco/adf-process-services-cloud';
-import { CoreModule } from '@alfresco/adf-core';
-import { RouterModule, Routes } from '@angular/router';
-
-const routes: Routes = [
- {
- path: '',
- component: RichTextEditorComponent
- }
-];
-
-@NgModule({
- declarations: [RichTextEditorComponent],
- imports: [
- CommonModule,
- CoreModule,
- RouterModule.forChild(routes),
- ContentModule.forChild(),
- RichTextEditorModule
- ]
-})
-export class AppRichTextEditorModule { }
diff --git a/demo-shell/src/app/components/search/search-extended.component.html b/demo-shell/src/app/components/search/search-extended.component.html
deleted file mode 100644
index f855401e48..0000000000
--- a/demo-shell/src/app/components/search/search-extended.component.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
diff --git a/demo-shell/src/app/components/settings/host-settings.component.ts b/demo-shell/src/app/components/settings/host-settings.component.ts
index 44ca02a74d..083a285a36 100644
--- a/demo-shell/src/app/components/settings/host-settings.component.ts
+++ b/demo-shell/src/app/components/settings/host-settings.component.ts
@@ -19,15 +19,15 @@ import { Component, EventEmitter, Output, ViewEncapsulation, OnInit, Input } fro
import { Validators, UntypedFormGroup, UntypedFormBuilder, UntypedFormControl } from '@angular/forms';
import { AppConfigService, AppConfigValues, StorageService, AlfrescoApiService, AuthenticationService } from '@alfresco/adf-core';
import { ENTER } from '@angular/cdk/keycodes';
+import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
export const HOST_REGEX = '^(http|https):\/\/.*[^/]$';
@Component({
+ providers: [{ provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { floatLabel: 'always' } }],
selector: 'adf-host-settings',
templateUrl: 'host-settings.component.html',
- host: {
- class: 'adf-host-settings'
- },
+ host: { class: 'adf-host-settings' },
styleUrls: ['./host-settings.component.scss'],
encapsulation: ViewEncapsulation.None
})
@@ -40,9 +40,12 @@ export class HostSettingsComponent implements OnInit {
providers: string[] = ['BPM', 'ECM', 'ALL'];
showSelectProviders = true;
-
form: UntypedFormGroup;
+ ERR_REQUIRED = 'This field is required';
+ ERR_INVALID_URL = 'http(s)://host|ip:port(/path) not recognized, try a different URL.';
+ PLACEHOLDER_URL: 'http(s)://host|ip:port(/path)';
+
/** Emitted when the URL is invalid. */
@Output()
// eslint-disable-next-line @angular-eslint/no-output-native
@@ -268,14 +271,6 @@ export class HostSettingsComponent implements OnInit {
return this.oauthConfig.get('secret') as UntypedFormControl;
}
- get implicitFlow(): UntypedFormControl {
- return this.oauthConfig.get('implicitFlow') as UntypedFormControl;
- }
-
- get codeFlow(): UntypedFormControl {
- return this.oauthConfig.get('codeFlow') as UntypedFormControl;
- }
-
get silentLogin(): UntypedFormControl {
return this.oauthConfig.get('silentLogin') as UntypedFormControl;
}
@@ -284,14 +279,6 @@ export class HostSettingsComponent implements OnInit {
return this.oauthConfig.get('redirectUri') as UntypedFormControl;
}
- get publicUrls(): UntypedFormControl {
- return this.oauthConfig.get('publicUrls') as UntypedFormControl;
- }
-
- get redirectUriLogout(): UntypedFormControl {
- return this.oauthConfig.get('redirectUriLogout') as UntypedFormControl;
- }
-
get oauthConfig(): UntypedFormControl {
return this.form.get('oauthConfig') as UntypedFormControl;
}
diff --git a/demo-shell/src/app/components/sites/sites.component.html b/demo-shell/src/app/components/sites/sites.component.html
deleted file mode 100644
index 487d40b193..0000000000
--- a/demo-shell/src/app/components/sites/sites.component.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-Current Selected Site {{currentSelectedSite}}
-
-
-
-
-
-
-
-
-
-
-
-
-Apply
-
-
-
- -
- -Confirm
-
-
-
- {{ 'TASK_LIST_DEMO.ERROR_MESSAGE.APP_ID_TYPE_ERROR' | translate }}
+ App ID must be a number
@@ -30,10 +30,10 @@
- {{ 'TASK_LIST_DEMO.ERROR_MESSAGE.NUMBER_TYPE_ERROR' | translate }}
+ Value must be a number
@@ -62,10 +62,10 @@
class="form-control"
[formControl]="taskSize" data-automation-id="items per page">
- {{ 'TASK_LIST_DEMO.ERROR_MESSAGE.NUMBER_GREATER_THAN' | translate: { value: minValue } }}
+ {{ 'Value must be greater than or equal to ' + minValue }}
- {{ 'TASK_LIST_DEMO.ERROR_MESSAGE.NUMBER_TYPE_ERROR' | translate }}
+ Value must be a number
@@ -76,10 +76,10 @@
class="form-control"
[formControl]="taskPage" data-automation-id="page">
- {{ 'TASK_LIST_DEMO.ERROR_MESSAGE.NUMBER_GREATER_THAN' | translate: { value: minValue } }}
+ {{ 'Value must be greater than or equal to ' + minValue }}
- {{ 'TASK_LIST_DEMO.ERROR_MESSAGE.NUMBER_TYPE_ERROR' | translate }}
+ Value must be a number
@@ -132,9 +132,7 @@
Sort
- {{ sortOption.title
- }}
-
+ {{ sortOption.title }}
diff --git a/demo-shell/src/app/components/template-list/template-demo.component.html b/demo-shell/src/app/components/template-list/template-demo.component.html
deleted file mode 100644
index 901123610f..0000000000
--- a/demo-shell/src/app/components/template-list/template-demo.component.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
- This is a custom loading template
-
-
-
-
-
-
-
-
-
- This is a custom no permission templatepan_tool You shall not see the content
-
-
-
-
-
-
-
-
-
-
diff --git a/demo-shell/src/app/components/template-list/template-demo.component.ts b/demo-shell/src/app/components/template-list/template-demo.component.ts
deleted file mode 100644
index 18190d641e..0000000000
--- a/demo-shell/src/app/components/template-list/template-demo.component.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { Component, ViewChild, AfterViewChecked } from '@angular/core';
-import { DocumentListComponent } from '@alfresco/adf-content-services';
-import { ObjectDataTableAdapter } from '@alfresco/adf-core';
-
-@Component({
- selector: 'app-template-list',
- templateUrl: './template-demo.component.html'
-})
-export class TemplateDemoComponent implements AfterViewChecked {
-
- @ViewChild('defaultDocumentList', { static: true })
- defaultDocumentListComponent: DocumentListComponent;
-
- @ViewChild('customLoadingDocumentList', { static: true })
- customLoadingDocumentList: DocumentListComponent;
-
- @ViewChild('customNoPermissionDocumentList', { static: true })
- customNoPermissionDocumentList: DocumentListComponent;
-
- @ViewChild('defaultNoPermissionDocumentList', { static: true })
- defaultNoPermissionDocumentList: DocumentListComponent;
-
- @ViewChild('customEmptyDocumentList', { static: true })
- customEmptyDocumentList: DocumentListComponent;
-
- @ViewChild('defaultEmptyDocumentList', { static: true })
- defaultEmptyDocumentList: DocumentListComponent;
-
- constructor() {
- }
-
- ngAfterViewChecked(): void {
- this.defaultDocumentListComponent.dataTable.loading = true;
- this.customLoadingDocumentList.dataTable.loading = true;
- this.customEmptyDocumentList.dataTable.data = new ObjectDataTableAdapter();
- this.defaultEmptyDocumentList.dataTable.data = new ObjectDataTableAdapter();
- this.customNoPermissionDocumentList.dataTable.noPermission = true;
- this.defaultNoPermissionDocumentList.dataTable.noPermission = true;
- }
-}
diff --git a/demo-shell/src/app/components/theme-picker/style-manager/style-manager.ts b/demo-shell/src/app/components/theme-picker/style-manager/style-manager.ts
deleted file mode 100644
index a200d58f65..0000000000
--- a/demo-shell/src/app/components/theme-picker/style-manager/style-manager.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { Injectable } from '@angular/core';
-
-/**
- * Class for managing stylesheets. Stylesheets are loaded into named slots so that they can be
- * removed or changed later.
- */
-@Injectable({ providedIn: 'root' })
-export class StyleManager {
- /**
- * Set the stylesheet with the specified key.
- */
- setStyle(key: string, href: string) {
- getLinkElementForKey(key).setAttribute('href', href);
- }
-
- /**
- * Remove the stylesheet with the specified key.
- */
- removeStyle(key: string) {
- const existingLinkElement = getExistingLinkElementByKey(key);
- if (existingLinkElement) {
- document.head.removeChild(existingLinkElement);
- }
- }
-}
-
-function getLinkElementForKey(key: string) {
- return getExistingLinkElementByKey(key) || createLinkElementWithKey(key);
-}
-
-function getExistingLinkElementByKey(key: string) {
- return document.head.querySelector(`link[rel="stylesheet"].${getClassNameForKey(key)}`);
-}
-
-function createLinkElementWithKey(key: string) {
- const linkEl = document.createElement('link');
- linkEl.setAttribute('rel', 'stylesheet');
- linkEl.setAttribute('type', 'text/css');
- linkEl.classList.add(getClassNameForKey(key));
- document.head.appendChild(linkEl);
- return linkEl;
-}
-
-function getClassNameForKey(key: string) {
- return `style-manager-${key}`;
-}
diff --git a/demo-shell/src/app/components/theme-picker/theme-picker.css b/demo-shell/src/app/components/theme-picker/theme-picker.css
deleted file mode 100644
index ce59d7181d..0000000000
--- a/demo-shell/src/app/components/theme-picker/theme-picker.css
+++ /dev/null
@@ -1,26 +0,0 @@
-.docs-theme-picker-menu .mat-menu-content {
- padding: 8px;
-}
-
-.docs-theme-picker-menu [mat-menu-item] {
- flex: 0 0 auto;
- padding: 0;
- overflow: hidden;
-}
-
-
-.docs-theme-picker-menu .docs-theme-picker-primary {
- width: 25px;
- height: 25px;
-}
-
-.docs-theme-picker-menu .docs-theme-picker-accent {
- position: absolute;
- bottom: 6px;
- width: 100%;
- height: 6px;
- }
-
-.docs-theme-chosen-icon{
- border-radius: 13px;
-}
diff --git a/demo-shell/src/app/components/theme-picker/theme-picker.html b/demo-shell/src/app/components/theme-picker/theme-picker.html
deleted file mode 100644
index 3913ebefa1..0000000000
--- a/demo-shell/src/app/components/theme-picker/theme-picker.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
- format_color_fill
-
-
-
-
- check_circle
-
- invert_colors
-
- {{theme.name}}
-
-
diff --git a/demo-shell/src/app/components/theme-picker/theme-picker.ts b/demo-shell/src/app/components/theme-picker/theme-picker.ts
deleted file mode 100644
index 5add8fc638..0000000000
--- a/demo-shell/src/app/components/theme-picker/theme-picker.ts
+++ /dev/null
@@ -1,152 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { CommonModule } from '@angular/common';
-import { ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
-import { MatButtonModule } from '@angular/material/button';
-import { MatGridListModule } from '@angular/material/grid-list';
-import { MatIconModule } from '@angular/material/icon';
-import { MatListModule } from '@angular/material/list';
-import { MatMenuModule } from '@angular/material/menu';
-import { MatTooltipModule } from '@angular/material/tooltip';
-import { StyleManager } from './style-manager/style-manager';
-import { DocsSiteTheme, ThemeStorage } from './theme-storage/theme-storage';
-
-@Component({
- selector: 'app-theme-picker',
- templateUrl: './theme-picker.html',
- styleUrls: ['./theme-picker.css'],
- changeDetection: ChangeDetectionStrategy.OnPush,
- host: {'aria-hidden': 'true'}
-})
-export class ThemePickerComponent {
- currentTheme;
-
- themes = [
- {
- primary: '#ff9800',
- accent: '#3f51b5',
- name: 'Developer Theme',
- href: '',
- isDefault: true
- },
- {
- primary: '#00bcd4',
- accent: '#ff9800',
- name: 'ECM Cyan Orange',
- href: 'adf-cyan-orange.css',
- isDark: false
- },
- {
- primary: '#00bcd4',
- accent: '#3f51b5',
- name: 'ECM Cyan Purple',
- href: 'adf-cyan-purple.css',
- isDark: false
- },
- {
- primary: '#8bc34a',
- accent: '#ff9800',
- name: 'BPM Green Orange',
- href: 'adf-green-orange.css',
- isDark: false
- },
- {
- primary: '#8bc34a',
- accent: '#3f51b5',
- name: 'BPM Green Purple',
- href: 'adf-green-purple.css',
- isDark: false
- },
- {
- primary: '#3f51b5',
- accent: '#ff4081',
- name: 'Indigo Pink',
- href: 'adf-indigo-pink.css',
- isDark: false
- },
- {
- primary: '#c2185b',
- accent: '#b0bec5',
- /* cspell:disable-next-line */
- name: 'Pink Bluegrey Dark',
- /* cspell:disable-next-line */
- href: 'adf-pink-bluegrey.css',
- isDark: false
- },
- {
- primary: '#7b1fa2',
- accent: '#69f0ae',
- name: 'Purple Green Dark',
- href: 'adf-purple-green.css',
- isDark: false
- },
- {
- primary: '#2196f3',
- accent: '#ff9800',
- name: 'ECM Blue Orange',
- href: 'adf-blue-orange.css',
- isDark: false
- },
- {
- primary: '#2196f3',
- accent: '#3f51b5',
- name: 'ECM Blue Purple',
- href: 'adf-blue-purple.css',
- isDark: false
- }
- ];
-
- constructor(public styleManager: StyleManager,
- private themeStorage: ThemeStorage) {
-
- }
-
- installTheme(theme: DocsSiteTheme) {
- if (theme.isDefault === true) {
- this.styleManager.setStyle('theme', ``);
- } else {
- this.currentTheme = this.getCurrentThemeFromHref(theme.href);
-
- this.styleManager.setStyle('theme', theme.href);
-
- if (this.currentTheme) {
- this.themeStorage.storeTheme(this.currentTheme);
- }
- }
- }
-
- private getCurrentThemeFromHref(href: string): DocsSiteTheme {
- return this.themes.find((theme) => theme.href === href);
- }
-}
-
-@NgModule({
- imports: [
- MatButtonModule,
- MatIconModule,
- MatMenuModule,
- MatGridListModule,
- MatTooltipModule,
- MatListModule,
- CommonModule
- ],
- exports: [ThemePickerComponent],
- declarations: [ThemePickerComponent]
-})
-export class ThemePickerModule {
-}
diff --git a/demo-shell/src/app/components/theme-picker/theme-storage/theme-storage.ts b/demo-shell/src/app/components/theme-picker/theme-storage/theme-storage.ts
deleted file mode 100644
index 0bd744a033..0000000000
--- a/demo-shell/src/app/components/theme-picker/theme-storage/theme-storage.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { EventEmitter, Injectable } from '@angular/core';
-
-export interface DocsSiteTheme {
- href: string;
- name: string;
- accent: string;
- primary: string;
- isDark?: boolean;
- isDefault?: boolean;
-}
-
-@Injectable({ providedIn: 'root' })
-export class ThemeStorage {
- static storageKey = 'docs-theme-storage-current';
-
- onThemeUpdate = new EventEmitter();
-
- storeTheme(theme: DocsSiteTheme) {
- try {
- window.localStorage[ThemeStorage.storageKey] = JSON.stringify(theme);
- } catch (e) { }
-
- this.onThemeUpdate.emit(theme);
- }
-
- getStoredTheme(): DocsSiteTheme {
- try {
- return JSON.parse(window.localStorage[ThemeStorage.storageKey] || null);
- } catch (e) {
- return null;
- }
- }
-
- clearStorage() {
- try {
- window.localStorage.removeItem(ThemeStorage.storageKey);
- } catch (e) { }
- }
-}
diff --git a/demo-shell/src/app/components/trashcan/trashcan.component.html b/demo-shell/src/app/components/trashcan/trashcan.component.html
index 8067864bc8..3757530d1c 100644
--- a/demo-shell/src/app/components/trashcan/trashcan.component.html
+++ b/demo-shell/src/app/components/trashcan/trashcan.component.html
@@ -1,7 +1,6 @@
diff --git a/demo-shell/src/app/components/webscript/webscript.component.html b/demo-shell/src/app/components/webscript/webscript.component.html
deleted file mode 100644
index aff4ccb9ce..0000000000
--- a/demo-shell/src/app/components/webscript/webscript.component.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/demo-shell/src/app/components/webscript/webscript.component.ts b/demo-shell/src/app/components/webscript/webscript.component.ts
deleted file mode 100644
index 1157b953b9..0000000000
--- a/demo-shell/src/app/components/webscript/webscript.component.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { Component } from '@angular/core';
-import { LogService } from '@alfresco/adf-core';
-
-/**
- * @deprecated Webscript component has never been turned into a product and has no UI/UX and no use cases in ACA/ADW/ACC.
- */
-@Component({
- selector: 'app-webscript',
- templateUrl: './webscript.component.html'
-})
-export class WebscriptComponent {
-
- scriptPath = 'sample/folder/Company%20Home';
- contextRoot = 'alfresco';
- servicePath = 'service';
- scriptArgs = '';
-
- constructor(private logService: LogService) {
- }
-
- logData(data) {
- this.logService.log(data);
- }
-}
diff --git a/demo-shell/src/app/components/webscript/webscript.module.ts b/demo-shell/src/app/components/webscript/webscript.module.ts
deleted file mode 100644
index 530e99c99f..0000000000
--- a/demo-shell/src/app/components/webscript/webscript.module.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { NgModule } from '@angular/core';
-import { WebscriptComponent } from './webscript.component';
-import { Routes, RouterModule } from '@angular/router';
-import { CommonModule } from '@angular/common';
-import { CoreModule } from '@alfresco/adf-core';
-import { ContentModule } from '@alfresco/adf-content-services';
-
-const routes: Routes = [
- {
- path: '',
- component: WebscriptComponent
- }
-];
-
-/**
- * @deprecated Webscript component has never been turned into a product and has no UI/UX and no use cases in ACA/ADW/ACC.
- */
-@NgModule({
- imports: [
- CommonModule,
- RouterModule.forChild(routes),
- CoreModule,
- ContentModule.forChild()
- ],
- declarations: [WebscriptComponent]
-})
-export class AppWebScriptModule {}
diff --git a/docs/core/components/data-column.component.md b/docs/core/components/data-column.component.md
index 69dad28623..5825331a04 100644
--- a/docs/core/components/data-column.component.md
+++ b/docs/core/components/data-column.component.md
@@ -213,7 +213,7 @@ within the document list.
```html
diff --git a/docs/core/pipes/node-name-tooltip.pipe.md b/docs/core/pipes/node-name-tooltip.pipe.md
index 94677efd19..f19d0c12d9 100644
--- a/docs/core/pipes/node-name-tooltip.pipe.md
+++ b/docs/core/pipes/node-name-tooltip.pipe.md
@@ -15,7 +15,7 @@ Formats the tooltip for a [`Node`](https://github.com/Alfresco/alfresco-js-api/b
```html
+ title="Name">
{{ value }}
diff --git a/docs/process-services/components/start-process.component.md b/docs/process-services/components/start-process.component.md
index b39489df47..230d0a5e50 100644
--- a/docs/process-services/components/start-process.component.md
+++ b/docs/process-services/components/start-process.component.md
@@ -67,7 +67,7 @@ Starts a process.
```html
@@ -186,7 +186,7 @@ Now you can start process based on selected application from the dropdown. The p
```html
@@ -204,7 +204,7 @@ When an error occurs, the component will emit an error event that can be used to
```html
diff --git a/docs/release-notes/RelNote170.md b/docs/release-notes/RelNote170.md
index e320f54cfb..93dab19fde 100644
--- a/docs/release-notes/RelNote170.md
+++ b/docs/release-notes/RelNote170.md
@@ -85,7 +85,7 @@ Two new content actions have been added, the "copy" and the "move" for both fold
@@ -93,7 +93,7 @@ Two new content actions have been added, the "copy" and the "move" for both fold
diff --git a/e2e/content-services/components/permissions-component.e2e.ts b/e2e/content-services/components/permissions-component.e2e.ts
index 7694844f5c..8e9372d345 100644
--- a/e2e/content-services/components/permissions-component.e2e.ts
+++ b/e2e/content-services/components/permissions-component.e2e.ts
@@ -18,7 +18,8 @@
import { PermissionsPage } from '../../content-services/pages/permissions.page';
import { ContentServicesPage } from '../../core/pages/content-services.page';
import { FileModel } from '../../models/ACS/file.model';
-import { createApiService,
+import {
+ createApiService,
BrowserActions, Logger,
LoginPage,
NotificationHistoryPage,
@@ -28,14 +29,14 @@ import { createApiService,
UploadActions,
UserModel,
UsersActions,
- ViewerPage
+ ViewerPage,
+ SnackbarPage
} from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { FolderModel } from '../../models/ACS/folder.model';
import { MetadataViewPage } from '../../core/pages/metadata-view.page';
import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
import { UploadDialogPage } from '../../core/pages/dialog/upload-dialog.page';
-import { NotificationDemoPage } from '../../core/pages/notification.page';
import { GroupsApi } from '@alfresco/js-api';
describe('Permissions Component', () => {
@@ -47,7 +48,7 @@ describe('Permissions Component', () => {
const navigationBarPage = new NavigationBarPage();
const uploadActions = new UploadActions(apiService);
const usersActions = new UsersActions(apiService);
- const notificationPage = new NotificationDemoPage();
+ const snackbarPage = new SnackbarPage();
const searchService = new SearchService(apiService);
const permissionActions = new PermissionActions(apiService);
const groupsApi = new GroupsApi(apiService.getInstance());
@@ -177,7 +178,7 @@ describe('Permissions Component', () => {
await permissionsPage.addPermissionsDialog.selectRole(groupBody.displayName, 'Consumer');
await expect(await permissionsPage.addPermissionsDialog.addButtonIsEnabled()).toBe(true, 'button should be enabled');
await permissionsPage.addPermissionsDialog.clickAddButton();
- await expect(await notificationPage.snackbarPage.getSnackBarMessage()).toEqual('Added 0 user(s) 1 group(s)');
+ await expect(await snackbarPage.getSnackBarMessage()).toEqual('Added 0 user(s) 1 group(s)');
await permissionsPage.checkUserIsAdded(groupBody.id);
});
@@ -198,8 +199,8 @@ describe('Permissions Component', () => {
await permissionsPage.checkPermissionListDisplayed();
await expect(await permissionsPage.isInherited()).toBe(true, 'Inherited permission should be on');
await permissionsPage.toggleInheritPermission();
- await expect(await notificationPage.snackbarPage.getSnackBarMessage()).toContain('Disabled inherited permission', 'Disabled notification not shown');
- await notificationPage.snackbarPage.waitForSnackBarToClose();
+ await expect(await snackbarPage.getSnackBarMessage()).toContain('Disabled inherited permission', 'Disabled notification not shown');
+ await snackbarPage.waitForSnackBarToClose();
await expect(await permissionsPage.isInherited()).toBe(false, 'Inherited permission should be off');
});
});
@@ -226,8 +227,8 @@ describe('Permissions Component', () => {
await permissionsPage.addPermissionsDialog.selectRole(filePermissionUser.fullName, 'Contributor');
await expect(await permissionsPage.addPermissionsDialog.addButtonIsEnabled()).toBe(true, 'button should be enabled');
await permissionsPage.addPermissionsDialog.clickAddButton();
- await expect(await notificationPage.snackbarPage.getSnackBarMessage()).toEqual('Added 1 user(s) 0 group(s)');
- await notificationPage.snackbarPage.waitForSnackBarToClose();
+ await expect(await snackbarPage.getSnackBarMessage()).toEqual('Added 1 user(s) 0 group(s)');
+ await snackbarPage.waitForSnackBarToClose();
await permissionsPage.checkUserIsAdded(filePermissionUser.username);
});
@@ -250,19 +251,19 @@ describe('Permissions Component', () => {
await BrowserActions.closeMenuAndDialogs();
await permissionsPage.changePermission(filePermissionUser.username, 'Collaborator');
- await notificationPage.snackbarPage.waitForSnackBarToClose();
+ await snackbarPage.waitForSnackBarToClose();
await expect(await permissionsPage.getRoleCellValue(filePermissionUser.username)).toEqual('Collaborator');
await permissionsPage.changePermission(filePermissionUser.username, 'Coordinator');
- await notificationPage.snackbarPage.waitForSnackBarToClose();
+ await snackbarPage.waitForSnackBarToClose();
await expect(await permissionsPage.getRoleCellValue(filePermissionUser.username)).toEqual('Coordinator');
await permissionsPage.changePermission(filePermissionUser.username, 'Editor');
- await notificationPage.snackbarPage.waitForSnackBarToClose();
+ await snackbarPage.waitForSnackBarToClose();
await expect(await permissionsPage.getRoleCellValue(filePermissionUser.username)).toEqual('Editor');
await permissionsPage.changePermission(filePermissionUser.username, 'Consumer');
- await notificationPage.snackbarPage.waitForSnackBarToClose();
+ await snackbarPage.waitForSnackBarToClose();
await expect(await permissionsPage.getRoleCellValue(filePermissionUser.username)).toEqual('Consumer');
});
@@ -281,7 +282,7 @@ describe('Permissions Component', () => {
await expect(await permissionsPage.getRoleCellValue(filePermissionUser.username)).toEqual('Contributor');
await permissionsPage.clickDeletePermissionButton(filePermissionUser.username);
await permissionsPage.checkUserIsDeleted(filePermissionUser.username);
- await expect(await notificationPage.snackbarPage.getSnackBarMessage()).toEqual('User/Group deleted');
+ await expect(await snackbarPage.getSnackBarMessage()).toEqual('User/Group deleted');
});
});
@@ -303,11 +304,11 @@ describe('Permissions Component', () => {
await BrowserActions.closeMenuAndDialogs();
await contentList.checkActionMenuIsNotDisplayed();
await contentServicesPage.metadataContent('RoleConsumer' + fileModel.name);
- await expect(await notificationPage.snackbarPage.getSnackBarMessage()).toEqual('You don\'t have access to do this.');
+ await expect(await snackbarPage.getSnackBarMessage()).toEqual('You don\'t have access to do this.');
await notificationHistoryPage.checkNotifyContains('You don\'t have access to do this.');
await browser.sleep(3000);
await contentServicesPage.uploadFile(fileLocation);
- await expect(await notificationPage.snackbarPage.getSnackBarMessage()).toEqual('You don\'t have the create permission to upload the content');
+ await expect(await snackbarPage.getSnackBarMessage()).toEqual('You don\'t have the create permission to upload the content');
await notificationHistoryPage.checkNotifyContains('You don\'t have the create permission to upload the content');
});
diff --git a/e2e/content-services/components/site-permissions.e2e.ts b/e2e/content-services/components/site-permissions.e2e.ts
index eb4b73c566..835902fbf7 100644
--- a/e2e/content-services/components/site-permissions.e2e.ts
+++ b/e2e/content-services/components/site-permissions.e2e.ts
@@ -16,7 +16,8 @@
*/
import { PermissionsPage } from '../../content-services/pages/permissions.page';
-import { createApiService,
+import {
+ createApiService,
BrowserActions, Logger,
LoginPage,
NotificationHistoryPage, SearchService,
@@ -24,7 +25,8 @@ import { createApiService,
UploadActions,
UserModel,
UsersActions,
- ViewerPage
+ ViewerPage,
+ SnackbarPage
} from '@alfresco/adf-testing';
import { ContentServicesPage } from '../../core/pages/content-services.page';
import { FileModel } from '../../models/ACS/file.model';
@@ -35,7 +37,6 @@ import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
import { VersionManagePage } from '../../core/pages/version-manager.page';
import CONSTANTS = require('../../util/constants');
import { NodesApi, SitesApi } from '@alfresco/js-api';
-import { NotificationDemoPage } from '../../core/pages/notification.page';
describe('Permissions Component', () => {
@@ -51,7 +52,7 @@ describe('Permissions Component', () => {
const navigationBarPage = new NavigationBarPage();
const metadataViewPage = new MetadataViewPage();
const notificationHistoryPage = new NotificationHistoryPage();
- const notificationPage = new NotificationDemoPage();
+ const snackbarPage = new SnackbarPage();
const uploadDialog = new UploadDialogPage();
const versionManagePage = new VersionManagePage();
@@ -213,8 +214,8 @@ describe('Permissions Component', () => {
await expect(await permissionsPage.addPermissionsDialog.getRoleCellValue(consumerUser.fullName)).toEqual('Site Collaborator');
await expect(await permissionsPage.addPermissionsDialog.addButtonIsEnabled()).toBe(true, 'Add button should be enabled');
await permissionsPage.addPermissionsDialog.clickAddButton();
- await expect(await notificationPage.snackbarPage.getSnackBarMessage()).toEqual('Added 1 user(s) 0 group(s)');
- await notificationPage.snackbarPage.waitForSnackBarToClose();
+ await expect(await snackbarPage.getSnackBarMessage()).toEqual('Added 1 user(s) 0 group(s)');
+ await snackbarPage.waitForSnackBarToClose();
await permissionsPage.checkUserIsAdded(consumerUser.username);
diff --git a/e2e/content-services/components/social.component.e2e.ts b/e2e/content-services/components/social.component.e2e.ts
deleted file mode 100644
index 0b425e4ecd..0000000000
--- a/e2e/content-services/components/social.component.e2e.ts
+++ /dev/null
@@ -1,205 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { createApiService,
- LikePage,
- LoginPage,
- RatePage,
- UploadActions,
- UserModel,
- UsersActions
-} from '@alfresco/adf-testing';
-import { FileModel } from '../../models/ACS/file.model';
-import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
-import { SocialPage } from '../../content-services/pages/social.page';
-import { browser } from 'protractor';
-import { NodesApi } from '@alfresco/js-api';
-
-describe('Social component', () => {
-
- const loginPage = new LoginPage();
- const likePage = new LikePage();
- const ratePage = new RatePage();
- const socialPage = new SocialPage();
- const navigationBarPage = new NavigationBarPage();
- const componentOwner = new UserModel();
- const componentVisitor = new UserModel();
- const secondComponentVisitor = new UserModel();
-
- const apiService = createApiService();
- const usersActions = new UsersActions(apiService);
- const uploadActions = new UploadActions(apiService);
- const nodesApi = new NodesApi(apiService.getInstance());
-
- const blueLikeColor = ('rgba(33, 150, 243, 1)');
- const greyLikeColor = ('rgba(128, 128, 128, 1)');
- const yellowRatedStarColor = ('rgba(255, 233, 68, 1)');
- const averageStarColor = ('rgba(128, 128, 128, 1)');
-
- let emptyFile;
-
- const emptyFileModel = new FileModel({
- name: browser.params.resources.Files.ADF_DOCUMENTS.TXT_0B.file_name,
- location: browser.params.resources.Files.ADF_DOCUMENTS.TXT_0B.file_path
- });
-
- beforeAll(async () => {
- await apiService.loginWithProfile('admin');
-
- await usersActions.createUser(componentOwner);
- await usersActions.createUser(componentVisitor);
- await usersActions.createUser(secondComponentVisitor);
-
- await apiService.login(componentOwner.username, componentOwner.password);
-
- emptyFile = await uploadActions.uploadFile(emptyFileModel.location, emptyFileModel.name, '-my-');
-
- await nodesApi.updateNode(emptyFile.entry.id,
-
- {
- permissions: {
- locallySet: [{
- authorityId: componentVisitor.username,
- name: 'Consumer',
- accessStatus: 'ALLOWED'
- }, {
- authorityId: secondComponentVisitor.username,
- name: 'Consumer',
- accessStatus: 'ALLOWED'
- }]
- }
- });
- });
-
- afterAll(async () => {
- await apiService.loginWithProfile('admin');
- await uploadActions.deleteFileOrFolder(emptyFile.entry.email);
- });
-
- describe('User interaction on their own components', () => {
- beforeEach(async () => {
- await loginPage.login(componentOwner.username, componentOwner.password);
- await navigationBarPage.clickSocialButton();
- });
-
- afterEach(async () => {
- await navigationBarPage.clickLogoutButton();
- });
-
- it('[C203006] Should be able to like and unlike their components but not rate them,', async () => {
- await socialPage.writeCustomNodeId(emptyFile.entry.id);
- await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id);
- await likePage.clickLike();
- await likePage.checkLikeCounter(1);
- await likePage.removeHoverFromLikeButton();
- await expect(await likePage.getLikedIconColor()).toBe(blueLikeColor);
- await ratePage.rateComponent(4);
- await ratePage.checkRatingCounter(0);
- await expect(await ratePage.isNotStarRated(4));
- await expect(await ratePage.getUnratedStarColor(4)).toBe(averageStarColor);
- await likePage.clickUnlike();
- await likePage.checkLikeCounter(0);
- await likePage.removeHoverFromLikeButton();
- await expect(await likePage.getUnLikedIconColor()).toBe(greyLikeColor);
- });
- });
-
- describe('User interaction on components that belong to other users', () => {
-
- beforeEach(async () => {
- await loginPage.login(componentVisitor.username, componentVisitor.password);
- await navigationBarPage.clickSocialButton();
- });
-
- afterEach(async () => {
- await navigationBarPage.clickLogoutButton();
- });
-
- it('[C310198] Should be able to rate and unRate a component', async () => {
- await socialPage.writeCustomNodeId(emptyFile.entry.id);
- await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id);
-
- await ratePage.checkRatingCounter(0);
- await ratePage.rateComponent(4);
- await ratePage.checkRatingCounter(1);
- await expect(await ratePage.isStarRated(4));
- await expect(await ratePage.getRatedStarColor(4)).toBe(yellowRatedStarColor);
- await ratePage.removeRating(4);
- await ratePage.checkRatingCounter(0);
- await expect(await ratePage.isNotStarRated(4));
- });
- });
-
- describe('Multiple Users interaction', () => {
-
- beforeEach(async () => {
- await loginPage.login(componentVisitor.username, componentVisitor.password);
- await navigationBarPage.clickSocialButton();
- });
-
- afterEach(async () => {
- await navigationBarPage.clickLogoutButton();
- });
-
- it('[C310197] Should be able to like, unLike, display total likes', async () => {
- await socialPage.writeCustomNodeId(emptyFile.entry.id);
- await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id);
- await expect(await likePage.getUnLikedIconColor()).toBe(greyLikeColor);
- await likePage.clickLike();
- await likePage.checkLikeCounter(1);
- await likePage.removeHoverFromLikeButton();
- await expect(await likePage.getLikedIconColor()).toBe(blueLikeColor);
-
- await navigationBarPage.clickLogoutButton();
- await loginPage.login(secondComponentVisitor.username, secondComponentVisitor.password);
- await navigationBarPage.clickSocialButton();
- await socialPage.writeCustomNodeId(emptyFile.entry.id);
- await expect(await likePage.getUnLikedIconColor()).toBe(greyLikeColor);
- await likePage.clickLike();
- await likePage.checkLikeCounter(2);
- await likePage.removeHoverFromLikeButton();
- await expect(await likePage.getLikedIconColor()).toBe(blueLikeColor);
- await likePage.clickUnlike();
- await likePage.checkLikeCounter(1);
- await likePage.removeHoverFromLikeButton();
- await expect(await likePage.getUnLikedIconColor()).toBe(greyLikeColor);
- });
-
- it('[C260327] Should be able to rate, unRate, display total ratings, display average rating', async () => {
- await socialPage.writeCustomNodeId(emptyFile.entry.id);
- await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id);
- await ratePage.rateComponent(4);
- await ratePage.checkRatingCounter(1);
- await expect(await ratePage.isStarRated(4));
- await expect(await ratePage.getRatedStarColor(4)).toBe(yellowRatedStarColor);
-
- await navigationBarPage.clickLogoutButton();
- await loginPage.login(secondComponentVisitor.username, secondComponentVisitor.password);
- await navigationBarPage.clickSocialButton();
- await socialPage.writeCustomNodeId(emptyFile.entry.id);
- await expect(await socialPage.getNodeIdFieldValue()).toEqual(emptyFile.entry.id);
- await ratePage.checkRatingCounter(1);
- await expect(await ratePage.getAverageStarColor(4)).toBe(averageStarColor);
- await ratePage.rateComponent(0);
- await ratePage.checkRatingCounter(2);
- await expect(await ratePage.isStarRated(2));
- await ratePage.removeRating(0);
- await ratePage.checkRatingCounter(1);
- await expect(await ratePage.getAverageStarColor(4)).toBe(averageStarColor);
- });
- });
-});
diff --git a/e2e/content-services/components/tag-component.e2e.ts b/e2e/content-services/components/tag-component.e2e.ts
deleted file mode 100644
index 57b5d00713..0000000000
--- a/e2e/content-services/components/tag-component.e2e.ts
+++ /dev/null
@@ -1,160 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { FileModel } from '../../models/ACS/file.model';
-import { createApiService,
- LoginPage,
- StringUtil,
- UploadActions,
- UserModel,
- UsersActions
-} from '@alfresco/adf-testing';
-import { TagPage } from '../../content-services/pages/tag.page';
-import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
-import { browser } from 'protractor';
-import { TagsApi } from '@alfresco/js-api';
-
-describe('Tag component', () => {
-
- const loginPage = new LoginPage();
- const tagPage = new TagPage();
- const navigationBarPage = new NavigationBarPage();
-
- let acsUser: UserModel;
- const apiService = createApiService();
- const usersActions = new UsersActions(apiService);
- const tagsApi = new TagsApi(apiService.getInstance());
-
- const uploadActions = new UploadActions(apiService);
- const pdfFileModel = new FileModel({ name: browser.params.resources.Files.ADF_DOCUMENTS.PDF.file_name });
- const deleteFile = new FileModel({ name: StringUtil.generateRandomString() });
- const sameTag = StringUtil.generateRandomString().toLowerCase();
-
- const tagList = [
- StringUtil.generateRandomString().toLowerCase(),
- StringUtil.generateRandomString().toLowerCase(),
- StringUtil.generateRandomString().toLowerCase(),
- StringUtil.generateRandomString().toLowerCase()];
-
- const tags = [
- { tag: 'test-tag-01' }, { tag: 'test-tag-02' }, { tag: 'test-tag-03' }, { tag: 'test-tag-04' }, { tag: 'test-tag-05' },
- { tag: 'test-tag-06' }, { tag: 'test-tag-07' }, { tag: 'test-tag-08' }, { tag: 'test-tag-09' }, { tag: 'test-tag-10' },
- { tag: 'test-tag-11' }];
-
- let pdfUploadedFile; let nodeId;
-
- beforeAll(async () => {
- await apiService.loginWithProfile('admin');
-
- acsUser = await usersActions.createUser();
-
- await apiService.login(acsUser.username, acsUser.password);
-
- pdfUploadedFile = await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, '-my-');
-
- nodeId = pdfUploadedFile.entry.id;
-
- const uploadedDeleteFile = await uploadActions.uploadFile(deleteFile.location, deleteFile.name, '-my-');
-
- Object.assign(pdfFileModel, pdfUploadedFile.entry);
-
- Object.assign(deleteFile, uploadedDeleteFile.entry);
-
- await tagsApi.createTagForNode(nodeId, tags);
-
- await loginPage.login(acsUser.username, acsUser.password);
- await navigationBarPage.clickTagButton();
- });
-
- afterAll(async () => {
- await navigationBarPage.clickLogoutButton();
- await apiService.loginWithProfile('admin');
- await uploadActions.deleteFileOrFolder(pdfUploadedFile.entry.id);
- });
-
- it('[C268151] Should be possible to add a new tag to a Node', async () => {
- await tagPage.insertNodeId(pdfFileModel.id);
- await tagPage.addTag(tagList[0]);
-
- await tagPage.checkTagIsDisplayedInTagList(tagList[0]);
- await tagPage.checkTagIsDisplayedInTagListByNodeId(tagList[0]);
- });
-
- it('[C260377] Should NOT be possible to add a tag that already exists', async () => {
- await tagPage.insertNodeId(pdfFileModel.id);
- await tagPage.addTag(sameTag);
- await tagPage.checkTagIsDisplayedInTagList(sameTag);
- await tagPage.addTag(sameTag);
- await expect(await tagPage.errorMessage.getText()).toEqual('Tag already exists');
- });
-
- it('[C260375] Should be possible to delete a tag', async () => {
- const deleteTag = StringUtil.generateRandomString().toUpperCase();
-
- await tagPage.insertNodeId(deleteFile.id);
-
- await tagPage.addTag(deleteTag);
-
- await tagPage.checkTagIsDisplayedInTagList(deleteTag.toLowerCase());
- await tagPage.checkTagIsDisplayedInTagListByNodeId(deleteTag.toLowerCase());
-
- await tagPage.deleteTagFromTagListByNodeId(deleteTag.toLowerCase());
-
- await tagPage.checkTagIsNotDisplayedInTagList(deleteTag.toLowerCase());
- await tagPage.checkTagIsNotDisplayedInTagListByNodeId(deleteTag.toLowerCase());
-
- await tagPage.insertNodeId(deleteFile.id);
-
- await tagPage.addTag(deleteTag);
-
- await tagPage.checkTagIsDisplayedInTagList(deleteTag.toLowerCase());
- await tagPage.checkTagIsDisplayedInTagListByNodeId(deleteTag.toLowerCase());
-
- await tagPage.deleteTagFromTagList(deleteTag.toLowerCase());
-
- await tagPage.checkTagIsNotDisplayedInTagList(deleteTag.toLowerCase());
- await tagPage.checkTagIsNotDisplayedInTagListByNodeId(deleteTag.toLowerCase());
- });
-
- it('[C286290] Should be able to hide the delete option from a tag component', async () => {
- await tagPage.insertNodeId(pdfFileModel.id);
- await tagPage.addTag(tagList[3]);
-
- await tagPage.checkTagIsDisplayedInTagListByNodeId(tagList[3]);
- await tagPage.checkDeleteTagFromTagListByNodeIdIsDisplayed(tagList[3]);
-
- await tagPage.showDeleteButton.click();
-
- await tagPage.checkDeleteTagFromTagListByNodeIdIsNotDisplayed(tagList[3]);
- });
-
- it('[C286472] Should be able to click Show more/less button on List Tags Content Services', async () => {
- await tagPage.insertNodeId(pdfFileModel.id);
-
- await tagPage.showMoreButton.waitVisible();
- await tagPage.showLessButton.waitNotVisible();
-
- await expect(await tagPage.tagsOnPage.count()).toEqual(10);
-
- await tagPage.showMoreButton.click();
- await tagPage.showLessButton.waitVisible();
-
- await tagPage.showLessButton.click();
- await tagPage.showLessButton.waitNotVisible();
- });
-
-});
diff --git a/e2e/content-services/directives/favorite-directive.e2e.ts b/e2e/content-services/directives/favorite-directive.e2e.ts
index bd0c291240..8e65d19364 100644
--- a/e2e/content-services/directives/favorite-directive.e2e.ts
+++ b/e2e/content-services/directives/favorite-directive.e2e.ts
@@ -142,14 +142,14 @@ describe('Favorite directive', () => {
await customSourcesPage.checkRowIsNotDisplayed(testFile.entry.name);
await navigationBarPage.clickTrashcanButton();
- await trashcanPage.contentList.dataTablePage().waitTillContentLoaded();
+ await trashcanPage.getDocumentList().dataTablePage().waitTillContentLoaded();
await expect(await trashcanPage.numberOfResultsDisplayed()).toBe(1);
await trashcanPage.getDocumentList().dataTablePage().clickRowByContent(testFile.entry.name);
await trashcanPage.getDocumentList().dataTablePage().checkRowByContentIsSelected(testFile.entry.name);
await trashcanPage.clickRestore();
- await trashcanPage.contentList.dataTablePage().waitTillContentLoaded();
+ await trashcanPage.getDocumentList().dataTablePage().waitTillContentLoaded();
await trashcanPage.checkTrashcanIsEmpty();
await navigationBarPage.navigateToContentServices();
diff --git a/e2e/content-services/document-list/document-list-component.e2e.ts b/e2e/content-services/document-list/document-list-component.e2e.ts
index 5023f2fd42..b51c977945 100644
--- a/e2e/content-services/document-list/document-list-component.e2e.ts
+++ b/e2e/content-services/document-list/document-list-component.e2e.ts
@@ -21,10 +21,11 @@ import { createApiService, LoginPage, StringUtil, UploadActions, UsersActions, V
import { FileModel } from '../../models/ACS/file.model';
import * as moment from 'moment';
import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
+import { NodeEntry } from '@alfresco/js-api';
describe('Document List Component', () => {
-
- let uploadedFolder; let uploadedFolderExtra;
+ let uploadedFolder: NodeEntry;
+ let uploadedFolderExtra: NodeEntry;
const loginPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
@@ -35,7 +36,8 @@ describe('Document List Component', () => {
const uploadActions = new UploadActions(apiService);
let acsUser = null;
- let testFileNode; let pdfBFileNode;
+ let testFileNode: any;
+ let pdfBFileNode: any;
afterEach(async () => {
await apiService.loginWithProfile('admin');
@@ -281,7 +283,7 @@ describe('Document List Component', () => {
await contentServicesPage.checkLockIsDisplayedForElement(folderNameB);
});
- it('[C269086] Should display Islocked field for files', async () => {
+ it('[C269086] Should display IsLocked field for files', async () => {
const testFileA = new FileModel({
name: browser.params.resources.Files.ADF_DOCUMENTS.TEST.file_name,
location: browser.params.resources.Files.ADF_DOCUMENTS.TEST.file_path
@@ -306,7 +308,7 @@ describe('Document List Component', () => {
});
describe('Once uploaded 20 folders', () => {
- let folderCreated;
+ let folderCreated: NodeEntry[];
beforeAll(async () => {
folderCreated = [];
@@ -325,8 +327,8 @@ describe('Document List Component', () => {
afterAll(async () => {
await apiService.loginWithProfile('admin');
- for (let i = 0; i < folderCreated.length; i++) {
- await uploadActions.deleteFileOrFolder(folderCreated[i].entry.id);
+ for (const item of folderCreated) {
+ await uploadActions.deleteFileOrFolder(item.entry.id);
}
await navigationBarPage.clickLogoutButton();
});
@@ -345,7 +347,7 @@ describe('Document List Component', () => {
location: browser.params.resources.Files.ADF_DOCUMENTS.TXT_0B.file_path
});
- let file;
+ let file: any;
const viewer = new ViewerPage();
beforeAll(async () => {
diff --git a/e2e/content-services/pages/social.page.ts b/e2e/content-services/pages/social.page.ts
deleted file mode 100644
index c6e2e31c7b..0000000000
--- a/e2e/content-services/pages/social.page.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { $ } from 'protractor';
-import { BrowserActions } from '@alfresco/adf-testing';
-
-export class SocialPage {
-
- nodeIdField = $(`input[id="nodeId"]`);
-
- async getNodeIdFieldValue(): Promise {
- return BrowserActions.getInputValue(this.nodeIdField);
- }
-
- async writeCustomNodeId(nodeId: string): Promise {
- await BrowserActions.clearSendKeys(this.nodeIdField, nodeId);
- }
-
-}
diff --git a/e2e/content-services/pages/tag.page.ts b/e2e/content-services/pages/tag.page.ts
deleted file mode 100644
index 1322e685ad..0000000000
--- a/e2e/content-services/pages/tag.page.ts
+++ /dev/null
@@ -1,107 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { by, protractor, browser, $, $$ } from 'protractor';
-import { BrowserActions, TestElement } from '@alfresco/adf-testing';
-
-export class TagPage {
-
- addTagButton = TestElement.byCss('#add-tag');
- insertNodeIdElement = $('input[id="nodeId"]');
- newTagInput = TestElement.byCss('input[id="new-tag-text"]');
- tagListRow = TestElement.byCss('adf-tag-node-actions-list mat-list-item');
- tagListByNodeIdRow = TestElement.byCss('adf-tag-node-list mat-chip');
- errorMessage = TestElement.byCss('mat-hint[data-automation-id="errorMessage"]');
- tagListContentServicesRowLocator = by.css('div[class*="adf-list-tag"]');
- showDeleteButton = TestElement.byCss('#adf-remove-button-tag');
- showMoreButton = TestElement.byCss('button[data-automation-id="show-more-tags"]');
- showLessButton = TestElement.byCss('button[data-automation-id="show-fewer-tags"]');
- tagsOnPage = $$('div[class*="adf-list-tag"]');
- confirmTag = TestElement.byCss('#adf-tag-node-send');
-
- getNodeId(): Promise {
- return BrowserActions.getInputValue(this.insertNodeIdElement);
- }
-
- async insertNodeId(nodeId) {
- await BrowserActions.clearSendKeys(this.insertNodeIdElement, nodeId);
-
- await browser.sleep(200);
- await this.insertNodeIdElement.sendKeys(' ');
- await browser.sleep(200);
- await this.insertNodeIdElement.sendKeys(protractor.Key.BACK_SPACE);
- await this.confirmTag.click();
- }
-
- async addTag(tag: string): Promise {
- await this.newTagInput.typeText(tag);
- return this.addTagButton.click();
- }
-
- deleteTagFromTagListByNodeId(name: string): Promise {
- return TestElement.byId('tag_chips_delete_' + name).click();
- }
-
- deleteTagFromTagList(name: string): Promise {
- return TestElement.byId('tag_chips_delete_' + name).click();
- }
-
- async addTagButtonIsEnabled(): Promise {
- await this.addTagButton.waitVisible();
- return this.addTagButton.isEnabled();
- }
-
- async checkTagIsDisplayedInTagList(tagName: string): Promise {
- try {
- await TestElement.byText('div[id*="tag_name"]', tagName).waitVisible();
- return true;
- } catch (error) {
- if (await this.showMoreButton.isDisplayed()) {
- await this.showMoreButton.click();
- await this.checkTagIsDisplayedInTagList(tagName);
- return true;
- } else {
- throw new Error('Error');
- }
- }
- }
-
- async checkTagIsNotDisplayedInTagList(tagName: string): Promise {
- try {
- await TestElement.byText('div[id*="tag_name"]', tagName).waitNotVisible();
- return true;
- } catch (error) {
- return false;
- }
- }
-
- checkTagIsNotDisplayedInTagListByNodeId(tagName: string): Promise {
- return TestElement.byText('span[id*="tag_name"]', tagName).waitNotVisible();
- }
-
- checkTagIsDisplayedInTagListByNodeId(tagName: string): Promise {
- return TestElement.byText('span[id*="tag_name"]', tagName).waitVisible();
- }
-
- checkDeleteTagFromTagListByNodeIdIsDisplayed(name: string): Promise {
- return TestElement.byId('tag_chips_delete_' + name).waitVisible();
- }
-
- checkDeleteTagFromTagListByNodeIdIsNotDisplayed(name: string): Promise {
- return TestElement.byId('tag_chips_delete_' + name).waitNotVisible();
- }
-}
diff --git a/e2e/core/datatable/data-table-component-selection.e2e.ts b/e2e/core/datatable/data-table-component-selection.e2e.ts
deleted file mode 100644
index 489ac797fb..0000000000
--- a/e2e/core/datatable/data-table-component-selection.e2e.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { createApiService, DataTableComponentPage, LoginPage, UserModel, UsersActions } from '@alfresco/adf-testing';
-import { DataTablePage } from '../../core/pages/data-table.page';
-import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
-
-describe('Datatable component - selection', () => {
-
- const apiService = createApiService();
- const usersActions = new UsersActions(apiService);
-
- const dataTablePage = new DataTablePage();
- const loginPage = new LoginPage();
- const acsUser = new UserModel();
- const navigationBarPage = new NavigationBarPage();
- const dataTableComponent = new DataTableComponentPage();
-
- beforeAll(async () => {
- await apiService.loginWithProfile('admin');
-
- await usersActions.createUser(acsUser);
-
- await loginPage.login(acsUser.username, acsUser.password);
-
- await navigationBarPage.navigateToDatatable();
- });
-
- afterAll(async () => {
- await navigationBarPage.clickLogoutButton();
- });
-
- it('[C213258] Should be possible change the selection modes when change the selectionMode property', async () => {
- await dataTablePage.selectRow('2');
- await dataTableComponent.checkRowIsSelected('Id', '2');
- await expect(await dataTablePage.getNumberOfSelectedRows()).toEqual(1);
- await dataTablePage.selectRow('3');
- await dataTableComponent.checkRowIsSelected('Id', '3');
- await expect(await dataTablePage.getNumberOfSelectedRows()).toEqual(1);
- await dataTablePage.selectSelectionMode('Multiple');
- await dataTablePage.selectRow('1');
- await dataTableComponent.checkRowIsSelected('Id', '1');
- await dataTablePage.selectRowWithKeyboard('3');
- await dataTableComponent.checkRowIsSelected('Id', '1');
- await dataTableComponent.checkRowIsSelected('Id', '3');
- await dataTablePage.checkRowIsNotSelected('2');
- await dataTablePage.checkRowIsNotSelected('4');
- await dataTablePage.selectSelectionMode('None');
- await dataTablePage.selectRow('1');
- await dataTablePage.checkNoRowIsSelected();
- });
-
-});
diff --git a/e2e/core/datatable/data-table-component.e2e.ts b/e2e/core/datatable/data-table-component.e2e.ts
deleted file mode 100644
index 2b29f2ee5b..0000000000
--- a/e2e/core/datatable/data-table-component.e2e.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { createApiService,
- DropActions,
- LoginPage,
- NotificationHistoryPage,
- UserModel,
- UsersActions
-} from '@alfresco/adf-testing';
-import { browser } from 'protractor';
-import { FileModel } from '../../models/ACS/file.model';
-import { DataTablePage } from '../../core/pages/data-table.page';
-import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
-
-describe('Datatable component', () => {
-
- const dragAndDropDataTablePage = new DataTablePage();
- const loginPage = new LoginPage();
- const acsUser = new UserModel();
- const navigationBarPage = new NavigationBarPage();
- const notificationHistoryPage = new NotificationHistoryPage();
- const pngFile = new FileModel({
- name: browser.params.resources.Files.ADF_DOCUMENTS.PNG.file_name,
- location: browser.params.resources.Files.ADF_DOCUMENTS.PNG.file_location
- });
-
- const apiService = createApiService();
- const usersActions = new UsersActions(apiService);
-
- beforeAll(async () => {
- await apiService.loginWithProfile('admin');
-
- await usersActions.createUser(acsUser);
-
- await loginPage.login(acsUser.username, acsUser.password);
- });
-
- afterAll(async () => {
- await navigationBarPage.clickLogoutButton();
- });
-
- describe('Datatable component - Drag and Drop', () => {
- beforeAll(async () => {
- await navigationBarPage.navigateToDragAndDropDatatable();
- await dragAndDropDataTablePage.dataTable.waitForTableBody();
- });
-
- it('[C307984] Should trigger the event handling header-drop and cell-drop', async () => {
- const dragAndDropHeader = dragAndDropDataTablePage.getDropTargetIdColumnHeader();
- await DropActions.dropFile(dragAndDropHeader, pngFile.location);
- await notificationHistoryPage.checkNotifyContains('Dropped data on [ id ] header');
-
- const dragAndDropCell = dragAndDropDataTablePage.getDropTargetIdColumnCell(1);
- await DropActions.dropFile(dragAndDropCell, pngFile.location);
- await notificationHistoryPage.checkNotifyContains('Dropped data on [ id ] cell');
- });
- });
-});
diff --git a/e2e/core/login/login-component.e2e.ts b/e2e/core/login/login-component.e2e.ts
deleted file mode 100644
index d049ba143a..0000000000
--- a/e2e/core/login/login-component.e2e.ts
+++ /dev/null
@@ -1,171 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { createApiService,
- BrowserActions,
- ErrorPage,
- LocalStorageUtil,
- UserInfoPage,
- UserModel,
- UsersActions
-} from '@alfresco/adf-testing';
-import { browser } from 'protractor';
-import { ContentServicesPage } from '../../core/pages/content-services.page';
-import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
-import { LoginShellPage } from '../../core/pages/login-shell.page';
-
-describe('Login component', () => {
-
- const navigationBarPage = new NavigationBarPage();
- const userInfoPage = new UserInfoPage();
- const contentServicesPage = new ContentServicesPage();
- const loginPage = new LoginShellPage();
- const errorPage = new ErrorPage();
-
- const userA = new UserModel();
- const userB = new UserModel();
-
- const errorMessages = {
- username: 'Your username needs to be at least 2 characters.',
- invalid_credentials: 'You\'ve entered an unknown username or password',
- password: 'Enter your password to sign in',
- required: 'Required'
- };
-
- const apiService = createApiService();
- const usersActions = new UsersActions(apiService);
-
- beforeAll(async () => {
- await LocalStorageUtil.setStorageItem('authType', 'BASIC');
-
- await apiService.loginWithProfile('admin');
-
- await usersActions.createUser(userA);
- await usersActions.createUser(userB);
- });
-
- afterEach(async () => {
- await navigationBarPage.clickLogoutButton();
- });
-
- it('[C276746] Should display the right information in user-info when a different users logs in', async () => {
- await LocalStorageUtil.setStorageItem('providers', 'ECM');
-
- await loginPage.login(userA.username, userA.password);
- await userInfoPage.clickUserProfile();
- await expect(await userInfoPage.getContentHeaderTitle()).toEqual(`${userA.firstName} ${userA.lastName}`);
-
- await navigationBarPage.clickLogoutButton();
- await loginPage.login(userB.username, userB.password);
- await userInfoPage.clickUserProfile();
- await expect(await userInfoPage.getContentHeaderTitle()).toEqual(`${userB.firstName} ${userB.lastName}`);
- });
-
- it('[C299206] Should redirect the user without the right access role on a forbidden page', async () => {
- await loginPage.login(userA.username, userA.password);
- await navigationBarPage.navigateToProcessServicesCloudPage();
- await expect(await errorPage.getErrorCode()).toBe('403');
- await expect(await errorPage.getErrorTitle()).toBe('You don\'t have permission to access this server.');
- await expect(await errorPage.getErrorDescription()).toBe('You\'re not allowed access to this resource on the server.');
- });
-
- it('[C260036] Should require username', async () => {
- await loginPage.goToLoginPage();
- await loginPage.checkUsernameInactive();
- await expect(await loginPage.getSignInButtonIsEnabled()).toBe(false);
- await loginPage.enterUsername('A');
- await expect(await loginPage.getUsernameTooltip()).toEqual(errorMessages.username);
- await loginPage.clearUsername();
- await expect(await loginPage.getUsernameTooltip()).toEqual(errorMessages.required);
- await loginPage.checkUsernameHighlighted();
- await expect(await loginPage.getSignInButtonIsEnabled()).toBe(false);
- });
-
- it('[C260044] Username should be at least 2 characters long', async () => {
- await loginPage.goToLoginPage();
- await expect(await loginPage.getSignInButtonIsEnabled()).toBe(false);
- await loginPage.enterUsername('A');
- await expect(await loginPage.getUsernameTooltip()).toEqual(errorMessages.username);
- await loginPage.enterUsername('AB');
- await loginPage.checkUsernameTooltipIsNotVisible();
- await expect(await loginPage.getSignInButtonIsEnabled()).toBe(false);
- await loginPage.clearUsername();
- });
-
- it('[C260045] Should enable login button after entering a valid username and a password', async () => {
- await loginPage.goToLoginPage();
- await loginPage.enterUsername(browser.params.testConfig.users.admin.username);
- await expect(await loginPage.getSignInButtonIsEnabled()).toBe(false);
- await loginPage.enterPassword('a');
- await expect(await loginPage.getSignInButtonIsEnabled()).toBe(true);
- await loginPage.clearUsername();
- await loginPage.clearPassword();
- });
-
- it('[C260047] Password should be crypted', async () => {
- await loginPage.goToLoginPage();
- await expect(await loginPage.getSignInButtonIsEnabled()).toBe(false);
- await loginPage.enterPassword('test');
- await loginPage.showPassword();
- const tooltip = await loginPage.getShownPassword();
- await expect(tooltip).toEqual('test');
- await loginPage.hidePassword();
- await loginPage.checkPasswordIsHidden();
- await loginPage.clearPassword();
- });
-
- it('[C260048] Should be possible to enable/disable login footer', async () => {
- await loginPage.goToLoginPage();
- await loginPage.enableFooter();
- await loginPage.checkRememberIsDisplayed();
- await loginPage.checkNeedHelpIsDisplayed();
- await loginPage.checkRegisterDisplayed();
- await loginPage.disableFooter();
- await loginPage.checkRememberIsNotDisplayed();
- await loginPage.checkNeedHelpIsNotDisplayed();
- await loginPage.checkRegisterIsNotDisplayed();
- });
-
- it('[C260050] Should be possible to login to Content Services with Process Services disabled', async () => {
- await LocalStorageUtil.setStorageItem('providers', 'ECM');
-
- await loginPage.goToLoginPage();
- await expect(await loginPage.getSignInButtonIsEnabled()).toBe(false);
- await loginPage.loginWithProfile('admin');
- await navigationBarPage.navigateToContentServices();
- await contentServicesPage.checkAcsContainer();
- });
-
- it('[C277754] Should the user be redirect to the login page when the Content Service session expire', async () => {
- await LocalStorageUtil.setStorageItem('providers', 'ECM');
-
- await loginPage.goToLoginPage();
- await loginPage.loginWithProfile('admin');
- await browser.executeScript('window.localStorage.removeItem("ADF_ticket-ECM");');
- await BrowserActions.getUrl(browser.baseUrl + '/files');
- await loginPage.waitForElements();
-
- await LocalStorageUtil.setStorageItem('providers', 'ALL');
- });
-
- it('[C279933] Should be possible change the login component logo when logoImageUrl is changed', async () => {
- await loginPage.goToLoginPage();
- await loginPage.enableLogoSwitch();
- await loginPage.enterLogo('https://rawgit.com/Alfresco/alfresco-ng2-components/master/assets/angular2.png');
- await loginPage.checkLoginImgURL();
- });
-});
diff --git a/e2e/core/login/login-sso/logout-sso.e2e.ts b/e2e/core/login/login-sso/logout-sso.e2e.ts
deleted file mode 100644
index 24a54dc238..0000000000
--- a/e2e/core/login/login-sso/logout-sso.e2e.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { LoginPage, SettingsPage } from '@alfresco/adf-testing';
-import { browser } from 'protractor';
-import { NavigationBarPage } from '../../pages/navigation-bar.page';
-
-describe('Logout component - SSO', () => {
-
- const settingsPage = new SettingsPage();
- const loginSSOPage = new LoginPage();
- const navigationBarPage = new NavigationBarPage();
-
- it('[C280665] Should be possible change the logout redirect URL', async () => {
- await settingsPage.setProviderEcmSso(browser.params.testConfig.appConfig.ecmHost,
- browser.params.testConfig.appConfig.oauth2.host,
- browser.params.testConfig.appConfig.identityHost, false, true, browser.params.testConfig.appConfig.oauth2.clientId, '#/login');
- await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.users.admin.username, browser.params.testConfig.users.admin.password);
-
- await navigationBarPage.clickLogoutButton();
-
- const actualUrl = await browser.getCurrentUrl();
- await expect(actualUrl).toEqual(browser.baseUrl + '/login');
- });
-});
diff --git a/e2e/core/login/remember-me.e2e.ts b/e2e/core/login/remember-me.e2e.ts
deleted file mode 100644
index 76065ba967..0000000000
--- a/e2e/core/login/remember-me.e2e.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { SettingsPage, LocalStorageUtil } from '@alfresco/adf-testing';
-import { LoginShellPage } from '../../core/pages/login-shell.page';
-
-describe('Login component - Remember Me', () => {
-
- const settingsPage = new SettingsPage();
- const loginPage = new LoginShellPage();
-
- beforeAll(async () => {
- await LocalStorageUtil.setStorageItem('authType', 'BASIC');
-
- await loginPage.goToLoginPage();
- await loginPage.clickSettingsIcon();
- await settingsPage.setProviderEcmBpm();
- });
-
- it('[C260501] Should Remember me checkbox not be present in the login if the property showRememberMe is false', async () => {
- await loginPage.checkRememberIsDisplayed();
- await loginPage.disableRememberMe();
- await loginPage.checkRememberIsNotDisplayed();
- });
-});
diff --git a/e2e/core/notifications-component.e2e.ts b/e2e/core/notifications-component.e2e.ts
deleted file mode 100644
index e067546942..0000000000
--- a/e2e/core/notifications-component.e2e.ts
+++ /dev/null
@@ -1,124 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { createApiService, LoginPage, UserModel, UsersActions } from '@alfresco/adf-testing';
-import { NotificationDemoPage } from '../core/pages/notification.page';
-import { browser } from 'protractor';
-import { NavigationBarPage } from '../core/pages/navigation-bar.page';
-
-describe('Notifications Component', () => {
-
- const loginPage = new LoginPage();
- const notificationPage = new NotificationDemoPage();
- const navigationBarPage = new NavigationBarPage();
- const apiService = createApiService();
- const usersActions = new UsersActions(apiService);
-
- let acsUser: UserModel;
-
- beforeAll(async () => {
- await apiService.loginWithProfile('admin');
-
- acsUser = await usersActions.createUser();
-
- await apiService.login(acsUser.username, acsUser.password);
-
- await loginPage.login(acsUser.username, acsUser.password);
-
- await notificationPage.goToNotificationsPage();
- });
-
- afterAll(async () => {
- await navigationBarPage.clickLogoutButton();
- });
-
- beforeEach(async () => {
- await notificationPage.enterDurationField(3000);
- });
-
- afterEach(async () => {
- await notificationPage.snackbarPage.waitForSnackBarToClose();
- await browser.executeScript(`document.querySelector('button[data-automation-id="notification-custom-dismiss-button"]').click();`);
- });
-
- it('[C279979] Should not show notification when the message is empty and button is clicked', async () => {
- await notificationPage.clearMessage();
- await notificationPage.clickNotificationButton();
- await expect(await notificationPage.snackbarPage.isNotificationSnackBarDisplayed()).toEqual(false);
- });
-
- it('[C279977] Should show notification when the message is not empty and button is clicked', async () => {
- await notificationPage.enterMessageField('test');
- await notificationPage.clickNotificationButton();
- await expect(await notificationPage.snackbarPage.getSnackBarMessage()).toEqual('test');
- });
-
- it('[C279978] Should show notification with action when the message is not empty and button is clicked', async () => {
- await notificationPage.enterMessageField('test');
- await notificationPage.clickActionToggle();
- await notificationPage.clickNotificationButton();
- await expect(await notificationPage.snackbarPage.getSnackBarMessage()).toEqual('test');
- await notificationPage.clickActionButton();
- await notificationPage.checkActionEvent();
- await notificationPage.clickActionToggle();
- });
-
- it('[C279981] Should show notification with action when the message is not empty and custom configuration button is clicked', async () => {
- await notificationPage.enterMessageField('test');
- await notificationPage.clickNotificationButton();
- await expect(await notificationPage.snackbarPage.isNotificationSnackBarDisplayed()).toEqual(true);
- });
-
- it('[C280000] Should show notification with action when the message is not empty and custom button is clicked', async () => {
- await notificationPage.enterMessageField('test');
- await notificationPage.clickActionToggle();
- await notificationPage.clickNotificationButton();
- await expect(await notificationPage.snackbarPage.isNotificationSnackBarDisplayed()).toEqual(true);
- await expect(await notificationPage.snackbarPage.getSnackBarMessage()).toEqual('test');
- await notificationPage.snackbarPage.waitForSnackBarToClose();
- await notificationPage.clickNotificationButton();
- await notificationPage.clickActionButton();
- await notificationPage.checkActionEvent();
- await notificationPage.clickActionToggle();
- });
-
- it('[C694098] Should show a decorative icon when the message and the icon fields are not empty and button is clicked', async () => {
- await notificationPage.enterMessageField('test');
- await notificationPage.enterDecorativeIconField('folder');
- await notificationPage.clickNotificationButton();
- await expect(await notificationPage.snackbarPage.getSnackBarDecorativeIcon()).toEqual('folder');
- });
-
- it('[C279987] Should show custom notification during a limited time when a duration is added', async () => {
- await notificationPage.enterMessageField('test');
- await notificationPage.enterDurationField(1000);
- await notificationPage.clickNotificationButton();
- await expect(await notificationPage.snackbarPage.isNotificationSnackBarDisplayed()).toEqual(true);
- await browser.sleep(2000);
- await expect(await notificationPage.snackbarPage.isNotificationSnackBarDisplayed()).toEqual(false);
- });
-
- it('[C280001] Should meet configuration when a custom notification is set', async () => {
- await notificationPage.enterMessageField('test');
- await notificationPage.enterDurationField(1000);
- await notificationPage.selectHorizontalPosition('Right');
- await notificationPage.selectVerticalPosition('Top');
- await notificationPage.selectDirection('Left to right');
- await notificationPage.clickNotificationButton();
- await expect(await notificationPage.getConfigObject()).toBe('{"direction": "ltr", "duration": "1000", "horizontalPosition": "right", "verticalPosition": "top"}');
- });
-});
diff --git a/e2e/core/pages/card-view-component.page.ts b/e2e/core/pages/card-view-component.page.ts
deleted file mode 100644
index 7a9e155746..0000000000
--- a/e2e/core/pages/card-view-component.page.ts
+++ /dev/null
@@ -1,252 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { $, by, element } from 'protractor';
-import {
- BrowserVisibility,
- BrowserActions,
- CardTextItemPage,
- DropdownPage,
- CardBooleanItemPage
-} from '@alfresco/adf-testing';
-
-export class CardViewComponentPage {
-
- addButton = element(by.className('adf-card-view__key-value-pairs__add-btn'));
- nameCardTextItem = new CardTextItemPage('name');
- booleanCardBooleanItem = new CardBooleanItemPage('boolean');
- intField = $(`input[data-automation-id='card-textitem-editinput-int']`);
- floatField = $(`input[data-automation-id='card-textitem-editinput-float']`);
- valueInputField = element(by.xpath(`//*[contains(@id,'input') and @placeholder='Value']`));
- nameInputField = element(by.xpath(`//*[contains(@id,'input') and @placeholder='Name']`));
- consoleLog = element(by.className('app-console'));
- deleteButton = element.all(by.className('adf-card-view__key-value-pairs__remove-btn')).first();
- resetButton = $(`#adf-reset-card-log`);
- editableSwitch = $('#app-toggle-editable');
- clearDateSwitch = $('#app-toggle-clear-date');
- noneOptionSwitch = $('#app-toggle-none-option');
- clickableField = $(`[data-automation-id="card-textitem-toggle-click"]`);
-
- selectDropdown = new DropdownPage($('mat-select[data-automation-class="select-box"]'));
-
- async clickOnAddButton(): Promise {
- await BrowserActions.click(this.addButton);
- }
-
- async checkNameTextLabelIsPresent(): Promise {
- await this.nameCardTextItem.checkLabelIsPresent();
- }
-
- async getNameTextFieldText(): Promise {
- return this.nameCardTextItem.getFieldValue();
- }
-
- async enterNameTextField(text: string): Promise {
- await this.nameCardTextItem.enterTextField(text);
- }
-
- async clickOnNameTextSaveIcon(): Promise {
- await this.nameCardTextItem.clickOnSaveButton();
- }
-
- async clickOnNameTextClearIcon(): Promise {
- await this.nameCardTextItem.clickOnClearButton();
- }
-
- async clickOnResetButton(): Promise {
- await BrowserActions.click(this.resetButton);
- }
-
- async clickOnIntField(): Promise {
- const toggleText = $('div[data-automation-id="card-textitem-toggle-int"]');
- await BrowserActions.click(toggleText);
- await BrowserVisibility.waitUntilElementIsVisible(this.intField);
- }
-
- async clickOnIntClearIcon(): Promise {
- const clearIcon = $('button[data-automation-id="card-textitem-reset-int"]');
- await BrowserActions.click(clearIcon);
- }
-
- async clickOnIntSaveIcon(): Promise {
- const saveIcon = $('button[data-automation-id="card-textitem-update-int"]');
- await BrowserActions.click(saveIcon);
- }
-
- async enterIntField(text): Promise {
- await BrowserActions.clearSendKeys(this.intField, text);
- }
-
- getIntFieldText(): Promise {
- const textField = $('span[data-automation-id="card-textitem-value-int"]');
- return BrowserActions.getText(textField);
- }
-
- getErrorInt(): Promise {
- const errorElement = $('mat-error[data-automation-id="card-textitem-error-int"]');
- return BrowserActions.getText(errorElement);
- }
-
- async clickOnFloatField(): Promise {
- const toggleText = $('div[data-automation-id="card-textitem-toggle-float"]');
- await BrowserActions.click(toggleText);
- await BrowserVisibility.waitUntilElementIsVisible(this.floatField);
- }
-
- async clickOnFloatClearIcon(): Promise {
- const clearIcon = $(`button[data-automation-id="card-textitem-reset-float"]`);
- await BrowserActions.click(clearIcon);
- }
-
- async clickOnFloatSaveIcon(): Promise {
- const saveIcon = $(`button[data-automation-id="card-textitem-update-float"]`);
- await BrowserActions.click(saveIcon);
- }
-
- async enterFloatField(text): Promise {
- await BrowserActions.clearSendKeys(this.floatField, text);
- }
-
- getFloatFieldText(): Promise {
- const textField = $('span[data-automation-id="card-textitem-value-float"]');
- return BrowserActions.getText(textField);
- }
-
- getErrorFloat(): Promise {
- const errorElement = $('mat-error[data-automation-id="card-textitem-error-float"]');
- return BrowserActions.getText(errorElement);
- }
-
- async setName(name: string): Promise {
- await BrowserActions.clearSendKeys(this.nameInputField, name);
- }
-
- async setValue(value): Promise {
- await BrowserActions.clearSendKeys(this.valueInputField, value);
- }
-
- async waitForOutput(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.consoleLog);
- }
-
- getOutputText(index: number): Promise {
- return BrowserActions.getText(this.consoleLog.$$('p').get(index));
- }
-
- async deletePairsValues(): Promise {
- await BrowserActions.click(this.deleteButton);
- }
-
- async clickSelectBox(): Promise {
- await this.selectDropdown.clickDropdown();
- await this.selectDropdown.checkOptionsPanelIsDisplayed();
- }
-
- async checkboxClick(): Promise {
- await this.booleanCardBooleanItem.checkboxClick();
- }
-
- async checkBooleanLabelIsPresent(): Promise {
- await this.booleanCardBooleanItem.checkLabelIsPresent();
- }
-
- async selectValueFromComboBox(index): Promise {
- await this.selectDropdown.selectOptionFromIndex(index);
- }
-
- async disableEdit(): Promise {
- const check = await BrowserActions.getAttribute(this.editableSwitch, 'class');
- if (check.indexOf('mat-checked') > -1) {
- await BrowserActions.click(this.editableSwitch);
- await expect(await BrowserActions.getAttribute(this.editableSwitch, 'class')).not.toContain('mat-checked');
- }
- }
-
- async getDateValue(): Promise {
- const dateValue = $('span[data-automation-id="card-date-value-date"]');
- return dateValue.getText();
- }
-
- async getDateTimeValue(): Promise {
- const dateTimeValue = $('span[data-automation-id="card-datetime-value-datetime"]');
- return dateTimeValue.getText();
- }
-
- async clearDateField(): Promise {
- const clearDateButton = $('mat-icon[data-automation-id="datepicker-date-clear-date"]');
- await BrowserActions.click(clearDateButton);
- }
-
- async clearDateTimeField(): Promise {
- const clearDateButton = $('mat-icon[data-automation-id="datepicker-date-clear-datetime"]');
- await BrowserActions.click(clearDateButton);
- }
-
- async enableClearDate(): Promise {
- const switchClass = await BrowserActions.getAttribute(this.editableSwitch, 'class');
- if (switchClass.indexOf('mat-checked') === -1) {
- await this.clearDateSwitch.click();
- const clearDateChecked = $('mat-slide-toggle[id="app-toggle-clear-date"][class*="mat-checked"]');
- await BrowserVisibility.waitUntilElementIsVisible(clearDateChecked);
- }
- }
-
- async enableNoneOption(): Promise {
- const switchClass = await BrowserActions.getAttribute(this.noneOptionSwitch, 'class');
- if (switchClass.indexOf('mat-checked') === -1) {
- await this.noneOptionSwitch.click();
- const noneOptionChecked = $('mat-slide-toggle[id="app-toggle-none-option"][class*="mat-checked"]');
- await BrowserVisibility.waitUntilElementIsVisible(noneOptionChecked);
- }
- }
-
- async isErrorNotDisplayed(): Promise {
- const errorElement = $('mat-error[data-automation-id="card-textitem-error-int"]');
- try {
- await BrowserVisibility.waitUntilElementIsNotVisible(errorElement);
- return true;
- } catch {
- return false;
- }
- }
-
- async getClickableValue(): Promise {
- return this.clickableField.getText();
- }
-
- async updateClickableField(text: string): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.clickableField);
- await BrowserActions.click(this.clickableField);
- const inputField = $('input[data-automation-id="card-textitem-editinput-click"]');
- await BrowserVisibility.waitUntilElementIsPresent(inputField);
- await BrowserActions.clearSendKeys(inputField, text);
- const save = $('[data-automation-id="card-textitem-update-click"]');
- await BrowserVisibility.waitUntilElementIsVisible(save);
- await BrowserActions.click(save);
- }
-
- async hasCardViewConsoleLog(text: string): Promise {
- const cardViewConsole = element(by.cssContainingText('.app-console', text));
- await BrowserVisibility.waitUntilElementIsVisible(cardViewConsole);
- return cardViewConsole.getText();
- }
-
- async clearIntField(): Promise {
- await this.intField.clear();
- }
-
-}
diff --git a/e2e/core/pages/content-services.page.ts b/e2e/core/pages/content-services.page.ts
index 005f52605f..9817f1acaa 100644
--- a/e2e/core/pages/content-services.page.ts
+++ b/e2e/core/pages/content-services.page.ts
@@ -69,17 +69,17 @@ export class ContentServicesPage {
emptyFolderImage = $('.adf-empty-folder-image');
gridViewButton = $('button[data-automation-id="document-list-grid-view"]');
cardViewContainer = $('div.app-document-list-container div.adf-datatable-card');
- shareNodeButton = element(by.cssContainingText('mat-icon', ' share '));
+ shareNodeButton = element(by.cssContainingText('mat-icon', 'share'));
nameColumnHeader = 'name';
createdByColumnHeader = 'createdByUser.displayName';
createdColumnHeader = 'createdAt';
- deleteContentElement = $('button[data-automation-id*="DELETE"]');
- metadataAction = $('button[data-automation-id*="METADATA"]');
- versionManagerAction = $('button[data-automation-id*="VERSIONS"]');
- moveContentElement = $('button[data-automation-id*="MOVE"]');
- copyContentElement = $('button[data-automation-id*="COPY"]');
- lockContentElement = $('button[data-automation-id="DOCUMENT_LIST.ACTIONS.LOCK"]');
- downloadContent = $('button[data-automation-id*="DOWNLOAD"]');
+ deleteContentElement = $('button[data-automation-id="Delete"]');
+ metadataAction = $('button[data-automation-id="Info"]');
+ versionManagerAction = $('button[data-automation-id="Manage versions"]');
+ moveContentElement = $('button[data-automation-id="Move"]');
+ copyContentElement = $('button[data-automation-id="Copy"]');
+ lockContentElement = $('button[data-automation-id="Lock"]');
+ downloadContent = $('button[data-automation-id="Download"]');
downloadButton = $('button[title="Download"]');
favoriteButton = $('button[data-automation-id="favorite"]');
markedFavorite = element(by.cssContainingText('button[data-automation-id="favorite"] mat-icon', 'star'));
@@ -124,7 +124,7 @@ export class ContentServicesPage {
async checkDeleteIsDisabled(content): Promise {
await this.contentList.clickOnActionMenu(content);
- const disabledDelete = $(`button[data-automation-id*='DELETE'][disabled='true']`);
+ const disabledDelete = $(`button[data-automation-id='Delete'][disabled='true']`);
await BrowserVisibility.waitUntilElementIsVisible(disabledDelete);
}
diff --git a/e2e/core/pages/data-table.page.ts b/e2e/core/pages/data-table.page.ts
deleted file mode 100644
index 4954400da7..0000000000
--- a/e2e/core/pages/data-table.page.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { BrowserActions, BrowserVisibility, DataTableComponentPage, DropdownPage } from '@alfresco/adf-testing';
-import { $, $$, browser, by, element, ElementFinder, protractor } from 'protractor';
-
-export class DataTablePage {
-
- columns = {
- id: 'Id',
- name: 'Name',
- createdBy: 'Created By',
- json: 'Json'
- };
-
- data = {
- copyClipboardDataTable: 'copyClipboard-datatable',
- defaultTable: 'datatable'
- };
-
- dataTable: DataTableComponentPage;
- reset = element(by.xpath(`//span[contains(text(),'Reset to default')]/..`));
- allSelectedRows = $$(`adf-datatable-row[class*='is-selected']`);
- selectedRowNumber = $(`adf-datatable-row[class*='is-selected'] div[data-automation-id*='text_']`);
- idColumnHeader = $(`div[data-automation-id='auto_id_id']`);
- selectModeDropdown = new DropdownPage($(`mat-select[data-automation-id='datatable-selection-mode']`));
-
- constructor(data?) {
- if (this.data[data]) {
- this.dataTable = new DataTableComponentPage($(`div[data-automation-id='` + this.data[data] + `']`));
- } else {
- this.dataTable = new DataTableComponentPage($(`div[data-automation-id='` + this.data.defaultTable + `']`));
- }
- }
-
- async checkRowIsNotSelected(rowNumber: string): Promise {
- const isRowSelected = this.dataTable.getCellElementByValue(this.columns.id, rowNumber)
- .element(by.xpath(`ancestor::adf-datatable-row[contains(@class, 'adf-datatable-row custom-row-style ng-star-inserted is-selected')]`));
- await BrowserVisibility.waitUntilElementIsNotVisible(isRowSelected);
- }
-
- async checkNoRowIsSelected(): Promise {
- await BrowserVisibility.waitUntilElementIsNotVisible(this.selectedRowNumber);
- }
-
- async getNumberOfSelectedRows(): Promise {
- return this.allSelectedRows.count();
- }
-
- async selectRow(rowNumber: string): Promise {
- const row = this.dataTable.getCellElementByValue(this.columns.id, rowNumber);
- await BrowserActions.click(row);
- }
-
- async selectRowWithKeyboard(rowNumber: string): Promise {
- await browser.actions().sendKeys(protractor.Key.COMMAND).perform();
- await this.selectRow(rowNumber);
- await browser.actions().sendKeys(protractor.Key.NULL).perform();
- }
-
- async selectSelectionMode(selectionMode: string): Promise {
- await this.selectModeDropdown.selectDropdownOption(selectionMode);
- }
-
- getDropTargetIdColumnCell(rowNumber: number): ElementFinder {
- return this.dataTable.getCellByRowNumberAndColumnName(rowNumber - 1, this.columns.id);
- }
-
- getDropTargetIdColumnHeader(): ElementFinder {
- return this.idColumnHeader;
- }
-}
diff --git a/e2e/core/pages/dialog/share-dialog.page.ts b/e2e/core/pages/dialog/share-dialog.page.ts
index 0a05af555d..fdef929519 100644
--- a/e2e/core/pages/dialog/share-dialog.page.ts
+++ b/e2e/core/pages/dialog/share-dialog.page.ts
@@ -96,14 +96,6 @@ export class ShareDialogPage {
await this.dateTimePickerPage.setDate(tomorrow);
}
- async setDefaultHour(): Promise {
- await this.dateTimePickerPage.dateTime.setDefaultEnabledHour();
- }
-
- async setDefaultMinutes() {
- await this.dateTimePickerPage.dateTime.setDefaultEnabledMinutes();
- }
-
async dateTimePickerDialogIsClosed(): Promise {
await BrowserVisibility.waitUntilElementIsStale($('mat-datetimepicker-content'));
}
diff --git a/e2e/core/pages/icons.page.ts b/e2e/core/pages/icons.page.ts
deleted file mode 100644
index 3f287664ce..0000000000
--- a/e2e/core/pages/icons.page.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { $, ElementFinder } from 'protractor';
-import { BrowserVisibility } from '@alfresco/adf-testing';
-
-export class IconsPage {
-
- locateCustomIcon = (name: string): ElementFinder => $(`adf-icon[value='${name}'] svg`);
- locateLigatureIcon = (name: string): ElementFinder => $(`adf-icon[value='${name}'] .material-icons`);
-
- async isCustomIconDisplayed(name: string) {
- const present = await BrowserVisibility.waitUntilElementIsVisible(this.locateCustomIcon(name));
- if (present) {
- return this.locateCustomIcon(name).isDisplayed();
- } else {
- return false;
- }
- }
-
- async isLigatureIconDisplayed(name: string) {
- const present = await BrowserVisibility.waitUntilElementIsVisible(this.locateLigatureIcon(name));
- if (present) {
- return this.locateLigatureIcon(name).isDisplayed();
- } else {
- return false;
- }
- }
-}
diff --git a/e2e/core/pages/login-shell.page.ts b/e2e/core/pages/login-shell.page.ts
index e7df71cc48..908d51b669 100644
--- a/e2e/core/pages/login-shell.page.ts
+++ b/e2e/core/pages/login-shell.page.ts
@@ -15,41 +15,15 @@
* limitations under the License.
*/
-import { $, browser, by, element } from 'protractor';
-import { TogglePage, BrowserActions, BrowserVisibility, LoginPage } from '@alfresco/adf-testing';
+import { $ } from 'protractor';
+import { BrowserActions, BrowserVisibility } from '@alfresco/adf-testing';
export class LoginShellPage {
- loginURL = browser.baseUrl + '/login';
- loginSSOPage = new LoginPage();
-
- togglePage = new TogglePage();
- txtUsername = $('input[id="username"]');
- txtPassword = $('input[id="password"]');
- logoImg = $('img[id="adf-login-img-logo"]');
- logoTxt = $('input[data-automation-id="adf-url-logo"]');
- usernameError = $('span[data-automation-id="username-error"]');
- usernameInactive = $('input[id="username"][class*="ng-invalid"]');
- adfLogo = $('.adf-img-logo');
-
- usernameHighlighted = $('input[id="username"][aria-invalid="true"]');
- signInButton = $('#login-button');
- showPasswordElement = $('button[data-automation-id="show_password"]');
- hidePasswordElement = $('button[data-automation-id="hide_password"]');
- rememberMe = $('mat-checkbox[id="adf-login-remember"]');
- needHelp = $('#adf-login-action-left');
- register = $('#adf-login-action-right');
- footerSwitch = $('#switch4');
- rememberMeSwitch = $('#adf-toggle-show-rememberme');
- logoSwitch = $('#adf-toggle-logo');
- header = $('#adf-header');
- settingsIcon = element(by.cssContainingText('a[data-automation-id="settings"] mat-icon', 'settings'));
+ private txtUsername = $('input[id="username"]');
+ private txtPassword = $('input[id="password"]');
+ private signInButton = $('#login-button');
sidenavLayout = $(`[data-automation-id="sidenav-layout"]`);
- async goToLoginPage(): Promise {
- await BrowserActions.getUrl(this.loginURL);
- await this.waitForElements();
- }
-
async waitForElements(): Promise {
await BrowserVisibility.waitUntilElementIsVisible(this.txtUsername);
await BrowserVisibility.waitUntilElementIsVisible(this.txtPassword);
@@ -63,114 +37,7 @@ export class LoginShellPage {
await BrowserActions.clearSendKeys(this.txtPassword, password);
}
- async clearUsername(): Promise {
- await BrowserActions.click(this.txtUsername);
- await BrowserActions.clearWithBackSpace(this.txtUsername);
- }
-
- async clearPassword(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.txtPassword);
- await BrowserActions.clearWithBackSpace(this.txtPassword);
- }
-
- async getUsernameTooltip(): Promise {
- return BrowserActions.getText(this.usernameError);
- }
-
- async checkLoginImgURL(): Promise {
- return BrowserActions.getAttribute(this.logoImg, 'src');
- }
-
- async checkUsernameInactive(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.usernameInactive);
- }
-
- async checkUsernameHighlighted(): Promise {
- await BrowserActions.click(this.adfLogo);
- await BrowserVisibility.waitUntilElementIsVisible(this.usernameHighlighted);
- }
-
- async checkUsernameTooltipIsNotVisible(): Promise {
- await BrowserVisibility.waitUntilElementIsNotVisible(this.usernameError);
- }
-
- async getSignInButtonIsEnabled(): Promise {
- return this.signInButton.isEnabled();
- }
-
async clickSignInButton(): Promise {
await BrowserActions.click(this.signInButton);
}
-
- async clickSettingsIcon(): Promise {
- await BrowserActions.click(this.settingsIcon);
- }
-
- async showPassword(): Promise {
- await BrowserActions.click(this.showPasswordElement);
- }
-
- async hidePassword(): Promise {
- await BrowserActions.click(this.hidePasswordElement);
- }
-
- async getShownPassword(): Promise {
- return BrowserActions.getInputValue(this.txtPassword);
- }
-
- async checkPasswordIsHidden(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.txtPassword);
- }
-
- async checkRememberIsDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.rememberMe);
- }
-
- async checkRememberIsNotDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsNotVisible(this.rememberMe);
- }
-
- async checkNeedHelpIsDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.needHelp);
- }
-
- async checkNeedHelpIsNotDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsNotVisible(this.needHelp);
- }
-
- async checkRegisterDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.register);
- }
-
- async checkRegisterIsNotDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsNotVisible(this.register);
- }
-
- async enableFooter(): Promise {
- await this.togglePage.enableToggle(this.footerSwitch);
- }
-
- async disableFooter(): Promise {
- await this.togglePage.disableToggle(this.footerSwitch);
- }
-
- async disableRememberMe(): Promise {
- await this.togglePage.disableToggle(this.rememberMeSwitch);
- }
-
- async enableLogoSwitch(): Promise {
- await this.togglePage.enableToggle(this.logoSwitch);
- }
-
- async enterLogo(logo: string): Promise {
- await BrowserActions.clearSendKeys(this.logoTxt, logo);
- }
-
- async login(username: string, password: string): Promise {
- await this.loginSSOPage.login(username, password);
- }
-
- async loginWithProfile(profile: string): Promise {
- await this.loginSSOPage.loginWithProfile(profile);
- }
}
diff --git a/e2e/core/pages/logout.page.ts b/e2e/core/pages/logout.page.ts
deleted file mode 100644
index 388ca36b5b..0000000000
--- a/e2e/core/pages/logout.page.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { $ } from 'protractor';
-import { BrowserVisibility } from '@alfresco/adf-testing';
-
-export class LogoutPage {
-
- logoutSection = $('div[data-automation-id="adf-logout-section"]');
-
- async checkLogoutSectionIsDisplayed() {
- await BrowserVisibility.waitUntilElementIsVisible(this.logoutSection);
- }
-}
diff --git a/e2e/core/pages/navigation-bar.page.ts b/e2e/core/pages/navigation-bar.page.ts
index b1dbd15cab..96c3694a08 100644
--- a/e2e/core/pages/navigation-bar.page.ts
+++ b/e2e/core/pages/navigation-bar.page.ts
@@ -21,8 +21,6 @@ import { ProcessServicesPage } from '../../process-services/pages/process-servic
export class NavigationBarPage {
linkMenuChildrenContainer = $('.nestedMenu');
- dataTableNestedButton = this.linkMenuChildrenContainer.$('.app-sidenav-link[data-automation-id="Datatable"]');
- dataTableDragAndDropButton = this.linkMenuChildrenContainer.$('.app-sidenav-link[data-automation-id="Drag and Drop"]');
processServicesNestedButton = this.linkMenuChildrenContainer.$('.app-sidenav-link[data-automation-id="App"]');
processServicesCloudHomeButton = this.linkMenuChildrenContainer.$('.app-sidenav-link[data-automation-id="Home"]');
formButton = this.linkMenuChildrenContainer.$('.app-sidenav-link[data-automation-id="Form"]');
@@ -100,31 +98,6 @@ export class NavigationBarPage {
await this.clickNavigationBarItem('Custom Sources');
}
- async clickDataTable(): Promise {
- await this.clickNavigationBarItem('Datatable');
- await BrowserVisibility.waitUntilElementIsVisible(this.linkMenuChildrenContainer);
- }
-
- async navigateToDatatable(): Promise {
- await this.clickDataTable();
- await BrowserActions.click(this.dataTableNestedButton);
- await BrowserVisibility.waitUntilElementIsNotPresent(this.linkMenuChildrenContainer);
- }
-
- async navigateToDragAndDropDatatable(): Promise {
- await this.clickDataTable();
- await BrowserActions.click(this.dataTableDragAndDropButton);
- await BrowserVisibility.waitUntilElementIsNotPresent(this.linkMenuChildrenContainer);
- }
-
- async clickTagButton(): Promise {
- await this.clickNavigationBarItem('Tag');
- }
-
- async clickSocialButton(): Promise {
- await this.clickNavigationBarItem('Social');
- }
-
async clickOverlayViewerButton(): Promise {
await this.clickNavigationBarItem('Overlay Viewer');
}
diff --git a/e2e/core/pages/notification.page.ts b/e2e/core/pages/notification.page.ts
deleted file mode 100644
index bb70e77eae..0000000000
--- a/e2e/core/pages/notification.page.ts
+++ /dev/null
@@ -1,95 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { element, by, browser, $, $$ } from 'protractor';
-import { BrowserVisibility, BrowserActions, DropdownPage, SnackbarPage } from '@alfresco/adf-testing';
-
-export class NotificationDemoPage {
-
- snackbarPage = new SnackbarPage();
-
- messageField = $('input[data-automation-id="notification-message"]');
- decorativeIconField = $('input[data-automation-id="notification-icon"]');
- durationField = $('input[data-automation-id="notification-duration"]');
- actionToggle = $('mat-slide-toggle[data-automation-id="notification-action-toggle"]');
- notificationSnackBar = $$('simple-snack-bar').first();
- actionOutput = $('div[data-automation-id="notification-action-output"]');
- notificationsPage = $('.app-sidenav-link[data-automation-id="Notifications"]');
- notificationConfig = $('p[data-automation-id="notification-custom-object"]');
-
- horizontalPositionDropdown = new DropdownPage($('mat-select[data-automation-id="notification-horizontal-position"]'));
- verticalPositionDropdown = new DropdownPage($('mat-select[data-automation-id="notification-vertical-position"]'));
- directionDropdown = new DropdownPage($('mat-select[data-automation-id="notification-direction"]'));
-
- async checkNotifyContains(message): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(element.all(by.cssContainingText('simple-snack-bar', message)).first());
- }
-
- async goToNotificationsPage(): Promise {
- await BrowserActions.click(this.notificationsPage);
- }
-
- getConfigObject(): Promise {
- return BrowserActions.getText(this.notificationConfig);
- }
-
- async enterMessageField(text: string): Promise {
- await BrowserActions.clearSendKeys(this.messageField, text);
- }
-
- async enterDecorativeIconField(icon: string): Promise {
- await BrowserActions.clearSendKeys(this.decorativeIconField, icon);
- }
-
- async enterDurationField(time: number): Promise {
- await BrowserActions.clearSendKeys(this.durationField, time.toString());
- }
-
- async selectHorizontalPosition(selectItem: string): Promise {
- await this.horizontalPositionDropdown.selectDropdownOption(selectItem);
- }
-
- async selectVerticalPosition(selectItem: string): Promise {
- await this.verticalPositionDropdown.selectDropdownOption(selectItem);
- }
-
- async selectDirection(selectItem: string): Promise {
- await this.directionDropdown.selectDropdownOption(selectItem);
- }
-
- async clickNotificationButton(): Promise {
- const button = $('button[data-automation-id="notification-custom-config-button"]');
- await BrowserActions.click(button);
- }
-
- async checkActionEvent(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.actionOutput);
- }
-
- async clickActionToggle(): Promise {
- await BrowserActions.click(this.actionToggle);
- }
-
- async clickActionButton(): Promise {
- await browser.executeScript(`document.querySelector("[data-automation-id='adf-snackbar-message-content-action-button']").click();`);
- }
-
- async clearMessage(): Promise {
- await BrowserActions.click(this.messageField);
- await BrowserActions.clearWithBackSpace(this.messageField);
- }
-}
diff --git a/e2e/core/pages/trashcan.page.ts b/e2e/core/pages/trashcan.page.ts
index e939487a3a..428ccaf861 100644
--- a/e2e/core/pages/trashcan.page.ts
+++ b/e2e/core/pages/trashcan.page.ts
@@ -19,28 +19,21 @@ import { BrowserActions, BrowserVisibility, DocumentListPage } from '@alfresco/a
import { browser, $$, $ } from 'protractor';
export class TrashcanPage {
-
- contentList = new DocumentListPage($('adf-document-list'));
- rows = $$('adf-document-list div[class*="adf-datatable-body"] adf-datatable-row[class*="adf-datatable-row"]');
- tableBody = $$('adf-document-list .adf-datatable-body').first();
- pagination = $('adf-pagination');
- emptyTrashcan = $('adf-empty-content');
- restoreButton = $(`button[title='Restore']`);
+ private contentList = new DocumentListPage($('adf-document-list'));
+ private restoreButton = $(`button[title='Restore']`);
async numberOfResultsDisplayed(): Promise {
- return this.rows.count();
+ const rows = $$('adf-document-list div[class*="adf-datatable-body"] adf-datatable-row[class*="adf-datatable-row"]');
+ return rows.count();
}
async waitForTableBody(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.tableBody);
- }
-
- async waitForPagination(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.pagination);
+ const tableBody = $$('adf-document-list .adf-datatable-body').first();
+ await BrowserVisibility.waitUntilElementIsVisible(tableBody);
}
async checkTrashcanIsEmpty(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.emptyTrashcan);
+ await BrowserVisibility.waitUntilElementIsVisible($('adf-empty-content'));
}
getDocumentList(): DocumentListPage {
@@ -55,9 +48,4 @@ export class TrashcanPage {
async checkRestoreButtonIsNotDisplayed(): Promise {
await BrowserVisibility.waitUntilElementIsNotVisible(this.restoreButton);
}
-
- async checkRestoreButtonIsDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.restoreButton);
- }
-
}
diff --git a/e2e/core/viewer/viewer-properties.e2e.ts b/e2e/core/viewer/viewer-properties.e2e.ts
index 4c3b0161c4..ac590a1153 100644
--- a/e2e/core/viewer/viewer-properties.e2e.ts
+++ b/e2e/core/viewer/viewer-properties.e2e.ts
@@ -17,7 +17,6 @@
import { browser } from 'protractor';
import { createApiService,
- DataTableComponentPage,
LoginPage,
UploadActions,
UserModel,
@@ -35,7 +34,6 @@ describe('Viewer', () => {
const contentServicesPage = new ContentServicesPage();
const loginPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
- const dataTable = new DataTableComponentPage();
const pngFile = new FileModel({
name: browser.params.resources.Files.ADF_DOCUMENTS.PNG.file_name,
@@ -168,28 +166,5 @@ describe('Viewer', () => {
await viewerPage.checkLeftSideBarButtonIsNotDisplayed();
await viewerPage.checkLeftSideBarIsNotDisplayed();
});
-
});
-
- fit('[C260100] Should be possible to disable Overlay viewer', async () => {
- await navigationBarPage.clickOverlayViewerButton();
- await dataTable.doubleClickRow('Name', fileForOverlay.name);
- await viewerPage.checkOverlayViewerIsDisplayed();
-
- await viewerPage.clickCloseButton();
- await dataTable.doubleClickRow('Name', pngFile.name);
-
- await viewerPage.checkOverlayViewerIsDisplayed();
- await viewerPage.clickCloseButton();
-
- await viewerPage.disableOverlay();
-
- await dataTable.doubleClickRow('Name', fileForOverlay.name);
- await viewerPage.checkImgContainerIsDisplayed();
- await viewerPage.checkInlineViewerIsDisplayed();
- await dataTable.doubleClickRow('Name', pngFile.name);
- await viewerPage.checkImgContainerIsDisplayed();
- await viewerPage.checkInlineViewerIsDisplayed();
- });
-})
-;
+});
diff --git a/e2e/process-services-cloud/pages/people-group-cloud-component.page.ts b/e2e/process-services-cloud/pages/people-group-cloud-component.page.ts
deleted file mode 100644
index aab68c23af..0000000000
--- a/e2e/process-services-cloud/pages/people-group-cloud-component.page.ts
+++ /dev/null
@@ -1,108 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { by, element, $, $$, browser } from 'protractor';
-import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
-
-export class PeopleGroupCloudComponentPage {
-
- peopleCloudSingleSelectionChecked = $('mat-radio-button[data-automation-id="app-people-single-mode"][class*="mat-radio-checked"]');
- peopleCloudMultipleSelectionChecked = $('mat-radio-button[data-automation-id="app-people-multiple-mode"][class*="mat-radio-checked"]');
- peopleCloudSingleSelection = $('mat-radio-button[data-automation-id="app-people-single-mode"]');
- peopleCloudMultipleSelection = $('mat-radio-button[data-automation-id="app-people-multiple-mode"]');
- groupCloudSingleSelection = $('mat-radio-button[data-automation-id="app-group-single-mode"]');
- groupCloudMultipleSelection = $('mat-radio-button[data-automation-id="app-group-multiple-mode"]');
- peopleRoleInput = $('input[data-automation-id="app-people-roles-input"]');
- peopleAppInput = $('input[data-automation-id="app-people-app-input"]');
- peoplePreselect = $('input[data-automation-id="app-people-preselect-input"]');
- groupRoleInput = $('input[data-automation-id="app-group-roles-input"]');
- groupAppInput = $('input[data-automation-id="app-group-app-input"]');
- peopleCloudComponentTitle = element(by.cssContainingText('mat-card-title', 'People Cloud Component'));
- groupCloudComponentTitle = element(by.cssContainingText('mat-card-title', 'Groups Cloud Component'));
- preselectValidation = $$('mat-checkbox.app-preselect-value label').first();
- preselectValidationStatus = $$('mat-checkbox.app-preselect-value label input').first();
-
- async navigateTo() {
- await browser.get('#/cloud/people-group-cloud');
- await browser.waitForAngular();
- }
-
- async checkPeopleCloudComponentTitleIsDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudComponentTitle);
- }
-
- async checkGroupsCloudComponentTitleIsDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.groupCloudComponentTitle);
- }
-
- async clickPeopleCloudSingleSelection(): Promise {
- await BrowserActions.click(this.peopleCloudSingleSelection);
- }
-
- async clickPeopleCloudMultipleSelection(): Promise {
- await BrowserActions.click(this.peopleCloudMultipleSelection);
- }
-
- async checkPeopleCloudSingleSelectionIsSelected(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudSingleSelectionChecked);
- }
-
- async checkPeopleCloudMultipleSelectionIsSelected(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.peopleCloudMultipleSelectionChecked);
- }
-
- async enterPeopleRoles(roles: string): Promise {
- await BrowserActions.clearSendKeys(this.peopleRoleInput, roles);
- }
-
- async enterPeoplePreselect(preselect: string): Promise {
- await BrowserActions.clearSendKeys(this.peoplePreselect, preselect);
- }
-
- async clearField(locator): Promise {
- await BrowserActions.clearSendKeys(locator, '');
- }
-
- async clickGroupCloudSingleSelection(): Promise {
- await BrowserActions.click(this.groupCloudSingleSelection);
- }
-
- async clickGroupCloudMultipleSelection(): Promise {
- await BrowserActions.click(this.groupCloudMultipleSelection);
- }
-
- async enterGroupRoles(roles): Promise {
- await BrowserActions.clearSendKeys(this.groupRoleInput, roles);
- }
-
- async clickPreselectValidation(): Promise {
- await BrowserActions.click(this.preselectValidation);
- }
-
- async getPreselectValidationStatus(): Promise {
- return BrowserActions.getAttribute(this.preselectValidationStatus, 'aria-checked');
- }
-
- async enterPeopleAppName(appName: string): Promise {
- await BrowserActions.clearSendKeys(this.peopleAppInput, appName);
- }
-
- async enterGroupAppName(appName: string): Promise {
- await BrowserActions.clearSendKeys(this.groupAppInput, appName);
- }
-
-}
diff --git a/e2e/process-services-cloud/pages/service-task-list.page.ts b/e2e/process-services-cloud/pages/service-task-list.page.ts
deleted file mode 100644
index 529e014ece..0000000000
--- a/e2e/process-services-cloud/pages/service-task-list.page.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { $ } from 'protractor';
-import {
- BrowserVisibility,
- BrowserActions,
- DataTableComponentPage
-} from '@alfresco/adf-testing';
-
-export class ServiceTaskListPage {
- dataTableComponentPage = new DataTableComponentPage();
- allServiceTaskButton = $('button[data-automation-id="my-service-tasks_filter"]');
- completedServiceTaskButton = $('button[data-automation-id="completed-tasks_filter"]');
- errorServiceTaskButton = $('button[data-automation-id="errored-service-tasks_filter"]');
- searchHeader = $('adf-cloud-edit-service-task-filter mat-expansion-panel-header');
- serviceTaskList = $('adf-cloud-service-task-list');
- activityNameField = $('input[data-automation-id="adf-cloud-edit-task-property-activityName"]');
- activityStatus = $('[data-automation-id="datatable-row-0"] div[aria-label="Status"]');
- activityName = $('[data-automation-id="datatable-row-0"] div[aria-label="Activity name"]');
- resultList = $('div[role="rowgroup"].adf-datatable-body');
-
- async checkServiceTaskFiltersDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.allServiceTaskButton);
- await BrowserVisibility.waitUntilElementIsVisible(this.completedServiceTaskButton);
- await BrowserVisibility.waitUntilElementIsVisible(this.errorServiceTaskButton);
- }
-
- async checkSearchServiceTaskFiltersDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.searchHeader);
- }
-
- async checkServiceTaskListDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.serviceTaskList);
- }
-
- async clickCompletedServiceTask(): Promise {
- await BrowserActions.click(this.completedServiceTaskButton);
- }
-
- async clickSearchHeaderServiceTask(): Promise {
- await BrowserActions.click(this.searchHeader);
- }
-
- async searchByActivityName(text: string): Promise {
- await BrowserActions.clearSendKeys(this.activityNameField, text);
- }
-
- async getActivityNameText(): Promise {
- return BrowserActions.getText(this.activityName);
- }
-
- async getStatusText(): Promise {
- return BrowserActions.getText(this.activityStatus);
- }
-
- async checkServiceTaskListResultsIsLoaded(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.resultList);
- }
-}
diff --git a/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts b/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts
index a98fc3d3b8..d06931a7ed 100644
--- a/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts
+++ b/e2e/process-services-cloud/pages/tasks-cloud-demo.page.ts
@@ -25,26 +25,16 @@ import {
} from '@alfresco/adf-testing';
export class TasksCloudDemoPage {
-
createButton = TestElement.byCss('button[data-automation-id="create-button"');
newTaskButton = TestElement.byCss('button[data-automation-id="btn-start-task"]');
settingsButton = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div', 'Settings')).first();
appButton = element.all(by.cssContainingText('div[class*="mat-tab-label"] .mat-tab-labels div', 'App')).first();
displayTaskDetailsToggle = $('mat-slide-toggle[data-automation-id="taskDetailsRedirection"]');
displayProcessDetailsToggle = $('mat-slide-toggle[data-automation-id="processDetailsRedirection"]');
- actionMenuToggle = $('mat-slide-toggle[data-automation-id="actionmenu"]');
- contextMenuToggle = $('mat-slide-toggle[data-automation-id="contextmenu"]');
multiSelectionToggle = $('mat-slide-toggle[data-automation-id="multiSelection"]');
testingModeToggle = $('mat-slide-toggle[data-automation-id="testingMode"]');
selectedRows = element(by.xpath('//div[text()=\' Selected Rows: \']'));
noOfSelectedRows = element.all(by.xpath('//div[text()=\' Selected Rows: \']//li'));
- addActionTitle = element(by.cssContainingText('.mat-card-title', 'Add Action'));
- keyInputField = TestElement.byCss('input[data-placeholder="Key"]');
- titleInputField = TestElement.byCss('input[data-placeholder="Title"]');
- iconInputField = TestElement.byCss('input[data-placeholder="Icon"]');
- addActionButton = TestElement.byText('button span', 'Add');
- disableCheckbox = TestElement.byCss(`mat-checkbox[formcontrolname='disabled']`);
- visibleCheckbox = TestElement.byCss(`mat-checkbox[formcontrolname='visible']`);
spinner = TestElement.byTag('mat-progress-spinner');
modeDropdown = new DropdownPage($('mat-form-field[data-automation-id="selectionMode"]'));
@@ -66,14 +56,6 @@ export class TasksCloudDemoPage {
await this.togglePage.enableToggle(this.multiSelectionToggle);
}
- async enableActionMenu(): Promise {
- await this.togglePage.enableToggle(this.actionMenuToggle);
- }
-
- async enableContextMenu(): Promise {
- await this.togglePage.enableToggle(this.contextMenuToggle);
- }
-
async enableTestingMode(): Promise {
await this.togglePage.enableToggle(this.testingModeToggle);
}
@@ -118,44 +100,6 @@ export class TasksCloudDemoPage {
return BrowserActions.getText(row);
}
- addActionIsDisplayed(): Promise {
- return new TestElement(this.addActionTitle).waitVisible();
- }
-
- async addAction(text: string): Promise {
- await this.keyInputField.typeText(text);
- await this.titleInputField.typeText(text);
- await this.iconInputField.typeText(text);
- await this.addActionButton.click();
- }
-
- async addDisabledAction(text: string): Promise {
- await this.keyInputField.typeText(text);
- await this.titleInputField.typeText(text);
- await this.iconInputField.typeText(text);
- await this.disableCheckbox.click();
- await this.addActionButton.click();
- }
-
- async addInvisibleAction(text: string): Promise {
- await this.keyInputField.typeText(text);
- await this.titleInputField.typeText(text);
- await this.iconInputField.typeText(text);
- await this.visibleCheckbox.click();
- await this.addActionButton.click();
- }
-
- actionAdded(action: string): Promise {
- return TestElement.byText(`mat-chip`, action).waitVisible();
- }
-
- async checkActionExecuted(taskId: string, action: string): Promise {
- await TestElement.byText(`span`, 'Action Menu:').waitVisible();
- await TestElement.byText(`span`, 'Context Menu:').waitVisible();
- await TestElement.byText(`span`, 'Task ID: ' + taskId).waitVisible();
- await TestElement.byText(`span`, 'Action Type: ' + action).waitVisible();
- }
-
async clickStartNewTaskButton() {
await this.createButton.click();
await this.newTaskButton.click();
diff --git a/e2e/process-services-cloud/task-list/apps-section-cloud.e2e.ts b/e2e/process-services-cloud/task-list/apps-section-cloud.e2e.ts
index 5c9998df74..59b5664474 100644
--- a/e2e/process-services-cloud/task-list/apps-section-cloud.e2e.ts
+++ b/e2e/process-services-cloud/task-list/apps-section-cloud.e2e.ts
@@ -33,7 +33,6 @@ describe('Applications list', () => {
let testUser;
const appNames = [];
- let applications;
beforeAll(async () => {
await apiService.loginWithProfile('identityAdmin');
@@ -42,7 +41,7 @@ describe('Applications list', () => {
await loginSSOPage.login(testUser.username, testUser.password);
await apiService.login(testUser.username, testUser.password);
- applications = await applicationsService.getApplicationsByStatus('RUNNING');
+ const applications = await applicationsService.getApplicationsByStatus('RUNNING');
applications.list.entries.forEach(app => {
appNames.push(app.entry.name.toLowerCase());
diff --git a/e2e/process-services/pages/attach-form.page.ts b/e2e/process-services/pages/attach-form.page.ts
index eefa85b660..d00735430d 100644
--- a/e2e/process-services/pages/attach-form.page.ts
+++ b/e2e/process-services/pages/attach-form.page.ts
@@ -28,18 +28,10 @@ export class AttachFormPage {
defaultTitle = $('.mat-card-title');
attachFormDropdown = new DropdownPage($('.adf-attach-form-row'));
- async checkNoFormMessageIsDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.noFormMessage);
- }
-
async checkAttachFormButtonIsDisplayed(): Promise {
await BrowserVisibility.waitUntilElementIsVisible(this.attachFormButton);
}
- async checkCompleteButtonIsDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.completeButton);
- }
-
async clickAttachFormButton(): Promise {
await BrowserActions.click(this.attachFormButton);
}
diff --git a/e2e/process-services/pages/process-details.page.ts b/e2e/process-services/pages/process-details.page.ts
index 72ee942115..1939c0dfe6 100644
--- a/e2e/process-services/pages/process-details.page.ts
+++ b/e2e/process-services/pages/process-details.page.ts
@@ -29,7 +29,6 @@ export class ProcessDetailsPage {
backButton = TestElement.byCss('app-show-diagram button.mat-mini-fab.mat-accent');
commentInput = TestElement.byId('comment-input');
auditLogButton = TestElement.byCss('button[adf-process-audit]');
- auditLogEmptyListMessage = TestElement.byCss('.app-empty-list-header');
cancelProcessButton = TestElement.byCss('div[data-automation-id="header-status"] > button');
activeTask = TestElement.byCss('div[data-automation-id="active-tasks"]');
completedTask = TestElement.byCss('div[data-automation-id="completed-tasks"]');
diff --git a/e2e/process-services/pages/process-filters.page.ts b/e2e/process-services/pages/process-filters.page.ts
index 5b7df6f1b6..99e1ef04be 100644
--- a/e2e/process-services/pages/process-filters.page.ts
+++ b/e2e/process-services/pages/process-filters.page.ts
@@ -28,7 +28,6 @@ export class ProcessFiltersPage {
buttonWindow = $('div > button[data-automation-id="btn-start-process"] > div');
noContentMessage = $$('.adf-empty-content__title').first();
rows = $$('adf-process-instance-list .adf-datatable-body adf-datatable-row[class*="adf-datatable-row"]');
- tableBody = $$('adf-datatable .adf-datatable-body').first();
processIcon = 'adf-icon[data-automation-id="adf-filter-icon"]';
startProcessEl = $('adf-start-process .adf-start-process');
diff --git a/e2e/process-services/pages/process-list-demo.page.ts b/e2e/process-services/pages/process-list-demo.page.ts
index 11be7fdf13..f68b8247c2 100644
--- a/e2e/process-services/pages/process-list-demo.page.ts
+++ b/e2e/process-services/pages/process-list-demo.page.ts
@@ -26,8 +26,8 @@ export class ProcessListDemoPage {
processDefinitionInput = $('input[data-automation-id="process-definition-id"]');
processInstanceInput = $('input[data-automation-id="process-instance-id"]');
- stateDropdown = new DropdownPage($('mat-select[data-automation-id="state"'));
- sortDropdown = new DropdownPage($('mat-select[data-automation-id="sort"'));
+ stateDropdown = new DropdownPage($('mat-select[data-automation-id="state"]'));
+ sortDropdown = new DropdownPage($('mat-select[data-automation-id="sort"]'));
dataTable = new DataTableComponentPage();
diff --git a/e2e/process-services/pages/process-list.page.ts b/e2e/process-services/pages/process-list.page.ts
index a29d790b1e..1a6fe10175 100644
--- a/e2e/process-services/pages/process-list.page.ts
+++ b/e2e/process-services/pages/process-list.page.ts
@@ -19,7 +19,6 @@ import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
import { $ } from 'protractor';
export class ProcessListPage {
-
processListTitle = $('.adf-empty-content__title');
processInstanceList = $('adf-process-instance-list');
@@ -27,10 +26,6 @@ export class ProcessListPage {
return BrowserActions.getText(this.processListTitle);
}
- titleNotPresent(): Promise {
- return BrowserVisibility.waitUntilElementIsNotPresent(this.processListTitle);
- }
-
async isProcessListDisplayed(): Promise {
try {
await BrowserVisibility.waitUntilElementIsVisible(this.processInstanceList);
@@ -39,5 +34,4 @@ export class ProcessListPage {
return false;
}
}
-
}
diff --git a/e2e/process-services/pages/task-details.page.ts b/e2e/process-services/pages/task-details.page.ts
index a2236e863e..d4029ed0a5 100644
--- a/e2e/process-services/pages/task-details.page.ts
+++ b/e2e/process-services/pages/task-details.page.ts
@@ -58,11 +58,8 @@ export class TaskDetailsPage {
removeInvolvedPeople = $('button[data-automation-id="Remove"]');
peopleTitle = $('#people-title');
noFormMessage = $('span[id*="no-form-message"]');
- cancelAttachForm = $('#adf-no-form-cancel-button');
attachFormButton = $('#adf-no-form-attach-form-button');
- disabledAttachFormButton = $('button[id="adf-no-form-attach-form-button"][disabled]');
removeAttachForm = $('#adf-attach-form-remove-button');
- attachFormName = $('.adf-form-title');
emptyTaskDetails = $('adf-task-details > div > div');
priority = $('[data-automation-id*="card-textitem-value-priority"]');
editableAssignee = $('[data-automation-id="card-textitem-value-assignee"][class*="clickable"]');
@@ -94,22 +91,10 @@ export class TaskDetailsPage {
await this.attachFormDropdown.checkOptionIsSelected(formName);
}
- async checkAttachFormButtonIsDisabled(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.disabledAttachFormButton);
- }
-
async checkAttachFormButtonIsEnabled(): Promise {
await BrowserVisibility.waitUntilElementIsClickable(this.attachFormButton);
}
- async checkAttachFormDropdownIsDisplayed(): Promise {
- await this.attachFormDropdown.checkDropdownIsVisible();
- }
-
- async selectAttachFormOption(option): Promise {
- await this.attachFormDropdown.selectDropdownOption(option);
- }
-
async noFormIsDisplayed(): Promise {
await BrowserVisibility.waitUntilElementIsNotVisible(this.formContent);
}
@@ -139,10 +124,6 @@ export class TaskDetailsPage {
await BrowserVisibility.waitUntilElementHasValue(this.formNameField, formName);
}
- getFormName(): Promise {
- return BrowserActions.getInputValue(this.formNameField);
- }
-
async waitFormNameEqual(formName: string): Promise {
await BrowserVisibility.waitUntilElementHasValue(this.formNameField, formName);
}
diff --git a/e2e/process-services/pages/task-filters.page.ts b/e2e/process-services/pages/task-filters.page.ts
index fcd69d4d06..e388c9a7c8 100644
--- a/e2e/process-services/pages/task-filters.page.ts
+++ b/e2e/process-services/pages/task-filters.page.ts
@@ -45,9 +45,4 @@ export class TaskFiltersPage {
async clickTaskFilter(): Promise {
return BrowserActions.click(this.filter);
}
-
- async checkTaskFilterNotDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsNotVisible(this.filter);
- }
-
}
diff --git a/e2e/process-services/pages/task-list-demo.page.ts b/e2e/process-services/pages/task-list-demo.page.ts
index ce5fc7e847..e05771efbb 100644
--- a/e2e/process-services/pages/task-list-demo.page.ts
+++ b/e2e/process-services/pages/task-list-demo.page.ts
@@ -83,10 +83,6 @@ export class TaskListDemoPage {
await this.taskList().getDataTable().waitTillContentLoaded();
}
- async getProcessDefinitionId(): Promise {
- return BrowserActions.getInputValue(this.processInstanceId);
- }
-
async typeProcessInstanceId(input: string): Promise {
await BrowserActions.clearSendKeys(this.processInstanceId, input);
}
@@ -105,10 +101,6 @@ export class TaskListDemoPage {
await BrowserActions.clearSendKeys(this.page, input.toString());
}
- async getPage(): Promise {
- return BrowserActions.getInputValue(this.page);
- }
-
async getPageFieldErrorMessage(): Promise {
await BrowserVisibility.waitUntilElementIsVisible(this.pageForm);
const errorMessage = this.pageForm.$('mat-error');
@@ -123,11 +115,6 @@ export class TaskListDemoPage {
await BrowserActions.clearSendKeys(this.dueBefore, input);
}
- async clearText(input): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(input);
- await input.clear();
- }
-
async clickResetButton(): Promise {
await BrowserActions.closeMenuAndDialogs();
await BrowserActions.click(this.resetButton);
diff --git a/e2e/process-services/pages/tasks.page.ts b/e2e/process-services/pages/tasks.page.ts
index 2284ab7e69..a9625802d1 100644
--- a/e2e/process-services/pages/tasks.page.ts
+++ b/e2e/process-services/pages/tasks.page.ts
@@ -53,10 +53,6 @@ export class TasksPage {
await dialog.clickStartButton();
}
- async newTaskButtonIsDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.newTaskButton);
- }
-
async clickOnCreateButton(): Promise {
await BrowserActions.click(this.createButton);
}
diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js
index bd0356aea0..dd77c554fe 100644
--- a/e2e/protractor.conf.js
+++ b/e2e/protractor.conf.js
@@ -106,8 +106,6 @@ exports.config = {
suites: {
smokeTestCore: [
"./core/login-sso/login-sso.e2e.ts",
- "./core/login/login-component.e2e.ts",
- "./core/login/remember-me.e2e.ts",
"./core/viewer/**/*.e2e.ts"
],
smokeTestCsSearch: [
diff --git a/e2e/search/components/search-date-range.e2e.ts b/e2e/search/components/search-date-range.e2e.ts
index 9528ee81ee..424af603ba 100644
--- a/e2e/search/components/search-date-range.e2e.ts
+++ b/e2e/search/components/search-date-range.e2e.ts
@@ -176,15 +176,10 @@ describe('Search Date Range Filter', () => {
});
describe('configuration change', () => {
- let jsonFile;
-
- beforeAll(async () => {
- jsonFile = SearchConfiguration.getConfiguration();
- });
-
it('[C277117] Should be able to change date format', async () => {
await navigationBar.navigateToContentServices();
+ const jsonFile= SearchConfiguration.getConfiguration();
jsonFile.categories[4].component.settings.dateFormat = 'MM-DD-YY';
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
diff --git a/e2e/search/components/search-radio.e2e.ts b/e2e/search/components/search-radio.e2e.ts
index 42a3e616d9..5d7e2e1725 100644
--- a/e2e/search/components/search-radio.e2e.ts
+++ b/e2e/search/components/search-radio.e2e.ts
@@ -141,7 +141,7 @@ describe('Search Radio Component', () => {
for (let numberOfOptions = 0; numberOfOptions < 6; numberOfOptions++) {
jsonFile.categories[5].component.settings.options.push({
- name: 'APP.SEARCH.RADIO.FOLDER',
+ name: 'Folder',
value: 'TYPE:\'cm:folder\''
});
}
@@ -199,7 +199,7 @@ describe('Search Radio Component', () => {
for (let numberOfOptions = 0; numberOfOptions < 6; numberOfOptions++) {
jsonFile.categories[5].component.settings.options.push({
- name: 'APP.SEARCH.RADIO.FOLDER',
+ name: 'Folder',
value: 'TYPE:\'cm:folder\''
});
}
diff --git a/e2e/search/components/search-text.e2e.ts b/e2e/search/components/search-text.e2e.ts
index c9f12f4447..7ada68d729 100644
--- a/e2e/search/components/search-text.e2e.ts
+++ b/e2e/search/components/search-text.e2e.ts
@@ -76,12 +76,6 @@ describe('Search component - Text widget', () => {
});
describe('configuration change', () => {
- let jsonFile;
-
- beforeAll(async () => {
- jsonFile = SearchConfiguration.getConfiguration();
- });
-
it('[C289330] Should be able to change the Field setting', async () => {
await BrowserActions.getUrl(browser.baseUrl + '/search;q=*');
await searchResultPage.tableIsLoaded();
@@ -99,6 +93,7 @@ describe('Search component - Text widget', () => {
await searchFiltersPage.textFiltersPage().searchByName(newFolderModel.description);
await searchResultPage.checkContentIsNotDisplayed(newFolderModel.name);
+ const jsonFile= SearchConfiguration.getConfiguration();
jsonFile.categories[0].component.settings.field = 'cm:description';
await navigationBarPage.navigateToContentServices();
diff --git a/e2e/search/pages/search-bar.page.ts b/e2e/search/pages/search-bar.page.ts
index a1338bf9ae..87f6ad24e8 100644
--- a/e2e/search/pages/search-bar.page.ts
+++ b/e2e/search/pages/search-bar.page.ts
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-import { browser, ElementFinder, protractor, $ } from 'protractor';
+import { ElementFinder, protractor, $ } from 'protractor';
import { BrowserVisibility, BrowserActions, TestElement } from '@alfresco/adf-testing';
export class SearchBarPage {
@@ -31,12 +31,6 @@ export class SearchBarPage {
getRowByRowName = (name: string): ElementFinder => $(`mat-list-item[data-automation-id='autocomplete_for_${name}']`);
- async pressDownArrowAndEnter(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible(this.searchBar);
- await BrowserActions.clearSendKeys(this.searchBar, protractor.Key.ARROW_DOWN);
- await browser.actions().sendKeys(protractor.Key.ENTER).perform();
- }
-
async clickOnSearchIcon(): Promise {
await BrowserActions.click(this.searchIcon);
}
diff --git a/e2e/search/search.config.ts b/e2e/search/search.config.ts
index 89c50d1247..323641551c 100644
--- a/e2e/search/search.config.ts
+++ b/e2e/search/search.config.ts
@@ -169,10 +169,10 @@ export class SearchConfiguration {
field: null,
pageSize: 5,
options: [
- {name: 'APP.SEARCH.RADIO.NONE', value: '', default: true},
- {name: 'APP.SEARCH.RADIO.ALL', value: 'TYPE:\'cm:folder\' OR TYPE:\'cm:content\''},
- {name: 'APP.SEARCH.RADIO.FOLDER', value: 'TYPE:\'cm:folder\''},
- {name: 'APP.SEARCH.RADIO.DOCUMENT', value: 'TYPE:\'cm:content\''}
+ {name: 'None', value: '', default: true},
+ {name: 'All', value: 'TYPE:\'cm:folder\' OR TYPE:\'cm:content\''},
+ {name: 'Folder', value: 'TYPE:\'cm:folder\''},
+ {name: 'Document', value: 'TYPE:\'cm:content\''}
]
}
}
@@ -188,8 +188,8 @@ export class SearchConfiguration {
maxDate: 'today',
field: 'cm:created, cm:modified',
displayedLabelsByField: {
- "cm:created": 'Created Date',
- "cm:modified": 'Modified Date'
+ 'cm:created': 'Created Date',
+ 'cm:modified': 'Modified Date'
}
}
}
diff --git a/lib/core/src/lib/i18n/ar.json b/lib/core/src/lib/i18n/ar.json
index 7556e783f4..72eb8b453a 100755
--- a/lib/core/src/lib/i18n/ar.json
+++ b/lib/core/src/lib/i18n/ar.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "تعذر حذف {{ name }}",
"ERROR_PLURAL": "تعذر حذف {{ number }} من العناصر"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "نوع المصادقة",
- "BASIC": "مصادقة أساسية",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "موفر",
- "REQUIRED": "هذا الحقل مطلوب",
- "CS_URL_ERROR": "لا يتطابق عنوان Content Services مع تنسيق URL",
- "PS_URL_ERROR": "لا يتطابق عنوان Process Services مع تنسيق URL",
- "TITLE": "الإعدادات",
- "CS-HOST": "عنوان URL لـ Content Services",
- "BP-HOST": "عنوان URL لـ Process Services",
- "BACK": "عودة",
- "APPLY": "تطبيق",
- "NOT_VALID": "لم يتم التعرف على http(s)://host|ip:port(/path)، جرّب عنوان URL مختلفًا.",
- "REDIRECT": "إعادة توجيه URI",
- "REDIRECT_LOGOUT": "إعادة توجيه خروج URI",
- "SILENT": "دخول صامت",
- "SCOPE": "نطاق",
- "CLIENT": "معرف العميل",
- "PUBLIC_URLS": "عناوين url العامة لتسجيل الدخول الصامت",
- "SECRET": "سر"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "إضافة جديد",
@@ -591,4 +567,4 @@
"LOADING": "جار التحميل...",
"SELECTION_ARIA_LABEL": "{{placeholder}} مربع تحرير وسرد {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/cs.json b/lib/core/src/lib/i18n/cs.json
index 8e3886c407..ae56bafda7 100755
--- a/lib/core/src/lib/i18n/cs.json
+++ b/lib/core/src/lib/i18n/cs.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "„{{ name }}“ nebylo možné odstranit",
"ERROR_PLURAL": "Některé položky ({{ number }}) nebylo možné odstranit"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Typ ověřování",
- "BASIC": "Základní ověřování",
- "SSO": "Jednotné přihlášení",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Poskytovatel",
- "REQUIRED": "Toto pole je povinné",
- "CS_URL_ERROR": "Adresa Content Services neodpovídá formátu adresy URL",
- "PS_URL_ERROR": "Adresa Process Services neodpovídá formátu adresy URL",
- "TITLE": "Nastavení",
- "CS-HOST": "Adresa URL pro Content Services",
- "BP-HOST": "Adresa URL pro Process Services",
- "BACK": "Zpět",
- "APPLY": "Použít",
- "NOT_VALID": "http(s)://host|ip:port(/path) nelze rozeznat. Použijte jinou adresu URL.",
- "REDIRECT": "URI pro přesměrování",
- "REDIRECT_LOGOUT": "URI pro přesměrování (odhlášení)",
- "SILENT": "Přihlášení na pozadí",
- "SCOPE": "Rozsah",
- "CLIENT": "ID klienta",
- "PUBLIC_URLS": "Veřejné adresy URL pro přihlášení na pozadí",
- "SECRET": "Tajné"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Přidat nové",
@@ -591,4 +567,4 @@
"LOADING": "Načítání...",
"SELECTION_ARIA_LABEL": "{{placeholder}} combobox {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/da.json b/lib/core/src/lib/i18n/da.json
index d5b4c27c29..3a0fcc69f9 100755
--- a/lib/core/src/lib/i18n/da.json
+++ b/lib/core/src/lib/i18n/da.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "{{ name }} kunne ikke slettes",
"ERROR_PLURAL": "{{ number }} elementer kunne ikke slettes"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Godkendelsestype",
- "BASIC": "Grundlæggende godkendelse",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Udbyder",
- "REQUIRED": "Dette felt er påkrævet",
- "CS_URL_ERROR": "Content Services-adressen matcher ikke URL-formatet",
- "PS_URL_ERROR": "Process Services-adressen matcher ikke URL-adresseformatet",
- "TITLE": "Indstillinger",
- "CS-HOST": "Content Services-URL",
- "BP-HOST": "Process Services-URL",
- "BACK": "Tilbage",
- "APPLY": "Anvend",
- "NOT_VALID": "http(s)://vært|ip-adresse:port(/sti) blev ikke genkendt. Prøv en anden URL-adresse.",
- "REDIRECT": "URI til omdirigering",
- "REDIRECT_LOGOUT": "Omdiriger URI til aflogning",
- "SILENT": "Uovervåget login",
- "SCOPE": "Omfang",
- "CLIENT": "Klient-id",
- "PUBLIC_URLS": "Uovervåget login til offentlige URL-adresser",
- "SECRET": "Hemmelig"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Tilføj ny(t)",
@@ -591,4 +567,4 @@
"LOADING": "Indlæser...",
"SELECTION_ARIA_LABEL": "{{placeholder}} kombiboks {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/de.json b/lib/core/src/lib/i18n/de.json
index f19a2c8bc2..72aff2b9d6 100755
--- a/lib/core/src/lib/i18n/de.json
+++ b/lib/core/src/lib/i18n/de.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "{{ name }} konnte nicht gelöscht werden",
"ERROR_PLURAL": "{{ number }} Elemente konnten nicht gelöscht werden"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Authentifizierungstyp",
- "BASIC": "Basisauthentifizierung",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Provider",
- "REQUIRED": "Dieses Feld ist erforderlich",
- "CS_URL_ERROR": "Content Services-Adresse nicht im richtigen URL-Format",
- "PS_URL_ERROR": "Process Services-Adresse nicht im richtigen URL-Format",
- "TITLE": "Einstellungen",
- "CS-HOST": "URL für Content Services",
- "BP-HOST": "URL für Process Services",
- "BACK": "Zurück",
- "APPLY": "Anwenden",
- "NOT_VALID": "http(s)://host|ip:port(/path) nicht erkannt. Probieren Sie es mit einer anderen URL.",
- "REDIRECT": "Umleitungs-URI",
- "REDIRECT_LOGOUT": "Umleitungs-URI zum Abmelden",
- "SILENT": "Automatische Anmeldung",
- "SCOPE": "Bereich",
- "CLIENT": "Client-ID",
- "PUBLIC_URLS": "Öffentliche URLs für automatische Anmeldung",
- "SECRET": "Geheimnis"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Neue hinzufügen",
@@ -591,4 +567,4 @@
"LOADING": "Es wird geladen...",
"SELECTION_ARIA_LABEL": "{{placeholder}} Kombinationsfeld {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/en.json b/lib/core/src/lib/i18n/en.json
index 5e5afe8a89..dfb040f301 100644
--- a/lib/core/src/lib/i18n/en.json
+++ b/lib/core/src/lib/i18n/en.json
@@ -174,30 +174,6 @@
"ERROR_SINGULAR": "{{ name }} couldn't be deleted",
"ERROR_PLURAL": "{{ number }} items couldn't be deleted"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Authentication type",
- "BASIC": "Basic Authentication",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Provider",
- "REQUIRED": "This field is required",
- "CS_URL_ERROR": "Content Services address doesn't match the URL format",
- "PS_URL_ERROR": "Process Services address doesn't match the URL format",
- "TITLE": "Settings",
- "CS-HOST": "Content Services URL",
- "BP-HOST": "Process Services URL",
- "BACK": "Back",
- "APPLY": "APPLY",
- "NOT_VALID": "http(s)://host|ip:port(/path) not recognized, try a different URL.",
- "REDIRECT": "Redirect URI",
- "REDIRECT_LOGOUT": "Redirect URI Logout",
- "SILENT": "Silent Login",
- "SCOPE": "Scope",
- "CLIENT": "Client ID",
- "PUBLIC_URLS": "Public urls silent Login",
- "SECRET": "Secret"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Add New",
diff --git a/lib/core/src/lib/i18n/es.json b/lib/core/src/lib/i18n/es.json
index ec83733dad..3938168039 100755
--- a/lib/core/src/lib/i18n/es.json
+++ b/lib/core/src/lib/i18n/es.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "{{ name }} no se ha podido eliminar",
"ERROR_PLURAL": "{{ number }} elementos no se han podido eliminar"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Tipo de autenticación",
- "BASIC": "Autenticación básica",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Proveedor",
- "REQUIRED": "Este campo es obligatorio",
- "CS_URL_ERROR": "La dirección de Content Services no coincide con el formato de la URL",
- "PS_URL_ERROR": "La dirección de Process Services no coincide con el formato de la URL",
- "TITLE": "Configuración",
- "CS-HOST": "URL de Content Services",
- "BP-HOST": "URL de Process Services",
- "BACK": "Volver",
- "APPLY": "Aplicar",
- "NOT_VALID": "http(s)://host|ip:port(/path) no reconocido; pruebe con una URL diferente.",
- "REDIRECT": "URI de redireccionamiento",
- "REDIRECT_LOGOUT": "Cierre de sesión de URI de redireccionamiento",
- "SILENT": "Inicio de sesión silencioso",
- "SCOPE": "Ámbito",
- "CLIENT": "ID de cliente",
- "PUBLIC_URLS": "URL públicas para inicio de sesión silencioso",
- "SECRET": "Secreto"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Añadir nuevo",
@@ -591,4 +567,4 @@
"LOADING": "Cargando...",
"SELECTION_ARIA_LABEL": "{{placeholder}} combobox {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/fi.json b/lib/core/src/lib/i18n/fi.json
index 7220ba03b4..0f8e57f80f 100755
--- a/lib/core/src/lib/i18n/fi.json
+++ b/lib/core/src/lib/i18n/fi.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "Kohteen {{ name }} poistaminen ei onnistunut",
"ERROR_PLURAL": "{{ number }} kohteen poistaminen ei onnistunut"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Todennustyyppi",
- "BASIC": "Perustodennus",
- "SSO": "Kertakirjautuminen",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Palvelu",
- "REQUIRED": "Tämä kenttä on pakollinen",
- "CS_URL_ERROR": "Content Services -osoite ei täsmää URL-muodon kanssa",
- "PS_URL_ERROR": "Process Services -osoite ei täsmää URL-muodon kanssa",
- "TITLE": "Asetukset",
- "CS-HOST": "Content Servicesin URL-osoite",
- "BP-HOST": "Process Servicesin URL-osoite",
- "BACK": "Takaisin",
- "APPLY": "Käytä",
- "NOT_VALID": "Osoitetta http(s)://host|ip:port(/path) ei tunnisteta. Kokeile toista URL-osoitetta.",
- "REDIRECT": "Uudelleenohjauksen URI-osoite",
- "REDIRECT_LOGOUT": "Uudelleenohjauksen URI-osoite – uloskirjautuminen",
- "SILENT": "Hiljainen kirjautuminen",
- "SCOPE": "Laajuus",
- "CLIENT": "Asiakastunnus",
- "PUBLIC_URLS": "Yleisten url-osoitteiden hiljainen sisäänkirjaus",
- "SECRET": "Salainen"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Lisää uusi",
@@ -591,4 +567,4 @@
"LOADING": "Ladataan...",
"SELECTION_ARIA_LABEL": "{{placeholder}} yhdistelmäruutu {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/fr.json b/lib/core/src/lib/i18n/fr.json
index 7acfded69b..e829e23bf8 100755
--- a/lib/core/src/lib/i18n/fr.json
+++ b/lib/core/src/lib/i18n/fr.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "{{ name }} n'a pas pu être supprimé",
"ERROR_PLURAL": "{{ number }} éléments n'ont pas pu être supprimés"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Type d'authentification",
- "BASIC": "Authentification de base",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Fournisseur",
- "REQUIRED": "Ce champ est obligatoire",
- "CS_URL_ERROR": "L'adresse Content Services ne correspond pas au format d'URL",
- "PS_URL_ERROR": "L'adresse Process Services ne correspond pas au format d'URL",
- "TITLE": "Paramètres",
- "CS-HOST": "URL de Content Services",
- "BP-HOST": "URL de Process Services",
- "BACK": "Retour",
- "APPLY": "Appliquer",
- "NOT_VALID": "Adresse http(s)://host|ip:port(/path) non reconnue, essayez une autre URL.",
- "REDIRECT": "URI de redirection",
- "REDIRECT_LOGOUT": "Déconnexion URI de redirection",
- "SILENT": "Connexion en mode silencieux",
- "SCOPE": "Etendue",
- "CLIENT": "ID client",
- "PUBLIC_URLS": "URL publiques pour connexion en mode silencieux",
- "SECRET": "Secret"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Ajouter nouveau",
@@ -591,4 +567,4 @@
"LOADING": "Chargement...",
"SELECTION_ARIA_LABEL": "{{placeholder}} zone de liste déroulante {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/it.json b/lib/core/src/lib/i18n/it.json
index cf863dea07..3fced9162d 100755
--- a/lib/core/src/lib/i18n/it.json
+++ b/lib/core/src/lib/i18n/it.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "Impossibile eliminare {{ name }}",
"ERROR_PLURAL": "Impossibile eliminare {{ number }} elementi"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Tipo di autenticazione",
- "BASIC": "Autenticazione di base",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Fornitore",
- "REQUIRED": "Questo campo è obbligatorio",
- "CS_URL_ERROR": "L'indirizzo Content Services non corrisponde al formato dell'URL",
- "PS_URL_ERROR": "L'indirizzo Process Services non corrisponde al formato dell'URL",
- "TITLE": "Impostazioni",
- "CS-HOST": "URL Content Services",
- "BP-HOST": "URL Process Services",
- "BACK": "Indietro",
- "APPLY": "Applica",
- "NOT_VALID": "http(s)://host|ip:port(/path) non riconosciuto, provare un URL diverso.",
- "REDIRECT": "Reindirizza URI",
- "REDIRECT_LOGOUT": "Reindirizza logout URI",
- "SILENT": "Login invisibile",
- "SCOPE": "Ambito",
- "CLIENT": "ID client",
- "PUBLIC_URLS": "URL pubblici per login invisibile",
- "SECRET": "Segreto"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Aggiungi nuova",
@@ -591,4 +567,4 @@
"LOADING": "Caricamento in corso...",
"SELECTION_ARIA_LABEL": "{{placeholder}} casella combinata {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/ja.json b/lib/core/src/lib/i18n/ja.json
index 41fd8b11ca..51c9dd802c 100755
--- a/lib/core/src/lib/i18n/ja.json
+++ b/lib/core/src/lib/i18n/ja.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "{{ name }} を削除できませんでした",
"ERROR_PLURAL": "{{ number }} 件のアイテムを削除できませんでした"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "認証タイプ",
- "BASIC": "基本認証",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "プロバイダ",
- "REQUIRED": "このフィールドは必須です",
- "CS_URL_ERROR": "Content Services のアドレスが URL 形式と一致しません",
- "PS_URL_ERROR": "Process Services のアドレスが URL 形式と一致しません",
- "TITLE": "設定",
- "CS-HOST": "Content Services の URL",
- "BP-HOST": "Process Services の URL",
- "BACK": "戻る",
- "APPLY": "適用",
- "NOT_VALID": "http(s)://host|ip:port(/path) が認識されません。別の URL を指定してください。",
- "REDIRECT": "リダイレクト URI",
- "REDIRECT_LOGOUT": "リダイレクト URI のログアウト",
- "SILENT": "サイレントログイン",
- "SCOPE": "範囲",
- "CLIENT": "クライアント ID",
- "PUBLIC_URLS": "サイレントログインのパブリック URL",
- "SECRET": "シークレット"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "新規追加",
@@ -591,4 +567,4 @@
"LOADING": "読み込んでいます...",
"SELECTION_ARIA_LABEL": "{{placeholder}}コンボボックス{{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/nb.json b/lib/core/src/lib/i18n/nb.json
index 92ddf2d062..e7988023b7 100755
--- a/lib/core/src/lib/i18n/nb.json
+++ b/lib/core/src/lib/i18n/nb.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "{{ name }} kan ikke slettes",
"ERROR_PLURAL": "{{ number }} elementer kan ikke slettes"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Godkjenningstype",
- "BASIC": "Grunnleggende godkjenning",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Leverandør",
- "REQUIRED": "Dette feltet er påkrevd",
- "CS_URL_ERROR": "Adressen til innholdstjenesten stemmer ikke med URL-formatet",
- "PS_URL_ERROR": "Adressen til prosesstjenestene stemmer ikke med URL-formatet",
- "TITLE": "Innstillinger",
- "CS-HOST": "URL tinnholdstjenester",
- "BP-HOST": "URL prosesstjenester",
- "BACK": "Tilbake",
- "APPLY": "Bruk",
- "NOT_VALID": "http(s)://host|ip:port(/path) ikke gjenkjent, prøv en annen URL.",
- "REDIRECT": "Omdirigerings-URI",
- "REDIRECT_LOGOUT": "Omdirigerings-URI avlogging",
- "SILENT": "Stille pålogging",
- "SCOPE": "Område",
- "CLIENT": "Klient-ID",
- "PUBLIC_URLS": "Offentlige URL-er for stille pålogging",
- "SECRET": "Hemmelig"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Legg til ny",
@@ -591,4 +567,4 @@
"LOADING": "Laster inn...",
"SELECTION_ARIA_LABEL": "{{placeholder}} komboboks {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/nl.json b/lib/core/src/lib/i18n/nl.json
index 7042519f25..b22c9d6888 100755
--- a/lib/core/src/lib/i18n/nl.json
+++ b/lib/core/src/lib/i18n/nl.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "Kan {{ name }} niet verwijderen",
"ERROR_PLURAL": "Kan {{ number }} items niet verwijderen"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Verificatietype",
- "BASIC": "Basisverificatie",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Provider",
- "REQUIRED": "Dit veld is vereist",
- "CS_URL_ERROR": "Content Services-adres komt niet overeen met de URL-indeling",
- "PS_URL_ERROR": "Process Services-adres komt niet overeen met de URL-indeling",
- "TITLE": "Instellingen",
- "CS-HOST": "Content Services-URL",
- "BP-HOST": "Process Services-URL",
- "BACK": "Terug",
- "APPLY": "Toepassen",
- "NOT_VALID": "http(s)://host|ip:port(/path) niet herkend, probeer een andere URL.",
- "REDIRECT": "Omleidings-URI",
- "REDIRECT_LOGOUT": "Omleidings-URI afmelden",
- "SILENT": "Stille aanmelding",
- "SCOPE": "Bereik",
- "CLIENT": "Client-id",
- "PUBLIC_URLS": "Openbare URL's voor stille aanmelding",
- "SECRET": "Geheim"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Nieuwe toevoegen",
@@ -591,4 +567,4 @@
"LOADING": "Laden...",
"SELECTION_ARIA_LABEL": "{{placeholder}} keuzelijst met invoervak {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/pl.json b/lib/core/src/lib/i18n/pl.json
index 6d1c592bb1..67818e8b68 100755
--- a/lib/core/src/lib/i18n/pl.json
+++ b/lib/core/src/lib/i18n/pl.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "Nie można usunąć elementu {{ name }}.",
"ERROR_PLURAL": "Nie można usunąć następującej liczby elementów: {{ number }}."
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Typ uwierzytelnienia",
- "BASIC": "Uwierzytelnienie podstawowe",
- "SSO": "Logowanie jednokrotne",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Dostawca",
- "REQUIRED": "To pole jest wymagane.",
- "CS_URL_ERROR": "Adres usług Content Services jest niezgodny z formatem adresu URL.",
- "PS_URL_ERROR": "Adres usług Process Services jest niezgodny z formatem adresu URL.",
- "TITLE": "Ustawienia",
- "CS-HOST": "Adres URL usług Content Services",
- "BP-HOST": "Adres URL usług Process Services",
- "BACK": "Wstecz",
- "APPLY": "Zastosuj",
- "NOT_VALID": "Nie rozpoznano adresu http(s)://host|ip:port(/path). Spróbuj użyć innego adresu URL.",
- "REDIRECT": "Identyfikator URI przekierowania",
- "REDIRECT_LOGOUT": "Identyfikator URI przekierowania — wylogowanie",
- "SILENT": "Ciche logowanie",
- "SCOPE": "Zakres",
- "CLIENT": "Identyfikator klienta",
- "PUBLIC_URLS": "Publiczne URL do cichego logowania",
- "SECRET": "Klucz tajny"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Dodaj nowe",
@@ -591,4 +567,4 @@
"LOADING": "Wczytywanie...",
"SELECTION_ARIA_LABEL": "{{placeholder}} - pole kombi - {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/pt-BR.json b/lib/core/src/lib/i18n/pt-BR.json
index 6c4760a410..7b32dd4eb0 100755
--- a/lib/core/src/lib/i18n/pt-BR.json
+++ b/lib/core/src/lib/i18n/pt-BR.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "Não foi possível excluir {{ name }}",
"ERROR_PLURAL": "Não foi possível excluir {{ number }} itens"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Tipo de autenticação",
- "BASIC": "Autenticação básica",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Provedor",
- "REQUIRED": "Este campo é obrigatório",
- "CS_URL_ERROR": "O endereço do Content Services não corresponde ao formato de URL",
- "PS_URL_ERROR": "O endereço do Process Services não corresponde ao formato de URL",
- "TITLE": "Configurações",
- "CS-HOST": "URL do Content Services",
- "BP-HOST": "URL do Process Services",
- "BACK": "Voltar",
- "APPLY": "Aplicar",
- "NOT_VALID": "http(s)://host|ip:port(/path) não reconhecida, tente uma URL diferente.",
- "REDIRECT": "Redirecionar URI",
- "REDIRECT_LOGOUT": "Redirecionar logout de URI",
- "SILENT": "Login silencioso",
- "SCOPE": "Escopo",
- "CLIENT": "ID de cliente",
- "PUBLIC_URLS": "Login silencioso de URLs públicas",
- "SECRET": "Segredo"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Adicionar",
@@ -591,4 +567,4 @@
"LOADING": "Carregando...",
"SELECTION_ARIA_LABEL": "{{placeholder}} caixa de combinação {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/ru.json b/lib/core/src/lib/i18n/ru.json
index 112c316895..72c746c817 100755
--- a/lib/core/src/lib/i18n/ru.json
+++ b/lib/core/src/lib/i18n/ru.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "Не удалось удалить {{ name }}",
"ERROR_PLURAL": "Не удалось удалить элементов: {{ number }}"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Тип авторизации",
- "BASIC": "Базовая авторизация",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Поставщик",
- "REQUIRED": "Поле обязательно для заполнения",
- "CS_URL_ERROR": "Адрес Content Services не соответствует формату URL",
- "PS_URL_ERROR": "Адрес Process Services не соответствует формату URL",
- "TITLE": "Параметры",
- "CS-HOST": "URL-адрес Content Services",
- "BP-HOST": "URL-адрес Process Services",
- "BACK": "Назад",
- "APPLY": "Применить",
- "NOT_VALID": "http(s)://host|ip:port(/path) не распознан, используйте другой URL-адрес.",
- "REDIRECT": "URI перенаправления",
- "REDIRECT_LOGOUT": "Выход URI перенаправления",
- "SILENT": "Автоматический вход",
- "SCOPE": "Область применения",
- "CLIENT": "Идентификатор клиента",
- "PUBLIC_URLS": "Общедоступные URL-адреса с автоматическим входом",
- "SECRET": "Секретный"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Добавить",
@@ -591,4 +567,4 @@
"LOADING": "Загрузка...",
"SELECTION_ARIA_LABEL": "{{placeholder}} выпадающий список {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/sv.json b/lib/core/src/lib/i18n/sv.json
index 0027e32ecc..100e933e79 100755
--- a/lib/core/src/lib/i18n/sv.json
+++ b/lib/core/src/lib/i18n/sv.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "{{ name }} kunde inte raderas",
"ERROR_PLURAL": "{{ number }} objekt kunde inte raderas"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "Autentiseringstyp",
- "BASIC": "Grundläggande autentisering",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "Leverantör",
- "REQUIRED": "Detta fält krävs",
- "CS_URL_ERROR": "Content Services-adressen matchar inte URL-formatet",
- "PS_URL_ERROR": "Process Services-adressen matchar inte URL-formatet",
- "TITLE": "Inställningar",
- "CS-HOST": "Content Services-URL",
- "BP-HOST": "Process Services-URL",
- "BACK": "Tillbaka",
- "APPLY": "Tillämpa",
- "NOT_VALID": "http(s)://host|ip:port(/path) kändes inte igen, testa annan URL.",
- "REDIRECT": "Omdirigera URI",
- "REDIRECT_LOGOUT": "Omdirigera URI-utloggning",
- "SILENT": "Tyst inloggning",
- "SCOPE": "Definitionsområde",
- "CLIENT": "Klient-ID",
- "PUBLIC_URLS": "Offentliga url:er för tyst inloggning",
- "SECRET": "Hemlig"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "Lägg till ny",
@@ -591,4 +567,4 @@
"LOADING": "Läser in...",
"SELECTION_ARIA_LABEL": "{{placeholder}} kombinationsrutan {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/core/src/lib/i18n/zh-CN.json b/lib/core/src/lib/i18n/zh-CN.json
index 1f2fd92a12..9110b906ef 100755
--- a/lib/core/src/lib/i18n/zh-CN.json
+++ b/lib/core/src/lib/i18n/zh-CN.json
@@ -169,30 +169,6 @@
"ERROR_SINGULAR": "{{ name }} 无法删除",
"ERROR_PLURAL": "{{ number }} 个项目无法删除"
},
- "HOST_SETTINGS": {
- "TYPE-AUTH": "身份验证类型",
- "BASIC": "基本身份验证",
- "SSO": "SSO",
- "IMPLICIT-FLOW": "Implicit Flow",
- "CODE-FLOW": "Code Flow",
- "PROVIDER": "提供程序",
- "REQUIRED": "此字段为必填字段",
- "CS_URL_ERROR": "Content Services 地址与 URL 格式不匹配",
- "PS_URL_ERROR": "Process Services 地址与 URL 格式不匹配",
- "TITLE": "设置",
- "CS-HOST": "Content Services URL",
- "BP-HOST": "Process Services URL",
- "BACK": "返回",
- "APPLY": "应用",
- "NOT_VALID": "http(s)://host|ip:port(/path) 无法识别,请使用其他 URL。",
- "REDIRECT": "重定向 URI",
- "REDIRECT_LOGOUT": "重定向 URI 注销",
- "SILENT": "静默登录",
- "SCOPE": "范围",
- "CLIENT": "客户端 ID",
- "PUBLIC_URLS": "用于静默登录的公共 URL",
- "SECRET": "机密"
- },
"CARDVIEW": {
"KEYVALUEPAIRS": {
"ADD": "新增",
@@ -591,4 +567,4 @@
"LOADING": "加载...",
"SELECTION_ARIA_LABEL": "{{placeholder}} 组合框 {{selectedOption}}"
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/ar.json b/lib/process-services/src/lib/i18n/ar.json
index 52b6ab0ced..7512855bcf 100644
--- a/lib/process-services/src/lib/i18n/ar.json
+++ b/lib/process-services/src/lib/i18n/ar.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "إنشاء",
- "NEW_TASK": "مهمة جديدة",
- "NEW_PROCESS": "عملية جديدة"
- }
- },
"APP": {
"DIALOG": {
"START": "متابعة",
@@ -358,4 +351,4 @@
"SUBTITLE": "لا توجد نماذج لإضافتها"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/cs.json b/lib/process-services/src/lib/i18n/cs.json
index 2c2fa582fe..1c0fb4411a 100644
--- a/lib/process-services/src/lib/i18n/cs.json
+++ b/lib/process-services/src/lib/i18n/cs.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Vytvořit",
- "NEW_TASK": "Nový úkol",
- "NEW_PROCESS": "Nový proces"
- }
- },
"APP": {
"DIALOG": {
"START": "Pokračovat",
@@ -358,4 +351,4 @@
"SUBTITLE": "Žádné formuláře určené k připojení"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/da.json b/lib/process-services/src/lib/i18n/da.json
index 8d71a3e871..91100c346d 100644
--- a/lib/process-services/src/lib/i18n/da.json
+++ b/lib/process-services/src/lib/i18n/da.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Opret",
- "NEW_TASK": "Ny opgave",
- "NEW_PROCESS": "Ny proces"
- }
- },
"APP": {
"DIALOG": {
"START": "Fortsæt",
@@ -358,4 +351,4 @@
"SUBTITLE": "Der er ikke tilføjet nogen formularer"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/de.json b/lib/process-services/src/lib/i18n/de.json
index cb6db5d719..c951c2ddfc 100644
--- a/lib/process-services/src/lib/i18n/de.json
+++ b/lib/process-services/src/lib/i18n/de.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Erstellen",
- "NEW_TASK": "Neue Aufgabe",
- "NEW_PROCESS": "Neuer Prozess"
- }
- },
"APP": {
"DIALOG": {
"START": "Weiter",
@@ -358,4 +351,4 @@
"SUBTITLE": "Keine Formulare, die hinzugefügt werden können"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/en.json b/lib/process-services/src/lib/i18n/en.json
index 9ae652d442..a5501b28a0 100644
--- a/lib/process-services/src/lib/i18n/en.json
+++ b/lib/process-services/src/lib/i18n/en.json
@@ -278,7 +278,6 @@
"NO_START_FORM": "No start form",
"NO_PROCESS_DEF_SELECTED": "No process definition selected",
"FORM": {
- "TITLE": "Start Process",
"LABEL": {
"SELECT_APPLICATION": "Select Application",
"TYPE": "Select Process",
@@ -315,13 +314,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "CREATE",
- "NEW_TASK": "New Task",
- "NEW_PROCESS": "New Process"
- }
- },
"APP":{
"DIALOG" :{
"START" : "Continue",
diff --git a/lib/process-services/src/lib/i18n/es.json b/lib/process-services/src/lib/i18n/es.json
index c7b954ba20..0fd98344db 100644
--- a/lib/process-services/src/lib/i18n/es.json
+++ b/lib/process-services/src/lib/i18n/es.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Crear",
- "NEW_TASK": "Nueva tarea",
- "NEW_PROCESS": "Nuevo proceso"
- }
- },
"APP": {
"DIALOG": {
"START": "Continuar",
@@ -358,4 +351,4 @@
"SUBTITLE": "No se han añadido formularios"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/fi.json b/lib/process-services/src/lib/i18n/fi.json
index 19a9f91bcd..5f53fc12d5 100644
--- a/lib/process-services/src/lib/i18n/fi.json
+++ b/lib/process-services/src/lib/i18n/fi.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Luo",
- "NEW_TASK": "Uusi tehtävä",
- "NEW_PROCESS": "Uusi prosessi"
- }
- },
"APP": {
"DIALOG": {
"START": "Jatka",
@@ -358,4 +351,4 @@
"SUBTITLE": "Ei lisättäviä lomakkeita"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/fr.json b/lib/process-services/src/lib/i18n/fr.json
index 49e1886581..48a0502752 100644
--- a/lib/process-services/src/lib/i18n/fr.json
+++ b/lib/process-services/src/lib/i18n/fr.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Créer",
- "NEW_TASK": "Nouvelle tâche",
- "NEW_PROCESS": "Nouveau processus"
- }
- },
"APP": {
"DIALOG": {
"START": "Continuer",
@@ -358,4 +351,4 @@
"SUBTITLE": "Aucun formulaire à ajouter"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/it.json b/lib/process-services/src/lib/i18n/it.json
index bd1ed437ca..2a6de070fc 100644
--- a/lib/process-services/src/lib/i18n/it.json
+++ b/lib/process-services/src/lib/i18n/it.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Crea",
- "NEW_TASK": "Nuovo compito",
- "NEW_PROCESS": "Nuovo processo"
- }
- },
"APP": {
"DIALOG": {
"START": "Continuare",
@@ -358,4 +351,4 @@
"SUBTITLE": "Nessun modulo da aggiungere"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/ja.json b/lib/process-services/src/lib/i18n/ja.json
index ffa3e43dd7..4e7535f18b 100644
--- a/lib/process-services/src/lib/i18n/ja.json
+++ b/lib/process-services/src/lib/i18n/ja.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "作成",
- "NEW_TASK": "新しいタスク",
- "NEW_PROCESS": "新しいプロセス"
- }
- },
"APP": {
"DIALOG": {
"START": "続行",
@@ -358,4 +351,4 @@
"SUBTITLE": "フォームは追加されません"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/nb.json b/lib/process-services/src/lib/i18n/nb.json
index e00521e224..42db3e3dfc 100644
--- a/lib/process-services/src/lib/i18n/nb.json
+++ b/lib/process-services/src/lib/i18n/nb.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Opprett",
- "NEW_TASK": "Ny oppgave",
- "NEW_PROCESS": "Ny prosess"
- }
- },
"APP": {
"DIALOG": {
"START": "Fortsett",
@@ -358,4 +351,4 @@
"SUBTITLE": "Ingen skjemaer å legge til"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/nl.json b/lib/process-services/src/lib/i18n/nl.json
index 6d0264b2e4..b9247e0260 100644
--- a/lib/process-services/src/lib/i18n/nl.json
+++ b/lib/process-services/src/lib/i18n/nl.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Maken",
- "NEW_TASK": "Nieuwe taak",
- "NEW_PROCESS": "Nieuw proces"
- }
- },
"APP": {
"DIALOG": {
"START": "Doorgaan",
@@ -358,4 +351,4 @@
"SUBTITLE": "Geen formulieren om toe te voegen"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/pl.json b/lib/process-services/src/lib/i18n/pl.json
index 0962295ba5..64f401da95 100644
--- a/lib/process-services/src/lib/i18n/pl.json
+++ b/lib/process-services/src/lib/i18n/pl.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Utwórz",
- "NEW_TASK": "Nowe zadanie",
- "NEW_PROCESS": "Nowy proces"
- }
- },
"APP": {
"DIALOG": {
"START": "Kontynuuj",
@@ -358,4 +351,4 @@
"SUBTITLE": "Brak formularzy do dodania."
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/pt-BR.json b/lib/process-services/src/lib/i18n/pt-BR.json
index 62b89ddf4b..f04dabb87d 100644
--- a/lib/process-services/src/lib/i18n/pt-BR.json
+++ b/lib/process-services/src/lib/i18n/pt-BR.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Criar",
- "NEW_TASK": "Nova tarefa",
- "NEW_PROCESS": "Novo processo"
- }
- },
"APP": {
"DIALOG": {
"START": "Continuar",
@@ -358,4 +351,4 @@
"SUBTITLE": "Sem formulários a serem adicionados"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/ru.json b/lib/process-services/src/lib/i18n/ru.json
index 92cdf0364f..19c06aae55 100644
--- a/lib/process-services/src/lib/i18n/ru.json
+++ b/lib/process-services/src/lib/i18n/ru.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Создать",
- "NEW_TASK": "Новая задача",
- "NEW_PROCESS": "Новый процесс"
- }
- },
"APP": {
"DIALOG": {
"START": "Продолжить",
@@ -358,4 +351,4 @@
"SUBTITLE": "Нет форм для добавления"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/sv.json b/lib/process-services/src/lib/i18n/sv.json
index a2b7c6dd39..53a6614b32 100644
--- a/lib/process-services/src/lib/i18n/sv.json
+++ b/lib/process-services/src/lib/i18n/sv.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "Skapa",
- "NEW_TASK": "Ny uppgift",
- "NEW_PROCESS": "Ny process"
- }
- },
"APP": {
"DIALOG": {
"START": "Fortsätt",
@@ -358,4 +351,4 @@
"SUBTITLE": "Inga formulär ska läggas till"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/process-services/src/lib/i18n/zh-CN.json b/lib/process-services/src/lib/i18n/zh-CN.json
index 8732dac758..0d3a0f3c04 100644
--- a/lib/process-services/src/lib/i18n/zh-CN.json
+++ b/lib/process-services/src/lib/i18n/zh-CN.json
@@ -315,13 +315,6 @@
}
}
},
- "ADF_SIDEBAR_ACTION_MENU": {
- "BUTTON": {
- "CREATE": "创建",
- "NEW_TASK": "新任务",
- "NEW_PROCESS": "新流程"
- }
- },
"APP": {
"DIALOG": {
"START": "继续",
@@ -358,4 +351,4 @@
"SUBTITLE": "没有要添加的表单"
}
}
-}
\ No newline at end of file
+}
diff --git a/lib/testing/src/lib/protractor/content-services/actions/permission.actions.ts b/lib/testing/src/lib/protractor/content-services/actions/permission.actions.ts
index 2357fb15eb..106030e769 100644
--- a/lib/testing/src/lib/protractor/content-services/actions/permission.actions.ts
+++ b/lib/testing/src/lib/protractor/content-services/actions/permission.actions.ts
@@ -46,10 +46,4 @@ export class PermissionActions {
const nodeBody = { permissions: { isInheritanceEnabled: false } };
return this.nodesApi.updateNode(nodeId, nodeBody, { include: ['permissions'] });
}
-
- enableInheritedPermissionsForNode(nodeId: string): Promise {
- const nodeBody = { permissions: { isInheritanceEnabled: true } };
- return this.nodesApi.updateNode(nodeId, nodeBody, { include: ['permissions'] });
- }
-
}
diff --git a/lib/testing/src/lib/protractor/content-services/dialog/add-permissions-dialog.page.ts b/lib/testing/src/lib/protractor/content-services/dialog/add-permissions-dialog.page.ts
index 5f3831d819..36509d1d66 100644
--- a/lib/testing/src/lib/protractor/content-services/dialog/add-permissions-dialog.page.ts
+++ b/lib/testing/src/lib/protractor/content-services/dialog/add-permissions-dialog.page.ts
@@ -41,10 +41,6 @@ export class AddPermissionsDialogPage {
return $$('.mat-option-text');
}
- async clickCloseButton(): Promise {
- await BrowserActions.click(this.closeButton);
- }
-
async clickAddPermissionButton(): Promise {
await BrowserActions.clickExecuteScript('button[data-automation-id="adf-add-permission-button"]');
}
@@ -72,20 +68,11 @@ export class AddPermissionsDialogPage {
await BrowserActions.click(this.addButton);
}
- async checkPermissionsDatatableIsDisplayed(): Promise {
- await BrowserVisibility.waitUntilElementIsVisible($('[class*="adf-datatable-permission"]'));
- }
-
async getRoleCellValue(rowName: string): Promise {
const locator = this.dataTableComponentPage.getCellByRowContentAndColumn('Users and Groups', rowName, column.role);
return BrowserActions.getText(locator);
}
- async clickRoleDropdownByUserOrGroupName(name: string): Promise {
- const row = this.dataTableComponentPage.getRow('Users and Groups', name);
- await BrowserActions.click(row.$('adf-select-role-permission'));
- }
-
async selectOption(name: string): Promise {
await new DropdownPage().selectOption(name);
}
diff --git a/lib/testing/src/lib/protractor/content-services/dialog/download-dialog.page.ts b/lib/testing/src/lib/protractor/content-services/dialog/download-dialog.page.ts
deleted file mode 100644
index a5a6eb68dd..0000000000
--- a/lib/testing/src/lib/protractor/content-services/dialog/download-dialog.page.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { $ } from 'protractor';
-import { BrowserActions } from '../../core/utils/browser-actions';
-
-export class DownloadDialogPage {
- cancelButton = $(`#cancel-button`);
-
- async clickCancelButton(): Promise {
- await BrowserActions.click(this.cancelButton);
- }
-
-}
diff --git a/lib/testing/src/lib/protractor/content-services/dialog/public-api.ts b/lib/testing/src/lib/protractor/content-services/dialog/public-api.ts
index a13252d152..f8d68bd9cb 100644
--- a/lib/testing/src/lib/protractor/content-services/dialog/public-api.ts
+++ b/lib/testing/src/lib/protractor/content-services/dialog/public-api.ts
@@ -17,4 +17,3 @@
export * from './content-node-selector-dialog.page';
export * from './add-permissions-dialog.page';
-export * from './download-dialog.page';
diff --git a/lib/testing/src/lib/protractor/content-services/pages/document-list.page.ts b/lib/testing/src/lib/protractor/content-services/pages/document-list.page.ts
index dc849f0f6c..7ba985e579 100644
--- a/lib/testing/src/lib/protractor/content-services/pages/document-list.page.ts
+++ b/lib/testing/src/lib/protractor/content-services/pages/document-list.page.ts
@@ -101,13 +101,4 @@ export class DocumentListPage {
async doubleClickRow(nodeName: string): Promise {
await this.dataTable.doubleClickRow('Display name', nodeName);
}
-
- async isItemPresent(name: string): Promise {
- return this.dataTable.getRow('Display name', name).isPresent();
- }
-
- async getLibraryRole(name: string): Promise {
- return this.dataTable.getRow('Display name', name).$('adf-library-role-column').getText();
- }
-
}
diff --git a/lib/testing/src/lib/protractor/content-services/pages/like.page.ts b/lib/testing/src/lib/protractor/content-services/pages/like.page.ts
deleted file mode 100644
index 78eb6891f7..0000000000
--- a/lib/testing/src/lib/protractor/content-services/pages/like.page.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { $, browser } from 'protractor';
-import { BrowserActions } from '../../core/utils/browser-actions';
-import { BrowserVisibility } from '../../core/utils/browser-visibility';
-
-export class LikePage {
-
- likeCounter = $(`div[id="adf-like-counter"]`);
- likeButton = $(`.adf-like-grey`);
- unlikeButton = $(`.adf-like-select`);
-
- async checkLikeCounter(counter: number): Promise {
- await BrowserVisibility.waitUntilElementHasText(this.likeCounter, counter);
- }
-
- async clickLike(): Promise {
- await BrowserActions.click(this.likeButton);
- }
-
- async clickUnlike(): Promise {
- await BrowserActions.click(this.unlikeButton);
- }
-
- async removeHoverFromLikeButton(): Promise {
- await browser.actions().mouseMove({ x: 200, y: 200 }).click().perform();
- }
-
- async getLikedIconColor(): Promise {
- return BrowserActions.getColor(this.unlikeButton);
- }
-
- async getUnLikedIconColor(): Promise {
- return BrowserActions.getColor(this.likeButton);
- }
-}
diff --git a/lib/testing/src/lib/protractor/content-services/pages/public-api.ts b/lib/testing/src/lib/protractor/content-services/pages/public-api.ts
index af21285406..9393654db6 100644
--- a/lib/testing/src/lib/protractor/content-services/pages/public-api.ts
+++ b/lib/testing/src/lib/protractor/content-services/pages/public-api.ts
@@ -15,9 +15,6 @@
* limitations under the License.
*/
-export * from './like.page';
-export * from './rate.page';
export * from './document-list.page';
-
export * from './breadcrumb/public-api';
export * from './search/public-api';
diff --git a/lib/testing/src/lib/protractor/content-services/pages/rate.page.ts b/lib/testing/src/lib/protractor/content-services/pages/rate.page.ts
deleted file mode 100644
index 8b0aa22658..0000000000
--- a/lib/testing/src/lib/protractor/content-services/pages/rate.page.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { $ } from 'protractor';
-import { BrowserVisibility } from '../../core/utils/browser-visibility';
-import { BrowserActions } from '../../core/utils/browser-actions';
-
-export class RatePage {
- private ratingsCounter = $(`div[id="adf-rating-counter"]`);
-
- async rateComponent(rateValue: number) {
- const unratedStar = await this.coloredStar(rateValue);
- await BrowserActions.click(unratedStar);
- }
-
- async removeRating(rateValue: number): Promise {
- const ratedStar = await this.coloredStar(rateValue);
- await BrowserActions.click(ratedStar);
- }
-
- async checkRatingCounter(rating: number): Promise {
- await BrowserVisibility.waitUntilElementHasText(this.ratingsCounter, rating);
- }
-
- async isStarRated(rateValue: number): Promise {
- const ratedStar = await this.coloredStar(rateValue);
- await BrowserVisibility.waitUntilElementIsVisible(ratedStar);
- }
-
- async isNotStarRated(rateValue: number): Promise {
- const unratedStar = await this.greyStar(rateValue);
- await BrowserVisibility.waitUntilElementIsVisible(unratedStar);
- }
-
- async getRatedStarColor(rateValue: number): Promise {
- const ratedStar = await this.coloredStar(rateValue);
- return BrowserActions.getColor(ratedStar);
- }
-
- async getUnratedStarColor(rateValue: number): Promise {
- const unratedStar = await this.greyStar(rateValue);
- return BrowserActions.getColor(unratedStar);
- }
-
- async getAverageStarColor(rateValue: number): Promise {
- const coloredStar = await this.coloredStar(rateValue);
- return BrowserActions.getColor(coloredStar);
- }
-
- private coloredStar = async (rateValue: number) => $(`span[id="adf-rate-${rateValue}"] mat-icon`);
- private greyStar = async (rateValue: number) => $(`mat-icon[id="adf-grey-star-${rateValue}"]`);
-}
diff --git a/lib/testing/src/lib/protractor/content-services/pages/upload-button.page.ts b/lib/testing/src/lib/protractor/content-services/pages/upload-button.page.ts
index f3f841ac4e..5866b1284d 100644
--- a/lib/testing/src/lib/protractor/content-services/pages/upload-button.page.ts
+++ b/lib/testing/src/lib/protractor/content-services/pages/upload-button.page.ts
@@ -29,15 +29,4 @@ export class UploadButtonPage {
await this.uploadButton.sendKeys(file.getLocation());
}
}
-
- async isButtonNotDisplayed(): Promise {
- let result = false;
-
- try {
- await BrowserVisibility.waitUntilElementIsNotVisible(this.uploadButton);
- result = true;
- } catch (e) { /* do nothing */ }
-
- return result;
- }
}
diff --git a/lib/testing/src/lib/protractor/core/pages/data-table-component.page.ts b/lib/testing/src/lib/protractor/core/pages/data-table-component.page.ts
index a9c8e791e3..867d1e00b0 100644
--- a/lib/testing/src/lib/protractor/core/pages/data-table-component.page.ts
+++ b/lib/testing/src/lib/protractor/core/pages/data-table-component.page.ts
@@ -32,7 +32,6 @@ export class DataTableComponentPage {
selectedRowNumber: ElementFinder;
allSelectedRows: ElementArrayFinder;
selectAll: ElementFinder;
- copyColumnTooltip: ElementFinder;
emptyList: ElementFinder;
emptyListTitle: ElementFinder;
emptyListSubtitle: ElementFinder;
@@ -51,7 +50,6 @@ export class DataTableComponentPage {
this.selectedRowNumber = this.rootElement.$(`adf-datatable-row[class*='is-selected'] div[data-automation-id*='text_']`);
this.allSelectedRows = this.rootElement.$$(`adf-datatable-row[class*='is-selected']`);
this.selectAll = this.rootElement.$(`div[class*='adf-datatable-header'] mat-checkbox`);
- this.copyColumnTooltip = this.rootElement.$(`adf-copy-content-tooltip span`);
this.emptyList = this.rootElement.$(`adf-empty-content`);
this.emptyListTitle = this.rootElement.$(`.adf-empty-content__title`);
this.emptyListSubtitle = this.rootElement.$(`.adf-empty-content__subtitle`);
@@ -114,28 +112,6 @@ export class DataTableComponentPage {
await browser.actions().sendKeys(protractor.Key.NULL).perform();
}
- async selectMultipleRows(columnName: string, items: string[]): Promise {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await this.clearRowsSelection();
- await browser.actions().sendKeys(protractor.Key.COMMAND).perform();
- for (const item of items) {
- await this.selectRow(columnName, item);
- }
- await browser.actions().sendKeys(protractor.Key.NULL).perform();
- }
-
- async clearRowsSelection(): Promise
-
diff --git a/demo-shell/src/app/components/rich-text-editor/rich-text-editor.component.scss b/demo-shell/src/app/components/rich-text-editor/rich-text-editor.component.scss
deleted file mode 100644
index 06e87b1437..0000000000
--- a/demo-shell/src/app/components/rich-text-editor/rich-text-editor.component.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-app-rich-text-editor {
- .app-rich-text-editor-container {
- display: flex;
-
- .app-rich-text-editor-col {
- padding: 20px;
- flex: 1 1 50%;
- max-width: 50%;
- box-sizing: border-box;
-
- &-rx {
- border-left: 1px dashed var(--theme-primary-color);
- border-spacing: 5px;
- }
-
- &-title {
- text-align: center;
- }
- }
-
- .app-rich-text-editor-output {
- max-width: 30vw;
- overflow-x: scroll;
- }
- }
-}
diff --git a/demo-shell/src/app/components/rich-text-editor/rich-text-editor.component.ts b/demo-shell/src/app/components/rich-text-editor/rich-text-editor.component.ts
deleted file mode 100644
index 72d897fbdd..0000000000
--- a/demo-shell/src/app/components/rich-text-editor/rich-text-editor.component.ts
+++ /dev/null
@@ -1,108 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { AfterViewInit, Component, OnDestroy, ViewChild, ViewEncapsulation } from '@angular/core';
-import { OutputData } from '@editorjs/editorjs';
-import { RichTextEditorComponent as AdfRichTextEditorComponent } from '@alfresco/adf-process-services-cloud';
-import { takeUntil } from 'rxjs/operators';
-import { Subject } from 'rxjs';
-
-@Component({
- selector: 'app-rich-text-editor',
- templateUrl: './rich-text-editor.component.html',
- styleUrls: ['./rich-text-editor.component.scss'],
- encapsulation: ViewEncapsulation.None
-})
-export class RichTextEditorComponent implements AfterViewInit, OnDestroy {
-
- @ViewChild('textEditor')
- textEditor: AdfRichTextEditorComponent;
-
- onDestroy$ = new Subject
-
-
- Rich Text Editor
-
-
-Output Data
-{{editorOutputData | json}}-
-
diff --git a/demo-shell/src/app/components/search/search-extended.component.scss b/demo-shell/src/app/components/search/search-extended.component.scss
deleted file mode 100644
index 8ed56dada9..0000000000
--- a/demo-shell/src/app/components/search/search-extended.component.scss
+++ /dev/null
@@ -1,63 +0,0 @@
-div.app-search-results-container {
- padding: 0 20px 20px;
-}
-
-.app-search-title {
- font-size: 22px;
- padding: 15px 0;
-}
-
-@media screen and (max-width: 600px) {
- :host .app-col-display-name {
- min-width: 100px;
- }
-
- :host .app-col-modified-at,
- :host .app-col-modified-by {
- display: none;
- }
-
- :host div.app-search-results-container table {
- width: 100%;
- }
-}
-
-.app-search-results-content {
- display: flex;
-}
-
-.app-search-extended-input-containers {
- display: flex;
- flex-direction: row-reverse;
- justify-content: space-evenly;
-}
-
-.app-search-extended-input-textarea {
- width: 300px;
-}
-
-.app-search-extended-label-error {
- display: flex;
- flex-direction: column;
-}
-
-.app-example-card {
- width: 200px;
- flex: 0 20%;
- margin: 15px;
-}
-
-.app-example-card-search-container {
- display: flex;
- flex-wrap: wrap;
-}
-
-.example-header-image {
- background-size: cover;
- margin-bottom: 15px;
-}
-
-.example-search-input {
- width: 100px;
- border: 1px solid black;
-}
diff --git a/demo-shell/src/app/components/search/search-extended.component.ts b/demo-shell/src/app/components/search/search-extended.component.ts
deleted file mode 100644
index 29332607c6..0000000000
--- a/demo-shell/src/app/components/search/search-extended.component.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { Component, ViewChild, ViewEncapsulation } from '@angular/core';
-import { Pagination, QueryBody, MinimalNodeEntity } from '@alfresco/js-api';
-import { ThumbnailService } from '@alfresco/adf-core';
-import { SearchService, SearchConfigurationService, SearchComponent } from '@alfresco/adf-content-services';
-import { TestSearchConfigurationService } from './search-config-test.service';
-
-@Component({
- selector: 'app-search-extended-component',
- templateUrl: './search-extended.component.html',
- styleUrls: ['./search-extended.component.scss'],
- encapsulation: ViewEncapsulation.None,
- providers: [
- { provide: SearchConfigurationService, useClass: TestSearchConfigurationService },
- SearchService
- ]
-})
-export class SearchExtendedComponent {
-
- @ViewChild('search')
- search: SearchComponent;
-
- queryParamName = 'q';
- searchedWord = '';
- queryBodyString = '';
- errorMessage = '';
- maxItems: number;
- skipCount = 0;
- pagination: Pagination;
- queryBody: QueryBody;
-
- constructor(public thumbnailService: ThumbnailService) {
-
- }
-
- getMimeTypeIcon(node: MinimalNodeEntity): string {
- let mimeType;
-
- if (node.entry.content && node.entry.content.mimeType) {
- mimeType = node.entry.content.mimeType;
- }
- if (node.entry.isFolder) {
- mimeType = 'folder';
- }
-
- return this.thumbnailService.getMimeTypeIcon(mimeType);
- }
-
-}
diff --git a/demo-shell/src/app/components/settings/host-settings.component.html b/demo-shell/src/app/components/settings/host-settings.component.html
index 39d7bb6499..74162f4cef 100644
--- a/demo-shell/src/app/components/settings/host-settings.component.html
+++ b/demo-shell/src/app/components/settings/host-settings.component.html
@@ -1,9 +1,8 @@
-
-
-
-
-
-
-
-
-
-
-
- {{ item?.entry.name }}
- {{ item?.entry.createdAt }}
-
-
-
-
-
-
-
-
-
-
-- {{'APP_LAYOUT.SEARCH_CREATED_BY' | translate}}: {{item?.entry.createdByUser?.displayName}} -
-{{ 'SEARCH.RESULTS.NONE' | translate:{searchTerm: searchedWord} }}
-Select Site
-Hide My Files
-Select Default Site
- -
-
-
-
-
-
diff --git a/demo-shell/src/app/components/sites/sites.component.ts b/demo-shell/src/app/components/sites/sites.component.ts
deleted file mode 100644
index 6d1e5a6aa1..0000000000
--- a/demo-shell/src/app/components/sites/sites.component.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'app-sites',
- templateUrl: './sites.component.html'
-})
-export class SitesComponent {
-
- currentSelectedSite: string;
- hideMyFiles: boolean = false;
- showDefaultSite: boolean = false;
- defaultSite: string;
-
- onSiteChange($event: any) {
- this.currentSelectedSite = JSON.stringify($event.entry);
- }
-
- applySite() {
- this.showDefaultSite = true;
- }
-
-}
diff --git a/demo-shell/src/app/components/sites/sites.module.ts b/demo-shell/src/app/components/sites/sites.module.ts
deleted file mode 100644
index fd0f5b61f0..0000000000
--- a/demo-shell/src/app/components/sites/sites.module.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { NgModule } from '@angular/core';
-import { SitesComponent } from './sites.component';
-import { Routes, RouterModule } from '@angular/router';
-import { CommonModule } from '@angular/common';
-import { CoreModule } from '@alfresco/adf-core';
-import { ContentModule } from '@alfresco/adf-content-services';
-
-const routes: Routes = [
- {
- path: '',
- component: SitesComponent
- }
-];
-
-@NgModule({
- imports: [
- CommonModule,
- RouterModule.forChild(routes),
- CoreModule,
- ContentModule.forChild()
- ],
- declarations: [SitesComponent]
-})
-export class SitesModule {}
diff --git a/demo-shell/src/app/components/social/social.component.html b/demo-shell/src/app/components/social/social.component.html
deleted file mode 100644
index 5a98e62638..0000000000
--- a/demo-shell/src/app/components/social/social.component.html
+++ /dev/null
@@ -1,17 +0,0 @@
--
- -
-
-
-
-
-
-
-
diff --git a/demo-shell/src/app/components/social/social.component.scss b/demo-shell/src/app/components/social/social.component.scss
deleted file mode 100644
index a318ca2676..0000000000
--- a/demo-shell/src/app/components/social/social.component.scss
+++ /dev/null
@@ -1,25 +0,0 @@
-app-social {
- .app-social-example-areas {
- flex-direction: column;
- box-sizing: border-box;
- display: flex;
- place-content: stretch flex-start;
- align-items: stretch;
-
- .app-social-example-area {
- margin: 10px;
-
- .app-social-example-title {
- padding-bottom: 12px;
- }
- }
-
- @media screen and (min-width: 1280px) {
- flex-direction: row;
-
- .app-social-example-area {
- flex: 1 1 auto;
- }
- }
- }
-}
diff --git a/demo-shell/src/app/components/social/social.component.ts b/demo-shell/src/app/components/social/social.component.ts
deleted file mode 100644
index 0c543dafe1..0000000000
--- a/demo-shell/src/app/components/social/social.component.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { Component, ViewEncapsulation } from '@angular/core';
-
-/**
- * @deprecated This component uses Like and Rating components that are not used in ACA/ADW/ACC and can be removed.
- */
-@Component({
- selector: 'app-social',
- templateUrl: './social.component.html',
- styleUrls: ['./social.component.scss'],
- encapsulation: ViewEncapsulation.None
-})
-export class SocialComponent {
-
- nodeId = '74cd8a96-8a21-47e5-9b3b-a1b3e296787d';
-}
diff --git a/demo-shell/src/app/components/social/social.module.ts b/demo-shell/src/app/components/social/social.module.ts
deleted file mode 100644
index 1d1c484889..0000000000
--- a/demo-shell/src/app/components/social/social.module.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { NgModule } from '@angular/core';
-import { SocialComponent } from './social.component';
-import { Routes, RouterModule } from '@angular/router';
-import { CommonModule } from '@angular/common';
-import { CoreModule } from '@alfresco/adf-core';
-import { ContentModule } from '@alfresco/adf-content-services';
-
-const routes: Routes = [
- {
- path: '',
- component: SocialComponent
- }
-];
-
-/**
- * @deprecated This module uses Like and Rating components that are not used in ACA/ADW/ACC and can be removed.
- */
-@NgModule({
- imports: [
- CommonModule,
- RouterModule.forChild(routes),
- CoreModule,
- ContentModule.forChild()
- ],
- declarations: [SocialComponent]
-})
-export class AppSocialModule {}
diff --git a/demo-shell/src/app/components/tag/tag.component.html b/demo-shell/src/app/components/tag/tag.component.html
deleted file mode 100644
index 40da020418..0000000000
--- a/demo-shell/src/app/components/tag/tag.component.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
- {{'SOCIAL.LIKE' | translate }}
-
-
- {{'SOCIAL.RATING' | translate }}
-
- - -
-
-
-
-
-
-
-
-
diff --git a/demo-shell/src/app/components/tag/tag.component.scss b/demo-shell/src/app/components/tag/tag.component.scss
deleted file mode 100644
index b1bf34bcb7..0000000000
--- a/demo-shell/src/app/components/tag/tag.component.scss
+++ /dev/null
@@ -1,25 +0,0 @@
-app-tag {
- .app-tag-example-areas {
- flex-direction: column;
- box-sizing: border-box;
- display: flex;
- place-content: stretch flex-start;
- align-items: stretch;
-
- .app-tag-example-area {
- margin: 10px;
-
- .app-tag-example-title {
- padding-bottom: 12px;
- }
- }
-
- @media screen and (min-width: 1280px) {
- flex-direction: row;
-
- .app-tag-example-area {
- flex: 1 1 auto;
- }
- }
- }
-}
diff --git a/demo-shell/src/app/components/tag/tag.component.ts b/demo-shell/src/app/components/tag/tag.component.ts
deleted file mode 100644
index 7ba121fd00..0000000000
--- a/demo-shell/src/app/components/tag/tag.component.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { Component, ViewEncapsulation } from '@angular/core';
-
-@Component({
- selector: 'app-tag',
- templateUrl: './tag.component.html',
- styleUrls: ['./tag.component.scss'],
- encapsulation: ViewEncapsulation.None
-})
-export class TagComponent {
-
- nodeId = '';
- nodeIdInput = '';
- showDelete = true;
-
- toggleDeleteButton() {
- this.showDelete = !this.showDelete;
- }
-
- onSubmit() {
- this.nodeId = this.nodeIdInput;
- }
-}
diff --git a/demo-shell/src/app/components/tag/tag.module.ts b/demo-shell/src/app/components/tag/tag.module.ts
deleted file mode 100644
index bc81a2f8f6..0000000000
--- a/demo-shell/src/app/components/tag/tag.module.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-/*!
- * @license
- * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { NgModule } from '@angular/core';
-import { TagComponent } from './tag.component';
-import { Routes, RouterModule } from '@angular/router';
-import { CommonModule } from '@angular/common';
-import { CoreModule } from '@alfresco/adf-core';
-import { ContentModule } from '@alfresco/adf-content-services';
-
-const routes: Routes = [
- {
- path: '',
- component: TagComponent
- }
-];
-
-@NgModule({
- imports: [
- CommonModule,
- RouterModule.forChild(routes),
- CoreModule,
- ContentModule.forChild()
- ],
- declarations: [TagComponent]
-})
-export class AppTagModule {}
diff --git a/demo-shell/src/app/components/task-list-demo/task-list-demo.component.html b/demo-shell/src/app/components/task-list-demo/task-list-demo.component.html
index 3dc046024b..2721918a71 100644
--- a/demo-shell/src/app/components/task-list-demo/task-list-demo.component.html
+++ b/demo-shell/src/app/components/task-list-demo/task-list-demo.component.html
@@ -7,7 +7,7 @@
matInput
[formControl]="taskAppId" data-automation-id="appId input">
- {{'TAG.LIST' | translate }}
-
-
-
-
-
-
-
-
- {{'TAG.NODE_LIST' | translate }}
-
-
-
Document List Demo Page
- -Default Loading Template
-Custom Loading Template
-Default No Permission Template
-Custom No Permission Template
-Default Empty Content Template
-Custom Empty Content Template
-This is a custom no content template
-
-
-
+
+ title="Delete permanently">
delete_forever
@@ -20,7 +19,7 @@
(restore)="onRestore($event)"
[adf-restore]="$any(documentList).selection"
*ngIf="documentList.selection.length"
- title="{{ 'TRASHCAN.ACTIONS.RESTORE' | translate }}">
+ title="Restore">
restore
@@ -41,9 +40,9 @@
-
@@ -59,7 +58,7 @@
+ title="Display name">
{{ value }}
@@ -68,13 +67,13 @@
+ title="Deleted on">
{{ value | adfTimeAgo: currentLocale }}
@@ -84,14 +83,13 @@
+ title="Deleted by">
-
-
+
+
{{ 'TRASHCAN.EMPTY_STATE.FIRST_TEXT' | translate }}
- {{ 'TRASHCAN.EMPTY_STATE.SECOND_TEXT' | translate }}
+ [title]="'Trash is empty'">
+ Items you delete are moved to the Trash.
+ Empty Trash to permanently delete items.
-
-
-
-
-
-