@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 i in results) {
240
- for (let sum of sumsAfter) {
241
- if (!sums[req.body.sums[sum.mapping].mapping]) {
242
- sums[req.body.sums[sum.mapping].mapping] = Object.assign({}, req.body.sums[sum.mapping]);
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[req.body.sums[sum.mapping].mapping] +=
245
- results[i][sum.mapping] !== null &&
246
- results[i][sum.mapping] !== undefined &&
247
- !isNaN(parseFloat(results[i][sum.mapping]))
248
- ? parseFloat(results[i][sum.mapping])
249
- : 0;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webtypen/webframez-core",
3
- "version": "0.3.4",
3
+ "version": "0.3.7",
4
4
  "description": "The core package of the typescript based webframez (web-framework) by webtypen.de",
5
5
  "homepage": "https://webtypen.de/",
6
6
  "license": "MIT",
@@ -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 i in results) {
248
- for (let sum of sumsAfter) {
249
- if (!sums[req.body.sums[sum.mapping].mapping]) {
250
- sums[req.body.sums[sum.mapping].mapping] = {
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[req.body.sums[sum.mapping].mapping] +=
256
- results[i][sum.mapping] !== null &&
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