Update editnewdash.component.ts
This commit is contained in:
parent
bc46735218
commit
e533362122
@ -688,9 +688,15 @@ export class EditnewdashComponent implements OnInit {
|
|||||||
console.log(this.entryForm.value);
|
console.log(this.entryForm.value);
|
||||||
this.dashboardCollection.dashboard = this.dashboardCollection.dashboard.map(item => {
|
this.dashboardCollection.dashboard = this.dashboardCollection.dashboard.map(item => {
|
||||||
if (item.chartid == num) {
|
if (item.chartid == num) {
|
||||||
|
// Preserve the component reference
|
||||||
|
const componentRef = item.component;
|
||||||
|
|
||||||
//item["product_id"] = "thisistest";
|
//item["product_id"] = "thisistest";
|
||||||
const xyz = { ...item, ...formdata }
|
const xyz = { ...item, ...formdata }
|
||||||
|
|
||||||
|
// Restore the component reference
|
||||||
|
xyz.component = componentRef;
|
||||||
|
|
||||||
// Explicitly ensure drilldown properties are preserved
|
// Explicitly ensure drilldown properties are preserved
|
||||||
xyz.drilldownEnabled = this.gadgetsEditdata.drilldownEnabled;
|
xyz.drilldownEnabled = this.gadgetsEditdata.drilldownEnabled;
|
||||||
xyz.drilldownApiUrl = this.gadgetsEditdata.drilldownApiUrl;
|
xyz.drilldownApiUrl = this.gadgetsEditdata.drilldownApiUrl;
|
||||||
@ -708,6 +714,23 @@ export class EditnewdashComponent implements OnInit {
|
|||||||
return item
|
return item
|
||||||
});
|
});
|
||||||
console.log('dashboard collection ', this.dashboardCollection.dashboard);
|
console.log('dashboard collection ', this.dashboardCollection.dashboard);
|
||||||
|
|
||||||
|
// Force gridster to refresh by triggering change detection
|
||||||
|
if (this.options && this.options.api) {
|
||||||
|
this.options.api.optionsChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Trigger change detection manually
|
||||||
|
// This is a workaround to ensure the gridster re-renders the components
|
||||||
|
setTimeout(() => {
|
||||||
|
// Force a refresh by temporarily setting dashboardArray to empty and then back
|
||||||
|
const tempArray = [...this.dashboardArray];
|
||||||
|
this.dashboardArray = [];
|
||||||
|
setTimeout(() => {
|
||||||
|
this.dashboardArray = tempArray;
|
||||||
|
}, 0);
|
||||||
|
}, 0);
|
||||||
|
|
||||||
this.modeledit = false;
|
this.modeledit = false;
|
||||||
|
|
||||||
// this.entryForm.reset();
|
// this.entryForm.reset();
|
||||||
@ -782,9 +805,15 @@ export class EditnewdashComponent implements OnInit {
|
|||||||
// Update the dashboard collection with the new configuration
|
// Update the dashboard collection with the new configuration
|
||||||
this.dashboardCollection.dashboard = this.dashboardCollection.dashboard.map(item => {
|
this.dashboardCollection.dashboard = this.dashboardCollection.dashboard.map(item => {
|
||||||
if (item.chartid == num) {
|
if (item.chartid == num) {
|
||||||
|
// Preserve the component reference
|
||||||
|
const componentRef = item.component;
|
||||||
|
|
||||||
// Merge the existing item with the new form data
|
// Merge the existing item with the new form data
|
||||||
const updatedItem = { ...item, ...formdata }
|
const updatedItem = { ...item, ...formdata }
|
||||||
|
|
||||||
|
// Restore the component reference
|
||||||
|
updatedItem.component = componentRef;
|
||||||
|
|
||||||
// Explicitly ensure drilldown properties are preserved
|
// Explicitly ensure drilldown properties are preserved
|
||||||
updatedItem.drilldownEnabled = this.gadgetsEditdata.drilldownEnabled;
|
updatedItem.drilldownEnabled = this.gadgetsEditdata.drilldownEnabled;
|
||||||
updatedItem.drilldownApiUrl = this.gadgetsEditdata.drilldownApiUrl;
|
updatedItem.drilldownApiUrl = this.gadgetsEditdata.drilldownApiUrl;
|
||||||
@ -806,13 +835,31 @@ export class EditnewdashComponent implements OnInit {
|
|||||||
|
|
||||||
// Update the dashboardArray to reflect changes immediately
|
// Update the dashboardArray to reflect changes immediately
|
||||||
// Create a new array with new object references to ensure change detection
|
// Create a new array with new object references to ensure change detection
|
||||||
this.dashboardArray = this.dashboardCollection.dashboard.map(item => ({ ...item }));
|
this.dashboardArray = this.dashboardCollection.dashboard.map(item => {
|
||||||
|
// Preserve the component reference
|
||||||
|
const componentRef = item.component;
|
||||||
|
const newItem = { ...item };
|
||||||
|
// Restore the component reference
|
||||||
|
newItem.component = componentRef;
|
||||||
|
return newItem;
|
||||||
|
});
|
||||||
|
|
||||||
// Force gridster to refresh
|
// Force gridster to refresh by triggering change detection
|
||||||
if (this.options && this.options.api) {
|
if (this.options && this.options.api) {
|
||||||
this.options.api.optionsChanged();
|
this.options.api.optionsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Trigger change detection manually
|
||||||
|
// This is a workaround to ensure the gridster re-renders the components
|
||||||
|
setTimeout(() => {
|
||||||
|
// Force a refresh by temporarily setting dashboardArray to empty and then back
|
||||||
|
const tempArray = [...this.dashboardArray];
|
||||||
|
this.dashboardArray = [];
|
||||||
|
setTimeout(() => {
|
||||||
|
this.dashboardArray = tempArray;
|
||||||
|
}, 0);
|
||||||
|
}, 0);
|
||||||
|
|
||||||
// Note: We don't close the modal here, allowing the user to make additional changes
|
// Note: We don't close the modal here, allowing the user to make additional changes
|
||||||
// The user can click "Save" when they're done with all changes
|
// The user can click "Save" when they're done with all changes
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user