From 5f0594c93cacf5cc8aa66df5f553e8e6e6cde2b6 Mon Sep 17 00:00:00 2001 From: Gaurav Kumar Date: Mon, 3 Nov 2025 23:37:57 +0530 Subject: [PATCH] dynamic field --- .../chart-config-manager.component.ts | 21 +++++-------------- .../chart-config/dynamic-field.service.ts | 10 ++++++--- .../chart-type-fields.component.ts | 2 +- 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/chart-config-manager.component.ts b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/chart-config-manager.component.ts index c943fa5..1b7a85a 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/chart-config-manager.component.ts +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/chart-config-manager.component.ts @@ -609,23 +609,12 @@ export class ChartConfigManagerComponent implements OnInit { this.dynamicFieldLoadingState = ClrLoadingState.LOADING; - // Create a complete chartType object with only the ID - const chartTypeWithId = { - id: this.selectedChartType.id, - name: '', - displayName: '', - description: '', - isActive: true, - createdAt: '', - updatedAt: '' - }; + // Remove the chartType from the dynamic field data since we're passing it as a parameter + const dynamicFieldData = { ...this.newDynamicField }; + // Remove chartType property if it exists + delete (dynamicFieldData as any).chartType; - const dynamicFieldData = { - ...this.newDynamicField, - chartType: chartTypeWithId - }; - - this.dynamicFieldService.createDynamicField(dynamicFieldData).subscribe({ + this.dynamicFieldService.createDynamicField(dynamicFieldData, this.selectedChartType.id).subscribe({ next: (data) => { this.dynamicFields.push(data); this.newDynamicField = {}; diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/dynamic-field.service.ts b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/dynamic-field.service.ts index d48bc06..f43166f 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/dynamic-field.service.ts +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/dynamic-field.service.ts @@ -23,9 +23,13 @@ export class DynamicFieldService { return this.apiRequest.get(url); } - // Create new dynamic field - createDynamicField(dynamicField: Partial): Observable { - return this.apiRequest.post(this.dynamicFieldsUrl, dynamicField); + // Create new dynamic field with optional chart type ID as parameter + createDynamicField(dynamicField: Partial, chartTypeId?: number): Observable { + let url = this.dynamicFieldsUrl; + if (chartTypeId) { + url = `${this.dynamicFieldsUrl}?chartTypeId=${chartTypeId}`; + } + return this.apiRequest.post(url, dynamicField); } // Update dynamic field diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-type-manager/chart-type-fields.component.ts b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-type-manager/chart-type-fields.component.ts index 03258b8..ef4f13f 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-type-manager/chart-type-fields.component.ts +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-type-manager/chart-type-fields.component.ts @@ -105,7 +105,7 @@ export class ChartTypeFieldsComponent implements OnInit { }; this.loadingState = ClrLoadingState.LOADING; - this.dynamicFieldService.createDynamicField(fieldData).subscribe({ + this.dynamicFieldService.createDynamicField(fieldData, this.chartType.id).subscribe({ next: (data) => { this.dynamicFields.push(data); this.newDynamicField = { isRequired: false, showInUi: true };