mmhglobal-dynamicform 2.0.0-beta.13 → 2.0.0-beta.15

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.
package/README.md CHANGED
@@ -4,9 +4,17 @@ This library was generated with [Angular CLI](https://github.com/angular/angular
4
4
 
5
5
  ## Changelog
6
6
 
7
- `2.13`<br/>
8
- [zgrid] - Fixed zGrid filtering, pagination and sorting issue, if the grid is bind to local data.
9
- [zgrid] - Updated local data binding appraoch to use kendo grid directive.
7
+ `2.15beta`<br/>
8
+ [zgrid] - Added condition check for setData.<br/>
9
+ [backnavigation] - Added null checking for previousRouteParam.
10
+
11
+ `2.14beta`<br/>
12
+ [zgrid] - Enhanced zGrid cell wrap styling. Default is nowrap.<br/>
13
+ [zgrid] - Fix isUseLocalData to base on DataSource instead of ResourceUrl.
14
+
15
+ `2.13beta`<br/>
16
+ [zgrid] - Fixed zGrid filtering, pagination and sorting issue, if the grid is bind to local data. <br/>
17
+ [zgrid] - Updated local data binding appraoch to use kendo grid directive. <br/>
10
18
  [backnavigation] - enhance and fix back navigation route param.
11
19
 
12
20
  `1.3.16`<br/>
@@ -22,13 +22,13 @@ export class DataListingFieldBase extends FieldBase {
22
22
  return super.initComponent();
23
23
  }
24
24
  getGridColumnStyle() {
25
- return this.componentProperties.style.style3 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style3) : { 'white-space': 'initial' };
25
+ return this.componentProperties.style.style3 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style3) : {};
26
26
  }
27
27
  getGridHeaderStyle() {
28
- return this.componentProperties.style.style4 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style4) : { 'white-space': 'initial' };
28
+ return this.componentProperties.style.style4 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style4) : {};
29
29
  }
30
30
  getGridFooterStyle() {
31
- return this.componentProperties.style.style9 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style9) : { 'white-space': 'initial' };
31
+ return this.componentProperties.style.style9 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style9) : {};
32
32
  }
