@smartbit4all/ng-client 3.3.21 → 3.3.23

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.
@@ -45,12 +45,23 @@ export class SmartFilterExpressionItemComponent {
45
45
  }
46
46
  }
47
47
  }
48
+ getDisplayValue(code) {
49
+ let value = this.item.possibleValues.find((value) => {
50
+ return value.code === code;
51
+ });
52
+ if (value) {
53
+ return value.displayValue;
54
+ }
55
+ else {
56
+ return code;
57
+ }
58
+ }
48
59
  }
49
60
  SmartFilterExpressionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterExpressionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
- SmartFilterExpressionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: { item: "item", hasNext: "hasNext", service: "service" }, ngImport: i0, template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label }}:\r\n <b *ngIf=\"item.widgetType !== 'RANGE'\">\r\n {{ item.expressionData?.operand2?.valueAsString }}\r\n </b>\r\n <div *ngIf=\"item.expressionData?.operand2?.selectedValues\">\r\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\r\n {{ value }} <b *ngIf=\"!last\">,</b>\r\n </b>\r\n </div>\r\n <div *ngIf=\"item.widgetType === 'RANGE'\">\r\n <b>\r\n {{ item.expressionData?.operand2?.valueAsString }} -\r\n {{ item.expressionData?.operand3?.valueAsString }}</b\r\n >\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.AND ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.OR ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-button{border-radius:1.5rem;height:100%;margin:auto 0}\n"], components: [{ type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: ["item", "hasNext", "service"] }, { type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
61
+ SmartFilterExpressionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: { item: "item", hasNext: "hasNext", service: "service" }, ngImport: i0, template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label }}:\r\n <b *ngIf=\"item.expressionData?.currentOperation !== 'BETWEEN'\">\r\n {{ getDisplayValue(item.expressionData!.operand2!.valueAsString!) }}\r\n </b>\r\n <div *ngIf=\"item.expressionData?.currentOperation === 'IN'\">\r\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\r\n {{ getDisplayValue(value) }} <b *ngIf=\"!last\">,</b>\r\n </b>\r\n </div>\r\n <div *ngIf=\"item.expressionData?.currentOperation === 'BETWEEN'\">\r\n <b>\r\n {{ item.expressionData?.operand2?.valueAsString }} -\r\n {{ item.expressionData?.operand3?.valueAsString }}</b\r\n >\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.AND\r\n ? 'mat-raised-button and-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.OR\r\n ? 'mat-raised-button or-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-button{border-radius:1.5rem;height:100%;margin:auto 0}\n"], components: [{ type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: ["item", "hasNext", "service"] }, { type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
51
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterExpressionItemComponent, decorators: [{
52
63
  type: Component,
53
- args: [{ selector: 'app-expression-item', template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label }}:\r\n <b *ngIf=\"item.widgetType !== 'RANGE'\">\r\n {{ item.expressionData?.operand2?.valueAsString }}\r\n </b>\r\n <div *ngIf=\"item.expressionData?.operand2?.selectedValues\">\r\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\r\n {{ value }} <b *ngIf=\"!last\">,</b>\r\n </b>\r\n </div>\r\n <div *ngIf=\"item.widgetType === 'RANGE'\">\r\n <b>\r\n {{ item.expressionData?.operand2?.valueAsString }} -\r\n {{ item.expressionData?.operand3?.valueAsString }}</b\r\n >\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.AND ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.OR ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-button{border-radius:1.5rem;height:100%;margin:auto 0}\n"] }]
64
+ args: [{ selector: 'app-expression-item', template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label }}:\r\n <b *ngIf=\"item.expressionData?.currentOperation !== 'BETWEEN'\">\r\n {{ getDisplayValue(item.expressionData!.operand2!.valueAsString!) }}\r\n </b>\r\n <div *ngIf=\"item.expressionData?.currentOperation === 'IN'\">\r\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\r\n {{ getDisplayValue(value) }} <b *ngIf=\"!last\">,</b>\r\n </b>\r\n </div>\r\n <div *ngIf=\"item.expressionData?.currentOperation === 'BETWEEN'\">\r\n <b>\r\n {{ item.expressionData?.operand2?.valueAsString }} -\r\n {{ item.expressionData?.operand3?.valueAsString }}</b\r\n >\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.AND\r\n ? 'mat-raised-button and-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.OR\r\n ? 'mat-raised-button or-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-button{border-radius:1.5rem;height:100%;margin:auto 0}\n"] }]
54
65
  }], ctorParameters: function () { return []; }, propDecorators: { item: [{
55
66
  type: Input
56
67
  }], hasNext: [{
@@ -58,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
58
69
  }], service: [{
59
70
  type: Input
60
71
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU16RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7OztBQU8vRixNQUFNLE9BQU8sa0NBQWtDO0lBUzdDO1FBSkEsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU1QixxQkFBZ0IsR0FBRyw0QkFBNEIsQ0FBQztJQUVqQyxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVLEVBQUUsYUFBMkM7UUFDbkUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUU7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFlLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztZQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2dCQUM5QixJQUFJLEVBQUUsMEJBQTBCO2dCQUNoQyxNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO2lCQUNqQjthQUNGLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFVLEVBQUUsSUFBMkI7UUFDNUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUU7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7b0JBQzlCLElBQUksRUFBRSxjQUFjO29CQUNwQixNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO3FCQUNqQjtpQkFDRixDQUFDLENBQUM7YUFDSjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO29CQUM5QixJQUFJLEVBQUUsY0FBYztvQkFDcEIsTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtxQkFDakI7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7OytIQWpEVSxrQ0FBa0M7bUhBQWxDLGtDQUFrQyw2SENiL0MsNGdGQTBFQSxnMUJEN0RhLGtDQUFrQzsyRkFBbEMsa0NBQWtDO2tCQUw5QyxTQUFTOytCQUNFLHFCQUFxQjswRUFLdEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlLFxyXG4gIFNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZSxcclxufSBmcm9tICcuLi8uLi8uLi9zbWFydC1maWx0ZXItZWRpdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hcGkvbW9kZWwvZmlsdGVyRXhwcmVzc2lvbkZpZWxkJztcclxuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvbkJvb2xPcGVyYXRvciB9IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWV4cHJlc3Npb24taXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0uY29tcG9uZW50LmNzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRGaWx0ZXJFeHByZXNzaW9uSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaXRlbSE6IEZpbHRlckV4cHJlc3Npb25GaWVsZDtcclxuICBASW5wdXQoKSBoYXNOZXh0ITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzZXJ2aWNlITogSVNtYXJ0RmlsdGVyRWRpdG9yU2VydmljZTtcclxuXHJcbiAgaXNTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBib29sT3BlcmF0b3JUeXBlID0gRmlsdGVyRXhwcmVzc2lvbkJvb2xPcGVyYXRvcjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNTZWxlY3RlZCA9XHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VydmljZS5tb2RlbD8uc2VsZWN0ZWRGaWVsZCkgPT09IEpTT04uc3RyaW5naWZ5KHRoaXMuaXRlbSk7XHJcbiAgfVxyXG5cclxuICBzZXRPcGVyYXRvclRvKGV2ZW50OiBhbnksIG9wZXJhdGlvblR5cGU6IEZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3IpOiB2b2lkIHtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICghdGhpcy5zZXJ2aWNlLm1vZGVsPy5yZWFkT25seSkge1xyXG4gICAgICB0aGlzLml0ZW0uZXhwcmVzc2lvbkRhdGEhLmJvb2xPcGVyYXRvciA9IG9wZXJhdGlvblR5cGU7XHJcbiAgICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICAgIGNvZGU6ICdVUERBVEVfRklMVEVSX0VYUFJFU1NJT04nLFxyXG4gICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgbW9kZWw6IHRoaXMuaXRlbSxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdChldmVudDogYW55LCBpdGVtOiBGaWx0ZXJFeHByZXNzaW9uRmllbGQpOiB2b2lkIHtcclxuICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuc2VydmljZS5tb2RlbD8ucmVhZE9ubHkpIHtcclxuICAgICAgaWYgKCF0aGlzLmlzU2VsZWN0ZWQpIHtcclxuICAgICAgICB0aGlzLnNlcnZpY2UucGVmb3JtV2lkZ2V0QWN0aW9uKHtcclxuICAgICAgICAgIGNvZGU6ICdTRUxFQ1RfRklFTEQnLFxyXG4gICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgIG1vZGVsOiB0aGlzLml0ZW0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICAgICAgY29kZTogJ1NFTEVDVF9GSUVMRCcsXHJcbiAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgbW9kZWw6IHRoaXMuaXRlbSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImV4cHJlc3Npb25JdGVtQ29udGFpbmVyXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJleHByZXNzaW9uSXRlbUlubmVyQ29udGFpbmVyXCJcclxuICAgIFtuZ0NsYXNzXT1cIlxyXG4gICAgICBpdGVtLmV4cHJlc3Npb25EYXRhPy5jdXJyZW50T3BlcmF0aW9uID09PSAnRVhQUkVTU0lPTidcclxuICAgICAgICA/IGlzU2VsZWN0ZWRcclxuICAgICAgICAgID8gJ3NlbGVjdGVkRXhwcmVzc2lvbkNvbnRhaW5lcidcclxuICAgICAgICAgIDogJ2V4cHJlc3Npb25Db250YWluZXInXHJcbiAgICAgICAgOiAnJ1xyXG4gICAgXCJcclxuICA+XHJcbiAgICA8ZGl2XHJcbiAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgaXRlbS5leHByZXNzaW9uRGF0YT8uY3VycmVudE9wZXJhdGlvbiA9PT0gJ0VYUFJFU1NJT04nO1xyXG4gICAgICAgIHRoZW4gZXhwcmVzc2lvbjtcclxuICAgICAgICBlbHNlIHNpbXBsZUl0ZW1cclxuICAgICAgXCJcclxuICAgID48L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZXhwcmVzc2lvbj5cclxuICAgICAgPGRpdiBjbGFzcz1cImV4cHJlc3Npb25JdGVtQnViYmxlIGV4cHJlc3Npb25cIiAoY2xpY2spPVwic2VsZWN0KCRldmVudCwgaXRlbSlcIj5bPC9kaXY+XHJcbiAgICAgIDxhcHAtZXhwcmVzc2lvbi1pdGVtXHJcbiAgICAgICAgW2l0ZW1dPVwic3ViSXRlbVwiXHJcbiAgICAgICAgW2hhc05leHRdPVwiaSA8IChpdGVtLnN1YkZpZWxkTGlzdD8uZmlsdGVycykhLmxlbmd0aCAtIDFcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBzdWJJdGVtIG9mIGl0ZW0uc3ViRmllbGRMaXN0Py5maWx0ZXJzOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgPjwvYXBwLWV4cHJlc3Npb24taXRlbT5cclxuICAgICAgPGRpdiBjbGFzcz1cImV4cHJlc3Npb25JdGVtQnViYmxlIGV4cHJlc3Npb25cIj5dPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICNzaW1wbGVJdGVtPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdCgkZXZlbnQsIGl0ZW0pXCJcclxuICAgICAgICBjbGFzcz1cImV4cHJlc3Npb25JdGVtQnViYmxlIHNpbXBsZUl0ZW1cIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImlzU2VsZWN0ZWQgPyAnc2VsZWN0ZWRTaW1wbGVJdGVtJyA6ICcnXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGl0ZW0ubGFiZWwgfX06XHJcbiAgICAgICAgPGIgKm5nSWY9XCJpdGVtLndpZGdldFR5cGUgIT09ICdSQU5HRSdcIj5cclxuICAgICAgICAgIHt7IGl0ZW0uZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQyPy52YWx1ZUFzU3RyaW5nIH19XHJcbiAgICAgICAgPC9iPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8uc2VsZWN0ZWRWYWx1ZXNcIj5cclxuICAgICAgICAgIDxiICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBpdGVtLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8uc2VsZWN0ZWRWYWx1ZXM7IGxldCBsYXN0ID0gbGFzdFwiPlxyXG4gICAgICAgICAgICB7eyB2YWx1ZSB9fSA8YiAqbmdJZj1cIiFsYXN0XCI+LDwvYj5cclxuICAgICAgICAgIDwvYj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS53aWRnZXRUeXBlID09PSAnUkFOR0UnXCI+XHJcbiAgICAgICAgICA8Yj5cclxuICAgICAgICAgICAge3sgaXRlbS5leHByZXNzaW9uRGF0YT8ub3BlcmFuZDI/LnZhbHVlQXNTdHJpbmcgfX0gLVxyXG4gICAgICAgICAgICB7eyBpdGVtLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMz8udmFsdWVBc1N0cmluZyB9fTwvYlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cImhhc05leHRcIiBjbGFzcz1cInJlbGF0aW9uSXRlbUJ1YmJsZVwiPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtYnV0dG9uXHJcbiAgICAgIChjbGljayk9XCJzZXRPcGVyYXRvclRvKCRldmVudCwgYm9vbE9wZXJhdG9yVHlwZS5BTkQpXCJcclxuICAgICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgICAgaXRlbS5leHByZXNzaW9uRGF0YT8uYm9vbE9wZXJhdG9yID09PSBib29sT3BlcmF0b3JUeXBlLkFORCA/ICdtYXQtcmFpc2VkLWJ1dHRvbicgOiAnJ1xyXG4gICAgICBcIlxyXG4gICAgICBjb2xvcj1cImJsYWNrXCJcclxuICAgID5cclxuICAgICAgw4lTXHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAoY2xpY2spPVwic2V0T3BlcmF0b3JUbygkZXZlbnQsIGJvb2xPcGVyYXRvclR5cGUuT1IpXCJcclxuICAgICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgICAgaXRlbS5leHByZXNzaW9uRGF0YT8uYm9vbE9wZXJhdG9yID09PSBib29sT3BlcmF0b3JUeXBlLk9SID8gJ21hdC1yYWlzZWQtYnV0dG9uJyA6ICcnXHJcbiAgICAgIFwiXHJcbiAgICAgIGNvbG9yPVwiYmxhY2tcIlxyXG4gICAgPlxyXG4gICAgICBWQUdZXHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1maWx0ZXItZWRpdG9yL3NtYXJ0LWZpbHRlci1lZGl0b3ItY29udGVudC9jb21wb25lbnRzL3NtYXJ0LWZpbHRlci1leHByZXNzaW9uLWl0ZW0vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU16RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7OztBQVMvRixNQUFNLE9BQU8sa0NBQWtDO0lBUzdDO1FBSkEsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU1QixxQkFBZ0IsR0FBRyw0QkFBNEIsQ0FBQztJQUVqQyxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVLEVBQUUsYUFBMkM7UUFDbkUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUU7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFlLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztZQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2dCQUM5QixJQUFJLEVBQUUsMEJBQTBCO2dCQUNoQyxNQUFNLEVBQUU7b0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO2lCQUNqQjthQUNGLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFVLEVBQUUsSUFBMkI7UUFDNUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUU7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUM7b0JBQzlCLElBQUksRUFBRSxjQUFjO29CQUNwQixNQUFNLEVBQUU7d0JBQ04sS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO3FCQUNqQjtpQkFDRixDQUFDLENBQUM7YUFDSjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO29CQUM5QixJQUFJLEVBQUUsY0FBYztvQkFDcEIsTUFBTSxFQUFFO3dCQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtxQkFDakI7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWTtRQUMxQixJQUFJLEtBQUssR0FBc0IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDNUUsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxLQUFLLENBQUMsWUFBYSxDQUFDO1NBQzVCO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7K0hBN0RVLGtDQUFrQzttSEFBbEMsa0NBQWtDLDZIQ2YvQyw2cUZBOEVBLGcxQkQvRGEsa0NBQWtDOzJGQUFsQyxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UscUJBQXFCOzBFQUt0QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIElTbWFydEZpbHRlckVkaXRvclNlcnZpY2UsXHJcbiAgU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlLFxyXG59IGZyb20gJy4uLy4uLy4uL3NtYXJ0LWZpbHRlci1lZGl0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25GaWVsZCB9IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbC9maWx0ZXJFeHByZXNzaW9uRmllbGQnO1xyXG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vYXBpL21vZGVsL2ZpbHRlckV4cHJlc3Npb25Cb29sT3BlcmF0b3InO1xyXG5pbXBvcnQgeyBWYWx1ZSB9IGZyb20gJy4vLi4vLi4vLi4vLi4vdmlldy1jb250ZXh0L3ZhbHVlLWFwaS9tb2RlbC92YWx1ZSc7XHJcbmltcG9ydCB7IFYgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZXhwcmVzc2lvbi1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtZmlsdGVyLWV4cHJlc3Npb24taXRlbS5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydEZpbHRlckV4cHJlc3Npb25JdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBpdGVtITogRmlsdGVyRXhwcmVzc2lvbkZpZWxkO1xyXG4gIEBJbnB1dCgpIGhhc05leHQhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNlcnZpY2UhOiBJU21hcnRGaWx0ZXJFZGl0b3JTZXJ2aWNlO1xyXG5cclxuICBpc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGJvb2xPcGVyYXRvclR5cGUgPSBGaWx0ZXJFeHByZXNzaW9uQm9vbE9wZXJhdG9yO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc1NlbGVjdGVkID1cclxuICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZXJ2aWNlLm1vZGVsPy5zZWxlY3RlZEZpZWxkKSA9PT0gSlNPTi5zdHJpbmdpZnkodGhpcy5pdGVtKTtcclxuICB9XHJcblxyXG4gIHNldE9wZXJhdG9yVG8oZXZlbnQ6IGFueSwgb3BlcmF0aW9uVHlwZTogRmlsdGVyRXhwcmVzc2lvbkJvb2xPcGVyYXRvcik6IHZvaWQge1xyXG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKCF0aGlzLnNlcnZpY2UubW9kZWw/LnJlYWRPbmx5KSB7XHJcbiAgICAgIHRoaXMuaXRlbS5leHByZXNzaW9uRGF0YSEuYm9vbE9wZXJhdG9yID0gb3BlcmF0aW9uVHlwZTtcclxuICAgICAgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XHJcbiAgICAgICAgY29kZTogJ1VQREFURV9GSUxURVJfRVhQUkVTU0lPTicsXHJcbiAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICBtb2RlbDogdGhpcy5pdGVtLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0KGV2ZW50OiBhbnksIGl0ZW06IEZpbHRlckV4cHJlc3Npb25GaWVsZCk6IHZvaWQge1xyXG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICghdGhpcy5zZXJ2aWNlLm1vZGVsPy5yZWFkT25seSkge1xyXG4gICAgICBpZiAoIXRoaXMuaXNTZWxlY3RlZCkge1xyXG4gICAgICAgIHRoaXMuc2VydmljZS5wZWZvcm1XaWRnZXRBY3Rpb24oe1xyXG4gICAgICAgICAgY29kZTogJ1NFTEVDVF9GSUVMRCcsXHJcbiAgICAgICAgICBwYXJhbXM6IHtcclxuICAgICAgICAgICAgbW9kZWw6IHRoaXMuaXRlbSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnBlZm9ybVdpZGdldEFjdGlvbih7XHJcbiAgICAgICAgICBjb2RlOiAnU0VMRUNUX0ZJRUxEJyxcclxuICAgICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgICBtb2RlbDogdGhpcy5pdGVtLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGlzcGxheVZhbHVlKGNvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgdmFsdWU6IFZhbHVlIHwgdW5kZWZpbmVkID0gdGhpcy5pdGVtLnBvc3NpYmxlVmFsdWVzLmZpbmQoKHZhbHVlOiBWYWx1ZSkgPT4ge1xyXG4gICAgICByZXR1cm4gdmFsdWUuY29kZSA9PT0gY29kZTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gdmFsdWUuZGlzcGxheVZhbHVlITtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBjb2RlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1Db250YWluZXJcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImV4cHJlc3Npb25JdGVtSW5uZXJDb250YWluZXJcIlxyXG4gICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgIGl0ZW0uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdFWFBSRVNTSU9OJ1xyXG4gICAgICAgID8gaXNTZWxlY3RlZFxyXG4gICAgICAgICAgPyAnc2VsZWN0ZWRFeHByZXNzaW9uQ29udGFpbmVyJ1xyXG4gICAgICAgICAgOiAnZXhwcmVzc2lvbkNvbnRhaW5lcidcclxuICAgICAgICA6ICcnXHJcbiAgICBcIlxyXG4gID5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJcclxuICAgICAgICBpdGVtLmV4cHJlc3Npb25EYXRhPy5jdXJyZW50T3BlcmF0aW9uID09PSAnRVhQUkVTU0lPTic7XHJcbiAgICAgICAgdGhlbiBleHByZXNzaW9uO1xyXG4gICAgICAgIGVsc2Ugc2ltcGxlSXRlbVxyXG4gICAgICBcIlxyXG4gICAgPjwvZGl2PlxyXG4gICAgPG5nLXRlbXBsYXRlICNleHByZXNzaW9uPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1CdWJibGUgZXhwcmVzc2lvblwiIChjbGljayk9XCJzZWxlY3QoJGV2ZW50LCBpdGVtKVwiPls8L2Rpdj5cclxuICAgICAgPGFwcC1leHByZXNzaW9uLWl0ZW1cclxuICAgICAgICBbaXRlbV09XCJzdWJJdGVtXCJcclxuICAgICAgICBbaGFzTmV4dF09XCJpIDwgKGl0ZW0uc3ViRmllbGRMaXN0Py5maWx0ZXJzKSEubGVuZ3RoIC0gMVwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IHN1Ykl0ZW0gb2YgaXRlbS5zdWJGaWVsZExpc3Q/LmZpbHRlcnM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICA+PC9hcHAtZXhwcmVzc2lvbi1pdGVtPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1CdWJibGUgZXhwcmVzc2lvblwiPl08L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgI3NpbXBsZUl0ZW0+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICAoY2xpY2spPVwic2VsZWN0KCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgIGNsYXNzPVwiZXhwcmVzc2lvbkl0ZW1CdWJibGUgc2ltcGxlSXRlbVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiaXNTZWxlY3RlZCA/ICdzZWxlY3RlZFNpbXBsZUl0ZW0nIDogJydcIlxyXG4gICAgICA+XHJcbiAgICAgICAge3sgaXRlbS5sYWJlbCB9fTpcclxuICAgICAgICA8YiAqbmdJZj1cIml0ZW0uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gIT09ICdCRVRXRUVOJ1wiPlxyXG4gICAgICAgICAge3sgZ2V0RGlzcGxheVZhbHVlKGl0ZW0uZXhwcmVzc2lvbkRhdGEhLm9wZXJhbmQyIS52YWx1ZUFzU3RyaW5nISkgfX1cclxuICAgICAgICA8L2I+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uZXhwcmVzc2lvbkRhdGE/LmN1cnJlbnRPcGVyYXRpb24gPT09ICdJTidcIj5cclxuICAgICAgICAgIDxiICpuZ0Zvcj1cImxldCB2YWx1ZSBvZiBpdGVtLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8uc2VsZWN0ZWRWYWx1ZXM7IGxldCBsYXN0ID0gbGFzdFwiPlxyXG4gICAgICAgICAgICB7eyBnZXREaXNwbGF5VmFsdWUodmFsdWUpIH19IDxiICpuZ0lmPVwiIWxhc3RcIj4sPC9iPlxyXG4gICAgICAgICAgPC9iPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmV4cHJlc3Npb25EYXRhPy5jdXJyZW50T3BlcmF0aW9uID09PSAnQkVUV0VFTidcIj5cclxuICAgICAgICAgIDxiPlxyXG4gICAgICAgICAgICB7eyBpdGVtLmV4cHJlc3Npb25EYXRhPy5vcGVyYW5kMj8udmFsdWVBc1N0cmluZyB9fSAtXHJcbiAgICAgICAgICAgIHt7IGl0ZW0uZXhwcmVzc2lvbkRhdGE/Lm9wZXJhbmQzPy52YWx1ZUFzU3RyaW5nIH19PC9iXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiaGFzTmV4dFwiIGNsYXNzPVwicmVsYXRpb25JdGVtQnViYmxlXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgKGNsaWNrKT1cInNldE9wZXJhdG9yVG8oJGV2ZW50LCBib29sT3BlcmF0b3JUeXBlLkFORClcIlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICBpdGVtLmV4cHJlc3Npb25EYXRhPy5ib29sT3BlcmF0b3IgPT09IGJvb2xPcGVyYXRvclR5cGUuQU5EXHJcbiAgICAgICAgICA/ICdtYXQtcmFpc2VkLWJ1dHRvbiBhbmQtb3BlcmF0b3InXHJcbiAgICAgICAgICA6ICcnXHJcbiAgICAgIFwiXHJcbiAgICAgIGNvbG9yPVwiYmxhY2tcIlxyXG4gICAgPlxyXG4gICAgICDDiVNcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtYnV0dG9uXHJcbiAgICAgIChjbGljayk9XCJzZXRPcGVyYXRvclRvKCRldmVudCwgYm9vbE9wZXJhdG9yVHlwZS5PUilcIlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICBpdGVtLmV4cHJlc3Npb25EYXRhPy5ib29sT3BlcmF0b3IgPT09IGJvb2xPcGVyYXRvclR5cGUuT1JcclxuICAgICAgICAgID8gJ21hdC1yYWlzZWQtYnV0dG9uIG9yLW9wZXJhdG9yJ1xyXG4gICAgICAgICAgOiAnJ1xyXG4gICAgICBcIlxyXG4gICAgICBjb2xvcj1cImJsYWNrXCJcclxuICAgID5cclxuICAgICAgVkFHWVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -13378,12 +13378,23 @@ class SmartFilterExpressionItemComponent {
13378
13378
  }
13379
13379
  }
13380
13380
  }
13381
+ getDisplayValue(code) {
13382
+ let value = this.item.possibleValues.find((value) => {
13383
+ return value.code === code;
13384
+ });
13385
+ if (value) {
13386
+ return value.displayValue;
13387
+ }
13388
+ else {
13389
+ return code;
13390
+ }
13391
+ }
13381
13392
  }
