Commit 5cca44a4 by Ooh-Ao

perspective

parent de6dece3
......@@ -135,12 +135,7 @@ export class SyncfusionDatagridWidgetComponent extends BaseWidgetComponent imple
public cacheDuration: number = 300;
public dataTransform: string = '';
// Security properties
public requireAuth: boolean = false;
public allowedRoles: string = '';
public dataEncryption: boolean = false;
public auditLog: boolean = false;
public rateLimit: number = 0;
// Security properties (moved to new configuration section)
// Grid-specific properties
public enablePaging: boolean = true;
......@@ -164,6 +159,47 @@ export class SyncfusionDatagridWidgetComponent extends BaseWidgetComponent imple
public selectedRowColor: string = '#DBEAFE';
public hoverRowColor: string = '#F3F4F6';
// New configuration properties from SyncfusionDatagridConfigComponent
public allowPaging: boolean = true;
public allowPageSize: boolean = true;
public showPageInfo: boolean = true;
public allowPageNavigation: boolean = true;
public allowSorting: boolean = true;
public allowAdvancedFiltering: boolean = false;
public allowGrouping: boolean = false;
public allowResizing: boolean = true;
public allowSearching: boolean = false;
public allowSelection: boolean = false;
public allowMultiSelection: boolean = false;
public allowEditing: boolean = false;
public allowAdding: boolean = false;
public selectionMode: string = 'none';
public editMode: string = 'none';
public dataSourceType: string = 'local';
public enableVirtualization: boolean = false;
public enableInfiniteScroll: boolean = false;
public enableLazyLoad: boolean = false;
public rowHeight: number = 40;
public headerRowHeight: number = 40;
public showAlternateRows: boolean = false;
public allowRowSelection: boolean = false;
public showFilterBar: boolean = false;
public filterType: string = 'menu';
public filterBarHeight: number = 40;
public showAggregate: boolean = false;
public aggregateColumns: any[] = [];
public exportFormats: string[] = ['excel'];
public exportFilename: string = 'data-export';
public includeHeaders: boolean = true;
public includeFilters: boolean = false;
public requireAuth: boolean = false;
public allowedRoles: string = '';
public permissionLevel: string = 'read';
public dataEncryption: boolean = false;
public auditLog: boolean = false;
public rateLimit: number = 0;
public sessionTimeout: number = 30;
constructor(
protected override dashboardStateService: DashboardStateService,
private widgetStateService: WidgetStateService // Inject WidgetStateService
......@@ -306,6 +342,50 @@ export class SyncfusionDatagridWidgetComponent extends BaseWidgetComponent imple
this.selectedRowColor = this.configObj.selectedRowColor || '#DBEAFE';
this.hoverRowColor = this.configObj.hoverRowColor || '#F3F4F6';
// New configuration properties
this.allowPaging = this.configObj.allowPaging !== undefined ? this.configObj.allowPaging : true;
this.allowPageSize = this.configObj.allowPageSize !== undefined ? this.configObj.allowPageSize : true;
this.showPageInfo = this.configObj.showPageInfo !== undefined ? this.configObj.showPageInfo : true;
this.allowPageNavigation = this.configObj.allowPageNavigation !== undefined ? this.configObj.allowPageNavigation : true;
this.allowSorting = this.configObj.allowSorting !== undefined ? this.configObj.allowSorting : true;
this.allowMultiSorting = this.configObj.allowMultiSorting !== undefined ? this.configObj.allowMultiSorting : false;
this.allowAdvancedFiltering = this.configObj.allowAdvancedFiltering !== undefined ? this.configObj.allowAdvancedFiltering : false;
this.allowGrouping = this.configObj.allowGrouping !== undefined ? this.configObj.allowGrouping : false;
this.allowReordering = this.configObj.allowReordering !== undefined ? this.configObj.allowReordering : true;
this.allowResizing = this.configObj.allowResizing !== undefined ? this.configObj.allowResizing : true;
this.allowSearching = this.configObj.allowSearching !== undefined ? this.configObj.allowSearching : false;
this.allowSelection = this.configObj.allowSelection !== undefined ? this.configObj.allowSelection : false;
this.allowMultiSelection = this.configObj.allowMultiSelection !== undefined ? this.configObj.allowMultiSelection : false;
this.allowEditing = this.configObj.allowEditing !== undefined ? this.configObj.allowEditing : false;
this.allowAdding = this.configObj.allowAdding !== undefined ? this.configObj.allowAdding : false;
this.selectionMode = this.configObj.selectionMode || 'none';
this.editMode = this.configObj.editMode || 'none';
this.dataSourceType = this.configObj.dataSourceType || 'local';
this.enableVirtualization = this.configObj.enableVirtualization !== undefined ? this.configObj.enableVirtualization : false;
this.enableInfiniteScroll = this.configObj.enableInfiniteScroll !== undefined ? this.configObj.enableInfiniteScroll : false;
this.enableLazyLoad = this.configObj.enableLazyLoad !== undefined ? this.configObj.enableLazyLoad : false;
this.errorMessage = this.configObj.errorMessage || 'Failed to load data';
this.rowHeight = this.configObj.rowHeight || 40;
this.headerRowHeight = this.configObj.headerRowHeight || 40;
this.showAlternateRows = this.configObj.showAlternateRows !== undefined ? this.configObj.showAlternateRows : false;
this.allowRowSelection = this.configObj.allowRowSelection !== undefined ? this.configObj.allowRowSelection : false;
this.showFilterBar = this.configObj.showFilterBar !== undefined ? this.configObj.showFilterBar : false;
this.filterType = this.configObj.filterType || 'menu';
this.filterBarHeight = this.configObj.filterBarHeight || 40;
this.showAggregate = this.configObj.showAggregate !== undefined ? this.configObj.showAggregate : false;
this.aggregateColumns = this.configObj.aggregateColumns || [];
this.exportFormats = this.configObj.exportFormats || ['excel'];
this.exportFilename = this.configObj.exportFilename || 'data-export';
this.includeHeaders = this.configObj.includeHeaders !== undefined ? this.configObj.includeHeaders : true;
this.includeFilters = this.configObj.includeFilters !== undefined ? this.configObj.includeFilters : false;
this.requireAuth = this.configObj.requireAuth !== undefined ? this.configObj.requireAuth : false;
this.allowedRoles = this.configObj.allowedRoles || '';
this.permissionLevel = this.configObj.permissionLevel || 'read';
this.dataEncryption = this.configObj.dataEncryption !== undefined ? this.configObj.dataEncryption : false;
this.auditLog = this.configObj.auditLog !== undefined ? this.configObj.auditLog : false;
this.rateLimit = this.configObj.rateLimit || 0;
this.sessionTimeout = this.configObj.sessionTimeout || 30;
// Update page settings with configured page size
this.pageSettings = { pageSize: this.pageSize, pageSizes: this.pageSizes };
}
......
......@@ -99,26 +99,35 @@ export class SyncfusionPivotWidgetComponent extends BaseWidgetComponent implemen
public auditLog: boolean = false;
public rateLimit: number = 0;
// Pivot-specific properties
// Pivot-specific properties from SyncfusionPivotConfigComponent
public displayOptionView: string = 'Both';
public chartType: string = 'Column';
public showFieldList: boolean = true;
public showToolbar: boolean = true;
public showGroupingBar: boolean = true;
public allowCalculatedField: boolean = true;
public allowConditionalFormatting: boolean = true;
public showPager: boolean = true;
public allowCalculatedField: boolean = false;
public allowConditionalFormatting: boolean = false;
public allowNumberFormatting: boolean = true;
public allowFieldDragDrop: boolean = true;
public allowSubTotal: boolean = true;
public allowGrandTotal: boolean = true;
public allowDrillThrough: boolean = false;
public allowSorting: boolean = true;
public allowExcelExport: boolean = true;
public allowPdfExport: boolean = true;
public allowCsvExport: boolean = true;
public allowPrint: boolean = true;
public aggregationType: string = 'sum';
public numberFormat: string = 'N';
public enableVirtualization: boolean = false;
public enableLazyLoad: boolean = false;
// Pivot-specific properties (moved to above section)
public showChart: boolean = true;
public showGrid: boolean = true;
public displayOptionView: string = 'Both';
public chartType: string = 'Column';
public enableDrillThrough: boolean = true;
public enableSorting: boolean = true;
public enableFiltering: boolean = true;
public enableGrouping: boolean = true;
public allowFiltering: boolean = true;
constructor(
protected override dashboardStateService: DashboardStateService,
......@@ -151,6 +160,8 @@ export class SyncfusionPivotWidgetComponent extends BaseWidgetComponent implemen
applyInitialConfig(): void {
// Basic configuration
this.title = this.configObj.title || 'Pivot Table';
this.displayOptionView = this.configObj.displayOptionView || 'Both';
this.chartType = this.configObj.chartType || 'Column';
this.chartSettings = this.configObj.chartSettings || {
chartSeries: { type: this.chartType }
};
......@@ -164,6 +175,26 @@ export class SyncfusionPivotWidgetComponent extends BaseWidgetComponent implemen
chartSettings: this.chartSettings,
};
// Pivot features configuration
this.showFieldList = this.configObj.showFieldList !== undefined ? this.configObj.showFieldList : true;
this.showToolbar = this.configObj.showToolbar !== undefined ? this.configObj.showToolbar : true;
this.showGroupingBar = this.configObj.showGroupingBar !== undefined ? this.configObj.showGroupingBar : true;
this.showPager = this.configObj.showPager !== undefined ? this.configObj.showPager : true;
this.allowCalculatedField = this.configObj.allowCalculatedField !== undefined ? this.configObj.allowCalculatedField : false;
this.allowConditionalFormatting = this.configObj.allowConditionalFormatting !== undefined ? this.configObj.allowConditionalFormatting : false;
this.allowNumberFormatting = this.configObj.allowNumberFormatting !== undefined ? this.configObj.allowNumberFormatting : true;
this.allowFieldDragDrop = this.configObj.allowFieldDragDrop !== undefined ? this.configObj.allowFieldDragDrop : true;
this.allowSubTotal = this.configObj.allowSubTotal !== undefined ? this.configObj.allowSubTotal : true;
this.allowGrandTotal = this.configObj.allowGrandTotal !== undefined ? this.configObj.allowGrandTotal : true;
this.allowDrillThrough = this.configObj.allowDrillThrough !== undefined ? this.configObj.allowDrillThrough : false;
this.allowSorting = this.configObj.allowSorting !== undefined ? this.configObj.allowSorting : true;
this.allowExcelExport = this.configObj.allowExcelExport !== undefined ? this.configObj.allowExcelExport : true;
this.allowPdfExport = this.configObj.allowPdfExport !== undefined ? this.configObj.allowPdfExport : true;
this.allowCsvExport = this.configObj.allowCsvExport !== undefined ? this.configObj.allowCsvExport : true;
this.allowPrint = this.configObj.allowPrint !== undefined ? this.configObj.allowPrint : true;
this.aggregationType = this.configObj.aggregationType || 'sum';
this.numberFormat = this.configObj.numberFormat || 'N';
// Style configuration
this.backgroundColor = this.configObj.backgroundColor || '#FFFFFF';
this.borderColor = this.configObj.borderColor || '#E5E7EB';
......@@ -238,9 +269,9 @@ export class SyncfusionPivotWidgetComponent extends BaseWidgetComponent implemen
this.showGrid = this.configObj.showGrid !== undefined ? this.configObj.showGrid : true;
this.displayOptionView = this.configObj.displayOptionView || 'Both';
this.chartType = this.configObj.chartType || 'Column';
this.enableDrillThrough = this.configObj.enableDrillThrough !== undefined ? this.configObj.enableDrillThrough : true;
this.enableSorting = this.configObj.enableSorting !== undefined ? this.configObj.enableSorting : true;
this.enableFiltering = this.configObj.enableFiltering !== undefined ? this.configObj.enableFiltering : true;
this.allowDrillThrough = this.configObj.allowDrillThrough !== undefined ? this.configObj.allowDrillThrough : true;
this.allowSorting = this.configObj.allowSorting !== undefined ? this.configObj.allowSorting : true;
this.allowFiltering = this.configObj.allowFiltering !== undefined ? this.configObj.allowFiltering : true;
this.enableGrouping = this.configObj.enableGrouping !== undefined ? this.configObj.enableGrouping : true;
// Update toolbar and display options based on configuration
......@@ -400,9 +431,9 @@ export class SyncfusionPivotWidgetComponent extends BaseWidgetComponent implemen
this.showGrid = true;
this.displayOptionView = 'Both';
this.chartType = 'Column';
this.enableDrillThrough = true;
this.enableSorting = true;
this.enableFiltering = true;
this.allowDrillThrough = true;
this.allowSorting = true;
this.allowFiltering = true;
this.enableGrouping = true;
// Update toolbar and display options
......
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