@acorex/components 4.1.7 → 4.1.9

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.
Files changed (26) hide show
  1. package/esm2020/lib/base/base-page.class.mjs +3 -1
  2. package/esm2020/lib/checkbox/checkbox.component.mjs +3 -3
  3. package/esm2020/lib/property-editor/editors/selectbox-editor/selectbox.editor.mjs +12 -5
  4. package/esm2020/lib/property-editor/editors/selection-editor/selection-editor.mjs +3 -3
  5. package/esm2020/lib/property-editor/property-editor.class.mjs +7 -6
  6. package/esm2020/lib/property-editor/property-editor.module.mjs +41 -17
  7. package/esm2020/lib/selection-list/selection-list.component.mjs +3 -3
  8. package/esm2020/lib/tab-page/tab-page-Renderer.component.mjs +3 -1
  9. package/esm2020/lib/tab-page/tab-page-host.component.mjs +8 -1
  10. package/esm2020/lib/validation/validation-form.component.mjs +3 -2
  11. package/fesm2015/acorex-components.mjs +660 -469
  12. package/fesm2015/acorex-components.mjs.map +1 -1
  13. package/fesm2020/acorex-components.mjs +649 -459
  14. package/fesm2020/acorex-components.mjs.map +1 -1
  15. package/lib/base/base-page.class.d.ts +1 -0
  16. package/lib/checkbox/checkbox.component.d.ts +2 -2
  17. package/lib/property-editor/editors/selectbox-editor/selectbox.editor.d.ts +2 -1
  18. package/lib/property-editor/property-editor.class.d.ts +23 -0
  19. package/lib/property-editor/property-editor.module.d.ts +4 -2
  20. package/lib/selection-list/selection-list.component.d.ts +2 -2
  21. package/lib/tab-page/tab-page-host.component.d.ts +1 -2
  22. package/package.json +1 -1
  23. package/esm2020/lib/search-bar/search-bar.component.mjs +0 -132
  24. package/esm2020/lib/search-bar/search-bar.module.mjs +0 -27
  25. package/lib/search-bar/search-bar.component.d.ts +0 -37
  26. package/lib/search-bar/search-bar.module.d.ts +0 -16
