@isoftdata/utility-dashboard-backend 3.1.5 → 3.2.1

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/dist/index.d.ts CHANGED
@@ -4,14 +4,16 @@ export { queryWithFields } from './chart-helper.js';
4
4
  import { QueryFieldsObject } from './chart-helper.js';
5
5
  import type { DashboardReportParameter } from './types/parameter.js';
6
6
  import type { Session, SiteType } from './types/session.js';
7
- import type { MultiSeriesOptions, Formatting, Chart, Table, GoogleDataTable, ProcessedFormatting } from './types/chart.js';
7
+ import type { MultiSeriesOptions, Formatting, Chart, Table, GoogleDataTable, ProcessedFormatting, ChartJson } from './types/chart.js';
8
8
  import type { Connection, RowDataPacket } from 'mysql';
9
9
  import type { Report, ReportInput } from './types/report.js';
10
+ import type { PartialDeep } from 'type-fest';
10
11
  export * as formatterTemplates from './formatting-templates.js';
11
12
  export { handleFormattingTemplates } from './chart-helper.js';
12
13
  export type CustomDataSourceFunction = (query: string, values?: unknown[]) => Promise<{
13
14
  results: RowDataPacket[];
14
15
  fields: QueryFieldsObject;
16
+ jsonOverride?: PartialDeep<ChartJson>;
15
17
  }>;
