med-table
Version:
Wrapper over table of primeng library for Ministry of Health
29 lines • 4.04 kB
JavaScript
export class FilterMethods {
static dateRangeHandler(value, filter) {
const END_DATE = { HOURS: 23, MINUTES: 59 };
const [startDate, endDate] = filter || [];
if (!startDate)
return true;
if (!value)
return false;
const currentDate = new Date(value).getTime();
if (endDate) {
return startDate.getTime() <= currentDate && currentDate < endDate.setHours(END_DATE.HOURS, END_DATE.MINUTES);
}
return startDate.getTime() <= currentDate;
}
static selectHandler(value, filter) {
return !filter ? true : filter.includes(value || '');
}
static checkboxHandler(value, filter) {
if (filter === null) {
return true;
}
return Boolean(value) === filter;
}
static textHandler(value, filter) {
const regexp = new RegExp(`${filter?.trim()}`, 'i');
return regexp.test(value || '');
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsdGVyTWV0aG9kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZC10YWJsZS9zcmMvbGliL3NlcnZpY2VzL0ZpbHRlckRhdGFIYW5kbGVyL0ZpbHRlck1ldGhvZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWMsRUFBRSxNQUE2QjtRQUNuRSxNQUFNLFFBQVEsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUUxQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTVCLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFekIsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFOUMsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLElBQUksV0FBVyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0c7UUFFRCxPQUFPLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBYyxFQUFFLE1BQWlCO1FBQ3BELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBVyxFQUFFLE1BQWdCO1FBQ2xELElBQUksTUFBTSxLQUFLLElBQUksRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWMsRUFBRSxNQUFlO1FBQ2hELE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRmlsdGVyTWV0aG9kcyB7XG4gIHN0YXRpYyBkYXRlUmFuZ2VIYW5kbGVyKHZhbHVlPzogc3RyaW5nLCBmaWx0ZXI/OiAoRGF0ZSB8IHVuZGVmaW5lZClbXSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IEVORF9EQVRFID0geyBIT1VSUzogMjMsIE1JTlVURVM6IDU5IH07XG4gICAgY29uc3QgW3N0YXJ0RGF0ZSwgZW5kRGF0ZV0gPSBmaWx0ZXIgfHwgW107XG5cbiAgICBpZiAoIXN0YXJ0RGF0ZSkgcmV0dXJuIHRydWU7XG5cbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKHZhbHVlKS5nZXRUaW1lKCk7XG5cbiAgICBpZiAoZW5kRGF0ZSkge1xuICAgICAgcmV0dXJuIHN0YXJ0RGF0ZS5nZXRUaW1lKCkgPD0gY3VycmVudERhdGUgJiYgY3VycmVudERhdGUgPCBlbmREYXRlLnNldEhvdXJzKEVORF9EQVRFLkhPVVJTLCBFTkRfREFURS5NSU5VVEVTKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhcnREYXRlLmdldFRpbWUoKSA8PSBjdXJyZW50RGF0ZTtcbiAgfVxuXG4gIHN0YXRpYyBzZWxlY3RIYW5kbGVyKHZhbHVlPzogc3RyaW5nLCBmaWx0ZXI/OiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhZmlsdGVyID8gdHJ1ZSA6IGZpbHRlci5pbmNsdWRlcyh2YWx1ZSB8fCAnJyk7XG4gIH1cblxuICBzdGF0aWMgY2hlY2tib3hIYW5kbGVyKHZhbHVlPzogYW55LCBmaWx0ZXI/OiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgaWYgKGZpbHRlciA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIEJvb2xlYW4odmFsdWUpID09PSBmaWx0ZXI7XG4gIH1cblxuICBzdGF0aWMgdGV4dEhhbmRsZXIodmFsdWU/OiBzdHJpbmcsIGZpbHRlcj86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4cCA9IG5ldyBSZWdFeHAoYCR7ZmlsdGVyPy50cmltKCl9YCwgJ2knKTtcbiAgICByZXR1cm4gcmVnZXhwLnRlc3QodmFsdWUgfHwgJycpO1xuICB9XG59XG4iXX0=