@trudb/tru-common-lib 0.0.171 → 0.0.174

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.
@@ -1,5 +1,5 @@
1
1
  import { EntityAspect } from 'breeze-client';
2
- export class TruBaseEntity {
2
+ export class TruEntityBase {
3
3
  constructor(...args) {
4
4
  this.entityAspect = new EntityAspect();
5
5
  this.Created = new Date();
@@ -8,4 +8,4 @@ export class TruBaseEntity {
8
8
  this.UpdatedRef = undefined;
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWJhc2UtZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LWJhc2UtZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxZQUFZLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFakUsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBWSxHQUFHLElBQVc7UUFFMUIsaUJBQVksR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoRCxZQUFPLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMzQixlQUFVLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDeEIsWUFBTyxHQUFxQixTQUFTLENBQUM7UUFDdEMsZUFBVSxHQUF1QixTQUFTLENBQUM7SUFSYixDQUFDO0NBVWhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5LCBFbnRpdHlBc3BlY3QsIEVudGl0eVR5cGUgfSBmcm9tICdicmVlemUtY2xpZW50JztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVCYXNlRW50aXR5IGltcGxlbWVudHMgRW50aXR5IHtcclxuICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkgeyB9XHJcblxyXG4gIGVudGl0eUFzcGVjdDogRW50aXR5QXNwZWN0ID0gbmV3IEVudGl0eUFzcGVjdCgpO1xyXG4gIGVudGl0eVR5cGUhOiBFbnRpdHlUeXBlO1xyXG5cclxuICBDcmVhdGVkOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICBDcmVhdGVkUmVmOiBudW1iZXIgPSAtMTtcclxuICBVcGRhdGVkOiBEYXRlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gIFVwZGF0ZWRSZWY6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICByb3d2ZXI6IGFueTtcclxufVxyXG4iXX0=
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LWVudGl0eS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LWVudGl0eS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxZQUFZLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFakUsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBWSxHQUFHLElBQVc7UUFFMUIsaUJBQVksR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoRCxZQUFPLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMzQixlQUFVLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDeEIsWUFBTyxHQUFxQixTQUFTLENBQUM7UUFDdEMsZUFBVSxHQUF1QixTQUFTLENBQUM7SUFSYixDQUFDO0NBVWhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5LCBFbnRpdHlBc3BlY3QsIEVudGl0eVR5cGUgfSBmcm9tICdicmVlemUtY2xpZW50JztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVFbnRpdHlCYXNlIGltcGxlbWVudHMgRW50aXR5IHtcclxuICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkgeyB9XHJcblxyXG4gIGVudGl0eUFzcGVjdDogRW50aXR5QXNwZWN0ID0gbmV3IEVudGl0eUFzcGVjdCgpO1xyXG4gIGVudGl0eVR5cGUhOiBFbnRpdHlUeXBlO1xyXG5cclxuICBDcmVhdGVkOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICBDcmVhdGVkUmVmOiBudW1iZXIgPSAtMTtcclxuICBVcGRhdGVkOiBEYXRlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gIFVwZGF0ZWRSZWY6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICByb3d2ZXI6IGFueTtcclxufVxyXG4iXX0=
@@ -1,4 +1,4 @@
1
1
  export class TruSearchControlComponentConfigBase {
2
2
  constructor() { }
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXNlYXJjaC1jb21wb25lbnQtY29uZmlnLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2Jhc2UtY2xhc3Nlcy90cnUtc2VhcmNoLWNvbXBvbmVudC1jb25maWctYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQWdCLG1DQUFtQztJQVF2RCxnQkFBZ0IsQ0FBQztDQUdsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2UgfSBmcm9tIFwiLi90cnUtcHJvcGVydHktY29uZmlnLWJhc2VcIjtcclxuaW1wb3J0IHsgVHJ1QmFzZUVudGl0eSB9IGZyb20gXCIuL3RydS1iYXNlLWVudGl0eVwiO1xyXG5pbXBvcnQgeyBUcnVRdWVyeVByZWRpY2F0ZU1hbmFnZXIgfSBmcm9tIFwiLi90cnUtcXVlcnktcHJlZGljYXRlLW1hbmFnZXJcIjtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcnVTZWFyY2hDb250cm9sQ29tcG9uZW50Q29uZmlnQmFzZSB7XHJcbiAgYWJzdHJhY3QgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBhYnN0cmFjdCBwcm9wZXJ0eU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBhYnN0cmFjdCByb290VGFibGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBhYnN0cmFjdCBwcm9wZXJ0eVBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBhYnN0cmFjdCBnZXQgcHJvcGVydHkoKTogVHJ1UHJvcGVydHlDb25maWdCYXNlO1xyXG4gIGFic3RyYWN0IHZhbHVlOiAoZW50aXR5OiBUcnVCYXNlRW50aXR5KSA9PiB7fVxyXG4gIGFic3RyYWN0IHF1ZXJ5UHJlZGljYXRlOiBUcnVRdWVyeVByZWRpY2F0ZU1hbmFnZXI7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHJvdGVjdGVkIGNob2ljZXM/KCk6IE9ic2VydmFibGU8eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogeyAkOiBhbnkgfSB9W10+O1xyXG59XHJcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXNlYXJjaC1jb21wb25lbnQtY29uZmlnLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2Jhc2UtY2xhc3Nlcy90cnUtc2VhcmNoLWNvbXBvbmVudC1jb25maWctYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQWdCLG1DQUFtQztJQVF2RCxnQkFBZ0IsQ0FBQztDQUdsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBUcnVQcm9wZXJ0eUNvbmZpZ0Jhc2UgfSBmcm9tIFwiLi90cnUtcHJvcGVydHktY29uZmlnLWJhc2VcIjtcclxuaW1wb3J0IHsgVHJ1RW50aXR5QmFzZSB9IGZyb20gXCIuL3RydS1lbnRpdHktYmFzZVwiO1xyXG5pbXBvcnQgeyBUcnVRdWVyeVByZWRpY2F0ZU1hbmFnZXIgfSBmcm9tIFwiLi4vY2xhc3Nlcy90cnUtcXVlcnktcHJlZGljYXRlLW1hbmFnZXJcIjtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcnVTZWFyY2hDb250cm9sQ29tcG9uZW50Q29uZmlnQmFzZSB7XHJcbiAgYWJzdHJhY3QgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBhYnN0cmFjdCBwcm9wZXJ0eU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBhYnN0cmFjdCByb290VGFibGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBhYnN0cmFjdCBwcm9wZXJ0eVBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBhYnN0cmFjdCBnZXQgcHJvcGVydHkoKTogVHJ1UHJvcGVydHlDb25maWdCYXNlO1xyXG4gIGFic3RyYWN0IHZhbHVlOiAoZW50aXR5OiBUcnVFbnRpdHlCYXNlKSA9PiB7fVxyXG4gIGFic3RyYWN0IHF1ZXJ5UHJlZGljYXRlOiBUcnVRdWVyeVByZWRpY2F0ZU1hbmFnZXI7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHJvdGVjdGVkIGNob2ljZXM/KCk6IE9ic2VydmFibGU8eyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogeyAkOiBhbnkgfSB9W10+O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { AndOrPredicate, BinaryPredicate, breeze } from "breeze-client";
2
+ export class TruPredicate {
3
+ constructor(field, operator, value, propertyQueryPath, overQuoted = false) {
4
+ this._breezePredicate = null;
5
+ this.handleOperator = (fieldOrPredicate, operator, value, oper) => {
6
+ var breezePredicate;
7
+ if (Array.isArray(fieldOrPredicate)) {
8
+ breezePredicate = new TruPredicate(fieldOrPredicate[0], fieldOrPredicate[1], fieldOrPredicate[2], []);
9
+ }
10
+ else if (fieldOrPredicate.constructor === TruPredicate || fieldOrPredicate.constructor === BinaryPredicate || fieldOrPredicate.constructor === AndOrPredicate) {
11
+ breezePredicate = fieldOrPredicate;
12
+ }
13
+ else {
14
+ throw new TypeError('Unexpected parameter type <' + fieldOrPredicate.constructor + '>.');
15
+ }
16
+ breezePredicate = oper(breezePredicate);
17
+ return new TruPredicate(breezePredicate, null, null, null);
18
+ };
19
+ this.and = (fieldOrPredicate, operator, value) => {
20
+ var that = this;
21
+ return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.and(p); });
22
+ };
23
+ this.or = (fieldOrPredicate, operator, value) => {
24
+ var that = this;
25
+ return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.or(p); });
26
+ };
27
+ this.not = () => {
28
+ var breezePredicate = this._breezePredicate.not();
29
+ return new TruPredicate(breezePredicate, null, null, null);
30
+ };
31
+ if (typeof field === 'string') {
32
+ var args = propertyQueryPath?.slice(0);
33
+ args[args.length - 1] += field;
34
+ args.push(operator);
35
+ args.push(value);
36
+ this._breezePredicate = new breeze.Predicate(args);
37
+ this._breezePredicate.overQuoted = overQuoted;
38
+ }
39
+ else if (arguments[0].constructor === TruPredicate || arguments[0].constructor === BinaryPredicate || arguments[0].constructor === AndOrPredicate) {
40
+ this._breezePredicate = arguments[0];
41
+ }
42
+ else {
43
+ throw new TypeError('Unexpected parameter type <' + arguments[0].constructor + '>.');
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByZWRpY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvY2xhc3Nlcy90cnUtcHJlZGljYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxNQUFNLE9BQU8sWUFBWTtJQUd2QixZQUFZLEtBQVUsRUFBRSxRQUF1QixFQUFFLEtBQVUsRUFBRSxpQkFBdUMsRUFBRSxhQUFzQixLQUFLO1FBRmpJLHFCQUFnQixHQUFRLElBQUksQ0FBQztRQWlCN0IsbUJBQWMsR0FBRyxDQUFDLGdCQUFxQixFQUFFLFFBQWdCLEVBQUUsS0FBVSxFQUFFLElBQW9CLEVBQUUsRUFBRTtZQUM3RixJQUFJLGVBQWUsQ0FBQztZQUNwQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtnQkFDbkMsZUFBZSxHQUFHLElBQUksWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZHO2lCQUFNLElBQUksZ0JBQWdCLENBQUMsV0FBVyxLQUFLLFlBQVksSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLEtBQUssZUFBZSxJQUFJLGdCQUFnQixDQUFDLFdBQVcsS0FBSyxjQUFjLEVBQUU7Z0JBQy9KLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQzthQUNwQztpQkFBTTtnQkFDTCxNQUFNLElBQUksU0FBUyxDQUFDLDZCQUE2QixHQUFHLGdCQUFnQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQzthQUMxRjtZQUNELGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDeEMsT0FBTyxJQUFJLFlBQVksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUE7UUFFRCxRQUFHLEdBQUcsQ0FBQyxnQkFBcUIsRUFBRSxRQUFnQixFQUFFLEtBQVUsRUFBRSxFQUFFO1lBQzVELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2SCxDQUFDLENBQUE7UUFFRCxPQUFFLEdBQUcsQ0FBQyxnQkFBcUIsRUFBRSxRQUFnQixFQUFFLEtBQVUsRUFBRSxFQUFFO1lBQzNELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0SCxDQUFDLENBQUE7UUFFRCxRQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ1QsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2xELE9BQU8sSUFBSSxZQUFZLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFBO1FBeENDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLElBQUksSUFBSSxHQUFHLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQWUsQ0FBQztZQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFrQixDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQWtCLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztTQUMvQzthQUFNLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxZQUFZLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxlQUFlLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsS0FBSyxjQUFjLEVBQUU7WUFDbkosSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0wsTUFBTSxJQUFJLFNBQVMsQ0FBQyw2QkFBNkIsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ3RGO0lBQ0gsQ0FBQztDQTZCRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuZE9yUHJlZGljYXRlLCBCaW5hcnlQcmVkaWNhdGUsIGJyZWV6ZSB9IGZyb20gXCJicmVlemUtY2xpZW50XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVHJ1UHJlZGljYXRlIHtcclxuICBfYnJlZXplUHJlZGljYXRlOiBhbnkgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihmaWVsZDogYW55LCBvcGVyYXRvcjogc3RyaW5nIHwgbnVsbCwgdmFsdWU6IGFueSwgcHJvcGVydHlRdWVyeVBhdGg6IEFycmF5PHN0cmluZz4gfCBudWxsLCBvdmVyUXVvdGVkOiBib29sZWFuID0gZmFsc2UpIHtcclxuICAgIGlmICh0eXBlb2YgZmllbGQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHZhciBhcmdzID0gcHJvcGVydHlRdWVyeVBhdGg/LnNsaWNlKDApIGFzIEFycmF5PGFueT47XHJcbiAgICAgIGFyZ3NbYXJncy5sZW5ndGggLSAxXSArPSBmaWVsZDtcclxuICAgICAgYXJncy5wdXNoKG9wZXJhdG9yIGFzIHN0cmluZyk7XHJcbiAgICAgIGFyZ3MucHVzaCh2YWx1ZSk7XHJcbiAgICAgIHRoaXMuX2JyZWV6ZVByZWRpY2F0ZSA9IG5ldyBicmVlemUuUHJlZGljYXRlKGFyZ3MgYXMgQXJyYXk8YW55Pik7XHJcbiAgICAgIHRoaXMuX2JyZWV6ZVByZWRpY2F0ZS5vdmVyUXVvdGVkID0gb3ZlclF1b3RlZDtcclxuICAgIH0gZWxzZSBpZiAoYXJndW1lbnRzWzBdLmNvbnN0cnVjdG9yID09PSBUcnVQcmVkaWNhdGUgfHwgYXJndW1lbnRzWzBdLmNvbnN0cnVjdG9yID09PSBCaW5hcnlQcmVkaWNhdGUgfHwgYXJndW1lbnRzWzBdLmNvbnN0cnVjdG9yID09PSBBbmRPclByZWRpY2F0ZSkge1xyXG4gICAgICB0aGlzLl9icmVlemVQcmVkaWNhdGUgPSBhcmd1bWVudHNbMF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmV4cGVjdGVkIHBhcmFtZXRlciB0eXBlIDwnICsgYXJndW1lbnRzWzBdLmNvbnN0cnVjdG9yICsgJz4uJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVPcGVyYXRvciA9IChmaWVsZE9yUHJlZGljYXRlOiBhbnksIG9wZXJhdG9yOiBzdHJpbmcsIHZhbHVlOiBhbnksIG9wZXI6IChwOiBhbnkpID0+IHt9KSA9PiB7XHJcbiAgICB2YXIgYnJlZXplUHJlZGljYXRlO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGRPclByZWRpY2F0ZSkpIHtcclxuICAgICAgYnJlZXplUHJlZGljYXRlID0gbmV3IFRydVByZWRpY2F0ZShmaWVsZE9yUHJlZGljYXRlWzBdLCBmaWVsZE9yUHJlZGljYXRlWzFdLCBmaWVsZE9yUHJlZGljYXRlWzJdLCBbXSk7XHJcbiAgICB9IGVsc2UgaWYgKGZpZWxkT3JQcmVkaWNhdGUuY29uc3RydWN0b3IgPT09IFRydVByZWRpY2F0ZSB8fCBmaWVsZE9yUHJlZGljYXRlLmNvbnN0cnVjdG9yID09PSBCaW5hcnlQcmVkaWNhdGUgfHwgZmllbGRPclByZWRpY2F0ZS5jb25zdHJ1Y3RvciA9PT0gQW5kT3JQcmVkaWNhdGUpIHtcclxuICAgICAgYnJlZXplUHJlZGljYXRlID0gZmllbGRPclByZWRpY2F0ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1VuZXhwZWN0ZWQgcGFyYW1ldGVyIHR5cGUgPCcgKyBmaWVsZE9yUHJlZGljYXRlLmNvbnN0cnVjdG9yICsgJz4uJyk7XHJcbiAgICB9XHJcbiAgICBicmVlemVQcmVkaWNhdGUgPSBvcGVyKGJyZWV6ZVByZWRpY2F0ZSk7XHJcbiAgICByZXR1cm4gbmV3IFRydVByZWRpY2F0ZShicmVlemVQcmVkaWNhdGUsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgYW5kID0gKGZpZWxkT3JQcmVkaWNhdGU6IGFueSwgb3BlcmF0b3I6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdmFyIHRoYXQgPSB0aGlzO1xyXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlT3BlcmF0b3IoZmllbGRPclByZWRpY2F0ZSwgb3BlcmF0b3IsIHZhbHVlLCBmdW5jdGlvbiAocCkgeyByZXR1cm4gdGhhdC5fYnJlZXplUHJlZGljYXRlLmFuZChwKTsgfSk7XHJcbiAgfVxyXG5cclxuICBvciA9IChmaWVsZE9yUHJlZGljYXRlOiBhbnksIG9wZXJhdG9yOiBzdHJpbmcsIHZhbHVlOiBhbnkpID0+IHtcclxuICAgIHZhciB0aGF0ID0gdGhpcztcclxuICAgIHJldHVybiB0aGlzLmhhbmRsZU9wZXJhdG9yKGZpZWxkT3JQcmVkaWNhdGUsIG9wZXJhdG9yLCB2YWx1ZSwgZnVuY3Rpb24gKHApIHsgcmV0dXJuIHRoYXQuX2JyZWV6ZVByZWRpY2F0ZS5vcihwKTsgfSk7XHJcbiAgfVxyXG5cclxuICBub3QgPSAoKSA9PiB7XHJcbiAgICB2YXIgYnJlZXplUHJlZGljYXRlID0gdGhpcy5fYnJlZXplUHJlZGljYXRlLm5vdCgpO1xyXG4gICAgcmV0dXJuIG5ldyBUcnVQcmVkaWNhdGUoYnJlZXplUHJlZGljYXRlLCBudWxsLCBudWxsLCBudWxsKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,58 @@
1
+ import { TruPredicate } from "./tru-predicate";
2
+ export class TruQueryPredicateManager {
3
+ constructor(propertyQueryPath, predicateName, predicateMap) {
4
+ this._predicate = null;
5
+ this._propertyQueryPath = null;
6
+ this._predicateName = '';
7
+ this._predicateMap = {};
8
+ this.setPredicate = (queryPredicate) => {
9
+ if (this._predicate !== queryPredicate && this._predicateMap !== null) {
10
+ this._predicate = queryPredicate;
11
+ this._predicateMap[this._predicateName] = this._predicate === null ? null : this._predicate;
12
+ }
13
+ };
14
+ /**
15
+ * Returns a new query predicate.
16
+ *
17
+ * @param {string} field - Name of the storage field relative to the intent property.
18
+ * @param {string} operator - Name of the predicate operator.
19
+ * @param {*} value - Literal value.
20
+ */
21
+ this.create = (field, operator, value, overQuoted) => {
22
+ return new TruPredicate(field, operator, value, this._propertyQueryPath, overQuoted)._breezePredicate;
23
+ };
24
+ /**
25
+ * Clears the query predicate.
26
+ */
27
+ this.clear = () => {
28
+ this.setPredicate(null);
29
+ };
30
+ /**
31
+ * Returns the query predicate.
32
+ */
33
+ this.get = () => {
34
+ return this._predicate;
35
+ };
36
+ /**
37
+ * Sets the query predicate.
38
+ *
39
+ * @param {Predicate} predicate - A predicate object -- from create().
40
+ * OR
41
+ * @param {string} field - Name of the storage field relative to the intent property.
42
+ * @param {string} operator - Name of the predicate operator.
43
+ * @param {*} value - Literal value.
44
+ */
45
+ this.set = (fieldOrPredicate, operator, value, overQuoted) => {
46
+ var predicate;
47
+ if (fieldOrPredicate.constructor === TruPredicate)
48
+ predicate = fieldOrPredicate;
49
+ else
50
+ predicate = this.create(fieldOrPredicate, operator, value, overQuoted);
51
+ this.setPredicate(predicate);
52
+ };
53
+ this._propertyQueryPath = propertyQueryPath;
54
+ this._predicateName = predicateName;
55
+ this._predicateMap = predicateMap;
56
+ }
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXF1ZXJ5LXByZWRpY2F0ZS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9jbGFzc2VzL3RydS1xdWVyeS1wcmVkaWNhdGUtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxZQUFZLGlCQUFnQyxFQUFFLGFBQXFCLEVBQUUsWUFBaUI7UUFMdEYsZUFBVSxHQUF3QixJQUFJLENBQUM7UUFDdkMsdUJBQWtCLEdBQXlCLElBQUksQ0FBQztRQUNoRCxtQkFBYyxHQUFXLEVBQUUsQ0FBQztRQUM1QixrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQVFoQixpQkFBWSxHQUFHLENBQUMsY0FBbUMsRUFBRSxFQUFFO1lBQzdELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxjQUFjLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7Z0JBQ3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQzdGO1FBQ0gsQ0FBQyxDQUFBO1FBRUQ7Ozs7OztXQU1HO1FBQ0gsV0FBTSxHQUFHLENBQUMsS0FBYSxFQUFFLFFBQWdCLEVBQUUsS0FBVSxFQUFFLFVBQW1CLEVBQUUsRUFBRTtZQUM1RSxPQUFPLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN4RyxDQUFDLENBQUE7UUFFRDs7V0FFRztRQUNILFVBQUssR0FBRyxHQUFHLEVBQUU7WUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQTtRQUVEOztXQUVHO1FBQ0gsUUFBRyxHQUFHLEdBQUcsRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN6QixDQUFDLENBQUM7UUFFRjs7Ozs7Ozs7V0FRRztRQUNILFFBQUcsR0FBRyxDQUFDLGdCQUF3QixFQUFFLFFBQWdCLEVBQUUsS0FBVSxFQUFFLFVBQW1CLEVBQUUsRUFBRTtZQUNwRixJQUFJLFNBQVMsQ0FBQztZQUNkLElBQUksZ0JBQWdCLENBQUMsV0FBVyxLQUFLLFlBQVk7Z0JBQy9DLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQzs7Z0JBRTdCLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUE7UUFyREMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3BDLENBQUM7Q0FtREYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcnVQcmVkaWNhdGUgfSBmcm9tIFwiLi90cnUtcHJlZGljYXRlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVHJ1UXVlcnlQcmVkaWNhdGVNYW5hZ2VyIHtcclxuICBfcHJlZGljYXRlOiBUcnVQcmVkaWNhdGUgfCBudWxsID0gbnVsbDtcclxuICBfcHJvcGVydHlRdWVyeVBhdGg6IEFycmF5PHN0cmluZz4gfCBudWxsID0gbnVsbDtcclxuICBfcHJlZGljYXRlTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgX3ByZWRpY2F0ZU1hcDogYW55ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BlcnR5UXVlcnlQYXRoOiBBcnJheTxzdHJpbmc+LCBwcmVkaWNhdGVOYW1lOiBzdHJpbmcsIHByZWRpY2F0ZU1hcDogYW55KSB7XHJcbiAgICB0aGlzLl9wcm9wZXJ0eVF1ZXJ5UGF0aCA9IHByb3BlcnR5UXVlcnlQYXRoO1xyXG4gICAgdGhpcy5fcHJlZGljYXRlTmFtZSA9IHByZWRpY2F0ZU5hbWU7XHJcbiAgICB0aGlzLl9wcmVkaWNhdGVNYXAgPSBwcmVkaWNhdGVNYXA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFByZWRpY2F0ZSA9IChxdWVyeVByZWRpY2F0ZTogVHJ1UHJlZGljYXRlIHwgbnVsbCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuX3ByZWRpY2F0ZSAhPT0gcXVlcnlQcmVkaWNhdGUgJiYgdGhpcy5fcHJlZGljYXRlTWFwICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX3ByZWRpY2F0ZSA9IHF1ZXJ5UHJlZGljYXRlO1xyXG4gICAgICB0aGlzLl9wcmVkaWNhdGVNYXBbdGhpcy5fcHJlZGljYXRlTmFtZV0gPSB0aGlzLl9wcmVkaWNhdGUgPT09IG51bGwgPyBudWxsIDogdGhpcy5fcHJlZGljYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBhIG5ldyBxdWVyeSBwcmVkaWNhdGUuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZpZWxkIC0gTmFtZSBvZiB0aGUgc3RvcmFnZSBmaWVsZCByZWxhdGl2ZSB0byB0aGUgaW50ZW50IHByb3BlcnR5LlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcGVyYXRvciAtIE5hbWUgb2YgdGhlIHByZWRpY2F0ZSBvcGVyYXRvci5cclxuICAgKiBAcGFyYW0geyp9IHZhbHVlIC0gTGl0ZXJhbCB2YWx1ZS5cclxuICAgKi9cclxuICBjcmVhdGUgPSAoZmllbGQ6IHN0cmluZywgb3BlcmF0b3I6IHN0cmluZywgdmFsdWU6IGFueSwgb3ZlclF1b3RlZDogYm9vbGVhbikgPT4ge1xyXG4gICAgcmV0dXJuIG5ldyBUcnVQcmVkaWNhdGUoZmllbGQsIG9wZXJhdG9yLCB2YWx1ZSwgdGhpcy5fcHJvcGVydHlRdWVyeVBhdGgsIG92ZXJRdW90ZWQpLl9icmVlemVQcmVkaWNhdGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhcnMgdGhlIHF1ZXJ5IHByZWRpY2F0ZS5cclxuICAgKi9cclxuICBjbGVhciA9ICgpID0+IHtcclxuICAgIHRoaXMuc2V0UHJlZGljYXRlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgcXVlcnkgcHJlZGljYXRlLlxyXG4gICAqL1xyXG4gIGdldCA9ICgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLl9wcmVkaWNhdGU7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgcXVlcnkgcHJlZGljYXRlLlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7UHJlZGljYXRlfSBwcmVkaWNhdGUgLSBBIHByZWRpY2F0ZSBvYmplY3QgLS0gZnJvbSBjcmVhdGUoKS5cclxuICAgKiBPUlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWVsZCAtIE5hbWUgb2YgdGhlIHN0b3JhZ2UgZmllbGQgcmVsYXRpdmUgdG8gdGhlIGludGVudCBwcm9wZXJ0eS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3BlcmF0b3IgLSBOYW1lIG9mIHRoZSBwcmVkaWNhdGUgb3BlcmF0b3IuXHJcbiAgICogQHBhcmFtIHsqfSB2YWx1ZSAtIExpdGVyYWwgdmFsdWUuXHJcbiAgICovXHJcbiAgc2V0ID0gKGZpZWxkT3JQcmVkaWNhdGU6IHN0cmluZywgb3BlcmF0b3I6IHN0cmluZywgdmFsdWU6IGFueSwgb3ZlclF1b3RlZDogYm9vbGVhbikgPT4ge1xyXG4gICAgdmFyIHByZWRpY2F0ZTtcclxuICAgIGlmIChmaWVsZE9yUHJlZGljYXRlLmNvbnN0cnVjdG9yID09PSBUcnVQcmVkaWNhdGUpXHJcbiAgICAgIHByZWRpY2F0ZSA9IGZpZWxkT3JQcmVkaWNhdGU7XHJcbiAgICBlbHNlXHJcbiAgICAgIHByZWRpY2F0ZSA9IHRoaXMuY3JlYXRlKGZpZWxkT3JQcmVkaWNhdGUsIG9wZXJhdG9yLCB2YWx1ZSwgb3ZlclF1b3RlZCk7XHJcbiAgICB0aGlzLnNldFByZWRpY2F0ZShwcmVkaWNhdGUpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -4,11 +4,15 @@
4
4
  /*
5
5
  * Base Classes
6
6
  */
7
+ export * from "./lib/base-classes/tru-entity-base";
8
+ export * from "./lib/base-classes/tru-property-config-base";
7
9
  export * from "./lib/base-classes/tru-search-component-base";
8
10
  export * from "./lib/base-classes/tru-search-component-config-base";
9
11
  /*
10
12
  * Classes
11
13
  */
14
+ export * from "./lib/classes/tru-predicate";
15
+ export * from "./lib/classes/tru-query-predicate-manager";
12
16
  export * from "./lib/classes/tru-window-event";
13
17
  export * from "./lib/classes/tru-window-add-view-event";
14
18
  /*
@@ -23,4 +27,4 @@ export * from './lib/services/tru-window-event-handler';
23
27
  */
24
28
  export * from "./lib/assets/tru-search-icon-module";
25
29
  export * from "./lib/tru-common-module";
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscURBQXFELENBQUM7QUFFcEU7O0dBRUc7QUFDSCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMseUNBQXlDLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHlDQUF5QyxDQUFDO0FBR3hEOztHQUVHO0FBQ0gsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB0cnUtY29tbW9uLWxpYlxuICovXG5cbi8qXG4gKiBCYXNlIENsYXNzZXNcbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtc2VhcmNoLWNvbXBvbmVudC1iYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvYmFzZS1jbGFzc2VzL3RydS1zZWFyY2gtY29tcG9uZW50LWNvbmZpZy1iYXNlXCI7XG5cbi8qXG4gKiBDbGFzc2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jbGFzc2VzL3RydS13aW5kb3ctZXZlbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jbGFzc2VzL3RydS13aW5kb3ctYWRkLXZpZXctZXZlbnRcIjtcblxuLypcbiAqIFNlcnZpY2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1zZWFyY2gtZ3JvdXAtZXZlbnQtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtY29tcG9uZW50LWxvb2t1cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtd2luZG93LWFjdGlvbi1ldmVudC1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS13aW5kb3ctZXZlbnQtaGFuZGxlcic7XG5cblxuLypcbiAqIE1vZHVsZXNcbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Fzc2V0cy90cnUtc2VhcmNoLWljb24tbW9kdWxlXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90cnUtY29tbW9uLW1vZHVsZVwiO1xuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFOztHQUVHO0FBQ0gsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RDs7R0FFRztBQUNILGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMseUNBQXlDLENBQUM7QUFHeEQ7O0dBRUc7QUFDSCxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHRydS1jb21tb24tbGliXG4gKi9cblxuLypcbiAqIEJhc2UgQ2xhc3Nlc1xuICovXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvYmFzZS1jbGFzc2VzL3RydS1lbnRpdHktYmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtcHJvcGVydHktY29uZmlnLWJhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LXNlYXJjaC1jb21wb25lbnQtYmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Jhc2UtY2xhc3Nlcy90cnUtc2VhcmNoLWNvbXBvbmVudC1jb25maWctYmFzZVwiO1xuXG4vKlxuICogQ2xhc3Nlc1xuICovXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY2xhc3Nlcy90cnUtcHJlZGljYXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvY2xhc3Nlcy90cnUtcXVlcnktcHJlZGljYXRlLW1hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jbGFzc2VzL3RydS13aW5kb3ctZXZlbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9jbGFzc2VzL3RydS13aW5kb3ctYWRkLXZpZXctZXZlbnRcIjtcblxuLypcbiAqIFNlcnZpY2VzXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS1zZWFyY2gtZ3JvdXAtZXZlbnQtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtY29tcG9uZW50LWxvb2t1cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90cnUtd2luZG93LWFjdGlvbi1ldmVudC1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RydS13aW5kb3ctZXZlbnQtaGFuZGxlcic7XG5cblxuLypcbiAqIE1vZHVsZXNcbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2Fzc2V0cy90cnUtc2VhcmNoLWljb24tbW9kdWxlXCI7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi90cnUtY29tbW9uLW1vZHVsZVwiO1xuIl19
@@ -1,3 +1,4 @@
1
+ import { EntityAspect, BinaryPredicate, AndOrPredicate, breeze } from 'breeze-client';
1
2
  import * as i0 from '@angular/core';
2
3
  import { Directive, Input, Injectable, EventEmitter, NgModule } from '@angular/core';
3
4
  import { BehaviorSubject, Subject } from 'rxjs';
@@ -6,6 +7,30 @@ import { FormsModule } from '@angular/forms';
6
7
  import * as i1 from '@angular/platform-browser';
7
8
  import * as i2 from '@angular/material/icon';
8
9
 
10
+ class TruEntityBase {
11
+ constructor(...args) {
12
+ this.entityAspect = new EntityAspect();
13
+ this.Created = new Date();
14
+ this.CreatedRef = -1;
15
+ this.Updated = undefined;
16
+ this.UpdatedRef = undefined;
17
+ }
18
+ }
19
+
20
+ class TruPropertyConfigBase {
21
+ constructor() {
22
+ this.IsNullable = false;
23
+ this.CanDisplay = false;
24
+ this.CanEdit = false;
25
+ this.GlobalCache = false;
26
+ this.UniqueConstraint = false;
27
+ this.TypeName = undefined;
28
+ this.FormatterName = undefined;
29
+ this.Choices = undefined;
30
+ this.Validation = undefined;
31
+ }
32
+ }
33
+
9
34
  /*
10
35
  * The abstract class needs the Angular @Component decorator in order in implement @Input
11
36
  */
@@ -55,6 +80,109 @@ class TruSearchControlComponentConfigBase {
55
80
  constructor() { }
56
81
  }
57
82
 
83
+ class TruPredicate {
84
+ constructor(field, operator, value, propertyQueryPath, overQuoted = false) {
85
+ this._breezePredicate = null;
86
+ this.handleOperator = (fieldOrPredicate, operator, value, oper) => {
87
+ var breezePredicate;
88
+ if (Array.isArray(fieldOrPredicate)) {
89
+ breezePredicate = new TruPredicate(fieldOrPredicate[0], fieldOrPredicate[1], fieldOrPredicate[2], []);
90
+ }
91
+ else if (fieldOrPredicate.constructor === TruPredicate || fieldOrPredicate.constructor === BinaryPredicate || fieldOrPredicate.constructor === AndOrPredicate) {
92
+ breezePredicate = fieldOrPredicate;
93
+ }
94
+ else {
95
+ throw new TypeError('Unexpected parameter type <' + fieldOrPredicate.constructor + '>.');
96
+ }
97
+ breezePredicate = oper(breezePredicate);
98
+ return new TruPredicate(breezePredicate, null, null, null);
99
+ };
100
+ this.and = (fieldOrPredicate, operator, value) => {
101
+ var that = this;
102
+ return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.and(p); });
103
+ };
104
+ this.or = (fieldOrPredicate, operator, value) => {
105
+ var that = this;
106
+ return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.or(p); });
107
+ };
108
+ this.not = () => {
109
+ var breezePredicate = this._breezePredicate.not();
110
+ return new TruPredicate(breezePredicate, null, null, null);
111
+ };
112
+ if (typeof field === 'string') {
113
+ var args = propertyQueryPath === null || propertyQueryPath === void 0 ? void 0 : propertyQueryPath.slice(0);
114
+ args[args.length - 1] += field;
115
+ args.push(operator);
116
+ args.push(value);
117
+ this._breezePredicate = new breeze.Predicate(args);
118
+ this._breezePredicate.overQuoted = overQuoted;
119
+ }
120
+ else if (arguments[0].constructor === TruPredicate || arguments[0].constructor === BinaryPredicate || arguments[0].constructor === AndOrPredicate) {
121
+ this._breezePredicate = arguments[0];
122
+ }
123
+ else {
124
+ throw new TypeError('Unexpected parameter type <' + arguments[0].constructor + '>.');
125
+ }
126
+ }
127
+ }
128
+
129
+ class TruQueryPredicateManager {
130
+ constructor(propertyQueryPath, predicateName, predicateMap) {
131
+ this._predicate = null;
132
+ this._propertyQueryPath = null;
133
+ this._predicateName = '';
134
+ this._predicateMap = {};
135
+ this.setPredicate = (queryPredicate) => {
136
+ if (this._predicate !== queryPredicate && this._predicateMap !== null) {
137
+ this._predicate = queryPredicate;
138
+ this._predicateMap[this._predicateName] = this._predicate === null ? null : this._predicate;
139
+ }
140
+ };
141
+ /**
142
+ * Returns a new query predicate.
143
+ *
144
+ * @param {string} field - Name of the storage field relative to the intent property.
145
+ * @param {string} operator - Name of the predicate operator.
146
+ * @param {*} value - Literal value.
147
+ */
148
+ this.create = (field, operator, value, overQuoted) => {
149
+ return new TruPredicate(field, operator, value, this._propertyQueryPath, overQuoted)._breezePredicate;
150
+ };
151
+ /**
152
+ * Clears the query predicate.
153
+ */
154
+ this.clear = () => {
155
+ this.setPredicate(null);
156
+ };
157
+ /**
158
+ * Returns the query predicate.
159
+ */
160
+ this.get = () => {
161
+ return this._predicate;
162
+ };
163
+ /**
164
+ * Sets the query predicate.
165
+ *
166
+ * @param {Predicate} predicate - A predicate object -- from create().
167
+ * OR
168
+ * @param {string} field - Name of the storage field relative to the intent property.
169
+ * @param {string} operator - Name of the predicate operator.
170
+ * @param {*} value - Literal value.
171
+ */
172
+ this.set = (fieldOrPredicate, operator, value, overQuoted) => {
173
+ var predicate;
174
+ if (fieldOrPredicate.constructor === TruPredicate)
175
+ predicate = fieldOrPredicate;
176
+ else
177
+ predicate = this.create(fieldOrPredicate, operator, value, overQuoted);
178
+ this.setPredicate(predicate);
179
+ };
180
+ this._propertyQueryPath = propertyQueryPath;
181
+ this._predicateName = predicateName;
182
+ this._predicateMap = predicateMap;
183
+ }
184
+ }
185
+
58
186
  class TruWindowEvent {
59
187
  constructor() {
60
188
  this.title = '';
@@ -283,5 +411,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
283
411
  * Generated bundle index. Do not edit.
284
412
  */
285
413
 
286
- export { TruCommonModule, TruComponentLookup, TruSearchComponentBase, TruSearchControlComponentConfigBase, TruSearchGroupEventHandler, TruSearchIconModule, TruWindowActionEventHandler, TruWindowAddViewEvent, TruWindowEvent, TruWindowEventHandler };
414
+ export { TruCommonModule, TruComponentLookup, TruEntityBase, TruPredicate, TruPropertyConfigBase, TruQueryPredicateManager, TruSearchComponentBase, TruSearchControlComponentConfigBase, TruSearchGroupEventHandler, TruSearchIconModule, TruWindowActionEventHandler, TruWindowAddViewEvent, TruWindowEvent, TruWindowEventHandler };
287
415
  //# sourceMappingURL=trudb-tru-common-lib.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trudb-tru-common-lib.mjs","sources":["../../../projects/tru-common-lib/src/lib/base-classes/tru-search-component-base.ts","../../../projects/tru-common-lib/src/lib/base-classes/tru-search-component-config-base.ts","../../../projects/tru-common-lib/src/lib/classes/tru-window-event.ts","../../../projects/tru-common-lib/src/lib/classes/tru-window-add-view-event.ts","../../../projects/tru-common-lib/src/lib/services/tru-search-group-event-handler.ts","../../../projects/tru-common-lib/src/lib/services/tru-component-lookup.ts","../../../projects/tru-common-lib/src/lib/services/tru-window-action-event-handler.ts","../../../projects/tru-common-lib/src/lib/services/tru-window-event-handler.ts","../../../projects/tru-common-lib/src/lib/assets/tru-search-icon-module.ts","../../../projects/tru-common-lib/src/lib/tru-common-module.ts","../../../projects/tru-common-lib/src/public-api.ts","../../../projects/tru-common-lib/src/trudb-tru-common-lib.ts"],"sourcesContent":["import { NgModule, Directive, Input } from '@angular/core';\n\n/*\n * The abstract class needs the Angular @Component decorator in order in implement @Input \n */\n@Directive()\nexport abstract class TruSearchComponentBase {\n\n operatorLookup: { [key: string]: string } = {\n 'equal': 'eq',\n 'not-equal': 'not-eq',\n 'greater-than': 'gt',\n 'greater-than-or-equal': 'ge',\n 'less-than': 'lt',\n 'less-than-or-equal': 'le',\n 'contains': 'contains',\n 'default': 'eq'\n };\n\n operatorIconLookup: { [key: string]: string } = {\n 'equal': 'equal-operator-icon',\n 'not-equal': 'not-equal-operator-icon',\n 'greater-than': 'greater-than-operator-icon',\n 'greater-than-or-equal': 'greater-than-or-equal-operator-icon',\n 'less-than': 'less-than-operator-icon',\n 'less-than-or-equal': 'less-than-or-equal-operator-icon',\n 'contains': 'contains-operator-icon',\n 'default': 'equal-operator-icon',\n };\n\n operatorIconTitleLookup: { [key: string]: string } = {\n 'equal': 'Equal To',\n 'not-equal': 'Not Equal To',\n 'greater-than': 'Greater Than',\n 'greater-than-or-equal': 'Greater Than Or Equal To',\n 'less-than': 'Less Than',\n 'less-than-or-equal': 'Less Than Or Equal To',\n 'contains': 'Contains',\n 'default': 'Equal To',\n };\n\n @Input()\n abstract config: any;\n\n abstract label: string;\n\n abstract operator: string;\n\n abstract operatorIcon: string;\n\n abstract operatorIconTitle: string;\n\n abstract onOperatorIconClick(): void;\n\n abstract updatePredicate(): void;\n}\n","import { Observable } from \"rxjs\";\r\nimport { TruPropertyConfigBase } from \"./tru-property-config-base\";\r\nimport { TruBaseEntity } from \"./tru-base-entity\";\r\nimport { TruQueryPredicateManager } from \"./tru-query-predicate-manager\";\r\n\r\nexport abstract class TruSearchControlComponentConfigBase {\r\n abstract label: string | undefined;\r\n abstract propertyName: string | undefined;\r\n abstract rootTable: string | undefined;\r\n abstract propertyPath: string | undefined;\r\n abstract get property(): TruPropertyConfigBase;\r\n abstract value: (entity: TruBaseEntity) => {}\r\n abstract queryPredicate: TruQueryPredicateManager;\r\n constructor() { }\r\n\r\n protected choices?(): Observable<{ label: string, value: { $: any } }[]>;\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowEvent {\r\n title: string = '';\r\n tableName: string = '';\r\n tablePluralName: string = '';\r\n tablePluralLabel: string = '';\r\n context: any = {};\r\n contentBottom: string = '23px'\r\n statusbarDirective: string = 'tru-statusbar';\r\n height: string = '450px';\r\n width: string = '900px';\r\n views: Array<object> = [{}];\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowAddViewEvent {\r\n active: boolean | null = null;\r\n entities: any | null = null;\r\n entityIndex: number = 0;\r\n isDirty: boolean = false;\r\n isEditing: boolean = false;\r\n isInvalid: boolean = false;\r\n componentName: string = ''\r\n}\r\n","import { Injectable, EventEmitter} from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TruSearchGroupEventHandler {\r\n private search$: EventEmitter<any> = new EventEmitter<any>();\r\n private filter$: EventEmitter<any> = new EventEmitter<any>();\r\n private clear$ = new BehaviorSubject<any>(null);\r\n private default$ = new BehaviorSubject<any>(null);\r\n\r\n onSearch() {\r\n return this.search$;\r\n }\r\n\r\n onFilter() {\r\n return this.filter$;\r\n }\r\n\r\n onClearValues() {\r\n return this.clear$;\r\n }\r\n\r\n onSetDefaults() {\r\n return this.default$;\r\n }\r\n\r\n search(entityQuery: any) {\r\n this.search$.emit(entityQuery);\r\n }\r\n\r\n filter(entityQuery: any) {\r\n this.filter$.emit(entityQuery);\r\n }\r\n\r\n clearValues() {\r\n this.clear$.next(null);\r\n }\r\n\r\n setDefaults() {\r\n this.default$.next(null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class TruComponentLookup {\r\n private truComponentLookupRegistry: Map<string, any> = new Map();\r\n\r\n set = (key: string, type: any): void => {\r\n this.truComponentLookupRegistry.set(key, type);\r\n }\r\n\r\n get = (key: string): any => {\r\n return this.truComponentLookupRegistry.get(key);\r\n }\r\n\r\n getBySuffix = (suffix: string): Array<any> => {\r\n return [...this.truComponentLookupRegistry.values()].filter(\r\n (v: any, k: any) => {\r\n v.name.toLowerCase().endsWith(suffix.toLowerCase())\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TruWindowActionEventHandler {\r\n\r\n private save$: Subject<null> = new Subject();\r\n private revert$: Subject<null> = new Subject();\r\n\r\n onSave = () => {\r\n return this.save$;\r\n }\r\n\r\n onRevert = () => {\r\n return this.revert$;\r\n }\r\n\r\n save = () => {\r\n this.save$.next(null);\r\n }\r\n\r\n revert = () => {\r\n this.revert$.next(null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TruWindowAddViewEvent } from '../classes/tru-window-add-view-event';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { TruWindowEvent } from '../classes/tru-window-event';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowEventHandler {\r\n private open$: Subject<TruWindowEvent> = new Subject<TruWindowEvent>();\r\n private addView$: Subject<TruWindowAddViewEvent> = new Subject<TruWindowAddViewEvent>();\r\n private removeForwadViews$: Subject<null> = new Subject<null>();\r\n\r\n onOpen() {\r\n return this.open$;\r\n }\r\n\r\n open(windowEvent: TruWindowEvent) {\r\n this.open$.next(windowEvent);\r\n }\r\n\r\n onAddView() {\r\n return this.addView$;\r\n }\r\n\r\n addView(windowAddViewEvent: TruWindowAddViewEvent) {\r\n this.addView$.next(windowAddViewEvent);\r\n }\r\n\r\n onRemoveForwardViews() {\r\n return this.removeForwadViews$;\r\n }\r\n\r\n removeForwardViews() {\r\n this.removeForwadViews$.next(null);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { MatIconRegistry } from \"@angular/material/icon\";\n\nconst EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17,16V14H7V16H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M17,10V8H7V10H17Z\" /></svg>\n`;\n\nconst NOT_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6,15H8V17H6M11,13H18V15H11M11,9H18V11H11M6,7H8V13H6M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst GREATER_THAN_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.41,7.41L15,12L10.41,16.6L9,15.18L12.18,12L9,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst GREATER_THAN_OR_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,13H18V15H13M13,9H18V11H13M6.91,7.41L11.5,12L6.91,16.6L5.5,15.18L8.68,12L5.5,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst LESS_THAN_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.59,7.41L9,12L13.59,16.6L15,15.18L11.82,12L15,8.82M19,3C20.11,3 21,3.9 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19Z\" /></svg>\n`;\n\nconst LESS_THAN_OR_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,13H18V15H13M13,9H18V11H13M10.09,7.41L11.5,8.82L8.32,12L11.5,15.18L10.09,16.6L5.5,12M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst CONTAINS_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M2,3H8V5H4V19H8V21H2V3M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15M22,3V21H16V19H20V5H16V3H22Z\" /></svg>\n`;\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [],\n exports: []\n})\nexport class TruSearchIconModule {\n constructor(sanitizer: DomSanitizer, iconRegistry: MatIconRegistry) {\n iconRegistry.addSvgIconLiteral(\n \"equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"not-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(NOT_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"greater-than-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(GREATER_THAN_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"greater-than-or-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(GREATER_THAN_OR_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"less-than-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(LESS_THAN_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"less-than-or-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(LESS_THAN_OR_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"contains-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(CONTAINS_ICON)\n );\n }\n}\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n declarations: [\r\n\r\n ],\r\n imports: [\r\n ],\r\n exports: [\r\n\r\n ]\r\n})\r\nexport class TruCommonModule { }\r\n","/*\n * Public API Surface of tru-common-lib\n */\n\n/*\n * Base Classes\n */\nexport * from \"./lib/base-classes/tru-search-component-base\";\nexport * from \"./lib/base-classes/tru-search-component-config-base\";\n\n/*\n * Classes\n */\nexport * from \"./lib/classes/tru-window-event\";\nexport * from \"./lib/classes/tru-window-add-view-event\";\n\n/*\n * Services\n */\nexport * from './lib/services/tru-search-group-event-handler';\nexport * from './lib/services/tru-component-lookup';\nexport * from './lib/services/tru-window-action-event-handler';\nexport * from './lib/services/tru-window-event-handler';\n\n\n/*\n * Modules\n */\nexport * from \"./lib/assets/tru-search-icon-module\";\n\nexport * from \"./lib/tru-common-module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trudb-tru-common-lib.mjs","sources":["../../../projects/tru-common-lib/src/lib/base-classes/tru-entity-base.ts","../../../projects/tru-common-lib/src/lib/base-classes/tru-property-config-base.ts","../../../projects/tru-common-lib/src/lib/base-classes/tru-search-component-base.ts","../../../projects/tru-common-lib/src/lib/base-classes/tru-search-component-config-base.ts","../../../projects/tru-common-lib/src/lib/classes/tru-predicate.ts","../../../projects/tru-common-lib/src/lib/classes/tru-query-predicate-manager.ts","../../../projects/tru-common-lib/src/lib/classes/tru-window-event.ts","../../../projects/tru-common-lib/src/lib/classes/tru-window-add-view-event.ts","../../../projects/tru-common-lib/src/lib/services/tru-search-group-event-handler.ts","../../../projects/tru-common-lib/src/lib/services/tru-component-lookup.ts","../../../projects/tru-common-lib/src/lib/services/tru-window-action-event-handler.ts","../../../projects/tru-common-lib/src/lib/services/tru-window-event-handler.ts","../../../projects/tru-common-lib/src/lib/assets/tru-search-icon-module.ts","../../../projects/tru-common-lib/src/lib/tru-common-module.ts","../../../projects/tru-common-lib/src/public-api.ts","../../../projects/tru-common-lib/src/trudb-tru-common-lib.ts"],"sourcesContent":["import { Entity, EntityAspect, EntityType } from 'breeze-client';\r\n\r\nexport class TruEntityBase implements Entity {\r\n constructor(...args: any[]) { }\r\n\r\n entityAspect: EntityAspect = new EntityAspect();\r\n entityType!: EntityType;\r\n\r\n Created: Date = new Date();\r\n CreatedRef: number = -1;\r\n Updated: Date | undefined = undefined;\r\n UpdatedRef: number | undefined = undefined;\r\n rowver: any;\r\n}\r\n","export class TruPropertyConfigBase {\r\n constructor() { }\r\n\r\n IsNullable: boolean = false;\r\n CanDisplay: boolean = false;\r\n CanEdit: boolean = false;\r\n GlobalCache: boolean = false;\r\n UniqueConstraint: boolean = false;\r\n TypeName: string | undefined = undefined;\r\n FormatterName: string | undefined = undefined;\r\n Choices: any = undefined;\r\n Validation: string | undefined = undefined;\r\n}\r\n","import { NgModule, Directive, Input } from '@angular/core';\n\n/*\n * The abstract class needs the Angular @Component decorator in order in implement @Input \n */\n@Directive()\nexport abstract class TruSearchComponentBase {\n\n operatorLookup: { [key: string]: string } = {\n 'equal': 'eq',\n 'not-equal': 'not-eq',\n 'greater-than': 'gt',\n 'greater-than-or-equal': 'ge',\n 'less-than': 'lt',\n 'less-than-or-equal': 'le',\n 'contains': 'contains',\n 'default': 'eq'\n };\n\n operatorIconLookup: { [key: string]: string } = {\n 'equal': 'equal-operator-icon',\n 'not-equal': 'not-equal-operator-icon',\n 'greater-than': 'greater-than-operator-icon',\n 'greater-than-or-equal': 'greater-than-or-equal-operator-icon',\n 'less-than': 'less-than-operator-icon',\n 'less-than-or-equal': 'less-than-or-equal-operator-icon',\n 'contains': 'contains-operator-icon',\n 'default': 'equal-operator-icon',\n };\n\n operatorIconTitleLookup: { [key: string]: string } = {\n 'equal': 'Equal To',\n 'not-equal': 'Not Equal To',\n 'greater-than': 'Greater Than',\n 'greater-than-or-equal': 'Greater Than Or Equal To',\n 'less-than': 'Less Than',\n 'less-than-or-equal': 'Less Than Or Equal To',\n 'contains': 'Contains',\n 'default': 'Equal To',\n };\n\n @Input()\n abstract config: any;\n\n abstract label: string;\n\n abstract operator: string;\n\n abstract operatorIcon: string;\n\n abstract operatorIconTitle: string;\n\n abstract onOperatorIconClick(): void;\n\n abstract updatePredicate(): void;\n}\n","import { Observable } from \"rxjs\";\r\nimport { TruPropertyConfigBase } from \"./tru-property-config-base\";\r\nimport { TruEntityBase } from \"./tru-entity-base\";\r\nimport { TruQueryPredicateManager } from \"../classes/tru-query-predicate-manager\";\r\n\r\nexport abstract class TruSearchControlComponentConfigBase {\r\n abstract label: string | undefined;\r\n abstract propertyName: string | undefined;\r\n abstract rootTable: string | undefined;\r\n abstract propertyPath: string | undefined;\r\n abstract get property(): TruPropertyConfigBase;\r\n abstract value: (entity: TruEntityBase) => {}\r\n abstract queryPredicate: TruQueryPredicateManager;\r\n constructor() { }\r\n\r\n protected choices?(): Observable<{ label: string, value: { $: any } }[]>;\r\n}\r\n","import { AndOrPredicate, BinaryPredicate, breeze } from \"breeze-client\";\r\n\r\nexport class TruPredicate {\r\n _breezePredicate: any = null;\r\n\r\n constructor(field: any, operator: string | null, value: any, propertyQueryPath: Array<string> | null, overQuoted: boolean = false) {\r\n if (typeof field === 'string') {\r\n var args = propertyQueryPath?.slice(0) as Array<any>;\r\n args[args.length - 1] += field;\r\n args.push(operator as string);\r\n args.push(value);\r\n this._breezePredicate = new breeze.Predicate(args as Array<any>);\r\n this._breezePredicate.overQuoted = overQuoted;\r\n } else if (arguments[0].constructor === TruPredicate || arguments[0].constructor === BinaryPredicate || arguments[0].constructor === AndOrPredicate) {\r\n this._breezePredicate = arguments[0];\r\n } else {\r\n throw new TypeError('Unexpected parameter type <' + arguments[0].constructor + '>.');\r\n }\r\n }\r\n\r\n handleOperator = (fieldOrPredicate: any, operator: string, value: any, oper: (p: any) => {}) => {\r\n var breezePredicate;\r\n if (Array.isArray(fieldOrPredicate)) {\r\n breezePredicate = new TruPredicate(fieldOrPredicate[0], fieldOrPredicate[1], fieldOrPredicate[2], []);\r\n } else if (fieldOrPredicate.constructor === TruPredicate || fieldOrPredicate.constructor === BinaryPredicate || fieldOrPredicate.constructor === AndOrPredicate) {\r\n breezePredicate = fieldOrPredicate;\r\n } else {\r\n throw new TypeError('Unexpected parameter type <' + fieldOrPredicate.constructor + '>.');\r\n }\r\n breezePredicate = oper(breezePredicate);\r\n return new TruPredicate(breezePredicate, null, null, null);\r\n }\r\n\r\n and = (fieldOrPredicate: any, operator: string, value: any) => {\r\n var that = this;\r\n return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.and(p); });\r\n }\r\n\r\n or = (fieldOrPredicate: any, operator: string, value: any) => {\r\n var that = this;\r\n return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.or(p); });\r\n }\r\n\r\n not = () => {\r\n var breezePredicate = this._breezePredicate.not();\r\n return new TruPredicate(breezePredicate, null, null, null);\r\n }\r\n}\r\n","import { TruPredicate } from \"./tru-predicate\";\r\n\r\nexport class TruQueryPredicateManager {\r\n _predicate: TruPredicate | null = null;\r\n _propertyQueryPath: Array<string> | null = null;\r\n _predicateName: string = '';\r\n _predicateMap: any = {};\r\n\r\n constructor(propertyQueryPath: Array<string>, predicateName: string, predicateMap: any) {\r\n this._propertyQueryPath = propertyQueryPath;\r\n this._predicateName = predicateName;\r\n this._predicateMap = predicateMap;\r\n }\r\n\r\n private setPredicate = (queryPredicate: TruPredicate | null) => {\r\n if (this._predicate !== queryPredicate && this._predicateMap !== null) {\r\n this._predicate = queryPredicate;\r\n this._predicateMap[this._predicateName] = this._predicate === null ? null : this._predicate;\r\n }\r\n }\r\n\r\n /**\r\n * Returns a new query predicate.\r\n * \r\n * @param {string} field - Name of the storage field relative to the intent property.\r\n * @param {string} operator - Name of the predicate operator.\r\n * @param {*} value - Literal value.\r\n */\r\n create = (field: string, operator: string, value: any, overQuoted: boolean) => {\r\n return new TruPredicate(field, operator, value, this._propertyQueryPath, overQuoted)._breezePredicate;\r\n }\r\n\r\n /**\r\n * Clears the query predicate.\r\n */\r\n clear = () => {\r\n this.setPredicate(null);\r\n }\r\n\r\n /**\r\n * Returns the query predicate.\r\n */\r\n get = () => {\r\n return this._predicate;\r\n };\r\n\r\n /**\r\n * Sets the query predicate.\r\n * \r\n * @param {Predicate} predicate - A predicate object -- from create().\r\n * OR\r\n * @param {string} field - Name of the storage field relative to the intent property.\r\n * @param {string} operator - Name of the predicate operator.\r\n * @param {*} value - Literal value.\r\n */\r\n set = (fieldOrPredicate: string, operator: string, value: any, overQuoted: boolean) => {\r\n var predicate;\r\n if (fieldOrPredicate.constructor === TruPredicate)\r\n predicate = fieldOrPredicate;\r\n else\r\n predicate = this.create(fieldOrPredicate, operator, value, overQuoted);\r\n this.setPredicate(predicate);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowEvent {\r\n title: string = '';\r\n tableName: string = '';\r\n tablePluralName: string = '';\r\n tablePluralLabel: string = '';\r\n context: any = {};\r\n contentBottom: string = '23px'\r\n statusbarDirective: string = 'tru-statusbar';\r\n height: string = '450px';\r\n width: string = '900px';\r\n views: Array<object> = [{}];\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowAddViewEvent {\r\n active: boolean | null = null;\r\n entities: any | null = null;\r\n entityIndex: number = 0;\r\n isDirty: boolean = false;\r\n isEditing: boolean = false;\r\n isInvalid: boolean = false;\r\n componentName: string = ''\r\n}\r\n","import { Injectable, EventEmitter} from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TruSearchGroupEventHandler {\r\n private search$: EventEmitter<any> = new EventEmitter<any>();\r\n private filter$: EventEmitter<any> = new EventEmitter<any>();\r\n private clear$ = new BehaviorSubject<any>(null);\r\n private default$ = new BehaviorSubject<any>(null);\r\n\r\n onSearch() {\r\n return this.search$;\r\n }\r\n\r\n onFilter() {\r\n return this.filter$;\r\n }\r\n\r\n onClearValues() {\r\n return this.clear$;\r\n }\r\n\r\n onSetDefaults() {\r\n return this.default$;\r\n }\r\n\r\n search(entityQuery: any) {\r\n this.search$.emit(entityQuery);\r\n }\r\n\r\n filter(entityQuery: any) {\r\n this.filter$.emit(entityQuery);\r\n }\r\n\r\n clearValues() {\r\n this.clear$.next(null);\r\n }\r\n\r\n setDefaults() {\r\n this.default$.next(null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class TruComponentLookup {\r\n private truComponentLookupRegistry: Map<string, any> = new Map();\r\n\r\n set = (key: string, type: any): void => {\r\n this.truComponentLookupRegistry.set(key, type);\r\n }\r\n\r\n get = (key: string): any => {\r\n return this.truComponentLookupRegistry.get(key);\r\n }\r\n\r\n getBySuffix = (suffix: string): Array<any> => {\r\n return [...this.truComponentLookupRegistry.values()].filter(\r\n (v: any, k: any) => {\r\n v.name.toLowerCase().endsWith(suffix.toLowerCase())\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TruWindowActionEventHandler {\r\n\r\n private save$: Subject<null> = new Subject();\r\n private revert$: Subject<null> = new Subject();\r\n\r\n onSave = () => {\r\n return this.save$;\r\n }\r\n\r\n onRevert = () => {\r\n return this.revert$;\r\n }\r\n\r\n save = () => {\r\n this.save$.next(null);\r\n }\r\n\r\n revert = () => {\r\n this.revert$.next(null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TruWindowAddViewEvent } from '../classes/tru-window-add-view-event';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { TruWindowEvent } from '../classes/tru-window-event';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowEventHandler {\r\n private open$: Subject<TruWindowEvent> = new Subject<TruWindowEvent>();\r\n private addView$: Subject<TruWindowAddViewEvent> = new Subject<TruWindowAddViewEvent>();\r\n private removeForwadViews$: Subject<null> = new Subject<null>();\r\n\r\n onOpen() {\r\n return this.open$;\r\n }\r\n\r\n open(windowEvent: TruWindowEvent) {\r\n this.open$.next(windowEvent);\r\n }\r\n\r\n onAddView() {\r\n return this.addView$;\r\n }\r\n\r\n addView(windowAddViewEvent: TruWindowAddViewEvent) {\r\n this.addView$.next(windowAddViewEvent);\r\n }\r\n\r\n onRemoveForwardViews() {\r\n return this.removeForwadViews$;\r\n }\r\n\r\n removeForwardViews() {\r\n this.removeForwadViews$.next(null);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { MatIconRegistry } from \"@angular/material/icon\";\n\nconst EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17,16V14H7V16H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M17,10V8H7V10H17Z\" /></svg>\n`;\n\nconst NOT_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6,15H8V17H6M11,13H18V15H11M11,9H18V11H11M6,7H8V13H6M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst GREATER_THAN_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.41,7.41L15,12L10.41,16.6L9,15.18L12.18,12L9,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst GREATER_THAN_OR_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,13H18V15H13M13,9H18V11H13M6.91,7.41L11.5,12L6.91,16.6L5.5,15.18L8.68,12L5.5,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst LESS_THAN_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.59,7.41L9,12L13.59,16.6L15,15.18L11.82,12L15,8.82M19,3C20.11,3 21,3.9 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19Z\" /></svg>\n`;\n\nconst LESS_THAN_OR_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,13H18V15H13M13,9H18V11H13M10.09,7.41L11.5,8.82L8.32,12L11.5,15.18L10.09,16.6L5.5,12M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst CONTAINS_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M2,3H8V5H4V19H8V21H2V3M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15M22,3V21H16V19H20V5H16V3H22Z\" /></svg>\n`;\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [],\n exports: []\n})\nexport class TruSearchIconModule {\n constructor(sanitizer: DomSanitizer, iconRegistry: MatIconRegistry) {\n iconRegistry.addSvgIconLiteral(\n \"equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"not-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(NOT_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"greater-than-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(GREATER_THAN_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"greater-than-or-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(GREATER_THAN_OR_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"less-than-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(LESS_THAN_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"less-than-or-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(LESS_THAN_OR_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"contains-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(CONTAINS_ICON)\n );\n }\n}\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n declarations: [\r\n\r\n ],\r\n imports: [\r\n ],\r\n exports: [\r\n\r\n ]\r\n})\r\nexport class TruCommonModule { }\r\n","/*\n * Public API Surface of tru-common-lib\n */\n\n/*\n * Base Classes\n */\nexport * from \"./lib/base-classes/tru-entity-base\";\nexport * from \"./lib/base-classes/tru-property-config-base\";\nexport * from \"./lib/base-classes/tru-search-component-base\";\nexport * from \"./lib/base-classes/tru-search-component-config-base\";\n\n/*\n * Classes\n */\nexport * from \"./lib/classes/tru-predicate\";\nexport * from \"./lib/classes/tru-query-predicate-manager\";\nexport * from \"./lib/classes/tru-window-event\";\nexport * from \"./lib/classes/tru-window-add-view-event\";\n\n/*\n * Services\n */\nexport * from './lib/services/tru-search-group-event-handler';\nexport * from './lib/services/tru-component-lookup';\nexport * from './lib/services/tru-window-action-event-handler';\nexport * from './lib/services/tru-window-event-handler';\n\n\n/*\n * Modules\n */\nexport * from \"./lib/assets/tru-search-icon-module\";\n\nexport * from \"./lib/tru-common-module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { EntityAspect, BinaryPredicate, AndOrPredicate, breeze } from 'breeze-client';
1
2
  import * as i0 from '@angular/core';
2
3
  import { Directive, Input, Injectable, EventEmitter, NgModule } from '@angular/core';
3
4
  import { BehaviorSubject, Subject } from 'rxjs';
@@ -6,6 +7,30 @@ import { FormsModule } from '@angular/forms';
6
7
  import * as i1 from '@angular/platform-browser';
7
8
  import * as i2 from '@angular/material/icon';
8
9
 
10
+ class TruEntityBase {
11
+ constructor(...args) {
12
+ this.entityAspect = new EntityAspect();
13
+ this.Created = new Date();
14
+ this.CreatedRef = -1;
15
+ this.Updated = undefined;
16
+ this.UpdatedRef = undefined;
17
+ }
18
+ }
19
+
20
+ class TruPropertyConfigBase {
21
+ constructor() {
22
+ this.IsNullable = false;
23
+ this.CanDisplay = false;
24
+ this.CanEdit = false;
25
+ this.GlobalCache = false;
26
+ this.UniqueConstraint = false;
27
+ this.TypeName = undefined;
28
+ this.FormatterName = undefined;
29
+ this.Choices = undefined;
30
+ this.Validation = undefined;
31
+ }
32
+ }
33
+
9
34
  /*
10
35
  * The abstract class needs the Angular @Component decorator in order in implement @Input
11
36
  */
@@ -55,6 +80,109 @@ class TruSearchControlComponentConfigBase {
55
80
  constructor() { }
56
81
  }
57
82
 
83
+ class TruPredicate {
84
+ constructor(field, operator, value, propertyQueryPath, overQuoted = false) {
85
+ this._breezePredicate = null;
86
+ this.handleOperator = (fieldOrPredicate, operator, value, oper) => {
87
+ var breezePredicate;
88
+ if (Array.isArray(fieldOrPredicate)) {
89
+ breezePredicate = new TruPredicate(fieldOrPredicate[0], fieldOrPredicate[1], fieldOrPredicate[2], []);
90
+ }
91
+ else if (fieldOrPredicate.constructor === TruPredicate || fieldOrPredicate.constructor === BinaryPredicate || fieldOrPredicate.constructor === AndOrPredicate) {
92
+ breezePredicate = fieldOrPredicate;
93
+ }
94
+ else {
95
+ throw new TypeError('Unexpected parameter type <' + fieldOrPredicate.constructor + '>.');
96
+ }
97
+ breezePredicate = oper(breezePredicate);
98
+ return new TruPredicate(breezePredicate, null, null, null);
99
+ };
100
+ this.and = (fieldOrPredicate, operator, value) => {
101
+ var that = this;
102
+ return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.and(p); });
103
+ };
104
+ this.or = (fieldOrPredicate, operator, value) => {
105
+ var that = this;
106
+ return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.or(p); });
107
+ };
108
+ this.not = () => {
109
+ var breezePredicate = this._breezePredicate.not();
110
+ return new TruPredicate(breezePredicate, null, null, null);
111
+ };
112
+ if (typeof field === 'string') {
113
+ var args = propertyQueryPath?.slice(0);
114
+ args[args.length - 1] += field;
115
+ args.push(operator);
116
+ args.push(value);
117
+ this._breezePredicate = new breeze.Predicate(args);
118
+ this._breezePredicate.overQuoted = overQuoted;
119
+ }
120
+ else if (arguments[0].constructor === TruPredicate || arguments[0].constructor === BinaryPredicate || arguments[0].constructor === AndOrPredicate) {
121
+ this._breezePredicate = arguments[0];
122
+ }
123
+ else {
124
+ throw new TypeError('Unexpected parameter type <' + arguments[0].constructor + '>.');
125
+ }
126
+ }
127
+ }
128
+
129
+ class TruQueryPredicateManager {
130
+ constructor(propertyQueryPath, predicateName, predicateMap) {
131
+ this._predicate = null;
132
+ this._propertyQueryPath = null;
133
+ this._predicateName = '';
134
+ this._predicateMap = {};
135
+ this.setPredicate = (queryPredicate) => {
136
+ if (this._predicate !== queryPredicate && this._predicateMap !== null) {
137
+ this._predicate = queryPredicate;
138
+ this._predicateMap[this._predicateName] = this._predicate === null ? null : this._predicate;
139
+ }
140
+ };
141
+ /**
142
+ * Returns a new query predicate.
143
+ *
144
+ * @param {string} field - Name of the storage field relative to the intent property.
145
+ * @param {string} operator - Name of the predicate operator.
146
+ * @param {*} value - Literal value.
147
+ */
148
+ this.create = (field, operator, value, overQuoted) => {
149
+ return new TruPredicate(field, operator, value, this._propertyQueryPath, overQuoted)._breezePredicate;
150
+ };
151
+ /**
152
+ * Clears the query predicate.
153
+ */
154
+ this.clear = () => {
155
+ this.setPredicate(null);
156
+ };
157
+ /**
158
+ * Returns the query predicate.
159
+ */
160
+ this.get = () => {
161
+ return this._predicate;
162
+ };
163
+ /**
164
+ * Sets the query predicate.
165
+ *
166
+ * @param {Predicate} predicate - A predicate object -- from create().
167
+ * OR
168
+ * @param {string} field - Name of the storage field relative to the intent property.
169
+ * @param {string} operator - Name of the predicate operator.
170
+ * @param {*} value - Literal value.
171
+ */
172
+ this.set = (fieldOrPredicate, operator, value, overQuoted) => {
173
+ var predicate;
174
+ if (fieldOrPredicate.constructor === TruPredicate)
175
+ predicate = fieldOrPredicate;
176
+ else
177
+ predicate = this.create(fieldOrPredicate, operator, value, overQuoted);
178
+ this.setPredicate(predicate);
179
+ };
180
+ this._propertyQueryPath = propertyQueryPath;
181
+ this._predicateName = predicateName;
182
+ this._predicateMap = predicateMap;
183
+ }
184
+ }
185
+
58
186
  class TruWindowEvent {
59
187
  constructor() {
60
188
  this.title = '';
@@ -283,5 +411,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
283
411
  * Generated bundle index. Do not edit.
284
412
  */
285
413
 
286
- export { TruCommonModule, TruComponentLookup, TruSearchComponentBase, TruSearchControlComponentConfigBase, TruSearchGroupEventHandler, TruSearchIconModule, TruWindowActionEventHandler, TruWindowAddViewEvent, TruWindowEvent, TruWindowEventHandler };
414
+ export { TruCommonModule, TruComponentLookup, TruEntityBase, TruPredicate, TruPropertyConfigBase, TruQueryPredicateManager, TruSearchComponentBase, TruSearchControlComponentConfigBase, TruSearchGroupEventHandler, TruSearchIconModule, TruWindowActionEventHandler, TruWindowAddViewEvent, TruWindowEvent, TruWindowEventHandler };
287
415
  //# sourceMappingURL=trudb-tru-common-lib.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"trudb-tru-common-lib.mjs","sources":["../../../projects/tru-common-lib/src/lib/base-classes/tru-search-component-base.ts","../../../projects/tru-common-lib/src/lib/base-classes/tru-search-component-config-base.ts","../../../projects/tru-common-lib/src/lib/classes/tru-window-event.ts","../../../projects/tru-common-lib/src/lib/classes/tru-window-add-view-event.ts","../../../projects/tru-common-lib/src/lib/services/tru-search-group-event-handler.ts","../../../projects/tru-common-lib/src/lib/services/tru-component-lookup.ts","../../../projects/tru-common-lib/src/lib/services/tru-window-action-event-handler.ts","../../../projects/tru-common-lib/src/lib/services/tru-window-event-handler.ts","../../../projects/tru-common-lib/src/lib/assets/tru-search-icon-module.ts","../../../projects/tru-common-lib/src/lib/tru-common-module.ts","../../../projects/tru-common-lib/src/public-api.ts","../../../projects/tru-common-lib/src/trudb-tru-common-lib.ts"],"sourcesContent":["import { NgModule, Directive, Input } from '@angular/core';\n\n/*\n * The abstract class needs the Angular @Component decorator in order in implement @Input \n */\n@Directive()\nexport abstract class TruSearchComponentBase {\n\n operatorLookup: { [key: string]: string } = {\n 'equal': 'eq',\n 'not-equal': 'not-eq',\n 'greater-than': 'gt',\n 'greater-than-or-equal': 'ge',\n 'less-than': 'lt',\n 'less-than-or-equal': 'le',\n 'contains': 'contains',\n 'default': 'eq'\n };\n\n operatorIconLookup: { [key: string]: string } = {\n 'equal': 'equal-operator-icon',\n 'not-equal': 'not-equal-operator-icon',\n 'greater-than': 'greater-than-operator-icon',\n 'greater-than-or-equal': 'greater-than-or-equal-operator-icon',\n 'less-than': 'less-than-operator-icon',\n 'less-than-or-equal': 'less-than-or-equal-operator-icon',\n 'contains': 'contains-operator-icon',\n 'default': 'equal-operator-icon',\n };\n\n operatorIconTitleLookup: { [key: string]: string } = {\n 'equal': 'Equal To',\n 'not-equal': 'Not Equal To',\n 'greater-than': 'Greater Than',\n 'greater-than-or-equal': 'Greater Than Or Equal To',\n 'less-than': 'Less Than',\n 'less-than-or-equal': 'Less Than Or Equal To',\n 'contains': 'Contains',\n 'default': 'Equal To',\n };\n\n @Input()\n abstract config: any;\n\n abstract label: string;\n\n abstract operator: string;\n\n abstract operatorIcon: string;\n\n abstract operatorIconTitle: string;\n\n abstract onOperatorIconClick(): void;\n\n abstract updatePredicate(): void;\n}\n","import { Observable } from \"rxjs\";\r\nimport { TruPropertyConfigBase } from \"./tru-property-config-base\";\r\nimport { TruBaseEntity } from \"./tru-base-entity\";\r\nimport { TruQueryPredicateManager } from \"./tru-query-predicate-manager\";\r\n\r\nexport abstract class TruSearchControlComponentConfigBase {\r\n abstract label: string | undefined;\r\n abstract propertyName: string | undefined;\r\n abstract rootTable: string | undefined;\r\n abstract propertyPath: string | undefined;\r\n abstract get property(): TruPropertyConfigBase;\r\n abstract value: (entity: TruBaseEntity) => {}\r\n abstract queryPredicate: TruQueryPredicateManager;\r\n constructor() { }\r\n\r\n protected choices?(): Observable<{ label: string, value: { $: any } }[]>;\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowEvent {\r\n title: string = '';\r\n tableName: string = '';\r\n tablePluralName: string = '';\r\n tablePluralLabel: string = '';\r\n context: any = {};\r\n contentBottom: string = '23px'\r\n statusbarDirective: string = 'tru-statusbar';\r\n height: string = '450px';\r\n width: string = '900px';\r\n views: Array<object> = [{}];\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowAddViewEvent {\r\n active: boolean | null = null;\r\n entities: any | null = null;\r\n entityIndex: number = 0;\r\n isDirty: boolean = false;\r\n isEditing: boolean = false;\r\n isInvalid: boolean = false;\r\n componentName: string = ''\r\n}\r\n","import { Injectable, EventEmitter} from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TruSearchGroupEventHandler {\r\n private search$: EventEmitter<any> = new EventEmitter<any>();\r\n private filter$: EventEmitter<any> = new EventEmitter<any>();\r\n private clear$ = new BehaviorSubject<any>(null);\r\n private default$ = new BehaviorSubject<any>(null);\r\n\r\n onSearch() {\r\n return this.search$;\r\n }\r\n\r\n onFilter() {\r\n return this.filter$;\r\n }\r\n\r\n onClearValues() {\r\n return this.clear$;\r\n }\r\n\r\n onSetDefaults() {\r\n return this.default$;\r\n }\r\n\r\n search(entityQuery: any) {\r\n this.search$.emit(entityQuery);\r\n }\r\n\r\n filter(entityQuery: any) {\r\n this.filter$.emit(entityQuery);\r\n }\r\n\r\n clearValues() {\r\n this.clear$.next(null);\r\n }\r\n\r\n setDefaults() {\r\n this.default$.next(null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class TruComponentLookup {\r\n private truComponentLookupRegistry: Map<string, any> = new Map();\r\n\r\n set = (key: string, type: any): void => {\r\n this.truComponentLookupRegistry.set(key, type);\r\n }\r\n\r\n get = (key: string): any => {\r\n return this.truComponentLookupRegistry.get(key);\r\n }\r\n\r\n getBySuffix = (suffix: string): Array<any> => {\r\n return [...this.truComponentLookupRegistry.values()].filter(\r\n (v: any, k: any) => {\r\n v.name.toLowerCase().endsWith(suffix.toLowerCase())\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TruWindowActionEventHandler {\r\n\r\n private save$: Subject<null> = new Subject();\r\n private revert$: Subject<null> = new Subject();\r\n\r\n onSave = () => {\r\n return this.save$;\r\n }\r\n\r\n onRevert = () => {\r\n return this.revert$;\r\n }\r\n\r\n save = () => {\r\n this.save$.next(null);\r\n }\r\n\r\n revert = () => {\r\n this.revert$.next(null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TruWindowAddViewEvent } from '../classes/tru-window-add-view-event';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { TruWindowEvent } from '../classes/tru-window-event';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowEventHandler {\r\n private open$: Subject<TruWindowEvent> = new Subject<TruWindowEvent>();\r\n private addView$: Subject<TruWindowAddViewEvent> = new Subject<TruWindowAddViewEvent>();\r\n private removeForwadViews$: Subject<null> = new Subject<null>();\r\n\r\n onOpen() {\r\n return this.open$;\r\n }\r\n\r\n open(windowEvent: TruWindowEvent) {\r\n this.open$.next(windowEvent);\r\n }\r\n\r\n onAddView() {\r\n return this.addView$;\r\n }\r\n\r\n addView(windowAddViewEvent: TruWindowAddViewEvent) {\r\n this.addView$.next(windowAddViewEvent);\r\n }\r\n\r\n onRemoveForwardViews() {\r\n return this.removeForwadViews$;\r\n }\r\n\r\n removeForwardViews() {\r\n this.removeForwadViews$.next(null);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { MatIconRegistry } from \"@angular/material/icon\";\n\nconst EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17,16V14H7V16H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M17,10V8H7V10H17Z\" /></svg>\n`;\n\nconst NOT_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6,15H8V17H6M11,13H18V15H11M11,9H18V11H11M6,7H8V13H6M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst GREATER_THAN_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.41,7.41L15,12L10.41,16.6L9,15.18L12.18,12L9,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst GREATER_THAN_OR_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,13H18V15H13M13,9H18V11H13M6.91,7.41L11.5,12L6.91,16.6L5.5,15.18L8.68,12L5.5,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst LESS_THAN_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.59,7.41L9,12L13.59,16.6L15,15.18L11.82,12L15,8.82M19,3C20.11,3 21,3.9 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19Z\" /></svg>\n`;\n\nconst LESS_THAN_OR_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,13H18V15H13M13,9H18V11H13M10.09,7.41L11.5,8.82L8.32,12L11.5,15.18L10.09,16.6L5.5,12M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst CONTAINS_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M2,3H8V5H4V19H8V21H2V3M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15M22,3V21H16V19H20V5H16V3H22Z\" /></svg>\n`;\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [],\n exports: []\n})\nexport class TruSearchIconModule {\n constructor(sanitizer: DomSanitizer, iconRegistry: MatIconRegistry) {\n iconRegistry.addSvgIconLiteral(\n \"equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"not-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(NOT_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"greater-than-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(GREATER_THAN_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"greater-than-or-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(GREATER_THAN_OR_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"less-than-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(LESS_THAN_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"less-than-or-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(LESS_THAN_OR_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"contains-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(CONTAINS_ICON)\n );\n }\n}\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n declarations: [\r\n\r\n ],\r\n imports: [\r\n ],\r\n exports: [\r\n\r\n ]\r\n})\r\nexport class TruCommonModule { }\r\n","/*\n * Public API Surface of tru-common-lib\n */\n\n/*\n * Base Classes\n */\nexport * from \"./lib/base-classes/tru-search-component-base\";\nexport * from \"./lib/base-classes/tru-search-component-config-base\";\n\n/*\n * Classes\n */\nexport * from \"./lib/classes/tru-window-event\";\nexport * from \"./lib/classes/tru-window-add-view-event\";\n\n/*\n * Services\n */\nexport * from './lib/services/tru-search-group-event-handler';\nexport * from './lib/services/tru-component-lookup';\nexport * from './lib/services/tru-window-action-event-handler';\nexport * from './lib/services/tru-window-event-handler';\n\n\n/*\n * Modules\n */\nexport * from \"./lib/assets/tru-search-icon-module\";\n\nexport * from \"./lib/tru-common-module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trudb-tru-common-lib.mjs","sources":["../../../projects/tru-common-lib/src/lib/base-classes/tru-entity-base.ts","../../../projects/tru-common-lib/src/lib/base-classes/tru-property-config-base.ts","../../../projects/tru-common-lib/src/lib/base-classes/tru-search-component-base.ts","../../../projects/tru-common-lib/src/lib/base-classes/tru-search-component-config-base.ts","../../../projects/tru-common-lib/src/lib/classes/tru-predicate.ts","../../../projects/tru-common-lib/src/lib/classes/tru-query-predicate-manager.ts","../../../projects/tru-common-lib/src/lib/classes/tru-window-event.ts","../../../projects/tru-common-lib/src/lib/classes/tru-window-add-view-event.ts","../../../projects/tru-common-lib/src/lib/services/tru-search-group-event-handler.ts","../../../projects/tru-common-lib/src/lib/services/tru-component-lookup.ts","../../../projects/tru-common-lib/src/lib/services/tru-window-action-event-handler.ts","../../../projects/tru-common-lib/src/lib/services/tru-window-event-handler.ts","../../../projects/tru-common-lib/src/lib/assets/tru-search-icon-module.ts","../../../projects/tru-common-lib/src/lib/tru-common-module.ts","../../../projects/tru-common-lib/src/public-api.ts","../../../projects/tru-common-lib/src/trudb-tru-common-lib.ts"],"sourcesContent":["import { Entity, EntityAspect, EntityType } from 'breeze-client';\r\n\r\nexport class TruEntityBase implements Entity {\r\n constructor(...args: any[]) { }\r\n\r\n entityAspect: EntityAspect = new EntityAspect();\r\n entityType!: EntityType;\r\n\r\n Created: Date = new Date();\r\n CreatedRef: number = -1;\r\n Updated: Date | undefined = undefined;\r\n UpdatedRef: number | undefined = undefined;\r\n rowver: any;\r\n}\r\n","export class TruPropertyConfigBase {\r\n constructor() { }\r\n\r\n IsNullable: boolean = false;\r\n CanDisplay: boolean = false;\r\n CanEdit: boolean = false;\r\n GlobalCache: boolean = false;\r\n UniqueConstraint: boolean = false;\r\n TypeName: string | undefined = undefined;\r\n FormatterName: string | undefined = undefined;\r\n Choices: any = undefined;\r\n Validation: string | undefined = undefined;\r\n}\r\n","import { NgModule, Directive, Input } from '@angular/core';\n\n/*\n * The abstract class needs the Angular @Component decorator in order in implement @Input \n */\n@Directive()\nexport abstract class TruSearchComponentBase {\n\n operatorLookup: { [key: string]: string } = {\n 'equal': 'eq',\n 'not-equal': 'not-eq',\n 'greater-than': 'gt',\n 'greater-than-or-equal': 'ge',\n 'less-than': 'lt',\n 'less-than-or-equal': 'le',\n 'contains': 'contains',\n 'default': 'eq'\n };\n\n operatorIconLookup: { [key: string]: string } = {\n 'equal': 'equal-operator-icon',\n 'not-equal': 'not-equal-operator-icon',\n 'greater-than': 'greater-than-operator-icon',\n 'greater-than-or-equal': 'greater-than-or-equal-operator-icon',\n 'less-than': 'less-than-operator-icon',\n 'less-than-or-equal': 'less-than-or-equal-operator-icon',\n 'contains': 'contains-operator-icon',\n 'default': 'equal-operator-icon',\n };\n\n operatorIconTitleLookup: { [key: string]: string } = {\n 'equal': 'Equal To',\n 'not-equal': 'Not Equal To',\n 'greater-than': 'Greater Than',\n 'greater-than-or-equal': 'Greater Than Or Equal To',\n 'less-than': 'Less Than',\n 'less-than-or-equal': 'Less Than Or Equal To',\n 'contains': 'Contains',\n 'default': 'Equal To',\n };\n\n @Input()\n abstract config: any;\n\n abstract label: string;\n\n abstract operator: string;\n\n abstract operatorIcon: string;\n\n abstract operatorIconTitle: string;\n\n abstract onOperatorIconClick(): void;\n\n abstract updatePredicate(): void;\n}\n","import { Observable } from \"rxjs\";\r\nimport { TruPropertyConfigBase } from \"./tru-property-config-base\";\r\nimport { TruEntityBase } from \"./tru-entity-base\";\r\nimport { TruQueryPredicateManager } from \"../classes/tru-query-predicate-manager\";\r\n\r\nexport abstract class TruSearchControlComponentConfigBase {\r\n abstract label: string | undefined;\r\n abstract propertyName: string | undefined;\r\n abstract rootTable: string | undefined;\r\n abstract propertyPath: string | undefined;\r\n abstract get property(): TruPropertyConfigBase;\r\n abstract value: (entity: TruEntityBase) => {}\r\n abstract queryPredicate: TruQueryPredicateManager;\r\n constructor() { }\r\n\r\n protected choices?(): Observable<{ label: string, value: { $: any } }[]>;\r\n}\r\n","import { AndOrPredicate, BinaryPredicate, breeze } from \"breeze-client\";\r\n\r\nexport class TruPredicate {\r\n _breezePredicate: any = null;\r\n\r\n constructor(field: any, operator: string | null, value: any, propertyQueryPath: Array<string> | null, overQuoted: boolean = false) {\r\n if (typeof field === 'string') {\r\n var args = propertyQueryPath?.slice(0) as Array<any>;\r\n args[args.length - 1] += field;\r\n args.push(operator as string);\r\n args.push(value);\r\n this._breezePredicate = new breeze.Predicate(args as Array<any>);\r\n this._breezePredicate.overQuoted = overQuoted;\r\n } else if (arguments[0].constructor === TruPredicate || arguments[0].constructor === BinaryPredicate || arguments[0].constructor === AndOrPredicate) {\r\n this._breezePredicate = arguments[0];\r\n } else {\r\n throw new TypeError('Unexpected parameter type <' + arguments[0].constructor + '>.');\r\n }\r\n }\r\n\r\n handleOperator = (fieldOrPredicate: any, operator: string, value: any, oper: (p: any) => {}) => {\r\n var breezePredicate;\r\n if (Array.isArray(fieldOrPredicate)) {\r\n breezePredicate = new TruPredicate(fieldOrPredicate[0], fieldOrPredicate[1], fieldOrPredicate[2], []);\r\n } else if (fieldOrPredicate.constructor === TruPredicate || fieldOrPredicate.constructor === BinaryPredicate || fieldOrPredicate.constructor === AndOrPredicate) {\r\n breezePredicate = fieldOrPredicate;\r\n } else {\r\n throw new TypeError('Unexpected parameter type <' + fieldOrPredicate.constructor + '>.');\r\n }\r\n breezePredicate = oper(breezePredicate);\r\n return new TruPredicate(breezePredicate, null, null, null);\r\n }\r\n\r\n and = (fieldOrPredicate: any, operator: string, value: any) => {\r\n var that = this;\r\n return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.and(p); });\r\n }\r\n\r\n or = (fieldOrPredicate: any, operator: string, value: any) => {\r\n var that = this;\r\n return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.or(p); });\r\n }\r\n\r\n not = () => {\r\n var breezePredicate = this._breezePredicate.not();\r\n return new TruPredicate(breezePredicate, null, null, null);\r\n }\r\n}\r\n","import { TruPredicate } from \"./tru-predicate\";\r\n\r\nexport class TruQueryPredicateManager {\r\n _predicate: TruPredicate | null = null;\r\n _propertyQueryPath: Array<string> | null = null;\r\n _predicateName: string = '';\r\n _predicateMap: any = {};\r\n\r\n constructor(propertyQueryPath: Array<string>, predicateName: string, predicateMap: any) {\r\n this._propertyQueryPath = propertyQueryPath;\r\n this._predicateName = predicateName;\r\n this._predicateMap = predicateMap;\r\n }\r\n\r\n private setPredicate = (queryPredicate: TruPredicate | null) => {\r\n if (this._predicate !== queryPredicate && this._predicateMap !== null) {\r\n this._predicate = queryPredicate;\r\n this._predicateMap[this._predicateName] = this._predicate === null ? null : this._predicate;\r\n }\r\n }\r\n\r\n /**\r\n * Returns a new query predicate.\r\n * \r\n * @param {string} field - Name of the storage field relative to the intent property.\r\n * @param {string} operator - Name of the predicate operator.\r\n * @param {*} value - Literal value.\r\n */\r\n create = (field: string, operator: string, value: any, overQuoted: boolean) => {\r\n return new TruPredicate(field, operator, value, this._propertyQueryPath, overQuoted)._breezePredicate;\r\n }\r\n\r\n /**\r\n * Clears the query predicate.\r\n */\r\n clear = () => {\r\n this.setPredicate(null);\r\n }\r\n\r\n /**\r\n * Returns the query predicate.\r\n */\r\n get = () => {\r\n return this._predicate;\r\n };\r\n\r\n /**\r\n * Sets the query predicate.\r\n * \r\n * @param {Predicate} predicate - A predicate object -- from create().\r\n * OR\r\n * @param {string} field - Name of the storage field relative to the intent property.\r\n * @param {string} operator - Name of the predicate operator.\r\n * @param {*} value - Literal value.\r\n */\r\n set = (fieldOrPredicate: string, operator: string, value: any, overQuoted: boolean) => {\r\n var predicate;\r\n if (fieldOrPredicate.constructor === TruPredicate)\r\n predicate = fieldOrPredicate;\r\n else\r\n predicate = this.create(fieldOrPredicate, operator, value, overQuoted);\r\n this.setPredicate(predicate);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowEvent {\r\n title: string = '';\r\n tableName: string = '';\r\n tablePluralName: string = '';\r\n tablePluralLabel: string = '';\r\n context: any = {};\r\n contentBottom: string = '23px'\r\n statusbarDirective: string = 'tru-statusbar';\r\n height: string = '450px';\r\n width: string = '900px';\r\n views: Array<object> = [{}];\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowAddViewEvent {\r\n active: boolean | null = null;\r\n entities: any | null = null;\r\n entityIndex: number = 0;\r\n isDirty: boolean = false;\r\n isEditing: boolean = false;\r\n isInvalid: boolean = false;\r\n componentName: string = ''\r\n}\r\n","import { Injectable, EventEmitter} from '@angular/core';\r\nimport { BehaviorSubject, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TruSearchGroupEventHandler {\r\n private search$: EventEmitter<any> = new EventEmitter<any>();\r\n private filter$: EventEmitter<any> = new EventEmitter<any>();\r\n private clear$ = new BehaviorSubject<any>(null);\r\n private default$ = new BehaviorSubject<any>(null);\r\n\r\n onSearch() {\r\n return this.search$;\r\n }\r\n\r\n onFilter() {\r\n return this.filter$;\r\n }\r\n\r\n onClearValues() {\r\n return this.clear$;\r\n }\r\n\r\n onSetDefaults() {\r\n return this.default$;\r\n }\r\n\r\n search(entityQuery: any) {\r\n this.search$.emit(entityQuery);\r\n }\r\n\r\n filter(entityQuery: any) {\r\n this.filter$.emit(entityQuery);\r\n }\r\n\r\n clearValues() {\r\n this.clear$.next(null);\r\n }\r\n\r\n setDefaults() {\r\n this.default$.next(null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root'})\r\nexport class TruComponentLookup {\r\n private truComponentLookupRegistry: Map<string, any> = new Map();\r\n\r\n set = (key: string, type: any): void => {\r\n this.truComponentLookupRegistry.set(key, type);\r\n }\r\n\r\n get = (key: string): any => {\r\n return this.truComponentLookupRegistry.get(key);\r\n }\r\n\r\n getBySuffix = (suffix: string): Array<any> => {\r\n return [...this.truComponentLookupRegistry.values()].filter(\r\n (v: any, k: any) => {\r\n v.name.toLowerCase().endsWith(suffix.toLowerCase())\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class TruWindowActionEventHandler {\r\n\r\n private save$: Subject<null> = new Subject();\r\n private revert$: Subject<null> = new Subject();\r\n\r\n onSave = () => {\r\n return this.save$;\r\n }\r\n\r\n onRevert = () => {\r\n return this.revert$;\r\n }\r\n\r\n save = () => {\r\n this.save$.next(null);\r\n }\r\n\r\n revert = () => {\r\n this.revert$.next(null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TruWindowAddViewEvent } from '../classes/tru-window-add-view-event';\r\nimport { Subject } from 'rxjs';\r\n\r\nimport { TruWindowEvent } from '../classes/tru-window-event';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TruWindowEventHandler {\r\n private open$: Subject<TruWindowEvent> = new Subject<TruWindowEvent>();\r\n private addView$: Subject<TruWindowAddViewEvent> = new Subject<TruWindowAddViewEvent>();\r\n private removeForwadViews$: Subject<null> = new Subject<null>();\r\n\r\n onOpen() {\r\n return this.open$;\r\n }\r\n\r\n open(windowEvent: TruWindowEvent) {\r\n this.open$.next(windowEvent);\r\n }\r\n\r\n onAddView() {\r\n return this.addView$;\r\n }\r\n\r\n addView(windowAddViewEvent: TruWindowAddViewEvent) {\r\n this.addView$.next(windowAddViewEvent);\r\n }\r\n\r\n onRemoveForwardViews() {\r\n return this.removeForwadViews$;\r\n }\r\n\r\n removeForwardViews() {\r\n this.removeForwadViews$.next(null);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { MatIconRegistry } from \"@angular/material/icon\";\n\nconst EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M17,16V14H7V16H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M17,10V8H7V10H17Z\" /></svg>\n`;\n\nconst NOT_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M6,15H8V17H6M11,13H18V15H11M11,9H18V11H11M6,7H8V13H6M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst GREATER_THAN_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M10.41,7.41L15,12L10.41,16.6L9,15.18L12.18,12L9,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst GREATER_THAN_OR_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,13H18V15H13M13,9H18V11H13M6.91,7.41L11.5,12L6.91,16.6L5.5,15.18L8.68,12L5.5,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst LESS_THAN_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13.59,7.41L9,12L13.59,16.6L15,15.18L11.82,12L15,8.82M19,3C20.11,3 21,3.9 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19Z\" /></svg>\n`;\n\nconst LESS_THAN_OR_EQUAL_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M13,13H18V15H13M13,9H18V11H13M10.09,7.41L11.5,8.82L8.32,12L11.5,15.18L10.09,16.6L5.5,12M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\" /></svg>\n`;\n\nconst CONTAINS_ICON = `\n <svg style=\"width:24px;height:24px\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M2,3H8V5H4V19H8V21H2V3M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15M22,3V21H16V19H20V5H16V3H22Z\" /></svg>\n`;\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [],\n exports: []\n})\nexport class TruSearchIconModule {\n constructor(sanitizer: DomSanitizer, iconRegistry: MatIconRegistry) {\n iconRegistry.addSvgIconLiteral(\n \"equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"not-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(NOT_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"greater-than-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(GREATER_THAN_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"greater-than-or-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(GREATER_THAN_OR_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"less-than-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(LESS_THAN_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"less-than-or-equal-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(LESS_THAN_OR_EQUAL_ICON)\n );\n iconRegistry.addSvgIconLiteral(\n \"contains-operator-icon\",\n sanitizer.bypassSecurityTrustHtml(CONTAINS_ICON)\n );\n }\n}\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n declarations: [\r\n\r\n ],\r\n imports: [\r\n ],\r\n exports: [\r\n\r\n ]\r\n})\r\nexport class TruCommonModule { }\r\n","/*\n * Public API Surface of tru-common-lib\n */\n\n/*\n * Base Classes\n */\nexport * from \"./lib/base-classes/tru-entity-base\";\nexport * from \"./lib/base-classes/tru-property-config-base\";\nexport * from \"./lib/base-classes/tru-search-component-base\";\nexport * from \"./lib/base-classes/tru-search-component-config-base\";\n\n/*\n * Classes\n */\nexport * from \"./lib/classes/tru-predicate\";\nexport * from \"./lib/classes/tru-query-predicate-manager\";\nexport * from \"./lib/classes/tru-window-event\";\nexport * from \"./lib/classes/tru-window-add-view-event\";\n\n/*\n * Services\n */\nexport * from './lib/services/tru-search-group-event-handler';\nexport * from './lib/services/tru-component-lookup';\nexport * from './lib/services/tru-window-action-event-handler';\nexport * from './lib/services/tru-window-event-handler';\n\n\n/*\n * Modules\n */\nexport * from \"./lib/assets/tru-search-icon-module\";\n\nexport * from \"./lib/tru-common-module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Entity, EntityAspect, EntityType } from 'breeze-client';
2
- export declare class TruBaseEntity implements Entity {
2
+ export declare class TruEntityBase implements Entity {
3
3
  constructor(...args: any[]);
4
4
  entityAspect: EntityAspect;
5
5
  entityType: EntityType;
@@ -1,14 +1,14 @@
1
1
  import { Observable } from "rxjs";
2
2
  import { TruPropertyConfigBase } from "./tru-property-config-base";
3
- import { TruBaseEntity } from "./tru-base-entity";
4
- import { TruQueryPredicateManager } from "./tru-query-predicate-manager";
3
+ import { TruEntityBase } from "./tru-entity-base";
4
+ import { TruQueryPredicateManager } from "../classes/tru-query-predicate-manager";
5
5
  export declare abstract class TruSearchControlComponentConfigBase {
6
6
  abstract label: string | undefined;
7
7
  abstract propertyName: string | undefined;
8
8
  abstract rootTable: string | undefined;
9
9
  abstract propertyPath: string | undefined;
10
10
  abstract get property(): TruPropertyConfigBase;
11
- abstract value: (entity: TruBaseEntity) => {};
11
+ abstract value: (entity: TruEntityBase) => {};
12
12
  abstract queryPredicate: TruQueryPredicateManager;
13
13
  constructor();
14
14
  protected choices?(): Observable<{
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trudb/tru-common-lib",
3
- "version": "0.0.171",
3
+ "version": "0.0.174",
4
4
  "type": "module",
5
5
  "peerDependencies": {},
6
6
  "dependencies": {
package/public-api.d.ts CHANGED
@@ -1,5 +1,9 @@
1
+ export * from "./lib/base-classes/tru-entity-base";
2
+ export * from "./lib/base-classes/tru-property-config-base";
1
3
  export * from "./lib/base-classes/tru-search-component-base";
2
4
  export * from "./lib/base-classes/tru-search-component-config-base";
5
+ export * from "./lib/classes/tru-predicate";
6
+ export * from "./lib/classes/tru-query-predicate-manager";
3
7
  export * from "./lib/classes/tru-window-event";
4
8
  export * from "./lib/classes/tru-window-add-view-event";
5
9
  export * from './lib/services/tru-search-group-event-handler';
@@ -1,47 +0,0 @@
1
- import { AndOrPredicate, BinaryPredicate, breeze } from "breeze-client";
2
- export class TruPredicate {
3
- constructor(field, operator, value, propertyQueryPath, overQuoted = false) {
4
- this._breezePredicate = null;
5
- this.handleOperator = (fieldOrPredicate, operator, value, oper) => {
6
- var breezePredicate;
7
- if (Array.isArray(fieldOrPredicate)) {
8
- breezePredicate = new TruPredicate(fieldOrPredicate[0], fieldOrPredicate[1], fieldOrPredicate[2], []);
9
- }
10
- else if (fieldOrPredicate.constructor === TruPredicate || fieldOrPredicate.constructor === BinaryPredicate || fieldOrPredicate.constructor === AndOrPredicate) {
11
- breezePredicate = fieldOrPredicate;
12
- }
13
- else {
14
- throw new TypeError('Unexpected parameter type <' + fieldOrPredicate.constructor + '>.');
15
- }
16
- breezePredicate = oper(breezePredicate);
17
- return new TruPredicate(breezePredicate, null, null, null);
18
- };
19
- this.and = (fieldOrPredicate, operator, value) => {
20
- var that = this;
21
- return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.and(p); });
22
- };
23
- this.or = (fieldOrPredicate, operator, value) => {
24
- var that = this;
25
- return this.handleOperator(fieldOrPredicate, operator, value, function (p) { return that._breezePredicate.or(p); });
26
- };
27
- this.not = () => {
28
- var breezePredicate = this._breezePredicate.not();
29
- return new TruPredicate(breezePredicate, null, null, null);
30
- };
31
- if (typeof field === 'string') {
32
- var args = propertyQueryPath?.slice(0);
33
- args[args.length - 1] += field;
34
- args.push(operator);
35
- args.push(value);
36
- this._breezePredicate = new breeze.Predicate(args);
37
- this._breezePredicate.overQuoted = overQuoted;
38
- }
39
- else if (arguments[0].constructor === TruPredicate || arguments[0].constructor === BinaryPredicate || arguments[0].constructor === AndOrPredicate) {
40
- this._breezePredicate = arguments[0];
41
- }
42
- else {
43
- throw new TypeError('Unexpected parameter type <' + arguments[0].constructor + '>.');
44
- }
45
- }
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXByZWRpY2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydS1jb21tb24tbGliL3NyYy9saWIvYmFzZS1jbGFzc2VzL3RydS1wcmVkaWNhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQVksS0FBVSxFQUFFLFFBQXVCLEVBQUUsS0FBVSxFQUFFLGlCQUF1QyxFQUFFLGFBQXNCLEtBQUs7UUFGakkscUJBQWdCLEdBQVEsSUFBSSxDQUFDO1FBaUI3QixtQkFBYyxHQUFHLENBQUMsZ0JBQXFCLEVBQUUsUUFBZ0IsRUFBRSxLQUFVLEVBQUUsSUFBb0IsRUFBRSxFQUFFO1lBQzdGLElBQUksZUFBZSxDQUFDO1lBQ3BCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUNuQyxlQUFlLEdBQUcsSUFBSSxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDdkc7aUJBQU0sSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLEtBQUssWUFBWSxJQUFJLGdCQUFnQixDQUFDLFdBQVcsS0FBSyxlQUFlLElBQUksZ0JBQWdCLENBQUMsV0FBVyxLQUFLLGNBQWMsRUFBRTtnQkFDL0osZUFBZSxHQUFHLGdCQUFnQixDQUFDO2FBQ3BDO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxTQUFTLENBQUMsNkJBQTZCLEdBQUcsZ0JBQWdCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQzFGO1lBQ0QsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN4QyxPQUFPLElBQUksWUFBWSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQTtRQUVELFFBQUcsR0FBRyxDQUFDLGdCQUFxQixFQUFFLFFBQWdCLEVBQUUsS0FBVSxFQUFFLEVBQUU7WUFDNUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZILENBQUMsQ0FBQTtRQUVELE9BQUUsR0FBRyxDQUFDLGdCQUFxQixFQUFFLFFBQWdCLEVBQUUsS0FBVSxFQUFFLEVBQUU7WUFDM0QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RILENBQUMsQ0FBQTtRQUVELFFBQUcsR0FBRyxHQUFHLEVBQUU7WUFDVCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDbEQsT0FBTyxJQUFJLFlBQVksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3RCxDQUFDLENBQUE7UUF4Q0MsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxJQUFJLEdBQUcsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBZSxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQWtCLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBa0IsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1NBQy9DO2FBQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLFlBQVksSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLGVBQWUsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLGNBQWMsRUFBRTtZQUNuSixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO2FBQU07WUFDTCxNQUFNLElBQUksU0FBUyxDQUFDLDZCQUE2QixHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDdEY7SUFDSCxDQUFDO0NBNkJGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5kT3JQcmVkaWNhdGUsIEJpbmFyeVByZWRpY2F0ZSwgYnJlZXplIH0gZnJvbSBcImJyZWV6ZS1jbGllbnRcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVQcmVkaWNhdGUge1xyXG4gIF9icmVlemVQcmVkaWNhdGU6IGFueSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZpZWxkOiBhbnksIG9wZXJhdG9yOiBzdHJpbmcgfCBudWxsLCB2YWx1ZTogYW55LCBwcm9wZXJ0eVF1ZXJ5UGF0aDogQXJyYXk8c3RyaW5nPiB8IG51bGwsIG92ZXJRdW90ZWQ6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgaWYgKHR5cGVvZiBmaWVsZCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgdmFyIGFyZ3MgPSBwcm9wZXJ0eVF1ZXJ5UGF0aD8uc2xpY2UoMCkgYXMgQXJyYXk8YW55PjtcclxuICAgICAgYXJnc1thcmdzLmxlbmd0aCAtIDFdICs9IGZpZWxkO1xyXG4gICAgICBhcmdzLnB1c2gob3BlcmF0b3IgYXMgc3RyaW5nKTtcclxuICAgICAgYXJncy5wdXNoKHZhbHVlKTtcclxuICAgICAgdGhpcy5fYnJlZXplUHJlZGljYXRlID0gbmV3IGJyZWV6ZS5QcmVkaWNhdGUoYXJncyBhcyBBcnJheTxhbnk+KTtcclxuICAgICAgdGhpcy5fYnJlZXplUHJlZGljYXRlLm92ZXJRdW90ZWQgPSBvdmVyUXVvdGVkO1xyXG4gICAgfSBlbHNlIGlmIChhcmd1bWVudHNbMF0uY29uc3RydWN0b3IgPT09IFRydVByZWRpY2F0ZSB8fCBhcmd1bWVudHNbMF0uY29uc3RydWN0b3IgPT09IEJpbmFyeVByZWRpY2F0ZSB8fCBhcmd1bWVudHNbMF0uY29uc3RydWN0b3IgPT09IEFuZE9yUHJlZGljYXRlKSB7XHJcbiAgICAgIHRoaXMuX2JyZWV6ZVByZWRpY2F0ZSA9IGFyZ3VtZW50c1swXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1VuZXhwZWN0ZWQgcGFyYW1ldGVyIHR5cGUgPCcgKyBhcmd1bWVudHNbMF0uY29uc3RydWN0b3IgKyAnPi4nKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZU9wZXJhdG9yID0gKGZpZWxkT3JQcmVkaWNhdGU6IGFueSwgb3BlcmF0b3I6IHN0cmluZywgdmFsdWU6IGFueSwgb3BlcjogKHA6IGFueSkgPT4ge30pID0+IHtcclxuICAgIHZhciBicmVlemVQcmVkaWNhdGU7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZE9yUHJlZGljYXRlKSkge1xyXG4gICAgICBicmVlemVQcmVkaWNhdGUgPSBuZXcgVHJ1UHJlZGljYXRlKGZpZWxkT3JQcmVkaWNhdGVbMF0sIGZpZWxkT3JQcmVkaWNhdGVbMV0sIGZpZWxkT3JQcmVkaWNhdGVbMl0sIFtdKTtcclxuICAgIH0gZWxzZSBpZiAoZmllbGRPclByZWRpY2F0ZS5jb25zdHJ1Y3RvciA9PT0gVHJ1UHJlZGljYXRlIHx8IGZpZWxkT3JQcmVkaWNhdGUuY29uc3RydWN0b3IgPT09IEJpbmFyeVByZWRpY2F0ZSB8fCBmaWVsZE9yUHJlZGljYXRlLmNvbnN0cnVjdG9yID09PSBBbmRPclByZWRpY2F0ZSkge1xyXG4gICAgICBicmVlemVQcmVkaWNhdGUgPSBmaWVsZE9yUHJlZGljYXRlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5leHBlY3RlZCBwYXJhbWV0ZXIgdHlwZSA8JyArIGZpZWxkT3JQcmVkaWNhdGUuY29uc3RydWN0b3IgKyAnPi4nKTtcclxuICAgIH1cclxuICAgIGJyZWV6ZVByZWRpY2F0ZSA9IG9wZXIoYnJlZXplUHJlZGljYXRlKTtcclxuICAgIHJldHVybiBuZXcgVHJ1UHJlZGljYXRlKGJyZWV6ZVByZWRpY2F0ZSwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBhbmQgPSAoZmllbGRPclByZWRpY2F0ZTogYW55LCBvcGVyYXRvcjogc3RyaW5nLCB2YWx1ZTogYW55KSA9PiB7XHJcbiAgICB2YXIgdGhhdCA9IHRoaXM7XHJcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVPcGVyYXRvcihmaWVsZE9yUHJlZGljYXRlLCBvcGVyYXRvciwgdmFsdWUsIGZ1bmN0aW9uIChwKSB7IHJldHVybiB0aGF0Ll9icmVlemVQcmVkaWNhdGUuYW5kKHApOyB9KTtcclxuICB9XHJcblxyXG4gIG9yID0gKGZpZWxkT3JQcmVkaWNhdGU6IGFueSwgb3BlcmF0b3I6IHN0cmluZywgdmFsdWU6IGFueSkgPT4ge1xyXG4gICAgdmFyIHRoYXQgPSB0aGlzO1xyXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlT3BlcmF0b3IoZmllbGRPclByZWRpY2F0ZSwgb3BlcmF0b3IsIHZhbHVlLCBmdW5jdGlvbiAocCkgeyByZXR1cm4gdGhhdC5fYnJlZXplUHJlZGljYXRlLm9yKHApOyB9KTtcclxuICB9XHJcblxyXG4gIG5vdCA9ICgpID0+IHtcclxuICAgIHZhciBicmVlemVQcmVkaWNhdGUgPSB0aGlzLl9icmVlemVQcmVkaWNhdGUubm90KCk7XHJcbiAgICByZXR1cm4gbmV3IFRydVByZWRpY2F0ZShicmVlemVQcmVkaWNhdGUsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,58 +0,0 @@
1
- import { TruPredicate } from "./tru-predicate";
2
- export class TruQueryPredicateManager {
3
- constructor(propertyQueryPath, predicateName, predicateMap) {
4
- this._predicate = null;
5
- this._propertyQueryPath = null;
6
- this._predicateName = '';
7
- this._predicateMap = {};
8
- this.setPredicate = (queryPredicate) => {
9
- if (this._predicate !== queryPredicate && this._predicateMap !== null) {
10
- this._predicate = queryPredicate;
11
- this._predicateMap[this._predicateName] = this._predicate === null ? null : this._predicate;
12
- }
13
- };
14
- /**
15
- * Returns a new query predicate.
16
- *
17
- * @param {string} field - Name of the storage field relative to the intent property.
18
- * @param {string} operator - Name of the predicate operator.
19
- * @param {*} value - Literal value.
20
- */
21
- this.create = (field, operator, value, overQuoted) => {
22
- return new TruPredicate(field, operator, value, this._propertyQueryPath, overQuoted)._breezePredicate;
23
- };
24
- /**
25
- * Clears the query predicate.
26
- */
27
- this.clear = () => {
28
- this.setPredicate(null);
29
- };
30
- /**
31
- * Returns the query predicate.
32
- */
33
- this.get = () => {
34
- return this._predicate;
35
- };
36
- /**
37
- * Sets the query predicate.
38
- *
39
- * @param {Predicate} predicate - A predicate object -- from create().
40
- * OR
41
- * @param {string} field - Name of the storage field relative to the intent property.
42
- * @param {string} operator - Name of the predicate operator.
43
- * @param {*} value - Literal value.
44
- */
45
- this.set = (fieldOrPredicate, operator, value, overQuoted) => {
46
- var predicate;
47
- if (fieldOrPredicate.constructor === TruPredicate)
48
- predicate = fieldOrPredicate;
49
- else
50
- predicate = this.create(fieldOrPredicate, operator, value, overQuoted);
51
- this.setPredicate(predicate);
52
- };
53
- this._propertyQueryPath = propertyQueryPath;
54
- this._predicateName = predicateName;
55
- this._predicateMap = predicateMap;
56
- }
57
- }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LXF1ZXJ5LXByZWRpY2F0ZS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1LWNvbW1vbi1saWIvc3JjL2xpYi9iYXNlLWNsYXNzZXMvdHJ1LXF1ZXJ5LXByZWRpY2F0ZS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DLFlBQVksaUJBQWdDLEVBQUUsYUFBcUIsRUFBRSxZQUFpQjtRQUx0RixlQUFVLEdBQXdCLElBQUksQ0FBQztRQUN2Qyx1QkFBa0IsR0FBeUIsSUFBSSxDQUFDO1FBQ2hELG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBUWhCLGlCQUFZLEdBQUcsQ0FBQyxjQUFtQyxFQUFFLEVBQUU7WUFDN0QsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLGNBQWMsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtnQkFDckUsSUFBSSxDQUFDLFVBQVUsR0FBRyxjQUFjLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDN0Y7UUFDSCxDQUFDLENBQUE7UUFFRDs7Ozs7O1dBTUc7UUFDSCxXQUFNLEdBQUcsQ0FBQyxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxLQUFVLEVBQUUsVUFBbUIsRUFBRSxFQUFFO1lBQzVFLE9BQU8sSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1FBQ3hHLENBQUMsQ0FBQTtRQUVEOztXQUVHO1FBQ0gsVUFBSyxHQUFHLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFBO1FBRUQ7O1dBRUc7UUFDSCxRQUFHLEdBQUcsR0FBRyxFQUFFO1lBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUMsQ0FBQztRQUVGOzs7Ozs7OztXQVFHO1FBQ0gsUUFBRyxHQUFHLENBQUMsZ0JBQXdCLEVBQUUsUUFBZ0IsRUFBRSxLQUFVLEVBQUUsVUFBbUIsRUFBRSxFQUFFO1lBQ3BGLElBQUksU0FBUyxDQUFDO1lBQ2QsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLEtBQUssWUFBWTtnQkFDL0MsU0FBUyxHQUFHLGdCQUFnQixDQUFDOztnQkFFN0IsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQTtRQXJEQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsaUJBQWlCLENBQUM7UUFDNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7SUFDcEMsQ0FBQztDQW1ERiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRydVByZWRpY2F0ZSB9IGZyb20gXCIuL3RydS1wcmVkaWNhdGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBUcnVRdWVyeVByZWRpY2F0ZU1hbmFnZXIge1xyXG4gIF9wcmVkaWNhdGU6IFRydVByZWRpY2F0ZSB8IG51bGwgPSBudWxsO1xyXG4gIF9wcm9wZXJ0eVF1ZXJ5UGF0aDogQXJyYXk8c3RyaW5nPiB8IG51bGwgPSBudWxsO1xyXG4gIF9wcmVkaWNhdGVOYW1lOiBzdHJpbmcgPSAnJztcclxuICBfcHJlZGljYXRlTWFwOiBhbnkgPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcGVydHlRdWVyeVBhdGg6IEFycmF5PHN0cmluZz4sIHByZWRpY2F0ZU5hbWU6IHN0cmluZywgcHJlZGljYXRlTWFwOiBhbnkpIHtcclxuICAgIHRoaXMuX3Byb3BlcnR5UXVlcnlQYXRoID0gcHJvcGVydHlRdWVyeVBhdGg7XHJcbiAgICB0aGlzLl9wcmVkaWNhdGVOYW1lID0gcHJlZGljYXRlTmFtZTtcclxuICAgIHRoaXMuX3ByZWRpY2F0ZU1hcCA9IHByZWRpY2F0ZU1hcDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0UHJlZGljYXRlID0gKHF1ZXJ5UHJlZGljYXRlOiBUcnVQcmVkaWNhdGUgfCBudWxsKSA9PiB7XHJcbiAgICBpZiAodGhpcy5fcHJlZGljYXRlICE9PSBxdWVyeVByZWRpY2F0ZSAmJiB0aGlzLl9wcmVkaWNhdGVNYXAgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fcHJlZGljYXRlID0gcXVlcnlQcmVkaWNhdGU7XHJcbiAgICAgIHRoaXMuX3ByZWRpY2F0ZU1hcFt0aGlzLl9wcmVkaWNhdGVOYW1lXSA9IHRoaXMuX3ByZWRpY2F0ZSA9PT0gbnVsbCA/IG51bGwgOiB0aGlzLl9wcmVkaWNhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgbmV3IHF1ZXJ5IHByZWRpY2F0ZS5cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmllbGQgLSBOYW1lIG9mIHRoZSBzdG9yYWdlIGZpZWxkIHJlbGF0aXZlIHRvIHRoZSBpbnRlbnQgcHJvcGVydHkuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wZXJhdG9yIC0gTmFtZSBvZiB0aGUgcHJlZGljYXRlIG9wZXJhdG9yLlxyXG4gICAqIEBwYXJhbSB7Kn0gdmFsdWUgLSBMaXRlcmFsIHZhbHVlLlxyXG4gICAqL1xyXG4gIGNyZWF0ZSA9IChmaWVsZDogc3RyaW5nLCBvcGVyYXRvcjogc3RyaW5nLCB2YWx1ZTogYW55LCBvdmVyUXVvdGVkOiBib29sZWFuKSA9PiB7XHJcbiAgICByZXR1cm4gbmV3IFRydVByZWRpY2F0ZShmaWVsZCwgb3BlcmF0b3IsIHZhbHVlLCB0aGlzLl9wcm9wZXJ0eVF1ZXJ5UGF0aCwgb3ZlclF1b3RlZCkuX2JyZWV6ZVByZWRpY2F0ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFycyB0aGUgcXVlcnkgcHJlZGljYXRlLlxyXG4gICAqL1xyXG4gIGNsZWFyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5zZXRQcmVkaWNhdGUobnVsbCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBxdWVyeSBwcmVkaWNhdGUuXHJcbiAgICovXHJcbiAgZ2V0ID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ByZWRpY2F0ZTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBxdWVyeSBwcmVkaWNhdGUuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtQcmVkaWNhdGV9IHByZWRpY2F0ZSAtIEEgcHJlZGljYXRlIG9iamVjdCAtLSBmcm9tIGNyZWF0ZSgpLlxyXG4gICAqIE9SXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZpZWxkIC0gTmFtZSBvZiB0aGUgc3RvcmFnZSBmaWVsZCByZWxhdGl2ZSB0byB0aGUgaW50ZW50IHByb3BlcnR5LlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcGVyYXRvciAtIE5hbWUgb2YgdGhlIHByZWRpY2F0ZSBvcGVyYXRvci5cclxuICAgKiBAcGFyYW0geyp9IHZhbHVlIC0gTGl0ZXJhbCB2YWx1ZS5cclxuICAgKi9cclxuICBzZXQgPSAoZmllbGRPclByZWRpY2F0ZTogc3RyaW5nLCBvcGVyYXRvcjogc3RyaW5nLCB2YWx1ZTogYW55LCBvdmVyUXVvdGVkOiBib29sZWFuKSA9PiB7XHJcbiAgICB2YXIgcHJlZGljYXRlO1xyXG4gICAgaWYgKGZpZWxkT3JQcmVkaWNhdGUuY29uc3RydWN0b3IgPT09IFRydVByZWRpY2F0ZSlcclxuICAgICAgcHJlZGljYXRlID0gZmllbGRPclByZWRpY2F0ZTtcclxuICAgIGVsc2VcclxuICAgICAgcHJlZGljYXRlID0gdGhpcy5jcmVhdGUoZmllbGRPclByZWRpY2F0ZSwgb3BlcmF0b3IsIHZhbHVlLCBvdmVyUXVvdGVkKTtcclxuICAgIHRoaXMuc2V0UHJlZGljYXRlKHByZWRpY2F0ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==