@masterteam/dashboard-builder 0.0.40 → 0.0.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,7 @@ import { MTMenuItem } from '@masterteam/components/menu';
8
8
  import * as _angular_forms from '@angular/forms';
9
9
  import { ControlValueAccessor, FormGroup, FormArray, ValidationErrors } from '@angular/forms';
10
10
  import { MTIcon } from '@masterteam/icons';
11
+ import { TimelineScaleMode, TimelineColumnConfig, TimelineGanttMapping } from '@masterteam/timeline';
11
12
  import { EntityData as EntityData$1 } from '@masterteam/components/entities';
12
13
  import * as rxjs from 'rxjs';
13
14
  import { Observable } from 'rxjs';
@@ -69,13 +70,6 @@ interface ServiceItem {
69
70
  interface ModulesTreeResponse {
70
71
  services: ServiceItem[];
71
72
  }
72
- /**
73
- * Workspace option returned by gateway metadata.
74
- */
75
- interface WorkspaceOption {
76
- id: string | number;
77
- name: string;
78
- }
79
73
  /**
80
74
  * Grouped module option for select dropdown
81
75
  */
@@ -513,6 +507,7 @@ type ItemCardMenuAction = {
513
507
  };
514
508
  declare class ItemCardMenuComponent {
515
509
  private readonly transloco;
510
+ private readonly filtersActionVisible;
516
511
  /** Whether to allow duplicate (excluded for layout/group widgets). */
517
512
  readonly allowDuplicate: _angular_core.InputSignal<boolean>;
518
513
  /** Whether the chart has a linked dialog already. */
@@ -2199,6 +2194,7 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2199
2194
  private applyingDashboardData;
2200
2195
  private emittingDashboardData;
2201
2196
  private lastExtraFiltersSignature;
2197
+ private lastLoadedPageKey;
2202
2198
  private lastStandaloneDashboardSignature;
2203
2199
  private readonly boundHandleDragOver;
2204
2200
  private readonly boundHandleDrop;
@@ -2208,7 +2204,7 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2208
2204
  ngOnDestroy(): void;
2209
2205
  private setupEventListeners;
2210
2206
  private removeEventListeners;
2211
- private loadPageIfNeeded;
2207
+ private loadCurrentPageIfNeeded;
2212
2208
  loadPage(id: string | number): void;
2213
2209
  saveDash(options?: {
2214
2210
  silent?: boolean;
@@ -2228,6 +2224,8 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2228
2224
  onSelect(chart: DashboardChartItem, event: MouseEvent): void;
2229
2225
  pasteSelectedCharts(): void;
2230
2226
  private pasteItemInChart;
2227
+ private prefetchModulesTree;
2228
+ private resolveWorkspaceId;
2231
2229
  addItem(): void;
2232
2230
  /**
2233
2231
  * Pass 7 — primary data-config entry point. The center "Configure
@@ -2248,6 +2246,7 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2248
2246
  * re-renders it, and emits to the host.
2249
2247
  */
2250
2248
  private applyChartConfigUpdate;
2249
+ private isSameDashboardItem;
2251
2250
  /**
2252
2251
  * Pass 7 — sole card-menu action handler. The kebab emits a single
2253
2252
  * `ItemCardMenuAction` and the host routes each id to one obvious owner:
@@ -2255,7 +2254,7 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2255
2254
  * - configure-datasource → ManageItem (advanced editor)
2256
2255
  * - style → ChartSettingsDrawer
2257
2256
  * - filters → ChartFilterDrawer
2258
- * - edit-title → focuses the inline title input on the card
2257
+ * - edit-title → multilingual title editor
2259
2258
  * - duplicate / delete → host helpers
2260
2259
  * - dialog-* → linked-dialog actions (only present when
2261
2260
  * the chart is configured to open a dialog)
@@ -2264,16 +2263,8 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2264
2263
  * a separate popover/wizard.
2265
2264
  */
2266
2265
  onItemCardMenuAction(chart: DashboardChartItem, action: ItemCardMenuAction): void;
2267
- /**
2268
- * Pass 7 — focus the inline title input for the given chart. Both the
2269
- * unconfigured chart surface (`dashboard-item.html` overlay) and the
2270
- * configured chart heading (`card-content.component.html`) carry
2271
- * `data-dashboard-action="edit-title"`; the gridster-item carries the
2272
- * matching `data-chart-id`. The kebab's "Edit title" entry routes here
2273
- * without opening any other surface.
2274
- */
2275
- private requestEditTitle;
2276
2266
  requestLayoutTitleEdit(chart: DashboardChartItem, event: Event): void;
2267
+ private openTitleEditor;
2277
2268
  /** Whether the chart has a linked dialog (Manage menu shows dialog entries). */
2278
2269
  hasLinkedDialog(chart: DashboardChartItem): boolean;
2279
2270
  /** Whether the chart can have a linked dialog added (chart cards that aren't dialogs themselves). */
@@ -2282,8 +2273,10 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2282
2273
  duplicateChart(chart: DashboardChartItem): void;
2283
2274
  /** Whether the kebab menu should appear on this chart card. */
2284
2275
  showContextToolbar(chart: DashboardChartItem): boolean;
2276
+ isPropertiesListChart(chart: DashboardChartItem): boolean;
2285
2277
  editItem(chart: DashboardChartItem, parentItem?: DashboardChartItem, defaultTab?: 'general' | 'dataSource' | 'actions'): void;
2286
2278
  deleteItem(chart: DashboardChartItem): void;
2279
+ private confirmDelete;
2287
2280
  private removeChartLocally;
2288
2281
  newChart(value: any): void;
2289
2282
  editChart(value: any): void;
@@ -2323,7 +2316,22 @@ declare class DashboardBuilder implements OnInit, OnDestroy {
2323
2316
  private newChartWithSize;
2324
2317
  openBreadcrumb(item: DashboardChartItem): void;
2325
2318
  openManageFilter(): void;
2319
+ private applyBulkSelectionFilters;
2320
+ private applyBulkSelectionFiltersToItem;
2321
+ private applyBulkPropertyTranslations;
2322
+ private applyPropertyTranslationsToItem;
2323
+ private mergeSelectionFilters;
2324
+ private removeSelectionFilters;
2325
+ private sameSelectionFilter;
2326
+ private filtersEqual;
2327
+ private selectionsOverlap;
2328
+ private getSelectionSelectors;
2326
2329
  addDialogForChart(chart: DashboardChartItem): void;
2330
+ private toDialogTableQuery;
2331
+ private buildDialogAggregationProperties;
2332
+ private extractSeriesProperties;
2333
+ private toPropertyArray;
2334
+ private uniqueProperties;
2327
2335
  editOnDialogForChart(chart: DashboardChartItem): void;
2328
2336
  deleteDialogFromChart(chart: DashboardChartItem): void;
2329
2337
  /** Open chart settings drawer for item configuration */
@@ -2415,6 +2423,8 @@ declare class DashboardViewer implements OnInit, OnDestroy {
2415
2423
  readonly layoutHeight: _angular_core.Signal<string>;
2416
2424
  private subscription;
2417
2425
  private readonly rowHeight;
2426
+ private readonly rowGap;
2427
+ private readonly bottomSafeArea;
2418
2428
  private lastExtraFiltersSignature;
2419
2429
  private readonly hasSplitPreloadedData;
2420
2430
  private dashboardDataEffect;
@@ -3137,6 +3147,9 @@ type FilterFieldType = 'dropdownTVService' | 'lookup' | 'status' | 'phaseGate' |
3137
3147
  /** Selection item for dropdown configuration */
3138
3148
  interface FilterSelectionItem {
3139
3149
  id: number;
3150
+ service?: string | null;
3151
+ selector?: string | null;
3152
+ selectorName?: string | null;
3140
3153
  moduleType?: string;
3141
3154
  moduleId?: number;
3142
3155
  filters?: any[];
@@ -3255,6 +3268,10 @@ declare class DynamicFiltersComponent implements OnInit {
3255
3268
  * Handle field value change
3256
3269
  */
3257
3270
  onFieldChange(field: DynamicFilterField, value: any): void;
3271
+ applyFilters(): void;
3272
+ clearFilters(): void;
3273
+ private compactValues;
3274
+ private mergeOwnFilterValues;
3258
3275
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFiltersComponent, never>;
3259
3276
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFiltersComponent, "mt-dynamic-filters", never, { "fields": { "alias": "fields"; "required": false; "isSignal": true; }; "dashboardId": { "alias": "dashboardId"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; "filtersChange": "filtersChange"; }, never, never, true, never>;
3260
3277
  }
@@ -3363,8 +3380,12 @@ declare class ChartCardComponent implements OnInit, OnDestroy {
3363
3380
  readonly timelineEvents: _angular_core.Signal<any[]>;
3364
3381
  readonly timelineResources: _angular_core.Signal<any[]>;
3365
3382
  readonly timelineLabels: _angular_core.Signal<any[]>;
3366
- readonly timelineEventsLimited: _angular_core.Signal<any[]>;
3367
- readonly timelineEventsTruncated: _angular_core.Signal<boolean>;
3383
+ readonly timelineLegendIconType: _angular_core.Signal<string>;
3384
+ readonly timelineHeaderBgColor: _angular_core.Signal<string | null>;
3385
+ readonly timelineHeaderTextColor: _angular_core.Signal<string | null>;
3386
+ readonly timelineMode: _angular_core.WritableSignal<TimelineScaleMode>;
3387
+ readonly timelineColumns: _angular_core.Signal<TimelineColumnConfig<unknown, unknown>[]>;
3388
+ readonly timelineGanttMapping: TimelineGanttMapping<any>;
3368
3389
  readonly hasPhaseGateData: _angular_core.Signal<boolean>;
3369
3390
  readonly phaseGateSteps: _angular_core.Signal<any[]>;
3370
3391
  readonly phaseGateCurrentIndex: _angular_core.Signal<number>;
@@ -3373,10 +3394,17 @@ declare class ChartCardComponent implements OnInit, OnDestroy {
3373
3394
  ngOnInit(): void;
3374
3395
  ngOnDestroy(): void;
3375
3396
  onChartClick(event: any): void;
3397
+ onTimelineItemClick(resource: any): void;
3376
3398
  onHeaderClick(): void;
3377
3399
  onConfigureClick(event: Event): void;
3378
3400
  /** Format an ISO date for inline timeline display. */
3379
3401
  formatDate(value: any): string;
3402
+ private resolveTimelineMode;
3403
+ private getTimelineEventForResource;
3404
+ private resolveTimelineProgress;
3405
+ private resolveTimelineColor;
3406
+ private resolveTimelineStatus;
3407
+ private toDisplayText;
3380
3408
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartCardComponent, never>;
3381
3409
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartCardComponent, "mt-chart-card", never, { "dashboardId": { "alias": "dashboardId"; "required": true; "isSignal": true; }; "inGroup": { "alias": "inGroup"; "required": false; "isSignal": true; }; "isConfigMode": { "alias": "isConfigMode"; "required": false; "isSignal": true; }; "titleEditable": { "alias": "titleEditable"; "required": false; "isSignal": true; }; }, { "onAction": "onAction"; "onConfigure": "onConfigure"; "onTitleChange": "onTitleChange"; }, never, never, true, never>;
3382
3410
  }
@@ -3430,7 +3458,8 @@ declare class EChartComponent implements OnInit, AfterViewInit, OnChanges, OnDes
3430
3458
  /** Chart class */
3431
3459
  readonly chartClass: _angular_core.Signal<"chart" | "chart-scroll">;
3432
3460
  /** Show custom legend */
3433
- readonly showCustomLegend: _angular_core.Signal<any>;
3461
+ readonly showCustomLegend: _angular_core.Signal<boolean>;
3462
+ readonly customLegendIconIsRect: _angular_core.Signal<boolean>;
3434
3463
  constructor();
3435
3464
  ngOnInit(): Promise<void>;
3436
3465
  ngAfterViewInit(): void;
@@ -3440,6 +3469,7 @@ declare class EChartComponent implements OnInit, AfterViewInit, OnChanges, OnDes
3440
3469
  * Process legends for custom legend display
3441
3470
  */
3442
3471
  private processLegends;
3472
+ private hasPieSeries;
3443
3473
  /**
3444
3474
  * Toggle legend item visibility
3445
3475
  */
@@ -3480,6 +3510,13 @@ declare class EChartComponent implements OnInit, AfterViewInit, OnChanges, OnDes
3480
3510
  */
3481
3511
  getChartInstance(): EChartsType | null;
3482
3512
  private applyResponsiveOptions;
3513
+ private applyResponsiveGrid;
3514
+ private ensureGridSide;
3515
+ private applyResponsiveAxisLabel;
3516
+ private resolveAxisLabelRotate;
3517
+ private getResponsiveCategoryLabelWidth;
3518
+ private resolveChartFontFamily;
3519
+ private resolveChartFontSizes;
3483
3520
  private resolveConfiguredLegendSide;
3484
3521
  private resolveEffectiveLegendSide;
3485
3522
  private hasVisibleLegend;
@@ -3490,6 +3527,7 @@ declare class EChartComponent implements OnInit, AfterViewInit, OnChanges, OnDes
3490
3527
  private isCenteredLegendCoordinate;
3491
3528
  private getResponsiveGridOffsets;
3492
3529
  private applyResponsiveLegend;
3530
+ private applyConfiguredLegend;
3493
3531
  private mapLegendConfig;
3494
3532
  private applyLegendSideCoordinates;
3495
3533
  private estimateCategoryCount;
@@ -3616,6 +3654,12 @@ declare class PropertiesCardComponent implements OnInit, OnDestroy {
3616
3654
  private getCardProps;
3617
3655
  private orderProperties;
3618
3656
  private buildEntities;
3657
+ private buildPropertyTemplateMap;
3658
+ private createPlaceholderProperty;
3659
+ private resolveEntityValue;
3660
+ private resolveEntityViewType;
3661
+ private isEntityValueMissing;
3662
+ private humanizePropertyKey;
3619
3663
  private resolveTabLabel;
3620
3664
  private readString;
3621
3665
  private resolveEntityName;
@@ -3802,6 +3846,16 @@ declare class StatisticCardComponent implements OnInit {
3802
3846
  readonly fontSizeValue: _angular_core.Signal<string | undefined>;
3803
3847
  /** Font size for title */
3804
3848
  readonly fontSizeTitle: _angular_core.Signal<string | undefined>;
3849
+ /** Value text styles */
3850
+ readonly valueStyles: _angular_core.Signal<Record<string, any>>;
3851
+ /** Title text styles */
3852
+ readonly titleStyles: _angular_core.Signal<Record<string, any>>;
3853
+ /** Subtitle text styles */
3854
+ readonly subtitleStyles: _angular_core.Signal<{
3855
+ color: any;
3856
+ } | {
3857
+ color?: undefined;
3858
+ }>;
3805
3859
  /** Card styles */
3806
3860
  readonly cardStyles: _angular_core.Signal<Record<string, any>>;
3807
3861
  /** Border top style */
@@ -3827,12 +3881,22 @@ interface TableColumn {
3827
3881
  keyPure?: string;
3828
3882
  label: string;
3829
3883
  viewType?: string;
3830
- columnType?: 'entity' | 'actions' | 'template' | 'drag';
3884
+ columnType?: 'entity' | 'actions' | 'template' | 'drag' | 'phaseGate';
3831
3885
  hideColumn?: boolean;
3832
3886
  width?: string;
3833
3887
  isSort?: boolean;
3834
3888
  isAsc?: boolean;
3835
3889
  }
3890
+ interface PhaseGateCell {
3891
+ phaseName: string;
3892
+ statusLabel: string;
3893
+ statusColor: string;
3894
+ percentage: number | null;
3895
+ isCurrent: boolean;
3896
+ isCompleted: boolean;
3897
+ allItemsCompleted: boolean;
3898
+ raw: any;
3899
+ }
3836
3900
  interface TableStyleConfig {
3837
3901
  thTextColor?: string;
3838
3902
  thBackgroundColor?: string;
@@ -3847,7 +3911,22 @@ interface TableStyleConfig {
3847
3911
  hideTableSubheader?: boolean;
3848
3912
  hideIndex?: boolean;
3849
3913
  }
3914
+ interface TableVirtualRow {
3915
+ trackId: string;
3916
+ row: any;
3917
+ rowIndex: number;
3918
+ }
3919
+ interface GroupedTableVirtualItem {
3920
+ kind: 'group' | 'row';
3921
+ trackId: string;
3922
+ group: any;
3923
+ groupIndex: number;
3924
+ row?: any;
3925
+ rowIndex?: number;
3926
+ }
3850
3927
  declare class TableCardComponent implements OnInit, OnDestroy {
3928
+ private readonly virtualRowHeightPx;
3929
+ private readonly virtualOverscanRows;
3851
3930
  private readonly storeService;
3852
3931
  private readonly transloco;
3853
3932
  private readonly subscription;
@@ -3874,6 +3953,10 @@ declare class TableCardComponent implements OnInit, OnDestroy {
3874
3953
  readonly tableRows: _angular_core.WritableSignal<any[]>;
3875
3954
  /** Grouped data */
3876
3955
  readonly groupedData: _angular_core.WritableSignal<any[]>;
3956
+ /** Virtual scroll offset for the native dashboard table renderer. */
3957
+ readonly tableScrollTop: _angular_core.WritableSignal<number>;
3958
+ /** Current table viewport height. Defaults to the timeline/card body size. */
3959
+ readonly tableViewportHeight: _angular_core.WritableSignal<number>;
3877
3960
  /** Title */
3878
3961
  readonly title: _angular_core.Signal<string>;
3879
3962
  /** Table style config */
@@ -3888,10 +3971,29 @@ declare class TableCardComponent implements OnInit, OnDestroy {
3888
3971
  readonly visibleColumns: _angular_core.Signal<TableColumn[]>;
3889
3972
  /** Total columns (for colspan) */
3890
3973
  readonly totalColumns: _angular_core.Signal<number>;
3974
+ readonly flatVirtualWindow: _angular_core.Signal<{
3975
+ startIndex: number;
3976
+ endIndex: number;
3977
+ }>;
3978
+ readonly visibleTableRows: _angular_core.Signal<TableVirtualRow[]>;
3979
+ readonly flatVirtualTopSpacerHeightPx: _angular_core.Signal<number>;
3980
+ readonly flatVirtualBottomSpacerHeightPx: _angular_core.Signal<number>;
3981
+ readonly flattenedGroupedRows: _angular_core.Signal<GroupedTableVirtualItem[]>;
3982
+ readonly groupedVirtualWindow: _angular_core.Signal<{
3983
+ startIndex: number;
3984
+ endIndex: number;
3985
+ }>;
3986
+ readonly visibleGroupedRows: _angular_core.Signal<GroupedTableVirtualItem[]>;
3987
+ readonly groupedVirtualTopSpacerHeightPx: _angular_core.Signal<number>;
3988
+ readonly groupedVirtualBottomSpacerHeightPx: _angular_core.Signal<number>;
3891
3989
  /** Row clickable */
3892
3990
  readonly isRowClickable: _angular_core.Signal<boolean | undefined>;
3893
3991
  ngOnInit(): void;
3894
3992
  ngOnDestroy(): void;
3993
+ onTableScroll(event: Event): void;
3994
+ private resolveVirtualWindow;
3995
+ private resolveRowTrackId;
3996
+ private resolveGroupTrackId;
3895
3997
  /**
3896
3998
  * Build table columns and rows from raw data
3897
3999
  * Matches old buildTable logic in table-card.component.ts
@@ -3905,6 +4007,16 @@ declare class TableCardComponent implements OnInit, OnDestroy {
3905
4007
  * Build grouped table
3906
4008
  */
3907
4009
  private buildGroupedTable;
4010
+ private isPhaseGateTable;
4011
+ private buildPhaseGateTable;
4012
+ private extractPhaseGateValues;
4013
+ private findLargestRow;
4014
+ private resolvePhaseGateFields;
4015
+ private findFirstFieldValue;
4016
+ private isPhaseGateMetaField;
4017
+ private toPhaseColumnKey;
4018
+ private getPhaseGateGroupKey;
4019
+ private buildPhaseGateCell;
3908
4020
  getLegendColor(label: any): string;
3909
4021
  getLegendText(label: any): string;
3910
4022
  private extractLabels;
@@ -3913,6 +4025,12 @@ declare class TableCardComponent implements OnInit, OnDestroy {
3913
4025
  * Returns the full entity data object { viewType, value, label }
3914
4026
  */
3915
4027
  getCellData(row: any, column: TableColumn): any;
4028
+ isPhaseGateColumn(column: TableColumn): boolean;
4029
+ getPhaseGateCell(row: any, column: TableColumn): PhaseGateCell | null;
4030
+ getPhaseGateCellColor(cell: PhaseGateCell | null): string;
4031
+ getPhaseGateCellText(cell: PhaseGateCell | null): string;
4032
+ getPhaseGatePercentage(cell: PhaseGateCell | null): number | null;
4033
+ getPhaseGateCellTooltip(cell: PhaseGateCell | null): string;
3916
4034
  /**
3917
4035
  * Sort column
3918
4036
  */
@@ -4110,6 +4228,7 @@ declare class ChartDataService {
4110
4228
  * Build HTTP request based on request type
4111
4229
  */
4112
4230
  private buildRequest;
4231
+ private resolveRequestType;
4113
4232
  /**
4114
4233
  * Merge service config filters with runtime filters
4115
4234
  */
@@ -4211,6 +4330,9 @@ declare class BarChartHandler {
4211
4330
  * Transforms bar chart data into entity preview format (flat array of properties)
4212
4331
  */
4213
4332
  handleEntityPreviewWithFormula(dataResponse: any, config: ItemConfig): any;
4333
+ private normalizeLegendPosition;
4334
+ private getLegendLayout;
4335
+ private getLegendGridOffset;
4214
4336
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BarChartHandler, never>;
4215
4337
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<BarChartHandler>;
4216
4338
  }
@@ -4222,6 +4344,13 @@ declare class PieChartHandler {
4222
4344
  * Returns ECharts option directly (exactly like old DountChartService.handleDonutChart)
4223
4345
  */
4224
4346
  handleDonutChart(dataResponse: any, config: ItemConfig): any;
4347
+ private resolvePieLabelFormatter;
4348
+ private normalizePieLabelPosition;
4349
+ private pieLabelFormatterUsesName;
4350
+ private normalizeLegendPosition;
4351
+ private applyPieLegendPosition;
4352
+ private hasExplicitPieCenter;
4353
+ private getPieCenterForLegendPosition;
4225
4354
  /**
4226
4355
  * Normalize chart data - aggregate duplicate labels
4227
4356
  * Exactly matches old DountChartService.normalizeChartData
@@ -4367,6 +4496,9 @@ declare class LineChartHandler {
4367
4496
  * Build ECharts configuration
4368
4497
  */
4369
4498
  private buildChartOption;
4499
+ private normalizeLegendPosition;
4500
+ private getLegendLayout;
4501
+ private getLegendGridOffset;
4370
4502
  /**
4371
4503
  * Get default color for series index
4372
4504
  */
@@ -4396,6 +4528,9 @@ declare class SnapshotHandler {
4396
4528
  * Returns ECharts option directly
4397
4529
  */
4398
4530
  handleSnapShotLineBarChart(data: any, config: ItemConfig): any;
4531
+ private normalizeLegendPosition;
4532
+ private getLegendLayout;
4533
+ private getLegendGridOffset;
4399
4534
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SnapshotHandler, never>;
4400
4535
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<SnapshotHandler>;
4401
4536
  }
@@ -4442,6 +4577,9 @@ declare class ComparisonChartHandler {
4442
4577
  * Build Planned vs Actual chart with variance indicators
4443
4578
  */
4444
4579
  private buildPlannedActualChart;
4580
+ private normalizeLegendPosition;
4581
+ private getLegendLayout;
4582
+ private getLegendGridOffset;
4445
4583
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComparisonChartHandler, never>;
4446
4584
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<ComparisonChartHandler>;
4447
4585
  }
@@ -4532,6 +4670,8 @@ declare class MapChartHandler {
4532
4670
  * Returns ECharts option directly
4533
4671
  */
4534
4672
  handleMapChart(dataResponse: any, config: ItemConfig): any;
4673
+ private normalizeLegendPosition;
4674
+ private getLegendLayout;
4535
4675
  /**
4536
4676
  * handleLeafletMap - matches functionName from CHART_TYPES
4537
4677
  * Returns data directly as array of grouped records
@@ -4662,6 +4802,9 @@ declare class SPlusChartHandler {
4662
4802
  * Get color based on status
4663
4803
  */
4664
4804
  private getStatusColor;
4805
+ private normalizeLegendPosition;
4806
+ private getLegendLayout;
4807
+ private getLegendGridOffset;
4665
4808
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SPlusChartHandler, never>;
4666
4809
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<SPlusChartHandler>;
4667
4810
  }
@@ -5076,6 +5219,8 @@ declare class DashboardBuilderService {
5076
5219
  readonly filters: _angular_core.WritableSignal<any[]>;
5077
5220
  /** Chart for selected dialog */
5078
5221
  readonly chartForSelectedDialog: _angular_core.WritableSignal<any>;
5222
+ /** Dialog configs available to runtime action handling, keyed by dashboardId. */
5223
+ readonly dialogConfigs: _angular_core.WritableSignal<Map<string | number, ItemConfig>>;
5079
5224
  /**
5080
5225
  * Selector to Name mapping (e.g., "Level:7" -> "Project")
5081
5226
  * Built from tree data, used to resolve selectorName for properties
@@ -5090,8 +5235,9 @@ declare class DashboardBuilderService {
5090
5235
  */
5091
5236
  readonly modulesTreeServices: _angular_core.WritableSignal<readonly string[] | null>;
5092
5237
  /**
5093
- * Selected workspace for metadata requests. Hosts with workspace-aware
5094
- * metadata can set it through the data-source UI; older hosts ignore it.
5238
+ * Optional saved workspace scope for module/property metadata requests.
5239
+ * Dashboard Builder preserves existing configs, but does not fetch workspace
5240
+ * options from metadata.
5095
5241
  */
5096
5242
  readonly modulesTreeWorkspaceId: _angular_core.WritableSignal<string | number | null>;
5097
5243
  /**
@@ -5103,6 +5249,7 @@ declare class DashboardBuilderService {
5103
5249
  private urlPrefix;
5104
5250
  /** Module tree requests are shared per services/workspace key. */
5105
5251
  private readonly modulesTreeCache;
5252
+ private readonly modulesTreeDataCache;
5106
5253
  /** HTTP context for gateway requests */
5107
5254
  private gatewayContext;
5108
5255
  constructor();
@@ -5126,6 +5273,8 @@ declare class DashboardBuilderService {
5126
5273
  * Clear all fixed selections
5127
5274
  */
5128
5275
  clearFixedSelections(): void;
5276
+ setDialogItems(dialogs: DashboardDialogItem[] | null | undefined): void;
5277
+ getDialogConfig(dialogId: string | number | null | undefined): ItemConfig | null;
5129
5278
  setModulesTreeServices(services: readonly string[] | null | undefined): void;
5130
5279
  setModulesTreeWorkspaceId(workspaceId: string | number | null | undefined): void;
5131
5280
  /**
@@ -5207,16 +5356,13 @@ declare class DashboardBuilderService {
5207
5356
  * Get all available services from gateway
5208
5357
  */
5209
5358
  getMetadataServices(): Observable<ApiResponse<any[]>>;
5210
- /**
5211
- * Get workspace options from gateway metadata. Older gateways may not expose
5212
- * this route; callers should treat failures as "no workspace filter".
5213
- */
5214
- getWorkspaces(): Observable<ApiResponse<WorkspaceOption[]>>;
5215
5359
  /**
5216
5360
  * Get modules tree with all services, modules, and values in a single call
5217
5361
  * This returns the complete tree structure for efficient caching
5218
5362
  */
5219
5363
  getModulesTree(request?: ModulesTreeRequest): Observable<ApiResponse<ModulesTreeResponse>>;
5364
+ getCachedModulesTree(request?: ModulesTreeRequest): ServiceItem[] | null;
5365
+ private getModulesTreeCacheKey;
5220
5366
  /**
5221
5367
  * Get modules for a specific service
5222
5368
  * @param serviceName The service name (e.g., 'pplus')
@@ -5387,6 +5533,9 @@ declare class ManageBreadcrumb implements OnInit {
5387
5533
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ManageBreadcrumb, "mt-manage-breadcrumb", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5388
5534
  }
5389
5535
 
5536
+ interface ManageFilterOnPageResult {
5537
+ filters: FilterField[];
5538
+ }
5390
5539
  /**
5391
5540
  * Manage Filter On Page Component
5392
5541
  *
@@ -5430,7 +5579,20 @@ declare class ManageFilterOnPage implements OnInit {
5430
5579
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ManageFilterOnPage, "mt-manage-filter-on-page", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "lookups": { "alias": "lookups"; "required": false; "isSignal": true; }; "levelsSchema": { "alias": "levelsSchema"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5431
5580
  }
5432
5581
 
5582
+ interface ModuleProperties$1 {
5583
+ moduleName: string;
5584
+ selectorName: string | null;
5585
+ selector: string;
5586
+ properties: IProperty[];
5587
+ }
5433
5588
  declare class DynamicFiltersConfig implements ControlValueAccessor {
5589
+ private readonly dashboardService;
5590
+ private readonly destroyRef;
5591
+ private readonly emptySelections;
5592
+ private readonly emptyModulesProperties;
5593
+ private readonly emptyProperties;
5594
+ private readonly propertiesFlatCache;
5595
+ private readonly dropdownPropertiesSignatureByIndex;
5434
5596
  /** Available lookups from parent context */
5435
5597
  readonly lookups: _angular_core.InputSignal<any[]>;
5436
5598
  /** Available level schemas from parent context */
@@ -5443,6 +5605,10 @@ declare class DynamicFiltersConfig implements ControlValueAccessor {
5443
5605
  readonly loadLevelLogs: _angular_core.OutputEmitterRef<number>;
5444
5606
  /** Filter fields data */
5445
5607
  readonly filterFields: _angular_core.WritableSignal<FilterField[]>;
5608
+ /** Active dropdown selection editor. Heavy nested editors stay lazy. */
5609
+ readonly activeDropdownConfigIndex: _angular_core.WritableSignal<number | null>;
5610
+ /** Properties loaded for dropdown-by-selection fields. */
5611
+ readonly fieldModulesProperties: _angular_core.WritableSignal<Record<number, ModuleProperties$1[]>>;
5446
5612
  /** Paste configuration state */
5447
5613
  readonly showPasteArea: _angular_core.WritableSignal<boolean>;
5448
5614
  readonly pasteContent: _angular_core.WritableSignal<string>;
@@ -5471,6 +5637,16 @@ declare class DynamicFiltersConfig implements ControlValueAccessor {
5471
5637
  onFieldTypeChange(index: number, type: FilterFieldType): void;
5472
5638
  /** Handle schema level change for status/phaseGate */
5473
5639
  onSchemaLevelChange(index: number, schemaLevelId: number): void;
5640
+ updateDropdownSelections(index: number, selections: ISelection[]): void;
5641
+ onDropdownModuleChange(index: number, _event: {
5642
+ selectionId: number;
5643
+ selector: string;
5644
+ selectorName?: string | null;
5645
+ }): void;
5646
+ openDropdownConfig(index: number, field: FilterField): void;
5647
+ closeDropdownConfig(index: number): void;
5648
+ isDropdownConfigOpen(index: number): boolean;
5649
+ updateSelectedProperties(index: number, properties: string[]): void;
5474
5650
  /** Copy current configuration to clipboard */
5475
5651
  copyConfiguration(): void;
5476
5652
  /** Toggle paste area visibility */
@@ -5479,8 +5655,30 @@ declare class DynamicFiltersConfig implements ControlValueAccessor {
5479
5655
  applyPastedConfiguration(): void;
5480
5656
  /** Track by function for ngFor */
5481
5657
  trackByIndex(index: number): number;
5658
+ getFieldTitle(field: FilterField, index: number): string;
5659
+ getFieldTypeLabel(type: FilterFieldType): string;
5660
+ requiresKey(type: FilterFieldType): boolean;
5661
+ requiresName(type: FilterFieldType): boolean;
5662
+ supportsRequired(field: FilterField): boolean;
5663
+ supportsMultiple(field: FilterField): boolean;
5664
+ hasTypeConfiguration(field: FilterField): boolean;
5665
+ getDropdownSelections(field: FilterField): ISelection[];
5666
+ getSelectedProperties(field: FilterField): string[];
5667
+ getModulesPropertiesForField(index: number): ModuleProperties$1[];
5668
+ getPropertiesFlatForField(index: number): IProperty[];
5669
+ getDropdownSummary(field: FilterField): string;
5482
5670
  /** Notify parent of changes */
5483
5671
  private notifyChange;
5672
+ private normalizeField;
5673
+ private createConfigurationForType;
5674
+ private ensurePayload;
5675
+ private loadDropdownProperties;
5676
+ private setFieldModulesProperties;
5677
+ private extractModuleTypeFromSelector;
5678
+ private normalizeSelections;
5679
+ private getSelectionSignature;
5680
+ private removeCachedFieldState;
5681
+ private resetDropdownCaches;
5484
5682
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFiltersConfig, never>;
5485
5683
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFiltersConfig, "mt-dynamic-filters-config", never, { "lookups": { "alias": "lookups"; "required": false; "isSignal": true; }; "levelsSchema": { "alias": "levelsSchema"; "required": false; "isSignal": true; }; "levelLogs": { "alias": "levelLogs"; "required": false; "isSignal": true; }; "productType": { "alias": "productType"; "required": false; "isSignal": true; }; }, { "loadLevelLogs": "loadLevelLogs"; }, never, never, true, never>;
5486
5684
  }
@@ -5527,6 +5725,7 @@ declare class ChartSettingsDrawer {
5527
5725
  readonly modal: ModalService;
5528
5726
  private readonly chartDataService;
5529
5727
  private readonly itemStoreService;
5728
+ private readonly dashboardStore;
5530
5729
  readonly previewDashboardId: string;
5531
5730
  /** The chart item signal - reactive for proper change detection */
5532
5731
  readonly item: _angular_core.WritableSignal<DashboardChartItem | null>;
@@ -5573,6 +5772,13 @@ declare class ChartSettingsDrawer {
5573
5772
  readonly previewChartData: _angular_core.Signal<ChartDataHandled | null>;
5574
5773
  /** True when the stored data can be rendered by the ECharts preview. */
5575
5774
  readonly canRenderChartPreview: _angular_core.Signal<boolean>;
5775
+ /** Localized title shown inside the isolated preview card. */
5776
+ readonly previewTitle: _angular_core.Signal<string>;
5777
+ /** Runtime style inputs used by mt-card-content in the preview shell. */
5778
+ readonly previewStyleConfig: _angular_core.Signal<_masterteam_dashboard_builder.StyleConfig | null>;
5779
+ readonly previewCardStyleConfig: _angular_core.Signal<any>;
5780
+ readonly previewHeaderConfig: _angular_core.Signal<any>;
5781
+ readonly previewDensity: _angular_core.Signal<any>;
5576
5782
  /** Determine the type of manage UI to show */
5577
5783
  readonly manageType: _angular_core.Signal<QuickManageType>;
5578
5784
  /**
@@ -6582,6 +6788,12 @@ declare class TableQuery implements ControlValueAccessor {
6582
6788
  createAggregationFormGroup(agg?: Partial<AggregationProperty>): FormGroup;
6583
6789
  addAggregation(): void;
6584
6790
  removeAggregation(index: number): void;
6791
+ selectedProperties(): string[];
6792
+ pivotProperties(): string[];
6793
+ moveSelectedProperty(index: number, direction: -1 | 1): void;
6794
+ movePivotProperty(index: number, direction: -1 | 1): void;
6795
+ getPropertyLabel(key: string): string;
6796
+ private moveProperty;
6585
6797
  trackByIndex(index: number): number;
6586
6798
  private normalizeAggregateFunction;
6587
6799
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableQuery, never>;
@@ -6669,10 +6881,8 @@ declare class DataSourceSettings {
6669
6881
  readonly selectionMode: _angular_core.WritableSignal<"advanced" | "context">;
6670
6882
  readonly contextTargetSelector: _angular_core.WritableSignal<string | null>;
6671
6883
  readonly contextTargetApplyToken: _angular_core.WritableSignal<number>;
6672
- /** Workspace-aware metadata state. Hidden when the gateway has no endpoint. */
6673
- readonly workspaceOptions: _angular_core.WritableSignal<WorkspaceOption[]>;
6884
+ /** Saved workspace id is preserved for existing configs, but no workspace endpoint is called. */
6674
6885
  readonly selectedWorkspaceId: _angular_core.WritableSignal<string | number | null>;
6675
- readonly showWorkspaceSelector: _angular_core.Signal<boolean>;
6676
6886
  /** Tab options for display */
6677
6887
  readonly tabOptions: _angular_core.Signal<{
6678
6888
  id: string;
@@ -6727,7 +6937,6 @@ declare class DataSourceSettings {
6727
6937
  * Handle selection changes
6728
6938
  */
6729
6939
  onSelectionsChange(selections: ISelection[]): void;
6730
- onWorkspaceChange(workspaceId: string | number | null): void;
6731
6940
  /**
6732
6941
  * Handle context-aware template selection for informative mode.
6733
6942
  */
@@ -6858,7 +7067,6 @@ declare class DataSourceSettings {
6858
7067
  * Get chart type id for query component
6859
7068
  */
6860
7069
  getChartTypeId(): string;
6861
- private loadWorkspaceOptions;
6862
7070
  private getContextTargetState;
6863
7071
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataSourceSettings, never>;
6864
7072
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataSourceSettings, "mt-data-source-settings", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "chartType": { "alias": "chartType"; "required": false; "isSignal": true; }; "informativeContext": { "alias": "informativeContext"; "required": false; "isSignal": true; }; }, { "serviceConfigChange": "serviceConfigChange"; }, never, never, true, never>;
@@ -7031,4 +7239,4 @@ declare class GetChartActionsPipe implements PipeTransform {
7031
7239
  declare function cloneDeep<T>(obj: T): T;
7032
7240
 
7033
7241
  export { ActionsSettings, BarChartHandler, BarControlUi, CHART_CAPABILITIES, CHART_TYPES, CONFIG_DOMAINS, CardContentComponent, CardFilterComponent, CardInfoComponent, ChartCardComponent, ChartDataService, ChartFilterDrawer, ChartSettingsDrawer, ChartViewer, ComparisonChartHandler, DashboardBuilder, DashboardBuilderService, DashboardItem, DashboardItemStoreService, DashboardList, DashboardStoreService, DashboardViewer, DataSourceSettings, DatasourcePanelComponent, DefaultControlUi, DisplaySettings, DynamicFiltersComponent, DynamicFiltersConfig, EChartComponent, PropertiesCardComponent as EntitiesPreviewCardComponent, EntityInfoComponent, EntityPreviewCardComponent, FilterBuilderComponent, FilterByGroupPipe, FilterChipsBarComponent, GaugeChartHandler, GeneralSettings, GetChartActionsPipe, GuidedConfigDialogComponent, HTTPMethod, HeaderCardComponent, ITEM_GUIDANCE_REGISTRY, ItemCardMenuComponent, ItemConfigPopoverComponent, ItemContextToolbarComponent, ItemGuidanceService, LevelCardHandler, LineChartHandler, ListStatisticCardComponent, ManageBreadcrumb, ManageFilterOnPage, ManageItem, ManageItemService, ManagePages, MapChartHandler, OverviewCardHandler, POPOVER_TABS, POPOVER_TAB_SPECS, PhaseGateStepperHandler, PieChartHandler, PieControlUi, PropertiesCardComponent, RingGaugeChartHandler, SPlusChartHandler, STYLE_PRESETS, SchemaControlRendererComponent, SkeletonCardComponent, SnapshotHandler, SplitterChartHandler, StackBarChartHandler, StackBarControlUi, StaticFiltersComponent, StatisticCardComponent, TableCardComponent, TableViewHandler, TimelineHandler, TopbarCardComponent, addCommasToNumber, applyBehaviorToPersisted, applyControlPatchToPersisted, applyControlPatchesToPersisted, applyFilterChipsToPersisted, applyLabelLegendFormatToPersisted, applyLayoutToPersisted, applyStyleToPersisted, applyTitleToPersisted, axisFormatters, behaviorToUi, bindingKey, buildAssembly, buildDisplayFieldPredicate, cloneDeep, createAxisFormatter, createTooltipFormatter, datasourceToUi, deepMerge, describeGuidance, domainsForCapability, dynamicReorder, dynamicTextReplace, fieldsToUi, filtersToUi, findDomain, findPreset, flattenSchema, formatCurrency, formatDate, formatForEditor, formatNumber, formatPercentage, formatValue, formatWordsUnderBar, formatXAxis, generalConfiguration, getBinding, getCapabilityById, getColorFromConditions, getControlSchema, getFallbackControlSchema, getLocalizedTitle, getNestedData, groupDatesByYearAndMonth, groupIssuesByDomain, handleFilterForCard, handleFilterForSnapshot, handleFiltersForCustom, hasBlockingIssues, isMobilePlatform, labelLegendFormatToUi, layoutToUi, listBindings, listBindingsForChart, listControlSchemaIds, listControlSchemas, moduleIdFromSelector, normalizeAggregateFunction, normalizeBeforeRequest, normalizeBeforeSave, normalizeChartTypeForRequest, normalizeFilterOperation, normalizeFilters, normalizeOnLoad, parseAdvancedJson, persistedToUi, presetsForCapability, readBoundValue, readByPath, resolveCapability, resolveDisplayFields, selectorFromLegacy, setByPath, sortChartData, sortDataTableView, styleToUi, switchAllKeysSmall, switchAllKeysToLower, titleToUi, toBackendChartType, toBackendSourceLink, validate };
7034
- export type { ActionConfig, ApiResponse, BackendChartType, BarChartData, BehaviorUi, BindingScope, BreadcrumbItem, BulkLinkChartRequest, BulkLinkChartResponse, BulkPropertiesRequest, BulkPropertiesResponse, BulkPropertiesResponseItem, BulkPropertiesResponseItemDto, BulkPropertyRequestItem, CardBorderStyleConfig, CardInfoConfig$1 as CardInfoConfig, CardStyleConfig$1 as CardStyleConfig, CatalogPropertyDto, ChartActionEvent, ChartActionsContext, ChartCapability, ChartCapabilityLegacyAliases, RequestType$1 as ChartCapabilityRequestType, ChartData, ChartDataHandled, ChartDomainSupport, ChartLabel, ChartLinkConfiguration, ChartTypeConfig, ClientConfig, ComponentType, ConfigDomainKey, ConfigDomainSpec, ConfigLookupShape, ConfigViewAssembly, ControlBinding, ControlBindingIndex, ControlBindingValueAdapter, ControlDomain, ControlField, ControlFieldType, ControlOption, ControlPatch, ControlSchema, ControlSection, ControlSectionScope, ControlVisiblePredicate, CustomApi, DashboardBuilderData, DashboardChartItem, DashboardChartTemplate, DashboardDialogItem, DashboardInformativeContext, DashboardItemStore, DashboardListEvent, DashboardPage, DashboardSaveRequestOptions, DashboardTargetOption, DashboardTargetPathStep, DashboardTargetTemplateFilter, DashboardTargetTemplateSelection, DashboardTargetTemplateSourceLink, DashboardTargetsContextInfo, DashboardTargetsResponse, DatasourceUi, DisplayConfig, DisplayField, DisplayFieldQuery, DisplaySchema, EChartSeriesItem, ExcelSheet, FieldAssignment, FieldsUi, FilterChip, FilterConfig, FilterOperator, FilterOption, FilterScope, FilterSource, FiltersUi, FlattenedControl, FormatXAxisConfig$1 as FormatXAxisConfig, GroupedModuleOption, GuidanceInput, GuidedConfigDialogData, GuidedConfigDialogResult, GuidedStep, HandleAction, HeaderCardConfig$1 as HeaderCardConfig, IModule, IModuleType, IProperty, IPropertyWithGroup, ISelection, ItemCardMenuAction, ItemConfig, ItemConfigPopoverData, ItemConfigPopoverResult, ItemContextAction, ItemGuidanceAction, ItemGuidanceDescriptor, ItemGuidanceSeverity, ItemGuidanceState, LabelLegendFormatUi, LayoutUi, LevelCardData, LevelCardProperty, LinkChartRequest, LocalizedName, ModuleItem, ModuleSelectOption, ModuleType, ModuleValue, ModulesTreeRequest, ModulesTreeResponse, ParseResult, PersistedItemConfig, PhaseGateProperty, PhaseGateStep, PieChartData, PopoverTab, PopoverTabSpec, Product, PropertiesResponse, PropertyItem, PropertyItemOption, PropertyItemsResponse, QueryEditorKind, QueryField, QuerySchema, QuickManageType, RendererKey, Report, ReportChartLink, ReportDashboardConfig, ReportExcelConfig, ReportType, ReportUrl, RequestType, RuntimeItemConfig, SelectionFilter, ServiceConfig, ServiceItem, SourceLink, StaticFilterConfig, StaticFilterItem, StatisticCardData, StyleConfig, StylePreset, StylePresetKey, StyleUi, TableColumn$1 as TableColumn, TableViewData, TimelineData, TimelineItem, TitleUi, UiItemConfig, UnlinkChartRequest, ValidateOptions, ValidationIssue, ValidationSeverity, WorkspaceOption };
7242
+ export type { ActionConfig, ApiResponse, BackendChartType, BarChartData, BehaviorUi, BindingScope, BreadcrumbItem, BulkLinkChartRequest, BulkLinkChartResponse, BulkPropertiesRequest, BulkPropertiesResponse, BulkPropertiesResponseItem, BulkPropertiesResponseItemDto, BulkPropertyRequestItem, CardBorderStyleConfig, CardInfoConfig$1 as CardInfoConfig, CardStyleConfig$1 as CardStyleConfig, CatalogPropertyDto, ChartActionEvent, ChartActionsContext, ChartCapability, ChartCapabilityLegacyAliases, RequestType$1 as ChartCapabilityRequestType, ChartData, ChartDataHandled, ChartDomainSupport, ChartLabel, ChartLinkConfiguration, ChartTypeConfig, ClientConfig, ComponentType, ConfigDomainKey, ConfigDomainSpec, ConfigLookupShape, ConfigViewAssembly, ControlBinding, ControlBindingIndex, ControlBindingValueAdapter, ControlDomain, ControlField, ControlFieldType, ControlOption, ControlPatch, ControlSchema, ControlSection, ControlSectionScope, ControlVisiblePredicate, CustomApi, DashboardBuilderData, DashboardChartItem, DashboardChartTemplate, DashboardDialogItem, DashboardInformativeContext, DashboardItemStore, DashboardListEvent, DashboardPage, DashboardSaveRequestOptions, DashboardTargetOption, DashboardTargetPathStep, DashboardTargetTemplateFilter, DashboardTargetTemplateSelection, DashboardTargetTemplateSourceLink, DashboardTargetsContextInfo, DashboardTargetsResponse, DatasourceUi, DisplayConfig, DisplayField, DisplayFieldQuery, DisplaySchema, EChartSeriesItem, ExcelSheet, FieldAssignment, FieldsUi, FilterChip, FilterConfig, FilterOperator, FilterOption, FilterScope, FilterSource, FiltersUi, FlattenedControl, FormatXAxisConfig$1 as FormatXAxisConfig, GroupedModuleOption, GuidanceInput, GuidedConfigDialogData, GuidedConfigDialogResult, GuidedStep, HandleAction, HeaderCardConfig$1 as HeaderCardConfig, IModule, IModuleType, IProperty, IPropertyWithGroup, ISelection, ItemCardMenuAction, ItemConfig, ItemConfigPopoverData, ItemConfigPopoverResult, ItemContextAction, ItemGuidanceAction, ItemGuidanceDescriptor, ItemGuidanceSeverity, ItemGuidanceState, LabelLegendFormatUi, LayoutUi, LevelCardData, LevelCardProperty, LinkChartRequest, LocalizedName, ManageFilterOnPageResult, ModuleItem, ModuleSelectOption, ModuleType, ModuleValue, ModulesTreeRequest, ModulesTreeResponse, ParseResult, PersistedItemConfig, PhaseGateProperty, PhaseGateStep, PieChartData, PopoverTab, PopoverTabSpec, Product, PropertiesResponse, PropertyItem, PropertyItemOption, PropertyItemsResponse, QueryEditorKind, QueryField, QuerySchema, QuickManageType, RendererKey, Report, ReportChartLink, ReportDashboardConfig, ReportExcelConfig, ReportType, ReportUrl, RequestType, RuntimeItemConfig, SelectionFilter, ServiceConfig, ServiceItem, SourceLink, StaticFilterConfig, StaticFilterItem, StatisticCardData, StyleConfig, StylePreset, StylePresetKey, StyleUi, TableColumn$1 as TableColumn, TableViewData, TimelineData, TimelineItem, TitleUi, UiItemConfig, UnlinkChartRequest, ValidateOptions, ValidationIssue, ValidationSeverity };