You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@submarine.apache.org by li...@apache.org on 2020/09/26 06:36:33 UTC
[submarine] branch master updated: SUBMARINE-628. [WEB] Disable WIP
page link
This is an automated email from the ASF dual-hosted git repository.
liuxun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/submarine.git
The following commit(s) were added to refs/heads/master by this push:
new baf0676 SUBMARINE-628. [WEB] Disable WIP page link
baf0676 is described below
commit baf06763481fbc850351774f21ce53ad9434571b
Author: Kevin Su <pi...@gmail.com>
AuthorDate: Fri Sep 25 11:51:04 2020 +0800
SUBMARINE-628. [WEB] Disable WIP page link
### What is this PR for?
There are some pages still WIP, temporarily disable those page links.
and disable related integration tests
### What type of PR is it?
[Improvement]
### Todos
* [ ] - Task
### What is the Jira issue?
https://issues.apache.org/jira/projects/SUBMARINE/issues/SUBMARINE-628
### How should this be tested?
https://travis-ci.org/github/pingsutw/hadoop-submarine/builds/729560198
### Screenshots (if appropriate)
![Screenshot from 2020-09-23 17-05-43](https://user-images.githubusercontent.com/37936015/94103060-2e972c80-fe66-11ea-935f-366090aa58cc.png)
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Kevin Su <pi...@gmail.com>
Closes #410 from pingsutw/SUBMARINE-628 and squashes the following commits:
8120250 [Kevin Su] Disable workbench home
42eaf5b [Kevin Su] Update test
80cabc0 [Kevin Su] Update test
8a3166c [Kevin Su] Update test
f0e045f [Kevin Su] Update test
800c34c [Kevin Su] Update test
792d5cb [Kevin Su] SUBMARINE-628. [WEB] Disable WIP page link
---
.../submarine/integration/SubmarineLogIT.java | 7 ---
.../org/apache/submarine/integration/dataIT.java | 16 +++--
.../apache/submarine/integration/datadictIT.java | 19 +++---
.../org/apache/submarine/integration/homeIT.java | 13 ++---
.../submarine/integration/interpreterIT.java | 11 ++--
.../apache/submarine/integration/sidebarIT.java | 22 +++----
.../org/apache/submarine/integration/teamIT.java | 15 ++---
.../apache/submarine/integration/workspaceIT.java | 17 +++---
.../app/pages/workbench/workbench.component.html | 9 +--
.../src/app/pages/workbench/workbench.component.ts | 68 +++++++++++++---------
10 files changed, 104 insertions(+), 93 deletions(-)
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/SubmarineLogIT.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/SubmarineLogIT.java
index d4447e4..11dce9a 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/SubmarineLogIT.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/SubmarineLogIT.java
@@ -18,19 +18,12 @@
*/
package org.apache.submarine.integration;
-import bsh.StringUtil;
-import org.apache.commons.lang3.StringUtils;
import org.apache.submarine.AbstractSubmarineIT;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.Test;
-import java.io.BufferedReader;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
public class SubmarineLogIT extends AbstractSubmarineIT {
public final static Logger LOG = LoggerFactory.getLogger(SubmarineLogIT.class);
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/dataIT.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/dataIT.java
index f574c67..4b9a46d 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/dataIT.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/dataIT.java
@@ -19,14 +19,17 @@ package org.apache.submarine.integration;
import org.apache.submarine.AbstractSubmarineIT;
import org.apache.submarine.WebDriverManager;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.Assert;
import org.openqa.selenium.By;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-import org.testng.Assert;
+
+@Ignore("SUBMARINE-628")
public class dataIT extends AbstractSubmarineIT {
public final static Logger LOG = LoggerFactory.getLogger(dataIT.class);
@@ -42,6 +45,7 @@ public class dataIT extends AbstractSubmarineIT {
driver.quit();
}
+
@Test
public void dataNavigation() throws Exception {
// Login
@@ -57,13 +61,13 @@ public class dataIT extends AbstractSubmarineIT {
// Test create new Table
pollingWait(By.xpath("//button[@id='createBtn']"), MAX_BROWSER_TIMEOUT_SEC).click();
- Assert.assertEquals(pollingWait(By.xpath("//form"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed(), true);
+ Assert.assertTrue(pollingWait(By.xpath("//form"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed());
pollingWait(By.xpath("//button[@id='firstNextBtn']"), MAX_BROWSER_TIMEOUT_SEC).click();
pollingWait(By.xpath("//input[@id='tableName']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("e2e test Table");
pollingWait(By.xpath("//button[@id='secondNextBtn']"), MAX_BROWSER_TIMEOUT_SEC).click();
pollingWait(By.xpath("//button[@id='submit']"), MAX_BROWSER_TIMEOUT_SEC).click();
- Assert.assertEquals(pollingWait(By.xpath("//thead"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed(), true);
+ Assert.assertTrue(pollingWait(By.xpath("//thead"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed());
}
}
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/datadictIT.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/datadictIT.java
index 329ff24..f545538 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/datadictIT.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/datadictIT.java
@@ -19,19 +19,14 @@ package org.apache.submarine.integration;
import org.apache.submarine.AbstractSubmarineIT;
import org.apache.submarine.WebDriverManager;
-import org.apache.submarine.SubmarineITUtils;
+import org.openqa.selenium.By;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
-import org.openqa.selenium.By;
-import org.openqa.selenium.Keys;
-import org.openqa.selenium.interactions.Actions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-import org.testng.Assert;
-import java.util.*;
public class datadictIT extends AbstractSubmarineIT {
@@ -57,7 +52,7 @@ public class datadictIT extends AbstractSubmarineIT {
clickAndWait(By.cssSelector("button[class='login-form-button ant-btn ant-btn-primary']"));
pollingWait(By.cssSelector("a[routerlink='/workbench/dashboard']"), MAX_BROWSER_TIMEOUT_SEC);
- // Start Routing & Navigation in data-dict
+ // Start Routing & Navigation in data-dict
LOG.info("Start Routing & Navigation in data-dict");
pollingWait(By.xpath("//span[contains(text(), \"Manager\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
WebDriverWait wait = new WebDriverWait( driver, 60);
@@ -76,14 +71,14 @@ public class datadictIT extends AbstractSubmarineIT {
pollingWait(By.cssSelector("button[class='ant-btn ng-star-inserted ant-btn-default']"), MAX_BROWSER_TIMEOUT_SEC).click();
Assert.assertEquals( driver.findElements(By.xpath("//div[contains(text(), \"Add\")]")).size(), 0);
// Add --> set input --> close
- pollingWait(By.cssSelector("form > nz-form-item:nth-child(3) > nz-form-control > div > span > button.ant-btn.ant-btn-default"), MAX_BROWSER_TIMEOUT_SEC).click();
+ pollingWait(By.cssSelector("form > nz-form-item:nth-child(3) > nz-form-control > div > span > button.ant-btn.ant-btn-default"), MAX_BROWSER_TIMEOUT_SEC).click();
pollingWait(By.xpath("//input[@id='inputNewDictCode']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("test new dict code");
pollingWait(By.xpath("//input[@id='inputNewDictName']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("test new dict name");
pollingWait(By.xpath("//input[@id='inputNewDictDescription']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("test new dict description");
pollingWait(By.cssSelector("button[class='ant-btn ng-star-inserted ant-btn-default']"), MAX_BROWSER_TIMEOUT_SEC).click();
Assert.assertEquals( driver.findElements(By.xpath("//td[@id='dataDictCodetest new dict code']")).size(), 0);
- // Add --> set input --> ok --> new dict
- pollingWait(By.cssSelector("form > nz-form-item:nth-child(3) > nz-form-control > div > span > button.ant-btn.ant-btn-default"), MAX_BROWSER_TIMEOUT_SEC).click();
+ // Add --> set input --> ok --> new dict
+ pollingWait(By.cssSelector("form > nz-form-item:nth-child(3) > nz-form-control > div > span > button.ant-btn.ant-btn-default"), MAX_BROWSER_TIMEOUT_SEC).click();
pollingWait(By.xpath("//input[@id='inputNewDictCode']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("test new dict code");
pollingWait(By.xpath("//input[@id='inputNewDictName']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("test new dict name");
pollingWait(By.xpath("//input[@id='inputNewDictDescription']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("test new dict description");
@@ -109,7 +104,7 @@ public class datadictIT extends AbstractSubmarineIT {
pollingWait(By.xpath("//li[@id='dataDictConfigurationPROJECT_TYPE']"), MAX_BROWSER_TIMEOUT_SEC).click();
Assert.assertEquals( driver.findElements(By.xpath("//td[contains(text(), \"qqq\")]")).size(), 1);
pollingWait(By.xpath("//button[@class='ant-btn ng-star-inserted ant-btn-primary']"), MAX_BROWSER_TIMEOUT_SEC).click();
-
+
// Edit button
LOG.info("[TEST] Edit button");
// Edit dict --> Update --> OK --> More --> Configuration
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/homeIT.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/homeIT.java
index 446d8c8..043fd7c 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/homeIT.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/homeIT.java
@@ -19,19 +19,18 @@ package org.apache.submarine.integration;
import org.apache.submarine.AbstractSubmarineIT;
import org.apache.submarine.WebDriverManager;
-import org.apache.submarine.SubmarineITUtils;
-import org.openqa.selenium.support.ui.ExpectedConditions;
-import org.openqa.selenium.support.ui.WebDriverWait;
+import org.junit.Ignore;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-import org.testng.Assert;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.Assert;
import java.util.List;
+@Ignore("SUBMARINE-628")
public class homeIT extends AbstractSubmarineIT {
public final static Logger LOG = LoggerFactory.getLogger(homeIT.class);
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/interpreterIT.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/interpreterIT.java
index 99c385c..3e4314c 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/interpreterIT.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/interpreterIT.java
@@ -19,15 +19,16 @@ package org.apache.submarine.integration;
import org.apache.submarine.AbstractSubmarineIT;
import org.apache.submarine.WebDriverManager;
-import org.apache.submarine.SubmarineITUtils;
+import org.junit.Ignore;
import org.openqa.selenium.By;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-import org.testng.Assert;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.Assert;
+@Ignore("SUBMARINE-628")
public class interpreterIT extends AbstractSubmarineIT {
public final static Logger LOG = LoggerFactory.getLogger(interpreterIT.class);
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/sidebarIT.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/sidebarIT.java
index 796ab78..429a14d 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/sidebarIT.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/sidebarIT.java
@@ -56,19 +56,23 @@ public class sidebarIT extends AbstractSubmarineIT {
// Start Routing & Navigation in sidebar
LOG.info("Start Routing & Navigation in sidebar");
- pollingWait(By.xpath("//span[contains(text(), \"Workspace\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
- Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/workspace");
- pollingWait(By.xpath("//span[contains(text(), \"Interpreter\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
- Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/interpreter");
pollingWait(By.xpath("//span[contains(text(), \"Experiment\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/experiment");
- pollingWait(By.xpath("//span[contains(text(), \"Data\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
- Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/data");
- pollingWait(By.xpath("//span[contains(text(), \"Model\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
- Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/model");
pollingWait(By.xpath("//span[contains(text(), \"Manager\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
pollingWait(By.xpath("//a[@href='/workbench/manager/user']"), MAX_BROWSER_TIMEOUT_SEC).click();
+ // SUBMARINE-628. [WEB] Disable WIP page link
+// pollingWait(By.xpath("//span[contains(text(), \"Workspace\")]"), MAX_BROWSER_TIMEOUT_SEC).click()
+// Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/workspace");
+// pollingWait(By.xpath("//span[contains(text(), \"Interpreter\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
+// Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/interpreter");
+// pollingWait(By.xpath("//span[contains(text(), \"Data\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
+// Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/data");
+// pollingWait(By.xpath("//span[contains(text(), \"Model\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
+// Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/model");
+// pollingWait(By.xpath("//span[contains(text(), \"Home\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
+// Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/home");
+
// Lazy-loading
WebDriverWait wait = new WebDriverWait( driver, 15, 5000);
pollingWait(By.xpath("//a[@href='/workbench/manager/user']"), MAX_BROWSER_TIMEOUT_SEC).click();
@@ -77,7 +81,5 @@ public class sidebarIT extends AbstractSubmarineIT {
pollingWait(By.xpath("//a[@href='/workbench/manager/dataDict']"), MAX_BROWSER_TIMEOUT_SEC).click();
Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/manager/dataDict");
- pollingWait(By.xpath("//span[contains(text(), \"Home\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
- Assert.assertEquals(driver.getCurrentUrl(), "http://localhost:8080/workbench/home");
}
}
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/teamIT.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/teamIT.java
index f0b87ef..c096768 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/teamIT.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/teamIT.java
@@ -19,15 +19,16 @@ package org.apache.submarine.integration;
import org.apache.submarine.AbstractSubmarineIT;
import org.apache.submarine.WebDriverManager;
-import org.apache.submarine.SubmarineITUtils;
+import org.junit.Ignore;
import org.openqa.selenium.By;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-import org.testng.Assert;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.Assert;
+@Ignore("SUBMARINE-628")
public class teamIT extends AbstractSubmarineIT {
public final static Logger LOG = LoggerFactory.getLogger(teamIT.class);
@@ -58,12 +59,12 @@ public class teamIT extends AbstractSubmarineIT {
//Test team part
pollingWait(By.xpath("//li[contains(text(), \"Team\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
- Assert.assertEquals(pollingWait(By.xpath("//div[@id='teamDiv']"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed(), true);
+ Assert.assertTrue(pollingWait(By.xpath("//div[@id='teamDiv']"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed());
clickAndWait(By.cssSelector("button[id='btnAddTeam']"));
pollingWait(By.xpath("//input[@id='inputNewTeamName']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("NewTeamNameTest");
pollingWait(By.xpath("//input[@id='inputNewTeamOwner']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("NewTeamOwnerTest");
clickAndWait(By.cssSelector("button[id='submitNewTeamBtn']"));
- Assert.assertEquals(pollingWait(By.xpath("//td[contains(., 'NewTeamNameTest')]"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed(), true);
+ Assert.assertTrue(pollingWait(By.xpath("//td[contains(., 'NewTeamNameTest')]"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed());
}
}
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/workspaceIT.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/workspaceIT.java
index 929f2a3..14a5c44 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/workspaceIT.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/workspaceIT.java
@@ -19,17 +19,18 @@ package org.apache.submarine.integration;
import org.apache.submarine.AbstractSubmarineIT;
import org.apache.submarine.WebDriverManager;
-import org.apache.submarine.SubmarineITUtils;
+import org.junit.Ignore;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.By;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-import org.testng.Assert;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.Assert;
+@Ignore("SUBMARINE-628")
public class workspaceIT extends AbstractSubmarineIT {
public final static Logger LOG = LoggerFactory.getLogger(workspaceIT.class);
@@ -60,7 +61,7 @@ public class workspaceIT extends AbstractSubmarineIT {
WebDriverWait wait = new WebDriverWait( driver, 60);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//li[contains(text(), \"Release\")]")));
-
+
//Test release part
pollingWait(By.xpath("//li[contains(text(), \"Release\")]"), MAX_BROWSER_TIMEOUT_SEC).click();
Assert.assertEquals(pollingWait(By.xpath("//nz-table[@id='releaseTable']"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed(), true);
@@ -96,8 +97,8 @@ public class workspaceIT extends AbstractSubmarineIT {
//return to project page
Assert.assertEquals(pollingWait(By.xpath("//div[@id='addProjectbtn']"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed(), true);
-
-
+
+
}
}
diff --git a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workbench.component.html b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workbench.component.html
index 973ddb4..b27bbd2 100644
--- a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workbench.component.html
+++ b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workbench.component.html
@@ -33,9 +33,9 @@
</div>
<ul nz-menu nzTheme="dark" nzMode="inline" [nzInlineCollapsed]="isCollapsed">
<ng-container *ngFor="let menu of menus">
- <li *ngIf="menu.children" nz-submenu [nzTitle]="menu.title" [nzIcon]="menu.iconType">
+ <li *ngIf="menu.children" nz-submenu [nzDisabled]="menu.disabled" [nzTitle]="menu.title" [nzIcon]="menu.iconType">
<ul>
- <li nz-menu-item nzMatchRouter *ngFor="let subItem of menu.children">
+ <li nz-menu-item nzMatchRouter [nzDisabled]="menu.disabled" *ngFor="let subItem of menu.children">
<a [routerLink]="subItem.routerLink">{{ subItem.title }}</a>
</li>
</ul>
@@ -44,10 +44,11 @@
*ngIf="!menu.children"
nz-menu-item
nz-tooltip
+ [nzDisabled]="menu.disabled"
[nzTitle]="menu.title"
nzPlacement="right"
- nzMatchRouter
- [routerLink]="menu.routerLink"
+ [nzMatchRouter]="!menu.disabled"
+ [routerLink]="menu.disabled ? null : menu.routerLink"
>
<i nz-icon [nzType]="menu.iconType"></i>
<span>{{ menu.title }}</span>
diff --git a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workbench.component.ts b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workbench.component.ts
index 23d6d9c..ec8c801 100644
--- a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workbench.component.ts
+++ b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workbench.component.ts
@@ -29,9 +29,11 @@ interface SidebarMenu {
title: string;
iconType: string;
routerLink?: string;
+ disabled: boolean;
children?: Array<{
title: string;
routerLink?: string;
+ disabled: boolean;
}>;
}
@@ -47,60 +49,72 @@ export class WorkbenchComponent implements OnInit {
{
title: 'Home',
iconType: 'home',
- routerLink: '/workbench/home'
- },
- {
- title: 'Workspace',
- iconType: 'desktop',
- routerLink: '/workbench/workspace'
+ routerLink: '/workbench/home',
+ disabled: true
},
{
title: 'Notebook',
iconType: 'book',
- routerLink: '/workbench/notebook'
- },
- {
- title: 'Interpreter',
- iconType: 'api',
- routerLink: '/workbench/interpreter'
+ routerLink: '/workbench/notebook',
+ disabled: false
},
{
title: 'Experiment',
iconType: 'cluster',
- routerLink: '/workbench/experiment'
+ routerLink: '/workbench/experiment',
+ disabled: false
},
{
title: 'Environment',
iconType: 'codepen',
- routerLink: '/workbench/environment'
- },
- {
- title: 'Data',
- iconType: 'bar-chart',
- routerLink: '/workbench/data'
- },
- {
- title: 'Model',
- iconType: 'experiment',
- routerLink: '/workbench/model'
+ routerLink: '/workbench/environment',
+ disabled: false
},
{
title: 'Manager',
iconType: 'setting',
+ disabled: false,
children: [
{
title: 'User',
- routerLink: '/workbench/manager/user'
+ routerLink: '/workbench/manager/user',
+ disabled: false
},
{
title: 'Data dict',
- routerLink: '/workbench/manager/dataDict'
+ routerLink: '/workbench/manager/dataDict',
+ disabled: false
},
{
title: 'Department',
- routerLink: '/workbench/manager/department'
+ routerLink: '/workbench/manager/department',
+ disabled: false
}
]
+ },
+ {
+ title: 'Data',
+ iconType: 'bar-chart',
+ routerLink: '/workbench/data',
+ disabled: true
+ },
+ {
+ title: 'Model',
+ iconType: 'experiment',
+ routerLink: '/workbench/model',
+ disabled: true
+ },
+ {
+ title: 'Workspace',
+ iconType: 'desktop',
+ routerLink: '/workbench/workspace',
+ disabled: true
+ },
+ {
+ title: 'Interpreter',
+ iconType: 'api',
+ routerLink: '/workbench/interpreter',
+ disabled: true
}
];
userInfo$: Observable<UserInfo>;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@submarine.apache.org
For additional commands, e-mail: dev-help@submarine.apache.org