@webtypen/webframez-core 0.2.49 → 0.2.50
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,78 @@ 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 === "float-range" ||
|
|
337
|
+
filterEl.type === "date-range" ||
|
|
338
|
+
filterEl.type === "daterange") &&
|
|
339
|
+
valueClean !== undefined) {
|
|
340
|
+
const mappingKey = filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key;
|
|
341
|
+
if (valueClean.startsWith("<=")) {
|
|
342
|
+
const val = valueClean.replace("<=", "").trim();
|
|
343
|
+
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,
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
else if (valueClean.startsWith("<")) {
|
|
352
|
+
const val = valueClean.replace("<", "").trim();
|
|
353
|
+
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,
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
else if (valueClean.startsWith(">=")) {
|
|
362
|
+
const val = valueClean.replace(">=", "").trim();
|
|
363
|
+
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,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
else if (valueClean.startsWith(">")) {
|
|
372
|
+
const val = valueClean.replace(">", "").trim();
|
|
373
|
+
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,
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
else if (valueClean.startsWith("!=")) {
|
|
382
|
+
const val = valueClean.replace("!=", "").trim();
|
|
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,
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
else if (valueClean.indexOf("-") > 0) {
|
|
337
392
|
const range = valueClean.split("-");
|
|
338
393
|
const min = range[0].toString().replace(",", ".");
|
|
339
394
|
const max = range[1].toString().replace(",", ".");
|
|
340
|
-
out[
|
|
341
|
-
$gte: filterEl.type === "float-range" ? parseFloat(min) : parseInt(min),
|
|
342
|
-
$lte: filterEl.type === "float-range" ? parseFloat(max) : parseInt(max),
|
|
395
|
+
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,
|
|
343
398
|
};
|
|
344
399
|
}
|
|
345
400
|
else {
|
|
346
|
-
out[
|
|
347
|
-
filterEl.type === "float-range"
|
|
401
|
+
out[mappingKey] =
|
|
402
|
+
filterEl.type === "float-range"
|
|
403
|
+
? parseFloat(valueClean.toString().replace(",", "."))
|
|
404
|
+
: filterEl.type === "integer-range"
|
|
405
|
+
? parseInt(valueClean)
|
|
406
|
+
: valueClean;
|
|
348
407
|
}
|
|
349
408
|
continue;
|
|
350
409
|
}
|
package/package.json
CHANGED
|
@@ -346,19 +346,85 @@ 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 === "float-range" ||
|
|
352
|
+
filterEl.type === "date-range" ||
|
|
353
|
+
filterEl.type === "daterange") &&
|
|
354
|
+
valueClean !== undefined
|
|
355
|
+
) {
|
|
356
|
+
const mappingKey = filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key;
|
|
357
|
+
if (valueClean.startsWith("<=")) {
|
|
358
|
+
const val = valueClean.replace("<=", "").trim();
|
|
359
|
+
|
|
360
|
+
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,
|
|
367
|
+
};
|
|
368
|
+
} else if (valueClean.startsWith("<")) {
|
|
369
|
+
const val = valueClean.replace("<", "").trim();
|
|
370
|
+
|
|
371
|
+
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,
|
|
378
|
+
};
|
|
379
|
+
} else if (valueClean.startsWith(">=")) {
|
|
380
|
+
const val = valueClean.replace(">=", "").trim();
|
|
381
|
+
|
|
382
|
+
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,
|
|
389
|
+
};
|
|
390
|
+
} else if (valueClean.startsWith(">")) {
|
|
391
|
+
const val = valueClean.replace(">", "").trim();
|
|
392
|
+
|
|
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,
|
|
400
|
+
};
|
|
401
|
+
} else if (valueClean.startsWith("!=")) {
|
|
402
|
+
const val = valueClean.replace("!=", "").trim();
|
|
403
|
+
|
|
404
|
+
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,
|
|
411
|
+
};
|
|
412
|
+
} else if (valueClean.indexOf("-") > 0) {
|
|
351
413
|
const range = valueClean.split("-");
|
|
352
414
|
const min = range[0].toString().replace(",", ".");
|
|
353
415
|
const max = range[1].toString().replace(",", ".");
|
|
354
416
|
|
|
355
|
-
out[
|
|
356
|
-
$gte: filterEl.type === "float-range" ? parseFloat(min) : parseInt(min),
|
|
357
|
-
$lte: filterEl.type === "float-range" ? parseFloat(max) : parseInt(max),
|
|
417
|
+
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,
|
|
358
420
|
};
|
|
359
421
|
} else {
|
|
360
|
-
out[
|
|
361
|
-
filterEl.type === "float-range"
|
|
422
|
+
out[mappingKey] =
|
|
423
|
+
filterEl.type === "float-range"
|
|
424
|
+
? parseFloat(valueClean.toString().replace(",", "."))
|
|
425
|
+
: filterEl.type === "integer-range"
|
|
426
|
+
? parseInt(valueClean)
|
|
427
|
+
: valueClean;
|
|
362
428
|
}
|
|
363
429
|
|
|
364
430
|
continue;
|