@masterteam/dashboard-builder 0.0.10 → 0.0.12

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.
package/package.json CHANGED
@@ -1,31 +1,31 @@
1
1
  {
2
2
  "name": "@masterteam/dashboard-builder",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "publishConfig": {
5
5
  "directory": "../../../dist/masterteam/dashboard-builder",
6
6
  "linkDirectory": true,
7
7
  "access": "public"
8
8
  },
9
9
  "peerDependencies": {
10
- "@angular/common": "^21.0.3",
11
- "@angular/core": "^21.0.3",
12
- "@angular/forms": "^21.0.3",
13
- "@angular/cdk": "^21.0.2",
14
- "@angular/router": "^21.0.3",
15
- "@primeuix/themes": "^2.0.2",
16
- "@tailwindcss/postcss": "^4.1.17",
17
- "@jsverse/transloco": "^8.0.2",
10
+ "@angular/common": "catalog:angular21",
11
+ "@angular/core": "catalog:angular21",
12
+ "@angular/forms": "catalog:angular21",
13
+ "@angular/cdk": "catalog:angular21",
14
+ "@angular/router": "catalog:angular21",
15
+ "@primeuix/themes": "catalog:",
16
+ "@tailwindcss/postcss": "catalog:",
17
+ "@jsverse/transloco": "catalog:i18n",
18
+ "@masterteam/components": "workspace:^",
19
+ "@masterteam/icons": "workspace:^",
18
20
  "angular-gridster2": "^18.0.1",
19
21
  "echarts": "^5.5.0",
20
- "postcss": "^8.5.6",
21
- "primeng": "21.0.1",
22
- "rxjs": "^7.8.2",
23
- "tailwindcss": "^4.1.17",
24
- "@masterteam/components": "^0.0.116",
25
- "@masterteam/icons": "^0.0.14"
22
+ "postcss": "catalog:",
23
+ "primeng": "catalog:",
24
+ "rxjs": "catalog:angular21",
25
+ "tailwindcss": "catalog:"
26
26
  },
27
27
  "dependencies": {
28
- "tslib": "^2.8.1",
28
+ "tslib": "catalog:angular21",
29
29
  "angular-gridster2": "^18.0.1"
30
30
  },
31
31
  "sideEffects": false,
@@ -131,7 +131,7 @@ interface BulkPropertiesResponseItem {
131
131
  selector: string;
132
132
  /** Display name for the specific selector (e.g., "Projects" for "Level:7") */
133
133
  selectorName?: string;
134
- properties: PropertyItem$1[];
134
+ properties: PropertyItem[];
135
135
  }
136
136
  /**
137
137
  * Raw response item from bulk properties lookup.
@@ -152,7 +152,7 @@ interface BulkPropertiesResponse {
152
152
  /**
153
153
  * Property item from module properties response
154
154
  */
155
- interface PropertyItem$1 {
155
+ interface PropertyItem {
156
156
  id: number;
157
157
  name: string;
158
158
  label?: string;
@@ -510,7 +510,7 @@ interface IModule {
510
510
  * Property definition from API
511
511
  * Maps to PropertyItem from dashboard.model.ts
512
512
  */
513
- interface IProperty extends PropertyItem$1 {
513
+ interface IProperty extends PropertyItem {
514
514
  /** @deprecated Use PropertyItem.isCalculated when available */
515
515
  isCalculated?: boolean;
516
516
  description?: string;
@@ -821,6 +821,8 @@ declare class DashboardViewer implements OnInit, OnDestroy {
821
821
  private cdr;
822
822
  private dashboardService;
823
823
  private storeService;
824
+ private itemStoreService;
825
+ private route;
824
826
  /** Whether to wrap content in mt-page component */
825
827
  readonly isPage: _angular_core.InputSignal<boolean>;
826
828
  /** Page title when isPage is true */
@@ -837,6 +839,8 @@ declare class DashboardViewer implements OnInit, OnDestroy {
837
839
  readonly dialogsData: _angular_core.InputSignal<DashboardDialogItem[]>;
838
840
  /** Pre-loaded filters (optional) */
839
841
  readonly filtersData: _angular_core.InputSignal<any[]>;
842
+ /** Dashboard-wide extra filters applied to every item request */
843
+ readonly extraFilters: _angular_core.InputSignal<Record<string, any>>;
840
844
  /** Show filters sidebar */
841
845
  readonly showFilters: _angular_core.InputSignal<boolean>;
842
846
  /** Emit when page is loaded */
@@ -860,11 +864,13 @@ declare class DashboardViewer implements OnInit, OnDestroy {
860
864
  readonly layoutHeight: _angular_core.Signal<string>;
861
865
  private subscription;
862
866
  private readonly rowHeight;
867
+ private lastExtraFiltersSignature;
863
868
  private readonly hasSplitPreloadedData;
864
869
  private dashboardDataEffect;
865
870
  private chartsDataEffect;
866
871
  private dialogsDataEffect;
867
872
  private filtersDataEffect;
873
+ private extraFiltersEffect;
868
874
  private preloadedInputsEffect;
869
875
  private pageIdEffect;
870
876
  ngOnInit(): void;
@@ -937,8 +943,9 @@ declare class DashboardViewer implements OnInit, OnDestroy {
937
943
  * Track function for ngFor
938
944
  */
939
945
  trackByDashboardId(_index: number, item: DashboardChartItem): string;
946
+ private refreshAllItems;
940
947
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DashboardViewer, never>;
941
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardViewer, "mt-dashboard-viewer", never, { "isPage": { "alias": "isPage"; "required": false; "isSignal": true; }; "pageTitle": { "alias": "pageTitle"; "required": false; "isSignal": true; }; "backButton": { "alias": "backButton"; "required": false; "isSignal": true; }; "pageId": { "alias": "pageId"; "required": false; "isSignal": true; }; "dashboardData": { "alias": "dashboardData"; "required": false; "isSignal": true; }; "chartsData": { "alias": "chartsData"; "required": false; "isSignal": true; }; "dialogsData": { "alias": "dialogsData"; "required": false; "isSignal": true; }; "filtersData": { "alias": "filtersData"; "required": false; "isSignal": true; }; "showFilters": { "alias": "showFilters"; "required": false; "isSignal": true; }; }, { "pageLoaded": "pageLoaded"; "onBack": "onBack"; "chartClick": "chartClick"; }, never, never, true, never>;
948
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardViewer, "mt-dashboard-viewer", never, { "isPage": { "alias": "isPage"; "required": false; "isSignal": true; }; "pageTitle": { "alias": "pageTitle"; "required": false; "isSignal": true; }; "backButton": { "alias": "backButton"; "required": false; "isSignal": true; }; "pageId": { "alias": "pageId"; "required": false; "isSignal": true; }; "dashboardData": { "alias": "dashboardData"; "required": false; "isSignal": true; }; "chartsData": { "alias": "chartsData"; "required": false; "isSignal": true; }; "dialogsData": { "alias": "dialogsData"; "required": false; "isSignal": true; }; "filtersData": { "alias": "filtersData"; "required": false; "isSignal": true; }; "extraFilters": { "alias": "extraFilters"; "required": false; "isSignal": true; }; "showFilters": { "alias": "showFilters"; "required": false; "isSignal": true; }; }, { "pageLoaded": "pageLoaded"; "onBack": "onBack"; "chartClick": "chartClick"; }, never, never, true, never>;
942
949
  }
943
950
 
944
951
  /**
@@ -1252,6 +1259,10 @@ declare class DashboardItem implements OnInit, OnDestroy {
1252
1259
  readonly isDialog: _angular_core.InputSignal<boolean>;
1253
1260
  /** Query params passed from parent (e.g., dialog) */
1254
1261
  readonly queryParams: _angular_core.InputSignal<Record<string, any>>;
1262
+ /** Dashboard-wide extra filters passed from viewer/context */
1263
+ readonly extraFilters: _angular_core.InputSignal<Record<string, any>>;
1264
+ /** Skip global route/query filters for this item */
1265
+ readonly ignoreQueryFilter: _angular_core.InputSignal<boolean>;
1255
1266
  /** Emitted when an action is triggered (useful for dialog communication) */
1256
1267
  readonly actionTriggered: _angular_core.OutputEmitterRef<any>;
1257
1268
  /** Dashboard ID - derived from config or chartTypeId */
@@ -1310,8 +1321,11 @@ declare class DashboardItem implements OnInit, OnDestroy {
1310
1321
  * This is the main entry point for action handling.
1311
1322
  */
1312
1323
  doActions(eventData: any, eventType: string): void;
1324
+ private buildRequestFilters;
1325
+ private buildParentFilter;
1326
+ private mergeRequestFilters;
1313
1327
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DashboardItem, never>;
1314
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardItem, "mt-dashboard-item", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "chartTypeId": { "alias": "chartTypeId"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "inGroup": { "alias": "inGroup"; "required": false; "isSignal": true; }; "isDialog": { "alias": "isDialog"; "required": false; "isSignal": true; }; "queryParams": { "alias": "queryParams"; "required": false; "isSignal": true; }; }, { "actionTriggered": "actionTriggered"; }, never, never, true, never>;
1328
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardItem, "mt-dashboard-item", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "chartTypeId": { "alias": "chartTypeId"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "inGroup": { "alias": "inGroup"; "required": false; "isSignal": true; }; "isDialog": { "alias": "isDialog"; "required": false; "isSignal": true; }; "queryParams": { "alias": "queryParams"; "required": false; "isSignal": true; }; "extraFilters": { "alias": "extraFilters"; "required": false; "isSignal": true; }; "ignoreQueryFilter": { "alias": "ignoreQueryFilter"; "required": false; "isSignal": true; }; }, { "actionTriggered": "actionTriggered"; }, never, never, true, never>;
1315
1329
  }
1316
1330
 
1317
1331
  interface HeaderCardConfig$1 {
@@ -1824,14 +1838,6 @@ declare class EntityInfoComponent {
1824
1838
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EntityInfoComponent, "mt-entity-info", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "displayType": { "alias": "displayType"; "required": false; "isSignal": true; }; "extraInfoData": { "alias": "extraInfoData"; "required": false; "isSignal": true; }; "limitWords": { "alias": "limitWords"; "required": false; "isSignal": true; }; "customClass": { "alias": "customClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1825
1839
  }
1826
1840
 
1827
- interface PropertyItem {
1828
- key: string;
1829
- normalizedKey?: string;
1830
- label?: string;
1831
- value: any;
1832
- viewType?: string;
1833
- settings?: any;
1834
- }
1835
1841
  interface PropertyConfig {
1836
1842
  width?: string;
1837
1843
  border?: string[];
@@ -1839,7 +1845,7 @@ interface PropertyConfig {
1839
1845
  colorAsProperty?: string;
1840
1846
  }
1841
1847
  interface ProcessedProperty {
1842
- propInfo: PropertyItem;
1848
+ propInfo: any;
1843
1849
  config: PropertyConfig;
1844
1850
  }
1845
1851
  declare class EntityPreviewCardComponent implements OnInit, OnDestroy {
@@ -3316,7 +3322,7 @@ declare class DashboardBuilderService {
3316
3322
  * @param moduleId Module type name or 'ModuleType:Id' format (e.g., 'Level:12')
3317
3323
  * @returns Properties array extracted from nested response
3318
3324
  */
3319
- getModuleProperties(serviceName: string, moduleId: string): Observable<ApiResponse<PropertyItem$1[]>>;
3325
+ getModuleProperties(serviceName: string, moduleId: string): Observable<ApiResponse<PropertyItem[]>>;
3320
3326
  /**
3321
3327
  * Get values for a specific module
3322
3328
  * @param serviceName The service name (e.g., 'pplus')
@@ -4918,4 +4924,4 @@ declare class GetChartActionsPipe implements PipeTransform {
4918
4924
  declare function cloneDeep<T>(obj: T): T;
4919
4925
 
4920
4926
  export { ActionsSettings, BarChartHandler, BarControlUi, CHART_TYPES, CardContentComponent, CardFilterComponent, CardInfoComponent, ChartCardComponent, ChartDataService, ChartSettingsDrawer, ChartViewer, ComparisonChartHandler, DashboardBuilder, DashboardBuilderService, DashboardItem, DashboardItemStoreService, DashboardList, DashboardStoreService, DashboardViewer, DataSourceSettings, DefaultControlUi, DisplaySettings, DynamicFiltersComponent, DynamicFiltersConfig, EChartComponent, EntityInfoComponent, EntityPreviewCardComponent, FilterByGroupPipe, GaugeChartHandler, GeneralSettings, GetChartActionsPipe, HTTPMethod, HeaderCardComponent, LevelCardHandler, LevelCardListComponent, LineChartHandler, ListStatisticCardComponent, ManageBreadcrumb, ManageFilterOnPage, ManageItem, ManageItemService, ManagePages, MapChartHandler, OverviewCardHandler, PhaseGateStepperHandler, PieChartHandler, PieControlUi, RingGaugeChartHandler, SPlusChartHandler, SkeletonCardComponent, SnapshotHandler, SplitterChartHandler, StackBarChartHandler, StackBarControlUi, StaticFiltersComponent, StatisticCardComponent, TableCardComponent, TableViewHandler, TimelineHandler, addCommasToNumber, axisFormatters, cloneDeep, createAxisFormatter, createTooltipFormatter, dynamicReorder, dynamicTextReplace, formatCurrency, formatDate, formatNumber, formatPercentage, formatValue, formatWordsUnderBar, formatXAxis, generalConfiguration, getColorFromConditions, getLanguageCode, getLocalizedTitle, getNestedData, groupDatesByYearAndMonth, handleFilterForCard, handleFilterForSnapshot, handleFiltersForCustom, isMobilePlatform, sortChartData, sortDataTableView, switchAllKeysSmall, switchAllKeysToLower };
4921
- export type { ActionConfig, ApiResponse, BarChartData, BreadcrumbItem, BulkLinkChartRequest, BulkLinkChartResponse, BulkPropertiesRequest, BulkPropertiesResponse, BulkPropertiesResponseItem, BulkPropertiesResponseItemDto, BulkPropertyRequestItem, CardBorderStyleConfig, CardInfoConfig$1 as CardInfoConfig, CardStyleConfig$1 as CardStyleConfig, CatalogPropertyDto, ChartActionEvent, ChartActionsContext, ChartData, ChartDataHandled, ChartLabel, ChartLinkConfiguration, ChartTypeConfig, ClientConfig, ComponentType, CustomApi, DashboardBuilderData, DashboardChartItem, DashboardDialogItem, DashboardItemStore, DashboardListEvent, DashboardPage, DisplayConfig, EChartSeriesItem, ExcelSheet, FilterConfig, FilterOption, FormatXAxisConfig$1 as FormatXAxisConfig, GroupedModuleOption, HandleAction, HeaderCardConfig$1 as HeaderCardConfig, IModule, IModuleType, IProperty, IPropertyWithGroup, ISelection, ItemConfig, LevelCardData, LevelCardProperty, LinkChartRequest, LocalizedName, ModuleItem, ModuleSelectOption, ModuleType, ModuleValue, ModulesTreeRequest, ModulesTreeResponse, PhaseGateProperty, PhaseGateStep, PieChartData, PropertiesResponse, PropertyItem$1 as PropertyItem, PropertyItemOption, PropertyItemsResponse, QuickManageType, Report, ReportChartLink, ReportDashboardConfig, ReportExcelConfig, ReportType, ReportUrl, RequestType, SelectionFilter, ServiceConfig, ServiceItem, SourceLink, StaticFilterConfig, StaticFilterItem, StatisticCardData, StyleConfig, TableColumn$1 as TableColumn, TableViewData, TimelineData, TimelineItem, UnlinkChartRequest };
4927
+ export type { ActionConfig, ApiResponse, BarChartData, BreadcrumbItem, BulkLinkChartRequest, BulkLinkChartResponse, BulkPropertiesRequest, BulkPropertiesResponse, BulkPropertiesResponseItem, BulkPropertiesResponseItemDto, BulkPropertyRequestItem, CardBorderStyleConfig, CardInfoConfig$1 as CardInfoConfig, CardStyleConfig$1 as CardStyleConfig, CatalogPropertyDto, ChartActionEvent, ChartActionsContext, ChartData, ChartDataHandled, ChartLabel, ChartLinkConfiguration, ChartTypeConfig, ClientConfig, ComponentType, CustomApi, DashboardBuilderData, DashboardChartItem, DashboardDialogItem, DashboardItemStore, DashboardListEvent, DashboardPage, DisplayConfig, EChartSeriesItem, ExcelSheet, FilterConfig, FilterOption, FormatXAxisConfig$1 as FormatXAxisConfig, GroupedModuleOption, HandleAction, HeaderCardConfig$1 as HeaderCardConfig, IModule, IModuleType, IProperty, IPropertyWithGroup, ISelection, ItemConfig, LevelCardData, LevelCardProperty, LinkChartRequest, LocalizedName, ModuleItem, ModuleSelectOption, ModuleType, ModuleValue, ModulesTreeRequest, ModulesTreeResponse, PhaseGateProperty, PhaseGateStep, PieChartData, PropertiesResponse, PropertyItem, PropertyItemOption, PropertyItemsResponse, QuickManageType, Report, ReportChartLink, ReportDashboardConfig, ReportExcelConfig, ReportType, ReportUrl, RequestType, SelectionFilter, ServiceConfig, ServiceItem, SourceLink, StaticFilterConfig, StaticFilterItem, StatisticCardData, StyleConfig, TableColumn$1 as TableColumn, TableViewData, TimelineData, TimelineItem, UnlinkChartRequest };