@isoftdata/utility-dashboard-backend 2.4.0 → 2.4.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/README.md +177 -177
- package/dist/chart-helper.d.ts +30 -30
- package/dist/chart-helper.js +255 -255
- package/dist/formatting-templates.d.ts +3 -3
- package/dist/formatting-templates.js +16 -16
- package/dist/index.d.ts +82 -82
- package/dist/index.js +345 -345
- package/dist/style-templates.d.ts +4 -4
- package/dist/style-templates.js +37 -37
- package/dist/types/chart.d.ts +92 -92
- package/dist/types/chart.js +2 -2
- package/dist/types/parameter.d.ts +38 -38
- package/dist/types/parameter.js +2 -2
- package/dist/types/report.d.ts +25 -24
- package/dist/types/report.js +2 -2
- package/dist/types/session.d.ts +10 -10
- package/dist/types/session.js +2 -2
- package/package.json +46 -46
package/dist/chart-helper.js
CHANGED
|
@@ -1,256 +1,256 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getRactiveTableDataFormat = exports.makeDataCumulative = exports.getDataTableFormat = exports.handleFormattingTemplates = exports.coerceNullColumn = exports.makeNegativeNumericValuesZero = exports.getMultiSeriesData = exports.queryWithFields = void 0;
|
|
7
|
-
const formatting_templates_1 = __importDefault(require("./formatting-templates"));
|
|
8
|
-
const toSnakeCase = require('to-snake-case');
|
|
9
|
-
const mysqlDataTypes = require('mysql/lib/protocol/constants/types');
|
|
10
|
-
const style_templates_1 = __importDefault(require("./style-templates"));
|
|
11
|
-
function mysqlToGoogleChartsDataTypeMap(mysqlDataType) {
|
|
12
|
-
switch (mysqlDataType) {
|
|
13
|
-
case 'VAR_STRING':
|
|
14
|
-
case 'STRING':
|
|
15
|
-
case 'ENUM':
|
|
16
|
-
case 'VARCHAR':
|
|
17
|
-
return 'string';
|
|
18
|
-
case 'DECIMAL':
|
|
19
|
-
case 'NEWDECIMAL':
|
|
20
|
-
case 'BIT':
|
|
21
|
-
case 'TINY':
|
|
22
|
-
case 'SHORT':
|
|
23
|
-
case 'LONG':
|
|
24
|
-
case 'FLOAT':
|
|
25
|
-
case 'DOUBLE':
|
|
26
|
-
case 'LONGLONG':
|
|
27
|
-
case 'INT24':
|
|
28
|
-
case 'YEAR':
|
|
29
|
-
return 'number';
|
|
30
|
-
case 'TIMESTAMP':
|
|
31
|
-
case 'DATETIME':
|
|
32
|
-
case 'TIMESTAMP2':
|
|
33
|
-
case 'DATETIME2':
|
|
34
|
-
return 'datetime';
|
|
35
|
-
case 'DATE':
|
|
36
|
-
case 'NEWDATE':
|
|
37
|
-
return 'date';
|
|
38
|
-
case 'TIME':
|
|
39
|
-
case 'TIME2':
|
|
40
|
-
return 'timeofday';
|
|
41
|
-
default:
|
|
42
|
-
return 'string';
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
function makeDataTableCol(key, fields, role = null) {
|
|
46
|
-
return {
|
|
47
|
-
id: toSnakeCase(key).toLowerCase(),
|
|
48
|
-
label: key,
|
|
49
|
-
type: fields[key],
|
|
50
|
-
role,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
function resultsIsRowDataPacketArray(results) {
|
|
54
|
-
return (Array.isArray(results) && results.length === 0) || (Array.isArray(results) && results.length > 0 && results[0].constructor.name === 'RowDataPacket');
|
|
55
|
-
}
|
|
56
|
-
function fieldsIsFieldPacketArray(fields) {
|
|
57
|
-
return (Array.isArray(fields) && fields.length === 0) || (Array.isArray(fields) && fields.length > 0 && fields[0].constructor.name === 'FieldPacket');
|
|
58
|
-
}
|
|
59
|
-
function queryWithFields(connection, query) {
|
|
60
|
-
return new Promise((resolve, reject) => {
|
|
61
|
-
connection.query(query, (err, results, fields) => {
|
|
62
|
-
try {
|
|
63
|
-
if (err) {
|
|
64
|
-
console.error('Error running query for dashboard chart', err);
|
|
65
|
-
reject(err);
|
|
66
|
-
}
|
|
67
|
-
else if (!resultsIsRowDataPacketArray(results)) {
|
|
68
|
-
reject(new Error('Query did not return a valid result set. Ensure that the chart has exactly one valid SELECT query.'));
|
|
69
|
-
}
|
|
70
|
-
else if (!fieldsIsFieldPacketArray(fields)) {
|
|
71
|
-
reject(new Error('Query did not return a valid field set.'));
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
resolve({
|
|
75
|
-
results,
|
|
76
|
-
fields: fields?.reduce((sum, field) => {
|
|
77
|
-
return {
|
|
78
|
-
...sum,
|
|
79
|
-
[field.name]: mysqlToGoogleChartsDataTypeMap(mysqlDataTypes[field.type] || field.type),
|
|
80
|
-
};
|
|
81
|
-
}, {}) ?? {},
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
catch (err) {
|
|
86
|
-
reject(err);
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
exports.queryWithFields = queryWithFields;
|
|
92
|
-
function getMultiSeriesData({ data: queryResult, seriesOptions, formatting, fields }) {
|
|
93
|
-
const { groupXAxisBy, series, value, tooltip } = seriesOptions;
|
|
94
|
-
const allOfTheKeysInTheSeries = new Set(queryResult.map(row => row[series]));
|
|
95
|
-
const objectOfAllKeysWithNullValues = {};
|
|
96
|
-
for (const key of allOfTheKeysInTheSeries) {
|
|
97
|
-
objectOfAllKeysWithNullValues[key] = null;
|
|
98
|
-
if (tooltip) {
|
|
99
|
-
objectOfAllKeysWithNullValues[`${tooltip} ${key}`] = null;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
const grouped = {};
|
|
103
|
-
for (const row of queryResult) {
|
|
104
|
-
if (!grouped[row[groupXAxisBy]]) {
|
|
105
|
-
grouped[row[groupXAxisBy]] = { ...objectOfAllKeysWithNullValues };
|
|
106
|
-
}
|
|
107
|
-
grouped[row[groupXAxisBy]][row[series]] = row[value];
|
|
108
|
-
if (tooltip) {
|
|
109
|
-
grouped[row[groupXAxisBy]][`${tooltip} ${row[series]}`] = row[tooltip];
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
const seriesFields = { [groupXAxisBy]: fields[groupXAxisBy] };
|
|
113
|
-
const seriesFormatting = {};
|
|
114
|
-
for (const key of allOfTheKeysInTheSeries) {
|
|
115
|
-
seriesFields[key] = fields[value];
|
|
116
|
-
if (tooltip) {
|
|
117
|
-
seriesFields[`${tooltip} ${key}`] = fields[tooltip];
|
|
118
|
-
}
|
|
119
|
-
if (formatting && value in formatting) {
|
|
120
|
-
seriesFormatting[key] = formatting[value];
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
const multiSeriesData = [];
|
|
124
|
-
for (const key in grouped) {
|
|
125
|
-
multiSeriesData.push({
|
|
126
|
-
[groupXAxisBy]: key,
|
|
127
|
-
...grouped[key],
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
return {
|
|
131
|
-
data: multiSeriesData,
|
|
132
|
-
formatting: {
|
|
133
|
-
...formatting,
|
|
134
|
-
...seriesFormatting,
|
|
135
|
-
},
|
|
136
|
-
fields: seriesFields,
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
exports.getMultiSeriesData = getMultiSeriesData;
|
|
140
|
-
function makeNegativeNumericValuesZero(resultSet) {
|
|
141
|
-
const numberCols = Object.keys(resultSet[0]).filter(key => typeof resultSet[0][key] === 'number');
|
|
142
|
-
return resultSet.map(row => {
|
|
143
|
-
numberCols.forEach(col => {
|
|
144
|
-
if (row[col] < 0) {
|
|
145
|
-
row[col] = 0;
|
|
146
|
-
}
|
|
147
|
-
});
|
|
148
|
-
return row;
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
exports.makeNegativeNumericValuesZero = makeNegativeNumericValuesZero;
|
|
152
|
-
function coerceNullColumn(columnProp, data, destinationType) {
|
|
153
|
-
const hasNullValue = data.find(row => row[columnProp] === null);
|
|
154
|
-
if (hasNullValue) {
|
|
155
|
-
const rowWithValidValue = data.find(row => row[columnProp] !== null);
|
|
156
|
-
let nullReplacement = '';
|
|
157
|
-
if ((destinationType && destinationType === 'number') || (rowWithValidValue && typeof rowWithValidValue[columnProp] === 'number')) {
|
|
158
|
-
nullReplacement = 0;
|
|
159
|
-
}
|
|
160
|
-
return data.map(row => {
|
|
161
|
-
return {
|
|
162
|
-
...row,
|
|
163
|
-
[columnProp]: row[columnProp] ?? nullReplacement,
|
|
164
|
-
};
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
return data;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
exports.coerceNullColumn = coerceNullColumn;
|
|
172
|
-
function handleFormattingTemplates(formatting) {
|
|
173
|
-
const formattingOutput = {};
|
|
174
|
-
if (formatting && typeof formatting === 'object') {
|
|
175
|
-
for (const key in formatting) {
|
|
176
|
-
formattingOutput[key] = { type: formatting[key].type, format: null };
|
|
177
|
-
if (typeof formatting[key].format === 'string') {
|
|
178
|
-
if (formatting[key].format in formatting_templates_1.default) {
|
|
179
|
-
formattingOutput[key].format = formatting_templates_1.default[formatting[key].format];
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
return formattingOutput;
|
|
185
|
-
}
|
|
186
|
-
exports.handleFormattingTemplates = handleFormattingTemplates;
|
|
187
|
-
function getDataTableFormat(data, fields, multiSeries) {
|
|
188
|
-
let cols = [];
|
|
189
|
-
if (multiSeries) {
|
|
190
|
-
cols = [makeDataTableCol(multiSeries.groupXAxisBy, fields)];
|
|
191
|
-
}
|
|
192
|
-
for (const key in fields) {
|
|
193
|
-
if (!multiSeries || key !== multiSeries.groupXAxisBy) {
|
|
194
|
-
if (multiSeries?.tooltip && key.includes(multiSeries.tooltip)) {
|
|
195
|
-
cols.push(makeDataTableCol(key, fields, 'tooltip'));
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
cols.push(makeDataTableCol(key, fields));
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
const rows = data.map(row => {
|
|
203
|
-
const items = [];
|
|
204
|
-
for (const column in row) {
|
|
205
|
-
items.push({ v: row[column] });
|
|
206
|
-
}
|
|
207
|
-
return {
|
|
208
|
-
c: items,
|
|
209
|
-
};
|
|
210
|
-
});
|
|
211
|
-
return { cols, rows };
|
|
212
|
-
}
|
|
213
|
-
exports.getDataTableFormat = getDataTableFormat;
|
|
214
|
-
function makeDataCumulative(dataTable, cumulative = true) {
|
|
215
|
-
dataTable.rows.forEach((row, rowIndex) => {
|
|
216
|
-
if (rowIndex > 0) {
|
|
217
|
-
row.c.forEach((col, colIndex) => {
|
|
218
|
-
if (colIndex > 0 && col.v == null && dataTable.rows[rowIndex - 1].c[colIndex].v !== null) {
|
|
219
|
-
col.v = Number(dataTable.rows[rowIndex - 1].c[colIndex].v);
|
|
220
|
-
}
|
|
221
|
-
else if (cumulative && colIndex > 0 && dataTable.rows[rowIndex - 1].c[colIndex].v !== null) {
|
|
222
|
-
col.v = Number(col.v) + Number(dataTable.rows[rowIndex - 1].c[colIndex].v);
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
});
|
|
227
|
-
return dataTable;
|
|
228
|
-
}
|
|
229
|
-
exports.makeDataCumulative = makeDataCumulative;
|
|
230
|
-
function getRactiveTableDataFormat(rows, fields, formatting, styleTemplates = {}) {
|
|
231
|
-
const columns = Object.keys(fields).map(field => {
|
|
232
|
-
if (formatting?.[field]?.type === 'NumberFormat' && formatting?.[field]?.format?.prefix === '$') {
|
|
233
|
-
return {
|
|
234
|
-
property: `${field}[value]`,
|
|
235
|
-
name: field,
|
|
236
|
-
class: 'text-right border-top-0',
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
return {
|
|
240
|
-
property: `${field}[value]`,
|
|
241
|
-
name: field,
|
|
242
|
-
class: 'border-top-0',
|
|
243
|
-
};
|
|
244
|
-
});
|
|
245
|
-
if (styleTemplates) {
|
|
246
|
-
rows = rows.map(row => {
|
|
247
|
-
return (0, style_templates_1.default)(row, styleTemplates);
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
return {
|
|
251
|
-
columns,
|
|
252
|
-
rows,
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
exports.getRactiveTableDataFormat = getRactiveTableDataFormat;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getRactiveTableDataFormat = exports.makeDataCumulative = exports.getDataTableFormat = exports.handleFormattingTemplates = exports.coerceNullColumn = exports.makeNegativeNumericValuesZero = exports.getMultiSeriesData = exports.queryWithFields = void 0;
|
|
7
|
+
const formatting_templates_1 = __importDefault(require("./formatting-templates"));
|
|
8
|
+
const toSnakeCase = require('to-snake-case');
|
|
9
|
+
const mysqlDataTypes = require('mysql/lib/protocol/constants/types');
|
|
10
|
+
const style_templates_1 = __importDefault(require("./style-templates"));
|
|
11
|
+
function mysqlToGoogleChartsDataTypeMap(mysqlDataType) {
|
|
12
|
+
switch (mysqlDataType) {
|
|
13
|
+
case 'VAR_STRING':
|
|
14
|
+
case 'STRING':
|
|
15
|
+
case 'ENUM':
|
|
16
|
+
case 'VARCHAR':
|
|
17
|
+
return 'string';
|
|
18
|
+
case 'DECIMAL':
|
|
19
|
+
case 'NEWDECIMAL':
|
|
20
|
+
case 'BIT':
|
|
21
|
+
case 'TINY':
|
|
22
|
+
case 'SHORT':
|
|
23
|
+
case 'LONG':
|
|
24
|
+
case 'FLOAT':
|
|
25
|
+
case 'DOUBLE':
|
|
26
|
+
case 'LONGLONG':
|
|
27
|
+
case 'INT24':
|
|
28
|
+
case 'YEAR':
|
|
29
|
+
return 'number';
|
|
30
|
+
case 'TIMESTAMP':
|
|
31
|
+
case 'DATETIME':
|
|
32
|
+
case 'TIMESTAMP2':
|
|
33
|
+
case 'DATETIME2':
|
|
34
|
+
return 'datetime';
|
|
35
|
+
case 'DATE':
|
|
36
|
+
case 'NEWDATE':
|
|
37
|
+
return 'date';
|
|
38
|
+
case 'TIME':
|
|
39
|
+
case 'TIME2':
|
|
40
|
+
return 'timeofday';
|
|
41
|
+
default:
|
|
42
|
+
return 'string';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function makeDataTableCol(key, fields, role = null) {
|
|
46
|
+
return {
|
|
47
|
+
id: toSnakeCase(key).toLowerCase(),
|
|
48
|
+
label: key,
|
|
49
|
+
type: fields[key],
|
|
50
|
+
role,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function resultsIsRowDataPacketArray(results) {
|
|
54
|
+
return (Array.isArray(results) && results.length === 0) || (Array.isArray(results) && results.length > 0 && results[0].constructor.name === 'RowDataPacket');
|
|
55
|
+
}
|
|
56
|
+
function fieldsIsFieldPacketArray(fields) {
|
|
57
|
+
return (Array.isArray(fields) && fields.length === 0) || (Array.isArray(fields) && fields.length > 0 && fields[0].constructor.name === 'FieldPacket');
|
|
58
|
+
}
|
|
59
|
+
function queryWithFields(connection, query) {
|
|
60
|
+
return new Promise((resolve, reject) => {
|
|
61
|
+
connection.query(query, (err, results, fields) => {
|
|
62
|
+
try {
|
|
63
|
+
if (err) {
|
|
64
|
+
console.error('Error running query for dashboard chart', err);
|
|
65
|
+
reject(err);
|
|
66
|
+
}
|
|
67
|
+
else if (!resultsIsRowDataPacketArray(results)) {
|
|
68
|
+
reject(new Error('Query did not return a valid result set. Ensure that the chart has exactly one valid SELECT query.'));
|
|
69
|
+
}
|
|
70
|
+
else if (!fieldsIsFieldPacketArray(fields)) {
|
|
71
|
+
reject(new Error('Query did not return a valid field set.'));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
resolve({
|
|
75
|
+
results,
|
|
76
|
+
fields: fields?.reduce((sum, field) => {
|
|
77
|
+
return {
|
|
78
|
+
...sum,
|
|
79
|
+
[field.name]: mysqlToGoogleChartsDataTypeMap(mysqlDataTypes[field.type] || field.type),
|
|
80
|
+
};
|
|
81
|
+
}, {}) ?? {},
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
reject(err);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
exports.queryWithFields = queryWithFields;
|
|
92
|
+
function getMultiSeriesData({ data: queryResult, seriesOptions, formatting, fields }) {
|
|
93
|
+
const { groupXAxisBy, series, value, tooltip } = seriesOptions;
|
|
94
|
+
const allOfTheKeysInTheSeries = new Set(queryResult.map(row => row[series]));
|
|
95
|
+
const objectOfAllKeysWithNullValues = {};
|
|
96
|
+
for (const key of allOfTheKeysInTheSeries) {
|
|
97
|
+
objectOfAllKeysWithNullValues[key] = null;
|
|
98
|
+
if (tooltip) {
|
|
99
|
+
objectOfAllKeysWithNullValues[`${tooltip} ${key}`] = null;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const grouped = {};
|
|
103
|
+
for (const row of queryResult) {
|
|
104
|
+
if (!grouped[row[groupXAxisBy]]) {
|
|
105
|
+
grouped[row[groupXAxisBy]] = { ...objectOfAllKeysWithNullValues };
|
|
106
|
+
}
|
|
107
|
+
grouped[row[groupXAxisBy]][row[series]] = row[value];
|
|
108
|
+
if (tooltip) {
|
|
109
|
+
grouped[row[groupXAxisBy]][`${tooltip} ${row[series]}`] = row[tooltip];
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const seriesFields = { [groupXAxisBy]: fields[groupXAxisBy] };
|
|
113
|
+
const seriesFormatting = {};
|
|
114
|
+
for (const key of allOfTheKeysInTheSeries) {
|
|
115
|
+
seriesFields[key] = fields[value];
|
|
116
|
+
if (tooltip) {
|
|
117
|
+
seriesFields[`${tooltip} ${key}`] = fields[tooltip];
|
|
118
|
+
}
|
|
119
|
+
if (formatting && value in formatting) {
|
|
120
|
+
seriesFormatting[key] = formatting[value];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const multiSeriesData = [];
|
|
124
|
+
for (const key in grouped) {
|
|
125
|
+
multiSeriesData.push({
|
|
126
|
+
[groupXAxisBy]: key,
|
|
127
|
+
...grouped[key],
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
data: multiSeriesData,
|
|
132
|
+
formatting: {
|
|
133
|
+
...formatting,
|
|
134
|
+
...seriesFormatting,
|
|
135
|
+
},
|
|
136
|
+
fields: seriesFields,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
exports.getMultiSeriesData = getMultiSeriesData;
|
|
140
|
+
function makeNegativeNumericValuesZero(resultSet) {
|
|
141
|
+
const numberCols = Object.keys(resultSet[0]).filter(key => typeof resultSet[0][key] === 'number');
|
|
142
|
+
return resultSet.map(row => {
|
|
143
|
+
numberCols.forEach(col => {
|
|
144
|
+
if (row[col] < 0) {
|
|
145
|
+
row[col] = 0;
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
return row;
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
exports.makeNegativeNumericValuesZero = makeNegativeNumericValuesZero;
|
|
152
|
+
function coerceNullColumn(columnProp, data, destinationType) {
|
|
153
|
+
const hasNullValue = data.find(row => row[columnProp] === null);
|
|
154
|
+
if (hasNullValue) {
|
|
155
|
+
const rowWithValidValue = data.find(row => row[columnProp] !== null);
|
|
156
|
+
let nullReplacement = '';
|
|
157
|
+
if ((destinationType && destinationType === 'number') || (rowWithValidValue && typeof rowWithValidValue[columnProp] === 'number')) {
|
|
158
|
+
nullReplacement = 0;
|
|
159
|
+
}
|
|
160
|
+
return data.map(row => {
|
|
161
|
+
return {
|
|
162
|
+
...row,
|
|
163
|
+
[columnProp]: row[columnProp] ?? nullReplacement,
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
return data;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
exports.coerceNullColumn = coerceNullColumn;
|
|
172
|
+
function handleFormattingTemplates(formatting) {
|
|
173
|
+
const formattingOutput = {};
|
|
174
|
+
if (formatting && typeof formatting === 'object') {
|
|
175
|
+
for (const key in formatting) {
|
|
176
|
+
formattingOutput[key] = { type: formatting[key].type, format: null };
|
|
177
|
+
if (typeof formatting[key].format === 'string') {
|
|
178
|
+
if (formatting[key].format in formatting_templates_1.default) {
|
|
179
|
+
formattingOutput[key].format = formatting_templates_1.default[formatting[key].format];
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return formattingOutput;
|
|
185
|
+
}
|
|
186
|
+
exports.handleFormattingTemplates = handleFormattingTemplates;
|
|
187
|
+
function getDataTableFormat(data, fields, multiSeries) {
|
|
188
|
+
let cols = [];
|
|
189
|
+
if (multiSeries) {
|
|
190
|
+
cols = [makeDataTableCol(multiSeries.groupXAxisBy, fields)];
|
|
191
|
+
}
|
|
192
|
+
for (const key in fields) {
|
|
193
|
+
if (!multiSeries || key !== multiSeries.groupXAxisBy) {
|
|
194
|
+
if (multiSeries?.tooltip && key.includes(multiSeries.tooltip)) {
|
|
195
|
+
cols.push(makeDataTableCol(key, fields, 'tooltip'));
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
cols.push(makeDataTableCol(key, fields));
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
const rows = data.map(row => {
|
|
203
|
+
const items = [];
|
|
204
|
+
for (const column in row) {
|
|
205
|
+
items.push({ v: row[column] });
|
|
206
|
+
}
|
|
207
|
+
return {
|
|
208
|
+
c: items,
|
|
209
|
+
};
|
|
210
|
+
});
|
|
211
|
+
return { cols, rows };
|
|
212
|
+
}
|
|
213
|
+
exports.getDataTableFormat = getDataTableFormat;
|
|
214
|
+
function makeDataCumulative(dataTable, cumulative = true) {
|
|
215
|
+
dataTable.rows.forEach((row, rowIndex) => {
|
|
216
|
+
if (rowIndex > 0) {
|
|
217
|
+
row.c.forEach((col, colIndex) => {
|
|
218
|
+
if (colIndex > 0 && col.v == null && dataTable.rows[rowIndex - 1].c[colIndex].v !== null) {
|
|
219
|
+
col.v = Number(dataTable.rows[rowIndex - 1].c[colIndex].v);
|
|
220
|
+
}
|
|
221
|
+
else if (cumulative && colIndex > 0 && dataTable.rows[rowIndex - 1].c[colIndex].v !== null) {
|
|
222
|
+
col.v = Number(col.v) + Number(dataTable.rows[rowIndex - 1].c[colIndex].v);
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
return dataTable;
|
|
228
|
+
}
|
|
229
|
+
exports.makeDataCumulative = makeDataCumulative;
|
|
230
|
+
function getRactiveTableDataFormat(rows, fields, formatting, styleTemplates = {}) {
|
|
231
|
+
const columns = Object.keys(fields).map(field => {
|
|
232
|
+
if (formatting?.[field]?.type === 'NumberFormat' && formatting?.[field]?.format?.prefix === '$') {
|
|
233
|
+
return {
|
|
234
|
+
property: `${field}[value]`,
|
|
235
|
+
name: field,
|
|
236
|
+
class: 'text-right border-top-0',
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
property: `${field}[value]`,
|
|
241
|
+
name: field,
|
|
242
|
+
class: 'border-top-0',
|
|
243
|
+
};
|
|
244
|
+
});
|
|
245
|
+
if (styleTemplates) {
|
|
246
|
+
rows = rows.map(row => {
|
|
247
|
+
return (0, style_templates_1.default)(row, styleTemplates);
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
return {
|
|
251
|
+
columns,
|
|
252
|
+
rows,
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
exports.getRactiveTableDataFormat = getRactiveTableDataFormat;
|
|
256
256
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NoYXJ0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQSxrRkFBdUQ7QUFDdkQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0FBRXBFLHdFQUE2QztBQUU3QyxTQUFTLDhCQUE4QixDQUFDLGFBQXFCO0lBQzVELFFBQVEsYUFBYSxFQUFFO1FBQ3RCLEtBQUssWUFBWSxDQUFDO1FBQ2xCLEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLFNBQVM7WUFDYixPQUFPLFFBQVEsQ0FBQTtRQUNoQixLQUFLLFNBQVMsQ0FBQztRQUNmLEtBQUssWUFBWSxDQUFDO1FBQ2xCLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLE9BQU8sQ0FBQztRQUNiLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLFFBQVEsQ0FBQztRQUNkLEtBQUssVUFBVSxDQUFDO1FBQ2hCLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxNQUFNO1lBQ1YsT0FBTyxRQUFRLENBQUE7UUFDaEIsS0FBSyxXQUFXLENBQUM7UUFDakIsS0FBSyxVQUFVLENBQUM7UUFDaEIsS0FBSyxZQUFZLENBQUM7UUFDbEIsS0FBSyxXQUFXO1lBQ2YsT0FBTyxVQUFVLENBQUE7UUFDbEIsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLFNBQVM7WUFDYixPQUFPLE1BQU0sQ0FBQTtRQUNkLEtBQUssTUFBTSxDQUFDO1FBQ1osS0FBSyxPQUFPO1lBQ1gsT0FBTyxXQUFXLENBQUE7UUFDbkI7WUFDQyxPQUFPLFFBQVEsQ0FBQTtLQUNoQjtBQUNGLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEdB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
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { FormattingTemplates } from "./types/chart";
|
|
2
|
-
declare const formattingTemplates: FormattingTemplates;
|
|
3
|
-
export default formattingTemplates;
|
|
1
|
+
import { FormattingTemplates } from "./types/chart";
|
|
2
|
+
declare const formattingTemplates: FormattingTemplates;
|
|
3
|
+
export default formattingTemplates;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const formattingTemplates = {
|
|
4
|
-
"CURRENCY": {
|
|
5
|
-
"prefix": "$",
|
|
6
|
-
"fractionDigits": 2,
|
|
7
|
-
"groupingSymbol": ",",
|
|
8
|
-
},
|
|
9
|
-
"MEDIUMDATE": {
|
|
10
|
-
"format": "medium",
|
|
11
|
-
},
|
|
12
|
-
"LONGDATE": {
|
|
13
|
-
"format": "long",
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
exports.default = formattingTemplates;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const formattingTemplates = {
|
|
4
|
+
"CURRENCY": {
|
|
5
|
+
"prefix": "$",
|
|
6
|
+
"fractionDigits": 2,
|
|
7
|
+
"groupingSymbol": ",",
|
|
8
|
+
},
|
|
9
|
+
"MEDIUMDATE": {
|
|
10
|
+
"format": "medium",
|
|
11
|
+
},
|
|
12
|
+
"LONGDATE": {
|
|
13
|
+
"format": "long",
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
exports.default = formattingTemplates;
|
|
17
17
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGluZy10ZW1wbGF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZm9ybWF0dGluZy10ZW1wbGF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxNQUFNLG1CQUFtQixHQUF3QjtJQUNoRCxVQUFVLEVBQUU7UUFDWCxRQUFRLEVBQUUsR0FBRztRQUNiLGdCQUFnQixFQUFFLENBQUM7UUFDbkIsZ0JBQWdCLEVBQUUsR0FBRztLQUNyQjtJQUNELFlBQVksRUFBRTtRQUNiLFFBQVEsRUFBRSxRQUFRO0tBQ2xCO0lBQ0QsVUFBVSxFQUFFO1FBQ1gsUUFBUSxFQUFFLE1BQU07S0FDaEI7Q0FDRCxDQUFBO0FBQ0Qsa0JBQWUsbUJBQW1CLENBQUEifQ==
|