@acorex/components 4.2.61 → 4.2.62

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.
@@ -19,18 +19,20 @@ export class AXPropertyEditorRendererDirective {
19
19
  this._context = v;
20
20
  }
21
21
  clear() {
22
- this.instance.value = null;
22
+ if (this.instance?.value) {
23
+ this.instance.value = null;
24
+ }
23
25
  }
24
26
  ngOnInit() {
25
27
  this.createComponent();
26
28
  }
27
29
  createComponent() {
28
- this.renderService.findLoadedComponentByRoute(this.property.property.editorClass).then(c => {
30
+ this.renderService.findLoadedComponentByRoute(this.property.property.editorClass).then((c) => {
29
31
  if (c) {
30
32
  const factory = this.componentFactoryResolver.resolveComponentFactory(c.component);
31
33
  const cmpRef = this.target.createComponent(factory);
32
34
  this.instance = cmpRef.instance;
33
- this.subscription = this.instance.valueChange.subscribe(value => {
35
+ this.subscription = this.instance.valueChange.subscribe((value) => {
34
36
  this.property.value = value;
35
37
  this.onValueChange.emit(this.property);
36
38
  if (this.property?.property?.name) {
@@ -45,7 +47,7 @@ export class AXPropertyEditorRendererDirective {
45
47
  // this.instance.onRenderCompleted.subscribe(() => {
46
48
  // });
47
49
  if (this.validationForm) {
48
- this.instance.validatableComponentRegistered.subscribe(v => {
50
+ this.instance.validatableComponentRegistered.subscribe((v) => {
49
51
  this.validationForm.addWidget(v);
50
52
  });
51
53
  }
@@ -65,13 +67,13 @@ export class AXPropertyEditorRendererDirective {
65
67
  const vars = typeof opt === 'string' ? opt?.match(varsRegx) : [];
66
68
  // bind the props
67
69
  if (vars?.length) {
68
- vars.forEach(v => {
70
+ vars.forEach((v) => {
69
71
  const path = v.match(varNameRegx)?.length ? v.match(varNameRegx)[0] : null;
70
72
  if (path) {
71
73
  this.eventService.on(`props-${this.groupId}-${path}`, (e) => {
72
74
  let execCode = opt.slice();
73
75
  const params = {};
74
- vars.forEach(vv => {
76
+ vars.forEach((vv) => {
75
77
  const p2 = vv.match(varNameRegx)?.length ? vv.match(varNameRegx)[0] : null;
76
78
  params[p2] = AXObjectUtil.deepCopy(this.context[p2]) || null;
77
79
  execCode = execCode.replace(vv, `__params__.${p2}`);
@@ -112,7 +114,7 @@ export class AXPropertyEditorRendererDirective {
112
114
  else {
113
115
  const val = typeof opt === 'function' ? opt({ data: this.context, host: this.host }, this.property) : opt;
114
116
  if (val instanceof Promise) {
115
- val.then(v => {
117
+ val.then((v) => {
116
118
  setPropByPath(this.instance, p, val);
117
119
  });
118
120
  }
@@ -134,7 +136,7 @@ AXPropertyEditorRendererDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion
134
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXPropertyEditorRendererDirective, decorators: [{
135
137
  type: Directive,
136
138
  args: [{
137
- selector: '[ax-property-editor-renderer]',
139
+ selector: '[ax-property-editor-renderer]'
138
140
  }]
139
141
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i1.AXRenderService }, { type: i1.AXEventService }]; }, propDecorators: { property: [{
140
142
  type: Input
@@ -149,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
149
151
  }], onValueChange: [{
150
152
  type: Output
151
153
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZWRpdG9yLXJlbmRlcmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcHJvcGVydHktZWRpdG9yL3Byb3BlcnR5LWVkaXRvci1yZW5kZXJlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFFcEosT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFpQixhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQUtwRixNQUFNLE9BQU8saUNBQWlDO0lBa0MxQyxZQUNZLE1BQXdCLEVBQ3hCLHdCQUFrRCxFQUNsRCxhQUE4QixFQUM5QixZQUE0QjtRQUg1QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUF6QmhDLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFpQjNCLGtCQUFhLEdBQWtELElBQUksWUFBWSxFQUFtQyxDQUFDO0lBV25ILENBQUM7SUEzQkQsSUFDVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFXLE9BQU8sQ0FBQyxDQUFNO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUF3QkQsS0FBSztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBTUQsZUFBZTtRQUNYLElBQUksQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZGLElBQUksQ0FBQyxFQUFFO2dCQUNILE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ25GLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUF5QyxDQUFDO2dCQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDNUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3ZDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO3dCQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFOzRCQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQ3ZHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDVDtnQkFDTCxDQUFDLENBQVEsQ0FBQztnQkFDVixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBRTFDLG9EQUFvRDtnQkFHcEQsTUFBTTtnQkFFTixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUN2RCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDckMsQ0FBQyxDQUFDLENBQUM7aUJBQ047YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdPLFlBQVk7UUFDaEIsTUFBTSxRQUFRLEdBQUcsNEJBQTRCLENBQUM7UUFDOUMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixPQUFPO1NBQ1Y7UUFDRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRTtZQUNyQixJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkIsTUFBTSxJQUFJLEdBQUcsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pFLGlCQUFpQjtnQkFDakIsSUFBSSxJQUFJLEVBQUUsTUFBTSxFQUFFO29CQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ2IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzt3QkFDM0UsSUFBSSxJQUFJLEVBQUU7NEJBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBbUIsRUFBRSxFQUFFO2dDQUMxRSxJQUFJLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0NBQzNCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztnQ0FDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtvQ0FDZCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29DQUMzRSxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO29DQUM3RCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dDQUN4RCxDQUFDLENBQUMsQ0FBQztnQ0FFSCxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLFFBQVEsOEJBQThCLENBQUMsQ0FBQztnQ0FDaEcsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dDQUV6QixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dDQUMxQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0NBQ3ZELElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0NBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7aUNBQ3hEO3FDQUNJO29DQUNELGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtpQ0FDdkM7NEJBQ0wsQ0FBQyxDQUFDLENBQUM7eUJBQ047b0JBQ0wsQ0FBQyxDQUFDLENBQUM7aUJBQ047Z0JBQ0QsU0FBUztnQkFDVCx5QkFBeUI7Z0JBQ3pCLElBQUk7YUFDUDtTQUNKO0lBQ0wsQ0FBQztJQUdPLFdBQVc7UUFDZixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNWLE9BQU87U0FDVjtRQUNELE1BQU0sUUFBUSxHQUFHLDRCQUE0QixDQUFDO1FBQzlDLEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxFQUFFO1lBQ3JCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDM0IsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2QixNQUFNLElBQUksR0FBRyxPQUFPLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakUsSUFBSSxJQUFJLEVBQUUsTUFBTSxFQUFFO29CQUNkLFNBQVM7aUJBQ1o7cUJBQ0k7b0JBQ0QsTUFBTSxHQUFHLEdBQUcsT0FBTyxHQUFHLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO29CQUMxRyxJQUFJLEdBQUcsWUFBWSxPQUFPLEVBQUU7d0JBQ3hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7NEJBQ1QsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3dCQUN6QyxDQUFDLENBQUMsQ0FBQztxQkFDTjt5QkFDSTt3QkFDRCxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7cUJBQ3hDO2lCQUNKO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDOzsrSEExS1EsaUNBQWlDO21IQUFqQyxpQ0FBaUM7NEZBQWpDLGlDQUFpQztrQkFIN0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsK0JBQStCO2lCQUM1Qzt5TUFNRyxRQUFRO3NCQURQLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQU9LLE9BQU87c0JBRGpCLEtBQUs7Z0JBU04sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFLTixhQUFhO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBLZXlWYWx1ZURpZmZlciwgS2V5VmFsdWVEaWZmZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudCwgQVhQcm9wZXJ5RWRpdG9yVmFsdWVDaGFuZ2VFdmVudCwgQVhQcm9wZXJ0eUNvbmZpZyB9IGZyb20gJy4vcHJvcGVydHktZWRpdG9yLmNsYXNzJztcclxuaW1wb3J0IHsgQVhFdmVudFNlcnZpY2UsIEFYT2JqZWN0VXRpbCwgQVhSZW5kZXJTZXJ2aWNlLCBnZXRQcm9wQnlQYXRoLCBzZXRQcm9wQnlQYXRoIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24tZm9ybS5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1theC1wcm9wZXJ0eS1lZGl0b3ItcmVuZGVyZXJdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYUHJvcGVydHlFZGl0b3JSZW5kZXJlckRpcmVjdGl2ZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBpbnN0YW5jZTogQVhQcm9wZXJ5RWRpdG9yQ29tcG9uZW50PGFueT47XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHByb3BlcnR5OiBBWFByb3BlcnR5Q29uZmlnO1xyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgdmFsaWRhdGlvbkZvcm06IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQ7XHJcblxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9jb250ZXh0OiBhbnkgPSB7fTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IGNvbnRleHQoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29udGV4dDtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgY29udGV4dCh2OiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9jb250ZXh0ID0gdjtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgaG9zdDogYW55O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBncm91cElkOiBhbnk7XHJcblxyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgb25WYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWFByb3BlcnlFZGl0b3JWYWx1ZUNoYW5nZUV2ZW50PigpO1xyXG5cclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICBwcml2YXRlIHJlbmRlclNlcnZpY2U6IEFYUmVuZGVyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGV2ZW50U2VydmljZTogQVhFdmVudFNlcnZpY2VcclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgY2xlYXIoKSB7XHJcbiAgICAgICAgdGhpcy5pbnN0YW5jZS52YWx1ZSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVDb21wb25lbnQoKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgY3JlYXRlQ29tcG9uZW50KCkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyU2VydmljZS5maW5kTG9hZGVkQ29tcG9uZW50QnlSb3V0ZSh0aGlzLnByb3BlcnR5LnByb3BlcnR5LmVkaXRvckNsYXNzKS50aGVuKGMgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGMuY29tcG9uZW50KTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNtcFJlZiA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UgPSBjbXBSZWYuaW5zdGFuY2UgYXMgQVhQcm9wZXJ5RWRpdG9yQ29tcG9uZW50PGFueT47XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuaW5zdGFuY2UudmFsdWVDaGFuZ2Uuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BlcnR5LnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlLmVtaXQodGhpcy5wcm9wZXJ0eSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcGVydHk/LnByb3BlcnR5Py5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ldmVudFNlcnZpY2UuYnJvYWRjYXN0KGBwcm9wcy0ke3RoaXMuZ3JvdXBJZH0tJHt0aGlzLnByb3BlcnR5LnByb3BlcnR5Lm5hbWV9YCwgdGhpcy5wcm9wZXJ0eSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDApO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pIGFzIGFueTtcclxuICAgICAgICAgICAgICAgIHRoaXMud2F0Y2hDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFzc2lnblByb3BzKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmluc3RhbmNlLnZhbHVlID0gdGhpcy5wcm9wZXJ0eS52YWx1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmluc3RhbmNlLm9uUmVuZGVyQ29tcGxldGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAvLyB9KTtcclxuICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbGlkYXRpb25Gb3JtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZS52YWxpZGF0YWJsZUNvbXBvbmVudFJlZ2lzdGVyZWQuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25Gb3JtLmFkZFdpZGdldCh2KTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIHdhdGNoQ2hhbmdlcygpIHtcclxuICAgICAgICBjb25zdCB2YXJzUmVneCA9IC8oKFxcJFxce1thLXpBLVpfMC05XStcXH0pKykvZ207XHJcbiAgICAgICAgY29uc3QgdmFyTmFtZVJlZ3ggPSAvW2EtekEtWl8wLTldKy9nbTtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5wcm9wZXJ0eS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zO1xyXG4gICAgICAgIGlmICghb3B0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvciAoY29uc3QgcCBpbiBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmhhc093blByb3BlcnR5KHApKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvcHQgPSBvcHRpb25zW3BdO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFycyA9IHR5cGVvZiBvcHQgPT09ICdzdHJpbmcnID8gb3B0Py5tYXRjaCh2YXJzUmVneCkgOiBbXTtcclxuICAgICAgICAgICAgICAgIC8vIGJpbmQgdGhlIHByb3BzXHJcbiAgICAgICAgICAgICAgICBpZiAodmFycz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFycy5mb3JFYWNoKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdi5tYXRjaCh2YXJOYW1lUmVneCk/Lmxlbmd0aCA/IHYubWF0Y2godmFyTmFtZVJlZ3gpWzBdIDogbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXZlbnRTZXJ2aWNlLm9uKGBwcm9wcy0ke3RoaXMuZ3JvdXBJZH0tJHtwYXRofWAsIChlOiBBWFByb3BlcnR5Q29uZmlnKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGV4ZWNDb2RlID0gb3B0LnNsaWNlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge307XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFycy5mb3JFYWNoKHZ2ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcDIgPSB2di5tYXRjaCh2YXJOYW1lUmVneCk/Lmxlbmd0aCA/IHZ2Lm1hdGNoKHZhck5hbWVSZWd4KVswXSA6IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1twMl0gPSBBWE9iamVjdFV0aWwuZGVlcENvcHkodGhpcy5jb250ZXh0W3AyXSkgfHwgbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY0NvZGUgPSBleGVjQ29kZS5yZXBsYWNlKHZ2LCBgX19wYXJhbXNfXy4ke3AyfWApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmdW5jID0gbmV3IEZ1bmN0aW9uKCdfX3BhcmFtc19fJywgYHRyeSB7IHJldHVybiAke2V4ZWNDb2RlfX0gY2F0Y2goZSl7ICByZXR1cm4gbnVsbDsgIH1gKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBmdW5jKHBhcmFtcyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGtleXMgPSBwLnNwbGl0KCcuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvcCA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuaW5zdGFuY2Vba2V5c1swXV0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZVtrZXlzWzBdXSA9IHNldFByb3BCeVBhdGgocHJvcCwgcCwgdmFsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFByb3BCeVBhdGgodGhpcy5pbnN0YW5jZSwgcCwgdmFsKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vICAgIHRoaXMuYXNzaWduUHJvcHMoKTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBhc3NpZ25Qcm9wcygpIHtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5wcm9wZXJ0eS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zO1xyXG4gICAgICAgIGlmICghb3B0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHZhcnNSZWd4ID0gLygoXFwkXFx7W2EtekEtWl8wLTldK1xcfSkrKS9nbTtcclxuICAgICAgICBmb3IgKGNvbnN0IHAgaW4gb3B0aW9ucykge1xyXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShwKSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0gb3B0aW9uc1twXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhcnMgPSB0eXBlb2Ygb3B0ID09PSAnc3RyaW5nJyA/IG9wdD8ubWF0Y2godmFyc1JlZ3gpIDogW107XHJcbiAgICAgICAgICAgICAgICBpZiAodmFycz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSB0eXBlb2Ygb3B0ID09PSAnZnVuY3Rpb24nID8gb3B0KHsgZGF0YTogdGhpcy5jb250ZXh0LCBob3N0OiB0aGlzLmhvc3QgfSwgdGhpcy5wcm9wZXJ0eSkgOiBvcHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsLnRoZW4odiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQcm9wQnlQYXRoKHRoaXMuaW5zdGFuY2UsIHAsIHZhbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0UHJvcEJ5UGF0aCh0aGlzLmluc3RhbmNlLCBwLCB2YWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktZWRpdG9yLXJlbmRlcmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvcHJvcGVydHktZWRpdG9yL3Byb3BlcnR5LWVkaXRvci1yZW5kZXJlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBbUMsTUFBTSxlQUFlLENBQUM7QUFFcEosT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFpQixhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQUtwRixNQUFNLE9BQU8saUNBQWlDO0lBNkI1QyxZQUNVLE1BQXdCLEVBQ3hCLHdCQUFrRCxFQUNsRCxhQUE4QixFQUM5QixZQUE0QjtRQUg1QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUF4QjlCLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFnQjNCLGtCQUFhLEdBQWtELElBQUksWUFBWSxFQUFtQyxDQUFDO0lBU2hILENBQUM7SUF4QkosSUFDVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBVyxPQUFPLENBQUMsQ0FBTTtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBb0JELEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FB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RyxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7b0JBQzFHLElBQUksR0FBRyxZQUFZLE9BQU8sRUFBRTt3QkFDMUIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFOzRCQUNiLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQzt3QkFDdkMsQ0FBQyxDQUFDLENBQUM7cUJBQ0o7eUJBQU07d0JBQ0wsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUN0QztpQkFDRjthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzs7K0hBMUpVLGlDQUFpQzttSEFBakMsaUNBQWlDOzRGQUFqQyxpQ0FBaUM7a0JBSDdDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtpQkFDMUM7eU1BS0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFLSyxPQUFPO3NCQURqQixLQUFLO2dCQVNOLElBQUk7c0JBREgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgS2V5VmFsdWVEaWZmZXIsIEtleVZhbHVlRGlmZmVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFByb3BlcnlFZGl0b3JDb21wb25lbnQsIEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQsIEFYUHJvcGVydHlDb25maWcgfSBmcm9tICcuL3Byb3BlcnR5LWVkaXRvci5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRXZlbnRTZXJ2aWNlLCBBWE9iamVjdFV0aWwsIEFYUmVuZGVyU2VydmljZSwgZ2V0UHJvcEJ5UGF0aCwgc2V0UHJvcEJ5UGF0aCB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWZvcm0uY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2F4LXByb3BlcnR5LWVkaXRvci1yZW5kZXJlcl0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmUge1xyXG4gIHByaXZhdGUgaW5zdGFuY2U6IEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudDxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHByb3BlcnR5OiBBWFByb3BlcnR5Q29uZmlnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHZhbGlkYXRpb25Gb3JtOiBBWFZhbGlkYXRpb25Gb3JtQ29tcG9uZW50O1xyXG5cclxuICBwcml2YXRlIF9jb250ZXh0OiBhbnkgPSB7fTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRleHQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgY29udGV4dCh2OiBhbnkpIHtcclxuICAgIHRoaXMuX2NvbnRleHQgPSB2O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBob3N0OiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ3JvdXBJZDogYW55O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhQcm9wZXJ5RWRpdG9yVmFsdWVDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQ+KCk7XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0YXJnZXQ6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJTZXJ2aWNlOiBBWFJlbmRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGV2ZW50U2VydmljZTogQVhFdmVudFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgaWYgKHRoaXMuaW5zdGFuY2U/LnZhbHVlKSB7XHJcbiAgICAgIHRoaXMuaW5zdGFuY2UudmFsdWUgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZUNvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ29tcG9uZW50KCkge1xyXG4gICAgdGhpcy5yZW5kZXJTZXJ2aWNlLmZpbmRMb2FkZWRDb21wb25lbnRCeVJvdXRlKHRoaXMucHJvcGVydHkucHJvcGVydHkuZWRpdG9yQ2xhc3MpLnRoZW4oKGMpID0+IHtcclxuICAgICAgaWYgKGMpIHtcclxuICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoYy5jb21wb25lbnQpO1xyXG4gICAgICAgIGNvbnN0IGNtcFJlZiA9IHRoaXMudGFyZ2V0LmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuICAgICAgICB0aGlzLmluc3RhbmNlID0gY21wUmVmLmluc3RhbmNlIGFzIEFYUHJvcGVyeUVkaXRvckNvbXBvbmVudDxhbnk+O1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5pbnN0YW5jZS52YWx1ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnByb3BlcnR5LnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgICB0aGlzLm9uVmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnByb3BlcnR5KTtcclxuICAgICAgICAgIGlmICh0aGlzLnByb3BlcnR5Py5wcm9wZXJ0eT8ubmFtZSkge1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmV2ZW50U2VydmljZS5icm9hZGNhc3QoYHByb3BzLSR7dGhpcy5ncm91cElkfS0ke3RoaXMucHJvcGVydHkucHJvcGVydHkubmFtZX1gLCB0aGlzLnByb3BlcnR5KTtcclxuICAgICAgICAgICAgfSwgMCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkgYXMgYW55O1xyXG4gICAgICAgIHRoaXMud2F0Y2hDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5hc3NpZ25Qcm9wcygpO1xyXG4gICAgICAgIHRoaXMuaW5zdGFuY2UudmFsdWUgPSB0aGlzLnByb3BlcnR5LnZhbHVlO1xyXG5cclxuICAgICAgICAvLyB0aGlzLmluc3RhbmNlLm9uUmVuZGVyQ29tcGxldGVkLnN1YnNjcmliZSgoKSA9PiB7XHJcblxyXG4gICAgICAgIC8vIH0pO1xyXG5cclxuICAgICAgICBpZiAodGhpcy52YWxpZGF0aW9uRm9ybSkge1xyXG4gICAgICAgICAgdGhpcy5pbnN0YW5jZS52YWxpZGF0YWJsZUNvbXBvbmVudFJlZ2lzdGVyZWQuc3Vic2NyaWJlKCh2KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbkZvcm0uYWRkV2lkZ2V0KHYpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgd2F0Y2hDaGFuZ2VzKCkge1xyXG4gICAgY29uc3QgdmFyc1JlZ3ggPSAvKChcXCRcXHtbYS16QS1aXzAtOV0rXFx9KSspL2dtO1xyXG4gICAgY29uc3QgdmFyTmFtZVJlZ3ggPSAvW2EtekEtWl8wLTldKy9nbTtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnByb3BlcnR5LnByb3BlcnR5LmVkaXRvck9wdGlvbnM7XHJcbiAgICBpZiAoIW9wdGlvbnMpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBwIGluIG9wdGlvbnMpIHtcclxuICAgICAgaWYgKG9wdGlvbnMuaGFzT3duUHJvcGVydHkocCkpIHtcclxuICAgICAgICBjb25zdCBvcHQgPSBvcHRpb25zW3BdO1xyXG4gICAgICAgIGNvbnN0IHZhcnMgPSB0eXBlb2Ygb3B0ID09PSAnc3RyaW5nJyA/IG9wdD8ubWF0Y2godmFyc1JlZ3gpIDogW107XHJcbiAgICAgICAgLy8gYmluZCB0aGUgcHJvcHNcclxuICAgICAgICBpZiAodmFycz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICB2YXJzLmZvckVhY2goKHYpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcGF0aCA9IHYubWF0Y2godmFyTmFtZVJlZ3gpPy5sZW5ndGggPyB2Lm1hdGNoKHZhck5hbWVSZWd4KVswXSA6IG51bGw7XHJcbiAgICAgICAgICAgIGlmIChwYXRoKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5ldmVudFNlcnZpY2Uub24oYHByb3BzLSR7dGhpcy5ncm91cElkfS0ke3BhdGh9YCwgKGU6IEFYUHJvcGVydHlDb25maWcpID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBleGVjQ29kZSA9IG9wdC5zbGljZSgpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge307XHJcbiAgICAgICAgICAgICAgICB2YXJzLmZvckVhY2goKHZ2KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHAyID0gdnYubWF0Y2godmFyTmFtZVJlZ3gpPy5sZW5ndGggPyB2di5tYXRjaCh2YXJOYW1lUmVneClbMF0gOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgICBwYXJhbXNbcDJdID0gQVhPYmplY3RVdGlsLmRlZXBDb3B5KHRoaXMuY29udGV4dFtwMl0pIHx8IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgIGV4ZWNDb2RlID0gZXhlY0NvZGUucmVwbGFjZSh2diwgYF9fcGFyYW1zX18uJHtwMn1gKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGZ1bmMgPSBuZXcgRnVuY3Rpb24oJ19fcGFyYW1zX18nLCBgdHJ5IHsgcmV0dXJuICR7ZXhlY0NvZGV9fSBjYXRjaChlKXsgIHJldHVybiBudWxsOyAgfWApO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gZnVuYyhwYXJhbXMpO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGtleXMgPSBwLnNwbGl0KCcuJyk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9wID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5pbnN0YW5jZVtrZXlzWzBdXSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoa2V5cy5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2Vba2V5c1swXV0gPSBzZXRQcm9wQnlQYXRoKHByb3AsIHAsIHZhbCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBzZXRQcm9wQnlQYXRoKHRoaXMuaW5zdGFuY2UsIHAsIHZhbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBlbHNlIHtcclxuICAgICAgICAvLyAgICB0aGlzLmFzc2lnblByb3BzKCk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzc2lnblByb3BzKCkge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucHJvcGVydHkucHJvcGVydHkuZWRpdG9yT3B0aW9ucztcclxuICAgIGlmICghb3B0aW9ucykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB2YXJzUmVneCA9IC8oKFxcJFxce1thLXpBLVpfMC05XStcXH0pKykvZ207XHJcbiAgICBmb3IgKGNvbnN0IHAgaW4gb3B0aW9ucykge1xyXG4gICAgICBpZiAob3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShwKSkge1xyXG4gICAgICAgIGNvbnN0IG9wdCA9IG9wdGlvbnNbcF07XHJcbiAgICAgICAgY29uc3QgdmFycyA9IHR5cGVvZiBvcHQgPT09ICdzdHJpbmcnID8gb3B0Py5tYXRjaCh2YXJzUmVneCkgOiBbXTtcclxuICAgICAgICBpZiAodmFycz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgdmFsID0gdHlwZW9mIG9wdCA9PT0gJ2Z1bmN0aW9uJyA/IG9wdCh7IGRhdGE6IHRoaXMuY29udGV4dCwgaG9zdDogdGhpcy5ob3N0IH0sIHRoaXMucHJvcGVydHkpIDogb3B0O1xyXG4gICAgICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgdmFsLnRoZW4oKHYpID0+IHtcclxuICAgICAgICAgICAgICBzZXRQcm9wQnlQYXRoKHRoaXMuaW5zdGFuY2UsIHAsIHZhbCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc2V0UHJvcEJ5UGF0aCh0aGlzLmluc3RhbmNlLCBwLCB2YWwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -51,9 +51,10 @@ export class AXSearchBarComponent {
51
51
  this._editors.find((x) => x.property.property.name === name).clear();
52
52
  }
53
53
  refresh() {
54
+ this._defultValueCount = [];
54
55
  this._filterItems = [];
55
56
  this._filterItemsClone = [];
56
- this.items = this._items[0].items;
57
+ this.items = JSON.parse(JSON.stringify(this._items[0].items));
57
58
  }
58
59
  handleButtonClick() {
59
60
  this.dropdown.toggle();
@@ -160,7 +161,7 @@ export class AXSearchBarComponent {
160
161
  }
161
162
  }
162
163
  async _handleDefultVlaue(dataItem) {
163
- this._handleInitVlaue(dataItem);
164
+ await this._handleInitVlaue(dataItem);
164
165
  this._filterItems = JSON.parse(JSON.stringify(this._filterItemsClone.filter((el) => el.value != null && el.value != '')));
165
166
  if (this._filterItems.length === this._defultValueCount.length) {
166
167
  this.onSearchValue.emit(this._filterItems);
@@ -217,10 +218,10 @@ export class AXSearchBarComponent {
217
218
  }
218
219
  }
219
220
  AXSearchBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
220
- AXSearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSearchBarComponent, selector: "ax-search-bar", inputs: { size: "size", disabled: "disabled", fitParent: "fitParent", dropdownWidth: "dropdownWidth", items: "items", rtl: "rtl" }, outputs: { onValueChange: "onValueChange", onSearchValue: "onSearchValue" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }, { propertyName: "_editors", predicate: AXPropertyEditorRendererDirective, descendants: true }], ngImport: i0, template: "<div>\r\n <ax-drop-down [fitParent]=\"fitParent\" [dropdownWidth]=\"dropdownWidth\" [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\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\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 <ax-validation-form #form>\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 [validationForm]=\"form\" [property]=\"prop\"\r\n [context]=\"_context\" (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 </ax-validation-form>\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</div>", 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", "dropdownWidth"], outputs: ["dropdownToggle", "onButtonClick"] }, { type: i2.AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { type: i3.AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: i4.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: ["property", "validationForm", "context", "host", "groupId"], outputs: ["onValueChange"] }], pipes: { "trans": i7.AXTranslatorPipe } });
221
+ AXSearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSearchBarComponent, selector: "ax-search-bar", inputs: { size: "size", disabled: "disabled", fitParent: "fitParent", dropdownWidth: "dropdownWidth", rtl: "rtl", items: "items" }, outputs: { onValueChange: "onValueChange", onSearchValue: "onSearchValue" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }, { propertyName: "_editors", predicate: AXPropertyEditorRendererDirective, descendants: true }], ngImport: i0, template: "<div>\r\n <ax-drop-down [fitParent]=\"fitParent\" [dropdownWidth]=\"dropdownWidth\" [size]=\"size\" [showDropDownButton]=\"false\"\r\n icon=\"far fa-sliders-h\" #dropdown 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\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\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 <ax-validation-form #form>\r\n <ng-container *ngFor=\"let item of _items\">\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let prop of item.items\">\r\n <div *ngIf=\"prop.property.visible != false\" class=\"{{renderCol(prop.property.col)}}\">\r\n <div>\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [validationForm]=\"form\"\r\n [property]=\"prop\" [context]=\"_context\"\r\n (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\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 </ax-validation-form>\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</div>", 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", "dropdownWidth"], outputs: ["dropdownToggle", "onButtonClick"] }, { type: i2.AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { type: i3.AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: i4.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: ["property", "validationForm", "context", "host", "groupId"], outputs: ["onValueChange"] }], pipes: { "trans": i7.AXTranslatorPipe } });
221
222
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarComponent, decorators: [{
222
223
  type: Component,
223
- args: [{ selector: 'ax-search-bar', template: "<div>\r\n <ax-drop-down [fitParent]=\"fitParent\" [dropdownWidth]=\"dropdownWidth\" [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\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\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 <ax-validation-form #form>\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 [validationForm]=\"form\" [property]=\"prop\"\r\n [context]=\"_context\" (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 </ax-validation-form>\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</div>", 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"] }]
224
+ args: [{ selector: 'ax-search-bar', template: "<div>\r\n <ax-drop-down [fitParent]=\"fitParent\" [dropdownWidth]=\"dropdownWidth\" [size]=\"size\" [showDropDownButton]=\"false\"\r\n icon=\"far fa-sliders-h\" #dropdown 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\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\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 <ax-validation-form #form>\r\n <ng-container *ngFor=\"let item of _items\">\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let prop of item.items\">\r\n <div *ngIf=\"prop.property.visible != false\" class=\"{{renderCol(prop.property.col)}}\">\r\n <div>\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [validationForm]=\"form\"\r\n [property]=\"prop\" [context]=\"_context\"\r\n (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\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 </ax-validation-form>\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</div>", 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"] }]
224
225
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { dropdown: [{
225
226
  type: ViewChild,
226
227
  args: ['dropdown', { static: true }]
@@ -238,13 +239,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
238
239
  type: Input
239
240
  }], dropdownWidth: [{
240
241
  type: Input
241
- }], items: [{
242
- type: Input
243
242
  }], rtl: [{
244
243
  type: Input
244
+ }], items: [{
245
+ type: Input
245
246
  }], onValueChange: [{
246
247
  type: Output
247
248
  }], onSearchValue: [{
248
249
  type: Output
249
250
  }] } });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUUxRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7O0FBaUJwRixNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLEdBQStCO1FBQS9CLFFBQUcsR0FBSCxHQUFHLENBQTRCO1FBTW5ELFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBRzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUczQixrQkFBYSxHQUFXLE9BQU8sQ0FBQztRQXdCaEMsUUFBRyxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFHMUMsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd0RCxrQkFBYSxHQUF5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b0JBQzNGLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSTtvQkFDeEYsWUFBWSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJO2lCQUNyRzthQUNGLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7a0hBak9VLG9CQUFvQjtzR0FBcEIsb0JBQW9CLGlaQUlwQix5QkFBeUIsOERBRHRCLGlDQUFpQyxnREMzQmpELGcxRUE2Q007NEZEckJPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlO2lHQU1nQixRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ1UsUUFBUTtzQkFBeEQsWUFBWTt1QkFBQyxpQ0FBaUM7Z0JBQ1QsSUFBSTtzQkFBekMsU0FBUzt1QkFBQyx5QkFBeUI7Z0JBR3BDLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJSyxLQUFLO3NCQURmLEtBQUs7Z0JBc0JOLEdBQUc7c0JBREYsS0FBSztnQkFJTixhQUFhO3NCQURaLE1BQU07Z0JBSVAsYUFBYTtzQkFEWixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcsIEFYRGF0ZVRpbWUgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQVhFbGVtZW50U2l6ZSB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC5jbGFzcyc7XHJcbmltcG9ydCB7IEFYRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9wcm9wZXJ0eS1lZGl0b3IvcHJvcGVydHktZWRpdG9yLXJlbmRlcmVyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFYUHJvcGVydHlDb2xEZWYsIEFYUHJvcGVydHlDb25maWcsIEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQsIEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vcHJvcGVydHktZWRpdG9yL3Byb3BlcnR5LWVkaXRvci5jbGFzcyc7XHJcbmltcG9ydCB7IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24tZm9ybS5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJUZXh0SXRlbXNNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdmFsdWU6IGFueTtcclxuICB0ZXh0VmFsdWU6IHN0cmluZztcclxuICBmaWx0ZXJPcHRpb25zPzogRmlsdGVyTW9kZWw7XHJcbiAgY29tcG9uZW50OiBBWFByb3BlcnR5Q29uZmlnO1xyXG4gIHVuaXF1ZU51bWJlcj86IG51bWJlcjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1zZWFyY2gtYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWFNlYXJjaEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+KSB7fVxyXG4gIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duJywgeyBzdGF0aWM6IHRydWUgfSkgZHJvcGRvd246IEFYRHJvcGRvd25Db21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZHJlbihBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmUpIF9lZGl0b3JzOiBRdWVyeUxpc3Q8QVhQcm9wZXJ0eUVkaXRvclJlbmRlcmVyRGlyZWN0aXZlPjtcclxuICBAVmlld0NoaWxkKEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQpIGZvcm06IEFYVmFsaWRhdGlvbkZvcm1Db21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBmaXRQYXJlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkcm9wZG93bldpZHRoOiBzdHJpbmcgPSBcIjYwMHB4XCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBpdGVtcyh2OiBBWFByb3BlcnR5Q29uZmlnW10pIHtcclxuICAgIHRoaXMuX2RlZnVsdFZhbHVlQ291bnQgPSB2LmZpbHRlcigoeCkgPT4geC52YWx1ZSk7XHJcbiAgICB2LmZvckVhY2goKGVsKSA9PiB7XHJcbiAgICAgIGVsLnByb3BlcnR5LnVuaXF1ZU51bWJlciA9IE1hdGgucmFuZG9tKCk7XHJcbiAgICAgIGlmIChlbC52YWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5fZmlsdGVySXRlbXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiBlbC5wcm9wZXJ0eS5uYW1lLFxyXG4gICAgICAgICAgdGl0bGU6IGVsLnByb3BlcnR5LnRpdGxlLFxyXG4gICAgICAgICAgdGV4dFZhbHVlOiB0aGlzLl9oYW5kbGVUZXh0VmFsdWUoZWwpLFxyXG4gICAgICAgICAgdmFsdWU6IGVsLnZhbHVlID8gdGhpcy5faGFuZGxlRGVmdWx0VmxhdWUoZWwpIDogbnVsbCxcclxuICAgICAgICAgIGNvbXBvbmVudDogZWxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9pdGVtcyA9IF8uY2hhaW4odilcclxuICAgICAgLmdyb3VwQnkoKHgpID0+IHgucHJvcGVydHkucm93KVxyXG4gICAgICAubWFwKCh2YWx1ZSwga2V5KSA9PiAoeyByb3c6IGtleSwgaXRlbXM6IHZhbHVlIH0pKVxyXG4gICAgICAudmFsdWUoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcnRsOiBib29sZWFuID0gQVhDb25maWcuZ2V0KCdsYXlvdXQucnRsJyk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblNlYXJjaFZhbHVlOiBFdmVudEVtaXR0ZXI8RmlsdGVyVGV4dEl0ZW1zTW9kZWxbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIF9pdGVtczogYW55W10gPSBbXTtcclxuICBfZmlsdGVySXRlbXM6IEZpbHRlclRleHRJdGVtc01vZGVsW10gPSBbXTtcclxuICBfZmlsdGVySXRlbXNDbG9uZTogRmlsdGVyVGV4dEl0ZW1zTW9kZWxbXSA9IFtdO1xyXG4gIF9kZWZ1bHRWYWx1ZUNvdW50OiBhbnkgPSBbXTtcclxuICBfY29udGV4dDogYW55ID0ge307XHJcblxyXG4gIHB1YmxpYyBjbGVhckl0ZW0obmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9lZGl0b3JzLmZpbmQoKHgpID0+IHgucHJvcGVydHkucHJvcGVydHkubmFtZSA9PT0gbmFtZSkuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXMgPSBbXTtcclxuICAgIHRoaXMuX2ZpbHRlckl0ZW1zQ2xvbmUgPSBbXTtcclxuICAgIHRoaXMuaXRlbXMgPSB0aGlzLl9pdGVtc1swXS5pdGVtcztcclxuICB9XHJcblxyXG4gIGhhbmRsZUJ1dHRvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5kcm9wZG93bi50b2dnbGUoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZVZhbHVlQ2hhbmdlKGU6IEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQpIHtcclxuICAgIGF3YWl0IHRoaXMuX2hhbmRsZUluaXRWbGF1ZShlKTtcclxuICAgIHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlSXRlbVJlbW92ZUNsaWNrKGl0ZW06IEZpbHRlclRleHRJdGVtc01vZGVsKSB7XHJcbiAgICB0aGlzLl9lZGl0b3JzLmZvckVhY2goKGUpID0+IHtcclxuICAgICAgaWYgKGUucHJvcGVydHkucHJvcGVydHkubmFtZSA9PSBpdGVtLm5hbWUpIHtcclxuICAgICAgICBlLmNsZWFyKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXMgPSB0aGlzLl9maWx0ZXJJdGVtcy5maWx0ZXIoKGVsKSA9PiBlbC5uYW1lICE9IGl0ZW0ubmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoKCkge1xyXG4gICAgdGhpcy5mb3JtLnZhbGlkYXRlKCkudGhlbigoYykgPT4ge1xyXG4gICAgICBpZiAoYy5yZXN1bHQpIHtcclxuICAgICAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVySXRlbXNDbG9uZS5maWx0ZXIoKGVsKSA9PiBlbC52YWx1ZSAhPSBudWxsICYmIGVsLnZhbHVlICE9ICcnKSkpO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlQnV0dG9uQ2xpY2soKTtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoVmFsdWUuZW1pdCh0aGlzLl9maWx0ZXJJdGVtcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLl9lZGl0b3JzLmZvckVhY2goKGUpID0+IHtcclxuICAgICAgZS5jbGVhcigpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IFtdO1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXNDbG9uZSA9IFtdO1xyXG4gICAgdGhpcy5oYW5kbGVCdXR0b25DbGljaygpO1xyXG4gICAgdGhpcy5vblNlYXJjaFZhbHVlLmVtaXQodGhpcy5fZmlsdGVySXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyQ29sKGU6IG51bWJlciB8IEFYUHJvcGVydHlDb2xEZWYpIHtcclxuICAgIGxldCBjbGFzc05hbWU6IHN0cmluZ1tdID0gW107XHJcbiAgICBpZiAodHlwZW9mIGUgPT0gJ251bWJlcicpIHtcclxuICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC0ke2V9YCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBlKSB7XHJcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICAgIGNhc2UgJ2xnJzpcclxuICAgICAgICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC1sZy0ke2Vba2V5XX1gKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdtZCc6XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZS5wdXNoKGBjb2wtbWQtJHtlW2tleV19YCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnc20nOlxyXG4gICAgICAgICAgICBjbGFzc05hbWUucHVzaChgY29sLXNtLSR7ZVtrZXldfWApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3hzJzpcclxuICAgICAgICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC14cy0ke2Vba2V5XX1gKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xhc3NOYW1lLnRvU3RyaW5nKCkucmVwbGFjZSgvLC9nLCAnICcpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVNob3dUaXRsZVNlbGVjdGVkKGl0ZW0pIHtcclxuICAgIGlmIChpdGVtLnRpdGxlKSB7XHJcbiAgICAgIHJldHVybiBpdGVtLnRpdGxlICsgJzonO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVNob3dWYWx1ZVNlbGVjdGVkKGl0ZW0pIHtcclxuICAgIGlmIChpdGVtLmNvbXBvbmVudC5wcm9wZXJ0eS5lZGl0b3JDbGFzcyA9PT0gJ2F4L2VkaXRvcnMvY2hlY2snKSB7XHJcbiAgICAgIHJldHVybiBpdGVtLmNvbXBvbmVudC5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLmxhYmVsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGl0ZW0udGV4dFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRyb3Bkb3duLmRyb3Bkb3duV2lkdGgpIHtcclxuICAgICAgICB0aGlzLmRyb3Bkb3duLmRyb3Bkb3duV2lkdGggPSAnNjAwcHgnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaGFuZGxlVGV4dFZhbHVlKGRhdGFJdGVtOiBhbnkpIHtcclxuICAgIGxldCB0ZXh0ID0gJyc7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhSXRlbS52YWx1ZSkpIHtcclxuICAgICAgaWYgKGRhdGFJdGVtLnZhbHVlLmxlbmd0aCkge1xyXG4gICAgICAgIGRhdGFJdGVtLnZhbHVlLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB0ZXh0ICs9XHJcbiAgICAgICAgICAgIGluZGV4ID09PSBkYXRhSXRlbS52YWx1ZS5sZW5ndGggLSAxXHJcbiAgICAgICAgICAgICAgPyBlbGVtZW50W2RhdGFJdGVtLnByb3BlcnR5LmVkaXRvck9wdGlvbnMudGV4dEZpZWxkXVxyXG4gICAgICAgICAgICAgIDogZWxlbWVudFtkYXRhSXRlbS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLnRleHRGaWVsZF0gKyAnLCc7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRleHQ7XHJcbiAgICB9IGVsc2UgaWYgKGRhdGFJdGVtLnByb3BlcnR5LmVkaXRvckNsYXNzID09PSAnYXgvZWRpdG9ycy9kYXRlJykge1xyXG4gICAgICBpZiAoZGF0YUl0ZW0udmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUoZGF0YUl0ZW0udmFsdWUsICdqYWxhbGknKS5mb3JtYXQoJ3l5eXkvTU0vREQnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZURlZnVsdFZsYXVlKGRhdGFJdGVtOiBhbnkpIHtcclxuICAgIHRoaXMuX2hhbmRsZUluaXRWbGF1ZShkYXRhSXRlbSk7XHJcbiAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVySXRlbXNDbG9uZS5maWx0ZXIoKGVsKSA9PiBlbC52YWx1ZSAhPSBudWxsICYmIGVsLnZhbHVlICE9ICcnKSkpO1xyXG4gICAgaWYgKHRoaXMuX2ZpbHRlckl0ZW1zLmxlbmd0aCA9PT0gdGhpcy5fZGVmdWx0VmFsdWVDb3VudC5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5vblNlYXJjaFZhbHVlLmVtaXQodGhpcy5fZmlsdGVySXRlbXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlSW5pdFZsYXVlKGUpIHtcclxuICAgIGxldCB2YWx1ZSA9IFtdO1xyXG4gICAgbGV0IHRleHQ6IGFueSA9IFtdO1xyXG4gICAgaWYgKGUucHJvcGVydHkuZWRpdG9yT3B0aW9ucz8udmFsdWVGaWVsZCAmJiBlLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgaWYgKGUucHJvcGVydHkuZWRpdG9yT3B0aW9ucy5yZXR1cm5BbGxEYXRhKSB7XHJcbiAgICAgICAgdmFsdWUgPSBlLnZhbHVlO1xyXG4gICAgICAgIHRleHQgPSBhd2FpdCB0aGlzLl9oYW5kbGVUZXh0VmFsdWUoZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zPy5tb2RlID09ICdtdWx0aXBsZScpIHtcclxuICAgICAgICBlLnZhbHVlLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgIHZhbHVlLnB1c2goZWxlbWVudFtlLnByb3BlcnR5LmVkaXRvck9wdGlvbnMudmFsdWVGaWVsZF0pO1xyXG4gICAgICAgICAgdGV4dC5wdXNoKGVsZW1lbnRbZS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLnRleHRGaWVsZF0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChlLnZhbHVlLmxlbmd0aCkge1xyXG4gICAgICAgICAgdmFsdWUgPSBlLnZhbHVlWzBdW2UucHJvcGVydHkuZWRpdG9yT3B0aW9ucy52YWx1ZUZpZWxkXTtcclxuICAgICAgICAgIHRleHQgPSBlLnZhbHVlWzBdW2UucHJvcGVydHkuZWRpdG9yT3B0aW9ucy50ZXh0RmllbGRdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFsdWUgPSBlLnZhbHVlO1xyXG4gICAgICB0ZXh0ID0gZS52YWx1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGZpbmRFbCA9IHRoaXMuX2ZpbHRlckl0ZW1zQ2xvbmUuZmluZCgoZWwpID0+IGVsLnVuaXF1ZU51bWJlciA9PSBlLnByb3BlcnR5LnVuaXF1ZU51bWJlcik7XHJcbiAgICBpZiAoZmluZEVsKSB7XHJcbiAgICAgIGZpbmRFbC52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICBmaW5kRWwudGV4dFZhbHVlID0gZS5wcm9wZXJ0eS5lZGl0b3JDbGFzcyA9PT0gJ2F4L2VkaXRvcnMvZGF0ZScgPyBuZXcgQVhEYXRlVGltZSh0ZXh0LCAnamFsYWxpJykuZm9ybWF0KCd5eXl5L01NL0REJykgOiB0ZXh0O1xyXG4gICAgfSBlbHNlIGlmIChlLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5fZmlsdGVySXRlbXNDbG9uZS5wdXNoKHtcclxuICAgICAgICBuYW1lOiBlLnByb3BlcnR5Lm5hbWUsXHJcbiAgICAgICAgdGl0bGU6IGUucHJvcGVydHkudGl0bGUsXHJcbiAgICAgICAgdW5pcXVlTnVtYmVyOiBlLnByb3BlcnR5LnVuaXF1ZU51bWJlcixcclxuICAgICAgICB2YWx1ZSxcclxuICAgICAgICB0ZXh0VmFsdWU6IGUucHJvcGVydHkuZWRpdG9yQ2xhc3MgPT09ICdheC9lZGl0b3JzL2RhdGUnID8gbmV3IEFYRGF0ZVRpbWUodGV4dCwgJ2phbGFsaScpLmZvcm1hdCgneXl5eS9NTS9ERCcpIDogdGV4dCxcclxuICAgICAgICBjb21wb25lbnQ6IGUsXHJcbiAgICAgICAgZmlsdGVyT3B0aW9uczoge1xyXG4gICAgICAgICAgZmlsdGVyczogZS5wcm9wZXJ0eT8uZmlsdGVyT3B0aW9ucz8uZmlsdGVycyA/IGUucHJvcGVydHkuZmlsdGVyT3B0aW9ucy5maWx0ZXJzIDogW10sXHJcbiAgICAgICAgICBsb2dpYzogZS5wcm9wZXJ0eT8uZmlsdGVyT3B0aW9ucz8ubG9naWMgPyBlLnByb3BlcnR5LmZpbHRlck9wdGlvbnMubG9naWMgOiAnYW5kJyxcclxuICAgICAgICAgIGlnbm9yZUNhc2U6IGUucHJvcGVydHk/LmZpbHRlck9wdGlvbnM/Lmlnbm9yZUNhc2UgPyBlLnByb3BlcnR5LmZpbHRlck9wdGlvbnMuaWdub3JlQ2FzZSA6IHRydWUsXHJcbiAgICAgICAgICBqb2luVHlwZTogZS5wcm9wZXJ0eT8uZmlsdGVyT3B0aW9ucz8uam9pblR5cGUgPyBlLnByb3BlcnR5LmZpbHRlck9wdGlvbnMuam9pblR5cGUgOiAnSU5ORVInLFxyXG4gICAgICAgICAgb3BlcmF0b3I6IGUucHJvcGVydHk/LmZpbHRlck9wdGlvbnM/Lm9wZXJhdG9yID8gZS5wcm9wZXJ0eS5maWx0ZXJPcHRpb25zLm9wZXJhdG9yIDogbnVsbCxcclxuICAgICAgICAgIHRydW5jYXRlRGF0ZTogZS5wcm9wZXJ0eT8uZmlsdGVyT3B0aW9ucz8udHJ1bmNhdGVEYXRlID8gZS5wcm9wZXJ0eS5maWx0ZXJPcHRpb25zLnRydW5jYXRlRGF0ZSA6IHRydWVcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2PlxyXG4gICAgPGF4LWRyb3AtZG93biBbZml0UGFyZW50XT1cImZpdFBhcmVudFwiIFtkcm9wZG93bldpZHRoXT1cImRyb3Bkb3duV2lkdGhcIiBbc2l6ZV09XCJzaXplXCIgW3Nob3dEcm9wRG93bkJ1dHRvbl09XCJmYWxzZVwiIGljb249XCJmYXIgZmEtc2xpZGVycy1oXCIgI2Ryb3Bkb3duXHJcbiAgICBtYXhIZWlnaHQ9XCJ1bnNldFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBzdGFydD5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RhcnRdXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIGhlYWRlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXggY2hpcHMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwc1wiICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9maWx0ZXJJdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwcy10ZXh0XCIgc3R5bGU9XCJkaXJlY3Rpb246cnRsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxiPnt7X2hhbmRsZVNob3dUaXRsZVNlbGVjdGVkKGl0ZW0pfX08L2I+IHt7X2hhbmRsZVNob3dWYWx1ZVNlbGVjdGVkKGl0ZW0pfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2UtaWNvblwiIChjbGljayk9XCJoYW5kbGVJdGVtUmVtb3ZlQ2xpY2soaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgcGFuZWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWJveFwiPlxyXG4gICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1mb3JtICNmb3JtPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfaXRlbXNcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb3Agb2YgaXRlbS5pdGVtc1wiIGNsYXNzPVwie3tyZW5kZXJDb2wocHJvcC5wcm9wZXJ0eS5jb2wpfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8YXgtZm9ybS1ncm91cD4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wLnByb3BlcnR5LnZpc2libGUgIT0gZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD57e3Byb3AucHJvcGVydHkudGl0bGV9fTwvYXgtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIGF4LXByb3BlcnR5LWVkaXRvci1yZW5kZXJlciBbdmFsaWRhdGlvbkZvcm1dPVwiZm9ybVwiIFtwcm9wZXJ0eV09XCJwcm9wXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dF09XCJfY29udGV4dFwiIChvblZhbHVlQ2hhbmdlKT1cImhhbmRsZVZhbHVlQ2hhbmdlKCRldmVudClcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPC9heC1mb3JtLWdyb3VwPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXgtYnV0dG9uIChjbGljayk9XCJzZWFyY2goKVwiPnt7J2NvbW1vbi5zZWFyY2gnIHwgdHJhbnN9fTwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24gdHlwZT1cImJsYW5rIGRhbmdlclwiIChjbGljayk9XCJjbGVhcigpXCI+e3snZGF0YUdyaWQuY2xlYXJGaWx0ZXInIHwgdHJhbnN9fTwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvYXgtdmFsaWRhdGlvbi1mb3JtPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIGVuZD5cclxuICAgICAgICA8YXgtYnV0dG9uIGVuZCBpY29uPVwiZmFyIGZhLXNsaWRlcnMtaCBpY29uXCIgdHlwZT1cImxpZ2h0IGJsYW5rXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgICAgIFt0YWJJbmRleF09XCItMVwiIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygpXCI+e3snY29tbW9uLnNlYXJjaCcgfCB0cmFuc319PC9heC1idXR0b24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbjwvYXgtZHJvcC1kb3duPlxyXG48L2Rpdj4iXX0=
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUUxRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7O0FBaUJwRixNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLEdBQStCO1FBQS9CLFFBQUcsR0FBSCxHQUFHLENBQTRCO1FBTW5ELFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBRzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUczQixrQkFBYSxHQUFXLE9BQU8sQ0FBQztRQUdoQyxRQUFHLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQXdCMUMsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd0RCxrQkFBYSxHQUF5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USxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTztvQkFDM0YsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJO29CQUN4RixZQUFZLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUk7aUJBQ3JHO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztrSEFsT1Usb0JBQW9CO3NHQUFwQixvQkFBb0IsaVpBSXBCLHlCQUF5Qiw4REFEdEIsaUNBQWlDLGdEQzNCakQsZ3FGQWdETTs0RkR4Qk8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGVBQWU7aUdBTWdCLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDVSxRQUFRO3NCQUF4RCxZQUFZO3VCQUFDLGlDQUFpQztnQkFDVCxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLHlCQUF5QjtnQkFHcEMsSUFBSTtzQkFESCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJSyxLQUFLO3NCQURmLEtBQUs7Z0JBc0JOLGFBQWE7c0JBRFosTUFBTTtnQkFJUCxhQUFhO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbmZpZywgQVhEYXRlVGltZSB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBBWEVsZW1lbnRTaXplIH0gZnJvbSAnLi4vYmFzZS9lbGVtZW50LmNsYXNzJztcclxuaW1wb3J0IHsgQVhEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYUHJvcGVydHlFZGl0b3JSZW5kZXJlckRpcmVjdGl2ZSB9IGZyb20gJy4uL3Byb3BlcnR5LWVkaXRvci9wcm9wZXJ0eS1lZGl0b3ItcmVuZGVyZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQVhQcm9wZXJ0eUNvbERlZiwgQVhQcm9wZXJ0eUNvbmZpZywgQVhQcm9wZXJ5RWRpdG9yVmFsdWVDaGFuZ2VFdmVudCwgRmlsdGVyTW9kZWwgfSBmcm9tICcuLi9wcm9wZXJ0eS1lZGl0b3IvcHJvcGVydHktZWRpdG9yLmNsYXNzJztcclxuaW1wb3J0IHsgQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1mb3JtLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclRleHRJdGVtc01vZGVsIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICB2YWx1ZTogYW55O1xyXG4gIHRleHRWYWx1ZTogc3RyaW5nO1xyXG4gIGZpbHRlck9wdGlvbnM/OiBGaWx0ZXJNb2RlbDtcclxuICBjb21wb25lbnQ6IEFYUHJvcGVydHlDb25maWc7XHJcbiAgdW5pcXVlTnVtYmVyPzogbnVtYmVyO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LXNlYXJjaC1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtYmFyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYU2VhcmNoQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4pIHt9XHJcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHN0YXRpYzogdHJ1ZSB9KSBkcm9wZG93bjogQVhEcm9wZG93bkNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkcmVuKEFYUHJvcGVydHlFZGl0b3JSZW5kZXJlckRpcmVjdGl2ZSkgX2VkaXRvcnM6IFF1ZXJ5TGlzdDxBWFByb3BlcnR5RWRpdG9yUmVuZGVyZXJEaXJlY3RpdmU+O1xyXG4gIEBWaWV3Q2hpbGQoQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudCkgZm9ybTogQVhWYWxpZGF0aW9uRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBzaXplOiBBWEVsZW1lbnRTaXplID0gJ21kJztcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGZpdFBhcmVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRyb3Bkb3duV2lkdGg6IHN0cmluZyA9IFwiNjAwcHhcIjtcclxuXHJcbiAgQElucHV0KClcclxuICBydGw6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2xheW91dC5ydGwnKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGl0ZW1zKHY6IEFYUHJvcGVydHlDb25maWdbXSkge1xyXG4gICAgdGhpcy5fZGVmdWx0VmFsdWVDb3VudCA9IHYuZmlsdGVyKCh4KSA9PiB4LnZhbHVlKTtcclxuICAgIHYuZm9yRWFjaCgoZWwpID0+IHtcclxuICAgICAgZWwucHJvcGVydHkudW5pcXVlTnVtYmVyID0gTWF0aC5yYW5kb20oKTtcclxuICAgICAgaWYgKGVsLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLl9maWx0ZXJJdGVtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IGVsLnByb3BlcnR5Lm5hbWUsXHJcbiAgICAgICAgICB0aXRsZTogZWwucHJvcGVydHkudGl0bGUsXHJcbiAgICAgICAgICB0ZXh0VmFsdWU6IHRoaXMuX2hhbmRsZVRleHRWYWx1ZShlbCksXHJcbiAgICAgICAgICB2YWx1ZTogZWwudmFsdWUgPyB0aGlzLl9oYW5kbGVEZWZ1bHRWbGF1ZShlbCkgOiBudWxsLFxyXG4gICAgICAgICAgY29tcG9uZW50OiBlbFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2l0ZW1zID0gXy5jaGFpbih2KVxyXG4gICAgICAuZ3JvdXBCeSgoeCkgPT4geC5wcm9wZXJ0eS5yb3cpXHJcbiAgICAgIC5tYXAoKHZhbHVlLCBrZXkpID0+ICh7IHJvdzoga2V5LCBpdGVtczogdmFsdWUgfSkpXHJcbiAgICAgIC52YWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgb25WYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uU2VhcmNoVmFsdWU6IEV2ZW50RW1pdHRlcjxGaWx0ZXJUZXh0SXRlbXNNb2RlbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgX2l0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gIF9maWx0ZXJJdGVtczogRmlsdGVyVGV4dEl0ZW1zTW9kZWxbXSA9IFtdO1xyXG4gIF9maWx0ZXJJdGVtc0Nsb25lOiBGaWx0ZXJUZXh0SXRlbXNNb2RlbFtdID0gW107XHJcbiAgX2RlZnVsdFZhbHVlQ291bnQ6IGFueSA9IFtdO1xyXG4gIF9jb250ZXh0OiBhbnkgPSB7fTtcclxuXHJcbiAgcHVibGljIGNsZWFySXRlbShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2VkaXRvcnMuZmluZCgoeCkgPT4geC5wcm9wZXJ0eS5wcm9wZXJ0eS5uYW1lID09PSBuYW1lKS5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLl9kZWZ1bHRWYWx1ZUNvdW50ID0gW107XHJcbiAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IFtdO1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXNDbG9uZSA9IFtdO1xyXG4gICAgdGhpcy5pdGVtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5faXRlbXNbMF0uaXRlbXMpKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUJ1dHRvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5kcm9wZG93bi50b2dnbGUoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGhhbmRsZVZhbHVlQ2hhbmdlKGU6IEFYUHJvcGVyeUVkaXRvclZhbHVlQ2hhbmdlRXZlbnQpIHtcclxuICAgIGF3YWl0IHRoaXMuX2hhbmRsZUluaXRWbGF1ZShlKTtcclxuICAgIHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KGUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlSXRlbVJlbW92ZUNsaWNrKGl0ZW06IEZpbHRlclRleHRJdGVtc01vZGVsKSB7XHJcbiAgICB0aGlzLl9lZGl0b3JzLmZvckVhY2goKGUpID0+IHtcclxuICAgICAgaWYgKGUucHJvcGVydHkucHJvcGVydHkubmFtZSA9PSBpdGVtLm5hbWUpIHtcclxuICAgICAgICBlLmNsZWFyKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXMgPSB0aGlzLl9maWx0ZXJJdGVtcy5maWx0ZXIoKGVsKSA9PiBlbC5uYW1lICE9IGl0ZW0ubmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoKCkge1xyXG4gICAgdGhpcy5mb3JtLnZhbGlkYXRlKCkudGhlbigoYykgPT4ge1xyXG4gICAgICBpZiAoYy5yZXN1bHQpIHtcclxuICAgICAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVySXRlbXNDbG9uZS5maWx0ZXIoKGVsKSA9PiBlbC52YWx1ZSAhPSBudWxsICYmIGVsLnZhbHVlICE9ICcnKSkpO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlQnV0dG9uQ2xpY2soKTtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoVmFsdWUuZW1pdCh0aGlzLl9maWx0ZXJJdGVtcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLl9lZGl0b3JzLmZvckVhY2goKGUpID0+IHtcclxuICAgICAgZS5jbGVhcigpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IFtdO1xyXG4gICAgdGhpcy5fZmlsdGVySXRlbXNDbG9uZSA9IFtdO1xyXG4gICAgdGhpcy5oYW5kbGVCdXR0b25DbGljaygpO1xyXG4gICAgdGhpcy5vblNlYXJjaFZhbHVlLmVtaXQodGhpcy5fZmlsdGVySXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyQ29sKGU6IG51bWJlciB8IEFYUHJvcGVydHlDb2xEZWYpIHtcclxuICAgIGxldCBjbGFzc05hbWU6IHN0cmluZ1tdID0gW107XHJcbiAgICBpZiAodHlwZW9mIGUgPT0gJ251bWJlcicpIHtcclxuICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC0ke2V9YCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBlKSB7XHJcbiAgICAgICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgICAgIGNhc2UgJ2xnJzpcclxuICAgICAgICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC1sZy0ke2Vba2V5XX1gKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdtZCc6XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZS5wdXNoKGBjb2wtbWQtJHtlW2tleV19YCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnc20nOlxyXG4gICAgICAgICAgICBjbGFzc05hbWUucHVzaChgY29sLXNtLSR7ZVtrZXldfWApO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ3hzJzpcclxuICAgICAgICAgICAgY2xhc3NOYW1lLnB1c2goYGNvbC14cy0ke2Vba2V5XX1gKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xhc3NOYW1lLnRvU3RyaW5nKCkucmVwbGFjZSgvLC9nLCAnICcpO1xyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVNob3dUaXRsZVNlbGVjdGVkKGl0ZW0pIHtcclxuICAgIGlmIChpdGVtLnRpdGxlKSB7XHJcbiAgICAgIHJldHVybiBpdGVtLnRpdGxlICsgJzonO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2hhbmRsZVNob3dWYWx1ZVNlbGVjdGVkKGl0ZW0pIHtcclxuICAgIGlmIChpdGVtLmNvbXBvbmVudC5wcm9wZXJ0eS5lZGl0b3JDbGFzcyA9PT0gJ2F4L2VkaXRvcnMvY2hlY2snKSB7XHJcbiAgICAgIHJldHVybiBpdGVtLmNvbXBvbmVudC5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLmxhYmVsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGl0ZW0udGV4dFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRyb3Bkb3duLmRyb3Bkb3duV2lkdGgpIHtcclxuICAgICAgICB0aGlzLmRyb3Bkb3duLmRyb3Bkb3duV2lkdGggPSAnNjAwcHgnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaGFuZGxlVGV4dFZhbHVlKGRhdGFJdGVtOiBhbnkpIHtcclxuICAgIGxldCB0ZXh0ID0gJyc7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhSXRlbS52YWx1ZSkpIHtcclxuICAgICAgaWYgKGRhdGFJdGVtLnZhbHVlLmxlbmd0aCkge1xyXG4gICAgICAgIGRhdGFJdGVtLnZhbHVlLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB0ZXh0ICs9XHJcbiAgICAgICAgICAgIGluZGV4ID09PSBkYXRhSXRlbS52YWx1ZS5sZW5ndGggLSAxXHJcbiAgICAgICAgICAgICAgPyBlbGVtZW50W2RhdGFJdGVtLnByb3BlcnR5LmVkaXRvck9wdGlvbnMudGV4dEZpZWxkXVxyXG4gICAgICAgICAgICAgIDogZWxlbWVudFtkYXRhSXRlbS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLnRleHRGaWVsZF0gKyAnLCc7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRleHQ7XHJcbiAgICB9IGVsc2UgaWYgKGRhdGFJdGVtLnByb3BlcnR5LmVkaXRvckNsYXNzID09PSAnYXgvZWRpdG9ycy9kYXRlJykge1xyXG4gICAgICBpZiAoZGF0YUl0ZW0udmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUoZGF0YUl0ZW0udmFsdWUsICdqYWxhbGknKS5mb3JtYXQoJ3l5eXkvTU0vREQnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2hhbmRsZURlZnVsdFZsYXVlKGRhdGFJdGVtOiBhbnkpIHtcclxuICAgIGF3YWl0IHRoaXMuX2hhbmRsZUluaXRWbGF1ZShkYXRhSXRlbSk7XHJcbiAgICB0aGlzLl9maWx0ZXJJdGVtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5fZmlsdGVySXRlbXNDbG9uZS5maWx0ZXIoKGVsKSA9PiBlbC52YWx1ZSAhPSBudWxsICYmIGVsLnZhbHVlICE9ICcnKSkpO1xyXG4gICAgaWYgKHRoaXMuX2ZpbHRlckl0ZW1zLmxlbmd0aCA9PT0gdGhpcy5fZGVmdWx0VmFsdWVDb3VudC5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5vblNlYXJjaFZhbHVlLmVtaXQodGhpcy5fZmlsdGVySXRlbXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfaGFuZGxlSW5pdFZsYXVlKGUpIHtcclxuICAgIGxldCB2YWx1ZSA9IFtdO1xyXG4gICAgbGV0IHRleHQ6IGFueSA9IFtdO1xyXG4gICAgaWYgKGUucHJvcGVydHkuZWRpdG9yT3B0aW9ucz8udmFsdWVGaWVsZCAmJiBlLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgaWYgKGUucHJvcGVydHkuZWRpdG9yT3B0aW9ucy5yZXR1cm5BbGxEYXRhKSB7XHJcbiAgICAgICAgdmFsdWUgPSBlLnZhbHVlO1xyXG4gICAgICAgIHRleHQgPSBhd2FpdCB0aGlzLl9oYW5kbGVUZXh0VmFsdWUoZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zPy5tb2RlID09ICdtdWx0aXBsZScpIHtcclxuICAgICAgICBlLnZhbHVlLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgIHZhbHVlLnB1c2goZWxlbWVudFtlLnByb3BlcnR5LmVkaXRvck9wdGlvbnMudmFsdWVGaWVsZF0pO1xyXG4gICAgICAgICAgdGV4dC5wdXNoKGVsZW1lbnRbZS5wcm9wZXJ0eS5lZGl0b3JPcHRpb25zLnRleHRGaWVsZF0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChlLnZhbHVlLmxlbmd0aCkge1xyXG4gICAgICAgICAgdmFsdWUgPSBlLnZhbHVlWzBdW2UucHJvcGVydHkuZWRpdG9yT3B0aW9ucy52YWx1ZUZpZWxkXTtcclxuICAgICAgICAgIHRleHQgPSBlLnZhbHVlWzBdW2UucHJvcGVydHkuZWRpdG9yT3B0aW9ucy50ZXh0RmllbGRdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFsdWUgPSBlLnZhbHVlO1xyXG4gICAgICB0ZXh0ID0gZS52YWx1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGZpbmRFbCA9IHRoaXMuX2ZpbHRlckl0ZW1zQ2xvbmUuZmluZCgoZWwpID0+IGVsLnVuaXF1ZU51bWJlciA9PSBlLnByb3BlcnR5LnVuaXF1ZU51bWJlcik7XHJcbiAgICBpZiAoZmluZEVsKSB7XHJcbiAgICAgIGZpbmRFbC52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICBmaW5kRWwudGV4dFZhbHVlID0gZS5wcm9wZXJ0eS5lZGl0b3JDbGFzcyA9PT0gJ2F4L2VkaXRvcnMvZGF0ZScgPyBuZXcgQVhEYXRlVGltZSh0ZXh0LCAnamFsYWxpJykuZm9ybWF0KCd5eXl5L01NL0REJykgOiB0ZXh0O1xyXG4gICAgfSBlbHNlIGlmIChlLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5fZmlsdGVySXRlbXNDbG9uZS5wdXNoKHtcclxuICAgICAgICBuYW1lOiBlLnByb3BlcnR5Lm5hbWUsXHJcbiAgICAgICAgdGl0bGU6IGUucHJvcGVydHkudGl0bGUsXHJcbiAgICAgICAgdW5pcXVlTnVtYmVyOiBlLnByb3BlcnR5LnVuaXF1ZU51bWJlcixcclxuICAgICAgICB2YWx1ZSxcclxuICAgICAgICB0ZXh0VmFsdWU6IGUucHJvcGVydHkuZWRpdG9yQ2xhc3MgPT09ICdheC9lZGl0b3JzL2RhdGUnID8gbmV3IEFYRGF0ZVRpbWUodGV4dCwgJ2phbGFsaScpLmZvcm1hdCgneXl5eS9NTS9ERCcpIDogdGV4dCxcclxuICAgICAgICBjb21wb25lbnQ6IGUsXHJcbiAgICAgICAgZmlsdGVyT3B0aW9uczoge1xyXG4gICAgICAgICAgZmlsdGVyczogZS5wcm9wZXJ0eT8uZmlsdGVyT3B0aW9ucz8uZmlsdGVycyA/IGUucHJvcGVydHkuZmlsdGVyT3B0aW9ucy5maWx0ZXJzIDogW10sXHJcbiAgICAgICAgICBsb2dpYzogZS5wcm9wZXJ0eT8uZmlsdGVyT3B0aW9ucz8ubG9naWMgPyBlLnByb3BlcnR5LmZpbHRlck9wdGlvbnMubG9naWMgOiAnYW5kJyxcclxuICAgICAgICAgIGlnbm9yZUNhc2U6IGUucHJvcGVydHk/LmZpbHRlck9wdGlvbnM/Lmlnbm9yZUNhc2UgPyBlLnByb3BlcnR5LmZpbHRlck9wdGlvbnMuaWdub3JlQ2FzZSA6IHRydWUsXHJcbiAgICAgICAgICBqb2luVHlwZTogZS5wcm9wZXJ0eT8uZmlsdGVyT3B0aW9ucz8uam9pblR5cGUgPyBlLnByb3BlcnR5LmZpbHRlck9wdGlvbnMuam9pblR5cGUgOiAnSU5ORVInLFxyXG4gICAgICAgICAgb3BlcmF0b3I6IGUucHJvcGVydHk/LmZpbHRlck9wdGlvbnM/Lm9wZXJhdG9yID8gZS5wcm9wZXJ0eS5maWx0ZXJPcHRpb25zLm9wZXJhdG9yIDogbnVsbCxcclxuICAgICAgICAgIHRydW5jYXRlRGF0ZTogZS5wcm9wZXJ0eT8uZmlsdGVyT3B0aW9ucz8udHJ1bmNhdGVEYXRlID8gZS5wcm9wZXJ0eS5maWx0ZXJPcHRpb25zLnRydW5jYXRlRGF0ZSA6IHRydWVcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2PlxyXG4gICAgPGF4LWRyb3AtZG93biBbZml0UGFyZW50XT1cImZpdFBhcmVudFwiIFtkcm9wZG93bldpZHRoXT1cImRyb3Bkb3duV2lkdGhcIiBbc2l6ZV09XCJzaXplXCIgW3Nob3dEcm9wRG93bkJ1dHRvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgaWNvbj1cImZhciBmYS1zbGlkZXJzLWhcIiAjZHJvcGRvd24gbWF4SGVpZ2h0PVwidW5zZXRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIHN0YXJ0PlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RhcnRdXCI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGVudD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyIGhlYWRlcj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4IGNoaXBzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBzXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2ZpbHRlckl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwcy10ZXh0XCIgc3R5bGU9XCJkaXJlY3Rpb246cnRsO1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Yj57e19oYW5kbGVTaG93VGl0bGVTZWxlY3RlZChpdGVtKX19PC9iPiB7e19oYW5kbGVTaG93VmFsdWVTZWxlY3RlZChpdGVtKX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2xvc2UtaWNvblwiIChjbGljayk9XCJoYW5kbGVJdGVtUmVtb3ZlQ2xpY2soaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBwYW5lbD5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhbmVsLWJveFwiPlxyXG4gICAgICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tZm9ybSAjZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9pdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9wIG9mIGl0ZW0uaXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvcC5wcm9wZXJ0eS52aXNpYmxlICE9IGZhbHNlXCIgY2xhc3M9XCJ7e3JlbmRlckNvbChwcm9wLnByb3BlcnR5LmNvbCl9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGF4LWxhYmVsPnt7cHJvcC5wcm9wZXJ0eS50aXRsZX19PC9heC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgYXgtcHJvcGVydHktZWRpdG9yLXJlbmRlcmVyIFt2YWxpZGF0aW9uRm9ybV09XCJmb3JtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJvcGVydHldPVwicHJvcFwiIFtjb250ZXh0XT1cIl9jb250ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25WYWx1ZUNoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb290ZXItYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24gKGNsaWNrKT1cInNlYXJjaCgpXCI+e3snY29tbW9uLnNlYXJjaCcgfCB0cmFuc319PC9heC1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1idXR0b24gdHlwZT1cImJsYW5rIGRhbmdlclwiIChjbGljayk9XCJjbGVhcigpXCI+e3snZGF0YUdyaWQuY2xlYXJGaWx0ZXInIHwgdHJhbnN9fTwvYXgtYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9heC12YWxpZGF0aW9uLWZvcm0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgZW5kPlxyXG4gICAgICAgICAgICA8YXgtYnV0dG9uIGVuZCBpY29uPVwiZmFyIGZhLXNsaWRlcnMtaCBpY29uXCIgdHlwZT1cImxpZ2h0IGJsYW5rXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwiLTFcIiAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQ2xpY2soKVwiPnt7J2NvbW1vbi5zZWFyY2gnIHwgdHJhbnN9fTwvYXgtYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDwvYXgtZHJvcC1kb3duPlxyXG48L2Rpdj4iXX0=
@@ -10157,18 +10157,21 @@ class AXPropertyEditorRendererDirective {
10157
10157
  this._context = v;
10158
10158
  }
10159
10159
  clear() {
10160
- this.instance.value = null;
10160
+ var _a;
10161
+ if ((_a = this.instance) === null || _a === void 0 ? void 0 : _a.value) {
10162
+ this.instance.value = null;
10163
+ }
10161
10164
  }
10162
10165
  ngOnInit() {
10163
10166
  this.createComponent();
10164
10167
  }
10165
10168
  createComponent() {
10166
- this.renderService.findLoadedComponentByRoute(this.property.property.editorClass).then(c => {
10169
+ this.renderService.findLoadedComponentByRoute(this.property.property.editorClass).then((c) => {
10167
10170
  if (c) {
10168
10171
  const factory = this.componentFactoryResolver.resolveComponentFactory(c.component);
10169
10172
  const cmpRef = this.target.createComponent(factory);
10170
10173
  this.instance = cmpRef.instance;
10171
- this.subscription = this.instance.valueChange.subscribe(value => {
10174
+ this.subscription = this.instance.valueChange.subscribe((value) => {
10172
10175
  var _a, _b;
10173
10176
  this.property.value = value;
10174
10177
  this.onValueChange.emit(this.property);
@@ -10184,7 +10187,7 @@ class AXPropertyEditorRendererDirective {
10184
10187
  // this.instance.onRenderCompleted.subscribe(() => {
10185
10188
  // });
10186
10189
  if (this.validationForm) {
10187
- this.instance.validatableComponentRegistered.subscribe(v => {
10190
+ this.instance.validatableComponentRegistered.subscribe((v) => {
10188
10191
  this.validationForm.addWidget(v);
10189
10192
  });
10190
10193
  }
@@ -10204,14 +10207,14 @@ class AXPropertyEditorRendererDirective {
10204
10207
  const vars = typeof opt === 'string' ? opt === null || opt === void 0 ? void 0 : opt.match(varsRegx) : [];
10205
10208
  // bind the props
10206
10209
  if (vars === null || vars === void 0 ? void 0 : vars.length) {
10207
- vars.forEach(v => {
10210
+ vars.forEach((v) => {
10208
10211
  var _a;
10209
10212
  const path = ((_a = v.match(varNameRegx)) === null || _a === void 0 ? void 0 : _a.length) ? v.match(varNameRegx)[0] : null;
10210
10213
  if (path) {
10211
10214
  this.eventService.on(`props-${this.groupId}-${path}`, (e) => {
10212
10215
  let execCode = opt.slice();
10213
10216
  const params = {};
10214
- vars.forEach(vv => {
10217
+ vars.forEach((vv) => {
10215
10218
  var _a;
10216
10219
  const p2 = ((_a = vv.match(varNameRegx)) === null || _a === void 0 ? void 0 : _a.length) ? vv.match(varNameRegx)[0] : null;
10217
10220
  params[p2] = AXObjectUtil.deepCopy(this.context[p2]) || null;
@@ -10253,7 +10256,7 @@ class AXPropertyEditorRendererDirective {
10253
10256
  else {
10254
10257
  const val = typeof opt === 'function' ? opt({ data: this.context, host: this.host }, this.property) : opt;
10255
10258
  if (val instanceof Promise) {
10256
- val.then(v => {
10259
+ val.then((v) => {
10257
10260
  setPropByPath(this.instance, p, val);
10258
10261
  });
10259
10262
  }
@@ -10275,7 +10278,7 @@ AXPropertyEditorRendererDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion
10275
10278
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXPropertyEditorRendererDirective, decorators: [{
10276
10279
  type: Directive,
10277
10280
  args: [{
10278
- selector: '[ax-property-editor-renderer]',
10281
+ selector: '[ax-property-editor-renderer]'
10279
10282
  }]
10280
10283
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }, { type: i1$2.AXRenderService }, { type: i1$2.AXEventService }]; }, propDecorators: { property: [{
10281
10284
  type: Input
@@ -10330,9 +10333,10 @@ class AXSearchBarComponent {
10330
10333
  this._editors.find((x) => x.property.property.name === name).clear();
10331
10334
  }
10332
10335
  refresh() {
10336
+ this._defultValueCount = [];
10333
10337
  this._filterItems = [];
10334
10338
  this._filterItemsClone = [];
10335
- this.items = this._items[0].items;
10339
+ this.items = JSON.parse(JSON.stringify(this._items[0].items));
10336
10340
  }
10337
10341
  handleButtonClick() {
10338
10342
  this.dropdown.toggle();
@@ -10442,7 +10446,7 @@ class AXSearchBarComponent {
10442
10446
  }
10443
10447
  _handleDefultVlaue(dataItem) {
10444
10448
  return __awaiter(this, void 0, void 0, function* () {
10445
- this._handleInitVlaue(dataItem);
10449
+ yield this._handleInitVlaue(dataItem);
10446
10450
  this._filterItems = JSON.parse(JSON.stringify(this._filterItemsClone.filter((el) => el.value != null && el.value != '')));
10447
10451
  if (this._filterItems.length === this._defultValueCount.length) {
10448
10452
  this.onSearchValue.emit(this._filterItems);
@@ -10503,10 +10507,10 @@ class AXSearchBarComponent {
10503
10507
  }
10504
10508
  }
10505
10509
  AXSearchBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
10506
- AXSearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSearchBarComponent, selector: "ax-search-bar", inputs: { size: "size", disabled: "disabled", fitParent: "fitParent", dropdownWidth: "dropdownWidth", items: "items", rtl: "rtl" }, outputs: { onValueChange: "onValueChange", onSearchValue: "onSearchValue" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }, { propertyName: "_editors", predicate: AXPropertyEditorRendererDirective, descendants: true }], ngImport: i0, template: "<div>\r\n <ax-drop-down [fitParent]=\"fitParent\" [dropdownWidth]=\"dropdownWidth\" [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\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\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 <ax-validation-form #form>\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 [validationForm]=\"form\" [property]=\"prop\"\r\n [context]=\"_context\" (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 </ax-validation-form>\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</div>", 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: AXDropdownComponent, selector: "ax-drop-down", inputs: ["rtl", "readonly", "loading", "dropdownWidth"], outputs: ["dropdownToggle", "onButtonClick"] }, { type: AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { type: AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], directives: [{ type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: ["property", "validationForm", "context", "host", "groupId"], outputs: ["onValueChange"] }], pipes: { "trans": i1$2.AXTranslatorPipe } });
10510
+ AXSearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSearchBarComponent, selector: "ax-search-bar", inputs: { size: "size", disabled: "disabled", fitParent: "fitParent", dropdownWidth: "dropdownWidth", rtl: "rtl", items: "items" }, outputs: { onValueChange: "onValueChange", onSearchValue: "onSearchValue" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }, { propertyName: "_editors", predicate: AXPropertyEditorRendererDirective, descendants: true }], ngImport: i0, template: "<div>\r\n <ax-drop-down [fitParent]=\"fitParent\" [dropdownWidth]=\"dropdownWidth\" [size]=\"size\" [showDropDownButton]=\"false\"\r\n icon=\"far fa-sliders-h\" #dropdown 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\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\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 <ax-validation-form #form>\r\n <ng-container *ngFor=\"let item of _items\">\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let prop of item.items\">\r\n <div *ngIf=\"prop.property.visible != false\" class=\"{{renderCol(prop.property.col)}}\">\r\n <div>\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [validationForm]=\"form\"\r\n [property]=\"prop\" [context]=\"_context\"\r\n (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\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 </ax-validation-form>\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</div>", 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: AXDropdownComponent, selector: "ax-drop-down", inputs: ["rtl", "readonly", "loading", "dropdownWidth"], outputs: ["dropdownToggle", "onButtonClick"] }, { type: AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { type: AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], directives: [{ type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: ["property", "validationForm", "context", "host", "groupId"], outputs: ["onValueChange"] }], pipes: { "trans": i1$2.AXTranslatorPipe } });
10507
10511
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarComponent, decorators: [{
10508
10512
  type: Component,
10509
- args: [{ selector: 'ax-search-bar', template: "<div>\r\n <ax-drop-down [fitParent]=\"fitParent\" [dropdownWidth]=\"dropdownWidth\" [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\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\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 <ax-validation-form #form>\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 [validationForm]=\"form\" [property]=\"prop\"\r\n [context]=\"_context\" (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 </ax-validation-form>\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</div>", 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"] }]
10513
+ args: [{ selector: 'ax-search-bar', template: "<div>\r\n <ax-drop-down [fitParent]=\"fitParent\" [dropdownWidth]=\"dropdownWidth\" [size]=\"size\" [showDropDownButton]=\"false\"\r\n icon=\"far fa-sliders-h\" #dropdown 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\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\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 <ax-validation-form #form>\r\n <ng-container *ngFor=\"let item of _items\">\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let prop of item.items\">\r\n <div *ngIf=\"prop.property.visible != false\" class=\"{{renderCol(prop.property.col)}}\">\r\n <div>\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [validationForm]=\"form\"\r\n [property]=\"prop\" [context]=\"_context\"\r\n (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\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 </ax-validation-form>\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</div>", 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"] }]
10510
10514
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { dropdown: [{
10511
10515
  type: ViewChild,
10512
10516
  args: ['dropdown', { static: true }]
@@ -10524,10 +10528,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
10524
10528
  type: Input
10525
10529
  }], dropdownWidth: [{
10526
10530
  type: Input
10527
- }], items: [{
10528
- type: Input
10529
10531
  }], rtl: [{
10530
10532
  type: Input
10533
+ }], items: [{
10534
+ type: Input
10531
10535
  }], onValueChange: [{
10532
10536
  type: Output
10533
10537
  }], onSearchValue: [{