@webtypen/webframez-core 0.2.49 → 0.2.51

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.
@@ -332,19 +332,87 @@ class Datatable {
332
332
  }
333
333
  }
334
334
  // Handle integer/float range
335
- if ((filterEl.type === "integer-range" || filterEl.type === "float-range") && valueClean !== undefined) {
336
- if (valueClean.indexOf("-") > 0) {
335
+ if ((filterEl.type === "integer-range" ||
336
+ filterEl.type === "currency" ||
337
+ filterEl.type === "float-range" ||
338
+ filterEl.type === "date-range" ||
339
+ filterEl.type === "daterange") &&
340
+ valueClean !== undefined) {
341
+ const mappingKey = filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key;
342
+ if (valueClean.startsWith("<=")) {
343
+ const val = valueClean.replace("<=", "").trim();
344
+ out[mappingKey] = {
345
+ $lte: filterEl.type === "float-range" || filterEl.type === "currency"
346
+ ? parseFloat(val.toString().replace(",", "."))
347
+ : filterEl.type === "integer-range"
348
+ ? parseInt(val.toString().replace(",", "."))
349
+ : val,
350
+ };
351
+ }
352
+ else if (valueClean.startsWith("<")) {
353
+ const val = valueClean.replace("<", "").trim();
354
+ out[mappingKey] = {
355
+ $lt: filterEl.type === "float-range" || filterEl.type === "currency"
356
+ ? parseFloat(val.toString().replace(",", "."))
357
+ : filterEl.type === "integer-range"
358
+ ? parseInt(val.toString().replace(",", "."))
359
+ : val,
360
+ };
361
+ }
362
+ else if (valueClean.startsWith(">=")) {
363
+ const val = valueClean.replace(">=", "").trim();
364
+ out[mappingKey] = {
365
+ $gte: filterEl.type === "float-range" || filterEl.type === "currency"
366
+ ? parseFloat(val.toString().replace(",", "."))
367
+ : filterEl.type === "integer-range"
368
+ ? parseInt(val.toString().replace(",", "."))
369
+ : val,
370
+ };
371
+ }
372
+ else if (valueClean.startsWith(">")) {
373
+ const val = valueClean.replace(">", "").trim();
374
+ out[mappingKey] = {
375
+ $gt: filterEl.type === "float-range" || filterEl.type === "currency"
376
+ ? parseFloat(val.toString().replace(",", "."))
377
+ : filterEl.type === "integer-range"
378
+ ? parseInt(val.toString().replace(",", "."))
379
+ : val,
380
+ };
381
+ }
382
+ else if (valueClean.startsWith("!=")) {
383
+ const val = valueClean.replace("!=", "").trim();
384
+ out[mappingKey] = {
385
+ $ne: filterEl.type === "float-range" || filterEl.type === "currency"
386
+ ? parseFloat(val.toString().replace(",", "."))
387
+ : filterEl.type === "integer-range"
388
+ ? parseInt(val.toString().replace(",", "."))
389
+ : val,
390
+ };
391
+ }
392
+ else if (valueClean.indexOf("-") > 0) {
337
393
  const range = valueClean.split("-");
338
394
  const min = range[0].toString().replace(",", ".");
339
395
  const max = range[1].toString().replace(",", ".");
340
- out[filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key] = {
341
- $gte: filterEl.type === "float-range" ? parseFloat(min) : parseInt(min),
342
- $lte: filterEl.type === "float-range" ? parseFloat(max) : parseInt(max),
396
+ out[mappingKey] = {
397
+ $gte: filterEl.type === "float-range" || filterEl.type === "currency"
398
+ ? parseFloat(min)
399
+ : filterEl.type === "integer-range"
400
+ ? parseInt(min)
401
+ : min,
402
+ $lte: filterEl.type === "float-range" || filterEl.type === "currency"
403
+ ? parseFloat(max)
404
+ : filterEl.type === "integer-range"
405
+ ? parseInt(max)
406
+ : max,
343
407
  };
344
408
  }
345
409
  else {
346
- out[filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key] =
347
- filterEl.type === "float-range" ? parseFloat(valueClean.toString().replace(",", ".")) : parseInt(valueClean);
410
+ out[mappingKey] =
411
+ filterEl.type === "float-range" || filterEl.type === "currency"
412
+ ? parseFloat(valueClean.toString().replace(",", "."))
413
+ : filterEl.type === "integer-range"
414
+ ? parseInt(valueClean)
415
+ : valueClean;
348
416
  }
349
417
  continue;
350
418
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webtypen/webframez-core",
3
- "version": "0.2.49",
3
+ "version": "0.2.51",
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",
@@ -346,19 +346,96 @@ export class Datatable {
346
346
  }
347
347
 
348
348
  // Handle integer/float range
349
- if ((filterEl.type === "integer-range" || filterEl.type === "float-range") && valueClean !== undefined) {
350
- if (valueClean.indexOf("-") > 0) {
349
+ if (
350
+ (filterEl.type === "integer-range" ||
351
+ filterEl.type === "currency" ||
352
+ filterEl.type === "float-range" ||
353
+ filterEl.type === "date-range" ||
354
+ filterEl.type === "daterange") &&
355
+ valueClean !== undefined
356
+ ) {
357
+ const mappingKey = filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key;
358
+ if (valueClean.startsWith("<=")) {
359
+ const val = valueClean.replace("<=", "").trim();
360
+
361
+ out[mappingKey] = {
362
+ $lte:
363
+ filterEl.type === "float-range" || filterEl.type === "currency"
364
+ ? parseFloat(val.toString().replace(",", "."))
365
+ : filterEl.type === "integer-range"
366
+ ? parseInt(val.toString().replace(",", "."))
367
+ : val,
368
+ };
369
+ } else if (valueClean.startsWith("<")) {
370
+ const val = valueClean.replace("<", "").trim();
371
+
372
+ out[mappingKey] = {
373
+ $lt:
374
+ filterEl.type === "float-range" || filterEl.type === "currency"
375
+ ? parseFloat(val.toString().replace(",", "."))
376
+ : filterEl.type === "integer-range"
377
+ ? parseInt(val.toString().replace(",", "."))
378
+ : val,
379
+ };
380
+ } else if (valueClean.startsWith(">=")) {
381
+ const val = valueClean.replace(">=", "").trim();
382
+
383
+ out[mappingKey] = {
384
+ $gte:
385
+ filterEl.type === "float-range" || filterEl.type === "currency"
386
+ ? parseFloat(val.toString().replace(",", "."))
387
+ : filterEl.type === "integer-range"
388
+ ? parseInt(val.toString().replace(",", "."))
389
+ : val,
390
+ };
391
+ } else if (valueClean.startsWith(">")) {
392
+ const val = valueClean.replace(">", "").trim();
393
+
394
+ out[mappingKey] = {
395
+ $gt:
396
+ filterEl.type === "float-range" || filterEl.type === "currency"
397
+ ? parseFloat(val.toString().replace(",", "."))
398
+ : filterEl.type === "integer-range"
399
+ ? parseInt(val.toString().replace(",", "."))
400
+ : val,
401
+ };
402
+ } else if (valueClean.startsWith("!=")) {
403
+ const val = valueClean.replace("!=", "").trim();
404
+
405
+ out[mappingKey] = {
406
+ $ne:
407
+ filterEl.type === "float-range" || filterEl.type === "currency"
408
+ ? parseFloat(val.toString().replace(",", "."))
409
+ : filterEl.type === "integer-range"
410
+ ? parseInt(val.toString().replace(",", "."))
411
+ : val,
412
+ };
413
+ } else if (valueClean.indexOf("-") > 0) {
351
414
  const range = valueClean.split("-");
352
415
  const min = range[0].toString().replace(",", ".");
353
416
  const max = range[1].toString().replace(",", ".");
354
417
 
355
- out[filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key] = {
356
- $gte: filterEl.type === "float-range" ? parseFloat(min) : parseInt(min),
357
- $lte: filterEl.type === "float-range" ? parseFloat(max) : parseInt(max),
418
+ out[mappingKey] = {
419
+ $gte:
420
+ filterEl.type === "float-range" || filterEl.type === "currency"
421
+ ? parseFloat(min)
422
+ : filterEl.type === "integer-range"
423
+ ? parseInt(min)
424
+ : min,
425
+ $lte:
426
+ filterEl.type === "float-range" || filterEl.type === "currency"
427
+ ? parseFloat(max)
428
+ : filterEl.type === "integer-range"
429
+ ? parseInt(max)
430
+ : max,
358
431
  };
359
432
  } else {
360
- out[filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key] =
361
- filterEl.type === "float-range" ? parseFloat(valueClean.toString().replace(",", ".")) : parseInt(valueClean);
433
+ out[mappingKey] =
434
+ filterEl.type === "float-range" || filterEl.type === "currency"
435
+ ? parseFloat(valueClean.toString().replace(",", "."))
436
+ : filterEl.type === "integer-range"
437
+ ? parseInt(valueClean)
438
+ : valueClean;
362
439
  }
363
440
 
364
441
  continue;