@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
30 lines • 4.09 kB
JavaScript
import { Operator } from './operator';
import { MoreThan } from './more-than';
import moment from 'moment';
import { clearTimeInformation } from '../../../utility/clear-time-information';
import { Operators } from './operators';
/**
* A strict greater than operator for Date fields
*/
export class MoreThanDate extends Operator {
moreThan;
constructor(operators) {
super(1);
this.moreThan = operators.getOperator(MoreThan);
}
createQuery(elasticKeywords, args) {
this.checkArgumentsCount(args);
const arg = moment(args[0]);
clearTimeInformation(arg);
arg.date(arg.date() + 1);
arg.milliseconds(-1);
return this.moreThan.createQuery(elasticKeywords, [arg.valueOf()]);
}
getOperatorNameTemplate() {
return ['search.operator.moreThan', Operator.INPUT_PLACEHOLDER];
}
serialize() {
return Operators.MORE_THAN_DATE;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS10aGFuLWRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL3NlYXJjaC9tb2RlbHMvb3BlcmF0b3IvbW9yZS10aGFuLWRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUdwQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sTUFBZ0IsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUV0Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFhLFNBQVEsUUFBZ0I7SUFFcEMsUUFBUSxDQUFXO0lBRTdCLFlBQVksU0FBMEI7UUFDbEMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1QsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBYSxDQUFDO0lBQ2hFLENBQUM7SUFFRCxXQUFXLENBQUMsZUFBOEIsRUFBRSxJQUFtQjtRQUMzRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELHVCQUF1QjtRQUNuQixPQUFPLENBQUMsMEJBQTBCLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFNBQVM7UUFDTCxPQUFPLFNBQVMsQ0FBQyxjQUFjLENBQUM7SUFDcEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPcGVyYXRvcn0gZnJvbSAnLi9vcGVyYXRvcic7XG5pbXBvcnQge09wZXJhdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vb3BlcmF0b3Itc2VydmljZS9vcGVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7UXVlcnl9IGZyb20gJy4uL3F1ZXJ5L3F1ZXJ5JztcbmltcG9ydCB7TW9yZVRoYW59IGZyb20gJy4vbW9yZS10aGFuJztcbmltcG9ydCBtb21lbnQsIHtNb21lbnR9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge2NsZWFyVGltZUluZm9ybWF0aW9ufSBmcm9tICcuLi8uLi8uLi91dGlsaXR5L2NsZWFyLXRpbWUtaW5mb3JtYXRpb24nO1xuaW1wb3J0IHtPcGVyYXRvcnN9IGZyb20gJy4vb3BlcmF0b3JzJztcblxuLyoqXG4gKiBBIHN0cmljdCBncmVhdGVyIHRoYW4gb3BlcmF0b3IgZm9yIERhdGUgZmllbGRzXG4gKi9cbmV4cG9ydCBjbGFzcyBNb3JlVGhhbkRhdGUgZXh0ZW5kcyBPcGVyYXRvcjxNb21lbnQ+IHtcblxuICAgIHByb3RlY3RlZCBtb3JlVGhhbjogTW9yZVRoYW47XG5cbiAgICBjb25zdHJ1Y3RvcihvcGVyYXRvcnM6IE9wZXJhdG9yU2VydmljZSkge1xuICAgICAgICBzdXBlcigxKTtcbiAgICAgICAgdGhpcy5tb3JlVGhhbiA9IG9wZXJhdG9ycy5nZXRPcGVyYXRvcihNb3JlVGhhbikgYXMgTW9yZVRoYW47XG4gICAgfVxuXG4gICAgY3JlYXRlUXVlcnkoZWxhc3RpY0tleXdvcmRzOiBBcnJheTxzdHJpbmc+LCBhcmdzOiBBcnJheTxNb21lbnQ+KTogUXVlcnkge1xuICAgICAgICB0aGlzLmNoZWNrQXJndW1lbnRzQ291bnQoYXJncyk7XG4gICAgICAgIGNvbnN0IGFyZyA9IG1vbWVudChhcmdzWzBdKTtcbiAgICAgICAgY2xlYXJUaW1lSW5mb3JtYXRpb24oYXJnKTtcbiAgICAgICAgYXJnLmRhdGUoYXJnLmRhdGUoKSArIDEpO1xuICAgICAgICBhcmcubWlsbGlzZWNvbmRzKC0xKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9yZVRoYW4uY3JlYXRlUXVlcnkoZWxhc3RpY0tleXdvcmRzLCBbYXJnLnZhbHVlT2YoKV0pO1xuICAgIH1cblxuICAgIGdldE9wZXJhdG9yTmFtZVRlbXBsYXRlKCk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gWydzZWFyY2gub3BlcmF0b3IubW9yZVRoYW4nLCBPcGVyYXRvci5JTlBVVF9QTEFDRUhPTERFUl07XG4gICAgfVxuXG4gICAgc2VyaWFsaXplKCk6IE9wZXJhdG9ycyB8IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBPcGVyYXRvcnMuTU9SRV9USEFOX0RBVEU7XG4gICAgfVxufVxuIl19