@webtypen/webframez-core 0.3.4 → 0.3.7
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.
|
@@ -303,6 +303,24 @@ class DataBuilder {
|
|
|
303
303
|
else if (fields[key].type === "integer") {
|
|
304
304
|
elementVal = parseInt(value);
|
|
305
305
|
}
|
|
306
|
+
// Integer datetime
|
|
307
|
+
else if (fields[key].type === "datetime") {
|
|
308
|
+
if (typeof value === "string") {
|
|
309
|
+
const [datePart, timePart] = value.trim().split(" ");
|
|
310
|
+
if (!datePart || datePart.trim() === "") {
|
|
311
|
+
elementVal = value;
|
|
312
|
+
}
|
|
313
|
+
else if (!datePart.includes("-") && datePart.match(/^\d{1,2}:\d{2}$/)) {
|
|
314
|
+
elementVal = null;
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
elementVal = datePart.trim() + " " + (timePart && timePart.includes(":") ? timePart.trim() : "00:00");
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
elementVal = null;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
306
324
|
// Standard
|
|
307
325
|
else {
|
|
308
326
|
elementVal = value;
|
|
@@ -201,7 +201,7 @@ class Datatable {
|
|
|
201
201
|
statsGroup.$group["sum_" + req.body.sums[key].mapping] = { $sum: "$" + req.body.sums[key].mapping };
|
|
202
202
|
}
|
|
203
203
|
else {
|
|
204
|
-
sumsAfter.push(req.body.sums[key]);
|
|
204
|
+
sumsAfter.push(Object.assign(Object.assign({}, req.body.sums[key]), { key: key }));
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
}
|
|
@@ -236,18 +236,22 @@ class Datatable {
|
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
if (sumsAfter && sumsAfter.length > 0) {
|
|
239
|
-
for (let
|
|
240
|
-
for (let
|
|
241
|
-
if (!sums[
|
|
242
|
-
sums[
|
|
239
|
+
for (let sum of sumsAfter) {
|
|
240
|
+
for (let i in results) {
|
|
241
|
+
if (!sums[sum.mapping] || !sums[sum.mapping].value) {
|
|
242
|
+
sums[sum.mapping] = Object.assign(Object.assign({}, req.body.sums[sum.key]), { value: 0 });
|
|
243
243
|
}
|
|
244
|
-
sums[
|
|
245
|
-
|
|
246
|
-
results[i][sum.mapping] !==
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
244
|
+
sums[sum.mapping].value =
|
|
245
|
+
(sums[sum.mapping].value ? sums[sum.mapping].value : 0) +
|
|
246
|
+
(results[i][sum.mapping] !== null &&
|
|
247
|
+
results[i][sum.mapping] !== undefined &&
|
|
248
|
+
!isNaN(parseFloat(results[i][sum.mapping]))
|
|
249
|
+
? parseFloat(results[i][sum.mapping])
|
|
250
|
+
: 0);
|
|
251
|
+
}
|
|
252
|
+
sums[sum.mapping].value =
|
|
253
|
+
NumericFunctions_1.NumericFunctions.numberFormat(sums[sum.mapping].value) +
|
|
254
|
+
(req.body.sums[sum.key].suffix ? req.body.sums[sum.key].suffix : "");
|
|
251
255
|
}
|
|
252
256
|
}
|
|
253
257
|
const data = {
|
package/package.json
CHANGED
|
@@ -380,6 +380,22 @@ export class DataBuilder {
|
|
|
380
380
|
elementVal = parseInt(value);
|
|
381
381
|
}
|
|
382
382
|
|
|
383
|
+
// Integer datetime
|
|
384
|
+
else if (fields[key].type === "datetime") {
|
|
385
|
+
if (typeof value === "string") {
|
|
386
|
+
const [datePart, timePart] = value.trim().split(" ");
|
|
387
|
+
if (!datePart || datePart.trim() === "") {
|
|
388
|
+
elementVal = value;
|
|
389
|
+
} else if (!datePart.includes("-") && datePart.match(/^\d{1,2}:\d{2}$/)) {
|
|
390
|
+
elementVal = null;
|
|
391
|
+
} else {
|
|
392
|
+
elementVal = datePart.trim() + " " + (timePart && timePart.includes(":") ? timePart.trim() : "00:00");
|
|
393
|
+
}
|
|
394
|
+
} else {
|
|
395
|
+
elementVal = null;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
|
|
383
399
|
// Standard
|
|
384
400
|
else {
|
|
385
401
|
elementVal = value;
|
|
@@ -200,7 +200,7 @@ export class Datatable {
|
|
|
200
200
|
if (req.body.sums[key].afterOnRow) {
|
|
201
201
|
statsGroup.$group["sum_" + req.body.sums[key].mapping] = { $sum: "$" + req.body.sums[key].mapping };
|
|
202
202
|
} else {
|
|
203
|
-
sumsAfter.push(req.body.sums[key]);
|
|
203
|
+
sumsAfter.push({ ...req.body.sums[key], key: key });
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
}
|
|
@@ -244,21 +244,24 @@ export class Datatable {
|
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
if (sumsAfter && sumsAfter.length > 0) {
|
|
247
|
-
for (let
|
|
248
|
-
for (let
|
|
249
|
-
if (!sums[
|
|
250
|
-
sums[req.body.sums[sum.
|
|
251
|
-
...req.body.sums[sum.mapping],
|
|
252
|
-
};
|
|
247
|
+
for (let sum of sumsAfter) {
|
|
248
|
+
for (let i in results) {
|
|
249
|
+
if (!sums[sum.mapping] || !sums[sum.mapping].value) {
|
|
250
|
+
sums[sum.mapping] = { ...req.body.sums[sum.key], value: 0 };
|
|
253
251
|
}
|
|
254
252
|
|
|
255
|
-
sums[
|
|
256
|
-
|
|
253
|
+
sums[sum.mapping].value =
|
|
254
|
+
(sums[sum.mapping].value ? sums[sum.mapping].value : 0) +
|
|
255
|
+
(results[i][sum.mapping] !== null &&
|
|
257
256
|
results[i][sum.mapping] !== undefined &&
|
|
258
257
|
!isNaN(parseFloat(results[i][sum.mapping]))
|
|
259
258
|
? parseFloat(results[i][sum.mapping])
|
|
260
|
-
: 0;
|
|
259
|
+
: 0);
|
|
261
260
|
}
|
|
261
|
+
|
|
262
|
+
sums[sum.mapping].value =
|
|
263
|
+
NumericFunctions.numberFormat(sums[sum.mapping].value) +
|
|
264
|
+
(req.body.sums[sum.key].suffix ? req.body.sums[sum.key].suffix : "");
|
|
262
265
|
}
|
|
263
266
|
}
|
|
264
267
|
|