@webtypen/webframez-core 0.2.50 → 0.2.52

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.
@@ -8,8 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.Datatable = void 0;
16
+ const moment_1 = __importDefault(require("moment"));
13
17
  const DBConnection_1 = require("../Database/DBConnection");
14
18
  const NumericFunctions_1 = require("../Functions/NumericFunctions");
15
19
  class Datatable {
@@ -333,59 +337,51 @@ class Datatable {
333
337
  }
334
338
  // Handle integer/float range
335
339
  if ((filterEl.type === "integer-range" ||
340
+ filterEl.type === "currency" ||
336
341
  filterEl.type === "float-range" ||
337
342
  filterEl.type === "date-range" ||
338
343
  filterEl.type === "daterange") &&
339
344
  valueClean !== undefined) {
340
345
  const mappingKey = filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key;
346
+ const cleanVal = (val) => {
347
+ return filterEl.type === "float-range" || filterEl.type === "currency"
348
+ ? parseFloat(val.toString().replace(",", "."))
349
+ : filterEl.type === "integer-range"
350
+ ? parseInt(val.toString().replace(",", "."))
351
+ : filterEl.type === "date-range" || filterEl.type === "daterange"
352
+ ? val.indexOf(".") > 0
353
+ ? (0, moment_1.default)(val, "DD.MM.YYYY").format("YYYY-MM-DD")
354
+ : val
355
+ : val;
356
+ };
341
357
  if (valueClean.startsWith("<=")) {
342
358
  const val = valueClean.replace("<=", "").trim();
343
359
  out[mappingKey] = {
344
- $lte: filterEl.type === "float-range"
345
- ? parseFloat(val.toString().replace(",", "."))
346
- : filterEl.type === "integer-range"
347
- ? parseInt(val.toString().replace(",", "."))
348
- : val,
360
+ $lte: cleanVal(val),
349
361
  };
350
362
  }
351
363
  else if (valueClean.startsWith("<")) {
352
364
  const val = valueClean.replace("<", "").trim();
353
365
  out[mappingKey] = {
354
- $lt: filterEl.type === "float-range"
355
- ? parseFloat(val.toString().replace(",", "."))
356
- : filterEl.type === "integer-range"
357
- ? parseInt(val.toString().replace(",", "."))
358
- : val,
366
+ $lt: cleanVal(val),
359
367
  };
360
368
  }
361
369
  else if (valueClean.startsWith(">=")) {
362
370
  const val = valueClean.replace(">=", "").trim();
363
371
  out[mappingKey] = {
364
- $gte: filterEl.type === "float-range"
365
- ? parseFloat(val.toString().replace(",", "."))
366
- : filterEl.type === "integer-range"
367
- ? parseInt(val.toString().replace(",", "."))
368
- : val,
372
+ $gte: cleanVal(val),
369
373
  };
370
374
  }
371
375
  else if (valueClean.startsWith(">")) {
372
376
  const val = valueClean.replace(">", "").trim();
373
377
  out[mappingKey] = {
374
- $gt: filterEl.type === "float-range"
375
- ? parseFloat(val.toString().replace(",", "."))
376
- : filterEl.type === "integer-range"
377
- ? parseInt(val.toString().replace(",", "."))
378
- : val,
378
+ $gt: cleanVal,
379
379
  };
380
380
  }
381
381
  else if (valueClean.startsWith("!=")) {
382
382
  const val = valueClean.replace("!=", "").trim();
383
383
  out[mappingKey] = {
384
- $ne: filterEl.type === "float-range"
385
- ? parseFloat(val.toString().replace(",", "."))
386
- : filterEl.type === "integer-range"
387
- ? parseInt(val.toString().replace(",", "."))
388
- : val,
384
+ $ne: cleanVal(val),
389
385
  };
390
386
  }
391
387
  else if (valueClean.indexOf("-") > 0) {
@@ -393,17 +389,12 @@ class Datatable {
393
389
  const min = range[0].toString().replace(",", ".");
394
390
  const max = range[1].toString().replace(",", ".");
395
391
  out[mappingKey] = {
396
- $gte: filterEl.type === "float-range" ? parseFloat(min) : filterEl.type === "integer-range" ? parseInt(min) : min,
397
- $lte: filterEl.type === "float-range" ? parseFloat(max) : filterEl.type === "integer-range" ? parseInt(max) : max,
392
+ $gte: cleanVal(min),
393
+ $lte: cleanVal(max),
398
394
  };
399
395
  }
400
396
  else {
401
- out[mappingKey] =
402
- filterEl.type === "float-range"
403
- ? parseFloat(valueClean.toString().replace(",", "."))
404
- : filterEl.type === "integer-range"
405
- ? parseInt(valueClean)
406
- : valueClean;
397
+ out[mappingKey] = cleanVal(valueClean);
407
398
  }
408
399
  continue;
409
400
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webtypen/webframez-core",
3
- "version": "0.2.50",
3
+ "version": "0.2.52",
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",
@@ -1,3 +1,4 @@
1
+ import moment from "moment";
1
2
  import { DBConnection } from "../Database/DBConnection";
2
3
  import { NumericFunctions } from "../Functions/NumericFunctions";
3
4
  import { Request } from "../Router/Request";
@@ -348,66 +349,55 @@ export class Datatable {
348
349
  // Handle integer/float range
349
350
  if (
350
351
  (filterEl.type === "integer-range" ||
352
+ filterEl.type === "currency" ||
351
353
  filterEl.type === "float-range" ||
352
354
  filterEl.type === "date-range" ||
353
355
  filterEl.type === "daterange") &&
354
356
  valueClean !== undefined
355
357
  ) {
356
358
  const mappingKey = filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key;
359
+
360
+ const cleanVal = (val: any) => {
361
+ return filterEl.type === "float-range" || filterEl.type === "currency"
362
+ ? parseFloat(val.toString().replace(",", "."))
363
+ : filterEl.type === "integer-range"
364
+ ? parseInt(val.toString().replace(",", "."))
365
+ : filterEl.type === "date-range" || filterEl.type === "daterange"
366
+ ? val.indexOf(".") > 0
367
+ ? moment(val, "DD.MM.YYYY").format("YYYY-MM-DD")
368
+ : val
369
+ : val;
370
+ };
371
+
357
372
  if (valueClean.startsWith("<=")) {
358
373
  const val = valueClean.replace("<=", "").trim();
359
374
 
360
375
  out[mappingKey] = {
361
- $lte:
362
- filterEl.type === "float-range"
363
- ? parseFloat(val.toString().replace(",", "."))
364
- : filterEl.type === "integer-range"
365
- ? parseInt(val.toString().replace(",", "."))
366
- : val,
376
+ $lte: cleanVal(val),
367
377
  };
368
378
  } else if (valueClean.startsWith("<")) {
369
379
  const val = valueClean.replace("<", "").trim();
370
380
 
371
381
  out[mappingKey] = {
372
- $lt:
373
- filterEl.type === "float-range"
374
- ? parseFloat(val.toString().replace(",", "."))
375
- : filterEl.type === "integer-range"
376
- ? parseInt(val.toString().replace(",", "."))
377
- : val,
382
+ $lt: cleanVal(val),
378
383
  };
379
384
  } else if (valueClean.startsWith(">=")) {
380
385
  const val = valueClean.replace(">=", "").trim();
381
386
 
382
387
  out[mappingKey] = {
383
- $gte:
384
- filterEl.type === "float-range"
385
- ? parseFloat(val.toString().replace(",", "."))
386
- : filterEl.type === "integer-range"
387
- ? parseInt(val.toString().replace(",", "."))
388
- : val,
388
+ $gte: cleanVal(val),
389
389
  };
390
390
  } else if (valueClean.startsWith(">")) {
391
391
  const val = valueClean.replace(">", "").trim();
392
392
 
393
393
  out[mappingKey] = {
394
- $gt:
395
- filterEl.type === "float-range"
396
- ? parseFloat(val.toString().replace(",", "."))
397
- : filterEl.type === "integer-range"
398
- ? parseInt(val.toString().replace(",", "."))
399
- : val,
394
+ $gt: cleanVal,
400
395
  };
401
396
  } else if (valueClean.startsWith("!=")) {
402
397
  const val = valueClean.replace("!=", "").trim();
403
398
 
404
399
  out[mappingKey] = {
405
- $ne:
406
- filterEl.type === "float-range"
407
- ? parseFloat(val.toString().replace(",", "."))
408
- : filterEl.type === "integer-range"
409
- ? parseInt(val.toString().replace(",", "."))
410
- : val,
400
+ $ne: cleanVal(val),
411
401
  };
412
402
  } else if (valueClean.indexOf("-") > 0) {
413
403
  const range = valueClean.split("-");
@@ -415,16 +405,11 @@ export class Datatable {
415
405
  const max = range[1].toString().replace(",", ".");
416
406
 
417
407
  out[mappingKey] = {
418
- $gte: filterEl.type === "float-range" ? parseFloat(min) : filterEl.type === "integer-range" ? parseInt(min) : min,
419
- $lte: filterEl.type === "float-range" ? parseFloat(max) : filterEl.type === "integer-range" ? parseInt(max) : max,
408
+ $gte: cleanVal(min),
409
+ $lte: cleanVal(max),
420
410
  };
421
411
  } else {
422
- out[mappingKey] =
423
- filterEl.type === "float-range"
424
- ? parseFloat(valueClean.toString().replace(",", "."))
425
- : filterEl.type === "integer-range"
426
- ? parseInt(valueClean)
427
- : valueClean;
412
+ out[mappingKey] = cleanVal(valueClean);
428
413
  }
429
414
 
430
415
  continue;