From 3a7376af9fe4bbde6458be514d54cb7e3f352d44 Mon Sep 17 00:00:00 2001 From: Silviu Popa Date: Wed, 13 Mar 2019 13:37:00 +0200 Subject: [PATCH] [ADF-4159] DemoShell - add nested menu on ProcessCloud (#4385) * [ADF-4159] DemoShell - add nested menu on ProcessCloud * [ADF-4159] DemoShell - fix e2e tests * [ADF-4159] DemoShell fix typo * [ADF-4159] - fix e2e lint * [ADF-4159] - change app nested menu for process list * [ADF-4159] - lint --- demo-shell/resources/i18n/en.json | 1 + .../app-layout/app-layout.component.html | 63 ++++++++++++------- .../app-layout/app-layout.component.ts | 24 ++++--- e2e/pages/adf/navigationBarPage.ts | 13 +++- 4 files changed, 69 insertions(+), 32 deletions(-) diff --git a/demo-shell/resources/i18n/en.json b/demo-shell/resources/i18n/en.json index fbb4554716..6896f25e7a 100644 --- a/demo-shell/resources/i18n/en.json +++ b/demo-shell/resources/i18n/en.json @@ -53,6 +53,7 @@ } }, "APP_LAYOUT": { + "APP": "App", "APP_NAME": "ADF Demo Application", "HOME": "Home", "NODE-SELECTOR": "Node Selector", diff --git a/demo-shell/src/app/components/app-layout/app-layout.component.html b/demo-shell/src/app/components/app-layout/app-layout.component.html index ff2a161ef5..bd156d8e36 100644 --- a/demo-shell/src/app/components/app-layout/app-layout.component.html +++ b/demo-shell/src/app/components/app-layout/app-layout.component.html @@ -1,19 +1,12 @@ + [expandedSidenav]="expandedSidenav" (expanded)="setState($event)" [position]="position"> - +
@@ -21,10 +14,7 @@
-
+ + + + + + \ No newline at end of file diff --git a/demo-shell/src/app/components/app-layout/app-layout.component.ts b/demo-shell/src/app/components/app-layout/app-layout.component.ts index 0c2bb6692d..c6485bc128 100644 --- a/demo-shell/src/app/components/app-layout/app-layout.component.ts +++ b/demo-shell/src/app/components/app-layout/app-layout.component.ts @@ -39,19 +39,25 @@ export class AppLayoutComponent implements OnInit { { href: '/header-data', icon: 'edit', title: 'APP_LAYOUT.HEADER_DATA' }, { href: '/node-selector', icon: 'attachment', title: 'APP_LAYOUT.NODE-SELECTOR' }, { href: '/task-list', icon: 'assignment', title: 'APP_LAYOUT.TASK_LIST' }, - { href: '/process-list', icon: 'assignment', title: 'APP_LAYOUT.PROCESS_LIST' }, - { href: '/cloud', icon: 'cloud', title: 'APP_LAYOUT.PROCESS_CLOUD' }, - { href: '/cloud/people-group-cloud', icon: 'group', title: 'APP_LAYOUT.PEOPLE_GROUPS_CLOUD' }, - { href: '/activiti', icon: 'device_hub', title: 'APP_LAYOUT.PROCESS_SERVICES' }, + { href: '/cloud', icon: 'cloud', title: 'APP_LAYOUT.PROCESS_CLOUD', children: [ + { href: '/cloud/', icon: 'cloud', title: 'APP_LAYOUT.HOME' }, + { href: '/cloud/people-group-cloud', icon: 'group', title: 'APP_LAYOUT.PEOPLE_GROUPS_CLOUD' } + ]}, + { href: '/activiti', icon: 'device_hub', title: 'APP_LAYOUT.PROCESS_SERVICES', children: [ + { href: '/activiti', icon: 'vpn_key', title: 'APP_LAYOUT.APP' }, + { href: '/process-list', icon: 'assignment', title: 'APP_LAYOUT.PROCESS_LIST' }, + { href: '/form', icon: 'poll', title: 'APP_LAYOUT.FORM' }, + { href: '/form-list', icon: 'library_books', title: 'APP_LAYOUT.FORM_LIST' }, + { href: '/form-loading', icon: 'cached', title: 'APP_LAYOUT.FORM_LOADING' } + ]}, { href: '/login', icon: 'vpn_key', title: 'APP_LAYOUT.LOGIN' }, { href: '/trashcan', icon: 'delete', title: 'APP_LAYOUT.TRASHCAN' }, { href: '/dl-custom-sources', icon: 'extension', title: 'APP_LAYOUT.CUSTOM_SOURCES' }, - { href: '/datatable', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE' }, - { href: '/datatable-lazy', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE_LAZY' }, + { href: '/datatable', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE', children: [ + { href: '/datatable', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE' }, + { href: '/datatable-lazy', icon: 'view_module', title: 'APP_LAYOUT.DATATABLE_LAZY' } + ]}, { href: '/template-list', icon: 'list_alt', title: 'APP_LAYOUT.TEMPLATE' }, - { href: '/form', icon: 'poll', title: 'APP_LAYOUT.FORM' }, - { href: '/form-list', icon: 'library_books', title: 'APP_LAYOUT.FORM_LIST' }, - { href: '/form-loading', icon: 'cached', title: 'APP_LAYOUT.FORM_LOADING' }, { href: '/webscript', icon: 'extension', title: 'APP_LAYOUT.WEBSCRIPT' }, { href: '/tag', icon: 'local_offer', title: 'APP_LAYOUT.TAG' }, { href: '/social', icon: 'thumb_up', title: 'APP_LAYOUT.SOCIAL' }, diff --git a/e2e/pages/adf/navigationBarPage.ts b/e2e/pages/adf/navigationBarPage.ts index ea06689330..daf3608052 100644 --- a/e2e/pages/adf/navigationBarPage.ts +++ b/e2e/pages/adf/navigationBarPage.ts @@ -26,10 +26,14 @@ export class NavigationBarPage { contentServicesButton = element(by.css('a[data-automation-id="Content Services"]')); dataTableButton = element(by.css('a[data-automation-id="Datatable"]')); + dataTableNestedButton = element(by.css('button[data-automation-id="Datatable"]')); taskListButton = element(by.css("a[data-automation-id='Task List']")); configEditorButton = element(by.css('a[data-automation-id="Configuration Editor"]')); processServicesButton = element(by.css('a[data-automation-id="Process Services"]')); + processServicesNestedButton = element(by.css('button[data-automation-id="App"]')); processServicesCloudButton = element(by.css('a[data-automation-id="Process Cloud"]')); + processServicesCloudHomeButton = element(by.css('button[data-automation-id="Home"]')); + processServicesCloudPeopleGroupButton = element(by.css('button[data-automation-id="People/Group Cloud"]')); loginButton = element(by.css('a[data-automation-id="Login"]')); trashcanButton = element(by.css('a[data-automation-id="Trashcan"]')); overlayViewerButton = element(by.css('a[data-automation-id="Overlay Viewer"]')); @@ -41,7 +45,7 @@ export class NavigationBarPage { appTitle = element(by.css('.adf-app-title')); headerDataButton = element(by.css('a[data-automation-id="Header Data"]')); menuButton = element(by.css('button[data-automation-id="adf-menu-icon"]')); - formButton = element(by.css('a[data-automation-id="Form"]')); + formButton = element(by.css('button[data-automation-id="Form"]')); treeViewButton = element(by.css('a[data-automation-id="Tree View"]')); iconsButton = element(by.css('a[data-automation-id="Icons"]')); customSourcesButton = element(by.css('a[data-automation-id="Custom Sources"]')); @@ -52,6 +56,7 @@ export class NavigationBarPage { navigateToDatatable() { Util.waitUntilElementIsVisible(this.dataTableButton); this.dataTableButton.click(); + this.dataTableNestedButton.click(); } clickContentServicesButton() { @@ -72,12 +77,16 @@ export class NavigationBarPage { navigateToProcessServicesPage() { Util.waitUntilElementIsVisible(this.processServicesButton); this.processServicesButton.click(); + Util.waitUntilElementIsVisible(this.processServicesNestedButton); + this.processServicesNestedButton.click(); return new ProcessServicesPage(); } navigateToProcessServicesCloudPage() { Util.waitUntilElementIsVisible(this.processServicesCloudButton); this.processServicesCloudButton.click(); + Util.waitUntilElementIsVisible(this.processServicesCloudHomeButton); + this.processServicesCloudHomeButton.click(); return new AppListCloudPage(); } @@ -188,6 +197,8 @@ export class NavigationBarPage { } clickFormButton() { + Util.waitUntilElementIsVisible(this.processServicesButton); + this.processServicesButton.click(); Util.waitUntilElementIsVisible(this.formButton); return this.formButton.click(); }