Commit f4a36e36 by Ooh-Ao

set datasetid

parent fbdd560b
...@@ -85,6 +85,7 @@ ...@@ -85,6 +85,7 @@
</option> </option>
</select> </select>
<app-dataset-picker <app-dataset-picker
[selectedDatasetId]="dashboardData?.datasetId"
(datasetSelected)="onDatasetSelected($event)" (datasetSelected)="onDatasetSelected($event)"
></app-dataset-picker> ></app-dataset-picker>
<div *ngIf="dashboardData" class="relative flex items-center"> <div *ngIf="dashboardData" class="relative flex items-center">
......
...@@ -643,6 +643,7 @@ export class DashboardManagementComponent implements OnInit { ...@@ -643,6 +643,7 @@ export class DashboardManagementComponent implements OnInit {
} }
saveLayout(): void { saveLayout(): void {
console.log('saveLayout called. Dashboard data to save:', this.dashboardData);
if (!this.dashboardData) return; if (!this.dashboardData) return;
const dataFetchTasks: Observable<any>[] = this.dashboardData.widgets const dataFetchTasks: Observable<any>[] = this.dashboardData.widgets
...@@ -777,8 +778,10 @@ export class DashboardManagementComponent implements OnInit { ...@@ -777,8 +778,10 @@ export class DashboardManagementComponent implements OnInit {
} }
onPanelChange(args: any): void { onPanelChange(args: any): void {
console.log('onPanelChange triggered:', args);
if (this.dashboardData && args.changedPanels) { if (this.dashboardData && args.changedPanels) {
args.changedPanels.forEach((changedPanel: PanelModel) => { args.changedPanels.forEach((changedPanel: PanelModel) => {
console.log('Panel changed:', changedPanel);
const widgetIndex = this.dashboardData!.widgets.findIndex(w => w.widgetId === changedPanel.id); const widgetIndex = this.dashboardData!.widgets.findIndex(w => w.widgetId === changedPanel.id);
if (widgetIndex > -1) { if (widgetIndex > -1) {
const updatedWidget = { ...this.dashboardData!.widgets[widgetIndex] }; const updatedWidget = { ...this.dashboardData!.widgets[widgetIndex] };
...@@ -787,10 +790,12 @@ export class DashboardManagementComponent implements OnInit { ...@@ -787,10 +790,12 @@ export class DashboardManagementComponent implements OnInit {
updatedWidget.x = changedPanel.col!; updatedWidget.x = changedPanel.col!;
updatedWidget.y = changedPanel.row!; updatedWidget.y = changedPanel.row!;
this.dashboardData!.widgets[widgetIndex] = updatedWidget; this.dashboardData!.widgets[widgetIndex] = updatedWidget;
console.log('Updated widget data:', updatedWidget);
} }
}); });
console.log('Current dashboard data after change:', this.dashboardData);
// Save the updated dashboard after all panels have been processed // Save the updated dashboard after all panels have been processed
this.dashboardDataService.saveDashboard(this.dashboardData!).subscribe(); // this.dashboardDataService.saveDashboard(this.dashboardData!).subscribe();
} }
} }
} }
<div class="dataset-picker-container"> <div class="dataset-picker-container">
<label for="dataset-select">Select Dataset:</label> <label for="dataset-select">Select Dataset:</label>
<select id="dataset-select" (change)="onDatasetChange($event)"> <select id="dataset-select" [ngModel]="selectedDatasetId" (change)="onDatasetChange($event)">
<option value="">-- Please choose a dataset --</option> <option value="">-- Please choose a dataset --</option>
<option *ngFor="let dataset of datasets$ | async" [value]="dataset.id"> <option *ngFor="let dataset of datasets$ | async" [value]="dataset.id">
{{ dataset.name }} {{ dataset.name }}
......
import { Component, OnInit, Output, EventEmitter } from '@angular/core'; import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms'; import { FormsModule } from '@angular/forms';
import { Observable } from 'rxjs'; import { Observable } from 'rxjs';
...@@ -17,6 +17,7 @@ import { DatasetService } from '../services/dataset.service'; ...@@ -17,6 +17,7 @@ import { DatasetService } from '../services/dataset.service';
export class DatasetPickerComponent implements OnInit { export class DatasetPickerComponent implements OnInit {
datasets$: Observable<DatasetModel[]>; datasets$: Observable<DatasetModel[]>;
@Input() selectedDatasetId: string | null | undefined;
@Output() datasetSelected = new EventEmitter<string>(); @Output() datasetSelected = new EventEmitter<string>();
constructor(private datasetService: DatasetService) { } constructor(private datasetService: DatasetService) { }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment