diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.html b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.html index e69de29..d7b3c4a 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.html +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.html @@ -0,0 +1,33 @@ +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
\ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.scss b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.scss index e69de29..d58ef48 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.scss +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.scss @@ -0,0 +1,17 @@ +.chart-template-form { + padding: 20px; + background-color: #f9f9f9; + border-radius: 4px; + margin-bottom: 20px; +} + +.form-actions { + margin-top: 20px; + display: flex; + gap: 10px; +} + +textarea { + font-family: 'Courier New', monospace; + font-size: 12px; +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.ts b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.ts index e69de29..b488f33 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.ts +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-template-form.component.ts @@ -0,0 +1,22 @@ +import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { ChartTemplate } from '../chart-config-manager.component'; + +@Component({ + selector: 'app-chart-template-form', + templateUrl: './chart-template-form.component.html', + styleUrls: ['./chart-template-form.component.scss'] +}) +export class ChartTemplateFormComponent { + @Input() chartTemplate: Partial = {}; + @Input() isEdit = false; + @Output() save = new EventEmitter>(); + @Output() cancel = new EventEmitter(); + + onSubmit(): void { + this.save.emit(this.chartTemplate); + } + + onCancel(): void { + this.cancel.emit(); + } +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.html b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.html index e69de29..cad41f7 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.html +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.html @@ -0,0 +1,33 @@ +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
\ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.scss b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.scss index e69de29..2262bef 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.scss +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.scss @@ -0,0 +1,12 @@ +.chart-type-form { + padding: 20px; + background-color: #f9f9f9; + border-radius: 4px; + margin-bottom: 20px; +} + +.form-actions { + margin-top: 20px; + display: flex; + gap: 10px; +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.ts b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.ts index e69de29..9873aba 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.ts +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/chart-type-form.component.ts @@ -0,0 +1,22 @@ +import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { ChartType } from '../chart-config-manager.component'; + +@Component({ + selector: 'app-chart-type-form', + templateUrl: './chart-type-form.component.html', + styleUrls: ['./chart-type-form.component.scss'] +}) +export class ChartTypeFormComponent { + @Input() chartType: Partial = {}; + @Input() isEdit = false; + @Output() save = new EventEmitter>(); + @Output() cancel = new EventEmitter(); + + onSubmit(): void { + this.save.emit(this.chartType); + } + + onCancel(): void { + this.cancel.emit(); + } +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.html b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.html index e69de29..28ec0d6 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.html +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.html @@ -0,0 +1,28 @@ +
+
+ + + + + + + + + + + + + + + +
+ + +
+
+
\ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.scss b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.scss index e69de29..fa1b5ff 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.scss +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.scss @@ -0,0 +1,12 @@ +.component-property-form { + padding: 20px; + background-color: #f9f9f9; + border-radius: 4px; + margin-bottom: 20px; +} + +.form-actions { + margin-top: 20px; + display: flex; + gap: 10px; +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.ts b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.ts index e69de29..84e135f 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.ts +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/component-property-form.component.ts @@ -0,0 +1,31 @@ +import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { ComponentProperty } from '../chart-config-manager.component'; + +@Component({ + selector: 'app-component-property-form', + templateUrl: './component-property-form.component.html', + styleUrls: ['./component-property-form.component.scss'] +}) +export class ComponentPropertyFormComponent { + @Input() componentProperty: Partial = {}; + @Input() isEdit = false; + @Output() save = new EventEmitter>(); + @Output() cancel = new EventEmitter(); + + propertyTypes = [ + 'string', + 'number', + 'boolean', + 'array', + 'object', + 'function' + ]; + + onSubmit(): void { + this.save.emit(this.componentProperty); + } + + onCancel(): void { + this.cancel.emit(); + } +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.html b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.html index e69de29..4601665 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.html +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.html @@ -0,0 +1,54 @@ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
\ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.scss b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.scss index e69de29..7034d94 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.scss +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.scss @@ -0,0 +1,17 @@ +.dynamic-field-form { + padding: 20px; + background-color: #f9f9f9; + border-radius: 4px; + margin-bottom: 20px; +} + +.form-actions { + margin-top: 20px; + display: flex; + gap: 10px; +} + +textarea { + font-family: 'Courier New', monospace; + font-size: 12px; +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.ts b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.ts index e69de29..e5b43fe 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.ts +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/dynamic-field-form.component.ts @@ -0,0 +1,34 @@ +import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { DynamicField } from '../chart-config-manager.component'; + +@Component({ + selector: 'app-dynamic-field-form', + templateUrl: './dynamic-field-form.component.html', + styleUrls: ['./dynamic-field-form.component.scss'] +}) +export class DynamicFieldFormComponent { + @Input() dynamicField: Partial = {}; + @Input() isEdit = false; + @Output() save = new EventEmitter>(); + @Output() cancel = new EventEmitter(); + + fieldTypes = [ + 'text', + 'number', + 'email', + 'password', + 'date', + 'select', + 'checkbox', + 'radio', + 'textarea' + ]; + + onSubmit(): void { + this.save.emit(this.dynamicField); + } + + onCancel(): void { + this.cancel.emit(); + } +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.html b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.html index e69de29..fbc9bed 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.html +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.html @@ -0,0 +1,46 @@ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
\ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.scss b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.scss index e69de29..8cad11e 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.scss +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.scss @@ -0,0 +1,12 @@ +.ui-component-form { + padding: 20px; + background-color: #f9f9f9; + border-radius: 4px; + margin-bottom: 20px; +} + +.form-actions { + margin-top: 20px; + display: flex; + gap: 10px; +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.ts b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.ts index e69de29..edf7eff 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.ts +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/chart-config/forms/ui-component-form.component.ts @@ -0,0 +1,33 @@ +import { Component, Input, Output, EventEmitter } from '@angular/core'; +import { UiComponent } from '../chart-config-manager.component'; + +@Component({ + selector: 'app-ui-component-form', + templateUrl: './ui-component-form.component.html', + styleUrls: ['./ui-component-form.component.scss'] +}) +export class UiComponentFormComponent { + @Input() uiComponent: Partial = {}; + @Input() isEdit = false; + @Output() save = new EventEmitter>(); + @Output() cancel = new EventEmitter(); + + componentTypes = [ + 'input', + 'select', + 'checkbox', + 'radio', + 'textarea', + 'datepicker', + 'slider', + 'toggle' + ]; + + onSubmit(): void { + this.save.emit(this.uiComponent); + } + + onCancel(): void { + this.cancel.emit(); + } +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.html b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.html index e69de29..80d72c0 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.html +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.html @@ -0,0 +1,4 @@ +
+

Chart Configuration Manager

+ +
\ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.scss b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.scss index e69de29..74955f7 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.scss +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.scss @@ -0,0 +1,5 @@ +.chart-config-modal { + padding: 20px; + max-height: 80vh; + overflow-y: auto; +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.ts b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.ts index e69de29..ef2819b 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.ts +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/chart-config-modal.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-chart-config-modal', + templateUrl: './chart-config-modal.component.html', + styleUrls: ['./chart-config-modal.component.scss'] +}) +export class ChartConfigModalComponent { + // This component will be used to display the chart configuration manager in a modal +} \ No newline at end of file diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/editnewdash.component.html b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/editnewdash.component.html index e8896ac..8ab587f 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/editnewdash.component.html +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/editnewdash.component.html @@ -11,6 +11,9 @@ +
{{dashboardName}}
@@ -732,6 +735,15 @@ + + + + + diff --git a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/editnewdash.component.ts b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/editnewdash.component.ts index 3d0ac44..8e7b5ae 100644 --- a/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/editnewdash.component.ts +++ b/frontend/angular-clarity-master/src/app/modules/main/builder/dashboardnew/editnewdash/editnewdash.component.ts @@ -30,8 +30,6 @@ import { CompactFilterComponent } from '../common-filter'; import { FilterService } from '../common-filter/filter.service'; // Add the UnifiedChartComponent import import { UnifiedChartComponent } from '../gadgets/unified-chart'; -// Add the ChartConfigModalComponent import -import { ChartConfigModalComponent } from './chart-config-modal.component'; function isNullArray(arr) { return !Array.isArray(arr) || arr.length === 0; @@ -208,6 +206,9 @@ export class EditnewdashComponent implements OnInit { // Add drilldown column data property drilldownColumnData = []; // Add drilldown column data property + // Add property for chart config modal + chartConfigModalOpen: boolean = false; + constructor(private route: ActivatedRoute, private router: Router, private dashboardService: Dashboard3Service, @@ -2048,4 +2049,14 @@ export class EditnewdashComponent implements OnInit { } } + // Add method to open chart configuration manager + openChartConfigManager(): void { + this.chartConfigModalOpen = true; + } + + // Add method to close chart configuration manager + closeChartConfigManager(): void { + this.chartConfigModalOpen = false; + } + }