13382
13393
  SmartFilterExpressionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterExpressionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13383
- SmartFilterExpressionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: { item: "item", hasNext: "hasNext", service: "service" }, ngImport: i0, template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label }}:\r\n <b *ngIf=\"item.widgetType !== 'RANGE'\">\r\n {{ item.expressionData?.operand2?.valueAsString }}\r\n </b>\r\n <div *ngIf=\"item.expressionData?.operand2?.selectedValues\">\r\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\r\n {{ value }} <b *ngIf=\"!last\">,</b>\r\n </b>\r\n </div>\r\n <div *ngIf=\"item.widgetType === 'RANGE'\">\r\n <b>\r\n {{ item.expressionData?.operand2?.valueAsString }} -\r\n {{ item.expressionData?.operand3?.valueAsString }}</b\r\n >\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.AND ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.OR ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-button{border-radius:1.5rem;height:100%;margin:auto 0}\n"], components: [{ type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: ["item", "hasNext", "service"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
13394
+ SmartFilterExpressionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: { item: "item", hasNext: "hasNext", service: "service" }, ngImport: i0, template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label }}:\r\n <b *ngIf=\"item.expressionData?.currentOperation !== 'BETWEEN'\">\r\n {{ getDisplayValue(item.expressionData!.operand2!.valueAsString!) }}\r\n </b>\r\n <div *ngIf=\"item.expressionData?.currentOperation === 'IN'\">\r\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\r\n {{ getDisplayValue(value) }} <b *ngIf=\"!last\">,</b>\r\n </b>\r\n </div>\r\n <div *ngIf=\"item.expressionData?.currentOperation === 'BETWEEN'\">\r\n <b>\r\n {{ item.expressionData?.operand2?.valueAsString }} -\r\n {{ item.expressionData?.operand3?.valueAsString }}</b\r\n >\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.AND\r\n ? 'mat-raised-button and-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.OR\r\n ? 'mat-raised-button or-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-button{border-radius:1.5rem;height:100%;margin:auto 0}\n"], components: [{ type: SmartFilterExpressionItemComponent, selector: "app-expression-item", inputs: ["item", "hasNext", "service"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
13384
13395
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartFilterExpressionItemComponent, decorators: [{
13385
13396
  type: Component,
13386
- args: [{ selector: 'app-expression-item', template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label }}:\r\n <b *ngIf=\"item.widgetType !== 'RANGE'\">\r\n {{ item.expressionData?.operand2?.valueAsString }}\r\n </b>\r\n <div *ngIf=\"item.expressionData?.operand2?.selectedValues\">\r\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\r\n {{ value }} <b *ngIf=\"!last\">,</b>\r\n </b>\r\n </div>\r\n <div *ngIf=\"item.widgetType === 'RANGE'\">\r\n <b>\r\n {{ item.expressionData?.operand2?.valueAsString }} -\r\n {{ item.expressionData?.operand3?.valueAsString }}</b\r\n >\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.AND ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.OR ? 'mat-raised-button' : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-button{border-radius:1.5rem;height:100%;margin:auto 0}\n"] }]
13397
+ args: [{ selector: 'app-expression-item', template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n <div\r\n *ngIf=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION';\r\n then expression;\r\n else simpleItem\r\n \"\r\n ></div>\r\n <ng-template #expression>\r\n <div class=\"expressionItemBubble expression\" (click)=\"select($event, item)\">[</div>\r\n <app-expression-item\r\n [item]=\"subItem\"\r\n [hasNext]=\"i < (item.subFieldList?.filters)!.length - 1\"\r\n *ngFor=\"let subItem of item.subFieldList?.filters; let i = index\"\r\n ></app-expression-item>\r\n <div class=\"expressionItemBubble expression\">]</div>\r\n </ng-template>\r\n <ng-template #simpleItem>\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [ngClass]=\"isSelected ? 'selectedSimpleItem' : ''\"\r\n >\r\n {{ item.label }}:\r\n <b *ngIf=\"item.expressionData?.currentOperation !== 'BETWEEN'\">\r\n {{ getDisplayValue(item.expressionData!.operand2!.valueAsString!) }}\r\n </b>\r\n <div *ngIf=\"item.expressionData?.currentOperation === 'IN'\">\r\n <b *ngFor=\"let value of item.expressionData?.operand2?.selectedValues; let last = last\">\r\n {{ getDisplayValue(value) }} <b *ngIf=\"!last\">,</b>\r\n </b>\r\n </div>\r\n <div *ngIf=\"item.expressionData?.currentOperation === 'BETWEEN'\">\r\n <b>\r\n {{ item.expressionData?.operand2?.valueAsString }} -\r\n {{ item.expressionData?.operand3?.valueAsString }}</b\r\n >\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div *ngIf=\"hasNext\" class=\"relationItemBubble\">\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.AND)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.AND\r\n ? 'mat-raised-button and-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n \u00C9S\r\n </button>\r\n <button\r\n mat-button\r\n (click)=\"setOperatorTo($event, boolOperatorType.OR)\"\r\n [ngClass]=\"\r\n item.expressionData?.boolOperator === boolOperatorType.OR\r\n ? 'mat-raised-button or-operator'\r\n : ''\r\n \"\r\n color=\"black\"\r\n >\r\n VAGY\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-darker-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.selectedSimpleItem{border:2px solid var(--primary-color)}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem}.relationItemBubble .mat-button{border-radius:1.5rem;height:100%;margin:auto 0}\n"] }]
13387
13398
  }], ctorParameters: function () { return []; }, propDecorators: { item: [{
13388
13399
  type: Input
13389
13400
  }], hasNext: [{