This is an automated email from the ASF dual-hosted git repository.
linxinyuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/texera.git
The following commit(s) were added to refs/heads/master by this push:
new 61081f5458 fix(ui): Highlight "Workflows" tab when inside workspace
(#3653)
61081f5458 is described below
commit 61081f545859d9683591984c460d9eef2763b2f7
Author: Seongjin Yoon <[email protected]>
AuthorDate: Tue Aug 12 23:56:56 2025 -0700
fix(ui): Highlight "Workflows" tab when inside workspace (#3653)
<img width="1512" height="819" alt="Screenshot 2025-08-11 at 8 56 13 PM"
src="https://github.com/user-attachments/assets/2de10a92-3a37-4ca9-8282-355800c3cdeb"
/>
---
core/gui/src/app/app-routing.constant.ts | 2 +-
core/gui/src/app/app-routing.module.ts | 8 ++++----
.../component/admin/execution/admin-execution.component.html | 2 +-
core/gui/src/app/dashboard/component/dashboard.component.ts | 8 +++-----
4 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/core/gui/src/app/app-routing.constant.ts
b/core/gui/src/app/app-routing.constant.ts
index 48e309728b..a22f6439e2 100644
--- a/core/gui/src/app/app-routing.constant.ts
+++ b/core/gui/src/app/app-routing.constant.ts
@@ -31,7 +31,7 @@ export const DASHBOARD_HUB_DATASET_RESULT_DETAIL =
`${DASHBOARD_HUB_DATASET_RESU
export const DASHBOARD_USER = `${DASHBOARD}/user`;
export const DASHBOARD_USER_PROJECT = `${DASHBOARD_USER}/project`;
-export const DASHBOARD_USER_WORKSPACE = `${DASHBOARD_USER}/workspace`;
+export const DASHBOARD_USER_WORKSPACE = `${DASHBOARD_USER}/workflow`;
export const DASHBOARD_USER_WORKFLOW = `${DASHBOARD_USER}/workflow`;
export const DASHBOARD_USER_DATASET = `${DASHBOARD_USER}/dataset`;
export const DASHBOARD_USER_DATASET_CREATE =
`${DASHBOARD_USER_DATASET}/create`;
diff --git a/core/gui/src/app/app-routing.module.ts
b/core/gui/src/app/app-routing.module.ts
index 17cec94232..fffe3f8e42 100644
--- a/core/gui/src/app/app-routing.module.ts
+++ b/core/gui/src/app/app-routing.module.ts
@@ -115,14 +115,14 @@ routes.push({
path: "project/:pid",
component: UserProjectSectionComponent,
},
- {
- path: "workspace/:id",
- component: WorkspaceComponent,
- },
{
path: "workflow",
component: UserWorkflowComponent,
},
+ {
+ path: "workflow/:id",
+ component: WorkspaceComponent,
+ },
{
path: "dataset",
component: UserDatasetComponent,
diff --git
a/core/gui/src/app/dashboard/component/admin/execution/admin-execution.component.html
b/core/gui/src/app/dashboard/component/admin/execution/admin-execution.component.html
index 28fdc5d41e..41a2ceb965 100644
---
a/core/gui/src/app/dashboard/component/admin/execution/admin-execution.component.html
+++
b/core/gui/src/app/dashboard/component/admin/execution/admin-execution.component.html
@@ -100,7 +100,7 @@
<tr *ngFor="let execution of basicTable.data">
<td>
<div *ngIf="execution.access; else normalWorkflowName">
- <a href="/dashboard/user/workspace/{{execution.workflowId}}">
+ <a href="/dashboard/user/workflow/{{execution.workflowId}}">
{{ maxStringLength(execution.workflowName, 16) }} ({{
execution.workflowId }})
</a>
</div>
diff --git a/core/gui/src/app/dashboard/component/dashboard.component.ts
b/core/gui/src/app/dashboard/component/dashboard.component.ts
index c4cd9311c3..c07a78f7bf 100644
--- a/core/gui/src/app/dashboard/component/dashboard.component.ts
+++ b/core/gui/src/app/dashboard/component/dashboard.component.ts
@@ -58,7 +58,6 @@ export class DashboardComponent implements OnInit {
displayForum: boolean = true;
displayNavbar: boolean = true;
isCollapsed: boolean = false;
- routesWithoutNavbar: string[] = ["/workspace"];
showLinks: boolean = false;
logo: string = "";
miniLogo: string = "";
@@ -201,10 +200,9 @@ export class DashboardComponent implements OnInit {
}
isNavbarEnabled(currentRoute: string) {
- for (const routeWithoutNavbar of this.routesWithoutNavbar) {
- if (currentRoute.includes(routeWithoutNavbar)) {
- return false;
- }
+ // Hide navbar for workflow workspace pages (with numeric ID)
+ if (currentRoute.match(/\/dashboard\/user\/workflow\/\d+/)) {
+ return false;
}
return true;
}