This is an automated email from the ASF dual-hosted git repository.
linxinyuan pushed a commit to branch xinyuan-source-port
in repository https://gitbox.apache.org/repos/asf/texera.git
The following commit(s) were added to refs/heads/xinyuan-source-port by this
push:
new ec5fb029a0 update
ec5fb029a0 is described below
commit ec5fb029a093cff542edeab137eeb493b8fb299d
Author: Xinyuan Lin <[email protected]>
AuthorDate: Fri Apr 10 14:52:53 2026 -0700
update
---
.../dataset-version-selector.component.ts | 57 ++++++----------------
1 file changed, 14 insertions(+), 43 deletions(-)
diff --git
a/frontend/src/app/workspace/component/dataset-version-selector/dataset-version-selector.component.ts
b/frontend/src/app/workspace/component/dataset-version-selector/dataset-version-selector.component.ts
index cd5a11a51c..ca185a4cf1 100644
---
a/frontend/src/app/workspace/component/dataset-version-selector/dataset-version-selector.component.ts
+++
b/frontend/src/app/workspace/component/dataset-version-selector/dataset-version-selector.component.ts
@@ -17,7 +17,7 @@
* under the License.
*/
-import { Component, OnInit } from "@angular/core";
+import {ChangeDetectorRef, Component, OnInit} from "@angular/core";
import { FieldType, FieldTypeConfig } from "@ngx-formly/core";
import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
import { DashboardDataset } from
"../../../dashboard/type/dashboard-dataset.interface";
@@ -35,45 +35,28 @@ export class DatasetVersionSelectorComponent extends
FieldType<FieldTypeConfig>
selectedDataset?: DashboardDataset;
selectedVersion?: DatasetVersion;
- constructor(private datasetService: DatasetService) {
+ constructor(private datasetService: DatasetService, private
changeDetectorRef: ChangeDetectorRef) {
super();
+ }
+
+ ngOnInit(): void {
this.datasetService
.retrieveAccessibleDatasets()
.pipe(untilDestroyed(this))
.subscribe(datasets => {
this.datasets = datasets;
- this.restoreSelectionFromValue();
+ const [_, ownerEmail, datasetName, versionName] =
this.formControl.value.split("/")
+ if (versionName) {
+ this.selectedDataset = this.datasets.find(
+ dataset =>
+ dataset.ownerEmail === ownerEmail && dataset.dataset.name ===
datasetName
+ );
+ this.onDatasetChange()
+ }
});
-
- console.log("datasets", this.datasets);
- }
-
- ngOnInit(): void {
-
- }
-
- private restoreSelectionFromValue(): void {
- const parsed = this.parseDatasetVersionPath(this.formControl.value);
-
- if (!parsed) {
- return;
}
- this.selectedDataset = this.datasets.find(
- dataset =>
- dataset.ownerEmail === parsed.ownerEmail && dataset.dataset.name ===
parsed.datasetName
- );
- console.log("parsed", this.selectedDataset);
- if (this.selectedDataset?.dataset.did !== undefined) {
- this.loadVersions(this.selectedDataset.dataset.did, parsed.versionName);
- }
- }
-
onDatasetChange(): void {
- this.selectedVersion = undefined;
- this.datasetVersions = [];
- this.formControl.setValue(null);
-
if (this.selectedDataset?.dataset.did !== undefined) {
this.loadVersions(this.selectedDataset.dataset.did);
}
@@ -104,19 +87,7 @@ export class DatasetVersionSelectorComponent extends
FieldType<FieldTypeConfig>
if (this.selectedVersion) {
this.onVersionChange();
}
+ this.changeDetectorRef.detectChanges();
});
}
-
- private parseDatasetVersionPath(
- path: string | null | undefined
- ): { ownerEmail: string; datasetName: string; versionName: string } |
undefined {
- const parts = (path ?? "")
- .split("/")
- .filter(Boolean);
- if (parts.length !== 3) {
- return undefined;
- }
- const [ownerEmail, datasetName, versionName] = parts;
- return { ownerEmail, datasetName, versionName };
- }
}