@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.
- package/dist/Datatable/Datatable.js +24 -33
- package/package.json +1 -1
- package/src/Datatable/Datatable.ts +23 -38
|
@@ -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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
397
|
-
$lte:
|
|
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,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:
|
|
419
|
-
$lte:
|
|
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;
|