@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" ||
|
|
336
|
-
|
|
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[
|
|
341
|
-
$gte: filterEl.type === "float-range"
|
|
342
|
-
|
|
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[
|
|
347
|
-
filterEl.type === "float-range"
|
|
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
|
@@ -346,19 +346,96 @@ export class Datatable {
|
|
|
346
346
|
}
|
|
347
347
|
|
|
348
348
|
// Handle integer/float range
|
|
349
|
-
if (
|
|
350
|
-
|
|
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[
|
|
356
|
-
$gte:
|
|
357
|
-
|
|
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[
|
|
361
|
-
filterEl.type === "float-range"
|
|
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;
|