@@ -28,6 +28,7 @@ export declare abstract class AXBasePageComponent {
28
28
  onClosed: EventEmitter<AXPageCloseEvent>;
29
29
  close(data?: any): void;
30
30
  onClosing(e: AXPageClosing): void | Promise<void>;
31
+ onActivated(): void;
31
32
  ngOnDestroy(): void;
32
33
  static ɵfac: i0.ɵɵFactoryDeclaration<AXBasePageComponent, never>;
33
34
  static ɵdir: i0.ɵɵDirectiveDeclaration<AXBasePageComponent, never, never, {}, {}, never>;
@@ -1,11 +1,11 @@
1
1
  import { EventEmitter, ChangeDetectorRef, ElementRef } from '@angular/core';
2
- import { AXBaseComponent, AXBaseSizableComponent, AXBaseValueComponent, AXElementSize } from '../base/element.class';
2
+ import { AXBaseComponent, AXBaseSizableComponent, AXBaseValueComponent, AXElementSize, AXValidatableComponent } from '../base/element.class';
3
3
  import { AXValueEvent, AXHtmlEvent } from '../base/events.class';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AXCheckBoxItemClick extends AXHtmlEvent<MouseEvent> {
6
6
  value?: boolean;
7
7
  }
8
- export declare class AXCheckBoxComponent extends AXBaseComponent implements AXBaseSizableComponent, AXBaseValueComponent<boolean> {
8
+ export declare class AXCheckBoxComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseComponent, AXBaseValueComponent<boolean> {
9
9
  protected cdr: ChangeDetectorRef;
10
10
  private ref;
11
11
  input: ElementRef<HTMLInputElement>;
@@ -7,13 +7,14 @@ export declare class AXSelectBoxPropertyEditorComponent extends AXProperyEditorC
7
7
  protected cdr: ChangeDetectorRef;
8
8
  valueField: string;
9
9
  textField: string;
10
- selectionMode: string;
10
+ mode: string;
11
11
  selectionDataMode: string;
12
12
  allowSearch: boolean;
13
13
  allowNull: boolean;
14
14
  disabled: boolean;
15
15
  items: any;
16
16
  remoteOperation: boolean;
17
+ returnAllData: boolean;
17
18
  validation: AXValidation;
18
19
  selectBox: AXSelectBoxComponent;
19
20
  private _filter;
@@ -13,6 +13,29 @@ export interface AXPropertyDef {
13
13
  editorOptions?: any;
14
14
  visible?: boolean | (() => boolean);
15
15
  order?: number;
16
+ row?: number;
17
+ col?: number | AXPropertyColDef;
18
+ filterOptions?: FilterModel;
19
+ }
20
+ export interface FilterModel {
21
+ operator?: any;
22
+ filters?: FiltersModel[];
23
+ truncateDate?: boolean;
24
+ joinType?: string;
25
+ ignoreCase?: boolean;
26
+ logic?: 'and' | 'or';
27
+ advance?: boolean;
28
+ }
29
+ export interface FiltersModel {
30
+ name?: string;
31
+ value?: string;
32
+ filterOptions: FilterModel;
33
+ }
34
+ export interface AXPropertyColDef {
35
+ lg?: number;
36
+ md?: number;
37
+ sm?: number;
38
+ xs?: number;
16
39
  }
17
40
  export interface AXPropertyEditorDef {
18
41
  title: string;
@@ -11,9 +11,11 @@ import * as i9 from "./editors/switch-editor/number.module";
11
11
  import * as i10 from "./editors/date-editor/date.module";
12
12
  import * as i11 from "./editors/time-editor/time.module";
13
13
  import * as i12 from "./editors/textarea-editor/textarea.module";
14
- import * as i13 from "@angular/router";
14
+ import * as i13 from "./editors/check-editor/check.module";
15
+ import * as i14 from "./editors/selection-editor/selection.module";
16
+ import * as i15 from "@angular/router";
15
17
  export declare class AXProppertyEditorModule {
16
18
  static ɵfac: i0.ɵɵFactoryDeclaration<AXProppertyEditorModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXProppertyEditorModule, [typeof i1.AXPropertyEditorRendererDirective], [typeof i2.AXNumberBoxPropertyEditorModule, typeof i3.AXTextPropertyEditorModule, typeof i4.AXSelectBoxPropertyEditorModule, typeof i5.AXRangePropertyEditorModule, typeof i6.AXColorPropertyEditorModule, typeof i7.AXConditionalColorPropertyEditorModule, typeof i8.AXColumnPropertyEditorModule, typeof i9.AXSwitchPropertyEditorModule, typeof i10.AXDatePropertyEditorModule, typeof i11.AXTimePropertyEditorModule, typeof i11.AXTimePropertyEditorModule, typeof i12.AXTextareaPropertyEditorModule, typeof i13.RouterModule], [typeof i1.AXPropertyEditorRendererDirective]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXProppertyEditorModule, [typeof i1.AXPropertyEditorRendererDirective], [typeof i2.AXNumberBoxPropertyEditorModule, typeof i3.AXTextPropertyEditorModule, typeof i4.AXSelectBoxPropertyEditorModule, typeof i5.AXRangePropertyEditorModule, typeof i6.AXColorPropertyEditorModule, typeof i7.AXConditionalColorPropertyEditorModule, typeof i8.AXColumnPropertyEditorModule, typeof i9.AXSwitchPropertyEditorModule, typeof i10.AXDatePropertyEditorModule, typeof i11.AXTimePropertyEditorModule, typeof i11.AXTimePropertyEditorModule, typeof i12.AXTextareaPropertyEditorModule, typeof i13.AXCheckPropertyEditorModule, typeof i14.AXSelectionPropertyEditorModule, typeof i15.RouterModule], [typeof i1.AXPropertyEditorRendererDirective]>;
18
20
  static ɵinj: i0.ɵɵInjectorDeclaration<AXProppertyEditorModule>;
19
21
  }
@@ -1,8 +1,8 @@
1
1
  import { ChangeDetectorRef, EventEmitter } from '@angular/core';
2
2
  import { AXSelectionList } from '@acorex/core';
3
- import { AXBaseComponent, AXBaseSizableComponent, AXElementSize } from '../base/element.class';
3
+ import { AXBaseComponent, AXBaseSizableComponent, AXElementSize, AXValidatableComponent } from '../base/element.class';
4
4
  import * as i0 from "@angular/core";
5
- export declare class AXSelectionListComponent extends AXBaseComponent implements AXBaseSizableComponent {
5
+ export declare class AXSelectionListComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseComponent {
6
6
  private cdr;
7
7
  private _selectedItems;
8
8
  readonly: boolean;
@@ -1,7 +1,6 @@
1
1
  import { OnInit, ComponentFactoryResolver, ElementRef, ChangeDetectorRef } from '@angular/core';
2
2
  import { AXTabPage, AXTabPageService } from './tab-page.service';
3
3
  import { AXRenderService } from '@acorex/core';
4
- import { AXBasePageComponent } from '../base/base-page.class';
5
4
  import { AXLoadingService } from '../loading/loading.service';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class AXTabPageHostComponent implements OnInit {
@@ -12,13 +11,13 @@ export declare class AXTabPageHostComponent implements OnInit {
12
11
  private loadingService;
13
12
  private cdr;
14
13
  tab: AXTabPage;
15
- component: AXBasePageComponent;
16
14
  private componentRef;
17
15
  isLoading: boolean;
18
16
  _loadingId: number;
19
17
  private container;
20
18
  constructor(resolver: ComponentFactoryResolver, ref: ElementRef<HTMLDivElement>, rendererService: AXRenderService, tabService: AXTabPageService, loadingService: AXLoadingService, cdr: ChangeDetectorRef);
21
19
  ngOnInit(): void;
20
+ active(): void;
22
21
  ngAfterViewInit(): Promise<void>;
23
22
  ngOnDestroy(): void;
24
23
  static ɵfac: i0.ɵɵFactoryDeclaration<AXTabPageHostComponent, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/components",
3
- "version": "4.1.7",
3
+ "version": "4.1.9",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.3.8",
6
6
  "@angular/core": "^13.3.8"
@@ -1,132 +0,0 @@
1
- import { AXConfig } from '@acorex/core';
2
- import { Component, ElementRef, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren } from '@angular/core';
3
- import * as _ from 'lodash';
4
- import { AXDropdownComponent } from '../dropdown/dropdown.component';
5
- import { AXPropertyEditorRendererDirective } from '../property-editor/property-editor-renderer.directive';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../dropdown/dropdown.component";
8
- import * as i2 from "../label/label.component";
9
- import * as i3 from "../button/button.component";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "../property-editor/property-editor-renderer.directive";
12
- import * as i6 from "@acorex/core";
13
- export class AXSearchBarComponent {
14
- constructor(ref) {
15
- this.ref = ref;
16
- this.size = 'md';
17
- this.disabled = false;
18
- this.rtl = AXConfig.get('layout.rtl');
19
- this.onValueChange = new EventEmitter();
20
- this.onSearchValue = new EventEmitter();
21
- this._items = [];
22
- this._filterItems = [];
23
- this._filterItemsClone = [];
24
- this._context = {};
25
- }
26
- set items(v) {
27
- debugger;
28
- v.forEach((el) => {
29
- if (el.value != null) {
30
- this._filterItems.push({
31
- name: el.property.name,
32
- title: el.property.title,
33
- value: el.value
34
- });
35
- }
36
- });
37
- this._items = _.chain(v).groupBy(x => x.property.row).map((value, key) => ({ row: key, items: value })).value();
38
- }
39
- clearItem(name) {
40
- this._editors.find(e => e.property.property.name == name).clear();
41
- }
42
- handleButtonClick() {
43
- this.dropdown.toggle();
44
- }
45
- handleValueChange(e) {
46
- if (this._filterItemsClone.find((el) => el.name == e.property.name)) {
47
- this._filterItemsClone.find((el) => el.name == e.property.name).value = e.value;
48
- }
49
- else if (e.value != null) {
50
- this._filterItemsClone.push({
51
- name: e.property.name,
52
- title: e.property.title,
53
- value: e.value
54
- });
55
- }
56
- this.onValueChange.emit(e);
57
- }
58
- handleItemRemoveClick(item) {
59
- this._editors.forEach(e => {
60
- if (e.property.property.name == item.name) {
61
- e.clear();
62
- }
63
- });
64
- this._filterItems = this._filterItems.filter((el) => el.name != item.name);
65
- }
66
- search() {
67
- this._filterItems = JSON.parse(JSON.stringify(this._filterItemsClone.filter((el) => el.value != null && el.value != '')));
68
- this.handleButtonClick();
69
- this.onSearchValue.emit(this._filterItems);
70
- }
71
- clear() {
72
- this._editors.forEach(e => {
73
- e.clear();
74
- });
75
- this._filterItems = [];
76
- this._filterItemsClone = [];
77
- this.handleButtonClick();
78
- this.onSearchValue.emit(this._filterItems);
79
- }
80
- renderCol(e) {
81
- let className = [];
82
- if (typeof e == 'number') {
83
- className.push(`col-${e}`);
84
- }
85
- else {
86
- for (const key in e) {
87
- switch (key) {
88
- case 'lg':
89
- className.push(`col-lg-${e[key]}`);
90
- break;
91
- case 'md':
92
- className.push(`col-md-${e[key]}`);
93
- break;
94
- case 'sm':
95
- className.push(`col-sm-${e[key]}`);
96
- break;
97
- case 'xs':
98
- className.push(`col-xs-${e[key]}`);
99
- break;
100
- }
101
- }
102
- }
103
- return className.toString().replace(/,/, ' ');
104
- }
105
- ngOnInit() {
106
- }
107
- }
108
- AXSearchBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
109
- AXSearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSearchBarComponent, selector: "ax-search-bar", inputs: { size: "size", disabled: "disabled", items: "items", rtl: "rtl" }, outputs: { onValueChange: "onValueChange", onSearchValue: "onSearchValue" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "_editors", predicate: AXPropertyEditorRendererDirective, descendants: true }], ngImport: i0, template: "<ax-drop-down [fitParent]=\"true\" [size]=\"size\" [showDropDownButton]=\"false\" icon=\"far fa-sliders-h\" #dropdown\r\n maxHeight=\"unset\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container header>\r\n <div class=\"ax chips-container\">\r\n <div class=\"chips\" *ngFor=\"let item of _filterItems\">\r\n <span class=\"chips-text\">\r\n <b>{{item.title}} :</b> {{item.value}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\r\n <i class=\"far fa-times close\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container panel>\r\n <div class=\"panel-box\">\r\n <div *ngFor=\"let item of _items\" class=\"row\">\r\n <div *ngFor=\"let prop of item.items\" class=\"{{renderCol(prop.property.col)}}\">\r\n <!-- <ax-form-group> -->\r\n <div *ngIf=\"prop.property.visible != false\">\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [property]=\"prop\" [context]=\"_context\"\r\n (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n <!-- </ax-form-group> -->\r\n </div>\r\n </div>\r\n <div class=\"footer-button\">\r\n <ax-button (click)=\"search()\">{{'common.search' | trans}}</ax-button>\r\n <ax-button type=\"blank danger\" (click)=\"clear()\">{{'dataGrid.clearFilter' | trans}}</ax-button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button end icon=\"far fa-sliders-h icon\" type=\"light blank\" [disabled]=\"disabled\" [size]=\"size\"\r\n [tabIndex]=\"-1\" (click)=\"handleButtonClick()\">{{'common.search' | trans}}</ax-button>\r\n </ng-container>\r\n\r\n</ax-drop-down>\r\n", styles: [".ax.chips-container{height:100%}.panel-box{padding:1rem}.panel-box .footer-button{margin-top:1rem;display:flex;align-items:center;gap:.5rem}\n"], components: [{ type: i1.AXDropdownComponent, selector: "ax-drop-down", inputs: ["rtl", "readonly", "loading"], outputs: ["dropdownToggle", "onButtonClick"] }, { type: i2.AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: i3.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: ["property", "validationForm", "context", "host", "groupId"], outputs: ["onValueChange"] }], pipes: { "trans": i6.AXTranslatorPipe } });
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarComponent, decorators: [{
111
- type: Component,
112
- args: [{ selector: 'ax-search-bar', template: "<ax-drop-down [fitParent]=\"true\" [size]=\"size\" [showDropDownButton]=\"false\" icon=\"far fa-sliders-h\" #dropdown\r\n maxHeight=\"unset\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container header>\r\n <div class=\"ax chips-container\">\r\n <div class=\"chips\" *ngFor=\"let item of _filterItems\">\r\n <span class=\"chips-text\">\r\n <b>{{item.title}} :</b> {{item.value}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\r\n <i class=\"far fa-times close\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container panel>\r\n <div class=\"panel-box\">\r\n <div *ngFor=\"let item of _items\" class=\"row\">\r\n <div *ngFor=\"let prop of item.items\" class=\"{{renderCol(prop.property.col)}}\">\r\n <!-- <ax-form-group> -->\r\n <div *ngIf=\"prop.property.visible != false\">\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [property]=\"prop\" [context]=\"_context\"\r\n (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n <!-- </ax-form-group> -->\r\n </div>\r\n </div>\r\n <div class=\"footer-button\">\r\n <ax-button (click)=\"search()\">{{'common.search' | trans}}</ax-button>\r\n <ax-button type=\"blank danger\" (click)=\"clear()\">{{'dataGrid.clearFilter' | trans}}</ax-button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button end icon=\"far fa-sliders-h icon\" type=\"light blank\" [disabled]=\"disabled\" [size]=\"size\"\r\n [tabIndex]=\"-1\" (click)=\"handleButtonClick()\">{{'common.search' | trans}}</ax-button>\r\n </ng-container>\r\n\r\n</ax-drop-down>\r\n", styles: [".ax.chips-container{height:100%}.panel-box{padding:1rem}.panel-box .footer-button{margin-top:1rem;display:flex;align-items:center;gap:.5rem}\n"] }]
113
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { dropdown: [{
114
- type: ViewChild,
115
- args: ['dropdown', { static: true }]
116
- }], _editors: [{
117
- type: ViewChildren,
118
- args: [AXPropertyEditorRendererDirective]
119
- }], size: [{
120
- type: Input
121
- }], disabled: [{
122
- type: Input
123
- }], items: [{
124
- type: Input
125
- }], rtl: [{
126
- type: Input
127
- }], onValueChange: [{
128
- type: Output
129
- }], onSearchValue: [{
130
- type: Output
131
- }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ILE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOzs7Ozs7OztBQVkxRyxNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLFlBQ1ksR0FBK0I7UUFBL0IsUUFBRyxHQUFILEdBQUcsQ0FBNEI7UUFNM0MsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFHM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQWtCMUIsUUFBRyxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFHMUMsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd0RCxrQkFBYSxHQUF5QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXpFLFdBQU0sR0FBVSxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBMkIsRUFBRSxDQUFDO1FBQzFDLHNCQUFpQixHQUEyQixFQUFFLENBQUM7UUFDL0MsYUFBUSxHQUFRLEVBQUUsQ0FBQztJQXJDZixDQUFDO0lBVUwsSUFDVyxLQUFLLENBQUMsQ0FBcUI7UUFDbEMsUUFBUSxDQUFBO1FBQ1IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ2IsSUFBSSxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7b0JBQ25CLElBQUksRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUk7b0JBQ3RCLEtBQUssRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUs7b0JBQ3hCLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSztpQkFDbEIsQ0FBQyxDQUFDO2FBQ047UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEgsQ0FBQztJQWdCTSxTQUFTLENBQUMsSUFBWTtRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsQ0FBa0M7UUFDaEQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBQ25GO2FBQU0sSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2dCQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUNyQixLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLO2dCQUN2QixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7YUFDakIsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBMEI7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDdkMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUgsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEIsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsU0FBUyxDQUFDLENBQTRCO1FBQ2xDLElBQUksU0FBUyxHQUFhLEVBQUUsQ0FBQztRQUM3QixJQUFJLE9BQU8sQ0FBQyxJQUFJLFFBQVEsRUFBRTtZQUN0QixTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM5QjthQUFNO1lBQ0gsS0FBSyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pCLFFBQVEsR0FBRyxFQUFFO29CQUNULEtBQUssSUFBSTt3QkFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDbkMsTUFBTTtvQkFDVixLQUFLLElBQUk7d0JBQ0wsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ25DLE1BQU07b0JBQ1YsS0FBSyxJQUFJO3dCQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUNuQyxNQUFNO29CQUNWLEtBQUssSUFBSTt3QkFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDbkMsTUFBTTtpQkFDYjthQUNKO1NBQ0o7UUFDRCxPQUFPLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQzs7a0hBbkhRLG9CQUFvQjtzR0FBcEIsb0JBQW9CLGdWQUtmLGlDQUFpQyxnREN0Qm5ELGtvRUEyQ0E7NEZEMUJhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxlQUFlO2lHQVFnQixRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ1UsUUFBUTtzQkFBeEQsWUFBWTt1QkFBQyxpQ0FBaUM7Z0JBRy9DLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSUssS0FBSztzQkFEZixLQUFLO2dCQWdCTixHQUFHO3NCQURGLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixNQUFNO2dCQUlQLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGQsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IEFYRWxlbWVudFNpemUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xyXG5pbXBvcnQgeyBBWERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhQcm9wZXJ0eUVkaXRvclJlbmRlcmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vcHJvcGVydHktZWRpdG9yL3Byb3BlcnR5LWVkaXRvci1yZW5kZXJlci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBBWFByb3BlcnR5Q29sRGVmLCBBWFByb3BlcnR5Q29uZmlnLCBBWFByb3BlcnlFZGl0b3JWYWx1ZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi4vcHJvcGVydHktZWRpdG9yL3Byb3BlcnR5LWVkaXRvci5jbGFzcyc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyVGV4dEl0ZW1zTW9kZWwge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHZhbHVlOiBhbnk7XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LXNlYXJjaC1iYXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFNlYXJjaEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD5cclxuICAgICkgeyB9XHJcbiAgICBAVmlld0NoaWxkKCdkcm9wZG93bicsIHsgc3RhdGljOiB0cnVlIH0pIGRyb3Bkb3duOiBBWERyb3Bkb3duQ29tcG9uZW50O1xyXG4gICAgQFZpZXdDaGlsZHJlbihBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmUpIF9lZGl0b3JzOiBRdWVyeUxpc3Q8QVhQcm9wZXJ0eUVkaXRvclJlbmRlcmVyRGlyZWN0aXZlPjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgaXRlbXModjogQVhQcm9wZXJ0eUNvbmZpZ1tdKSB7XHJcbiAgICAgICAgZGVidWdnZXJcclxuICAgICAgICB2LmZvckVhY2goKGVsKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlbC52YWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9maWx0ZXJJdGVtcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlbC5wcm9wZXJ0eS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBlbC5wcm9wZXJ0eS50aXRsZSxcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZWwudmFsdWVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5faXRlbXMgPSBfLmNoYWluKHYpLmdyb3VwQnkoeCA9PiB4LnByb3BlcnR5LnJvdykubWFwKCh2YWx1ZSwga2V5KSA9PiAoeyByb3c6IGtleSwgaXRlbXM6IHZhbHVlIH0pKS52YWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBydGw6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2xheW91dC5ydGwnKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG9uVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgb25TZWFyY2hWYWx1ZTogRXZlbnRFbWl0dGVyPEZpbHRlclRleHRJdGVtc01vZGVsW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICAgIF9pdGVtczogYW55W10gPSBbXTtcclxuICAgIF9maWx0ZXJJdGVtczogRmlsdGVyVGV4dEl0ZW1zTW9kZWxbXSA9IFtdO1xyXG4gICAgX2ZpbHRlckl0ZW1zQ2xvbmU6IEZpbHRlclRleHRJdGVtc01vZGVsW10gPSBbXTtcclxuICAgIF9jb250ZXh0OiBhbnkgPSB7fTtcclxuXHJcbiAgICBwdWJsaWMgY2xlYXJJdGVtKG5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX2VkaXRvcnMuZmluZChlID0+IGUucHJvcGVydHkucHJvcGVydHkubmFtZSA9PSBuYW1lKS5jbGVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUJ1dHRvbkNsaWNrKCkge1xyXG4gICAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlVmFsdWVDaGFuZ2UoZTogQVhQcm9wZXJ5RWRpdG9yVmFsdWVDaGFuZ2VFdmVudCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9maWx0ZXJJdGVtc0Nsb25lLmZpbmQoKGVsKSA9PiBlbC5uYW1lID09IGUucHJvcGVydHkubmFtZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5fZmlsdGVySXRlbXNDbG9uZS5maW5kKChlbCkgPT4gZWwubmFtZSA9PSBlLnByb3BlcnR5Lm5hbWUpLnZhbHVlID0gZS52YWx1ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKGUudmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9maWx0ZXJJdGVtc0Nsb25lLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogZS5wcm9wZXJ0eS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IGUucHJvcGVydHkudGl0bGUsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogZS52YWx1ZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlLmVtaXQoZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlSXRlbVJlbW92ZUNsaWNrKGl0ZW06IEZpbHRlclRleHRJdGVtc01vZGVsKSB7XHJcbiAgICAgICAgdGhpcy5fZWRpdG9ycy5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZS5wcm9wZXJ0eS5wcm9wZXJ0eS5uYW1lID09IGl0ZW0ubmFtZSkge1xyXG4gICAgICAgICAgICAgICAgZS5jbGVhcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fZmlsdGVySXRlbXMgPSB0aGlzLl9maWx0ZXJJdGVtcy5maWx0ZXIoKGVsKSA9PiBlbC5uYW1lICE9IGl0ZW0ubmFtZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VhcmNoKCkge1xyXG4gICAgICAgIHRoaXMuX2ZpbHRlckl0ZW1zID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLl9maWx0ZXJJdGVtc0Nsb25lLmZpbHRlcigoZWwpID0+IGVsLnZhbHVlICE9IG51bGwgJiYgZWwudmFsdWUgIT0gJycpKSk7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVCdXR0b25DbGljaygpO1xyXG4gICAgICAgIHRoaXMub25TZWFyY2hWYWx1ZS5lbWl0KHRoaXMuX2ZpbHRlckl0ZW1zKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgICB0aGlzLl9lZGl0b3JzLmZvckVhY2goZSA9PiB7XHJcbiAgICAgICAgICAgIGUuY2xlYXIoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IFtdO1xyXG4gICAgICAgIHRoaXMuX2ZpbHRlckl0ZW1zQ2xvbmUgPSBbXTtcclxuICAgICAgICB0aGlzLmhhbmRsZUJ1dHRvbkNsaWNrKCk7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaFZhbHVlLmVtaXQodGhpcy5fZmlsdGVySXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlckNvbChlOiBudW1iZXIgfCBBWFByb3BlcnR5Q29sRGVmKSB7XHJcbiAgICAgICAgbGV0IGNsYXNzTmFtZTogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICBpZiAodHlwZW9mIGUgPT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC0ke2V9YCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZSkge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdsZyc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZS5wdXNoKGBjb2wtbGctJHtlW2tleV19YCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ21kJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC1tZC0ke2Vba2V5XX1gKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnc20nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWUucHVzaChgY29sLXNtLSR7ZVtrZXldfWApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICd4cyc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZS5wdXNoKGBjb2wteHMtJHtlW2tleV19YCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjbGFzc05hbWUudG9TdHJpbmcoKS5yZXBsYWNlKC8sLywgJyAnKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICB9XHJcbn1cclxuIiwiPGF4LWRyb3AtZG93biBbZml0UGFyZW50XT1cInRydWVcIiBbc2l6ZV09XCJzaXplXCIgW3Nob3dEcm9wRG93bkJ1dHRvbl09XCJmYWxzZVwiIGljb249XCJmYXIgZmEtc2xpZGVycy1oXCIgI2Ryb3Bkb3duXHJcbiAgICBtYXhIZWlnaHQ9XCJ1bnNldFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBzdGFydD5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RhcnRdXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIGhlYWRlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXggY2hpcHMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwc1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9maWx0ZXJJdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwcy10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGI+e3tpdGVtLnRpdGxlfX0gOjwvYj4ge3tpdGVtLnZhbHVlfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2UtaWNvblwiIChjbGljayk9XCJoYW5kbGVJdGVtUmVtb3ZlQ2xpY2soaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhciBmYS10aW1lcyBjbG9zZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgcGFuZWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWJveFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9pdGVtc1wiIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9wIG9mIGl0ZW0uaXRlbXNcIiBjbGFzcz1cInt7cmVuZGVyQ29sKHByb3AucHJvcGVydHkuY29sKX19XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8YXgtZm9ybS1ncm91cD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wLnByb3BlcnR5LnZpc2libGUgIT0gZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57e3Byb3AucHJvcGVydHkudGl0bGV9fTwvYXgtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGF4LXByb3BlcnR5LWVkaXRvci1yZW5kZXJlciBbcHJvcGVydHldPVwicHJvcFwiIFtjb250ZXh0XT1cIl9jb250ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPC9heC1mb3JtLWdyb3VwPiAtLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgIDxheC1idXR0b24gKGNsaWNrKT1cInNlYXJjaCgpXCI+e3snY29tbW9uLnNlYXJjaCcgfCB0cmFuc319PC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIHR5cGU9XCJibGFuayBkYW5nZXJcIiAoY2xpY2spPVwiY2xlYXIoKVwiPnt7J2RhdGFHcmlkLmNsZWFyRmlsdGVyJyB8IHRyYW5zfX08L2F4LWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgZW5kPlxyXG4gICAgICAgIDxheC1idXR0b24gZW5kIGljb249XCJmYXIgZmEtc2xpZGVycy1oIGljb25cIiB0eXBlPVwibGlnaHQgYmxhbmtcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICAgICAgW3RhYkluZGV4XT1cIi0xXCIgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKClcIj57eydjb21tb24uc2VhcmNoJyB8IHRyYW5zfX08L2F4LWJ1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuPC9heC1kcm9wLWRvd24+XHJcbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { AXTranslatorModule } from '@acorex/core';
2
- import { CommonModule } from '@angular/common';
3
- import { NgModule } from '@angular/core';
4
- import { FormsModule } from '@angular/forms';
5
- import { AXButtonModule } from '../button/button.module';
6
- import { AXDropdownModule } from '../dropdown/dropdown.module';
7
- import { AXFormGroupModule } from '../form-group/form-group.module';
8
- import { AXLabelModule } from '../label/label.module';
9
- import { AXProppertyEditorModule } from '../property-editor/property-editor.module';
10
- import { AXTextBoxModule } from '../textbox/textbox.module';
11
- import { AXSearchBarComponent } from './search-bar.component';
12
- import * as i0 from "@angular/core";
13
- export class AXSearchBarModule {
14
- }
15
- AXSearchBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- AXSearchBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarModule, declarations: [AXSearchBarComponent], imports: [CommonModule, FormsModule, AXDropdownModule, AXButtonModule, AXTextBoxModule, AXProppertyEditorModule, AXFormGroupModule, AXLabelModule, AXTranslatorModule], exports: [AXSearchBarComponent] });
17
- AXSearchBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarModule, providers: [], imports: [[CommonModule, FormsModule, AXDropdownModule, AXButtonModule, AXTextBoxModule, AXProppertyEditorModule, AXFormGroupModule, AXLabelModule, AXTranslatorModule]] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarModule, decorators: [{
19
- type: NgModule,
20
- args: [{
21
- declarations: [AXSearchBarComponent],
22
- imports: [CommonModule, FormsModule, AXDropdownModule, AXButtonModule, AXTextBoxModule, AXProppertyEditorModule, AXFormGroupModule, AXLabelModule, AXTranslatorModule],
23
- exports: [AXSearchBarComponent],
24
- providers: [],
25
- }]
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFROUQsTUFBTSxPQUFPLGlCQUFpQjs7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQUxYLG9CQUFvQixhQUN6QixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixhQUMzSixvQkFBb0I7Z0hBR3JCLGlCQUFpQixhQUZmLEVBQUUsWUFGSixDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLENBQUM7NEZBSTdKLGlCQUFpQjtrQkFON0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQztvQkFDdEssT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQy9CLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVHJhbnNsYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFYRm9ybUdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1ncm91cC9mb3JtLWdyb3VwLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICcuLi9sYWJlbC9sYWJlbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBWFByb3BwZXJ0eUVkaXRvck1vZHVsZSB9IGZyb20gJy4uL3Byb3BlcnR5LWVkaXRvci9wcm9wZXJ0eS1lZGl0b3IubW9kdWxlJztcclxuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnLi4vdGV4dGJveC90ZXh0Ym94Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEFYU2VhcmNoQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtYmFyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbQVhTZWFyY2hCYXJDb21wb25lbnRdLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIEFYRHJvcGRvd25Nb2R1bGUsIEFYQnV0dG9uTW9kdWxlLCBBWFRleHRCb3hNb2R1bGUsIEFYUHJvcHBlcnR5RWRpdG9yTW9kdWxlLCBBWEZvcm1Hcm91cE1vZHVsZSwgQVhMYWJlbE1vZHVsZSwgQVhUcmFuc2xhdG9yTW9kdWxlXSxcclxuICAgIGV4cG9ydHM6IFtBWFNlYXJjaEJhckNvbXBvbmVudF0sXHJcbiAgICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhTZWFyY2hCYXJNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { ElementRef, EventEmitter, OnInit, QueryList } from '@angular/core';
2
- import { AXElementSize } from '../base/element.class';
3
- import { AXDropdownComponent } from '../dropdown/dropdown.component';
4
- import { AXPropertyEditorRendererDirective } from '../property-editor/property-editor-renderer.directive';
5
- import { AXPropertyColDef, AXPropertyConfig, AXProperyEditorValueChangeEvent } from '../property-editor/property-editor.class';
6
- import * as i0 from "@angular/core";
7
- export interface FilterTextItemsModel {
8
- name: string;
9
- title: string;
10
- value: any;
11
- }
12
- export declare class AXSearchBarComponent implements OnInit {
13
- private ref;
14
- constructor(ref: ElementRef<HTMLDivElement>);
15
- dropdown: AXDropdownComponent;
16
- _editors: QueryList<AXPropertyEditorRendererDirective>;
17
- size: AXElementSize;
18
- disabled: boolean;
19
- set items(v: AXPropertyConfig[]);
20
- rtl: boolean;
21
- onValueChange: EventEmitter<any>;
22
- onSearchValue: EventEmitter<FilterTextItemsModel[]>;
23
- _items: any[];
24
- _filterItems: FilterTextItemsModel[];
25
- _filterItemsClone: FilterTextItemsModel[];
26
- _context: any;
27
- clearItem(name: string): void;
28
- handleButtonClick(): void;
29
- handleValueChange(e: AXProperyEditorValueChangeEvent): void;
30
- handleItemRemoveClick(item: FilterTextItemsModel): void;
31
- search(): void;
32
- clear(): void;
33
- renderCol(e: number | AXPropertyColDef): string;
34
- ngOnInit(): void;
35
- static ɵfac: i0.ɵɵFactoryDeclaration<AXSearchBarComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<AXSearchBarComponent, "ax-search-bar", never, { "size": "size"; "disabled": "disabled"; "items": "items"; "rtl": "rtl"; }, { "onValueChange": "onValueChange"; "onSearchValue": "onSearchValue"; }, never, ["[start]"]>;
37
- }
@@ -1,16 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./search-bar.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/forms";
5
- import * as i4 from "../dropdown/dropdown.module";
6
- import * as i5 from "../button/button.module";
7
- import * as i6 from "../textbox/textbox.module";
8
- import * as i7 from "../property-editor/property-editor.module";
9
- import * as i8 from "../form-group/form-group.module";
10
- import * as i9 from "../label/label.module";
11
- import * as i10 from "@acorex/core";
12
- export declare class AXSearchBarModule {
13
- static ɵfac: i0.ɵɵFactoryDeclaration<AXSearchBarModule, never>;
14
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXSearchBarModule, [typeof i1.AXSearchBarComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.AXDropdownModule, typeof i5.AXButtonModule, typeof i6.AXTextBoxModule, typeof i7.AXProppertyEditorModule, typeof i8.AXFormGroupModule, typeof i9.AXLabelModule, typeof i10.AXTranslatorModule], [typeof i1.AXSearchBarComponent]>;
15
- static ɵinj: i0.ɵɵInjectorDeclaration<AXSearchBarModule>;
16
- }