33
33
  getCellStyle(columnField, dataItem) {
34
34
  const style = columnField[`Style10`];
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
146
146
  type: ViewChild,
147
147
  args: ["popovercontainer", { static: false }]
148
148
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3RpbmdmaWVsZGJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvY29tcG9uZW50cy9kYXRhbGlzdGluZ2ZpZWxkYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU16RCwrQkFBK0I7QUFDL0IsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFXakQsWUFBWSxXQUE4QjtRQUN4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFWWCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNwQixvQkFBZSxHQUFHO1lBQ3ZCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ2hELEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUN0RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNwQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7U0FDckQsQ0FBQztJQUlGLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7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dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIsIFpGaWVsZCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10b29sdGlwXCI7XHJcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IHpncmlkLCB6dHJlZSwgenRyZWVsaXN0XHJcbmV4cG9ydCBjbGFzcyBEYXRhTGlzdGluZ0ZpZWxkQmFzZSBleHRlbmRzIEZpZWxkQmFzZSB7XHJcbiAgQFZpZXdDaGlsZChcInBvcG92ZXJjb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgcG9wb3ZlcmNvbnRhaW5lcjogUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZTtcclxuICBwcm90ZWN0ZWQgcG9wb3ZlckRhdGEgPSBbXTtcclxuICBwdWJsaWMgdG9vbGJhckl0ZW1MaXN0ID0gW1xyXG4gICAgeyBuYW1lOiBcIlNlYXJjaFwiLCB0ZXh0OiBcIlNlYXJjaFwiIH0sXHJcbiAgICB7IG5hbWU6IFwiU2F2ZSBTZXR0aW5nc1wiLCB0ZXh0OiBcIlNhdmUgU2V0dGluZ3NcIiB9LFxyXG4gICAgeyBuYW1lOiBcIlJlc3RvcmUgU2V0dGluZ3NcIiwgdGV4dDogXCJSZXN0b3JlIFNldHRpbmdzXCIgfSxcclxuICAgIHsgbmFtZTogXCJBZGQgTmV3XCIsIHRleHQ6IFwiQWRkIE5ld1wiIH0sXHJcbiAgICB7IG5hbWU6IFwiQWR2YW5jZWQgU2VhcmNoXCIsIHRleHQ6IFwiQWR2YW5jZWQgU2VhcmNoXCIgfSxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0Q29tcG9uZW50KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gc3VwZXIuaW5pdENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEdyaWRDb2x1bW5TdHlsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzID8gdGhpcy5jb21wU2VydmljZS5jb252ZXJ0U3R5bGVTdHJpbmdUb09iamVjdCh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzKSA6IHsgJ3doaXRlLXNwYWNlJzogJ2luaXRpYWwnIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHcmlkSGVhZGVyU3R5bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNCA/IHRoaXMuY29tcFNlcnZpY2UuY29udmVydFN0eWxlU3RyaW5nVG9PYmplY3QodGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNCkgOiB7ICd3aGl0ZS1zcGFjZSc6ICdpbml0aWFsJyB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0R3JpZEZvb3RlclN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTkgPyB0aGlzLmNvbXBTZXJ2aWNlLmNvbnZlcnRTdHlsZVN0cmluZ1RvT2JqZWN0KHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTkpIDogeyAnd2hpdGUtc3BhY2UnOiAnaW5pdGlhbCcgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENlbGxTdHlsZShjb2x1bW5GaWVsZDogWkZpZWxkLCBkYXRhSXRlbTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IHN0eWxlID0gY29sdW1uRmllbGRbYFN0eWxlMTBgXTtcclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgc3R5bGUpO1xyXG4gICAgaWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gZnVuYy5iaW5kKHRoaXMuZ3JvdXAuY3RybFNjb3BlKTtcclxuICAgICAgcmV0dXJuIGNhbGxGdW5jKGRhdGFJdGVtKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiBmdW5jID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZnVuYztcclxuICAgIH1cclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVUb29sQmFySXRlbXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBTZXJ2aWNlLnRyYW5zbGF0ZVRvb2xCYXJJdGVtcyh0aGlzLnRvb2xiYXJJdGVtTGlzdCwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VG9vbEJhckl0ZW1MYWJlbE5hbWUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sYmFySXRlbUxpc3QuZmluZCh0ID0+IHQubmFtZSA9PT0gbmFtZSk/LnRleHQgfHwgbmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVDb2x1bW5IZWFkZXIoY29sdW1uczogYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlR3JpZENvbHVtbkhlYWRlcihjb2x1bW5zLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBQb3BvdmVyXHJcbiAgcHVibGljIHNldHVwUG9wb3ZlckZlYXR1cmUoY29sdW1uczogQXJyYXk8YW55PiwgZ3JpZERhdGE6IEFycmF5PGFueT4pIHtcclxuICAgIGNvbnN0IHBvcG92ZXJDb2xzID0gY29sdW1ucy5maWx0ZXIoYyA9PiBjLlBvcE92ZXJDb250ZW50KTtcclxuICAgIGlmIChwb3BvdmVyQ29scy5sZW5ndGggPiAwICYmIGdyaWREYXRhLmxlbmd0aCA+IDApIHtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgZGF0YSBvZiBncmlkRGF0YSkge1xyXG4gICAgICAgIHRoaXMucG9wb3ZlckRhdGEucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgaWQ6IGRhdGEuSWQsXHJcbiAgICAgICAgICAgIHBvcG92ZXJDb250ZW50OiB0aGlzLmdldFBvcE92ZXJDb250ZW50QnlDb2wocG9wb3ZlckNvbHMsIGRhdGEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dQb3BPdmVyKGNvbHVtbkZpZWxkOiBaRmllbGQsIGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghY29sdW1uRmllbGQuUG9wT3ZlckNvbnRlbnQgfHwgIXRoaXMucG9wb3ZlcmNvbnRhaW5lcikge1xyXG4gICAgICB0aGlzLnBvcG92ZXJjb250YWluZXIuaGlkZSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIHRoaXMucG9wb3ZlcmNvbnRhaW5lci5oaWRlKCk7XHJcbiAgICBpZiAoZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0RJVicgfHwgZWxlbWVudC5ub2RlTmFtZSA9PT0gJ1NQQU4nKSB7XHJcbiAgICAgIHRoaXMucG9wb3ZlcmNvbnRhaW5lci5zaG93KGVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlUG9wT3ZlcihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQudG9FbGVtZW50ICYmIGV2ZW50LnRvRWxlbWVudC5ub2RlTmFtZSA9PSBcIkRJVlwiICYmIChldmVudC50b0VsZW1lbnQucGFyZW50RWxlbWVudC5ub2RlTmFtZSA9PSBcIlREXCIgfHwgKGV2ZW50LnRvRWxlbWVudC5wYXJlbnRFbGVtZW50Lm5vZGVOYW1lID09IFwiRElWXCIgJiYgZXZlbnQudG9FbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lLmluY2x1ZGVzKFwiay1wb3BvdmVyLWJvZHlcIikpKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnBvcG92ZXJjb250YWluZXIuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENvbnRleHREYXRhKGFuY2hvcjogSFRNTEVsZW1lbnQpIHtcclxuICAgIGlmIChhbmNob3IuYXR0cmlidXRlc1tcImRhdGEtaWRcIl0gJiYgYW5jaG9yLmF0dHJpYnV0ZXNbXCJkYXRhLWlkXCJdLnZhbHVlICYmIGFuY2hvci5hdHRyaWJ1dGVzW1wiY29sdW1uLW5hbWVcIl0gJiYgYW5jaG9yLmF0dHJpYnV0ZXNbXCJjb2x1bW4tbmFtZVwiXS52YWx1ZSkge1xyXG4gICAgICBjb25zdCByZWNvcmRJZCA9IGFuY2hvci5hdHRyaWJ1dGVzW1wiZGF0YS1pZFwiXS52YWx1ZTtcclxuICAgICAgY29uc3QgY29sdW1uTmFtZSA9IGFuY2hvci5hdHRyaWJ1dGVzW1wiY29sdW1uLW5hbWVcIl0udmFsdWU7XHJcbiAgICAgIGNvbnN0IHBvcG92ZXJBbGxDb2xEYXRhID0gdGhpcy5wb3BvdmVyRGF0YS5maW5kKGQgPT4gZC5pZCA9PSByZWNvcmRJZCk7XHJcbiAgICAgIGNvbnN0IHBvcG92ZXJDb2xEYXRhID0gcG9wb3ZlckFsbENvbERhdGEucG9wb3ZlckNvbnRlbnQuZmluZChkID0+IGQuY29sdW1uTmFtZSA9PSBjb2x1bW5OYW1lKTtcclxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UocG9wb3ZlckNvbERhdGEuY29udGVudClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UG9wT3ZlckNvbnRlbnRCeUNvbChjb2x1bW5zOiBBcnJheTxhbnk+LCBkYXRhOiBhbnkpOiBBcnJheTxhbnk+IHtcclxuICAgIGNvbnN0IHBvcE92ZXJDb250ZW50ID0gW107XHJcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIHRoaXMuZ2V0UG9wT3ZlckNvbnRlbnQoY29sLCBkYXRhKS5zdWJzY3JpYmUoY29udGVudCA9PiB7XHJcbiAgICAgICAgcG9wT3ZlckNvbnRlbnQucHVzaCh7XHJcbiAgICAgICAgICBjb2x1bW5OYW1lOiBjb2wuZmllbGQsXHJcbiAgICAgICAgICBjb250ZW50OiBjb250ZW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBvcE92ZXJDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQb3BPdmVyQ29udGVudChjb2x1bW5GaWVsZDogWkZpZWxkLCBkYXRhSXRlbTogYW55KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb2x1bW5GaWVsZC5Qb3BPdmVyQ29udGVudDtcclxuICAgIGlmICghY29udGVudCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIC8vIHJldHVybiB7XHJcbiAgICAvLyAgIEJvZHk6IGA8Yj4yPC9iPiBtb3JlIGdvYWxzIGFuZCA8Yj41PC9iPiBtb3JlIGNvbXBldGVuY2llcyB0byBncmFkZS4gPGJyLz5cclxuICAgIC8vICAgR29hbCAxOiA8YiBzdHlsZT0nY29sb3I6dmFyKC0taW9uLWNvbG9yLXByaW1hcnkpOyc+MTwvYj4gPGJyLz5gLFxyXG4gICAgLy8gICBCb2R5Q2xhc3M6J2FwcHJhaXNhbC1wb3BvdmVyJ1xyXG4gICAgLy8gfTtcclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgY29udGVudCk7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IGZ1bmM7XHJcbiAgICBpZiAodHlwZW9mIGZ1bmMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSBmdW5jLmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICByZXN1bHQgPSBjYWxsRnVuYyhjb2x1bW5GaWVsZCwgZGF0YUl0ZW0pO1xyXG5cclxuICAgICAgaWYgKGlzT2JzZXJ2YWJsZShyZXN1bHQpKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5waXBlKG1hcChkYXRhID0+IHRoaXMucGFyc2VQb3BvdmVyT2JqZWN0KGRhdGEpKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMucGFyc2VQb3BvdmVyT2JqZWN0KHJlc3VsdCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlUG9wb3Zlck9iamVjdChyZXN1bHQpOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiByZXN1bHQgPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIEJvZHk6IHJlc3VsdCB8fCAnJyxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiJdfQ==
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3RpbmdmaWVsZGJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvY29tcG9uZW50cy9kYXRhbGlzdGluZ2ZpZWxkYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU16RCwrQkFBK0I7QUFDL0IsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFXakQsWUFBWSxXQUE4QjtRQUN4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFWWCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNwQixvQkFBZSxHQUFHO1lBQ3ZCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ2hELEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUN0RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNwQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7U0FDckQsQ0FBQztJQUlGLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7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OlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIsIFpGaWVsZCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10b29sdGlwXCI7XHJcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IHpncmlkLCB6dHJlZSwgenRyZWVsaXN0XHJcbmV4cG9ydCBjbGFzcyBEYXRhTGlzdGluZ0ZpZWxkQmFzZSBleHRlbmRzIEZpZWxkQmFzZSB7XHJcbiAgQFZpZXdDaGlsZChcInBvcG92ZXJjb250YWluZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgcG9wb3ZlcmNvbnRhaW5lcjogUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZTtcclxuICBwcm90ZWN0ZWQgcG9wb3ZlckRhdGEgPSBbXTtcclxuICBwdWJsaWMgdG9vbGJhckl0ZW1MaXN0ID0gW1xyXG4gICAgeyBuYW1lOiBcIlNlYXJjaFwiLCB0ZXh0OiBcIlNlYXJjaFwiIH0sXHJcbiAgICB7IG5hbWU6IFwiU2F2ZSBTZXR0aW5nc1wiLCB0ZXh0OiBcIlNhdmUgU2V0dGluZ3NcIiB9LFxyXG4gICAgeyBuYW1lOiBcIlJlc3RvcmUgU2V0dGluZ3NcIiwgdGV4dDogXCJSZXN0b3JlIFNldHRpbmdzXCIgfSxcclxuICAgIHsgbmFtZTogXCJBZGQgTmV3XCIsIHRleHQ6IFwiQWRkIE5ld1wiIH0sXHJcbiAgICB7IG5hbWU6IFwiQWR2YW5jZWQgU2VhcmNoXCIsIHRleHQ6IFwiQWR2YW5jZWQgU2VhcmNoXCIgfSxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0Q29tcG9uZW50KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gc3VwZXIuaW5pdENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEdyaWRDb2x1bW5TdHlsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzID8gdGhpcy5jb21wU2VydmljZS5jb252ZXJ0U3R5bGVTdHJpbmdUb09iamVjdCh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUzKSA6IHt9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0R3JpZEhlYWRlclN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTQgPyB0aGlzLmNvbXBTZXJ2aWNlLmNvbnZlcnRTdHlsZVN0cmluZ1RvT2JqZWN0KHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTQpIDoge31cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHcmlkRm9vdGVyU3R5bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlOSA/IHRoaXMuY29tcFNlcnZpY2UuY29udmVydFN0eWxlU3RyaW5nVG9PYmplY3QodGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlOSkgOiB7fVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENlbGxTdHlsZShjb2x1bW5GaWVsZDogWkZpZWxkLCBkYXRhSXRlbTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IHN0eWxlID0gY29sdW1uRmllbGRbYFN0eWxlMTBgXTtcclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgc3R5bGUpO1xyXG4gICAgaWYgKHR5cGVvZiBmdW5jID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGNhbGxGdW5jID0gZnVuYy5iaW5kKHRoaXMuZ3JvdXAuY3RybFNjb3BlKTtcclxuICAgICAgcmV0dXJuIGNhbGxGdW5jKGRhdGFJdGVtKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHR5cGVvZiBmdW5jID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZnVuYztcclxuICAgIH1cclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVUb29sQmFySXRlbXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBTZXJ2aWNlLnRyYW5zbGF0ZVRvb2xCYXJJdGVtcyh0aGlzLnRvb2xiYXJJdGVtTGlzdCwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VG9vbEJhckl0ZW1MYWJlbE5hbWUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sYmFySXRlbUxpc3QuZmluZCh0ID0+IHQubmFtZSA9PT0gbmFtZSk/LnRleHQgfHwgbmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVDb2x1bW5IZWFkZXIoY29sdW1uczogYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlR3JpZENvbHVtbkhlYWRlcihjb2x1bW5zLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBQb3BvdmVyXHJcbiAgcHVibGljIHNldHVwUG9wb3ZlckZlYXR1cmUoY29sdW1uczogQXJyYXk8YW55PiwgZ3JpZERhdGE6IEFycmF5PGFueT4pIHtcclxuICAgIGNvbnN0IHBvcG92ZXJDb2xzID0gY29sdW1ucy5maWx0ZXIoYyA9PiBjLlBvcE92ZXJDb250ZW50KTtcclxuICAgIGlmIChwb3BvdmVyQ29scy5sZW5ndGggPiAwICYmIGdyaWREYXRhLmxlbmd0aCA+IDApIHtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgZGF0YSBvZiBncmlkRGF0YSkge1xyXG4gICAgICAgIHRoaXMucG9wb3ZlckRhdGEucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgaWQ6IGRhdGEuSWQsXHJcbiAgICAgICAgICAgIHBvcG92ZXJDb250ZW50OiB0aGlzLmdldFBvcE92ZXJDb250ZW50QnlDb2wocG9wb3ZlckNvbHMsIGRhdGEpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dQb3BPdmVyKGNvbHVtbkZpZWxkOiBaRmllbGQsIGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghY29sdW1uRmllbGQuUG9wT3ZlckNvbnRlbnQgfHwgIXRoaXMucG9wb3ZlcmNvbnRhaW5lcikge1xyXG4gICAgICB0aGlzLnBvcG92ZXJjb250YWluZXIuaGlkZSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIHRoaXMucG9wb3ZlcmNvbnRhaW5lci5oaWRlKCk7XHJcbiAgICBpZiAoZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0RJVicgfHwgZWxlbWVudC5ub2RlTmFtZSA9PT0gJ1NQQU4nKSB7XHJcbiAgICAgIHRoaXMucG9wb3ZlcmNvbnRhaW5lci5zaG93KGVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlUG9wT3ZlcihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQgJiYgZXZlbnQudG9FbGVtZW50ICYmIGV2ZW50LnRvRWxlbWVudC5ub2RlTmFtZSA9PSBcIkRJVlwiICYmIChldmVudC50b0VsZW1lbnQucGFyZW50RWxlbWVudC5ub2RlTmFtZSA9PSBcIlREXCIgfHwgKGV2ZW50LnRvRWxlbWVudC5wYXJlbnRFbGVtZW50Lm5vZGVOYW1lID09IFwiRElWXCIgJiYgZXZlbnQudG9FbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lLmluY2x1ZGVzKFwiay1wb3BvdmVyLWJvZHlcIikpKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnBvcG92ZXJjb250YWluZXIuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENvbnRleHREYXRhKGFuY2hvcjogSFRNTEVsZW1lbnQpIHtcclxuICAgIGlmIChhbmNob3IuYXR0cmlidXRlc1tcImRhdGEtaWRcIl0gJiYgYW5jaG9yLmF0dHJpYnV0ZXNbXCJkYXRhLWlkXCJdLnZhbHVlICYmIGFuY2hvci5hdHRyaWJ1dGVzW1wiY29sdW1uLW5hbWVcIl0gJiYgYW5jaG9yLmF0dHJpYnV0ZXNbXCJjb2x1bW4tbmFtZVwiXS52YWx1ZSkge1xyXG4gICAgICBjb25zdCByZWNvcmRJZCA9IGFuY2hvci5hdHRyaWJ1dGVzW1wiZGF0YS1pZFwiXS52YWx1ZTtcclxuICAgICAgY29uc3QgY29sdW1uTmFtZSA9IGFuY2hvci5hdHRyaWJ1dGVzW1wiY29sdW1uLW5hbWVcIl0udmFsdWU7XHJcbiAgICAgIGNvbnN0IHBvcG92ZXJBbGxDb2xEYXRhID0gdGhpcy5wb3BvdmVyRGF0YS5maW5kKGQgPT4gZC5pZCA9PSByZWNvcmRJZCk7XHJcbiAgICAgIGNvbnN0IHBvcG92ZXJDb2xEYXRhID0gcG9wb3ZlckFsbENvbERhdGEucG9wb3ZlckNvbnRlbnQuZmluZChkID0+IGQuY29sdW1uTmFtZSA9PSBjb2x1bW5OYW1lKTtcclxuICAgICAgcmV0dXJuIEpTT04ucGFyc2UocG9wb3ZlckNvbERhdGEuY29udGVudClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UG9wT3ZlckNvbnRlbnRCeUNvbChjb2x1bW5zOiBBcnJheTxhbnk+LCBkYXRhOiBhbnkpOiBBcnJheTxhbnk+IHtcclxuICAgIGNvbnN0IHBvcE92ZXJDb250ZW50ID0gW107XHJcbiAgICBmb3IgKGNvbnN0IGNvbCBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIHRoaXMuZ2V0UG9wT3ZlckNvbnRlbnQoY29sLCBkYXRhKS5zdWJzY3JpYmUoY29udGVudCA9PiB7XHJcbiAgICAgICAgcG9wT3ZlckNvbnRlbnQucHVzaCh7XHJcbiAgICAgICAgICBjb2x1bW5OYW1lOiBjb2wuZmllbGQsXHJcbiAgICAgICAgICBjb250ZW50OiBjb250ZW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBvcE92ZXJDb250ZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQb3BPdmVyQ29udGVudChjb2x1bW5GaWVsZDogWkZpZWxkLCBkYXRhSXRlbTogYW55KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb2x1bW5GaWVsZC5Qb3BPdmVyQ29udGVudDtcclxuICAgIGlmICghY29udGVudCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIC8vIHJldHVybiB7XHJcbiAgICAvLyAgIEJvZHk6IGA8Yj4yPC9iPiBtb3JlIGdvYWxzIGFuZCA8Yj41PC9iPiBtb3JlIGNvbXBldGVuY2llcyB0byBncmFkZS4gPGJyLz5cclxuICAgIC8vICAgR29hbCAxOiA8YiBzdHlsZT0nY29sb3I6dmFyKC0taW9uLWNvbG9yLXByaW1hcnkpOyc+MTwvYj4gPGJyLz5gLFxyXG4gICAgLy8gICBCb2R5Q2xhc3M6J2FwcHJhaXNhbC1wb3BvdmVyJ1xyXG4gICAgLy8gfTtcclxuICAgIGNvbnN0IGZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgY29udGVudCk7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IGZ1bmM7XHJcbiAgICBpZiAodHlwZW9mIGZ1bmMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSBmdW5jLmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICByZXN1bHQgPSBjYWxsRnVuYyhjb2x1bW5GaWVsZCwgZGF0YUl0ZW0pO1xyXG5cclxuICAgICAgaWYgKGlzT2JzZXJ2YWJsZShyZXN1bHQpKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5waXBlKG1hcChkYXRhID0+IHRoaXMucGFyc2VQb3BvdmVyT2JqZWN0KGRhdGEpKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMucGFyc2VQb3BvdmVyT2JqZWN0KHJlc3VsdCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlUG9wb3Zlck9iamVjdChyZXN1bHQpOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiByZXN1bHQgPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIEJvZHk6IHJlc3VsdCB8fCAnJyxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiJdfQ==