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">
-
+
+
+
+
+
+
\ 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();
}