16
18
  export type LoadDataTableAndProcessedFormattingOptions = {
17
19
  query: {
@@ -29,6 +31,7 @@ export declare function loadDataTableAndProcessedFormatting(mysqlConnection: Con
29
31
  dataTable: GoogleDataTable | Table;
30
32
  processedFormatting: ProcessedFormatting;
31
33
  fields: QueryFieldsObject;
34
+ jsonOverride?: PartialDeep<ChartJson>;
32
35
  }>;
33
36
  export type loadDataTableOptions = {
34
37
  query: {
package/dist/index.js CHANGED
@@ -46,6 +46,9 @@ async function loadChartData(mysqlConnection, chart, queryObject, customDataSour
46
46
  });
47
47
  dataTable = dataTableAndProcessedFormatting.dataTable;
48
48
  processedFormatting = dataTableAndProcessedFormatting.processedFormatting;
49
+ if (dataTableAndProcessedFormatting.jsonOverride) {
50
+ chart = deepmerge(chart, dataTableAndProcessedFormatting.jsonOverride);
51
+ }
49
52
  }
50
53
  catch (err) {
51
54
  console.error('Error loading dataTable / processedFormatting');
@@ -82,9 +85,10 @@ async function loadChartData(mysqlConnection, chart, queryObject, customDataSour
82
85
  export async function loadDataTableAndProcessedFormatting(mysqlConnection, { query: queryObject, multiSeries, formatting, chartType, cumulative = false, table = {}, customDataSource }) {
83
86
  let results = [];
84
87
  let fields = {};
88
+ let jsonOverride = undefined;
85
89
  if (typeof customDataSource === 'function') {
86
90
  ;
87
- ({ results, fields } = await customDataSource(queryObject.sql, queryObject.values));
91
+ ({ results, fields, jsonOverride } = await customDataSource(queryObject.sql, queryObject.values));
88
92
  }
89
93
  else if (queryObject?.sql) {
90
94
  ;
@@ -102,13 +106,23 @@ export async function loadDataTableAndProcessedFormatting(mysqlConnection, { que
102
106
  }
103
107
  const processedFormatting = handleFormattingTemplates(formatting);
104
108
  if (chartType?.toLowerCase() === 'table') {
105
- return { dataTable: getRactiveTableDataFormat(data, fields, processedFormatting, table?.style), processedFormatting, fields };
109
+ return {
110
+ dataTable: getRactiveTableDataFormat(data, fields, processedFormatting, table?.style),
111
+ processedFormatting,
112
+ fields,
113
+ jsonOverride,
114
+ };
106
115
  }
107
116
  let dataTable = getDataTableFormat(data, fields, multiSeries);
108
117
  if (cumulative || chartType === 'AreaChart') {
109
118
  dataTable = makeDataCumulative(dataTable, cumulative);
110
119
  }
111
- return { dataTable, processedFormatting, fields };
120
+ return {
121
+ dataTable,
122
+ processedFormatting,
123
+ fields,
124
+ jsonOverride,
125
+ };
112
126
  }
113
127
  export async function loadDataTable(mysqlConnection, { query: queryObject, multiSeries, formatting, chartType }) {
114
128
  const { dataTable } = await loadDataTableAndProcessedFormatting(mysqlConnection, { query: queryObject, multiSeries, formatting, chartType });
@@ -333,4 +347,4 @@ export async function formatChartDataForReport(mysqlConnection, { reportParamete
333
347
  throw err;
334
348
  }
335
349
  }
336
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzdDLE9BQU8sRUFDTixrQkFBa0IsRUFDbEIsNkJBQTZCLEVBQzdCLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIseUJBQXlCLEdBRXpCLE1BQU0sbUJBQW1CLENBQUE7QUFDMUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQzdELE9BQU8sRUFBRSxNQUFNLElBQUksVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQy9DLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFBO0FBTWpDLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSwyQkFBMkIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUs3RCxNQUFNLDZCQUE2QixHQUFHLENBQUMsU0FBaUIsRUFBRSxTQUEwQixFQUFFLEVBQUU7SUFDdkYsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdEIsUUFBUSxTQUFTLEVBQUUsQ0FBQztZQUNuQixLQUFLLFVBQVU7Z0JBRWQsU0FBUyxHQUFHLDZCQUE2QixDQUFDLFNBQVMsQ0FBQyxDQUFBO2dCQUNwRCxNQUFLO1lBQ04sS0FBSyxTQUFTO2dCQUViLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMs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
350
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzdDLE9BQU8sRUFDTixrQkFBa0IsRUFDbEIsNkJBQTZCLEVBQzdCLGdCQUFnQixFQUNoQix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIseUJBQXlCLEdBRXpCLE1BQU0sbUJBQW1CLENBQUE7QUFDMUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQzdELE9BQU8sRUFBRSxNQUFNLElBQUksVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQy9DLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFBO0FBT2pDLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSwyQkFBMkIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQWdCN0QsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLFNBQWlCLEVBQUUsU0FBMEIsRUFBRSxFQUFFO0lBQ3ZGLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLFFBQVEsU0FBUyxFQUFFLENBQUM7WUFDbkIsS0FBSyxVQUFVO2dCQUVkLFNBQVMsR0FBRyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDcEQsTUFBSztZQUNOLEtBQUssU0FBUztnQkFFYixTQUFTLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFD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
@@ -148,27 +148,29 @@ export type TableStyleTemplate = {
148
148
  [key: string]: string | undefined;
149
149
  };
150
150
  export type ChartSuperType = 'google' | 'table' | 'embed';
151
- export interface ChartBase {
151
+ export interface ChartBase extends ChartJson {
152
152
  chartId: number;
153
- query?: string;
154
- multiSeries?: MultiSeriesOptions;
155
- formatting?: Formatting;
156
- chartWrapper: ChartWrapper;
157
- table?: Table;
158
- cumulative?: boolean;
159
- greedyHeight?: boolean;
160
- greedyWidth?: boolean;
161
- hideTitle?: boolean;
162
153
  name: string;
163
154
  showChart: boolean;
164
155
  supertype: ChartSuperType;
165
156
  title: string;
166
157
  description?: string;
167
158
  dataSourceName?: string;
168
- showFooter?: boolean;
169
- allowExport?: boolean;
170
159
  rank?: number;
171
160
  reportChartId?: number;
161
+ }
162
+ export interface ChartJson {
163
+ allowExport?: boolean;
164
+ chartWrapper: ChartWrapper;
165
+ cumulative?: boolean;
166
+ formatting?: Formatting;
167
+ greedyHeight?: boolean;
168
+ greedyWidth?: boolean;
169
+ hideTitle?: boolean;
170
+ multiSeries?: MultiSeriesOptions;
171
+ query?: string;
172
+ showFooter?: boolean;
173
+ table?: Table;
172
174
  url?: string;
173
175
  }
174
176
  interface GoogleChart extends ChartBase {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isoftdata/utility-dashboard-backend",
3
- "version": "3.1.5",
3
+ "version": "3.2.1",
4
4
  "description": "A utility for formatting chart and report data to be usable by the frontend dashboard component.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",