@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
27 lines • 3.98 kB
JavaScript
import { InRangeDateTime } from './in-range-date-time';
import { Operator } from './operator';
import { Operators } from './operators';
/**
* Equality operator for indexed fields that store a date time object in timestamp format.
*
* Will create a range query that matches every timestamp from the 0th millisecond of the selected date time object (included)
* to the 0th millisecond after of the next minute after the minute of the date time object (excluded).
*/
export class EqualsDateTime extends Operator {
dateTimeRange;
constructor(operators) {
super(1);
this.dateTimeRange = operators.getOperator(InRangeDateTime);
}
createQuery(elasticKeywords, args) {
this.checkArgumentsCount(args);
return this.dateTimeRange.createQuery(elasticKeywords, [args[0], args[0]]);
}
getOperatorNameTemplate() {
return ['search.operator.equals', Operator.INPUT_PLACEHOLDER];
}
serialize() {
return Operators.EQUALS_DATE_TIME;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWxzLWRhdGUtdGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvc2VhcmNoL21vZGVscy9vcGVyYXRvci9lcXVhbHMtZGF0ZS10aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUlyRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFdEM7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQWdCO0lBRXRDLGFBQWEsQ0FBa0I7SUFFekMsWUFBWSxTQUEwQjtRQUNsQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFvQixDQUFDO0lBQ25GLENBQUM7SUFFRCxXQUFXLENBQUMsZUFBOEIsRUFBRSxJQUFtQjtRQUMzRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sU0FBUyxDQUFDLGdCQUFnQixDQUFDO0lBQ3RDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5SYW5nZURhdGVUaW1lfSBmcm9tICcuL2luLXJhbmdlLWRhdGUtdGltZSc7XG5pbXBvcnQge09wZXJhdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vb3BlcmF0b3Itc2VydmljZS9vcGVyYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7TW9tZW50fSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtRdWVyeX0gZnJvbSAnLi4vcXVlcnkvcXVlcnknO1xuaW1wb3J0IHtPcGVyYXRvcn0gZnJvbSAnLi9vcGVyYXRvcic7XG5pbXBvcnQge09wZXJhdG9yc30gZnJvbSAnLi9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIEVxdWFsaXR5IG9wZXJhdG9yIGZvciBpbmRleGVkIGZpZWxkcyB0aGF0IHN0b3JlIGEgZGF0ZSB0aW1lIG9iamVjdCBpbiB0aW1lc3RhbXAgZm9ybWF0LlxuICpcbiAqIFdpbGwgY3JlYXRlIGEgcmFuZ2UgcXVlcnkgdGhhdCBtYXRjaGVzIGV2ZXJ5IHRpbWVzdGFtcCBmcm9tIHRoZSAwdGggbWlsbGlzZWNvbmQgb2YgdGhlIHNlbGVjdGVkIGRhdGUgdGltZSBvYmplY3QgKGluY2x1ZGVkKVxuICogdG8gdGhlIDB0aCBtaWxsaXNlY29uZCBhZnRlciBvZiB0aGUgbmV4dCBtaW51dGUgYWZ0ZXIgdGhlIG1pbnV0ZSBvZiB0aGUgZGF0ZSB0aW1lIG9iamVjdCAoZXhjbHVkZWQpLlxuICovXG5leHBvcnQgY2xhc3MgRXF1YWxzRGF0ZVRpbWUgZXh0ZW5kcyBPcGVyYXRvcjxNb21lbnQ+IHtcblxuICAgIHByb3RlY3RlZCBkYXRlVGltZVJhbmdlOiBJblJhbmdlRGF0ZVRpbWU7XG5cbiAgICBjb25zdHJ1Y3RvcihvcGVyYXRvcnM6IE9wZXJhdG9yU2VydmljZSkge1xuICAgICAgICBzdXBlcigxKTtcbiAgICAgICAgdGhpcy5kYXRlVGltZVJhbmdlID0gb3BlcmF0b3JzLmdldE9wZXJhdG9yKEluUmFuZ2VEYXRlVGltZSkgYXMgSW5SYW5nZURhdGVUaW1lO1xuICAgIH1cblxuICAgIGNyZWF0ZVF1ZXJ5KGVsYXN0aWNLZXl3b3JkczogQXJyYXk8c3RyaW5nPiwgYXJnczogQXJyYXk8TW9tZW50Pik6IFF1ZXJ5IHtcbiAgICAgICAgdGhpcy5jaGVja0FyZ3VtZW50c0NvdW50KGFyZ3MpO1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlVGltZVJhbmdlLmNyZWF0ZVF1ZXJ5KGVsYXN0aWNLZXl3b3JkcywgW2FyZ3NbMF0sIGFyZ3NbMF1dKTtcbiAgICB9XG5cbiAgICBnZXRPcGVyYXRvck5hbWVUZW1wbGF0ZSgpOiBBcnJheTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIFsnc2VhcmNoLm9wZXJhdG9yLmVxdWFscycsIE9wZXJhdG9yLklOUFVUX1BMQUNFSE9MREVSXTtcbiAgICB9XG5cbiAgICBzZXJpYWxpemUoKTogT3BlcmF0b3JzIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIE9wZXJhdG9ycy5FUVVBTFNfREFURV9USU1FO1xuICAgIH1cbn1cbiJdfQ==