@energycap/components 0.39.15-ECAP-24619-disable-page-view-button-inputs.20240425-0917 → 0.39.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/esm2020/lib/shared/page/page-base/page-base.component.mjs +1 -1
- package/esm2020/lib/shared/page/page-view/page-view.component.mjs +9 -3
- package/fesm2015/energycap-components.mjs +8 -2
- package/fesm2015/energycap-components.mjs.map +1 -1
- package/fesm2020/energycap-components.mjs +8 -2
- package/fesm2020/energycap-components.mjs.map +1 -1
- package/lib/shared/page/page-view/page-view.component.d.ts +5 -1
- package/package.json +1 -1
@@ -376,4 +376,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
376
376
|
type: HostBinding,
|
377
377
|
args: ['class']
|
378
378
|
}] } });
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvcGFnZS9wYWdlLWJhc2UvcGFnZS1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxXQUFXLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBRW5FLE1BQU0sT0FBTyxjQUFjO0lBQTNCO1FBQ0UsVUFBSyxHQUFZLEVBQUUsQ0FBQztRQUNwQixhQUFRLEdBQVksRUFBRSxDQUFDO1FBQ3ZCLGdC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LENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDL0QsSUFBSSxDQUFDLG9CQUFvQixDQUFpQixDQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7eUJBQ25EO3FCQUNGO3lCQUFNO3dCQUNMLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUU7NEJBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBaUIsQ0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3lCQUNuRDtxQkFDRjtpQkFDRjtnQkFBQyxPQUFPLEtBQUssRUFBRTtvQkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNyQjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsR0FBVztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7OEdBdGJtQixpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUR0QyxTQUFTOytGQUd3QixTQUFTO3NCQUF4QyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOYXZJdGVtIH0gZnJvbSAnLi4vLi4vLi4vY29udHJvbHMvbmF2aWdhdGlvbi9uYXYtaXRlbSc7XHJcbmltcG9ydCB7IEVycm9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvZXJyb3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IFNjcm9sbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3Njcm9sbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3BsYXNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvc3BsYXNoL3NwbGFzaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGVscCB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvaGVscC9oZWxwLXR5cGVzJztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvdmlldy1vdmVybGF5L3ZpZXctb3ZlcmxheS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlU3RhdHVzLCBQYWdlU3RhdHVzZXMgfSBmcm9tICcuLi9wYWdlLXN0YXR1c2VzJztcclxuaW1wb3J0IHsgUm91dGVySGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9yb3V0ZXItaGVscGVyLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBhZ2VJbml0UmVzdWx0IHtcclxuICB0aXRsZT86IHN0cmluZyA9ICcnO1xyXG4gIHN1YlRpdGxlPzogc3RyaW5nID0gJyc7XHJcbiAgc3ViVGl0bGVVcmw/OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgYnJlYWRjcnVtYnM/OiBOYXZJdGVtW107XHJcbiAgaGVscD86IEhlbHA7XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFnZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgLyoqIERlZmF1bHQgY3NzIGNsYXNzZXMgYXBwbGllZCB0byBob3N0IGVsZW1lbnQgKi9cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHJvdGVjdGVkIGNsYXNzTGlzdCA9ICdkLWZsZXggZmxleC1ncm93JztcclxuXHJcbiAgLyoqXHJcbiAgICogVGl0bGUgZm9yIHRoZSBwYWdlIGRpc3BsYXllZCBpbiB0aGUgaGVhZGVyXHJcbiAgICovXHJcbiAgcHVibGljIHRpdGxlPzogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YiB0aXRsZSBmb3IgdGhlIHBhZ2UgZGlzcGxheWVkIGluIHRoZSBoZWFkZXJcclxuICAgKi9cclxuICBwdWJsaWMgc3ViVGl0bGU/OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogU3ViIHRpdGxlIHVybCBmb3IgdGhlIHBhZ2UgZGlzcGxheWVkIGluIHRoZSBoZWFkZXJcclxuICAgKi9cclxuICBwdWJsaWMgc3ViVGl0bGVVcmw/OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogU3RhdHVzIG92ZXJsYXkgZm9yIHRoZSBwYWdlXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXR1czogT3ZlcmxheSA9IG5ldyBPdmVybGF5KCdwZW5kaW5nJywgJ0xvYWRpbmcnKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQnJlYWRjcnVtYnMgZGlzcGxheWVkIGluIHRoZSBoZWFkZXJcclxuICAgKi9cclxuICBwdWJsaWMgYnJlYWRjcnVtYnM/OiBOYXZJdGVtW107XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlc3VsdCByZXR1cm5lZCBmcm9tIHRoZSBvbkluaXQgZnVuY3Rpb25cclxuICAgKi9cclxuICBwdWJsaWMgaW5pdFJlc3VsdCE6IFBhZ2VJbml0UmVzdWx0O1xyXG5cclxuICAvKipcclxuICAgKiBIZWxwIGluZm9ybWF0aW9uIGZvciB0aGUgY29tcG9uZW50LCB3aGljaCBjYW4gb25seSBiZSBzZXQgdGhyb3VnaCBvbkluaXRcclxuICAgKi9cclxuICBwdWJsaWMgaGVscDogSGVscCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqXHJcbiAgICogRm9ybSBncm91cCB0byBiZSB1c2VkIGlmIG5lZWRlZCBieSB0aGUgcGFnZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmF1bHQgaW52YWxpZCBmb3JtIG1lc3NhZ2UsIG92ZXJyaWRlIGlmIGEgbW9yZSBzcGVjaWZpYyBtZXNzYWdlIGlzIG5lZWRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZWZhdWx0SW52YWxpZEZvcm1NZXNzYWdlOiBzdHJpbmcgPSAnUGxlYXNlQ29ycmVjdEZvcm1fU0MnO1xyXG5cclxuICAvKipcclxuICAgKiBEZWZhdWx0IHVua25vd24gc2F2ZSBlcnJvciBtZXNzYWdlLCBvdmVycmlkZSBpZiBhIG1vcmUgc3BlY2lmaWMgbWVzc2FnZSBpcyBuZWVkZWRcclxuICAgKi9cclxuICBwdWJsaWMgZGVmYXVsdFVua25vd25TYXZlRXJyb3I6IHN0cmluZyA9ICdQYWdlQmFzZVVua25vd25TYXZlRXJyb3JfU0MnO1xyXG5cclxuICAvKipcclxuICAgKiBVc2VkIHRvIG9wdCBvdXQgb2YgaGlkaW5nIHRoZSBzcGxhc2ggc2NyZWVuIHdoZW4gdGhlIHBhZ2UgaXMgbG9hZGVkXHJcbiAgICovXHJcbiAgcHVibGljIHNraXBIaWRlU3BsYXNoT25Db21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGVuIHNldCB0byB0cnVlIGFueSBuYXZpZ2F0aW9uIGVuZCBldmVudHMgdGhhdCBhcmUgc3RyaWN0bHkgcXVlcnkgcGFyYW0gY2hhbmdlcyB3aWxsXHJcbiAgICogbm90IGNhbGwgdGhlIG9uTmF2aWdhdGlvbkVuZCBmdW5jdGlvbi4gVGhpcyBhbGxvd3MgcGFnZXMgdG8gY2hhbmdlIHRoZSB2aWV3IHdpdGggcXVlcnlcclxuICAgKiBwYXJhbXMgYW5kIG5vdCB0cmlnZ2VyIGEgZnVsbCByZWZyZXNoLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBpZ25vcmVRdWVyeVBhcmFtc09uTmF2aWdhdGlvbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIHByZXZpb3VzVXJsOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAvKipcclxuICAgKiBVc2VkIHRvIHVuc3Vic2NyaWJlIGZyb20gb2JzZXJ2YWJsZXNcclxuICAgKi9cclxuICBwdWJsaWMgZGVzdHJveWVkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFVzZWQgdG8ga25vdyB3aGVuIHRoZSBwYWdlIGhhcyBiZWVuIGxvYWRlZCwgdGhpcyB3aWxsIGJlIGNvbXBsZXRlZFxyXG4gICAqIGFmdGVyIG9uQWZ0ZXJWaWV3SW5pdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2FmdGVyVmlld0luaXRDb21wbGV0ZTogUmVwbGF5U3ViamVjdDx2b2lkPiA9IG5ldyBSZXBsYXlTdWJqZWN0KCk7XHJcbiAgcHVibGljIGFmdGVyVmlld0luaXRDb21wbGV0ZTogT2JzZXJ2YWJsZTx2b2lkPiA9IHRoaXMuX2FmdGVyVmlld0luaXRDb21wbGV0ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSWYgZGVmaW5lZCB0aGUgZm9ybSB3aWxsIGF1dG9tYXRpY2FsbHkgc2Nyb2xsIHRvIHRoZSBmaXJzdCBpbnZhbGlkIGZvcm0gY29udHJvbFxyXG4gICAqIGlmIGl0J3Mgb3V0c2lkZSBvZiB0aGUgdmlld1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBzY3JvbGxDb250YWluZXJTZWxlY3Rvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpcHRpb24gdG8gdGhlIHJvdXRlciBldmVudHMgTmF2aWdhdGlvbkVuZFxyXG4gICAqIFVzZWQgdG8ga25vdyBpZiBhbHJlYWR5IHN1YnNjcmliZWQgdG9cclxuICAgKi9cclxuICBwcml2YXRlIG5hdmlnYXRpb25FbmRTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbW1vbiBzZXJ2aWNlcyB1c2VkIGJ5IHBhZ2UtYmFzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBlcnJvclNlcnZpY2U6IEVycm9yU2VydmljZTtcclxuICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZTtcclxuICBwcm90ZWN0ZWQgc2Nyb2xsU2VydmljZTogU2Nyb2xsU2VydmljZTtcclxuICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXI7XHJcbiAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcclxuICBwcm90ZWN0ZWQgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZTtcclxuICBwcm90ZWN0ZWQgc3BsYXNoU2VydmljZTogU3BsYXNoU2VydmljZTtcclxuICBwcm90ZWN0ZWQgcm91dGVySGVscGVyOiBSb3V0ZXJIZWxwZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgdGhpcy5lcnJvclNlcnZpY2UgPSBpbmplY3Rvci5nZXQoRXJyb3JTZXJ2aWNlKTtcclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IGluamVjdG9yLmdldChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuICAgIHRoaXMuc2Nyb2xsU2VydmljZSA9IGluamVjdG9yLmdldChTY3JvbGxTZXJ2aWNlKTtcclxuICAgIHRoaXMucm91dGVyID0gaW5qZWN0b3IuZ2V0KFJvdXRlcik7XHJcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlID0gaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKTtcclxuICAgIHRoaXMuZGlhbG9nU2VydmljZSA9IGluamVjdG9yLmdldChEaWFsb2dTZXJ2aWNlKTtcclxuICAgIHRoaXMuc3BsYXNoU2VydmljZSA9IGluamVjdG9yLmdldChTcGxhc2hTZXJ2aWNlKTtcclxuICAgIHRoaXMucm91dGVySGVscGVyID0gaW5qZWN0b3IuZ2V0KFJvdXRlckhlbHBlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFcnJvcnMgdG8gYmUgc2hvd24gZm9yIHRoZSBjb21wb25lbnQuXHJcbiAgICogQXV0b21hdGljYWxseSBwb3B1bGF0ZWQgb24gcHJvbWlzZSByZWplY3Rpb24gZnJvbSBzYXZlIGFuZCBzaGFyZWQgd2l0aCB0aGUgVUkuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfZXJyb3JzOiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgZ2V0IGVycm9ycygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Vycm9ycztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIGxpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFzIHBhcnQgb2YgdGhlIEFuZ3VsYXIgbmdPbkluaXQgbGlmZWN5Y2xlIGhvb2suXHJcbiAgICogQ2FsbGVkIGJlZm9yZSBvbkluaXQgaXMgY2FsbGVkIGZvciB0aGUgZmlyc3QgdGltZS4gQWRkIHNldHVwIGxvZ2ljIGhlcmUgdGhhdCBkb2VzXHJcbiAgICogbm90IG5lZWQgdG8gYmUgcnVuIG9uIGV2ZXJ5IHJlbG9hZC5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb25GaXJzdEluaXQoKTogdm9pZCB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGluIHRoZSBkZXJpdmVkIGNsYXNzIGFzIHBhcnQgb2YgdGhlIEFuZ3VsYXIgbmdPbkluaXRcclxuICAgKiBsaWZlY3ljbGUgaG9vay4gSXQgbXVzdCBwcm92aWRlIGEgUGFnZUluaXRSZXN1bHQgYmFjayB0byB0aGUgYmFzZSBjbGFzcyB0byBwcm9wZXJseVxyXG4gICAqIHNldCB1cCB0aGUgcGFnZS5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25Jbml0KCk6IFByb21pc2U8UGFnZUluaXRSZXN1bHQ+O1xyXG4gIHByb3RlY3RlZCBpbml0UHJvbWlzZSE6IFByb21pc2U8UGFnZUluaXRSZXN1bHQ+O1xyXG5cclxuICBwdWJsaWMgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnNob3dTdGF0dXMoUGFnZVN0YXR1cy5Mb2FkaW5nKTtcclxuICAgICAgdGhpcy5zZXRVcFJvdXRlclN1YnNjcmlwdGlvbnMoKTtcclxuICAgICAgdGhpcy5vbkZpcnN0SW5pdCgpO1xyXG4gICAgICB0aGlzLmluaXRQcm9taXNlID0gdGhpcy5vbkluaXQoKTtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMuaW5pdFByb21pc2U7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aGlzLnNwbGFzaFNlcnZpY2UuaGlkZVNwbGFzaCgpO1xyXG4gICAgICB0aGlzLm9uRXJyb3IoZXJyb3IpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCBqdXN0IGFmdGVyIHRoZSBBbmd1bGFyIExpZmVjeWNsZSBldmVudCBuZ09uQWZ0ZXJWaWV3SW5pdC5cclxuICAgKiBJdCBmaXJlcyBhZnRlciBhbGwgc3ViLWNvbXBvbmVudHMgaGF2ZSBnb25lIHRocm91Z2ggdGhlaXIgaW5pdGlhbGl6YXRpb24gcGhhc2UuXHJcbiAgICogSXQgaXMgaW4gdGhpcyBwaGFzZSB0aGF0IHRoZSB2aWV3IGNvbXBvbmVudHMgc2hvdWxkIGFscmVhZHkgZXhpc3QsIHNvIGEgZGVyaXZlZCBjbGFzcyBzaG91bGRcclxuICAgKiBsb2FkIGRhdGEgZnJvbSB0aGUgQVBJIHRvIHBvcHVsYXRlIGFueSB2aWV3IGNvbXBvbmVudHMuIFRoZSBwcm9taXNlIHRoYXRcclxuICAgKiBpcyByZXR1cm5lZCBtdXN0IG5vdCByZXNvbHZlIHVudGlsIGFsbCByZXF1aXJlZCBkYXRhIGhhcyBjb21wbGV0ZWx5IGxvYWRlZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhc3luYyBvbkFmdGVyVmlld0luaXQoKTogUHJvbWlzZTx2b2lkPiB7IH07XHJcbiAgcHVibGljIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGluaXRSZXN1bHQgPSBhd2FpdCB0aGlzLmluaXRQcm9taXNlO1xyXG4gICAgICB0aGlzLnBhcnNlSW5pdFJlc3VsdChpbml0UmVzdWx0KTtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMub25BZnRlclZpZXdJbml0KCk7XHJcblxyXG4gICAgICB0aGlzLl9hZnRlclZpZXdJbml0Q29tcGxldGUubmV4dCgpO1xyXG4gICAgICB0aGlzLl9hZnRlclZpZXdJbml0Q29tcGxldGUuY29tcGxldGUoKTtcclxuXHJcbiAgICAgIGF3YWl0IHRoaXMub25Gb3JtTG9hZENvbXBsZXRlKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5zdGF0dXMuc3RhdHVzID09PSAncGVuZGluZycpIHtcclxuICAgICAgICB0aGlzLnNob3dTdGF0dXMoUGFnZVN0YXR1cy5Mb2FkZWQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIXRoaXMuc2tpcEhpZGVTcGxhc2hPbkNvbXBsZXRlKSB7XHJcbiAgICAgICAgdGhpcy5zcGxhc2hTZXJ2aWNlLmhpZGVTcGxhc2goKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRoaXMuc3BsYXNoU2VydmljZS5oaWRlU3BsYXNoKCk7XHJcbiAgICAgIHRoaXMub25FcnJvcihlcnJvcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBIGxpZmVjeWNsZSBtZXRob2QgdGhhdCBleGVjdXRlcyBvbmNlIGFsbCBkYXRhIGhhcyBiZWVuIGxvYWRlZFxyXG4gICAqIHRocm91Z2ggbmdBZnRlclZpZXdJbml0IGFuZCBmcm9tIGxvY2FsIHN0b3JhZ2UgaWYgcmVxdWlyZWQuXHJcbiAgICogSXQgaXMgYXQgdGhpcyBwb2ludCB0aGF0IHlvdSBjYW4gc3Vic2NyaWJlIHRvIGNoYW5nZXMgb24gdGhlIGZvcm1cclxuICAgKiByZWxpYWJseVxyXG4gICAqXHJcbiAgICogQHByb3RlY3RlZFxyXG4gICAqIEBtZW1iZXJvZiBQYWdlQmFzZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhc3luYyBvbkZvcm1Mb2FkQ29tcGxldGUoKTogUHJvbWlzZTxhbnk+IHsgfVxyXG5cclxuICAvKipcclxuICAgKiBBIGxpZmVjeWNsZSBob29rIHRoYXQgaXMgY2FsbGVkIGFmdGVyIGV2ZXJ5IE5hdmlnYXRpb25FbmQgZXZlbnQuXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIG9uTmF2aWdhdGlvbkVuZCgpOiB2b2lkIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWxvYWQgdGhlIGNvbXBvbmVudCBraWNraW5nIG9mZiB0aGUgbmdPbkluaXQgYW5kIG5nQWZ0ZXJWaWV3SW5pdCBsaWZlY3ljbGUgaG9va3MuXHJcbiAgICogQW55IHN0YXRlIHRoYXQgbmVlZHMgdG8gYmUgcmVzZXQgc2hvdWxkIGJlIGRvbmUgc28gYmVmb3JlIGNhbGxpbmcgdGhpcyBtZXRob2QuXHJcbiAgICovXHJcbiAgcHVibGljIHJlbG9hZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FmdGVyVmlld0luaXRDb21wbGV0ZSA9IG5ldyBSZXBsYXlTdWJqZWN0KCk7XHJcblxyXG4gICAgdGhpcy5zaG93U3RhdHVzKFBhZ2VTdGF0dXMuTG9hZGluZyk7XHJcbiAgICB0aGlzLmluaXRQcm9taXNlID0gdGhpcy5vbkluaXQoKTtcclxuICAgIHRoaXMubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBXaGVuIG92ZXJyaWRkZW4gaW4gYSBkZXJpdmVkIGNsYXNzIHRoaXMgbWV0aG9kIHdpbGwgc3luYyB0aGUgZm9ybSBzdGF0ZVxyXG4gICAqIGludG8gdGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgcGVyc2lzdGVkIHRvIHRoZSBBUEkuIFRoZSB2YWx1ZSBzaG91bGQgbm90XHJcbiAgICogYWN0dWFsbHkgYmUgc2VudCB0byB0aGUgQVBJIHlldC5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgYXN5bmMgYXBwbHlNb2RlbFVwZGF0ZXMoKTogUHJvbWlzZTx2b2lkPiB7IH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhdmUgdGhlIG1vZGVsIHN0YXRlIHRvIHRoZSBBUEkgYW5kIHJldHVybiBhIHByb21pc2UgdGhhdFxyXG4gICAqIGNvbnRhaW5zIHRoZSB1cGRhdGVkIGVudGl0eUlELiBUaGUgcHJvbWlzZSBzaG91bGQgYmUgcmVqZWN0ZWRcclxuICAgKiBpZiB0aGUgc2F2ZSBmYWlscyBhbmQgZXJyb3JzIGFuZCB0aGUgb3ZlcmxheSBzdGF0dXMgd2lsbCBiZSB1cGRhdGVkXHJcbiAgICogYWNjb3JkaW5nbHlcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgYXN5bmMgc2F2ZVRvQXBpKCk6IFByb21pc2U8bnVtYmVyIHwgdm9pZD4geyB9O1xyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgYWZ0ZXIgdGhlIHNhdmUgaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuXHJcbiAgICogSXQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBkZXJpdmVkIGNsYXNzIHRvIG5hdmlnYXRlXHJcbiAgICogdG8gYSBwcm9wZXJ0aWVzL3N0YXR1cyBwYWdlIG9yIGVtaXQgYXBwcm9wcmlhdGVseSBpZiB3aXRoaW4gYSBkaWFsb2dcclxuICAgKiBAcGFyYW0gZW50aXR5SWRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb25TYXZlQ29tcGxldGUoZW50aXR5SWQ/OiBudW1iZXIpOiB2b2lkIHsgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xpY2tzIHNhdmUuICBXZSB3aWxsIGZpcnN0IHRvdWNoIGFsbCBjb250cm9scyB0byBzaG93IHZhbGlkYXRpb24gbWVzc2FnZXNcclxuICAgKiBpZiB0aGUgZm9ybSBpcyBpbnZhbGlkLiAgSWYgdGhlIGZvcm0gaXMgdmFsaWQgd2Ugd2lsbCBhdHRlbXB0IHRvIHNhdmUgYW5kIGFueSBlcnJvcnMgd2lsbCBiZSByZXBvcnRlZFxyXG4gICAqIGJhY2sgdG8gdGhlIHVzZXJcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgYXN5bmMgb25TYXZlKGV2ZW50OiBFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAubWFya0FsbEFzVG91Y2hlZCgpO1xyXG5cclxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xyXG4gICAgICBhd2FpdCB0aGlzLnNhdmUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIE9ubHkgc2hvdyB0aGUgYmFubmVyIHdpdGggdGhlIGdlbmVyaWMgbWVzc2FnZSBpZiB0aGUgcGFyZW50IGNvbXBvbmVudCBoYXNuJ3QgYWxyZWFkeSBzZXQgb25lXHJcbiAgICAgIC8vIGJ5IGltcGxlbWVudGluZyBvblNhdmUgZm9yIGFkZGl0aW9uYWwgdmFsaWRhdGlvblxyXG4gICAgICBpZiAodGhpcy5lcnJvcnMgPT09ICcnKSB7XHJcbiAgICAgICAgdGhpcy5zaG93RXJyb3JCYW5uZXIodGhpcy5kZWZhdWx0SW52YWxpZEZvcm1NZXNzYWdlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuc2Nyb2xsQ29udGFpbmVyU2VsZWN0b3IpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2Nyb2xsU2VydmljZS5zY3JvbGxUb0l0ZW0odGhpcy5zY3JvbGxDb250YWluZXJTZWxlY3RvciEsIFwiLm5nLWludmFsaWRcIik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bmN0aW9uIGF2YWlsYWJsZSB0byB0cmlnZ2VyIGEgc2F2ZSBhbmQgYnlwYXNzIHRoZSBmb3JtIHZhbGlkYXRpb24gY2hlY2tzLlxyXG4gICAqIFRoaXMgaXMgdXNlZnVsIGlmIHRoZSB1c2VyIGNob29zZXMgYSByZW1vdmUgYWN0aW9uIGZyb20gd2l0aGluIGFuIGVkaXQgZGlhbG9nLiBJZiB0aGUgZGlhbG9nIGZvcm0gaXMgaW52YWxpZFxyXG4gICAqIHRoYXQgaXMgbm8gY29uY2VybiB0byB0aGUgdXNlciBpZiB0aGV5IHdpc2ggdG8gcmVtb3ZlIHRoZSBpdGVtIHRoZXkgYXJlIGVkaXRpbmcuXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIG9uU2F2ZVdpdGhvdXRWYWxpZGF0ZShldmVudDogRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuc2F2ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWRcclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gdGhhdCB3aWxsIGxvZyBhbiBlcnJvciB0aGF0IGlzIHBhc3NlZCBpbiB0byB0aGUgY29uc29sZVxyXG4gICAqIEBwYXJhbSBlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIG9uRXJyb3IoZXJyb3I6IEVycm9yKTogdm9pZCB7XHJcbiAgICB0aGlzLmVycm9yU2VydmljZS5sb2dDb25zb2xlRXJyb3IoZXJyb3IpO1xyXG4gICAgdGhpcy5zaG93RXJyb3JPdmVybGF5KGVycm9yKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgYW4gZXJyb3IgbWVzc2FnZSBpbiBhIHdob2xlLXBhZ2Ugb3ZlcmxheS4gVGhpcyB3aWxsIHByZXZlbnQgYW55IG1vcmVcclxuICAgKiBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgcGFnZS4gSXQgY2FuIHRha2UgYSBzdHJpbmcgZXJyb3IgbWVzc2FnZSBvciBhIHJhdyBBUElcclxuICAgKiBlcnJvciB0aGF0IG5lZWRzIHRvIGJlIHBhcnNlZC4gSWYgdGhlIEFQSSBlcnJvciBpc24ndCBzb21ldGhpbmcgd2UgY2FuIGhhbmRsZVxyXG4gICAqIGEgZ2VuZXJpYyBtZXNzYWdlIGlzIHNob3duIGluc3RlYWRcclxuICAgKiBAcGFyYW0geyhFcnJvciB8IHN0cmluZyl9IGVycm9yXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHNob3dFcnJvck92ZXJsYXkoZXJyb3I6IEVycm9yIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLmdldEVycm9yTWVzc2FnZShlcnJvcikuc3Vic2NyaWJlKCh0cmFuc2xhdGVkTWVzc2FnZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RhdHVzLnNldFN0YXR1cygnZXJyb3InLCB0cmFuc2xhdGVkTWVzc2FnZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgYW4gZXJyb3IgaW4gdGhlIGJhbm5lciBhdCB0aGUgdG9wIG9mIHRoZSBzY3JlZW4uICBUaGlzIHdpbGwgbm90IHByb2R1Y2UgYVxyXG4gICAqIHdob2xlLXBhZ2Ugb3ZlcmxheSBsaWtlIHRoZSBmdW5jdGlvbiBzaG93RXJyb3Igd2lsbC4gIEl0IGNhbiB0YWtlIGEgc3RyaW5nIGVycm9yIG1lc3NhZ2VcclxuICAgKiBvciByYXcgQVBJIGVycm9yIHRoYXQgbmVlZHMgdG8gYmUgcGFyc2VkLiAgSWYgdGhlIEFQSSBlcnJvciBpc24ndCBzb21ldGhpbmcgd2UgY2FuIGhhbmRsZSxcclxuICAgKiBhIGdlbmVyaWMgbWVzc2FnZSAoY3VzdG9taXphYmxlIHZpYSB1bmtub3duRXJyb3JEZWZhdWx0KSBpcyBzaG93biBpbnN0ZWFkLlxyXG4gICAqIEBwYXJhbSBlcnJvclxyXG4gICAqIEBwYXJhbSB1bmtub3duRXJyb3JEZWZhdWx0XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHNob3dFcnJvckJhbm5lcihlcnJvcjogRXJyb3IgfCBzdHJpbmcsIHVua25vd25FcnJvckRlZmF1bHQ/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGVycm9yLCB1bmtub3duRXJyb3JEZWZhdWx0KS5zdWJzY3JpYmUoKHRyYW5zbGF0ZWRNZXNzYWdlOiBzdHJpbmcpID0+IHtcclxuICAgICAgdGhpcy5fZXJyb3JzID0gdHJhbnNsYXRlZE1lc3NhZ2U7XHJcbiAgICAgIHRoaXMuc2hvd1N0YXR1cyhQYWdlU3RhdHVzLkxvYWRlZCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBhcnNlcyBhbmQgdHJhbnNsYXRlcyBhbiBBUEkgZXJyb3Igb3IgZXJyb3Igc3RyaW5nLlxyXG4gICAqIEBwYXJhbSBlXHJcbiAgICogQHBhcmFtIHVua25vd25FcnJvckRlZmF1bHRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0RXJyb3JNZXNzYWdlKGU6IEVycm9yIHwgc3RyaW5nLCB1bmtub3duRXJyb3JEZWZhdWx0Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIGxldCBleHRyYWN0ZWRNZXNzYWdlID0gdGhpcy5lcnJvclNlcnZpY2UucGFyc2VBcGlFcnJvcihlLCB1bmtub3duRXJyb3JEZWZhdWx0KTtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KGV4dHJhY3RlZE1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgdGhlIGVycm9ycyB0byBoaWRlIHRoZSBlcnJvcnMgYmFubmVyLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBoaWRlRXJyb3JCYW5uZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9lcnJvcnMgPSAnJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoYW5nZSB0aGUgZGlzcGxheSBzdGF0dXMgdG8gb3ZlcmxheSB0aGUgd2hvbGUgcGFnZSB3aGlsZSBsb2FkaW5nIG9yIHNhdmluZ1xyXG4gICAqIGFuZCBjbGVhciBpdCB3aGVuIHRoZSBmb3JtIGlzIHJlYWR5XHJcbiAgICogQHByb3RlY3RlZFxyXG4gICAqIEBwYXJhbSB7UGFnZVN0YXR1c30gc3RhdHVzXHJcbiAgICogQG1lbWJlcm9mIEZvcm1CYXNlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHNob3dTdGF0dXMoc3RhdHVzOiBQYWdlU3RhdHVzKSB7XHJcbiAgICBsZXQga25vd25TdGF0dXMgPSBQYWdlU3RhdHVzZXNbc3RhdHVzXTtcclxuICAgIGlmIChrbm93blN0YXR1cykge1xyXG4gICAgICB0aGlzLnN0YXR1cy5zZXRTdGF0dXMoa25vd25TdGF0dXMuc3RhdHVzLCBrbm93blN0YXR1cy5tZXNzYWdlLCB1bmRlZmluZWQsIGtub3duU3RhdHVzLm5vRGF0YVRlbXBsYXRlLCBrbm93blN0YXR1cy5vdmVybGF5Q2xhc3NMaXN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbG93cyB0aGUgY29tcG9uZW50IHRvIGVudGVyIGEgcGVuZGluZyBzdGF0dXMgYW5kIGV4ZWN1dGUgYSBmdW5jdGlvbiB0aGF0IG9uIGNvbXBsZXRpb24gd2lsbCByZXR1cm4gdGhlIHN0YXR1c1xyXG4gICAqIHRvIGhhc0RhdGEuIElmIGFuIGVycm9yIG9jY3VycyB3aXRoaW4gdGhlIGNhbGxiYWNrIGFuIGVycm9yIGJhbm5lciBjYW4gYmUgc2hvd24uXHJcbiAgICogQHBhcmFtIGNhbGxiYWNrXHJcbiAgICogQHBhcmFtIHBlbmRpbmdNZXNzYWdlIC0gb3B0aW9uYWwgY3VzdG9tIHBlbmRpbmcgbWVzc2FnZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGFzeW5jIHJ1bkJsb2NraW5nQWN0aW9uKGNhbGxiYWNrOiAoKSA9PiBQcm9taXNlPGFueT4sIHBlbmRpbmdNZXNzYWdlPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHRoaXMuaGlkZUVycm9yQmFubmVyKCk7XHJcbiAgICB0aGlzLnN0YXR1cy5zZXRTdGF0dXMoJ3BlbmRpbmcnLCBwZW5kaW5nTWVzc2FnZSk7XHJcblxyXG4gICAgcmV0dXJuIGNhbGxiYWNrKCkuY2F0Y2goZXJyb3IgPT4ge1xyXG4gICAgICB0aGlzLnNob3dFcnJvckJhbm5lcihlcnJvcik7XHJcbiAgICAgIC8vIFRocm93IHRoZSBlcnJvciBmb3IgYW55IGRvd25zdHJlYW0gY29tcG9uZW50cyB0aGF0IG1heSBiZSBsaXN0ZW5pbmcgYW5kIG5lZWQgdG8gcmVhY3RcclxuICAgICAgLy8gdG8gYW55IGVycm9ycyBoYXBwZW5pbmcgd2l0aGluIHRoaXMgY2FsbGJhY2tcclxuICAgICAgdGhyb3cgKGVycm9yKTtcclxuICAgIH0pLmZpbmFsbHkoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNob3dTdGF0dXMoUGFnZVN0YXR1cy5Mb2FkZWQpO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogUGFyc2VzIHRoZSBwYWdlIGluaXQgcmVzdWx0IGFuZCBzZXRzIHRoZSBuZWNlc3NhcnkgcHJvcGVydGllcyBvbiB0aGUgcGFnZVxyXG4gICAqIEBwYXJhbSByZXN1bHRcclxuICAgKi9cclxuICBwcml2YXRlIHBhcnNlSW5pdFJlc3VsdChyZXN1bHQ6IFBhZ2VJbml0UmVzdWx0KTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRSZXN1bHQgPSByZXN1bHQ7XHJcbiAgICB0aGlzLnRpdGxlID0gcmVzdWx0LnRpdGxlO1xyXG4gICAgdGhpcy5zdWJUaXRsZSA9IHJlc3VsdC5zdWJUaXRsZTtcclxuICAgIHRoaXMuc3ViVGl0bGVVcmwgPSByZXN1bHQuc3ViVGl0bGVVcmw7XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJzID0gcmVzdWx0LmJyZWFkY3J1bWJzO1xyXG4gICAgdGhpcy5oZWxwID0gcmVzdWx0LmhlbHA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb250cm9scyB0aGUgcGFnZSBzdGF0dXMsIHRyaWdnZXJzIHRoZSBzYXZlIGFjdGlvbiBhbmQgaGFuZGxlcyBlcnJvcnMgdGhyb3duLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgYXN5bmMgc2F2ZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2hvd1N0YXR1cyhQYWdlU3RhdHVzLlNhdmluZyk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgYXdhaXQgdGhpcy5hcHBseU1vZGVsVXBkYXRlcygpO1xyXG4gICAgICBsZXQgZW50aXR5SWQgPSBhd2FpdCB0aGlzLnNhdmVUb0FwaSgpIHx8IC0xO1xyXG5cclxuICAgICAgdGhpcy5fZXJyb3JzID0gJyc7XHJcblxyXG4gICAgICB0aGlzLm9uU2F2ZUNvbXBsZXRlKGVudGl0eUlkKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIC8vY2xlYXIgdGhlIFwic2F2aW5nXCIgb3ZlcmxheSBhbmQgc2hvdyB0aGUgbWVzc2FnZSBhdCB0aGUgdG9wIG9mIHRoZSB2aWV3IHRocm91Z2ggdGhlIGVycm9ycyBwcm9wZXJ0eVxyXG4gICAgICB0aGlzLnNob3dFcnJvckJhbm5lcihlcnJvciwgdGhpcy5kZWZhdWx0VW5rbm93blNhdmVFcnJvcik7XHJcbiAgICAgIHRoaXMuc3BsYXNoU2VydmljZS5oaWRlU3BsYXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHVwIHRoZSByb3V0ZXIgZXZlbnQgc3Vic2NyaXB0aW9uc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0VXBSb3V0ZXJTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm5hdmlnYXRpb25FbmRTdWJzY3JpcHRpb24gJiYgIXRoaXMuZGVzdHJveWVkLmNsb3NlZCkge1xyXG4gICAgICB0aGlzLnByZXZpb3VzVXJsID0gdGhpcy5yb3V0ZXIudXJsO1xyXG5cclxuICAgICAgLy8gUmVhY3QgdG8gbmF2aWdhdGlvbiBldmVudHNcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uRW5kU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSxcclxuICAgICAgICBmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXHJcbiAgICAgICkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBsZXQgY3VycmVudFVybDogc3RyaW5nID0gKDxOYXZpZ2F0aW9uRW5kPmUpLnVybDtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5pZ25vcmVRdWVyeVBhcmFtc09uTmF2aWdhdGlvbkNoYW5nZSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2aW91c1VybC5zcGxpdCgnPycpWzBdICE9PSBjdXJyZW50VXJsLnNwbGl0KCc/JylbMF0pIHtcclxuICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25FbmRIYW5kbGVyKCg8TmF2aWdhdGlvbkVuZD5lKS51cmwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5wcmV2aW91c1VybCAhPT0gY3VycmVudFVybCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbkVuZEhhbmRsZXIoKDxOYXZpZ2F0aW9uRW5kPmUpLnVybCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgdGhpcy5vbkVycm9yKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuYXZpZ2F0aW9uRW5kSGFuZGxlcih1cmw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5wcmV2aW91c1VybCA9IHVybDtcclxuICAgIHRoaXMub25OYXZpZ2F0aW9uRW5kKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
379
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvcGFnZS9wYWdlLWJhc2UvcGFnZS1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxXQUFXLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBRW5FLE1BQU0sT0FBTyxjQUFjO0lBQTNCO1FBQ0UsVUFBSyxHQUFZLEVBQUUsQ0FBQztRQUNwQixhQUFRLEdBQVksRUFBRSxDQUFDO1FBQ3ZCLGdC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LENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDL0QsSUFBSSxDQUFDLG9CQUFvQixDQUFpQixDQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7eUJBQ25EO3FCQUNGO3lCQUFNO3dCQUNMLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUU7NEJBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBaUIsQ0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3lCQUNuRDtxQkFDRjtpQkFDRjtnQkFBQyxPQUFPLEtBQUssRUFBRTtvQkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNyQjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsR0FBVztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7OEdBdGJtQixpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUR0QyxTQUFTOytGQUd3QixTQUFTO3NCQUF4QyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBOYXZJdGVtIH0gZnJvbSAnLi4vLi4vLi4vY29udHJvbHMvbmF2aWdhdGlvbi9uYXYtaXRlbSc7XHJcbmltcG9ydCB7IEVycm9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvZXJyb3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IFNjcm9sbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3Njcm9sbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3BsYXNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvc3BsYXNoL3NwbGFzaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGVscCB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvaGVscC9oZWxwLXR5cGVzJztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvdmlldy1vdmVybGF5L3ZpZXctb3ZlcmxheS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlU3RhdHVzLCBQYWdlU3RhdHVzZXMgfSBmcm9tICcuLi9wYWdlLXN0YXR1c2VzJztcclxuaW1wb3J0IHsgUm91dGVySGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9yb3V0ZXItaGVscGVyLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFBhZ2VJbml0UmVzdWx0IHtcclxuICB0aXRsZT86IHN0cmluZyA9ICcnO1xyXG4gIHN1YlRpdGxlPzogc3RyaW5nID0gJyc7XHJcbiAgc3ViVGl0bGVVcmw/OiBzdHJpbmcgPSAnJztcclxuICBicmVhZGNydW1icz86IE5hdkl0ZW1bXTtcclxuICBoZWxwPzogSGVscDtcclxufVxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYWdlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICAvKiogRGVmYXVsdCBjc3MgY2xhc3NlcyBhcHBsaWVkIHRvIGhvc3QgZWxlbWVudCAqL1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBwcm90ZWN0ZWQgY2xhc3NMaXN0ID0gJ2QtZmxleCBmbGV4LWdyb3cnO1xyXG5cclxuICAvKipcclxuICAgKiBUaXRsZSBmb3IgdGhlIHBhZ2UgZGlzcGxheWVkIGluIHRoZSBoZWFkZXJcclxuICAgKi9cclxuICBwdWJsaWMgdGl0bGU/OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqXHJcbiAgICogU3ViIHRpdGxlIGZvciB0aGUgcGFnZSBkaXNwbGF5ZWQgaW4gdGhlIGhlYWRlclxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdWJUaXRsZT86IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTdWIgdGl0bGUgdXJsIGZvciB0aGUgcGFnZSBkaXNwbGF5ZWQgaW4gdGhlIGhlYWRlclxyXG4gICAqL1xyXG4gIHB1YmxpYyBzdWJUaXRsZVVybD86IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBTdGF0dXMgb3ZlcmxheSBmb3IgdGhlIHBhZ2VcclxuICAgKi9cclxuICBwdWJsaWMgc3RhdHVzOiBPdmVybGF5ID0gbmV3IE92ZXJsYXkoJ3BlbmRpbmcnLCAnTG9hZGluZycpO1xyXG5cclxuICAvKipcclxuICAgKiBCcmVhZGNydW1icyBkaXNwbGF5ZWQgaW4gdGhlIGhlYWRlclxyXG4gICAqL1xyXG4gIHB1YmxpYyBicmVhZGNydW1icz86IE5hdkl0ZW1bXTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVzdWx0IHJldHVybmVkIGZyb20gdGhlIG9uSW5pdCBmdW5jdGlvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBpbml0UmVzdWx0ITogUGFnZUluaXRSZXN1bHQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIEhlbHAgaW5mb3JtYXRpb24gZm9yIHRoZSBjb21wb25lbnQsIHdoaWNoIGNhbiBvbmx5IGJlIHNldCB0aHJvdWdoIG9uSW5pdFxyXG4gICAqL1xyXG4gIHB1YmxpYyBoZWxwOiBIZWxwIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBGb3JtIGdyb3VwIHRvIGJlIHVzZWQgaWYgbmVlZGVkIGJ5IHRoZSBwYWdlXHJcbiAgICovXHJcbiAgcHVibGljIGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGVmYXVsdCBpbnZhbGlkIGZvcm0gbWVzc2FnZSwgb3ZlcnJpZGUgaWYgYSBtb3JlIHNwZWNpZmljIG1lc3NhZ2UgaXMgbmVlZGVkXHJcbiAgICovXHJcbiAgcHVibGljIGRlZmF1bHRJbnZhbGlkRm9ybU1lc3NhZ2U6IHN0cmluZyA9ICdQbGVhc2VDb3JyZWN0Rm9ybV9TQyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmF1bHQgdW5rbm93biBzYXZlIGVycm9yIG1lc3NhZ2UsIG92ZXJyaWRlIGlmIGEgbW9yZSBzcGVjaWZpYyBtZXNzYWdlIGlzIG5lZWRlZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBkZWZhdWx0VW5rbm93blNhdmVFcnJvcjogc3RyaW5nID0gJ1BhZ2VCYXNlVW5rbm93blNhdmVFcnJvcl9TQyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFVzZWQgdG8gb3B0IG91dCBvZiBoaWRpbmcgdGhlIHNwbGFzaCBzY3JlZW4gd2hlbiB0aGUgcGFnZSBpcyBsb2FkZWRcclxuICAgKi9cclxuICBwdWJsaWMgc2tpcEhpZGVTcGxhc2hPbkNvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gc2V0IHRvIHRydWUgYW55IG5hdmlnYXRpb24gZW5kIGV2ZW50cyB0aGF0IGFyZSBzdHJpY3RseSBxdWVyeSBwYXJhbSBjaGFuZ2VzIHdpbGxcclxuICAgKiBub3QgY2FsbCB0aGUgb25OYXZpZ2F0aW9uRW5kIGZ1bmN0aW9uLiBUaGlzIGFsbG93cyBwYWdlcyB0byBjaGFuZ2UgdGhlIHZpZXcgd2l0aCBxdWVyeVxyXG4gICAqIHBhcmFtcyBhbmQgbm90IHRyaWdnZXIgYSBmdWxsIHJlZnJlc2guXHJcbiAgICovXHJcbiAgcHVibGljIGlnbm9yZVF1ZXJ5UGFyYW1zT25OYXZpZ2F0aW9uQ2hhbmdlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgcHJldmlvdXNVcmw6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFVzZWQgdG8gdW5zdWJzY3JpYmUgZnJvbSBvYnNlcnZhYmxlc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBkZXN0cm95ZWQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogVXNlZCB0byBrbm93IHdoZW4gdGhlIHBhZ2UgaGFzIGJlZW4gbG9hZGVkLCB0aGlzIHdpbGwgYmUgY29tcGxldGVkXHJcbiAgICogYWZ0ZXIgb25BZnRlclZpZXdJbml0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfYWZ0ZXJWaWV3SW5pdENvbXBsZXRlOiBSZXBsYXlTdWJqZWN0PHZvaWQ+ID0gbmV3IFJlcGxheVN1YmplY3QoKTtcclxuICBwdWJsaWMgYWZ0ZXJWaWV3SW5pdENvbXBsZXRlOiBPYnNlcnZhYmxlPHZvaWQ+ID0gdGhpcy5fYWZ0ZXJWaWV3SW5pdENvbXBsZXRlO1xyXG5cclxuICAvKipcclxuICAgKiBJZiBkZWZpbmVkIHRoZSBmb3JtIHdpbGwgYXV0b21hdGljYWxseSBzY3JvbGwgdG8gdGhlIGZpcnN0IGludmFsaWQgZm9ybSBjb250cm9sXHJcbiAgICogaWYgaXQncyBvdXRzaWRlIG9mIHRoZSB2aWV3XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHNjcm9sbENvbnRhaW5lclNlbGVjdG9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN1YnNjcmlwdGlvbiB0byB0aGUgcm91dGVyIGV2ZW50cyBOYXZpZ2F0aW9uRW5kXHJcbiAgICogVXNlZCB0byBrbm93IGlmIGFscmVhZHkgc3Vic2NyaWJlZCB0b1xyXG4gICAqL1xyXG4gIHByaXZhdGUgbmF2aWdhdGlvbkVuZFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29tbW9uIHNlcnZpY2VzIHVzZWQgYnkgcGFnZS1iYXNlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGVycm9yU2VydmljZTogRXJyb3JTZXJ2aWNlO1xyXG4gIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlO1xyXG4gIHByb3RlY3RlZCBzY3JvbGxTZXJ2aWNlOiBTY3JvbGxTZXJ2aWNlO1xyXG4gIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcjtcclxuICBwcm90ZWN0ZWQgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlO1xyXG4gIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlO1xyXG4gIHByb3RlY3RlZCBzcGxhc2hTZXJ2aWNlOiBTcGxhc2hTZXJ2aWNlO1xyXG4gIHByb3RlY3RlZCByb3V0ZXJIZWxwZXI6IFJvdXRlckhlbHBlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLmVycm9yU2VydmljZSA9IGluamVjdG9yLmdldChFcnJvclNlcnZpY2UpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG4gICAgdGhpcy5zY3JvbGxTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFNjcm9sbFNlcnZpY2UpO1xyXG4gICAgdGhpcy5yb3V0ZXIgPSBpbmplY3Rvci5nZXQoUm91dGVyKTtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUgPSBpbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KERpYWxvZ1NlcnZpY2UpO1xyXG4gICAgdGhpcy5zcGxhc2hTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFNwbGFzaFNlcnZpY2UpO1xyXG4gICAgdGhpcy5yb3V0ZXJIZWxwZXIgPSBpbmplY3Rvci5nZXQoUm91dGVySGVscGVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVycm9ycyB0byBiZSBzaG93biBmb3IgdGhlIGNvbXBvbmVudC5cclxuICAgKiBBdXRvbWF0aWNhbGx5IHBvcHVsYXRlZCBvbiBwcm9taXNlIHJlamVjdGlvbiBmcm9tIHNhdmUgYW5kIHNoYXJlZCB3aXRoIHRoZSBVSS5cclxuICAgKi9cclxuICBwcml2YXRlIF9lcnJvcnM6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBnZXQgZXJyb3JzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXJyb3JzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uYWwgbGlmZWN5Y2xlIGhvb2sgdGhhdCBpcyBjYWxsZWQgYXMgcGFydCBvZiB0aGUgQW5ndWxhciBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vay5cclxuICAgKiBDYWxsZWQgYmVmb3JlIG9uSW5pdCBpcyBjYWxsZWQgZm9yIHRoZSBmaXJzdCB0aW1lLiBBZGQgc2V0dXAgbG9naWMgaGVyZSB0aGF0IGRvZXNcclxuICAgKiBub3QgbmVlZCB0byBiZSBydW4gb24gZXZlcnkgcmVsb2FkLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBvbkZpcnN0SW5pdCgpOiB2b2lkIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgaW4gdGhlIGRlcml2ZWQgY2xhc3MgYXMgcGFydCBvZiB0aGUgQW5ndWxhciBuZ09uSW5pdFxyXG4gICAqIGxpZmVjeWNsZSBob29rLiBJdCBtdXN0IHByb3ZpZGUgYSBQYWdlSW5pdFJlc3VsdCBiYWNrIHRvIHRoZSBiYXNlIGNsYXNzIHRvIHByb3Blcmx5XHJcbiAgICogc2V0IHVwIHRoZSBwYWdlLlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvbkluaXQoKTogUHJvbWlzZTxQYWdlSW5pdFJlc3VsdD47XHJcbiAgcHJvdGVjdGVkIGluaXRQcm9taXNlITogUHJvbWlzZTxQYWdlSW5pdFJlc3VsdD47XHJcblxyXG4gIHB1YmxpYyBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuc2hvd1N0YXR1cyhQYWdlU3RhdHVzLkxvYWRpbmcpO1xyXG4gICAgICB0aGlzLnNldFVwUm91dGVyU3Vic2NyaXB0aW9ucygpO1xyXG4gICAgICB0aGlzLm9uRmlyc3RJbml0KCk7XHJcbiAgICAgIHRoaXMuaW5pdFByb21pc2UgPSB0aGlzLm9uSW5pdCgpO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5pbml0UHJvbWlzZTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRoaXMuc3BsYXNoU2VydmljZS5oaWRlU3BsYXNoKCk7XHJcbiAgICAgIHRoaXMub25FcnJvcihlcnJvcik7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGp1c3QgYWZ0ZXIgdGhlIEFuZ3VsYXIgTGlmZWN5Y2xlIGV2ZW50IG5nT25BZnRlclZpZXdJbml0LlxyXG4gICAqIEl0IGZpcmVzIGFmdGVyIGFsbCBzdWItY29tcG9uZW50cyBoYXZlIGdvbmUgdGhyb3VnaCB0aGVpciBpbml0aWFsaXphdGlvbiBwaGFzZS5cclxuICAgKiBJdCBpcyBpbiB0aGlzIHBoYXNlIHRoYXQgdGhlIHZpZXcgY29tcG9uZW50cyBzaG91bGQgYWxyZWFkeSBleGlzdCwgc28gYSBkZXJpdmVkIGNsYXNzIHNob3VsZFxyXG4gICAqIGxvYWQgZGF0YSBmcm9tIHRoZSBBUEkgdG8gcG9wdWxhdGUgYW55IHZpZXcgY29tcG9uZW50cy4gVGhlIHByb21pc2UgdGhhdFxyXG4gICAqIGlzIHJldHVybmVkIG11c3Qgbm90IHJlc29sdmUgdW50aWwgYWxsIHJlcXVpcmVkIGRhdGEgaGFzIGNvbXBsZXRlbHkgbG9hZGVkXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGFzeW5jIG9uQWZ0ZXJWaWV3SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHsgfTtcclxuICBwdWJsaWMgYXN5bmMgbmdBZnRlclZpZXdJbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgaW5pdFJlc3VsdCA9IGF3YWl0IHRoaXMuaW5pdFByb21pc2U7XHJcbiAgICAgIHRoaXMucGFyc2VJbml0UmVzdWx0KGluaXRSZXN1bHQpO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5vbkFmdGVyVmlld0luaXQoKTtcclxuXHJcbiAgICAgIHRoaXMuX2FmdGVyVmlld0luaXRDb21wbGV0ZS5uZXh0KCk7XHJcbiAgICAgIHRoaXMuX2FmdGVyVmlld0luaXRDb21wbGV0ZS5jb21wbGV0ZSgpO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5vbkZvcm1Mb2FkQ29tcGxldGUoKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLnN0YXR1cy5zdGF0dXMgPT09ICdwZW5kaW5nJykge1xyXG4gICAgICAgIHRoaXMuc2hvd1N0YXR1cyhQYWdlU3RhdHVzLkxvYWRlZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghdGhpcy5za2lwSGlkZVNwbGFzaE9uQ29tcGxldGUpIHtcclxuICAgICAgICB0aGlzLnNwbGFzaFNlcnZpY2UuaGlkZVNwbGFzaCgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgdGhpcy5zcGxhc2hTZXJ2aWNlLmhpZGVTcGxhc2goKTtcclxuICAgICAgdGhpcy5vbkVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgbGlmZWN5Y2xlIG1ldGhvZCB0aGF0IGV4ZWN1dGVzIG9uY2UgYWxsIGRhdGEgaGFzIGJlZW4gbG9hZGVkXHJcbiAgICogdGhyb3VnaCBuZ0FmdGVyVmlld0luaXQgYW5kIGZyb20gbG9jYWwgc3RvcmFnZSBpZiByZXF1aXJlZC5cclxuICAgKiBJdCBpcyBhdCB0aGlzIHBvaW50IHRoYXQgeW91IGNhbiBzdWJzY3JpYmUgdG8gY2hhbmdlcyBvbiB0aGUgZm9ybVxyXG4gICAqIHJlbGlhYmx5XHJcbiAgICpcclxuICAgKiBAcHJvdGVjdGVkXHJcbiAgICogQG1lbWJlcm9mIFBhZ2VCYXNlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGFzeW5jIG9uRm9ybUxvYWRDb21wbGV0ZSgpOiBQcm9taXNlPGFueT4geyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgbGlmZWN5Y2xlIGhvb2sgdGhhdCBpcyBjYWxsZWQgYWZ0ZXIgZXZlcnkgTmF2aWdhdGlvbkVuZCBldmVudC5cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb25OYXZpZ2F0aW9uRW5kKCk6IHZvaWQgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbG9hZCB0aGUgY29tcG9uZW50IGtpY2tpbmcgb2ZmIHRoZSBuZ09uSW5pdCBhbmQgbmdBZnRlclZpZXdJbml0IGxpZmVjeWNsZSBob29rcy5cclxuICAgKiBBbnkgc3RhdGUgdGhhdCBuZWVkcyB0byBiZSByZXNldCBzaG91bGQgYmUgZG9uZSBzbyBiZWZvcmUgY2FsbGluZyB0aGlzIG1ldGhvZC5cclxuICAgKi9cclxuICBwdWJsaWMgcmVsb2FkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fYWZ0ZXJWaWV3SW5pdENvbXBsZXRlID0gbmV3IFJlcGxheVN1YmplY3QoKTtcclxuXHJcbiAgICB0aGlzLnNob3dTdGF0dXMoUGFnZVN0YXR1cy5Mb2FkaW5nKTtcclxuICAgIHRoaXMuaW5pdFByb21pc2UgPSB0aGlzLm9uSW5pdCgpO1xyXG4gICAgdGhpcy5uZ0FmdGVyVmlld0luaXQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gb3ZlcnJpZGRlbiBpbiBhIGRlcml2ZWQgY2xhc3MgdGhpcyBtZXRob2Qgd2lsbCBzeW5jIHRoZSBmb3JtIHN0YXRlXHJcbiAgICogaW50byB0aGUgb2JqZWN0IHRoYXQgd2lsbCBiZSBwZXJzaXN0ZWQgdG8gdGhlIEFQSS4gVGhlIHZhbHVlIHNob3VsZCBub3RcclxuICAgKiBhY3R1YWxseSBiZSBzZW50IHRvIHRoZSBBUEkgeWV0LlxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhc3luYyBhcHBseU1vZGVsVXBkYXRlcygpOiBQcm9taXNlPHZvaWQ+IHsgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2F2ZSB0aGUgbW9kZWwgc3RhdGUgdG8gdGhlIEFQSSBhbmQgcmV0dXJuIGEgcHJvbWlzZSB0aGF0XHJcbiAgICogY29udGFpbnMgdGhlIHVwZGF0ZWQgZW50aXR5SUQuIFRoZSBwcm9taXNlIHNob3VsZCBiZSByZWplY3RlZFxyXG4gICAqIGlmIHRoZSBzYXZlIGZhaWxzIGFuZCBlcnJvcnMgYW5kIHRoZSBvdmVybGF5IHN0YXR1cyB3aWxsIGJlIHVwZGF0ZWRcclxuICAgKiBhY2NvcmRpbmdseVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhc3luYyBzYXZlVG9BcGkoKTogUHJvbWlzZTxudW1iZXIgfCB2b2lkPiB7IH07XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGxlZCBhZnRlciB0aGUgc2F2ZSBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS5cclxuICAgKiBJdCBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGRlcml2ZWQgY2xhc3MgdG8gbmF2aWdhdGVcclxuICAgKiB0byBhIHByb3BlcnRpZXMvc3RhdHVzIHBhZ2Ugb3IgZW1pdCBhcHByb3ByaWF0ZWx5IGlmIHdpdGhpbiBhIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBlbnRpdHlJZFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBvblNhdmVDb21wbGV0ZShlbnRpdHlJZD86IG51bWJlcik6IHZvaWQgeyB9O1xyXG5cclxuICAvKipcclxuICAgKiBGdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgc2F2ZS4gIFdlIHdpbGwgZmlyc3QgdG91Y2ggYWxsIGNvbnRyb2xzIHRvIHNob3cgdmFsaWRhdGlvbiBtZXNzYWdlc1xyXG4gICAqIGlmIHRoZSBmb3JtIGlzIGludmFsaWQuICBJZiB0aGUgZm9ybSBpcyB2YWxpZCB3ZSB3aWxsIGF0dGVtcHQgdG8gc2F2ZSBhbmQgYW55IGVycm9ycyB3aWxsIGJlIHJlcG9ydGVkXHJcbiAgICogYmFjayB0byB0aGUgdXNlclxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyBvblNhdmUoZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLnZhbGlkKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuc2F2ZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gT25seSBzaG93IHRoZSBiYW5uZXIgd2l0aCB0aGUgZ2VuZXJpYyBtZXNzYWdlIGlmIHRoZSBwYXJlbnQgY29tcG9uZW50IGhhc24ndCBhbHJlYWR5IHNldCBvbmVcclxuICAgICAgLy8gYnkgaW1wbGVtZW50aW5nIG9uU2F2ZSBmb3IgYWRkaXRpb25hbCB2YWxpZGF0aW9uXHJcbiAgICAgIGlmICh0aGlzLmVycm9ycyA9PT0gJycpIHtcclxuICAgICAgICB0aGlzLnNob3dFcnJvckJhbm5lcih0aGlzLmRlZmF1bHRJbnZhbGlkRm9ybU1lc3NhZ2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5zY3JvbGxDb250YWluZXJTZWxlY3Rvcikge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zY3JvbGxTZXJ2aWNlLnNjcm9sbFRvSXRlbSh0aGlzLnNjcm9sbENvbnRhaW5lclNlbGVjdG9yISwgXCIubmctaW52YWxpZFwiKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRnVuY3Rpb24gYXZhaWxhYmxlIHRvIHRyaWdnZXIgYSBzYXZlIGFuZCBieXBhc3MgdGhlIGZvcm0gdmFsaWRhdGlvbiBjaGVja3MuXHJcbiAgICogVGhpcyBpcyB1c2VmdWwgaWYgdGhlIHVzZXIgY2hvb3NlcyBhIHJlbW92ZSBhY3Rpb24gZnJvbSB3aXRoaW4gYW4gZWRpdCBkaWFsb2cuIElmIHRoZSBkaWFsb2cgZm9ybSBpcyBpbnZhbGlkXHJcbiAgICogdGhhdCBpcyBubyBjb25jZXJuIHRvIHRoZSB1c2VyIGlmIHRoZXkgd2lzaCB0byByZW1vdmUgdGhlIGl0ZW0gdGhleSBhcmUgZWRpdGluZy5cclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBwdWJsaWMgYXN5bmMgb25TYXZlV2l0aG91dFZhbGlkYXRlKGV2ZW50OiBFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5zYXZlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGRlc3Ryb3llZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveWVkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGdW5jdGlvbiB0aGF0IHdpbGwgbG9nIGFuIGVycm9yIHRoYXQgaXMgcGFzc2VkIGluIHRvIHRoZSBjb25zb2xlXHJcbiAgICogQHBhcmFtIGVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgb25FcnJvcihlcnJvcjogRXJyb3IpOiB2b2lkIHtcclxuICAgIHRoaXMuZXJyb3JTZXJ2aWNlLmxvZ0NvbnNvbGVFcnJvcihlcnJvcik7XHJcbiAgICB0aGlzLnNob3dFcnJvck92ZXJsYXkoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdyBhbiBlcnJvciBtZXNzYWdlIGluIGEgd2hvbGUtcGFnZSBvdmVybGF5LiBUaGlzIHdpbGwgcHJldmVudCBhbnkgbW9yZVxyXG4gICAqIGludGVyYWN0aW9ucyB3aXRoIHRoZSBwYWdlLiBJdCBjYW4gdGFrZSBhIHN0cmluZyBlcnJvciBtZXNzYWdlIG9yIGEgcmF3IEFQSVxyXG4gICAqIGVycm9yIHRoYXQgbmVlZHMgdG8gYmUgcGFyc2VkLiBJZiB0aGUgQVBJIGVycm9yIGlzbid0IHNvbWV0aGluZyB3ZSBjYW4gaGFuZGxlXHJcbiAgICogYSBnZW5lcmljIG1lc3NhZ2UgaXMgc2hvd24gaW5zdGVhZFxyXG4gICAqIEBwYXJhbSB7KEVycm9yIHwgc3RyaW5nKX0gZXJyb3JcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2hvd0Vycm9yT3ZlcmxheShlcnJvcjogRXJyb3IgfCBzdHJpbmcpIHtcclxuICAgIHRoaXMuZ2V0RXJyb3JNZXNzYWdlKGVycm9yKS5zdWJzY3JpYmUoKHRyYW5zbGF0ZWRNZXNzYWdlOiBzdHJpbmcpID0+IHtcclxuICAgICAgdGhpcy5zdGF0dXMuc2V0U3RhdHVzKCdlcnJvcicsIHRyYW5zbGF0ZWRNZXNzYWdlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdyBhbiBlcnJvciBpbiB0aGUgYmFubmVyIGF0IHRoZSB0b3Agb2YgdGhlIHNjcmVlbi4gIFRoaXMgd2lsbCBub3QgcHJvZHVjZSBhXHJcbiAgICogd2hvbGUtcGFnZSBvdmVybGF5IGxpa2UgdGhlIGZ1bmN0aW9uIHNob3dFcnJvciB3aWxsLiAgSXQgY2FuIHRha2UgYSBzdHJpbmcgZXJyb3IgbWVzc2FnZVxyXG4gICAqIG9yIHJhdyBBUEkgZXJyb3IgdGhhdCBuZWVkcyB0byBiZSBwYXJzZWQuICBJZiB0aGUgQVBJIGVycm9yIGlzbid0IHNvbWV0aGluZyB3ZSBjYW4gaGFuZGxlLFxyXG4gICAqIGEgZ2VuZXJpYyBtZXNzYWdlIChjdXN0b21pemFibGUgdmlhIHVua25vd25FcnJvckRlZmF1bHQpIGlzIHNob3duIGluc3RlYWQuXHJcbiAgICogQHBhcmFtIGVycm9yXHJcbiAgICogQHBhcmFtIHVua25vd25FcnJvckRlZmF1bHRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2hvd0Vycm9yQmFubmVyKGVycm9yOiBFcnJvciB8IHN0cmluZywgdW5rbm93bkVycm9yRGVmYXVsdD86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXRFcnJvck1lc3NhZ2UoZXJyb3IsIHVua25vd25FcnJvckRlZmF1bHQpLnN1YnNjcmliZSgodHJhbnNsYXRlZE1lc3NhZ2U6IHN0cmluZykgPT4ge1xyXG4gICAgICB0aGlzLl9lcnJvcnMgPSB0cmFuc2xhdGVkTWVzc2FnZTtcclxuICAgICAgdGhpcy5zaG93U3RhdHVzKFBhZ2VTdGF0dXMuTG9hZGVkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUGFyc2VzIGFuZCB0cmFuc2xhdGVzIGFuIEFQSSBlcnJvciBvciBlcnJvciBzdHJpbmcuXHJcbiAgICogQHBhcmFtIGVcclxuICAgKiBAcGFyYW0gdW5rbm93bkVycm9yRGVmYXVsdFxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXRFcnJvck1lc3NhZ2UoZTogRXJyb3IgfCBzdHJpbmcsIHVua25vd25FcnJvckRlZmF1bHQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgbGV0IGV4dHJhY3RlZE1lc3NhZ2UgPSB0aGlzLmVycm9yU2VydmljZS5wYXJzZUFwaUVycm9yKGUsIHVua25vd25FcnJvckRlZmF1bHQpO1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoZXh0cmFjdGVkTWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGUgZXJyb3JzIHRvIGhpZGUgdGhlIGVycm9ycyBiYW5uZXIuXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGhpZGVFcnJvckJhbm5lcigpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Vycm9ycyA9ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hhbmdlIHRoZSBkaXNwbGF5IHN0YXR1cyB0byBvdmVybGF5IHRoZSB3aG9sZSBwYWdlIHdoaWxlIGxvYWRpbmcgb3Igc2F2aW5nXHJcbiAgICogYW5kIGNsZWFyIGl0IHdoZW4gdGhlIGZvcm0gaXMgcmVhZHlcclxuICAgKiBAcHJvdGVjdGVkXHJcbiAgICogQHBhcmFtIHtQYWdlU3RhdHVzfSBzdGF0dXNcclxuICAgKiBAbWVtYmVyb2YgRm9ybUJhc2VDb21wb25lbnRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2hvd1N0YXR1cyhzdGF0dXM6IFBhZ2VTdGF0dXMpIHtcclxuICAgIGxldCBrbm93blN0YXR1cyA9IFBhZ2VTdGF0dXNlc1tzdGF0dXNdO1xyXG4gICAgaWYgKGtub3duU3RhdHVzKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzLnNldFN0YXR1cyhrbm93blN0YXR1cy5zdGF0dXMsIGtub3duU3RhdHVzLm1lc3NhZ2UsIHVuZGVmaW5lZCwga25vd25TdGF0dXMubm9EYXRhVGVtcGxhdGUsIGtub3duU3RhdHVzLm92ZXJsYXlDbGFzc0xpc3QpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWxsb3dzIHRoZSBjb21wb25lbnQgdG8gZW50ZXIgYSBwZW5kaW5nIHN0YXR1cyBhbmQgZXhlY3V0ZSBhIGZ1bmN0aW9uIHRoYXQgb24gY29tcGxldGlvbiB3aWxsIHJldHVybiB0aGUgc3RhdHVzXHJcbiAgICogdG8gaGFzRGF0YS4gSWYgYW4gZXJyb3Igb2NjdXJzIHdpdGhpbiB0aGUgY2FsbGJhY2sgYW4gZXJyb3IgYmFubmVyIGNhbiBiZSBzaG93bi5cclxuICAgKiBAcGFyYW0gY2FsbGJhY2tcclxuICAgKiBAcGFyYW0gcGVuZGluZ01lc3NhZ2UgLSBvcHRpb25hbCBjdXN0b20gcGVuZGluZyBtZXNzYWdlXHJcbiAgICogQHJldHVybnNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgYXN5bmMgcnVuQmxvY2tpbmdBY3Rpb24oY2FsbGJhY2s6ICgpID0+IFByb21pc2U8YW55PiwgcGVuZGluZ01lc3NhZ2U/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgdGhpcy5oaWRlRXJyb3JCYW5uZXIoKTtcclxuICAgIHRoaXMuc3RhdHVzLnNldFN0YXR1cygncGVuZGluZycsIHBlbmRpbmdNZXNzYWdlKTtcclxuXHJcbiAgICByZXR1cm4gY2FsbGJhY2soKS5jYXRjaChlcnJvciA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd0Vycm9yQmFubmVyKGVycm9yKTtcclxuICAgICAgLy8gVGhyb3cgdGhlIGVycm9yIGZvciBhbnkgZG93bnN0cmVhbSBjb21wb25lbnRzIHRoYXQgbWF5IGJlIGxpc3RlbmluZyBhbmQgbmVlZCB0byByZWFjdFxyXG4gICAgICAvLyB0byBhbnkgZXJyb3JzIGhhcHBlbmluZyB3aXRoaW4gdGhpcyBjYWxsYmFja1xyXG4gICAgICB0aHJvdyAoZXJyb3IpO1xyXG4gICAgfSkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2hvd1N0YXR1cyhQYWdlU3RhdHVzLkxvYWRlZCk7XHJcbiAgICB9KTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBQYXJzZXMgdGhlIHBhZ2UgaW5pdCByZXN1bHQgYW5kIHNldHMgdGhlIG5lY2Vzc2FyeSBwcm9wZXJ0aWVzIG9uIHRoZSBwYWdlXHJcbiAgICogQHBhcmFtIHJlc3VsdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcGFyc2VJbml0UmVzdWx0KHJlc3VsdDogUGFnZUluaXRSZXN1bHQpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdFJlc3VsdCA9IHJlc3VsdDtcclxuICAgIHRoaXMudGl0bGUgPSByZXN1bHQudGl0bGU7XHJcbiAgICB0aGlzLnN1YlRpdGxlID0gcmVzdWx0LnN1YlRpdGxlO1xyXG4gICAgdGhpcy5zdWJUaXRsZVVybCA9IHJlc3VsdC5zdWJUaXRsZVVybDtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSByZXN1bHQuYnJlYWRjcnVtYnM7XHJcbiAgICB0aGlzLmhlbHAgPSByZXN1bHQuaGVscDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnRyb2xzIHRoZSBwYWdlIHN0YXR1cywgdHJpZ2dlcnMgdGhlIHNhdmUgYWN0aW9uIGFuZCBoYW5kbGVzIGVycm9ycyB0aHJvd24uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhc3luYyBzYXZlKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zaG93U3RhdHVzKFBhZ2VTdGF0dXMuU2F2aW5nKTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLmFwcGx5TW9kZWxVcGRhdGVzKCk7XHJcbiAgICAgIGxldCBlbnRpdHlJZCA9IGF3YWl0IHRoaXMuc2F2ZVRvQXBpKCkgfHwgLTE7XHJcblxyXG4gICAgICB0aGlzLl9lcnJvcnMgPSAnJztcclxuXHJcbiAgICAgIHRoaXMub25TYXZlQ29tcGxldGUoZW50aXR5SWQpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgLy9jbGVhciB0aGUgXCJzYXZpbmdcIiBvdmVybGF5IGFuZCBzaG93IHRoZSBtZXNzYWdlIGF0IHRoZSB0b3Agb2YgdGhlIHZpZXcgdGhyb3VnaCB0aGUgZXJyb3JzIHByb3BlcnR5XHJcbiAgICAgIHRoaXMuc2hvd0Vycm9yQmFubmVyKGVycm9yLCB0aGlzLmRlZmF1bHRVbmtub3duU2F2ZUVycm9yKTtcclxuICAgICAgdGhpcy5zcGxhc2hTZXJ2aWNlLmhpZGVTcGxhc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdXAgdGhlIHJvdXRlciBldmVudCBzdWJzY3JpcHRpb25zXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRVcFJvdXRlclN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubmF2aWdhdGlvbkVuZFN1YnNjcmlwdGlvbiAmJiAhdGhpcy5kZXN0cm95ZWQuY2xvc2VkKSB7XHJcbiAgICAgIHRoaXMucHJldmlvdXNVcmwgPSB0aGlzLnJvdXRlci51cmw7XHJcblxyXG4gICAgICAvLyBSZWFjdCB0byBuYXZpZ2F0aW9uIGV2ZW50c1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25FbmRTdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpLFxyXG4gICAgICAgIGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGxldCBjdXJyZW50VXJsOiBzdHJpbmcgPSAoPE5hdmlnYXRpb25FbmQ+ZSkudXJsO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmlnbm9yZVF1ZXJ5UGFyYW1zT25OYXZpZ2F0aW9uQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXZpb3VzVXJsLnNwbGl0KCc/JylbMF0gIT09IGN1cnJlbnRVcmwuc3BsaXQoJz8nKVswXSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbkVuZEhhbmRsZXIoKDxOYXZpZ2F0aW9uRW5kPmUpLnVybCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXZpb3VzVXJsICE9PSBjdXJyZW50VXJsKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uRW5kSGFuZGxlcigoPE5hdmlnYXRpb25FbmQ+ZSkudXJsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICB0aGlzLm9uRXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5hdmlnYXRpb25FbmRIYW5kbGVyKHVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnByZXZpb3VzVXJsID0gdXJsO1xyXG4gICAgdGhpcy5vbk5hdmlnYXRpb25FbmQoKTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -53,6 +53,10 @@ export class PageViewComponent {
|
|
53
53
|
* Prevents content from overflowing the view. Content must manage overflow instead.
|
54
54
|
*/
|
55
55
|
this.fitContent = false;
|
56
|
+
/**
|
57
|
+
* Disables the primary action button
|
58
|
+
*/
|
59
|
+
this.disablePrimaryAction = false;
|
56
60
|
/** Changes the background color for the content and overlay to white */
|
57
61
|
this.bgContent = false;
|
58
62
|
this.onPrimaryAction = new EventEmitter();
|
@@ -73,12 +77,12 @@ export class PageViewComponent {
|
|
73
77
|
}
|
74
78
|
}
|
75
79
|
PageViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PageViewComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component });
|
76
|
-
PageViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PageViewComponent, selector: "ec-page-view", inputs: { isDialog: "isDialog", readonly: "readonly", status: "status", showHeader: "showHeader", errors: "errors", breadcrumbs: "breadcrumbs", title: "title", titleIcon: "titleIcon", subTitle: "subTitle", subTitleUrl: "subTitleUrl", moreActionsLabel: "moreActionsLabel", moreActions: "moreActions", secondaryActionLabel: "secondaryActionLabel", hideSecondaryAction: "hideSecondaryAction", hideCloseOnPending: "hideCloseOnPending", primaryActionLabel: "primaryActionLabel", hidePrimaryAction: "hidePrimaryAction", customTitleTemplate: "customTitleTemplate", customActionsTemplate: "customActionsTemplate", customHeaderTemplate: "customHeaderTemplate", footerTemplate: "footerTemplate", customErrorBannerTemplate: "customErrorBannerTemplate", stickyFooter: "stickyFooter", fitContent: "fitContent", bgContent: "bgContent" }, outputs: { onPrimaryAction: "onPrimaryAction", onSecondaryAction: "onSecondaryAction" }, host: { properties: { "class.bg-content": "this.bgContent" }, classAttribute: "flex-grow" }, ngImport: i0, template: "<div ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [displayAsMask]=\"true\"\r\n class=\"flex-grow d-flex\"\r\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\r\n <div id=\"PageViewScrollContainer\"\r\n class=\"d-flex flex-column flex-grow scroll-y\"\r\n [class.is-dialog]=\"isDialog\"\r\n [class.fit-content]=\"fitContent\"\r\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\r\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\r\n [class.footer-visible]=\"!!footerTemplate\">\r\n <section>\r\n <ng-content></ng-content>\r\n </section>\r\n\r\n <footer *ngIf=\"footerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf=\"showHeader\">\r\n <ol id=\"breadcrumbs\"\r\n *ngIf=\"breadcrumbs?.length && !isDialog\">\r\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\r\n <a *ngIf=\"crumb.url; else label\"\r\n [routerLink]=\"crumb.url\">\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n\r\n <div class=\"titlebar\">\r\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\r\n [title]=\"title\"\r\n [subTitle]=\"subTitle\"\r\n [subTitleUrl]=\"subTitleUrl\"\r\n [titleIcon]=\"titleIcon\"\r\n class=\"title text-truncate\">\r\n </app-page-title>\r\n\r\n <ng-template #customTitle>\r\n <div class=\"title\">\r\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"actions\">\r\n <ec-button id=\"primaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n type=\"primary\"\r\n [label]=\"primaryActionLabel\"\r\n (clicked)=\"primaryAction($event)\">\r\n </ec-button>\r\n <ec-button id=\"secondaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\r\n type=\"secondary\"\r\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\r\n (clicked)=\"secondaryAction($event)\">\r\n </ec-button>\r\n <ec-dropdown id=\"moreActions\"\r\n *ngIf=\"moreActions?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n class=\"ml-2\"\r\n buttonType=\"text\"\r\n [label]=\"moreActionsLabel\"\r\n [items]=\"moreActions\">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"customHeaderTemplate\"\r\n class=\"page-header\">\r\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\r\n </div>\r\n\r\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <div [innerHtml]=\"errors\"></div>\r\n </ec-banner>\r\n\r\n <ng-template #customErrorBannerOutlet>\r\n <ec-banner *ngIf=\"errors\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\r\n </ec-banner>\r\n </ng-template>\r\n </header>\r\n </div>\r\n\r\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\r\n id=\"pageViewDialogClose\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"closeDialog()\">\r\n </ec-button>\r\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: i5.ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: i6.BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: i7.DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: i8.PageTitleComponent, selector: "app-page-title", inputs: ["title", "titleIcon", "subTitle", "subTitleUrl"] }] });
|
80
|
+
PageViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PageViewComponent, selector: "ec-page-view", inputs: { isDialog: "isDialog", readonly: "readonly", status: "status", showHeader: "showHeader", errors: "errors", breadcrumbs: "breadcrumbs", title: "title", titleIcon: "titleIcon", subTitle: "subTitle", subTitleUrl: "subTitleUrl", moreActionsLabel: "moreActionsLabel", moreActions: "moreActions", secondaryActionLabel: "secondaryActionLabel", hideSecondaryAction: "hideSecondaryAction", hideCloseOnPending: "hideCloseOnPending", primaryActionLabel: "primaryActionLabel", hidePrimaryAction: "hidePrimaryAction", customTitleTemplate: "customTitleTemplate", customActionsTemplate: "customActionsTemplate", customHeaderTemplate: "customHeaderTemplate", footerTemplate: "footerTemplate", customErrorBannerTemplate: "customErrorBannerTemplate", stickyFooter: "stickyFooter", fitContent: "fitContent", disablePrimaryAction: "disablePrimaryAction", bgContent: "bgContent" }, outputs: { onPrimaryAction: "onPrimaryAction", onSecondaryAction: "onSecondaryAction" }, host: { properties: { "class.bg-content": "this.bgContent" }, classAttribute: "flex-grow" }, ngImport: i0, template: "<div ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [displayAsMask]=\"true\"\r\n class=\"flex-grow d-flex\"\r\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\r\n <div id=\"PageViewScrollContainer\"\r\n class=\"d-flex flex-column flex-grow scroll-y\"\r\n [class.is-dialog]=\"isDialog\"\r\n [class.fit-content]=\"fitContent\"\r\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\r\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\r\n [class.footer-visible]=\"!!footerTemplate\">\r\n <section>\r\n <ng-content></ng-content>\r\n </section>\r\n\r\n <footer *ngIf=\"footerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf=\"showHeader\">\r\n <ol id=\"breadcrumbs\"\r\n *ngIf=\"breadcrumbs?.length && !isDialog\">\r\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\r\n <a *ngIf=\"crumb.url; else label\"\r\n [routerLink]=\"crumb.url\">\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n\r\n <div class=\"titlebar\">\r\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\r\n [title]=\"title\"\r\n [subTitle]=\"subTitle\"\r\n [subTitleUrl]=\"subTitleUrl\"\r\n [titleIcon]=\"titleIcon\"\r\n class=\"title text-truncate\">\r\n </app-page-title>\r\n\r\n <ng-template #customTitle>\r\n <div class=\"title\">\r\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"actions\">\r\n <ec-button id=\"primaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending' || disablePrimaryAction\"\r\n type=\"primary\"\r\n [label]=\"primaryActionLabel\"\r\n (clicked)=\"primaryAction($event)\">\r\n </ec-button>\r\n <ec-button id=\"secondaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\r\n type=\"secondary\"\r\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\r\n (clicked)=\"secondaryAction($event)\">\r\n </ec-button>\r\n <ec-dropdown id=\"moreActions\"\r\n *ngIf=\"moreActions?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n class=\"ml-2\"\r\n buttonType=\"text\"\r\n [label]=\"moreActionsLabel\"\r\n [items]=\"moreActions\">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"customHeaderTemplate\"\r\n class=\"page-header\">\r\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\r\n </div>\r\n\r\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <div [innerHtml]=\"errors\"></div>\r\n </ec-banner>\r\n\r\n <ng-template #customErrorBannerOutlet>\r\n <ec-banner *ngIf=\"errors\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\r\n </ec-banner>\r\n </ng-template>\r\n </header>\r\n </div>\r\n\r\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\r\n id=\"pageViewDialogClose\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"closeDialog()\">\r\n </ec-button>\r\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: i5.ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: i6.BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: i7.DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: i8.PageTitleComponent, selector: "app-page-title", inputs: ["title", "titleIcon", "subTitle", "subTitleUrl"] }] });
|
77
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PageViewComponent, decorators: [{
|
78
82
|
type: Component,
|
79
83
|
args: [{ selector: 'ec-page-view', host: {
|
80
84
|
class: "flex-grow"
|
81
|
-
}, template: "<div ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [displayAsMask]=\"true\"\r\n class=\"flex-grow d-flex\"\r\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\r\n <div id=\"PageViewScrollContainer\"\r\n class=\"d-flex flex-column flex-grow scroll-y\"\r\n [class.is-dialog]=\"isDialog\"\r\n [class.fit-content]=\"fitContent\"\r\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\r\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\r\n [class.footer-visible]=\"!!footerTemplate\">\r\n <section>\r\n <ng-content></ng-content>\r\n </section>\r\n\r\n <footer *ngIf=\"footerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf=\"showHeader\">\r\n <ol id=\"breadcrumbs\"\r\n *ngIf=\"breadcrumbs?.length && !isDialog\">\r\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\r\n <a *ngIf=\"crumb.url; else label\"\r\n [routerLink]=\"crumb.url\">\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n\r\n <div class=\"titlebar\">\r\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\r\n [title]=\"title\"\r\n [subTitle]=\"subTitle\"\r\n [subTitleUrl]=\"subTitleUrl\"\r\n [titleIcon]=\"titleIcon\"\r\n class=\"title text-truncate\">\r\n </app-page-title>\r\n\r\n <ng-template #customTitle>\r\n <div class=\"title\">\r\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"actions\">\r\n <ec-button id=\"primaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n type=\"primary\"\r\n [label]=\"primaryActionLabel\"\r\n (clicked)=\"primaryAction($event)\">\r\n </ec-button>\r\n <ec-button id=\"secondaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\r\n type=\"secondary\"\r\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\r\n (clicked)=\"secondaryAction($event)\">\r\n </ec-button>\r\n <ec-dropdown id=\"moreActions\"\r\n *ngIf=\"moreActions?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n class=\"ml-2\"\r\n buttonType=\"text\"\r\n [label]=\"moreActionsLabel\"\r\n [items]=\"moreActions\">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"customHeaderTemplate\"\r\n class=\"page-header\">\r\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\r\n </div>\r\n\r\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <div [innerHtml]=\"errors\"></div>\r\n </ec-banner>\r\n\r\n <ng-template #customErrorBannerOutlet>\r\n <ec-banner *ngIf=\"errors\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\r\n </ec-banner>\r\n </ng-template>\r\n </header>\r\n </div>\r\n\r\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\r\n id=\"pageViewDialogClose\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"closeDialog()\">\r\n </ec-button>\r\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"] }]
|
85
|
+
}, template: "<div ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [displayAsMask]=\"true\"\r\n class=\"flex-grow d-flex\"\r\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\r\n <div id=\"PageViewScrollContainer\"\r\n class=\"d-flex flex-column flex-grow scroll-y\"\r\n [class.is-dialog]=\"isDialog\"\r\n [class.fit-content]=\"fitContent\"\r\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\r\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\r\n [class.footer-visible]=\"!!footerTemplate\">\r\n <section>\r\n <ng-content></ng-content>\r\n </section>\r\n\r\n <footer *ngIf=\"footerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf=\"showHeader\">\r\n <ol id=\"breadcrumbs\"\r\n *ngIf=\"breadcrumbs?.length && !isDialog\">\r\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\r\n <a *ngIf=\"crumb.url; else label\"\r\n [routerLink]=\"crumb.url\">\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n\r\n <div class=\"titlebar\">\r\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\r\n [title]=\"title\"\r\n [subTitle]=\"subTitle\"\r\n [subTitleUrl]=\"subTitleUrl\"\r\n [titleIcon]=\"titleIcon\"\r\n class=\"title text-truncate\">\r\n </app-page-title>\r\n\r\n <ng-template #customTitle>\r\n <div class=\"title\">\r\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"actions\">\r\n <ec-button id=\"primaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending' || disablePrimaryAction\"\r\n type=\"primary\"\r\n [label]=\"primaryActionLabel\"\r\n (clicked)=\"primaryAction($event)\">\r\n </ec-button>\r\n <ec-button id=\"secondaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\r\n type=\"secondary\"\r\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\r\n (clicked)=\"secondaryAction($event)\">\r\n </ec-button>\r\n <ec-dropdown id=\"moreActions\"\r\n *ngIf=\"moreActions?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n class=\"ml-2\"\r\n buttonType=\"text\"\r\n [label]=\"moreActionsLabel\"\r\n [items]=\"moreActions\">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"customHeaderTemplate\"\r\n class=\"page-header\">\r\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\r\n </div>\r\n\r\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <div [innerHtml]=\"errors\"></div>\r\n </ec-banner>\r\n\r\n <ng-template #customErrorBannerOutlet>\r\n <ec-banner *ngIf=\"errors\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\r\n </ec-banner>\r\n </ng-template>\r\n </header>\r\n </div>\r\n\r\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\r\n id=\"pageViewDialogClose\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"closeDialog()\">\r\n </ec-button>\r\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"] }]
|
82
86
|
}], ctorParameters: function () { return [{ type: i1.DialogService }]; }, propDecorators: { isDialog: [{
|
83
87
|
type: Input
|
84
88
|
}], readonly: [{
|
@@ -127,6 +131,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
127
131
|
type: Input
|
128
132
|
}], fitContent: [{
|
129
133
|
type: Input
|
134
|
+
}], disablePrimaryAction: [{
|
135
|
+
type: Input
|
130
136
|
}], bgContent: [{
|
131
137
|
type: HostBinding,
|
132
138
|
args: ['class.bg-content']
|
@@ -137,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
137
143
|
}], onSecondaryAction: [{
|
138
144
|
type: Output
|
139
145
|
}] } });
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvcGFnZS9wYWdlLXZpZXcvcGFnZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvcGFnZS9wYWdlLXZpZXcvcGFnZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBSWpHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFVcEUsTUFBTSxPQUFPLGlCQUFpQjtJQXlHNUIsWUFDVSxhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXpHdEM7O1dBRUc7UUFDYSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFDOztXQUVHO1FBQ2EsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQzs7V0FFRztRQUNhLFdBQU0sR0FBYSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxRDs7V0FFRztRQUNhLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFvQjNDOztXQUVHO1FBQ2EscUJBQWdCLEdBQVksU0FBUyxDQUFDO1FBTXREOztXQUVHO1FBQ2EseUJBQW9CLEdBQVksUUFBUSxDQUFDO1FBQ3pDLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QywwR0FBMEc7UUFDMUYsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRXBEOztXQUVHO1FBQ2EsdUJBQWtCLEdBQVksTUFBTSxDQUFDO1FBQ3JDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQTJCMUM7O1dBRUc7UUFDYSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUVwQzs7V0FFRztRQUNhLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkMsd0VBQXdFO1FBRXhELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFakIsb0JBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUl2RSxDQUFDO0lBRUUsYUFBYSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFVO1FBQy9CLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7OEdBM0hVLGlCQUFpQjtrR0FBakIsaUJBQWlCLGtpQ0NmOUIsMDhKQXVHTTsyRkR4Rk8saUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLGNBQWMsUUFHbEI7d0JBQ0osS0FBSyxFQUFFLFdBQVc7cUJBQ25CO29HQU1lLFFBQVE7c0JBQXZCLEtBQUs7Z0JBS1UsUUFBUTtzQkFBdkIsS0FBSztnQkFLVSxNQUFNO3NCQUFyQixLQUFLO2dCQUtVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBS1UsTUFBTTtzQkFBckIsS0FBSztnQkFLVSxXQUFXO3NCQUExQixLQUFLO2dCQUtVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUlVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1Usb0JBQW9CO3NCQUFuQyxLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFHVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBS1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFLVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBS1UscUJBQXFCO3NCQUFwQyxLQUFLO2dCQUtVLG9CQUFvQjtzQkFBbkMsS0FBSztnQkFLVSxjQUFjO3NCQUE3QixLQUFLO2dCQUtVLHlCQUF5QjtzQkFBeEMsS0FBSztnQkFLVSxZQUFZO3NCQUEzQixLQUFLO2dCQUtVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBSVUsU0FBUztzQkFEeEIsV0FBVzt1QkFBQyxrQkFBa0I7O3NCQUM5QixLQUFLO2dCQUVXLGVBQWU7c0JBQS9CLE1BQU07Z0JBQ1UsaUJBQWlCO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGlzcGxheS9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJy4uLy4uLy4uL2NvbnRyb2xzL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZJdGVtIH0gZnJvbSAnLi4vLi4vLi4vY29udHJvbHMvbmF2aWdhdGlvbi9uYXYtaXRlbSc7XHJcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi8uLi8uLi9kaXNwbGF5L3ZpZXctb3ZlcmxheS92aWV3LW92ZXJsYXkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vZGlzcGxheS9kaWFsb2cvZGlhbG9nLXR5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtcGFnZS12aWV3JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS12aWV3LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wYWdlLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogXCJmbGV4LWdyb3dcIlxyXG4gIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2VWaWV3Q29tcG9uZW50IHtcclxuICAvKipcclxuICAgKiBTZXQgdG8gdHJ1ZSB3aGVuIHBhZ2UtdmlldyBpcyBpbnNpZGUgYSBkaWFsb2cgdG8gYWRqdXN0IHN0eWxlcyBhbmQgaGlkZSBicmVhZGNydW1icy5cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaXNEaWFsb2c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRvIHRydWUgdG8gZW5hYmxlIHJlYWQgb25seSBtb2RlLiBPbmx5IGEgc2luZ2xlIHNlY29uZGFyeSBhY3Rpb24gd2lsbCBiZSBhdmFpbGFibGVcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udHJvbHMgT3ZlcmxheSB0aGF0IG1hc2tzIHRoZSBwYWdlIHZpZXcgY29udGVudC4gT25seSB0aGUgaGVhZGVyIGlzIG5vdCBtYXNrZWQgd2hlbiB0aGUgb3ZlcmxheSBpcyB2aXNpYmxlLiBEZWZhdWx0IGlzIHBlbmRpbmcgT3ZlcmxheSB3aXRoIG5vIG1lc3NhZ2VcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc3RhdHVzPzogT3ZlcmxheSA9IG5ldyBPdmVybGF5KCdwZW5kaW5nJyk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0byBmYWxzZSB0byBoaWRlIHRoZSBlbnRpcmUgaGVhZGVyLCBpbmNsdWRpbmcgYnJlYWRjcnVtYnMgYW5kIGVycm9yIGJhbm5lci4gRGVmYXVsdCBpcyB0cnVlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93SGVhZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheXMgYW4gZXJyb3IgYmFubmVyIHVuZGVyIHRoZSB0aXRsZWJhciB3aGVuIHByb3ZpZGVkIGEgdmFsdWUuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGVycm9ycz86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQnJlYWRjcnVtYnMgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBoZWFkZXIuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGJyZWFkY3J1bWJzPzogTmF2SXRlbVtdO1xyXG5cclxuICAvKipcclxuICAgKiBUaXRsZSBzZXR0aW5ncy4gUGFzc2VkIHRvIHRoZSBQYWdlVGl0bGVDb21wb25lbnQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHRpdGxlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZUljb24/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIHN1YlRpdGxlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJUaXRsZVVybD86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogTGFiZWwgZm9yIHRoZSBhY3Rpb25zIGRyb3Bkb3duIGluIHRoZSBoZWFkZXIuIERlZmF1bHQgaXMgJ0FjdGlvbnMnXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG1vcmVBY3Rpb25zTGFiZWw/OiBzdHJpbmcgPSAnQWN0aW9ucyc7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9ucyBmb3IgdGhlIGFjdGlvbnMgZHJvcGRvd24gaW4gdGhlIGhlYWRlci4gVGhlIGRyb3Bkb3duIGlzIGhpZGRlbiBpZiBub3Qgb3B0aW9ucyBhcmUgcHJvdmlkZWQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG1vcmVBY3Rpb25zPzogTWVudUl0ZW1bXTtcclxuXHJcbiAgLyoqXHJcbiAgICogTGFiZWwgZm9yIHRoZSBzZWNvbmRhcnkgYnV0dG9uIGluIHRoZSBoZWFkZXIuIERlZmF1bHQgaXMgJ0NhbmNlbCdcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc2Vjb25kYXJ5QWN0aW9uTGFiZWw/OiBzdHJpbmcgPSAnQ2FuY2VsJztcclxuICBASW5wdXQoKSBwdWJsaWMgaGlkZVNlY29uZGFyeUFjdGlvbiA9IGZhbHNlO1xyXG5cclxuICAvKiogRmxhZyBmb3IgaGlkaW5nIHRoZSB0aW55IGNsb3NlIGJ1dHRvbiBpbiB0aGUgdG9wLXJpZ2h0IGNvcm5lciBvZiBkaWFsb2cgd2hpbGUgaW4gcGVuZGluZyBzdGF0ZSBvbmx5ICovXHJcbiAgQElucHV0KCkgcHVibGljIGhpZGVDbG9zZU9uUGVuZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBMYWJlbCBmb3IgdGhlIHByaW1hcnkgYnV0dG9uIGluIHRoZSBoZWFkZXIuIERlZmF1bHQgaXMgJ1NhdmUnXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHByaW1hcnlBY3Rpb25MYWJlbD86IHN0cmluZyA9ICdTYXZlJztcclxuICBASW5wdXQoKSBwdWJsaWMgaGlkZVByaW1hcnlBY3Rpb24gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVwbGFjZXMgdGhlIHRpdGxlLCBzdWJ0aXRsZSBhbmQgdGl0bGUgaWNvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21UaXRsZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5zZXJ0ZWQgdG8gdGhlIGxlZnQgb2YgdGhlIGRlZmF1bHQgYWN0aW9uc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21BY3Rpb25zVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBSZXBsYWNlcyB0aGUgdGl0bGViYXIgYW5kIGFjdGlvbnMgb2YgdGhlIGRlZmF1bHQgaGVhZGVyLiBCcmVhZGNydW1icyBhbmQgZXJyb3IgYmFubmVyIGFyZSBub3QgcmVwbGFjZWQuIENhbm5vdCBjb250YWluIGEgPGhlYWRlcj4gZWxlbWVudC5cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tSGVhZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBDb250ZW50IHRvIGluY2x1ZGUgaW4gdGhlIGZvb3RlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmb290ZXJUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlcGxhY2VzIHRoZSBFcnJvciBCYW5uZXIgZGVmYXVsdCB0ZW1wbGF0ZS4gVXNlZnVsIHdoZW4gd2UgbmVlZCB0byBzaG93IG1vcmUgdGhhbiB0ZXh0IGluIHRoZSBiYW5uZXIuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUVycm9yQmFubmVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBQaW5zIHRoZSBmb290ZXIgdG8gdGhlIGJvdHRvbSBvZiB0aGUgdmlldyBhbmQgb3ZlcmxheXMgYW55IG92ZXJmbG93aW5nIGNvbnRlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc3RpY2t5Rm9vdGVyID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogUHJldmVudHMgY29udGVudCBmcm9tIG92ZXJmbG93aW5nIHRoZSB2aWV3LiBDb250ZW50IG11c3QgbWFuYWdlIG92ZXJmbG93IGluc3RlYWQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGZpdENvbnRlbnQgPSBmYWxzZTtcclxuXHJcbiAgLyoqIENoYW5nZXMgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBjb250ZW50IGFuZCBvdmVybGF5IHRvIHdoaXRlICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5iZy1jb250ZW50JylcclxuICBASW5wdXQoKSBwdWJsaWMgYmdDb250ZW50ID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25QcmltYXJ5QWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG9uU2Vjb25kYXJ5QWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBwdWJsaWMgcHJpbWFyeUFjdGlvbihldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5vblByaW1hcnlBY3Rpb24pIHtcclxuICAgICAgdGhpcy5vblByaW1hcnlBY3Rpb24uZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2Vjb25kYXJ5QWN0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLm9uU2Vjb25kYXJ5QWN0aW9uKSB7XHJcbiAgICAgIHRoaXMub25TZWNvbmRhcnlBY3Rpb24uZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VEaWFsb2coKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY2xvc2VMYXRlc3REaWFsb2cobmV3IERpYWxvZ1Jlc3VsdChmYWxzZSkpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGVjT3ZlcmxheVxyXG4gICAgIFtzdGF0dXNdPVwic3RhdHVzPy5zdGF0dXNcIlxyXG4gICAgIFttZXNzYWdlXT1cInN0YXR1cz8ubWVzc2FnZVwiXHJcbiAgICAgW2Rpc3BsYXlBc01hc2tdPVwidHJ1ZVwiXHJcbiAgICAgY2xhc3M9XCJmbGV4LWdyb3cgZC1mbGV4XCJcclxuICAgICBbbmdDbGFzc109XCJ7J2JnLWJvZHknOiAhYmdDb250ZW50LCAnYmctY29udGVudCc6IGJnQ29udGVudH1cIj5cclxuICAgIDxkaXYgaWQ9XCJQYWdlVmlld1Njcm9sbENvbnRhaW5lclwiXHJcbiAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtZ3JvdyBzY3JvbGwteVwiXHJcbiAgICAgICAgIFtjbGFzcy5pcy1kaWFsb2ddPVwiaXNEaWFsb2dcIlxyXG4gICAgICAgICBbY2xhc3MuZml0LWNvbnRlbnRdPVwiZml0Q29udGVudFwiXHJcbiAgICAgICAgIFtjbGFzcy5zdGlja3ktZm9vdGVyXT1cInN0aWNreUZvb3RlciAmJiAhIWZvb3RlclRlbXBsYXRlXCJcclxuICAgICAgICAgW2NsYXNzLm92ZXJsYXktdmlzaWJsZV09XCJzdGF0dXM/LnN0YXR1cyAhPT0gJ2hhc0RhdGEnXCJcclxuICAgICAgICAgW2NsYXNzLmZvb3Rlci12aXNpYmxlXT1cIiEhZm9vdGVyVGVtcGxhdGVcIj5cclxuICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgICAgPGZvb3RlciAqbmdJZj1cImZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZm9vdGVyPlxyXG5cclxuICAgICAgICA8aGVhZGVyICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgICAgICAgICA8b2wgaWQ9XCJicmVhZGNydW1ic1wiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImJyZWFkY3J1bWJzPy5sZW5ndGggJiYgIWlzRGlhbG9nXCI+XHJcbiAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGNydW1iIG9mIGJyZWFkY3J1bWJzOyBsYXN0IGFzIGlzTGFzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiY3J1bWIudXJsOyBlbHNlIGxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJjcnVtYi51cmxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWw+e3tjcnVtYi5sYWJlbH19PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDwvb2w+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGViYXJcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtcGFnZS10aXRsZSAqbmdJZj1cIiFjdXN0b21UaXRsZVRlbXBsYXRlOyBlbHNlIGN1c3RvbVRpdGxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdWJUaXRsZV09XCJzdWJUaXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N1YlRpdGxlVXJsXT1cInN1YlRpdGxlVXJsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVJY29uXT1cInRpdGxlSWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aXRsZSB0ZXh0LXRydW5jYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1wYWdlLXRpdGxlPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tVGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21UaXRsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGVjLWJ1dHRvbiBpZD1cInByaW1hcnlBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWhpZGVQcmltYXJ5QWN0aW9uICYmIG9uUHJpbWFyeUFjdGlvbi5vYnNlcnZlcnM/Lmxlbmd0aCAmJiAhcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN0YXR1cz8uc3RhdHVzID09PSAncGVuZGluZydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInByaW1hcnlBY3Rpb25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJwcmltYXJ5QWN0aW9uKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2VjLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZWMtYnV0dG9uIGlkPVwic2Vjb25kYXJ5QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFoaWRlU2Vjb25kYXJ5QWN0aW9uICYmIG9uU2Vjb25kYXJ5QWN0aW9uLm9ic2VydmVycz8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInJlYWRvbmx5ID8gJ0Nsb3NlJyA6IHNlY29uZGFyeUFjdGlvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cInNlY29uZGFyeUFjdGlvbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9lYy1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGVjLWRyb3Bkb3duIGlkPVwibW9yZUFjdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm1vcmVBY3Rpb25zPy5sZW5ndGggJiYgIXJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN0YXR1cz8uc3RhdHVzID09PSAncGVuZGluZydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJtb3JlQWN0aW9uc0xhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm1vcmVBY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9lYy1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tQWN0aW9uc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VzdG9tSGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwicGFnZS1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21IZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxlYy1iYW5uZXIgKm5nSWY9XCIhY3VzdG9tRXJyb3JCYW5uZXJUZW1wbGF0ZSAmJiBlcnJvcnM7IGVsc2UgY3VzdG9tRXJyb3JCYW5uZXJPdXRsZXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGlkPVwicGFnZVZpZXdFcnJvcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5ib3JkZXItYm90dG9tLTBdPVwiIWlzRGlhbG9nXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckh0bWxdPVwiZXJyb3JzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZWMtYmFubmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjdXN0b21FcnJvckJhbm5lck91dGxldD5cclxuICAgICAgICAgICAgICAgIDxlYy1iYW5uZXIgKm5nSWY9XCJlcnJvcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInBhZ2VWaWV3RXJyb3JzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJvcmRlci1ib3R0b20tMF09XCIhaXNEaWFsb2dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tRXJyb3JCYW5uZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9lYy1iYW5uZXI+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9oZWFkZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZWMtYnV0dG9uICpuZ0lmPVwiaXNEaWFsb2cgJiYgKCAoc3RhdHVzPy5zdGF0dXMgPT09ICdwZW5kaW5nJyAmJiAhaGlkZUNsb3NlT25QZW5kaW5nKSB8fCBzdGF0dXM/LnN0YXR1cyA9PT0gJ2Vycm9yJylcIlxyXG4gICAgICAgICAgICAgICBpZD1cInBhZ2VWaWV3RGlhbG9nQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICB0eXBlPVwiaWNvblwiXHJcbiAgICAgICAgICAgICAgIGljb249XCJpY29uLWNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgIChjbGlja2VkKT1cImNsb3NlRGlhbG9nKClcIj5cclxuICAgIDwvZWMtYnV0dG9uPlxyXG48L2Rpdj4iXX0=
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvcGFnZS9wYWdlLXZpZXcvcGFnZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zaGFyZWQvcGFnZS9wYWdlLXZpZXcvcGFnZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBSWpHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFVcEUsTUFBTSxPQUFPLGlCQUFpQjtJQThHNUIsWUFDVSxhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQTlHdEM7O1dBRUc7UUFDYSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFDOztXQUVHO1FBQ2EsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQzs7V0FFRztRQUNhLFdBQU0sR0FBYSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxRDs7V0FFRztRQUNhLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFvQjNDOztXQUVHO1FBQ2EscUJBQWdCLEdBQVksU0FBUyxDQUFDO1FBTXREOztXQUVHO1FBQ2EseUJBQW9CLEdBQVksUUFBUSxDQUFDO1FBQ3pDLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QywwR0FBMEc7UUFDMUYsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBRXBEOztXQUVHO1FBQ2EsdUJBQWtCLEdBQVksTUFBTSxDQUFDO1FBQ3JDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQTJCMUM7O1dBRUc7UUFDYSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUVwQzs7V0FFRztRQUNhLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkM7O1dBRUc7UUFDYSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFFN0Msd0VBQXdFO1FBRXhELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFakIsb0JBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4RCxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUl2RSxDQUFDO0lBRUUsYUFBYSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFVO1FBQy9CLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7OEdBaElVLGlCQUFpQjtrR0FBakIsaUJBQWlCLGdsQ0NmOUIsaytKQXVHTTsyRkR4Rk8saUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLGNBQWMsUUFHbEI7d0JBQ0osS0FBSyxFQUFFLFdBQVc7cUJBQ25CO29HQU1lLFFBQVE7c0JBQXZCLEtBQUs7Z0JBS1UsUUFBUTtzQkFBdkIsS0FBSztnQkFLVSxNQUFNO3NCQUFyQixLQUFLO2dCQUtVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBS1UsTUFBTTtzQkFBckIsS0FBSztnQkFLVSxXQUFXO3NCQUExQixLQUFLO2dCQUtVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUlVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1Usb0JBQW9CO3NCQUFuQyxLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFHVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBS1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFLVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBS1UscUJBQXFCO3NCQUFwQyxLQUFLO2dCQUtVLG9CQUFvQjtzQkFBbkMsS0FBSztnQkFLVSxjQUFjO3NCQUE3QixLQUFLO2dCQUtVLHlCQUF5QjtzQkFBeEMsS0FBSztnQkFLVSxZQUFZO3NCQUEzQixLQUFLO2dCQUtVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBS1Usb0JBQW9CO3NCQUFuQyxLQUFLO2dCQUlVLFNBQVM7c0JBRHhCLFdBQVc7dUJBQUMsa0JBQWtCOztzQkFDOUIsS0FBSztnQkFFVyxlQUFlO3NCQUEvQixNQUFNO2dCQUNVLGlCQUFpQjtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9jb250cm9scy9tZW51L21lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmF2SXRlbSB9IGZyb20gJy4uLy4uLy4uL2NvbnRyb2xzL25hdmlnYXRpb24vbmF2LWl0ZW0nO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi4vLi4vLi4vZGlzcGxheS92aWV3LW92ZXJsYXkvdmlldy1vdmVybGF5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpYWxvZ1Jlc3VsdCB9IGZyb20gJy4uLy4uLy4uL2Rpc3BsYXkvZGlhbG9nL2RpYWxvZy10eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLXBhZ2UtdmlldycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2Utdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGFnZS12aWV3LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6IFwiZmxleC1ncm93XCJcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlVmlld0NvbXBvbmVudCB7XHJcbiAgLyoqXHJcbiAgICogU2V0IHRvIHRydWUgd2hlbiBwYWdlLXZpZXcgaXMgaW5zaWRlIGEgZGlhbG9nIHRvIGFkanVzdCBzdHlsZXMgYW5kIGhpZGUgYnJlYWRjcnVtYnMuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlzRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0byB0cnVlIHRvIGVuYWJsZSByZWFkIG9ubHkgbW9kZS4gT25seSBhIHNpbmdsZSBzZWNvbmRhcnkgYWN0aW9uIHdpbGwgYmUgYXZhaWxhYmxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnRyb2xzIE92ZXJsYXkgdGhhdCBtYXNrcyB0aGUgcGFnZSB2aWV3IGNvbnRlbnQuIE9ubHkgdGhlIGhlYWRlciBpcyBub3QgbWFza2VkIHdoZW4gdGhlIG92ZXJsYXkgaXMgdmlzaWJsZS4gRGVmYXVsdCBpcyBwZW5kaW5nIE92ZXJsYXkgd2l0aCBubyBtZXNzYWdlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHN0YXR1cz86IE92ZXJsYXkgPSBuZXcgT3ZlcmxheSgncGVuZGluZycpO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdG8gZmFsc2UgdG8gaGlkZSB0aGUgZW50aXJlIGhlYWRlciwgaW5jbHVkaW5nIGJyZWFkY3J1bWJzIGFuZCBlcnJvciBiYW5uZXIuIERlZmF1bHQgaXMgdHJ1ZS5cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc2hvd0hlYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXlzIGFuIGVycm9yIGJhbm5lciB1bmRlciB0aGUgdGl0bGViYXIgd2hlbiBwcm92aWRlZCBhIHZhbHVlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlcnJvcnM/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEJyZWFkY3J1bWJzIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgaGVhZGVyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBicmVhZGNydW1icz86IE5hdkl0ZW1bXTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGl0bGUgc2V0dGluZ3MuIFBhc3NlZCB0byB0aGUgUGFnZVRpdGxlQ29tcG9uZW50LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZT86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgdGl0bGVJY29uPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJUaXRsZT86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgc3ViVGl0bGVVcmw/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIExhYmVsIGZvciB0aGUgYWN0aW9ucyBkcm9wZG93biBpbiB0aGUgaGVhZGVyLiBEZWZhdWx0IGlzICdBY3Rpb25zJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtb3JlQWN0aW9uc0xhYmVsPzogc3RyaW5nID0gJ0FjdGlvbnMnO1xyXG4gIC8qKlxyXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBhY3Rpb25zIGRyb3Bkb3duIGluIHRoZSBoZWFkZXIuIFRoZSBkcm9wZG93biBpcyBoaWRkZW4gaWYgbm90IG9wdGlvbnMgYXJlIHByb3ZpZGVkLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtb3JlQWN0aW9ucz86IE1lbnVJdGVtW107XHJcblxyXG4gIC8qKlxyXG4gICAqIExhYmVsIGZvciB0aGUgc2Vjb25kYXJ5IGJ1dHRvbiBpbiB0aGUgaGVhZGVyLiBEZWZhdWx0IGlzICdDYW5jZWwnXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHNlY29uZGFyeUFjdGlvbkxhYmVsPzogc3RyaW5nID0gJ0NhbmNlbCc7XHJcbiAgQElucHV0KCkgcHVibGljIGhpZGVTZWNvbmRhcnlBY3Rpb24gPSBmYWxzZTtcclxuXHJcbiAgLyoqIEZsYWcgZm9yIGhpZGluZyB0aGUgdGlueSBjbG9zZSBidXR0b24gaW4gdGhlIHRvcC1yaWdodCBjb3JuZXIgb2YgZGlhbG9nIHdoaWxlIGluIHBlbmRpbmcgc3RhdGUgb25seSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlQ2xvc2VPblBlbmRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogTGFiZWwgZm9yIHRoZSBwcmltYXJ5IGJ1dHRvbiBpbiB0aGUgaGVhZGVyLiBEZWZhdWx0IGlzICdTYXZlJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwcmltYXJ5QWN0aW9uTGFiZWw/OiBzdHJpbmcgPSAnU2F2ZSc7XHJcbiAgQElucHV0KCkgcHVibGljIGhpZGVQcmltYXJ5QWN0aW9uID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlcGxhY2VzIHRoZSB0aXRsZSwgc3VidGl0bGUgYW5kIHRpdGxlIGljb25cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tVGl0bGVUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIEluc2VydGVkIHRvIHRoZSBsZWZ0IG9mIHRoZSBkZWZhdWx0IGFjdGlvbnNcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tQWN0aW9uc1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogUmVwbGFjZXMgdGhlIHRpdGxlYmFyIGFuZCBhY3Rpb25zIG9mIHRoZSBkZWZhdWx0IGhlYWRlci4gQnJlYWRjcnVtYnMgYW5kIGVycm9yIGJhbm5lciBhcmUgbm90IHJlcGxhY2VkLiBDYW5ub3QgY29udGFpbiBhIDxoZWFkZXI+IGVsZW1lbnQuXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUhlYWRlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udGVudCB0byBpbmNsdWRlIGluIHRoZSBmb290ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZm9vdGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBSZXBsYWNlcyB0aGUgRXJyb3IgQmFubmVyIGRlZmF1bHQgdGVtcGxhdGUuIFVzZWZ1bCB3aGVuIHdlIG5lZWQgdG8gc2hvdyBtb3JlIHRoYW4gdGV4dCBpbiB0aGUgYmFubmVyLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21FcnJvckJhbm5lclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogUGlucyB0aGUgZm9vdGVyIHRvIHRoZSBib3R0b20gb2YgdGhlIHZpZXcgYW5kIG92ZXJsYXlzIGFueSBvdmVyZmxvd2luZyBjb250ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHN0aWNreUZvb3RlciA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZXZlbnRzIGNvbnRlbnQgZnJvbSBvdmVyZmxvd2luZyB0aGUgdmlldy4gQ29udGVudCBtdXN0IG1hbmFnZSBvdmVyZmxvdyBpbnN0ZWFkLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaXRDb250ZW50ID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc2FibGVzIHRoZSBwcmltYXJ5IGFjdGlvbiBidXR0b25cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZVByaW1hcnlBY3Rpb24gPSBmYWxzZTtcclxuXHJcbiAgLyoqIENoYW5nZXMgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBjb250ZW50IGFuZCBvdmVybGF5IHRvIHdoaXRlICovXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5iZy1jb250ZW50JylcclxuICBASW5wdXQoKSBwdWJsaWMgYmdDb250ZW50ID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25QcmltYXJ5QWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG9uU2Vjb25kYXJ5QWN0aW9uOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBwdWJsaWMgcHJpbWFyeUFjdGlvbihldmVudDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5vblByaW1hcnlBY3Rpb24pIHtcclxuICAgICAgdGhpcy5vblByaW1hcnlBY3Rpb24uZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2Vjb25kYXJ5QWN0aW9uKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLm9uU2Vjb25kYXJ5QWN0aW9uKSB7XHJcbiAgICAgIHRoaXMub25TZWNvbmRhcnlBY3Rpb24uZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VEaWFsb2coKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuY2xvc2VMYXRlc3REaWFsb2cobmV3IERpYWxvZ1Jlc3VsdChmYWxzZSkpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGVjT3ZlcmxheVxyXG4gICAgIFtzdGF0dXNdPVwic3RhdHVzPy5zdGF0dXNcIlxyXG4gICAgIFttZXNzYWdlXT1cInN0YXR1cz8ubWVzc2FnZVwiXHJcbiAgICAgW2Rpc3BsYXlBc01hc2tdPVwidHJ1ZVwiXHJcbiAgICAgY2xhc3M9XCJmbGV4LWdyb3cgZC1mbGV4XCJcclxuICAgICBbbmdDbGFzc109XCJ7J2JnLWJvZHknOiAhYmdDb250ZW50LCAnYmctY29udGVudCc6IGJnQ29udGVudH1cIj5cclxuICAgIDxkaXYgaWQ9XCJQYWdlVmlld1Njcm9sbENvbnRhaW5lclwiXHJcbiAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtZ3JvdyBzY3JvbGwteVwiXHJcbiAgICAgICAgIFtjbGFzcy5pcy1kaWFsb2ddPVwiaXNEaWFsb2dcIlxyXG4gICAgICAgICBbY2xhc3MuZml0LWNvbnRlbnRdPVwiZml0Q29udGVudFwiXHJcbiAgICAgICAgIFtjbGFzcy5zdGlja3ktZm9vdGVyXT1cInN0aWNreUZvb3RlciAmJiAhIWZvb3RlclRlbXBsYXRlXCJcclxuICAgICAgICAgW2NsYXNzLm92ZXJsYXktdmlzaWJsZV09XCJzdGF0dXM/LnN0YXR1cyAhPT0gJ2hhc0RhdGEnXCJcclxuICAgICAgICAgW2NsYXNzLmZvb3Rlci12aXNpYmxlXT1cIiEhZm9vdGVyVGVtcGxhdGVcIj5cclxuICAgICAgICA8c2VjdGlvbj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgICAgPGZvb3RlciAqbmdJZj1cImZvb3RlclRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZm9vdGVyPlxyXG5cclxuICAgICAgICA8aGVhZGVyICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgICAgICAgICA8b2wgaWQ9XCJicmVhZGNydW1ic1wiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImJyZWFkY3J1bWJzPy5sZW5ndGggJiYgIWlzRGlhbG9nXCI+XHJcbiAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGNydW1iIG9mIGJyZWFkY3J1bWJzOyBsYXN0IGFzIGlzTGFzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiY3J1bWIudXJsOyBlbHNlIGxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJjcnVtYi51cmxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxhYmVsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGFiZWw+e3tjcnVtYi5sYWJlbH19PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDwvb2w+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGViYXJcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtcGFnZS10aXRsZSAqbmdJZj1cIiFjdXN0b21UaXRsZVRlbXBsYXRlOyBlbHNlIGN1c3RvbVRpdGxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdWJUaXRsZV09XCJzdWJUaXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N1YlRpdGxlVXJsXT1cInN1YlRpdGxlVXJsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVJY29uXT1cInRpdGxlSWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aXRsZSB0ZXh0LXRydW5jYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8L2FwcC1wYWdlLXRpdGxlPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tVGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21UaXRsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGVjLWJ1dHRvbiBpZD1cInByaW1hcnlBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0yXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWhpZGVQcmltYXJ5QWN0aW9uICYmIG9uUHJpbWFyeUFjdGlvbi5vYnNlcnZlcnM/Lmxlbmd0aCAmJiAhcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN0YXR1cz8uc3RhdHVzID09PSAncGVuZGluZycgfHwgZGlzYWJsZVByaW1hcnlBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInByaW1hcnlBY3Rpb25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJwcmltYXJ5QWN0aW9uKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2VjLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZWMtYnV0dG9uIGlkPVwic2Vjb25kYXJ5QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFoaWRlU2Vjb25kYXJ5QWN0aW9uICYmIG9uU2Vjb25kYXJ5QWN0aW9uLm9ic2VydmVycz8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cInJlYWRvbmx5ID8gJ0Nsb3NlJyA6IHNlY29uZGFyeUFjdGlvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cInNlY29uZGFyeUFjdGlvbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9lYy1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGVjLWRyb3Bkb3duIGlkPVwibW9yZUFjdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm1vcmVBY3Rpb25zPy5sZW5ndGggJiYgIXJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInN0YXR1cz8uc3RhdHVzID09PSAncGVuZGluZydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b25UeXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJtb3JlQWN0aW9uc0xhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm1vcmVBY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9lYy1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tQWN0aW9uc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VzdG9tSGVhZGVyVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwicGFnZS1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21IZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxlYy1iYW5uZXIgKm5nSWY9XCIhY3VzdG9tRXJyb3JCYW5uZXJUZW1wbGF0ZSAmJiBlcnJvcnM7IGVsc2UgY3VzdG9tRXJyb3JCYW5uZXJPdXRsZXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGlkPVwicGFnZVZpZXdFcnJvcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5ib3JkZXItYm90dG9tLTBdPVwiIWlzRGlhbG9nXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtpbm5lckh0bWxdPVwiZXJyb3JzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZWMtYmFubmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjdXN0b21FcnJvckJhbm5lck91dGxldD5cclxuICAgICAgICAgICAgICAgIDxlYy1iYW5uZXIgKm5nSWY9XCJlcnJvcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInBhZ2VWaWV3RXJyb3JzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmJvcmRlci1ib3R0b20tMF09XCIhaXNEaWFsb2dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tRXJyb3JCYW5uZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9lYy1iYW5uZXI+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9oZWFkZXI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZWMtYnV0dG9uICpuZ0lmPVwiaXNEaWFsb2cgJiYgKCAoc3RhdHVzPy5zdGF0dXMgPT09ICdwZW5kaW5nJyAmJiAhaGlkZUNsb3NlT25QZW5kaW5nKSB8fCBzdGF0dXM/LnN0YXR1cyA9PT0gJ2Vycm9yJylcIlxyXG4gICAgICAgICAgICAgICBpZD1cInBhZ2VWaWV3RGlhbG9nQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICB0eXBlPVwiaWNvblwiXHJcbiAgICAgICAgICAgICAgIGljb249XCJpY29uLWNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgIChjbGlja2VkKT1cImNsb3NlRGlhbG9nKClcIj5cclxuICAgIDwvZWMtYnV0dG9uPlxyXG48L2Rpdj4iXX0=
|
@@ -8462,6 +8462,10 @@ class PageViewComponent {
|
|
8462
8462
|
* Prevents content from overflowing the view. Content must manage overflow instead.
|
8463
8463
|
*/
|
8464
8464
|
this.fitContent = false;
|
8465
|
+
/**
|
8466
|
+
* Disables the primary action button
|
8467
|
+
*/
|
8468
|
+
this.disablePrimaryAction = false;
|
8465
8469
|
/** Changes the background color for the content and overlay to white */
|
8466
8470
|
this.bgContent = false;
|
8467
8471
|
this.onPrimaryAction = new EventEmitter();
|
@@ -8482,12 +8486,12 @@ class PageViewComponent {
|
|
8482
8486
|
}
|
8483
8487
|
}
|
8484
8488
|
PageViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PageViewComponent, deps: [{ token: DialogService }], target: i0.ɵɵFactoryTarget.Component });
|
8485
|
-
PageViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PageViewComponent, selector: "ec-page-view", inputs: { isDialog: "isDialog", readonly: "readonly", status: "status", showHeader: "showHeader", errors: "errors", breadcrumbs: "breadcrumbs", title: "title", titleIcon: "titleIcon", subTitle: "subTitle", subTitleUrl: "subTitleUrl", moreActionsLabel: "moreActionsLabel", moreActions: "moreActions", secondaryActionLabel: "secondaryActionLabel", hideSecondaryAction: "hideSecondaryAction", hideCloseOnPending: "hideCloseOnPending", primaryActionLabel: "primaryActionLabel", hidePrimaryAction: "hidePrimaryAction", customTitleTemplate: "customTitleTemplate", customActionsTemplate: "customActionsTemplate", customHeaderTemplate: "customHeaderTemplate", footerTemplate: "footerTemplate", customErrorBannerTemplate: "customErrorBannerTemplate", stickyFooter: "stickyFooter", fitContent: "fitContent", bgContent: "bgContent" }, outputs: { onPrimaryAction: "onPrimaryAction", onSecondaryAction: "onSecondaryAction" }, host: { properties: { "class.bg-content": "this.bgContent" }, classAttribute: "flex-grow" }, ngImport: i0, template: "<div ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [displayAsMask]=\"true\"\r\n class=\"flex-grow d-flex\"\r\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\r\n <div id=\"PageViewScrollContainer\"\r\n class=\"d-flex flex-column flex-grow scroll-y\"\r\n [class.is-dialog]=\"isDialog\"\r\n [class.fit-content]=\"fitContent\"\r\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\r\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\r\n [class.footer-visible]=\"!!footerTemplate\">\r\n <section>\r\n <ng-content></ng-content>\r\n </section>\r\n\r\n <footer *ngIf=\"footerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf=\"showHeader\">\r\n <ol id=\"breadcrumbs\"\r\n *ngIf=\"breadcrumbs?.length && !isDialog\">\r\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\r\n <a *ngIf=\"crumb.url; else label\"\r\n [routerLink]=\"crumb.url\">\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n\r\n <div class=\"titlebar\">\r\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\r\n [title]=\"title\"\r\n [subTitle]=\"subTitle\"\r\n [subTitleUrl]=\"subTitleUrl\"\r\n [titleIcon]=\"titleIcon\"\r\n class=\"title text-truncate\">\r\n </app-page-title>\r\n\r\n <ng-template #customTitle>\r\n <div class=\"title\">\r\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"actions\">\r\n <ec-button id=\"primaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n type=\"primary\"\r\n [label]=\"primaryActionLabel\"\r\n (clicked)=\"primaryAction($event)\">\r\n </ec-button>\r\n <ec-button id=\"secondaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\r\n type=\"secondary\"\r\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\r\n (clicked)=\"secondaryAction($event)\">\r\n </ec-button>\r\n <ec-dropdown id=\"moreActions\"\r\n *ngIf=\"moreActions?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n class=\"ml-2\"\r\n buttonType=\"text\"\r\n [label]=\"moreActionsLabel\"\r\n [items]=\"moreActions\">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"customHeaderTemplate\"\r\n class=\"page-header\">\r\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\r\n </div>\r\n\r\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <div [innerHtml]=\"errors\"></div>\r\n </ec-banner>\r\n\r\n <ng-template #customErrorBannerOutlet>\r\n <ec-banner *ngIf=\"errors\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\r\n </ec-banner>\r\n </ng-template>\r\n </header>\r\n </div>\r\n\r\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\r\n id=\"pageViewDialogClose\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"closeDialog()\">\r\n </ec-button>\r\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: PageTitleComponent, selector: "app-page-title", inputs: ["title", "titleIcon", "subTitle", "subTitleUrl"] }] });
|
8489
|
+
PageViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PageViewComponent, selector: "ec-page-view", inputs: { isDialog: "isDialog", readonly: "readonly", status: "status", showHeader: "showHeader", errors: "errors", breadcrumbs: "breadcrumbs", title: "title", titleIcon: "titleIcon", subTitle: "subTitle", subTitleUrl: "subTitleUrl", moreActionsLabel: "moreActionsLabel", moreActions: "moreActions", secondaryActionLabel: "secondaryActionLabel", hideSecondaryAction: "hideSecondaryAction", hideCloseOnPending: "hideCloseOnPending", primaryActionLabel: "primaryActionLabel", hidePrimaryAction: "hidePrimaryAction", customTitleTemplate: "customTitleTemplate", customActionsTemplate: "customActionsTemplate", customHeaderTemplate: "customHeaderTemplate", footerTemplate: "footerTemplate", customErrorBannerTemplate: "customErrorBannerTemplate", stickyFooter: "stickyFooter", fitContent: "fitContent", disablePrimaryAction: "disablePrimaryAction", bgContent: "bgContent" }, outputs: { onPrimaryAction: "onPrimaryAction", onSecondaryAction: "onSecondaryAction" }, host: { properties: { "class.bg-content": "this.bgContent" }, classAttribute: "flex-grow" }, ngImport: i0, template: "<div ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [displayAsMask]=\"true\"\r\n class=\"flex-grow d-flex\"\r\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\r\n <div id=\"PageViewScrollContainer\"\r\n class=\"d-flex flex-column flex-grow scroll-y\"\r\n [class.is-dialog]=\"isDialog\"\r\n [class.fit-content]=\"fitContent\"\r\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\r\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\r\n [class.footer-visible]=\"!!footerTemplate\">\r\n <section>\r\n <ng-content></ng-content>\r\n </section>\r\n\r\n <footer *ngIf=\"footerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf=\"showHeader\">\r\n <ol id=\"breadcrumbs\"\r\n *ngIf=\"breadcrumbs?.length && !isDialog\">\r\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\r\n <a *ngIf=\"crumb.url; else label\"\r\n [routerLink]=\"crumb.url\">\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n\r\n <div class=\"titlebar\">\r\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\r\n [title]=\"title\"\r\n [subTitle]=\"subTitle\"\r\n [subTitleUrl]=\"subTitleUrl\"\r\n [titleIcon]=\"titleIcon\"\r\n class=\"title text-truncate\">\r\n </app-page-title>\r\n\r\n <ng-template #customTitle>\r\n <div class=\"title\">\r\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"actions\">\r\n <ec-button id=\"primaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending' || disablePrimaryAction\"\r\n type=\"primary\"\r\n [label]=\"primaryActionLabel\"\r\n (clicked)=\"primaryAction($event)\">\r\n </ec-button>\r\n <ec-button id=\"secondaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\r\n type=\"secondary\"\r\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\r\n (clicked)=\"secondaryAction($event)\">\r\n </ec-button>\r\n <ec-dropdown id=\"moreActions\"\r\n *ngIf=\"moreActions?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n class=\"ml-2\"\r\n buttonType=\"text\"\r\n [label]=\"moreActionsLabel\"\r\n [items]=\"moreActions\">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"customHeaderTemplate\"\r\n class=\"page-header\">\r\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\r\n </div>\r\n\r\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <div [innerHtml]=\"errors\"></div>\r\n </ec-banner>\r\n\r\n <ng-template #customErrorBannerOutlet>\r\n <ec-banner *ngIf=\"errors\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\r\n </ec-banner>\r\n </ng-template>\r\n </header>\r\n </div>\r\n\r\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\r\n id=\"pageViewDialogClose\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"closeDialog()\">\r\n </ec-button>\r\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: PageTitleComponent, selector: "app-page-title", inputs: ["title", "titleIcon", "subTitle", "subTitleUrl"] }] });
|
8486
8490
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PageViewComponent, decorators: [{
|
8487
8491
|
type: Component,
|
8488
8492
|
args: [{ selector: 'ec-page-view', host: {
|
8489
8493
|
class: "flex-grow"
|
8490
|
-
}, template: "<div ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [displayAsMask]=\"true\"\r\n class=\"flex-grow d-flex\"\r\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\r\n <div id=\"PageViewScrollContainer\"\r\n class=\"d-flex flex-column flex-grow scroll-y\"\r\n [class.is-dialog]=\"isDialog\"\r\n [class.fit-content]=\"fitContent\"\r\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\r\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\r\n [class.footer-visible]=\"!!footerTemplate\">\r\n <section>\r\n <ng-content></ng-content>\r\n </section>\r\n\r\n <footer *ngIf=\"footerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf=\"showHeader\">\r\n <ol id=\"breadcrumbs\"\r\n *ngIf=\"breadcrumbs?.length && !isDialog\">\r\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\r\n <a *ngIf=\"crumb.url; else label\"\r\n [routerLink]=\"crumb.url\">\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n\r\n <div class=\"titlebar\">\r\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\r\n [title]=\"title\"\r\n [subTitle]=\"subTitle\"\r\n [subTitleUrl]=\"subTitleUrl\"\r\n [titleIcon]=\"titleIcon\"\r\n class=\"title text-truncate\">\r\n </app-page-title>\r\n\r\n <ng-template #customTitle>\r\n <div class=\"title\">\r\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"actions\">\r\n <ec-button id=\"primaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n type=\"primary\"\r\n [label]=\"primaryActionLabel\"\r\n (clicked)=\"primaryAction($event)\">\r\n </ec-button>\r\n <ec-button id=\"secondaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\r\n type=\"secondary\"\r\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\r\n (clicked)=\"secondaryAction($event)\">\r\n </ec-button>\r\n <ec-dropdown id=\"moreActions\"\r\n *ngIf=\"moreActions?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n class=\"ml-2\"\r\n buttonType=\"text\"\r\n [label]=\"moreActionsLabel\"\r\n [items]=\"moreActions\">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"customHeaderTemplate\"\r\n class=\"page-header\">\r\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\r\n </div>\r\n\r\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <div [innerHtml]=\"errors\"></div>\r\n </ec-banner>\r\n\r\n <ng-template #customErrorBannerOutlet>\r\n <ec-banner *ngIf=\"errors\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\r\n </ec-banner>\r\n </ng-template>\r\n </header>\r\n </div>\r\n\r\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\r\n id=\"pageViewDialogClose\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"closeDialog()\">\r\n </ec-button>\r\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"] }]
|
8494
|
+
}, template: "<div ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [displayAsMask]=\"true\"\r\n class=\"flex-grow d-flex\"\r\n [ngClass]=\"{'bg-body': !bgContent, 'bg-content': bgContent}\">\r\n <div id=\"PageViewScrollContainer\"\r\n class=\"d-flex flex-column flex-grow scroll-y\"\r\n [class.is-dialog]=\"isDialog\"\r\n [class.fit-content]=\"fitContent\"\r\n [class.sticky-footer]=\"stickyFooter && !!footerTemplate\"\r\n [class.overlay-visible]=\"status?.status !== 'hasData'\"\r\n [class.footer-visible]=\"!!footerTemplate\">\r\n <section>\r\n <ng-content></ng-content>\r\n </section>\r\n\r\n <footer *ngIf=\"footerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf=\"showHeader\">\r\n <ol id=\"breadcrumbs\"\r\n *ngIf=\"breadcrumbs?.length && !isDialog\">\r\n <li *ngFor=\"let crumb of breadcrumbs; last as isLast\">\r\n <a *ngIf=\"crumb.url; else label\"\r\n [routerLink]=\"crumb.url\">\r\n <ng-container *ngTemplateOutlet=\"label\"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n\r\n <div class=\"titlebar\">\r\n <app-page-title *ngIf=\"!customTitleTemplate; else customTitle\"\r\n [title]=\"title\"\r\n [subTitle]=\"subTitle\"\r\n [subTitleUrl]=\"subTitleUrl\"\r\n [titleIcon]=\"titleIcon\"\r\n class=\"title text-truncate\">\r\n </app-page-title>\r\n\r\n <ng-template #customTitle>\r\n <div class=\"title\">\r\n <ng-container *ngTemplateOutlet=\"customTitleTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"actions\">\r\n <ec-button id=\"primaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hidePrimaryAction && onPrimaryAction.observers?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending' || disablePrimaryAction\"\r\n type=\"primary\"\r\n [label]=\"primaryActionLabel\"\r\n (clicked)=\"primaryAction($event)\">\r\n </ec-button>\r\n <ec-button id=\"secondaryAction\"\r\n class=\"ml-2\"\r\n *ngIf=\"!hideSecondaryAction && onSecondaryAction.observers?.length\"\r\n type=\"secondary\"\r\n [label]=\"readonly ? 'Close' : secondaryActionLabel\"\r\n (clicked)=\"secondaryAction($event)\">\r\n </ec-button>\r\n <ec-dropdown id=\"moreActions\"\r\n *ngIf=\"moreActions?.length && !readonly\"\r\n [disabled]=\"status?.status === 'pending'\"\r\n class=\"ml-2\"\r\n buttonType=\"text\"\r\n [label]=\"moreActionsLabel\"\r\n [items]=\"moreActions\">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet=\"customActionsTemplate\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"customHeaderTemplate\"\r\n class=\"page-header\">\r\n <ng-container *ngTemplateOutlet=\"customHeaderTemplate\"></ng-container>\r\n </div>\r\n\r\n <ec-banner *ngIf=\"!customErrorBannerTemplate && errors; else customErrorBannerOutlet\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <div [innerHtml]=\"errors\"></div>\r\n </ec-banner>\r\n\r\n <ng-template #customErrorBannerOutlet>\r\n <ec-banner *ngIf=\"errors\"\r\n id=\"pageViewErrors\"\r\n [class.border-bottom-0]=\"!isDialog\">\r\n <ng-container *ngTemplateOutlet=\"customErrorBannerTemplate\"></ng-container>\r\n </ec-banner>\r\n </ng-template>\r\n </header>\r\n </div>\r\n\r\n <ec-button *ngIf=\"isDialog && ( (status?.status === 'pending' && !hideCloseOnPending) || status?.status === 'error')\"\r\n id=\"pageViewDialogClose\"\r\n type=\"icon\"\r\n icon=\"icon-cancel\"\r\n (clicked)=\"closeDialog()\">\r\n </ec-button>\r\n</div>", styles: [":host{flex:1 1;min-height:0;display:flex}header{background-color:var(--ec-background-color-body);position:sticky;top:0;order:1;padding:1rem 1.5rem .5rem;flex:none;z-index:var(--ec-z-index-sticky-page-header)}ol{font-size:var(--ec-font-size-label);line-height:1rem;grid-column:1/3;grid-row:1/2;list-style:none;padding:0;margin:0 0 .25rem}ol li{display:inline}ol li:not(:last-child):after{content:\" / \";display:inline;color:var(--ec-color-secondary-dark)}div[ecOverlay]{position:relative}.titlebar{display:grid;grid-template-columns:auto max-content;grid-template-rows:max-content max-content;gap:0 1rem}.title{grid-column:1/2;grid-row:2/3;align-self:center}.actions{grid-column:2/3;grid-row:2/3;display:flex;flex-direction:row-reverse}ec-banner{margin-top:1rem}section{padding:var(--ec-page-view-padding-section, .5rem 1.5rem 2rem);order:2;flex:1 0 auto;min-height:0}:not(.is-dialog)>section{z-index:0}footer{background-color:var(--ec-background-color-body);order:3;padding:0 1.5rem;height:4.5rem;flex:none;display:flex;align-items:center}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section, 1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{position:sticky;bottom:0;z-index:var(--ec-z-index-sticky-page-header)}.fit-content>section{flex:1 1;display:flex}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}:host(.bg-content) header{background-color:var(--ec-background-color)}:host(.bg-content) section{background-color:var(--ec-background-color)}:host(.bg-content) footer{background-color:var(--ec-background-color)}#pageViewDialogClose{position:absolute;top:1rem;right:1rem;z-index:calc(var(--ec-z-index-overlay) + 1)}\n"] }]
|
8491
8495
|
}], ctorParameters: function () { return [{ type: DialogService }]; }, propDecorators: { isDialog: [{
|
8492
8496
|
type: Input
|
8493
8497
|
}], readonly: [{
|
@@ -8536,6 +8540,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
8536
8540
|
type: Input
|
8537
8541
|
}], fitContent: [{
|
8538
8542
|
type: Input
|
8543
|
+
}], disablePrimaryAction: [{
|
8544
|
+
type: Input
|
8539
8545
|
}], bgContent: [{
|
8540
8546
|
type: HostBinding,
|
8541
8547
|
args: ['class.bg-content']
|