@webtypen/webframez-core 0.2.51 → 0.2.53
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.
- package/dist/Datatable/Datatable.js +35 -42
- package/package.json +1 -1
- package/src/Datatable/Datatable.ts +34 -49
|
@@ -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 {
|
|
@@ -325,7 +329,7 @@ class Datatable {
|
|
|
325
329
|
continue;
|
|
326
330
|
}
|
|
327
331
|
// Handle Boolean
|
|
328
|
-
if (filterEl.type === "boolean") {
|
|
332
|
+
if (filterEl && filterEl.type === "boolean") {
|
|
329
333
|
if ((typeof valueClean === "boolean" && valueClean) || (valueClean && valueClean.toString() === "true")) {
|
|
330
334
|
out[filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key] = true;
|
|
331
335
|
continue;
|
|
@@ -333,60 +337,62 @@ class Datatable {
|
|
|
333
337
|
}
|
|
334
338
|
// Handle integer/float range
|
|
335
339
|
if ((filterEl.type === "integer-range" ||
|
|
340
|
+
entryType === "integer-range" ||
|
|
336
341
|
filterEl.type === "currency" ||
|
|
342
|
+
entryType === "currency" ||
|
|
337
343
|
filterEl.type === "float-range" ||
|
|
344
|
+
entryType === "float-range" ||
|
|
338
345
|
filterEl.type === "date-range" ||
|
|
346
|
+
entryType === "date-range" ||
|
|
347
|
+
entryType === "daterange" ||
|
|
339
348
|
filterEl.type === "daterange") &&
|
|
340
349
|
valueClean !== undefined) {
|
|
341
350
|
const mappingKey = filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key;
|
|
351
|
+
const cleanVal = (val) => {
|
|
352
|
+
return filterEl.type === "float-range" ||
|
|
353
|
+
filterEl.type === "currency" ||
|
|
354
|
+
entryType === "float-range" ||
|
|
355
|
+
entryType === "currency"
|
|
356
|
+
? parseFloat(val.toString().replace(",", "."))
|
|
357
|
+
: filterEl.type === "integer-range" || entryType === "integer-range"
|
|
358
|
+
? parseInt(val.toString().replace(",", "."))
|
|
359
|
+
: filterEl.type === "date-range" ||
|
|
360
|
+
filterEl.type === "daterange" ||
|
|
361
|
+
entryType === "date-range" ||
|
|
362
|
+
entryType === "daterange"
|
|
363
|
+
? val.indexOf(".") > 0
|
|
364
|
+
? (0, moment_1.default)(val, "DD.MM.YYYY").format("YYYY-MM-DD")
|
|
365
|
+
: val
|
|
366
|
+
: val;
|
|
367
|
+
};
|
|
342
368
|
if (valueClean.startsWith("<=")) {
|
|
343
369
|
const val = valueClean.replace("<=", "").trim();
|
|
344
370
|
out[mappingKey] = {
|
|
345
|
-
$lte:
|
|
346
|
-
? parseFloat(val.toString().replace(",", "."))
|
|
347
|
-
: filterEl.type === "integer-range"
|
|
348
|
-
? parseInt(val.toString().replace(",", "."))
|
|
349
|
-
: val,
|
|
371
|
+
$lte: cleanVal(val),
|
|
350
372
|
};
|
|
351
373
|
}
|
|
352
374
|
else if (valueClean.startsWith("<")) {
|
|
353
375
|
const val = valueClean.replace("<", "").trim();
|
|
354
376
|
out[mappingKey] = {
|
|
355
|
-
$lt:
|
|
356
|
-
? parseFloat(val.toString().replace(",", "."))
|
|
357
|
-
: filterEl.type === "integer-range"
|
|
358
|
-
? parseInt(val.toString().replace(",", "."))
|
|
359
|
-
: val,
|
|
377
|
+
$lt: cleanVal(val),
|
|
360
378
|
};
|
|
361
379
|
}
|
|
362
380
|
else if (valueClean.startsWith(">=")) {
|
|
363
381
|
const val = valueClean.replace(">=", "").trim();
|
|
364
382
|
out[mappingKey] = {
|
|
365
|
-
$gte:
|
|
366
|
-
? parseFloat(val.toString().replace(",", "."))
|
|
367
|
-
: filterEl.type === "integer-range"
|
|
368
|
-
? parseInt(val.toString().replace(",", "."))
|
|
369
|
-
: val,
|
|
383
|
+
$gte: cleanVal(val),
|
|
370
384
|
};
|
|
371
385
|
}
|
|
372
386
|
else if (valueClean.startsWith(">")) {
|
|
373
387
|
const val = valueClean.replace(">", "").trim();
|
|
374
388
|
out[mappingKey] = {
|
|
375
|
-
$gt:
|
|
376
|
-
? parseFloat(val.toString().replace(",", "."))
|
|
377
|
-
: filterEl.type === "integer-range"
|
|
378
|
-
? parseInt(val.toString().replace(",", "."))
|
|
379
|
-
: val,
|
|
389
|
+
$gt: cleanVal,
|
|
380
390
|
};
|
|
381
391
|
}
|
|
382
392
|
else if (valueClean.startsWith("!=")) {
|
|
383
393
|
const val = valueClean.replace("!=", "").trim();
|
|
384
394
|
out[mappingKey] = {
|
|
385
|
-
$ne:
|
|
386
|
-
? parseFloat(val.toString().replace(",", "."))
|
|
387
|
-
: filterEl.type === "integer-range"
|
|
388
|
-
? parseInt(val.toString().replace(",", "."))
|
|
389
|
-
: val,
|
|
395
|
+
$ne: cleanVal(val),
|
|
390
396
|
};
|
|
391
397
|
}
|
|
392
398
|
else if (valueClean.indexOf("-") > 0) {
|
|
@@ -394,25 +400,12 @@ class Datatable {
|
|
|
394
400
|
const min = range[0].toString().replace(",", ".");
|
|
395
401
|
const max = range[1].toString().replace(",", ".");
|
|
396
402
|
out[mappingKey] = {
|
|
397
|
-
$gte:
|
|
398
|
-
|
|
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,
|
|
403
|
+
$gte: cleanVal(min),
|
|
404
|
+
$lte: cleanVal(max),
|
|
407
405
|
};
|
|
408
406
|
}
|
|
409
407
|
else {
|
|
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;
|
|
408
|
+
out[mappingKey] = cleanVal(valueClean);
|
|
416
409
|
}
|
|
417
410
|
continue;
|
|
418
411
|
}
|
package/package.json
CHANGED
|
@@ -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";
|
|
@@ -338,7 +339,7 @@ export class Datatable {
|
|
|
338
339
|
}
|
|
339
340
|
|
|
340
341
|
// Handle Boolean
|
|
341
|
-
if (filterEl.type === "boolean") {
|
|
342
|
+
if (filterEl && filterEl.type === "boolean") {
|
|
342
343
|
if ((typeof valueClean === "boolean" && valueClean) || (valueClean && valueClean.toString() === "true")) {
|
|
343
344
|
out[filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key] = true;
|
|
344
345
|
continue;
|
|
@@ -348,67 +349,66 @@ export class Datatable {
|
|
|
348
349
|
// Handle integer/float range
|
|
349
350
|
if (
|
|
350
351
|
(filterEl.type === "integer-range" ||
|
|
352
|
+
entryType === "integer-range" ||
|
|
351
353
|
filterEl.type === "currency" ||
|
|
354
|
+
entryType === "currency" ||
|
|
352
355
|
filterEl.type === "float-range" ||
|
|
356
|
+
entryType === "float-range" ||
|
|
353
357
|
filterEl.type === "date-range" ||
|
|
358
|
+
entryType === "date-range" ||
|
|
359
|
+
entryType === "daterange" ||
|
|
354
360
|
filterEl.type === "daterange") &&
|
|
355
361
|
valueClean !== undefined
|
|
356
362
|
) {
|
|
357
363
|
const mappingKey = filterEl && filterEl.mapping && filterEl.mapping.trim() !== "" ? filterEl.mapping : key;
|
|
364
|
+
|
|
365
|
+
const cleanVal = (val: any) => {
|
|
366
|
+
return filterEl.type === "float-range" ||
|
|
367
|
+
filterEl.type === "currency" ||
|
|
368
|
+
entryType === "float-range" ||
|
|
369
|
+
entryType === "currency"
|
|
370
|
+
? parseFloat(val.toString().replace(",", "."))
|
|
371
|
+
: filterEl.type === "integer-range" || entryType === "integer-range"
|
|
372
|
+
? parseInt(val.toString().replace(",", "."))
|
|
373
|
+
: filterEl.type === "date-range" ||
|
|
374
|
+
filterEl.type === "daterange" ||
|
|
375
|
+
entryType === "date-range" ||
|
|
376
|
+
entryType === "daterange"
|
|
377
|
+
? val.indexOf(".") > 0
|
|
378
|
+
? moment(val, "DD.MM.YYYY").format("YYYY-MM-DD")
|
|
379
|
+
: val
|
|
380
|
+
: val;
|
|
381
|
+
};
|
|
382
|
+
|
|
358
383
|
if (valueClean.startsWith("<=")) {
|
|
359
384
|
const val = valueClean.replace("<=", "").trim();
|
|
360
385
|
|
|
361
386
|
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,
|
|
387
|
+
$lte: cleanVal(val),
|
|
368
388
|
};
|
|
369
389
|
} else if (valueClean.startsWith("<")) {
|
|
370
390
|
const val = valueClean.replace("<", "").trim();
|
|
371
391
|
|
|
372
392
|
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,
|
|
393
|
+
$lt: cleanVal(val),
|
|
379
394
|
};
|
|
380
395
|
} else if (valueClean.startsWith(">=")) {
|
|
381
396
|
const val = valueClean.replace(">=", "").trim();
|
|
382
397
|
|
|
383
398
|
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,
|
|
399
|
+
$gte: cleanVal(val),
|
|
390
400
|
};
|
|
391
401
|
} else if (valueClean.startsWith(">")) {
|
|
392
402
|
const val = valueClean.replace(">", "").trim();
|
|
393
403
|
|
|
394
404
|
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,
|
|
405
|
+
$gt: cleanVal,
|
|
401
406
|
};
|
|
402
407
|
} else if (valueClean.startsWith("!=")) {
|
|
403
408
|
const val = valueClean.replace("!=", "").trim();
|
|
404
409
|
|
|
405
410
|
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,
|
|
411
|
+
$ne: cleanVal(val),
|
|
412
412
|
};
|
|
413
413
|
} else if (valueClean.indexOf("-") > 0) {
|
|
414
414
|
const range = valueClean.split("-");
|
|
@@ -416,26 +416,11 @@ export class Datatable {
|
|
|
416
416
|
const max = range[1].toString().replace(",", ".");
|
|
417
417
|
|
|
418
418
|
out[mappingKey] = {
|
|
419
|
-
$gte:
|
|
420
|
-
|
|
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,
|
|
419
|
+
$gte: cleanVal(min),
|
|
420
|
+
$lte: cleanVal(max),
|
|
431
421
|
};
|
|
432
422
|
} else {
|
|
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;
|
|
423
|
+
out[mappingKey] = cleanVal(valueClean);
|
|
439
424
|
}
|
|
440
425
|
|
|
441
426
|
continue;
|