@netgrif/components-core 6.0.4 → 6.1.0-rc.1
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/bundles/netgrif-components-core.umd.js +283 -86
- package/bundles/netgrif-components-core.umd.js.map +1 -1
- package/bundles/netgrif-components-core.umd.min.js +2 -2
- package/bundles/netgrif-components-core.umd.min.js.map +1 -1
- package/esm2015/lib/allowed-nets/services/base-allowed-nets.service.js +2 -1
- package/esm2015/lib/allowed-nets/services/factory/allowed-nets-service-factory.js +8 -6
- package/esm2015/lib/data-fields/models/abstract-data-field.js +2 -2
- package/esm2015/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.js +6 -3
- package/esm2015/lib/panel/abstract/panel-with-header-binding.js +2 -5
- package/esm2015/lib/panel/panel-item/abstract-panel-item.component.js +13 -0
- package/esm2015/lib/panel/public-api.js +3 -1
- package/esm2015/lib/panel/task-panel-list/abstract-task-list.component.js +9 -60
- package/esm2015/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.js +80 -0
- package/esm2015/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.js +42 -0
- package/esm2015/lib/utility/tests/utility/create-mock-net.js +3 -2
- package/esm2015/lib/view/case-view/abstract-case-view.js +11 -2
- package/esm2015/lib/view/case-view/components/case-list/abstract-case-list.component.js +5 -48
- package/esm2015/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.js +38 -0
- package/esm2015/lib/view/case-view/components/default-case-list/abstract-default-case-list.js +66 -0
- package/esm2015/lib/view/case-view/service/case-view-service.js +15 -1
- package/esm2015/lib/view/public-api.js +2 -1
- package/esm2015/lib/view/task-view/service/task-view.service.js +15 -1
- package/esm2015/netgrif-components-core.js +9 -7
- package/esm5/lib/allowed-nets/services/base-allowed-nets.service.js +2 -1
- package/esm5/lib/allowed-nets/services/factory/allowed-nets-service-factory.js +8 -6
- package/esm5/lib/data-fields/models/abstract-data-field.js +2 -2
- package/esm5/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.js +6 -3
- package/esm5/lib/panel/abstract/panel-with-header-binding.js +5 -5
- package/esm5/lib/panel/panel-item/abstract-panel-item.component.js +15 -0
- package/esm5/lib/panel/public-api.js +3 -1
- package/esm5/lib/panel/task-panel-list/abstract-task-list.component.js +9 -61
- package/esm5/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.js +90 -0
- package/esm5/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.js +52 -0
- package/esm5/lib/utility/tests/utility/create-mock-net.js +4 -2
- package/esm5/lib/view/case-view/abstract-case-view.js +11 -2
- package/esm5/lib/view/case-view/components/case-list/abstract-case-list.component.js +5 -49
- package/esm5/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.js +43 -0
- package/esm5/lib/view/case-view/components/default-case-list/abstract-default-case-list.js +72 -0
- package/esm5/lib/view/case-view/service/case-view-service.js +19 -1
- package/esm5/lib/view/public-api.js +2 -1
- package/esm5/lib/view/task-view/service/task-view.service.js +19 -1
- package/esm5/netgrif-components-core.js +9 -7
- package/fesm2015/netgrif-components-core.js +216 -57
- package/fesm2015/netgrif-components-core.js.map +1 -1
- package/fesm5/netgrif-components-core.js +267 -75
- package/fesm5/netgrif-components-core.js.map +1 -1
- package/lib/allowed-nets/services/base-allowed-nets.service.d.ts +1 -0
- package/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.d.ts +1 -0
- package/lib/panel/panel-item/abstract-panel-item.component.d.ts +8 -0
- package/lib/panel/public-api.d.ts +2 -0
- package/lib/panel/task-panel-list/abstract-task-list.component.d.ts +6 -34
- package/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.d.ts +43 -0
- package/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.d.ts +20 -0
- package/lib/utility/tests/utility/create-mock-net.d.ts +2 -1
- package/lib/view/case-view/abstract-case-view.d.ts +6 -2
- package/lib/view/case-view/components/case-list/abstract-case-list.component.d.ts +2 -21
- package/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.d.ts +18 -0
- package/lib/view/case-view/components/default-case-list/abstract-default-case-list.d.ts +30 -0
- package/lib/view/case-view/service/case-view-service.d.ts +3 -1
- package/lib/view/public-api.d.ts +1 -0
- package/lib/view/task-view/service/task-view.service.d.ts +2 -0
- package/netgrif-components-core.d.ts +10 -8
- package/netgrif-components-core.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -424,7 +424,7 @@ var DataField = /** @class */ (function () {
|
|
|
424
424
|
* @param b - second compared value
|
|
425
425
|
*/
|
|
426
426
|
DataField.prototype.valueEquality = function (a, b) {
|
|
427
|
-
return a === b;
|
|
427
|
+
return a === b || (Number.isNaN(a) && Number.isNaN(b));
|
|
428
428
|
};
|
|
429
429
|
/**
|
|
430
430
|
* Updates the state of this data field model object.
|
|
@@ -508,4 +508,4 @@ var DataField = /** @class */ (function () {
|
|
|
508
508
|
return DataField;
|
|
509
509
|
}());
|
|
510
510
|
export { DataField };
|
|
511
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGF0YS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZXRncmlmL2NvbXBvbmVudHMtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9kYXRhLWZpZWxkcy9tb2RlbHMvYWJzdHJhY3QtZGF0YS1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLGVBQWUsRUFBYyxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUEyQixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBTWxFOzs7R0FHRztBQUNIO0lBeUdJOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILG1CQUE4QixTQUFpQixFQUFVLE1BQWMsRUFBRSxZQUFlLEVBQzFELFNBQW1CLEVBQVUsWUFBcUIsRUFDbEQsWUFBcUIsRUFBVSxPQUFnQixFQUFTLFdBQStCLEVBQ3ZGLFVBQXNCLEVBQVUsYUFBc0IsRUFBVSxhQUFzQjtRQUh0RixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN6QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQVM7UUFDbEQsaUJBQVksR0FBWixZQUFZLENBQVM7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQ3ZGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBUztRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBckRwSDs7V0FFRztRQUNLLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUNsQzs7V0FFRztRQUNLLGVBQVUsR0FBRyxLQUFLLENBQUM7UUErQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUksWUFBWSxDQUFDLENBQUM7UUFD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QUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztTQUNqQztJQUNMLENBQUM7SUFDTCxnQkFBQztBQUFELENBQUMsQUFqaUJELElBaWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmVoYXZpb3J9IGZyb20gJy4vYmVoYXZpb3InO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDaGFuZ2V9IGZyb20gJy4vY2hhbmdlZC1maWVsZHMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xheW91dH0gZnJvbSAnLi9sYXlvdXQnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50JztcbmltcG9ydCB7VmFsaWRhdGlvbn0gZnJvbSAnLi92YWxpZGF0aW9uJztcblxuLyoqXG4gKiBIb2xkcyB0aGUgbG9naWMgY29tbW9uIHRvIGFsbCBkYXRhIGZpZWxkIE1vZGVsIG9iamVjdHMuXG4gKiBAdHlwZXBhcmFtIFQgLSB0eXBlIG9mIHRoZSBgdmFsdWVgIHByb3BlcnR5IG9mIHRoZSBkYXRhIGZpZWxkXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRhRmllbGQ8VD4ge1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBDdXJyZW50IHZhbHVlIG9mIHRoZSBkYXRhIGZpZWxkXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF92YWx1ZTogQmVoYXZpb3JTdWJqZWN0PFQ+O1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBQcmV2aW91cyB2YWx1ZSBvZiB0aGUgZGF0YSBmaWVsZFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfcHJldmlvdXNWYWx1ZTogQmVoYXZpb3JTdWJqZWN0PFQ+O1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBXaGV0aGVyIHRoZSBkYXRhIGZpZWxkIE1vZGVsIG9iamVjdCB3YXMgaW5pdGlhbGl6ZWQsIHdlIHB1c2ggdGhhdCBpbmZvIGludG8gc3RyZWFtXG4gICAgICpcbiAgICAgKiBTZWUgW3JlZ2lzdGVyRm9ybUNvbnRyb2woKV17QGxpbmsgRGF0YUZpZWxkI3JlZ2lzdGVyRm9ybUNvbnRyb2x9IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfaW5pdGlhbGl6ZWQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIFdoZXRoZXIgdGhlIGZpZWxkIGZ1bGZpbGxzIGFsbCBvZiBpdCdzIHZhbGlkYXRvcnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdmFsaWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIFdoZXRoZXIgdGhlIGB2YWx1ZWAgb2YgdGhlIGZpZWxkIGNoYW5nZWQgcmVjZW50bHkuIFRoZSBmbGFnIGlzIGNsZWFyZWQgd2hlbiBjaGFuZ2VzIGFyZSBzZW5kIHRvIGJhY2tlbmQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY2hhbmdlZDogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogRGF0YSBmaWVsZCBzdWJzY3JpYmVzIHRoaXMgc3RyZWFtLlxuICAgICAqIFRoZSBkYXRhIGZpZWxkIHVwZGF0ZXMgaXQncyBWYWxpZGF0b3JzLCB2YWxpZGl0eSBhbmQgZW5hYmxlZC9kaXNhYmxlZCBhY2NvcmRpbmcgdG8gaXQncyBiZWhhdmlvci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3VwZGF0ZTogU3ViamVjdDx2b2lkPjtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogRGF0YSBmaWVsZCBzdWJzY3JpYmVzIHRoaXMgc3RyZWFtLiBXaGVuIGEgYHRydWVgIHZhbHVlIGlzIHJlY2VpdmVkIHRoZSBkYXRhIGZpZWxkIGRpc2FibGVzIGl0c2VsZi5cbiAgICAgKiBXaGVuIGEgYGZhbHNlYHZhbHVlIGlzIHJlY2VpdmVkIGRhdGEgZmllbGQgZGlzYWJsZXMvZW5hYmxlcyBpdHNlbGYgYmFzZWQgb24gaXQncyBiZWhhdmlvci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2Jsb2NrOiBTdWJqZWN0PGJvb2xlYW4+O1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBXaGVuIGEgYHRydWVgIHZhbHVlIGlzIHRoZXJlLCB0aGUgZGF0YSBmaWVsZCBpcyBkaXNhYmxlZC5cbiAgICAgKiBXaGVuIGEgYGZhbHNlYCB2YWx1ZSBpcyByZWNlaXZlZCwgZGF0YSBmaWVsZCBpcyBkaXNhYmxlZC9lbmFibGVkIGJhc2VkIG9uIGl0J3MgYmVoYXZpb3IuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9ibG9ja2VkOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBEYXRhIGZpZWxkIHN1YnNjcmliZXMgdGhpcyBzdHJlYW0uIFNldHMgdGhlIHN0YXRlIG9mIHRoZSBkYXRhIGZpZWxkIHRvIFwidG91Y2hlZFwiIG9yIFwidW50b3VjaGVkXCIgKGB0cnVlYC9gZmFsc2VgKS5cbiAgICAgKiBWYWxpZGl0eSBvZiB0aGUgZGF0YSBmaWVsZCBpcyBub3QgY2hlY2tlZCBpbiBhbiBcInVudG91Y2hlZFwiIHN0YXRlLlxuICAgICAqIEFsbCBmaWVsZHMgYXJlIHRvdWNoZWQgYmVmb3JlIGEgdGFzayBpcyBmaW5pc2hlZCB0byBjaGVjayB0aGVpciB2YWxpZGl0eS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3RvdWNoOiBTdWJqZWN0PGJvb2xlYW4+O1xuICAgIHByb3RlY3RlZCBfdXBkYXRlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9ibG9ja1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfdG91Y2hTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgX2Zvcm1Db250cm9sVmFsdWVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgX215VmFsdWVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogQXBwZWFyYW5jZSBvZiBkYXRhRmllbGRzLCBwb3NzaWJsZSB2YWx1ZXMgLSBvdXRsaW5lLCBzdGFuZGFyZCwgZmlsbCwgbGVnYWN5XG4gICAgICovXG4gICAgcHVibGljIG1hdGVyaWFsQXBwZWFyYW5jZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBXaGV0aGVyIHRoZSBmaWVsZCBmdWxmaWxscyByZXF1aXJlZCB2YWxpZGF0b3IuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdmFsaWRSZXF1aXJlZDogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIGludmFsaWQgZmllbGQgdmFsdWVzIHNob3VsZCBiZSBzZW50IHRvIGJhY2tlbmQuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2VuZEludmFsaWRWYWx1ZXMgPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIEZsYWcgdGhhdCBpcyBzZXQgZHVyaW5nIHJldmVydGluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgX3JldmVydGluZyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9ycyByZXNvbHZlZCBmcm9tIGZpZWxkIHZhbGlkYXRpb25zXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF92YWxpZGF0b3JzOiBBcnJheTxWYWxpZGF0b3JGbj47XG5cbiAgICAvKipcbiAgICAgKiBTdG9yZXMgdGhlIGxhc3Qgc3Vic2NyaXB0aW9uIHRvIHRoZSBbX2luaXRpYWxpemVkJF17QGxpbmsgQWJzdHJhY3REYXRhRmllbGQjX2luaXRpYWxpemVkJH0gU3RyZWFtLCB0byBwcmV2ZW50IG11bHRpcGxlIGJsb2NrIGV2ZW50c1xuICAgICAqIGZyb20gZXhlY3V0aW5nIGF0IHRoZSBzYW1lIHRpbWVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2luaXRpYWxpemVkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogV2hldGhlciB0aGUgY2hhbmdlcyBmcm9tIGhhcyBiZWVuIHJlcXVlc3RlZC4gVGhlIGZsYWcgaXMgY2xlYXJlZCB3aGVuIGNoYW5nZXMgYXJlIHJlY2VpdmVkIGZyb20gYmFja2VuZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF93YWl0aW5nRm9yUmVzcG9uc2U6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBTdG9yZXMgYSBjb3B5IG9mIHRoZSBmaWVsZHMgbGF5b3V0LCB0aGF0IGNhbiBiZSBtb2RpZmllZCBieSB0aGUgbGF5b3V0aW5nIGFsZ29yaXRobSBhcyBuZWVkZWRcbiAgICAgKiB3aXRob3V0IGFmZmVjdGluZyB0aGUgYmFzZSBjb25maWd1cmF0aW9uLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfbG9jYWxMYXlvdXQ6IExheW91dDtcblxuICAgIC8qKlxuICAgICAqIExpc3RlbnMgZm9yIGxheW91dCBjaGFuZ2VzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGxheW91dFN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxMYXlvdXQ+O1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIF9zdHJpbmdJZCAtIElEIG9mIHRoZSBkYXRhIGZpZWxkIGZyb20gYmFja2VuZFxuICAgICAqIEBwYXJhbSBfdGl0bGUgLSBkaXNwbGF5ZWQgdGl0bGUgb2YgdGhlIGRhdGEgZmllbGQgZnJvbSBiYWNrZW5kXG4gICAgICogQHBhcmFtIGluaXRpYWxWYWx1ZSAtIGluaXRpYWwgdmFsdWUgb2YgdGhlIGRhdGEgZmllbGRcbiAgICAgKiBAcGFyYW0gX2JlaGF2aW9yIC0gZGF0YSBmaWVsZCBiZWhhdmlvclxuICAgICAqIEBwYXJhbSBfcGxhY2Vob2xkZXIgLSBwbGFjZWhvbGRlciBkaXNwbGF5ZWQgaW4gdGhlIGRhdGFmaWVsZFxuICAgICAqIEBwYXJhbSBfZGVzY3JpcHRpb24gLSB0b29sdGlwIG9mIHRoZSBkYXRhZmllbGRcbiAgICAgKiBAcGFyYW0gX2xheW91dCAtIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB0aGUgY29tcG9uZW50IHJlbmRlcmluZ1xuICAgICAqIEBwYXJhbSB2YWxpZGF0aW9uc1xuICAgICAqIEBwYXJhbSBfY29tcG9uZW50IC0gY29tcG9uZW50IGRhdGEgb2YgZGF0YWZpZWxkXG4gICAgICogQHBhcmFtIF9wYXJlbnRUYXNrSWQgLSBzdHJpbmdJZCBvZiBwYXJlbnQgdGFzaywgb25seSBkZWZpbmVkIGlmIGZpZWxkIGlzIGxvYWRlZCB1c2luZyB7QGxpbmsgVGFza1JlZkZpZWxkfVxuICAgICAqIEBwYXJhbSBfcGFyZW50Q2FzZUlkIC0gc3RyaW5nSWQgb2YgcGFyZW50IGNhc2UsIG9ubHkgZGVmaW5lZCBpZiBmaWVsZCBpcyBsb2FkZWQgdXNpbmcge0BsaW5rIFRhc2tSZWZGaWVsZH1cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJpdmF0ZSBfc3RyaW5nSWQ6IHN0cmluZywgcHJpdmF0ZSBfdGl0bGU6IHN0cmluZywgaW5pdGlhbFZhbHVlOiBULFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlIF9iZWhhdmlvcjogQmVoYXZpb3IsIHByaXZhdGUgX3BsYWNlaG9sZGVyPzogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlIF9kZXNjcmlwdGlvbj86IHN0cmluZywgcHJpdmF0ZSBfbGF5b3V0PzogTGF5b3V0LCBwdWJsaWMgdmFsaWRhdGlvbnM/OiBBcnJheTxWYWxpZGF0aW9uPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZSBfY29tcG9uZW50PzogQ29tcG9uZW50LCBwcml2YXRlIF9wYXJlbnRUYXNrSWQ/OiBzdHJpbmcsIHByaXZhdGUgX3BhcmVudENhc2VJZD86IHN0cmluZykge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VD4oaW5pdGlhbFZhbHVlKTtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNWYWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VD4oaW5pdGlhbFZhbHVlKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgICAgIHRoaXMuX3ZhbGlkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fY2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl93YWl0aW5nRm9yUmVzcG9uc2UgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fdXBkYXRlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgICAgdGhpcy5fYmxvY2sgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgICAgICB0aGlzLl90b3VjaCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgICAgIHRoaXMuX3ZhbGlkUmVxdWlyZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmxheW91dFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PExheW91dD4oX2xheW91dCk7XG4gICAgICAgIHRoaXMucmVzZXRMb2NhbExheW91dCgpO1xuICAgIH1cblxuICAgIGdldCBzdHJpbmdJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RyaW5nSWQ7XG4gICAgfVxuXG4gICAgc2V0IHRpdGxlKHRpdGxlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdGl0bGUgPSB0aXRsZTtcbiAgICB9XG5cbiAgICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpdGxlO1xuICAgIH1cblxuICAgIHNldCBwbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICBzZXQgZGVzY3JpcHRpb24oZGVzYzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gZGVzYztcbiAgICB9XG5cbiAgICBnZXQgZGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIHNldCBiZWhhdmlvcihiZWhhdmlvcjogQmVoYXZpb3IpIHtcbiAgICAgICAgdGhpcy5fYmVoYXZpb3IgPSBiZWhhdmlvcjtcbiAgICB9XG5cbiAgICBnZXQgYmVoYXZpb3IoKTogQmVoYXZpb3Ige1xuICAgICAgICByZXR1cm4gdGhpcy5fYmVoYXZpb3I7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWUuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IFQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlRXF1YWxpdHkodGhpcy5fdmFsdWUuZ2V0VmFsdWUoKSwgdmFsdWUpICYmICF0aGlzLl9yZXZlcnRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fd2FpdGluZ0ZvclJlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZVByZXZWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fdmFsdWUubmV4dCh2YWx1ZSk7XG4gICAgICAgIHRoaXMuX3JldmVydGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIGdldCBwYXJlbnRUYXNrSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudFRhc2tJZDtcbiAgICB9XG5cbiAgICBnZXQgcGFyZW50Q2FzZUlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnRDYXNlSWQ7XG4gICAgfVxuXG4gICAgZ2V0IHByZXZpb3VzVmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmV2aW91c1ZhbHVlLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgc2V0IHByZXZpb3VzVmFsdWUodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNWYWx1ZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWVXaXRob3V0Q2hhbmdlKHZhbHVlOiBUKSB7XG4gICAgICAgIHRoaXMuX2NoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fdmFsdWUubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0IGxheW91dChsYXlvdXQ6IExheW91dCkge1xuICAgICAgICB0aGlzLl9sYXlvdXQgPSBsYXlvdXQ7XG4gICAgICAgIHRoaXMubGF5b3V0U3ViamVjdC5uZXh0KGxheW91dCk7XG4gICAgfVxuXG4gICAgZ2V0IGxheW91dCgpOiBMYXlvdXQge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGF5b3V0O1xuICAgIH1cblxuICAgIGdldCBsb2NhbExheW91dCgpOiBMYXlvdXQge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxMYXlvdXQ7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9iZWhhdmlvci52aXNpYmxlICYmICF0aGlzLl9iZWhhdmlvci5lZGl0YWJsZTtcbiAgICB9XG5cbiAgICBnZXQgaW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbml0aWFsaXplZCQudmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGluaXRpYWxpemVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luaXRpYWxpemVkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBzZXQgdmFsaWQoc2V0OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3ZhbGlkID0gc2V0O1xuICAgIH1cblxuICAgIGdldCB2YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkO1xuICAgIH1cblxuICAgIHNldCBjaGFuZ2VkKHNldDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9jaGFuZ2VkID0gc2V0O1xuICAgIH1cblxuICAgIGdldCBjaGFuZ2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hhbmdlZDtcbiAgICB9XG5cbiAgICBzZXQgYmxvY2soc2V0OiBib29sZWFuKSB7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZFN1YnNjcmlwdGlvbiAhPT0gdW5kZWZpbmVkICYmICF0aGlzLl9pbml0aWFsaXplZFN1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2luaXRpYWxpemVkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWRTdWJzY3JpcHRpb24gPSB0aGlzLmluaXRpYWxpemVkJC5waXBlKGZpbHRlcihpID0+IGkpLCB0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fYmxvY2submV4dChzZXQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXQgdG91Y2goc2V0OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3RvdWNoLm5leHQoc2V0KTtcbiAgICB9XG5cbiAgICBnZXQgY29tcG9uZW50KCk6IENvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIHJldmVydFRvUHJldmlvdXNWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3JldmVydGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnByZXZpb3VzVmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHZhbGlkUmVxdWlyZWQoc2V0OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3ZhbGlkUmVxdWlyZWQgPSBzZXQ7XG4gICAgfVxuXG4gICAgZ2V0IHZhbGlkUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZFJlcXVpcmVkO1xuICAgIH1cblxuICAgIGdldCBzZW5kSW52YWxpZFZhbHVlcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbmRJbnZhbGlkVmFsdWVzO1xuICAgIH1cblxuICAgIHNldCBzZW5kSW52YWxpZFZhbHVlcyh2YWx1ZTogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fc2VuZEludmFsaWRWYWx1ZXMgPSB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgd2FpdGluZ0ZvclJlc3BvbnNlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2FpdGluZ0ZvclJlc3BvbnNlO1xuICAgIH1cblxuICAgIHNldCB3YWl0aW5nRm9yUmVzcG9uc2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fd2FpdGluZ0ZvclJlc3BvbnNlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWVDaGFuZ2VzKCk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWUuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgc2V0IHJldmVydGluZyhzZXQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fcmV2ZXJ0aW5nID0gc2V0O1xuICAgIH1cblxuICAgIGdldCByZXZlcnRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXZlcnRpbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbHVlLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX3ByZXZpb3VzVmFsdWUuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fdXBkYXRlLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX3RvdWNoLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2Jsb2NrLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkJC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmxheW91dFN1YmplY3QuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJGb3JtQ29udHJvbChmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRGF0YSBmaWVsZCBjYW4gYmUgaW5pdGlhbGl6ZWQgb25seSBvbmNlISdcbiAgICAgICAgICAgICAgICArICcgRGlzY29ubmVjdCB0aGUgcHJldmlvdXMgZm9ybSBjb250cm9sIGJlZm9yZSBpbml0aWFsaXppbmcgdGhlIGRhdGEgZmllbGQgYWdhaW4hJyk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHRoaXMucmVzb2x2ZUZvcm1Db250cm9sVmFsaWRhdG9ycygpKTtcblxuICAgICAgICB0aGlzLl9mb3JtQ29udHJvbFZhbHVlU3Vic2NyaXB0aW9uID0gZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCh0aGlzLnZhbHVlRXF1YWxpdHkpXG4gICAgICAgICkuc3Vic2NyaWJlKG5ld1ZhbHVlID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkID0gdGhpcy5fZGV0ZXJtaW5lRm9ybUNvbnRyb2xWYWxpZGl0eShmb3JtQ29udHJvbCk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX215VmFsdWVTdWJzY3JpcHRpb24gPSB0aGlzLl92YWx1ZS5waXBlKFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQodGhpcy52YWx1ZUVxdWFsaXR5KVxuICAgICAgICApLnN1YnNjcmliZShuZXdWYWx1ZSA9PiB7XG4gICAgICAgICAgICB0aGlzLl92YWxpZCA9IHRoaXMuX2RldGVybWluZUZvcm1Db250cm9sVmFsaWRpdHkoZm9ybUNvbnRyb2wpO1xuICAgICAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1Db250cm9sU3RhdGUoZm9ybUNvbnRyb2wpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5fY2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl93YWl0aW5nRm9yUmVzcG9uc2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGlzY29ubmVjdEZvcm1Db250cm9sKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCQubmV4dChmYWxzZSk7XG4gICAgICAgIGNvbnN0IHN1YnMgPSBbXG4gICAgICAgICAgICB0aGlzLl91cGRhdGVTdWJzY3JpcHRpb24sXG4gICAgICAgICAgICB0aGlzLl9ibG9ja1N1YnNjcmlwdGlvbixcbiAgICAgICAgICAgIHRoaXMuX3RvdWNoU3Vic2NyaXB0aW9uLFxuICAgICAgICAgICAgdGhpcy5fZm9ybUNvbnRyb2xWYWx1ZVN1YnNjcmlwdGlvbixcbiAgICAgICAgICAgIHRoaXMuX215VmFsdWVTdWJzY3JpcHRpb25cbiAgICAgICAgXTtcbiAgICAgICAgZm9yIChjb25zdCBzdWIgb2Ygc3Vicykge1xuICAgICAgICAgICAgaWYgKHN1Yikge1xuICAgICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1Db250cm9sU3RhdGUoZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sKTogdm9pZCB7XG4gICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLnN1YnNjcmliZVRvSW5uZXJTdWJqZWN0cyhmb3JtQ29udHJvbCk7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHN1YnNjcmliZVRvSW5uZXJTdWJqZWN0cyhmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlU3Vic2NyaXB0aW9uID0gdGhpcy5fdXBkYXRlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZhbGlkUmVxdWlyZWQgPSB0aGlzLmNhbGN1bGF0ZVZhbGlkaXR5KHRydWUsIGZvcm1Db250cm9sKTtcbiAgICAgICAgICAgIHRoaXMudmFsaWQgPSB0aGlzLmNhbGN1bGF0ZVZhbGlkaXR5KGZhbHNlLCBmb3JtQ29udHJvbCk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2Jsb2NrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVkID8gZm9ybUNvbnRyb2wuZGlzYWJsZSgpIDogZm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2Jsb2NrU3Vic2NyaXB0aW9uID0gdGhpcy5fYmxvY2suc3Vic2NyaWJlKGJvb2wgPT4ge1xuICAgICAgICAgICAgaWYgKGJvb2wpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9ibG9ja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Jsb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2FibGVkID8gZm9ybUNvbnRyb2wuZGlzYWJsZSgpIDogZm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3RvdWNoU3Vic2NyaXB0aW9uID0gdGhpcy5fdG91Y2guc3Vic2NyaWJlKGJvb2wgPT4ge1xuICAgICAgICAgICAgaWYgKGJvb2wpIHtcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB3aGV0aGVyIHRoZSBGb3JtQ29udHJvbCBzaSB2YWxpZC5cbiAgICAgKiBAcGFyYW0gZm9ybUNvbnRyb2wgY2hlY2sgZm9ybSBjb250cm9sXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9kZXRlcm1pbmVGb3JtQ29udHJvbFZhbGlkaXR5KGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBkaXNhYmxlZCBmb3JtIGNvbnRyb2xzIGFyZSBtYXJrZWQgYXMgaW52YWxpZCBhcyBwZXIgVzNDIHN0YW5kYXJkLCB0aGlzIHNvbHZlcyB0aGF0IHByb2JsZW1cbiAgICAgICAgcmV0dXJuIGZvcm1Db250cm9sLmRpc2FibGVkIHx8IGZvcm1Db250cm9sLnZhbGlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgVmFsaWRhdG9yIG9iamVjdHMgYmFzZWQgb24gZmllbGQgYGJlaGF2aW9yYC4gT25seSB0aGUgYHJlcXVpcmVkYCBiZWhhdmlvciBpcyByZXNvbHZlZCBieSBkZWZhdWx0LlxuICAgICAqIFJlcXVpcmVkIGlzIHJlc29sdmVkIGFzIGBWYWxpZGF0b3JzLnJlcXVpcmVkYC5cbiAgICAgKiBJZiB5b3UgbmVlZCB0byByZXNvbHZlIGFkZGl0aW9uYWwgVmFsaWRhdG9ycyBvciBuZWVkIGEgZGlmZmVyZW50IHJlc29sdXRpb24gZm9yIHRoZSBgcmVxdWlyZWRgIFZhbGlkYXRvciBvdmVycmlkZSB0aGlzIG1ldGhvZC5cbiAgICAgKlxuICAgICAqIFNlZSB7QGxpbmsgQmVoYXZpb3J9IGZvciBpbmZvcm1hdGlvbiBhYm91dCBkYXRhIGZpZWxkIGJlaGF2aW9yLlxuICAgICAqXG4gICAgICogU2VlIHtAbGluayBWYWxpZGF0b3JGbn0gYW5kIHtAbGluayBWYWxpZGF0b3JzfSBmb3IgaW5mb3JtYXRpb24gYWJvdXQgVmFsaWRhdG9ycy5cbiAgICAgKlxuICAgICAqIEFsdGVybmF0aXZlbHkgc2VlIFtGb3JtIFZhbGlkYXRpb24gZ3VpZGVde0BsaW5rIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9mb3JtLXZhbGlkYXRpb24jcmVhY3RpdmUtZm9ybS12YWxpZGF0aW9ufSBmcm9tIEFuZ3VsYXIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlc29sdmVGb3JtQ29udHJvbFZhbGlkYXRvcnMoKTogQXJyYXk8VmFsaWRhdG9yRm4+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgICAgaWYgKHRoaXMuYmVoYXZpb3IucmVxdWlyZWQpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsaWRhdGlvbnMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl92YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5fdmFsaWRhdG9ycyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3ZhbGlkYXRvcnMgPSB0aGlzLnJlc29sdmVWYWxpZGF0aW9ucygpO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuX3ZhbGlkYXRvcnMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVwbGFjZVZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBBcnJheTxWYWxpZGF0aW9uPikge1xuICAgICAgICB0aGlzLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLnZhbGlkYXRpb25zID0gdmFsaWRhdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyVmFsaWRhdG9ycygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsaWRhdG9ycyA9IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc29sdmVWYWxpZGF0aW9ucygpOiBBcnJheTxWYWxpZGF0b3JGbj4ge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lcyBpZiB0d28gdmFsdWVzIG9mIHRoZSBkYXRhIGZpZWxkIGFyZSBlcXVhbC5cbiAgICAgKlxuICAgICAqIGBhID09PSBiYCBlcXVhbGl0eSBpcyB1c2VkIGJ5IGRlZmF1bHQuIElmIHlvdSB3YW50IGRpZmZlcmVudCBiZWhhdmlvciBvdmVycmlkZSB0aGlzIG1ldGhvZC5cbiAgICAgKiBAcGFyYW0gYSAtIGZpcnN0IGNvbXBhcmVkIHZhbHVlXG4gICAgICogQHBhcmFtIGIgLSBzZWNvbmQgY29tcGFyZWQgdmFsdWVcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdmFsdWVFcXVhbGl0eShhOiBULCBiOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBhID09PSBiO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIHN0YXRlIG9mIHRoaXMgZGF0YSBmaWVsZCBtb2RlbCBvYmplY3QuXG4gICAgICogQHBhcmFtIGNoYW5nZSAtIG9iamVjdCBkZXNjcmliaW5nIHRoZSBjaGFuZ2VzIC0gcmV0dXJuZWQgZnJvbSBiYWNrZW5kXG4gICAgICpcbiAgICAgKiBBbHNvIHNlZSB7QGxpbmsgQ2hhbmdlZEZpZWxkc30uXG4gICAgICovXG4gICAgcHVibGljIGFwcGx5Q2hhbmdlKGNoYW5nZTogQ2hhbmdlKTogdm9pZCB7XG4gICAgICAgIE9iamVjdC5rZXlzKGNoYW5nZSkuZm9yRWFjaChjaGFuZ2VkQXR0cmlidXRlID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoY2hhbmdlZEF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGNoYW5nZVtjaGFuZ2VkQXR0cmlidXRlXTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYmVoYXZpb3InOlxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuYmVoYXZpb3IsIGNoYW5nZVtjaGFuZ2VkQXR0cmlidXRlXSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBhdHRyaWJ1dGUgJyR7Y2hhbmdlZEF0dHJpYnV0ZX0nIGluIGNoYW5nZSBvYmplY3RgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmVBcHBlYXJhbmNlKGNvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UpOiB2b2lkIHtcbiAgICAgICAgbGV0IGFwcGVhcmFuY2UgPSAnb3V0bGluZSc7XG4gICAgICAgIGlmICh0aGlzLmxheW91dCAmJiB0aGlzLmxheW91dC5hcHBlYXJhbmNlKSB7XG4gICAgICAgICAgICBhcHBlYXJhbmNlID0gdGhpcy5sYXlvdXQuYXBwZWFyYW5jZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFmaWVsZENvbmZpZ3VyYXRpb24gPSBjb25maWcuZ2V0RGF0YWZpZWxkQ29uZmlndXJhdGlvbigpO1xuICAgICAgICAgICAgaWYgKGRhdGFmaWVsZENvbmZpZ3VyYXRpb24gJiYgZGF0YWZpZWxkQ29uZmlndXJhdGlvbi5hcHBlYXJhbmNlKSB7XG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZSA9IGRhdGFmaWVsZENvbmZpZ3VyYXRpb24uYXBwZWFyYW5jZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1hdGVyaWFsQXBwZWFyYW5jZSA9IGFwcGVhcmFuY2U7XG5cbiAgICAgICAgLyogTGlzdGVuIGZvciBjaGFuZ2VzIG9mIGxheW91dCBpbiBmdXR1cmUgKi9cbiAgICAgICAgdGhpcy5sYXlvdXRTdWJqZWN0LnN1YnNjcmliZShsYXlvdXQgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0ICYmIHRoaXMubGF5b3V0LmFwcGVhcmFuY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hdGVyaWFsQXBwZWFyYW5jZSA9IHRoaXMubGF5b3V0LmFwcGVhcmFuY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNvbHZlUHJldlZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl92YWx1ZS5nZXRWYWx1ZSgpICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICYmIHRoaXMuX3ZhbHVlLmdldFZhbHVlKCkgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9wcmV2aW91c1ZhbHVlLm5leHQodGhpcy5fdmFsdWUuZ2V0VmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2FsY3VsYXRlVmFsaWRpdHkoZm9yVmFsaWRSZXF1aXJlZDogYm9vbGVhbiwgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBmb3JtQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgaWYgKGZvclZhbGlkUmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIGZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICBpZiAoZm9yVmFsaWRSZXF1aXJlZCkge1xuICAgICAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLmJlaGF2aW9yLnJlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogW10pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLnJlc29sdmVGb3JtQ29udHJvbFZhbGlkYXRvcnMoKSk7XG4gICAgICAgIH1cbiAgICAgICAgZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICBjb25zdCB2YWxpZGl0eSA9IHRoaXMuX2RldGVybWluZUZvcm1Db250cm9sVmFsaWRpdHkoZm9ybUNvbnRyb2wpO1xuICAgICAgICBpc0Rpc2FibGVkID8gZm9ybUNvbnRyb2wuZGlzYWJsZSgpIDogZm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIHJldHVybiB2YWxpZGl0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNJbnZhbGlkKGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIWZvcm1Db250cm9sLmRpc2FibGVkICYmICFmb3JtQ29udHJvbC52YWxpZCAmJiBmb3JtQ29udHJvbC50b3VjaGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcGllcyB0aGUgbGF5b3V0IHNldHRpbmdzIGludG8gdGhlIGxvY2FsIGxheW91dC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVzZXRMb2NhbExheW91dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2xheW91dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2NhbExheW91dCA9IHsuLi50aGlzLl9sYXlvdXR9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbG9jYWxMYXlvdXQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
511
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGF0YS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZXRncmlmL2NvbXBvbmVudHMtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9kYXRhLWZpZWxkcy9tb2RlbHMvYWJzdHJhY3QtZGF0YS1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLGVBQWUsRUFBYyxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUEyQixVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBTWxFOzs7R0FHRztBQUNIO0lBeUdJOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILG1CQUE4QixTQUFpQixFQUFVLE1BQWMsRUFBRSxZQUFlLEVBQzFELFNBQW1CLEVBQVUsWUFBcUIsRUFDbEQsWUFBcUIsRUFBVSxPQUFnQixFQUFTLFdBQStCLEVBQ3ZGLFVBQXNCLEVBQVUsYUFBc0IsRUFBVSxhQUFzQjtRQUh0RixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN6QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQVM7UUFDbEQsaUJBQVksR0FBWixZQUFZLENBQVM7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQ3ZGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBUztRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFTO1FBckRwSDs7V0FFRztRQUNLLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUNsQzs7V0FFRztRQUNLLGVBQVUsR0FBRyxLQUFLLENBQUM7UUErQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUksWUFBWSxDQUFDLENBQUM7UUFD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LFNBQVMsRUFBRTtZQUM1QixJQUFJLENBQUMsWUFBWSxnQkFBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekM7YUFBTTtZQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUNMLGdCQUFDO0FBQUQsQ0FBQyxBQWppQkQsSUFpaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCZWhhdmlvcn0gZnJvbSAnLi9iZWhhdmlvcic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NoYW5nZX0gZnJvbSAnLi9jaGFuZ2VkLWZpZWxkcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHRha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TGF5b3V0fSBmcm9tICcuL2xheW91dCc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnQnO1xuaW1wb3J0IHtWYWxpZGF0aW9ufSBmcm9tICcuL3ZhbGlkYXRpb24nO1xuXG4vKipcbiAqIEhvbGRzIHRoZSBsb2dpYyBjb21tb24gdG8gYWxsIGRhdGEgZmllbGQgTW9kZWwgb2JqZWN0cy5cbiAqIEB0eXBlcGFyYW0gVCAtIHR5cGUgb2YgdGhlIGB2YWx1ZWAgcHJvcGVydHkgb2YgdGhlIGRhdGEgZmllbGRcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGFGaWVsZDxUPiB7XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIEN1cnJlbnQgdmFsdWUgb2YgdGhlIGRhdGEgZmllbGRcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3ZhbHVlOiBCZWhhdmlvclN1YmplY3Q8VD47XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIFByZXZpb3VzIHZhbHVlIG9mIHRoZSBkYXRhIGZpZWxkXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9wcmV2aW91c1ZhbHVlOiBCZWhhdmlvclN1YmplY3Q8VD47XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIFdoZXRoZXIgdGhlIGRhdGEgZmllbGQgTW9kZWwgb2JqZWN0IHdhcyBpbml0aWFsaXplZCwgd2UgcHVzaCB0aGF0IGluZm8gaW50byBzdHJlYW1cbiAgICAgKlxuICAgICAqIFNlZSBbcmVnaXN0ZXJGb3JtQ29udHJvbCgpXXtAbGluayBEYXRhRmllbGQjcmVnaXN0ZXJGb3JtQ29udHJvbH0gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9pbml0aWFsaXplZCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogV2hldGhlciB0aGUgZmllbGQgZnVsZmlsbHMgYWxsIG9mIGl0J3MgdmFsaWRhdG9ycy5cbiAgICAgKi9cbiAgICBwcml2YXRlIF92YWxpZDogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICogV2hldGhlciB0aGUgYHZhbHVlYCBvZiB0aGUgZmllbGQgY2hhbmdlZCByZWNlbnRseS4gVGhlIGZsYWcgaXMgY2xlYXJlZCB3aGVuIGNoYW5nZXMgYXJlIHNlbmQgdG8gYmFja2VuZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jaGFuZ2VkOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBEYXRhIGZpZWxkIHN1YnNjcmliZXMgdGhpcyBzdHJlYW0uXG4gICAgICogVGhlIGRhdGEgZmllbGQgdXBkYXRlcyBpdCdzIFZhbGlkYXRvcnMsIHZhbGlkaXR5IGFuZCBlbmFibGVkL2Rpc2FibGVkIGFjY29yZGluZyB0byBpdCdzIGJlaGF2aW9yLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdXBkYXRlOiBTdWJqZWN0PHZvaWQ+O1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBEYXRhIGZpZWxkIHN1YnNjcmliZXMgdGhpcyBzdHJlYW0uIFdoZW4gYSBgdHJ1ZWAgdmFsdWUgaXMgcmVjZWl2ZWQgdGhlIGRhdGEgZmllbGQgZGlzYWJsZXMgaXRzZWxmLlxuICAgICAqIFdoZW4gYSBgZmFsc2VgdmFsdWUgaXMgcmVjZWl2ZWQgZGF0YSBmaWVsZCBkaXNhYmxlcy9lbmFibGVzIGl0c2VsZiBiYXNlZCBvbiBpdCdzIGJlaGF2aW9yLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfYmxvY2s6IFN1YmplY3Q8Ym9vbGVhbj47XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIFdoZW4gYSBgdHJ1ZWAgdmFsdWUgaXMgdGhlcmUsIHRoZSBkYXRhIGZpZWxkIGlzIGRpc2FibGVkLlxuICAgICAqIFdoZW4gYSBgZmFsc2VgIHZhbHVlIGlzIHJlY2VpdmVkLCBkYXRhIGZpZWxkIGlzIGRpc2FibGVkL2VuYWJsZWQgYmFzZWQgb24gaXQncyBiZWhhdmlvci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2Jsb2NrZWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIERhdGEgZmllbGQgc3Vic2NyaWJlcyB0aGlzIHN0cmVhbS4gU2V0cyB0aGUgc3RhdGUgb2YgdGhlIGRhdGEgZmllbGQgdG8gXCJ0b3VjaGVkXCIgb3IgXCJ1bnRvdWNoZWRcIiAoYHRydWVgL2BmYWxzZWApLlxuICAgICAqIFZhbGlkaXR5IG9mIHRoZSBkYXRhIGZpZWxkIGlzIG5vdCBjaGVja2VkIGluIGFuIFwidW50b3VjaGVkXCIgc3RhdGUuXG4gICAgICogQWxsIGZpZWxkcyBhcmUgdG91Y2hlZCBiZWZvcmUgYSB0YXNrIGlzIGZpbmlzaGVkIHRvIGNoZWNrIHRoZWlyIHZhbGlkaXR5LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfdG91Y2g6IFN1YmplY3Q8Ym9vbGVhbj47XG4gICAgcHJvdGVjdGVkIF91cGRhdGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgX2Jsb2NrU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF90b3VjaFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfZm9ybUNvbnRyb2xWYWx1ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfbXlWYWx1ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBBcHBlYXJhbmNlIG9mIGRhdGFGaWVsZHMsIHBvc3NpYmxlIHZhbHVlcyAtIG91dGxpbmUsIHN0YW5kYXJkLCBmaWxsLCBsZWdhY3lcbiAgICAgKi9cbiAgICBwdWJsaWMgbWF0ZXJpYWxBcHBlYXJhbmNlOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqIFdoZXRoZXIgdGhlIGZpZWxkIGZ1bGZpbGxzIHJlcXVpcmVkIHZhbGlkYXRvci5cbiAgICAgKi9cbiAgICBwcml2YXRlIF92YWxpZFJlcXVpcmVkOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgaW52YWxpZCBmaWVsZCB2YWx1ZXMgc2hvdWxkIGJlIHNlbnQgdG8gYmFja2VuZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9zZW5kSW52YWxpZFZhbHVlcyA9IHRydWU7XG4gICAgLyoqXG4gICAgICogRmxhZyB0aGF0IGlzIHNldCBkdXJpbmcgcmV2ZXJ0aW5nXG4gICAgICovXG4gICAgcHJpdmF0ZSBfcmV2ZXJ0aW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3JzIHJlc29sdmVkIGZyb20gZmllbGQgdmFsaWRhdGlvbnNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3ZhbGlkYXRvcnM6IEFycmF5PFZhbGlkYXRvckZuPjtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyB0aGUgbGFzdCBzdWJzY3JpcHRpb24gdG8gdGhlIFtfaW5pdGlhbGl6ZWQkXXtAbGluayBBYnN0cmFjdERhdGFGaWVsZCNfaW5pdGlhbGl6ZWQkfSBTdHJlYW0sIHRvIHByZXZlbnQgbXVsdGlwbGUgYmxvY2sgZXZlbnRzXG4gICAgICogZnJvbSBleGVjdXRpbmcgYXQgdGhlIHNhbWUgdGltZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBfaW5pdGlhbGl6ZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKiBXaGV0aGVyIHRoZSBjaGFuZ2VzIGZyb20gaGFzIGJlZW4gcmVxdWVzdGVkLiBUaGUgZmxhZyBpcyBjbGVhcmVkIHdoZW4gY2hhbmdlcyBhcmUgcmVjZWl2ZWQgZnJvbSBiYWNrZW5kLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3dhaXRpbmdGb3JSZXNwb25zZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyBhIGNvcHkgb2YgdGhlIGZpZWxkcyBsYXlvdXQsIHRoYXQgY2FuIGJlIG1vZGlmaWVkIGJ5IHRoZSBsYXlvdXRpbmcgYWxnb3JpdGhtIGFzIG5lZWRlZFxuICAgICAqIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBiYXNlIGNvbmZpZ3VyYXRpb24uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9sb2NhbExheW91dDogTGF5b3V0O1xuXG4gICAgLyoqXG4gICAgICogTGlzdGVucyBmb3IgbGF5b3V0IGNoYW5nZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgbGF5b3V0U3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PExheW91dD47XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gX3N0cmluZ0lkIC0gSUQgb2YgdGhlIGRhdGEgZmllbGQgZnJvbSBiYWNrZW5kXG4gICAgICogQHBhcmFtIF90aXRsZSAtIGRpc3BsYXllZCB0aXRsZSBvZiB0aGUgZGF0YSBmaWVsZCBmcm9tIGJhY2tlbmRcbiAgICAgKiBAcGFyYW0gaW5pdGlhbFZhbHVlIC0gaW5pdGlhbCB2YWx1ZSBvZiB0aGUgZGF0YSBmaWVsZFxuICAgICAqIEBwYXJhbSBfYmVoYXZpb3IgLSBkYXRhIGZpZWxkIGJlaGF2aW9yXG4gICAgICogQHBhcmFtIF9wbGFjZWhvbGRlciAtIHBsYWNlaG9sZGVyIGRpc3BsYXllZCBpbiB0aGUgZGF0YWZpZWxkXG4gICAgICogQHBhcmFtIF9kZXNjcmlwdGlvbiAtIHRvb2x0aXAgb2YgdGhlIGRhdGFmaWVsZFxuICAgICAqIEBwYXJhbSBfbGF5b3V0IC0gaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBjb21wb25lbnQgcmVuZGVyaW5nXG4gICAgICogQHBhcmFtIHZhbGlkYXRpb25zXG4gICAgICogQHBhcmFtIF9jb21wb25lbnQgLSBjb21wb25lbnQgZGF0YSBvZiBkYXRhZmllbGRcbiAgICAgKiBAcGFyYW0gX3BhcmVudFRhc2tJZCAtIHN0cmluZ0lkIG9mIHBhcmVudCB0YXNrLCBvbmx5IGRlZmluZWQgaWYgZmllbGQgaXMgbG9hZGVkIHVzaW5nIHtAbGluayBUYXNrUmVmRmllbGR9XG4gICAgICogQHBhcmFtIF9wYXJlbnRDYXNlSWQgLSBzdHJpbmdJZCBvZiBwYXJlbnQgY2FzZSwgb25seSBkZWZpbmVkIGlmIGZpZWxkIGlzIGxvYWRlZCB1c2luZyB7QGxpbmsgVGFza1JlZkZpZWxkfVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdHJpbmdJZDogc3RyaW5nLCBwcml2YXRlIF90aXRsZTogc3RyaW5nLCBpbml0aWFsVmFsdWU6IFQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByaXZhdGUgX2JlaGF2aW9yOiBCZWhhdmlvciwgcHJpdmF0ZSBfcGxhY2Vob2xkZXI/OiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByaXZhdGUgX2Rlc2NyaXB0aW9uPzogc3RyaW5nLCBwcml2YXRlIF9sYXlvdXQ/OiBMYXlvdXQsIHB1YmxpYyB2YWxpZGF0aW9ucz86IEFycmF5PFZhbGlkYXRpb24+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlIF9jb21wb25lbnQ/OiBDb21wb25lbnQsIHByaXZhdGUgX3BhcmVudFRhc2tJZD86IHN0cmluZywgcHJpdmF0ZSBfcGFyZW50Q2FzZUlkPzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUPihpbml0aWFsVmFsdWUpO1xuICAgICAgICB0aGlzLl9wcmV2aW91c1ZhbHVlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUPihpbml0aWFsVmFsdWUpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICAgICAgdGhpcy5fdmFsaWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9jaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3dhaXRpbmdGb3JSZXNwb25zZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLl91cGRhdGUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgICAgICB0aGlzLl9ibG9jayA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgICAgIHRoaXMuX3RvdWNoID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICAgICAgdGhpcy5fdmFsaWRSZXF1aXJlZCA9IHRydWU7XG4gICAgICAgIHRoaXMubGF5b3V0U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGF5b3V0PihfbGF5b3V0KTtcbiAgICAgICAgdGhpcy5yZXNldExvY2FsTGF5b3V0KCk7XG4gICAgfVxuXG4gICAgZ2V0IHN0cmluZ0lkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdHJpbmdJZDtcbiAgICB9XG5cbiAgICBzZXQgdGl0bGUodGl0bGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl90aXRsZSA9IHRpdGxlO1xuICAgIH1cblxuICAgIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGl0bGU7XG4gICAgfVxuXG4gICAgc2V0IHBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIHNldCBkZXNjcmlwdGlvbihkZXNjOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZGVzY3JpcHRpb24gPSBkZXNjO1xuICAgIH1cblxuICAgIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgc2V0IGJlaGF2aW9yKGJlaGF2aW9yOiBCZWhhdmlvcikge1xuICAgICAgICB0aGlzLl9iZWhhdmlvciA9IGJlaGF2aW9yO1xuICAgIH1cblxuICAgIGdldCBiZWhhdmlvcigpOiBCZWhhdmlvciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9iZWhhdmlvcjtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHNldCB2YWx1ZSh2YWx1ZTogVCkge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWVFcXVhbGl0eSh0aGlzLl92YWx1ZS5nZXRWYWx1ZSgpLCB2YWx1ZSkgJiYgIXRoaXMuX3JldmVydGluZykge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl93YWl0aW5nRm9yUmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5yZXNvbHZlUHJldlZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl92YWx1ZS5uZXh0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5fcmV2ZXJ0aW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0IHBhcmVudFRhc2tJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50VGFza0lkO1xuICAgIH1cblxuICAgIGdldCBwYXJlbnRDYXNlSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudENhc2VJZDtcbiAgICB9XG5cbiAgICBnZXQgcHJldmlvdXNWYWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ByZXZpb3VzVmFsdWUuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBzZXQgcHJldmlvdXNWYWx1ZSh2YWx1ZTogVCkge1xuICAgICAgICB0aGlzLl9wcmV2aW91c1ZhbHVlLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyB2YWx1ZVdpdGhvdXRDaGFuZ2UodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl92YWx1ZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXQgbGF5b3V0KGxheW91dDogTGF5b3V0KSB7XG4gICAgICAgIHRoaXMuX2xheW91dCA9IGxheW91dDtcbiAgICAgICAgdGhpcy5sYXlvdXRTdWJqZWN0Lm5leHQobGF5b3V0KTtcbiAgICB9XG5cbiAgICBnZXQgbGF5b3V0KCk6IExheW91dCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sYXlvdXQ7XG4gICAgfVxuXG4gICAgZ2V0IGxvY2FsTGF5b3V0KCk6IExheW91dCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbExheW91dDtcbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2JlaGF2aW9yLnZpc2libGUgJiYgIXRoaXMuX2JlaGF2aW9yLmVkaXRhYmxlO1xuICAgIH1cblxuICAgIGdldCBpbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luaXRpYWxpemVkJC52YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaW5pdGlhbGl6ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5pdGlhbGl6ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHNldCB2YWxpZChzZXQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdmFsaWQgPSBzZXQ7XG4gICAgfVxuXG4gICAgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsaWQ7XG4gICAgfVxuXG4gICAgc2V0IGNoYW5nZWQoc2V0OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2NoYW5nZWQgPSBzZXQ7XG4gICAgfVxuXG4gICAgZ2V0IGNoYW5nZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGFuZ2VkO1xuICAgIH1cblxuICAgIHNldCBibG9jayhzZXQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkU3Vic2NyaXB0aW9uICE9PSB1bmRlZmluZWQgJiYgIXRoaXMuX2luaXRpYWxpemVkU3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pbml0aWFsaXplZFN1YnNjcmlwdGlvbiA9IHRoaXMuaW5pdGlhbGl6ZWQkLnBpcGUoZmlsdGVyKGkgPT4gaSksIHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9ibG9jay5uZXh0KHNldCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldCB0b3VjaChzZXQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdG91Y2gubmV4dChzZXQpO1xuICAgIH1cblxuICAgIGdldCBjb21wb25lbnQoKTogQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmV2ZXJ0VG9QcmV2aW91c1ZhbHVlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fcmV2ZXJ0aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMucHJldmlvdXNWYWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsaWRSZXF1aXJlZChzZXQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fdmFsaWRSZXF1aXJlZCA9IHNldDtcbiAgICB9XG5cbiAgICBnZXQgdmFsaWRSZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkUmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgZ2V0IHNlbmRJbnZhbGlkVmFsdWVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VuZEludmFsaWRWYWx1ZXM7XG4gICAgfVxuXG4gICAgc2V0IHNlbmRJbnZhbGlkVmFsdWVzKHZhbHVlOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9zZW5kSW52YWxpZFZhbHVlcyA9IHZhbHVlID09PSBudWxsIHx8IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCB3YWl0aW5nRm9yUmVzcG9uc2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl93YWl0aW5nRm9yUmVzcG9uc2U7XG4gICAgfVxuXG4gICAgc2V0IHdhaXRpbmdGb3JSZXNwb25zZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl93YWl0aW5nRm9yUmVzcG9uc2UgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cGRhdGUubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB2YWx1ZUNoYW5nZXMoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZS5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBzZXQgcmV2ZXJ0aW5nKHNldDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9yZXZlcnRpbmcgPSBzZXQ7XG4gICAgfVxuXG4gICAgZ2V0IHJldmVydGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JldmVydGluZztcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWUuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNWYWx1ZS5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl91cGRhdGUuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fdG91Y2guY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fYmxvY2suY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMubGF5b3V0U3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlckZvcm1Db250cm9sKGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEYXRhIGZpZWxkIGNhbiBiZSBpbml0aWFsaXplZCBvbmx5IG9uY2UhJ1xuICAgICAgICAgICAgICAgICsgJyBEaXNjb25uZWN0IHRoZSBwcmV2aW91cyBmb3JtIGNvbnRyb2wgYmVmb3JlIGluaXRpYWxpemluZyB0aGUgZGF0YSBmaWVsZCBhZ2FpbiEnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm1Db250cm9sLnNldFZhbGlkYXRvcnModGhpcy5yZXNvbHZlRm9ybUNvbnRyb2xWYWxpZGF0b3JzKCkpO1xuXG4gICAgICAgIHRoaXMuX2Zvcm1Db250cm9sVmFsdWVTdWJzY3JpcHRpb24gPSBmb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKHRoaXMudmFsdWVFcXVhbGl0eSlcbiAgICAgICAgKS5zdWJzY3JpYmUobmV3VmFsdWUgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdmFsaWQgPSB0aGlzLl9kZXRlcm1pbmVGb3JtQ29udHJvbFZhbGlkaXR5KGZvcm1Db250cm9sKTtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fbXlWYWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMuX3ZhbHVlLnBpcGUoXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCh0aGlzLnZhbHVlRXF1YWxpdHkpXG4gICAgICAgICkuc3Vic2NyaWJlKG5ld1ZhbHVlID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkID0gdGhpcy5fZGV0ZXJtaW5lRm9ybUNvbnRyb2xWYWxpZGl0eShmb3JtQ29udHJvbCk7XG4gICAgICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRm9ybUNvbnRyb2xTdGF0ZShmb3JtQ29udHJvbCk7XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLl9jaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3dhaXRpbmdGb3JSZXNwb25zZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNjb25uZWN0Rm9ybUNvbnRyb2woKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2luaXRpYWxpemVkJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgY29uc3Qgc3VicyA9IFtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVN1YnNjcmlwdGlvbixcbiAgICAgICAgICAgIHRoaXMuX2Jsb2NrU3Vic2NyaXB0aW9uLFxuICAgICAgICAgICAgdGhpcy5fdG91Y2hTdWJzY3JpcHRpb24sXG4gICAgICAgICAgICB0aGlzLl9mb3JtQ29udHJvbFZhbHVlU3Vic2NyaXB0aW9uLFxuICAgICAgICAgICAgdGhpcy5fbXlWYWx1ZVN1YnNjcmlwdGlvblxuICAgICAgICBdO1xuICAgICAgICBmb3IgKGNvbnN0IHN1YiBvZiBzdWJzKSB7XG4gICAgICAgICAgICBpZiAoc3ViKSB7XG4gICAgICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9ybUNvbnRyb2xTdGF0ZShmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpOiB2b2lkIHtcbiAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVG9Jbm5lclN1YmplY3RzKGZvcm1Db250cm9sKTtcbiAgICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc3Vic2NyaWJlVG9Jbm5lclN1YmplY3RzKGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCkge1xuICAgICAgICB0aGlzLl91cGRhdGVTdWJzY3JpcHRpb24gPSB0aGlzLl91cGRhdGUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRSZXF1aXJlZCA9IHRoaXMuY2FsY3VsYXRlVmFsaWRpdHkodHJ1ZSwgZm9ybUNvbnRyb2wpO1xuICAgICAgICAgICAgdGhpcy52YWxpZCA9IHRoaXMuY2FsY3VsYXRlVmFsaWRpdHkoZmFsc2UsIGZvcm1Db250cm9sKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5fYmxvY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPyBmb3JtQ29udHJvbC5kaXNhYmxlKCkgOiBmb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fYmxvY2tTdWJzY3JpcHRpb24gPSB0aGlzLl9ibG9jay5zdWJzY3JpYmUoYm9vbCA9PiB7XG4gICAgICAgICAgICBpZiAoYm9vbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Jsb2NrZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fYmxvY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPyBmb3JtQ29udHJvbC5kaXNhYmxlKCkgOiBmb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdG91Y2hTdWJzY3JpcHRpb24gPSB0aGlzLl90b3VjaC5zdWJzY3JpYmUoYm9vbCA9PiB7XG4gICAgICAgICAgICBpZiAoYm9vbCkge1xuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIHdoZXRoZXIgdGhlIEZvcm1Db250cm9sIHNpIHZhbGlkLlxuICAgICAqIEBwYXJhbSBmb3JtQ29udHJvbCBjaGVjayBmb3JtIGNvbnRyb2xcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2RldGVybWluZUZvcm1Db250cm9sVmFsaWRpdHkoZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIGRpc2FibGVkIGZvcm0gY29udHJvbHMgYXJlIG1hcmtlZCBhcyBpbnZhbGlkIGFzIHBlciBXM0Mgc3RhbmRhcmQsIHRoaXMgc29sdmVzIHRoYXQgcHJvYmxlbVxuICAgICAgICByZXR1cm4gZm9ybUNvbnRyb2wuZGlzYWJsZWQgfHwgZm9ybUNvbnRyb2wudmFsaWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBWYWxpZGF0b3Igb2JqZWN0cyBiYXNlZCBvbiBmaWVsZCBgYmVoYXZpb3JgLiBPbmx5IHRoZSBgcmVxdWlyZWRgIGJlaGF2aW9yIGlzIHJlc29sdmVkIGJ5IGRlZmF1bHQuXG4gICAgICogUmVxdWlyZWQgaXMgcmVzb2x2ZWQgYXMgYFZhbGlkYXRvcnMucmVxdWlyZWRgLlxuICAgICAqIElmIHlvdSBuZWVkIHRvIHJlc29sdmUgYWRkaXRpb25hbCBWYWxpZGF0b3JzIG9yIG5lZWQgYSBkaWZmZXJlbnQgcmVzb2x1dGlvbiBmb3IgdGhlIGByZXF1aXJlZGAgVmFsaWRhdG9yIG92ZXJyaWRlIHRoaXMgbWV0aG9kLlxuICAgICAqXG4gICAgICogU2VlIHtAbGluayBCZWhhdmlvcn0gZm9yIGluZm9ybWF0aW9uIGFib3V0IGRhdGEgZmllbGQgYmVoYXZpb3IuXG4gICAgICpcbiAgICAgKiBTZWUge0BsaW5rIFZhbGlkYXRvckZufSBhbmQge0BsaW5rIFZhbGlkYXRvcnN9IGZvciBpbmZvcm1hdGlvbiBhYm91dCBWYWxpZGF0b3JzLlxuICAgICAqXG4gICAgICogQWx0ZXJuYXRpdmVseSBzZWUgW0Zvcm0gVmFsaWRhdGlvbiBndWlkZV17QGxpbmsgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2Zvcm0tdmFsaWRhdGlvbiNyZWFjdGl2ZS1mb3JtLXZhbGlkYXRpb259IGZyb20gQW5ndWxhci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZUZvcm1Db250cm9sVmFsaWRhdG9ycygpOiBBcnJheTxWYWxpZGF0b3JGbj4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5iZWhhdmlvci5yZXF1aXJlZCkge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3ZhbGlkYXRvcnMpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCguLi50aGlzLl92YWxpZGF0b3JzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsaWRhdG9ycyA9IHRoaXMucmVzb2x2ZVZhbGlkYXRpb25zKCk7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5fdmFsaWRhdG9ycyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyByZXBsYWNlVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IEFycmF5PFZhbGlkYXRpb24+KSB7XG4gICAgICAgIHRoaXMuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbnMgPSB2YWxpZGF0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWxpZGF0b3JzID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzb2x2ZVZhbGlkYXRpb25zKCk6IEFycmF5PFZhbGlkYXRvckZuPiB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIHR3byB2YWx1ZXMgb2YgdGhlIGRhdGEgZmllbGQgYXJlIGVxdWFsLlxuICAgICAqXG4gICAgICogYGEgPT09IGJgIGVxdWFsaXR5IGlzIHVzZWQgYnkgZGVmYXVsdC4gSWYgeW91IHdhbnQgZGlmZmVyZW50IGJlaGF2aW9yIG92ZXJyaWRlIHRoaXMgbWV0aG9kLlxuICAgICAqIEBwYXJhbSBhIC0gZmlyc3QgY29tcGFyZWQgdmFsdWVcbiAgICAgKiBAcGFyYW0gYiAtIHNlY29uZCBjb21wYXJlZCB2YWx1ZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCB2YWx1ZUVxdWFsaXR5KGE6IFQsIGI6IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGEgPT09IGIgfHwgKE51bWJlci5pc05hTihhKSAmJiBOdW1iZXIuaXNOYU4oYikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIHN0YXRlIG9mIHRoaXMgZGF0YSBmaWVsZCBtb2RlbCBvYmplY3QuXG4gICAgICogQHBhcmFtIGNoYW5nZSAtIG9iamVjdCBkZXNjcmliaW5nIHRoZSBjaGFuZ2VzIC0gcmV0dXJuZWQgZnJvbSBiYWNrZW5kXG4gICAgICpcbiAgICAgKiBBbHNvIHNlZSB7QGxpbmsgQ2hhbmdlZEZpZWxkc30uXG4gICAgICovXG4gICAgcHVibGljIGFwcGx5Q2hhbmdlKGNoYW5nZTogQ2hhbmdlKTogdm9pZCB7XG4gICAgICAgIE9iamVjdC5rZXlzKGNoYW5nZSkuZm9yRWFjaChjaGFuZ2VkQXR0cmlidXRlID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoY2hhbmdlZEF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3ZhbHVlJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGNoYW5nZVtjaGFuZ2VkQXR0cmlidXRlXTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYmVoYXZpb3InOlxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuYmVoYXZpb3IsIGNoYW5nZVtjaGFuZ2VkQXR0cmlidXRlXSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBhdHRyaWJ1dGUgJyR7Y2hhbmdlZEF0dHJpYnV0ZX0nIGluIGNoYW5nZSBvYmplY3RgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc29sdmVBcHBlYXJhbmNlKGNvbmZpZzogQ29uZmlndXJhdGlvblNlcnZpY2UpOiB2b2lkIHtcbiAgICAgICAgbGV0IGFwcGVhcmFuY2UgPSAnb3V0bGluZSc7XG4gICAgICAgIGlmICh0aGlzLmxheW91dCAmJiB0aGlzLmxheW91dC5hcHBlYXJhbmNlKSB7XG4gICAgICAgICAgICBhcHBlYXJhbmNlID0gdGhpcy5sYXlvdXQuYXBwZWFyYW5jZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFmaWVsZENvbmZpZ3VyYXRpb24gPSBjb25maWcuZ2V0RGF0YWZpZWxkQ29uZmlndXJhdGlvbigpO1xuICAgICAgICAgICAgaWYgKGRhdGFmaWVsZENvbmZpZ3VyYXRpb24gJiYgZGF0YWZpZWxkQ29uZmlndXJhdGlvbi5hcHBlYXJhbmNlKSB7XG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZSA9IGRhdGFmaWVsZENvbmZpZ3VyYXRpb24uYXBwZWFyYW5jZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1hdGVyaWFsQXBwZWFyYW5jZSA9IGFwcGVhcmFuY2U7XG5cbiAgICAgICAgLyogTGlzdGVuIGZvciBjaGFuZ2VzIG9mIGxheW91dCBpbiBmdXR1cmUgKi9cbiAgICAgICAgdGhpcy5sYXlvdXRTdWJqZWN0LnN1YnNjcmliZShsYXlvdXQgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0ICYmIHRoaXMubGF5b3V0LmFwcGVhcmFuY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hdGVyaWFsQXBwZWFyYW5jZSA9IHRoaXMubGF5b3V0LmFwcGVhcmFuY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNvbHZlUHJldlZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl92YWx1ZS5nZXRWYWx1ZSgpICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICYmIHRoaXMuX3ZhbHVlLmdldFZhbHVlKCkgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9wcmV2aW91c1ZhbHVlLm5leHQodGhpcy5fdmFsdWUuZ2V0VmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2FsY3VsYXRlVmFsaWRpdHkoZm9yVmFsaWRSZXF1aXJlZDogYm9vbGVhbiwgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBmb3JtQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgaWYgKGZvclZhbGlkUmVxdWlyZWQpIHtcbiAgICAgICAgICAgIGZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIGZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICBpZiAoZm9yVmFsaWRSZXF1aXJlZCkge1xuICAgICAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLmJlaGF2aW9yLnJlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogW10pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLnJlc29sdmVGb3JtQ29udHJvbFZhbGlkYXRvcnMoKSk7XG4gICAgICAgIH1cbiAgICAgICAgZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICBjb25zdCB2YWxpZGl0eSA9IHRoaXMuX2RldGVybWluZUZvcm1Db250cm9sVmFsaWRpdHkoZm9ybUNvbnRyb2wpO1xuICAgICAgICBpc0Rpc2FibGVkID8gZm9ybUNvbnRyb2wuZGlzYWJsZSgpIDogZm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIHJldHVybiB2YWxpZGl0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNJbnZhbGlkKGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIWZvcm1Db250cm9sLmRpc2FibGVkICYmICFmb3JtQ29udHJvbC52YWxpZCAmJiBmb3JtQ29udHJvbC50b3VjaGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcGllcyB0aGUgbGF5b3V0IHNldHRpbmdzIGludG8gdGhlIGxvY2FsIGxheW91dC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVzZXRMb2NhbExheW91dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2xheW91dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2NhbExheW91dCA9IHsuLi50aGlzLl9sYXlvdXR9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbG9jYWxMYXlvdXQgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -26,11 +26,14 @@ var AbstractHtmlTextareaFieldComponent = /** @class */ (function (_super) {
|
|
|
26
26
|
}
|
|
27
27
|
AbstractHtmlTextareaFieldComponent.prototype.ngOnInit = function () {
|
|
28
28
|
var _this = this;
|
|
29
|
-
this.disabledDisplay = this.
|
|
29
|
+
this.disabledDisplay = this.sanitizeValue();
|
|
30
30
|
this.textAreaField.valueChanges().subscribe(function () {
|
|
31
|
-
_this.disabledDisplay = _this.
|
|
31
|
+
_this.disabledDisplay = _this.sanitizeValue();
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
|
+
AbstractHtmlTextareaFieldComponent.prototype.sanitizeValue = function () {
|
|
35
|
+
return this._sanitizer.bypassSecurityTrustHtml(this.textAreaField.value !== undefined ? this.textAreaField.value : '');
|
|
36
|
+
};
|
|
34
37
|
AbstractHtmlTextareaFieldComponent.prototype.getErrorMessage = function () {
|
|
35
38
|
return this.buildErrorMessage(this.textAreaField, this.formControlRef);
|
|
36
39
|
};
|
|
@@ -42,4 +45,4 @@ var AbstractHtmlTextareaFieldComponent = /** @class */ (function (_super) {
|
|
|
42
45
|
return AbstractHtmlTextareaFieldComponent;
|
|
43
46
|
}(AbstractTextErrorsComponent));
|
|
44
47
|
export { AbstractHtmlTextareaFieldComponent };
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtaHRtbC10ZXh0YXJlYS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvZGF0YS1maWVsZHMvdGV4dC1maWVsZC9odG1sLXRleHRhcmVhLWZpZWxkL2Fic3RyYWN0LWh0bWwtdGV4dGFyZWEtZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBSTVDLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBSTlFO0lBQWlFLHNEQUEyQjtJQTRCeEYsNENBQXNCLFVBQTRCLEVBQVksVUFBd0I7UUFBdEYsWUFDSSxrQkFBTSxVQUFVLENBQUMsU0FDcEI7UUFGcUIsZ0JBQVUsR0FBVixVQUFVLENBQWtCO1FBQVksZ0JBQVUsR0FBVixVQUFVLENBQWM7UUExQi9FLGtCQUFZLEdBQUc7WUFDbEIsT0FBTyxFQUFFO2dCQUNMLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDO2dCQUN6QyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7Z0JBQzVCLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQ3hDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQ3ZDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBRW5DLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUV2QyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNuQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO2dCQUNkLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7Z0JBRTlFLENBQUMsT0FBTyxDQUFDO2dCQUVULENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBeUIsd0JBQXdCO2FBQzlFO1NBQ0osQ0FBQzs7SUFVRixDQUFDO0lBRUQscURBQVEsR0FBUjtRQUFBLGlCQUtDO1FBSkcsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDeEMsS0FBSSxDQUFDLGVBQWUsR0FBRyxLQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRVMsMERBQWEsR0FBdkI7UUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVNLDREQUFlLEdBQXRCO1FBQ0ksT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7Z0NBckJBLEtBQUs7aUNBQ0wsS0FBSztrQ0FDTCxLQUFLOztJQW9CVix5Q0FBQztDQUFBLEFBOUNELENBQWlFLDJCQUEyQixHQThDM0Y7U0E5Q3FCLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1dyYXBwZWRCb29sZWFufSBmcm9tICcuLi8uLi9kYXRhLWZpZWxkLXRlbXBsYXRlL21vZGVscy93cmFwcGVkLWJvb2xlYW4nO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUZXh0RXJyb3JzQ29tcG9uZW50fSBmcm9tICcuLi9hYnN0cmFjdC10ZXh0LWVycm9ycy5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0QXJlYUZpZWxkfSBmcm9tICcuLi9tb2RlbHMvdGV4dC1hcmVhLWZpZWxkJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEh0bWxUZXh0YXJlYUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUZXh0RXJyb3JzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHB1YmxpYyBxdWlsbE1vZHVsZXMgPSB7XG4gICAgICAgIHRvb2xiYXI6IFtcbiAgICAgICAgICAgIFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZSddLCAgICAgICAgLy8gdG9nZ2xlZCBidXR0b25zXG4gICAgICAgICAgICBbJ2Jsb2NrcXVvdGUnLCAnY29kZS1ibG9jayddLFxuICAgICAgICAgICAgW3sgbGlzdDogJ29yZGVyZWQnfSwgeyBsaXN0OiAnYnVsbGV0JyB9XSwgICAgICAvLyBvcmRlcmVkL3Vub3JkZXJlZCBsaXN0XG4gICAgICAgICAgICBbeyBzY3JpcHQ6ICdzdWInfSwgeyBzY3JpcHQ6ICdzdXBlcicgfV0sICAgICAgLy8gc3VwZXJzY3JpcHQvc3Vic2NyaXB0XG4gICAgICAgICAgICBbeyBpbmRlbnQ6ICctMSd9LCB7IGluZGVudDogJysxJyB9XSwgICAgICAgICAgLy8gb3V0ZGVudC9pbmRlbnRcblxuICAgICAgICAgICAgW3sgaGVhZGVyOiBbMSwgMiwgMywgNCwgNSwgNiwgZmFsc2VdIH1dLFxuXG4gICAgICAgICAgICBbeyBjb2xvcjogW10gfSwgeyBiYWNrZ3JvdW5kOiBbXSB9XSwgICAgICAgICAgLy8gZHJvcGRvd24gd2l0aCBkZWZhdWx0cyBmcm9tIHRoZW1lXG4gICAgICAgICAgICBbeyBmb250OiBbXSB9XSxcbiAgICAgICAgICAgIFt7IGFsaWduOiAnJyB9LCB7IGFsaWduOiAnY2VudGVyJyB9LCB7IGFsaWduOiAncmlnaHQnIH0sIHsgYWxpZ246ICdqdXN0aWZ5JyB9XSwgICAgIC8vIGFsaWdubWVudCBidXR0b25zXG5cbiAgICAgICAgICAgIFsnY2xlYW4nXSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBmb3JtYXR0aW5nIGJ1dHRvblxuXG4gICAgICAgICAgICBbJ2xpbmsnLCAnaW1hZ2UnLCAndmlkZW8nXSAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5rIGFuZCBpbWFnZSwgdmlkZW9cbiAgICAgICAgXVxuICAgIH07XG5cbiAgICBwdWJsaWMgZGlzYWJsZWREaXNwbGF5OiBTYWZlSHRtbDtcblxuICAgIEBJbnB1dCgpIHRleHRBcmVhRmllbGQ6IFRleHRBcmVhRmllbGQ7XG4gICAgQElucHV0KCkgZm9ybUNvbnRyb2xSZWY6IEZvcm1Db250cm9sO1xuICAgIEBJbnB1dCgpIHNob3dMYXJnZUxheW91dDogV3JhcHBlZEJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJvdGVjdGVkIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgICAgICBzdXBlcihfdHJhbnNsYXRlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZERpc3BsYXkgPSB0aGlzLnNhbml0aXplVmFsdWUoKTtcbiAgICAgICAgdGhpcy50ZXh0QXJlYUZpZWxkLnZhbHVlQ2hhbmdlcygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkRGlzcGxheSA9IHRoaXMuc2FuaXRpemVWYWx1ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2FuaXRpemVWYWx1ZSgpOiBTYWZlSHRtbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy50ZXh0QXJlYUZpZWxkLnZhbHVlICE9PSB1bmRlZmluZWQgPyB0aGlzLnRleHRBcmVhRmllbGQudmFsdWUgOiAnJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVycm9yTWVzc2FnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRFcnJvck1lc3NhZ2UodGhpcy50ZXh0QXJlYUZpZWxkLCB0aGlzLmZvcm1Db250cm9sUmVmKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { __read, __spread } from "tslib";
|
|
1
2
|
import { HeaderColumnType } from '../../header/models/header-column';
|
|
2
3
|
var PanelWithHeaderBinding = /** @class */ (function () {
|
|
3
4
|
function PanelWithHeaderBinding() {
|
|
@@ -23,14 +24,13 @@ var PanelWithHeaderBinding = /** @class */ (function () {
|
|
|
23
24
|
}
|
|
24
25
|
};
|
|
25
26
|
PanelWithHeaderBinding.prototype.resolveFeaturedFieldsValues = function () {
|
|
27
|
+
var _a;
|
|
28
|
+
var _this = this;
|
|
26
29
|
if (!this._lastSelectedHeaders) {
|
|
27
30
|
return;
|
|
28
31
|
}
|
|
29
32
|
this.featuredFieldsValues.splice(0, this.featuredFieldsValues.length);
|
|
30
|
-
|
|
31
|
-
for (var i = 1; i < this._lastSelectedHeaders.length; i++) {
|
|
32
|
-
this.featuredFieldsValues.push(this.getFeaturedValue(this._lastSelectedHeaders[i]));
|
|
33
|
-
}
|
|
33
|
+
(_a = this.featuredFieldsValues).push.apply(_a, __spread(this._lastSelectedHeaders.map(function (item) { return _this.getFeaturedValue(item); })));
|
|
34
34
|
};
|
|
35
35
|
PanelWithHeaderBinding.prototype.getFeaturedValue = function (selectedHeader) {
|
|
36
36
|
if (!selectedHeader) {
|
|
@@ -47,4 +47,4 @@ var PanelWithHeaderBinding = /** @class */ (function () {
|
|
|
47
47
|
return PanelWithHeaderBinding;
|
|
48
48
|
}());
|
|
49
49
|
export { PanelWithHeaderBinding };
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwtd2l0aC1oZWFkZXItYmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZXRncmlmL2NvbXBvbmVudHMtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wYW5lbC9hYnN0cmFjdC9wYW5lbC13aXRoLWhlYWRlci1iaW5kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQWUsZ0JBQWdCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUlqRjtJQU9JO1FBSk8seUJBQW9CLEdBQXlCLEVBQUUsQ0FBQztJQUt2RCxDQUFDO0lBRUQseUNBQVEsR0FBUjtRQUFBLGlCQUtDO1FBSkcsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFVBQUEsa0JBQWtCO1lBQ3pELEtBQUksQ0FBQyxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQztZQUMvQyxLQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCw0Q0FBVyxHQUFYO1FBQ0ksSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksc0RBQXFCLEdBQTVCLFVBQTZCLEtBQWlCO1FBQzFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzVDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFUyw0REFBMkIsR0FBckM7O1FBQUEsaUJBU0M7UUFSRyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzVCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RSxDQUFBLEtBQUEsSUFBSSxDQUFDLG9CQUFvQixDQUFBLENBQUMsSUFBSSxvQkFDdkIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBZ0IsVUFBQSxJQUFJLElBQUksT0FBQSxLQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQTNCLENBQTJCLENBQUMsR0FDdEY7SUFDTixDQUFDO0lBRVMsaURBQWdCLEdBQTFCLFVBQTJCLGNBQTRCO1FBQ25ELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsT0FBTyxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFDLENBQUM7U0FDMUM7UUFDRCxJQUFJLGNBQWMsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1lBQy9DLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsSUFBSSxjQUFjLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDLFNBQVMsRUFBRTtZQUNwRCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN6RDtRQUNELE9BQU8sRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQzNDLENBQUM7SUFLTCw2QkFBQztBQUFELENBQUMsQUExREQsSUEwREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7SGVhZGVyQ29sdW1uLCBIZWFkZXJDb2x1bW5UeXBlfSBmcm9tICcuLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci1jb2x1bW4nO1xuaW1wb3J0IHtGZWF0dXJlZFZhbHVlfSBmcm9tICcuL2ZlYXR1cmVkLXZhbHVlJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFuZWxXaXRoSGVhZGVyQmluZGluZyBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgc2VsZWN0ZWRIZWFkZXJzJDogT2JzZXJ2YWJsZTxBcnJheTxIZWFkZXJDb2x1bW4+PjtcbiAgICBwdWJsaWMgZmlyc3RGZWF0dXJlZFZhbHVlOiBzdHJpbmc7XG4gICAgcHVibGljIGZlYXR1cmVkRmllbGRzVmFsdWVzOiBBcnJheTxGZWF0dXJlZFZhbHVlPiA9IFtdO1xuICAgIHByb3RlY3RlZCBfbGFzdFNlbGVjdGVkSGVhZGVyczogQXJyYXk8SGVhZGVyQ29sdW1uPjtcbiAgICBwcm90ZWN0ZWQgc3ViOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3ViID0gdGhpcy5zZWxlY3RlZEhlYWRlcnMkLnN1YnNjcmliZShuZXdTZWxlY3RlZEhlYWRlcnMgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbGFzdFNlbGVjdGVkSGVhZGVycyA9IG5ld1NlbGVjdGVkSGVhZGVycztcbiAgICAgICAgICAgIHRoaXMucmVzb2x2ZUZlYXR1cmVkRmllbGRzVmFsdWVzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElmIHRoZSBldmVudCB3YXMgY2F1c2UgYnkgc2VsZWN0aW5nIHNvbWUgdGV4dCwgaXQgd2lsbCBub3QgcHJvcGFnYXRlXG4gICAgICogQHBhcmFtIGV2ZW50XG4gICAgICovXG4gICAgcHVibGljIHByZXZlbnRTZWxlY3Rpb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQudmlldy5nZXRTZWxlY3Rpb24oKS50eXBlID09PSAnUmFuZ2UnKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNvbHZlRmVhdHVyZWRGaWVsZHNWYWx1ZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbGFzdFNlbGVjdGVkSGVhZGVycykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mZWF0dXJlZEZpZWxkc1ZhbHVlcy5zcGxpY2UoMCwgdGhpcy5mZWF0dXJlZEZpZWxkc1ZhbHVlcy5sZW5ndGgpO1xuICAgICAgICB0aGlzLmZlYXR1cmVkRmllbGRzVmFsdWVzLnB1c2goXG4gICAgICAgICAgICAuLi50aGlzLl9sYXN0U2VsZWN0ZWRIZWFkZXJzLm1hcDxGZWF0dXJlZFZhbHVlPihpdGVtID0+IHRoaXMuZ2V0RmVhdHVyZWRWYWx1ZShpdGVtKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmVhdHVyZWRWYWx1ZShzZWxlY3RlZEhlYWRlcjogSGVhZGVyQ29sdW1uKTogRmVhdHVyZWRWYWx1ZSB7XG4gICAgICAgIGlmICghc2VsZWN0ZWRIZWFkZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB7dmFsdWU6ICcnLCBpY29uOiAnJywgdHlwZTogJyd9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzZWxlY3RlZEhlYWRlci50eXBlID09PSBIZWFkZXJDb2x1bW5UeXBlLk1FVEEpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEZlYXR1cmVkTWV0YVZhbHVlKHNlbGVjdGVkSGVhZGVyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRIZWFkZXIudHlwZSA9PT0gSGVhZGVyQ29sdW1uVHlwZS5JTU1FRElBVEUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEZlYXR1cmVkSW1tZWRpYXRlVmFsdWUoc2VsZWN0ZWRIZWFkZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7dmFsdWU6ICcnLCBpY29uOiAnJywgdHlwZTogJyd9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRGZWF0dXJlZE1ldGFWYWx1ZShzZWxlY3RlZEhlYWRlcjogSGVhZGVyQ29sdW1uKTogRmVhdHVyZWRWYWx1ZTtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRGZWF0dXJlZEltbWVkaWF0ZVZhbHVlKHNlbGVjdGVkSGVhZGVyOiBIZWFkZXJDb2x1bW4pOiBGZWF0dXJlZFZhbHVlO1xufVxuIl19
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Input } from '@angular/core';
|
|
2
|
+
var AbstractPanelItemComponent = /** @class */ (function () {
|
|
3
|
+
function AbstractPanelItemComponent() {
|
|
4
|
+
this.textEllipsis = false;
|
|
5
|
+
}
|
|
6
|
+
AbstractPanelItemComponent.propDecorators = {
|
|
7
|
+
leadingIcon: [{ type: Input }],
|
|
8
|
+
leadingIconEnabled: [{ type: Input }],
|
|
9
|
+
featuredValue: [{ type: Input }],
|
|
10
|
+
textEllipsis: [{ type: Input }]
|
|
11
|
+
};
|
|
12
|
+
return AbstractPanelItemComponent;
|
|
13
|
+
}());
|
|
14
|
+
export { AbstractPanelItemComponent };
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGFuZWwtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvcGFuZWwvcGFuZWwtaXRlbS9hYnN0cmFjdC1wYW5lbC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3RDO0lBT0k7UUFGUyxpQkFBWSxHQUFHLEtBQUssQ0FBQztJQUk5QixDQUFDOzs4QkFQQSxLQUFLO3FDQUNMLEtBQUs7Z0NBQ0wsS0FBSzsrQkFDTCxLQUFLOztJQUtWLGlDQUFDO0NBQUEsQUFWRCxJQVVDO1NBVnFCLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZWF0dXJlZFZhbHVlIH0gZnJvbSAnLi4vYWJzdHJhY3QvZmVhdHVyZWQtdmFsdWUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQYW5lbEl0ZW1Db21wb25lbnQge1xuXG4gICAgQElucHV0KCkgbGVhZGluZ0ljb246IHN0cmluZztcbiAgICBASW5wdXQoKSBsZWFkaW5nSWNvbkVuYWJsZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZmVhdHVyZWRWYWx1ZTogRmVhdHVyZWRWYWx1ZTtcbiAgICBASW5wdXQoKSB0ZXh0RWxsaXBzaXMgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgfVxufVxuIl19
|
|
@@ -3,13 +3,15 @@ export * from './abstract-panel.component';
|
|
|
3
3
|
export * from './case-panel/abstract-case-panel.component';
|
|
4
4
|
export * from './task-panel/abstract-task-panel.component';
|
|
5
5
|
export * from './task-panel-list/abstract-task-list.component';
|
|
6
|
+
export * from './task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component';
|
|
6
7
|
export * from './workflow-panel/abstract-workflow-panel.component';
|
|
7
8
|
export * from './abstract/tabbed-virtual-scroll.component';
|
|
8
9
|
export * from './immediate/abstract-immediate-filter-text.component';
|
|
9
10
|
export * from './immediate/abstract-immediate-filter-text-content.component';
|
|
11
|
+
export * from './panel-item/abstract-panel-item.component';
|
|
10
12
|
/* DATA */
|
|
11
13
|
export * from './task-panel-list/task-panel-data/task-panel-data';
|
|
12
14
|
export * from './task-panel/models/disable-functions';
|
|
13
15
|
export * from './abstract/featured-value';
|
|
14
16
|
export * from './immediate/model/filter-text-injection-token';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZXRncmlmL2NvbXBvbmVudHMtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wYW5lbC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsc0ZBQXNGLENBQUM7QUFDckcsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDRDQUE0QyxDQUFDO0FBRTNELFVBQVU7QUFDVixjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtDQUErQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogQ09NUE9ORU5UUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXNlLXBhbmVsL2Fic3RyYWN0LWNhc2UtcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFzay1wYW5lbC9hYnN0cmFjdC10YXNrLXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Rhc2stcGFuZWwtbGlzdC9hYnN0cmFjdC10YXNrLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFzay1wYW5lbC1saXN0L3Rhc2stcGFuZWwtbGlzdC1wYWdpbmF0aW9uL2Fic3RyYWN0LXRhc2stbGlzdC1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3dvcmtmbG93LXBhbmVsL2Fic3RyYWN0LXdvcmtmbG93LXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0L3RhYmJlZC12aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbW1lZGlhdGUvYWJzdHJhY3QtaW1tZWRpYXRlLWZpbHRlci10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ltbWVkaWF0ZS9hYnN0cmFjdC1pbW1lZGlhdGUtZmlsdGVyLXRleHQtY29udGVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wYW5lbC1pdGVtL2Fic3RyYWN0LXBhbmVsLWl0ZW0uY29tcG9uZW50JztcblxuLyogREFUQSAqL1xuZXhwb3J0ICogZnJvbSAnLi90YXNrLXBhbmVsLWxpc3QvdGFzay1wYW5lbC1kYXRhL3Rhc2stcGFuZWwtZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL3Rhc2stcGFuZWwvbW9kZWxzL2Rpc2FibGUtZnVuY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vYWJzdHJhY3QvZmVhdHVyZWQtdmFsdWUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbW1lZGlhdGUvbW9kZWwvZmlsdGVyLXRleHQtaW5qZWN0aW9uLXRva2VuJztcbiJdfQ==
|
|
@@ -1,81 +1,36 @@
|
|
|
1
1
|
import { __extends } from "tslib";
|
|
2
|
-
import {
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
2
|
+
import { Inject, Input, Optional, ViewChild } from '@angular/core';
|
|
4
3
|
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
5
4
|
import { TaskViewService } from '../../view/task-view/service/task-view.service';
|
|
6
5
|
import { LoggerService } from '../../logger/services/logger.service';
|
|
7
|
-
import { TabbedVirtualScrollComponent } from '../abstract/tabbed-virtual-scroll.component';
|
|
8
6
|
import { NAE_TAB_DATA } from '../../tabs/tab-data-injection-token/tab-data-injection-token';
|
|
9
7
|
import { ActivatedRoute } from '@angular/router';
|
|
10
|
-
import {
|
|
8
|
+
import { AbstractDefaultTaskList } from './default-task-panel-list/abstract-default-task-list';
|
|
11
9
|
var AbstractTaskListComponent = /** @class */ (function (_super) {
|
|
12
10
|
__extends(AbstractTaskListComponent, _super);
|
|
13
11
|
function AbstractTaskListComponent(_taskViewService, _log, injectedTabData, route) {
|
|
14
|
-
var _this = _super.call(this, injectedTabData) || this;
|
|
12
|
+
var _this = _super.call(this, _taskViewService, _log, injectedTabData, route) || this;
|
|
15
13
|
_this._taskViewService = _taskViewService;
|
|
16
14
|
_this._log = _log;
|
|
17
15
|
_this.route = route;
|
|
18
|
-
_this._allowMultiOpen = true;
|
|
19
|
-
_this.responsiveBody = true;
|
|
20
|
-
_this.forceLoadDataOnOpen = false;
|
|
21
|
-
_this.textEllipsis = false;
|
|
22
|
-
_this.taskEvent = new EventEmitter();
|
|
23
|
-
_this.taskPanelRefs = new Map();
|
|
24
|
-
_this.unsubscribe$ = new Subject();
|
|
25
16
|
return _this;
|
|
26
17
|
}
|
|
27
|
-
Object.defineProperty(AbstractTaskListComponent.prototype, "
|
|
18
|
+
Object.defineProperty(AbstractTaskListComponent.prototype, "tasks$", {
|
|
28
19
|
get: function () {
|
|
29
|
-
return this.
|
|
20
|
+
return this._tasks$;
|
|
30
21
|
},
|
|
31
|
-
set: function (
|
|
32
|
-
this.
|
|
33
|
-
this._taskViewService.allowMultiOpen = bool;
|
|
22
|
+
set: function (tasks) {
|
|
23
|
+
this._tasks$ = tasks;
|
|
34
24
|
},
|
|
35
25
|
enumerable: false,
|
|
36
26
|
configurable: true
|
|
37
27
|
});
|
|
38
|
-
AbstractTaskListComponent.prototype.ngAfterViewInit = function () {
|
|
39
|
-
this.onRedirect();
|
|
40
|
-
};
|
|
41
|
-
AbstractTaskListComponent.prototype.ngOnDestroy = function () {
|
|
42
|
-
_super.prototype.ngOnDestroy.call(this);
|
|
43
|
-
this.taskEvent.complete();
|
|
44
|
-
this.unsubscribe$.complete();
|
|
45
|
-
};
|
|
46
|
-
AbstractTaskListComponent.prototype.trackBy = function (idx, item) {
|
|
47
|
-
return item.task.stringId; // + (item.task.user ? item.task.user.email : '');
|
|
48
|
-
};
|
|
49
28
|
AbstractTaskListComponent.prototype.loadNextPage = function () {
|
|
50
29
|
if (!this.viewport) {
|
|
51
30
|
return;
|
|
52
31
|
}
|
|
53
32
|
this._taskViewService.nextPage(this.viewport.getRenderedRange(), this.viewport.getDataLength());
|
|
54
33
|
};
|
|
55
|
-
/**
|
|
56
|
-
* Emits an event into this component's @Output attribute
|
|
57
|
-
* @param event the event that will be emitted
|
|
58
|
-
*/
|
|
59
|
-
AbstractTaskListComponent.prototype.emitTaskEvent = function (event) {
|
|
60
|
-
this.taskEvent.emit(event);
|
|
61
|
-
};
|
|
62
|
-
AbstractTaskListComponent.prototype.addToPanelRefs = function (task, panelRef) {
|
|
63
|
-
this.taskPanelRefs.set(task.task.stringId, panelRef);
|
|
64
|
-
};
|
|
65
|
-
AbstractTaskListComponent.prototype.onRedirect = function () {
|
|
66
|
-
var _this = this;
|
|
67
|
-
this.route.queryParams.pipe(filter(function (pm) { return !!pm['taskId']; })).subscribe(function (pm) {
|
|
68
|
-
_this.redirectTaskId = pm['taskId'];
|
|
69
|
-
_this.tasks$.pipe().subscribe(function (tasks) {
|
|
70
|
-
var task = tasks.find(function (t) { return t.task.stringId === _this.redirectTaskId; });
|
|
71
|
-
if (!!task && !task.initiallyExpanded) {
|
|
72
|
-
_this.taskPanelRefs.get(_this.redirectTaskId).open();
|
|
73
|
-
_this.taskPanelRefs.get(_this.redirectTaskId).expanded = true;
|
|
74
|
-
_this.unsubscribe$.next();
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
34
|
AbstractTaskListComponent.ctorParameters = function () { return [
|
|
80
35
|
{ type: TaskViewService },
|
|
81
36
|
{ type: LoggerService },
|
|
@@ -84,16 +39,9 @@ var AbstractTaskListComponent = /** @class */ (function (_super) {
|
|
|
84
39
|
]; };
|
|
85
40
|
AbstractTaskListComponent.propDecorators = {
|
|
86
41
|
tasks$: [{ type: Input }],
|
|
87
|
-
loading$: [{ type: Input }],
|
|
88
|
-
selectedHeaders$: [{ type: Input }],
|
|
89
|
-
responsiveBody: [{ type: Input }],
|
|
90
|
-
forceLoadDataOnOpen: [{ type: Input }],
|
|
91
|
-
textEllipsis: [{ type: Input }],
|
|
92
|
-
allowMultiOpen: [{ type: Input }],
|
|
93
|
-
taskEvent: [{ type: Output }],
|
|
94
42
|
viewport: [{ type: ViewChild, args: [CdkVirtualScrollViewport,] }]
|
|
95
43
|
};
|
|
96
44
|
return AbstractTaskListComponent;
|
|
97
|
-
}(
|
|
45
|
+
}(AbstractDefaultTaskList));
|
|
98
46
|
export { AbstractTaskListComponent };
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdGFzay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuZXRncmlmL2NvbXBvbmVudHMtY29yZS8iLCJzb3VyY2VzIjpbImxpYi9wYW5lbC90YXNrLXBhbmVsLWxpc3QvYWJzdHJhY3QtdGFzay1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDL0UsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQUUxRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFJN0Y7SUFBd0QsNkNBQXVCO0lBWTNFLG1DQUFnQyxnQkFBaUMsRUFDakMsSUFBbUIsRUFDSyxlQUFnQyxFQUN4RCxLQUFzQjtRQUh0RCxZQUlJLGtCQUFNLGdCQUFnQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLFNBQ3hEO1FBTCtCLHNCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsVUFBSSxHQUFKLElBQUksQ0FBZTtRQUVuQixXQUFLLEdBQUwsS0FBSyxDQUFpQjs7SUFFdEQsQ0FBQztJQWZELHNCQUNJLDZDQUFNO2FBSVY7WUFDSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEIsQ0FBQzthQVBELFVBQ1csS0FBdUM7WUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQzs7O09BQUE7SUFjTSxnREFBWSxHQUFuQjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNwRyxDQUFDOztnQkFqQ0csZUFBZTtnQkFDZixhQUFhO2dEQXNCTSxRQUFRLFlBQUksTUFBTSxTQUFDLFlBQVk7Z0JBbkJsRCxjQUFjOzs7eUJBT2pCLEtBQUs7MkJBUUwsU0FBUyxTQUFDLHdCQUF3Qjs7SUFldkMsZ0NBQUM7Q0FBQSxBQXpCRCxDQUF3RCx1QkFBdUIsR0F5QjlFO1NBekJxQix5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHtUYXNrVmlld1NlcnZpY2V9IGZyb20gJy4uLy4uL3ZpZXcvdGFzay12aWV3L3NlcnZpY2UvdGFzay12aWV3LnNlcnZpY2UnO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9sb2dnZXIvc2VydmljZXMvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtOQUVfVEFCX0RBVEF9IGZyb20gJy4uLy4uL3RhYnMvdGFiLWRhdGEtaW5qZWN0aW9uLXRva2VuL3RhYi1kYXRhLWluamVjdGlvbi10b2tlbic7XG5pbXBvcnQge0luamVjdGVkVGFiRGF0YX0gZnJvbSAnLi4vLi4vdGFicy9pbnRlcmZhY2VzJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0Fic3RyYWN0RGVmYXVsdFRhc2tMaXN0fSBmcm9tICcuL2RlZmF1bHQtdGFzay1wYW5lbC1saXN0L2Fic3RyYWN0LWRlZmF1bHQtdGFzay1saXN0JztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Rhc2tQYW5lbERhdGF9IGZyb20gJy4vdGFzay1wYW5lbC1kYXRhL3Rhc2stcGFuZWwtZGF0YSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRhc2tMaXN0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3REZWZhdWx0VGFza0xpc3Qge1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGFza3MkKHRhc2tzOiBPYnNlcnZhYmxlPEFycmF5PFRhc2tQYW5lbERhdGE+Pikge1xuICAgICAgICB0aGlzLl90YXNrcyQgPSB0YXNrcztcbiAgICB9XG5cbiAgICBnZXQgdGFza3MkKCk6IE9ic2VydmFibGU8QXJyYXk8VGFza1BhbmVsRGF0YT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Rhc2tzJDtcbiAgICB9XG4gICAgQFZpZXdDaGlsZChDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQpIHB1YmxpYyB2aWV3cG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfdGFza1ZpZXdTZXJ2aWNlOiBUYXNrVmlld1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCBfbG9nOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9UQUJfREFUQSkgaW5qZWN0ZWRUYWJEYXRhOiBJbmplY3RlZFRhYkRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RlY3RlZCByb3V0ZT86IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgICAgIHN1cGVyKF90YXNrVmlld1NlcnZpY2UsIF9sb2csIGluamVjdGVkVGFiRGF0YSwgcm91dGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2FkTmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy52aWV3cG9ydCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3Rhc2tWaWV3U2VydmljZS5uZXh0UGFnZSh0aGlzLnZpZXdwb3J0LmdldFJlbmRlcmVkUmFuZ2UoKSwgdGhpcy52aWV3cG9ydC5nZXREYXRhTGVuZ3RoKCkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { filter } from 'rxjs/operators';
|
|
4
|
+
import { TabbedVirtualScrollComponent } from '../../abstract/tabbed-virtual-scroll.component';
|
|
5
|
+
import { EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
|
|
6
|
+
import { Subject } from 'rxjs';
|
|
7
|
+
import { TaskViewService } from '../../../view/task-view/service/task-view.service';
|
|
8
|
+
import { LoggerService } from '../../../logger/services/logger.service';
|
|
9
|
+
import { NAE_TAB_DATA } from '../../../tabs/tab-data-injection-token/tab-data-injection-token';
|
|
10
|
+
var AbstractDefaultTaskList = /** @class */ (function (_super) {
|
|
11
|
+
__extends(AbstractDefaultTaskList, _super);
|
|
12
|
+
function AbstractDefaultTaskList(_taskViewService, _log, injectedTabData, route) {
|
|
13
|
+
var _this = _super.call(this, injectedTabData) || this;
|
|
14
|
+
_this._taskViewService = _taskViewService;
|
|
15
|
+
_this._log = _log;
|
|
16
|
+
_this.route = route;
|
|
17
|
+
_this._allowMultiOpen = true;
|
|
18
|
+
_this.responsiveBody = true;
|
|
19
|
+
_this.forceLoadDataOnOpen = false;
|
|
20
|
+
_this.textEllipsis = false;
|
|
21
|
+
_this.taskEvent = new EventEmitter();
|
|
22
|
+
_this._taskPanelRefs = new Map();
|
|
23
|
+
_this._unsubscribe$ = new Subject();
|
|
24
|
+
return _this;
|
|
25
|
+
}
|
|
26
|
+
Object.defineProperty(AbstractDefaultTaskList.prototype, "allowMultiOpen", {
|
|
27
|
+
get: function () {
|
|
28
|
+
return this._allowMultiOpen;
|
|
29
|
+
},
|
|
30
|
+
set: function (bool) {
|
|
31
|
+
this._allowMultiOpen = bool;
|
|
32
|
+
this._taskViewService.allowMultiOpen = bool;
|
|
33
|
+
},
|
|
34
|
+
enumerable: false,
|
|
35
|
+
configurable: true
|
|
36
|
+
});
|
|
37
|
+
AbstractDefaultTaskList.prototype.ngOnDestroy = function () {
|
|
38
|
+
_super.prototype.ngOnDestroy.call(this);
|
|
39
|
+
this.taskEvent.complete();
|
|
40
|
+
this._unsubscribe$.complete();
|
|
41
|
+
};
|
|
42
|
+
AbstractDefaultTaskList.prototype.ngAfterViewInit = function () {
|
|
43
|
+
this.onRedirect();
|
|
44
|
+
};
|
|
45
|
+
AbstractDefaultTaskList.prototype.trackBy = function (_idx, item) {
|
|
46
|
+
return item.task.stringId; // + (item.task.user ? item.task.user.email : '');
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Emits an event into this component's @Output attribute
|
|
50
|
+
* @param event the event that will be emitted
|
|
51
|
+
*/
|
|
52
|
+
AbstractDefaultTaskList.prototype.emitTaskEvent = function (event) {
|
|
53
|
+
this.taskEvent.emit(event);
|
|
54
|
+
};
|
|
55
|
+
AbstractDefaultTaskList.prototype.addToPanelRefs = function (task, panelRef) {
|
|
56
|
+
this._taskPanelRefs.set(task.task.stringId, panelRef);
|
|
57
|
+
};
|
|
58
|
+
AbstractDefaultTaskList.prototype.onRedirect = function () {
|
|
59
|
+
var _this = this;
|
|
60
|
+
this.route.queryParams.pipe(filter(function (pm) { return !!pm['taskId']; })).subscribe(function (pm) {
|
|
61
|
+
_this._redirectTaskId = pm['taskId'];
|
|
62
|
+
_this._tasks$.pipe().subscribe(function (tasks) {
|
|
63
|
+
var task = tasks.find(function (t) { return t.task.stringId === _this._redirectTaskId; });
|
|
64
|
+
if (!!task && !task.initiallyExpanded) {
|
|
65
|
+
_this._taskPanelRefs.get(_this._redirectTaskId).open();
|
|
66
|
+
_this._taskPanelRefs.get(_this._redirectTaskId).expanded = true;
|
|
67
|
+
_this._unsubscribe$.next();
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
AbstractDefaultTaskList.ctorParameters = function () { return [
|
|
73
|
+
{ type: TaskViewService },
|
|
74
|
+
{ type: LoggerService },
|
|
75
|
+
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [NAE_TAB_DATA,] }] },
|
|
76
|
+
{ type: ActivatedRoute }
|
|
77
|
+
]; };
|
|
78
|
+
AbstractDefaultTaskList.propDecorators = {
|
|
79
|
+
loading$: [{ type: Input }],
|
|
80
|
+
selectedHeaders$: [{ type: Input }],
|
|
81
|
+
responsiveBody: [{ type: Input }],
|
|
82
|
+
forceLoadDataOnOpen: [{ type: Input }],
|
|
83
|
+
textEllipsis: [{ type: Input }],
|
|
84
|
+
allowMultiOpen: [{ type: Input }],
|
|
85
|
+
taskEvent: [{ type: Output }]
|
|
86
|
+
};
|
|
87
|
+
return AbstractDefaultTaskList;
|
|
88
|
+
}(TabbedVirtualScrollComponent));
|
|
89
|
+
export { AbstractDefaultTaskList };
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZGVmYXVsdC10YXNrLWxpc3QuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AbmV0Z3JpZi9jb21wb25lbnRzLWNvcmUvIiwic291cmNlcyI6WyJsaWIvcGFuZWwvdGFzay1wYW5lbC1saXN0L2RlZmF1bHQtdGFzay1wYW5lbC1saXN0L2Fic3RyYWN0LWRlZmF1bHQtdGFzay1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzVGLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQWEsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSXpDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBRzdGO0lBQXNELDJDQUE0QjtJQTRCOUUsaUNBQXNCLGdCQUFpQyxFQUNqQyxJQUFtQixFQUNLLGVBQWdDLEVBQ3hELEtBQXNCO1FBSDVDLFlBSUksa0JBQU0sZUFBZSxDQUFDLFNBSXpCO1FBUnFCLHNCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsVUFBSSxHQUFKLElBQUksQ0FBZTtRQUVuQixXQUFLLEdBQUwsS0FBSyxDQUFpQjtRQTFCbEMscUJBQWUsR0FBRyxJQUFJLENBQUM7UUFJeEIsb0JBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIseUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGtCQUFZLEdBQUcsS0FBSyxDQUFD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cUIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge01hdEV4cGFuc2lvblBhbmVsfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7ZmlsdGVyfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1RhYmJlZFZpcnR1YWxTY3JvbGxDb21wb25lbnR9IGZyb20gJy4uLy4uL2Fic3RyYWN0L3RhYmJlZC12aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQnO1xuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT3B0aW9uYWwsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtUYXNrUGFuZWxEYXRhfSBmcm9tICcuLi90YXNrLXBhbmVsLWRhdGEvdGFzay1wYW5lbC1kYXRhJztcbmltcG9ydCB7SGVhZGVyQ29sdW1ufSBmcm9tICcuLi8uLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci1jb2x1bW4nO1xuaW1wb3J0IHtUYXNrRXZlbnROb3RpZmljYXRpb259IGZyb20gJy4uLy4uLy4uL3Rhc2stY29udGVudC9tb2RlbC90YXNrLWV2ZW50LW5vdGlmaWNhdGlvbic7XG5pbXBvcnQge1Rhc2tWaWV3U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdmlldy90YXNrLXZpZXcvc2VydmljZS90YXNrLXZpZXcuc2VydmljZSc7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvZ2dlci9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge05BRV9UQUJfREFUQX0gZnJvbSAnLi4vLi4vLi4vdGFicy90YWItZGF0YS1pbmplY3Rpb24tdG9rZW4vdGFiLWRhdGEtaW5qZWN0aW9uLXRva2VuJztcbmltcG9ydCB7SW5qZWN0ZWRUYWJEYXRhfSBmcm9tICcuLi8uLi8uLi90YWJzL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REZWZhdWx0VGFza0xpc3QgZXh0ZW5kcyBUYWJiZWRWaXJ0dWFsU2Nyb2xsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAgIHByb3RlY3RlZCBfdGFza3MkOiBPYnNlcnZhYmxlPEFycmF5PFRhc2tQYW5lbERhdGE+PjtcbiAgICBwcm90ZWN0ZWQgX3JlZGlyZWN0VGFza0lkOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF91bnN1YnNjcmliZSQ6IFN1YmplY3Q8dm9pZD47XG4gICAgcHJvdGVjdGVkIF9hbGxvd011bHRpT3BlbiA9IHRydWU7XG4gICAgcHJvdGVjdGVkIF90YXNrUGFuZWxSZWZzOiBNYXA8c3RyaW5nLCBNYXRFeHBhbnNpb25QYW5lbD47XG4gICAgQElucHV0KCkgbG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgQElucHV0KCkgc2VsZWN0ZWRIZWFkZXJzJDogT2JzZXJ2YWJsZTxBcnJheTxIZWFkZXJDb2x1bW4+PjtcbiAgICBASW5wdXQoKSByZXNwb25zaXZlQm9keSA9IHRydWU7XG4gICAgQElucHV0KCkgZm9yY2VMb2FkRGF0YU9uT3BlbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHRleHRFbGxpcHNpcyA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgYWxsb3dNdWx0aU9wZW4oYm9vbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9hbGxvd011bHRpT3BlbiA9IGJvb2w7XG4gICAgICAgIHRoaXMuX3Rhc2tWaWV3U2VydmljZS5hbGxvd011bHRpT3BlbiA9IGJvb2w7XG4gICAgfVxuXG4gICAgZ2V0IGFsbG93TXVsdGlPcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWxsb3dNdWx0aU9wZW47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1pdHMgbm90aWZpY2F0aW9ucyBhYm91dCB0YXNrIGV2ZW50c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0YXNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxUYXNrRXZlbnROb3RpZmljYXRpb24+O1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF90YXNrVmlld1NlcnZpY2U6IFRhc2tWaWV3U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2xvZzogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BRV9UQUJfREFUQSkgaW5qZWN0ZWRUYWJEYXRhOiBJbmplY3RlZFRhYkRhdGEsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIHJvdXRlPzogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0ZWRUYWJEYXRhKTtcbiAgICAgICAgdGhpcy50YXNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRhc2tFdmVudE5vdGlmaWNhdGlvbj4oKTtcbiAgICAgICAgdGhpcy5fdGFza1BhbmVsUmVmcyA9IG5ldyBNYXA8c3RyaW5nLCBNYXRFeHBhbnNpb25QYW5lbD4oKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy50YXNrRXZlbnQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm9uUmVkaXJlY3QoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdHJhY2tCeShfaWR4OiBudW1iZXIsIGl0ZW06IFRhc2tQYW5lbERhdGEpOiBhbnkge1xuICAgICAgICByZXR1cm4gaXRlbS50YXNrLnN0cmluZ0lkOyAvLyArIChpdGVtLnRhc2sudXNlciA/IGl0ZW0udGFzay51c2VyLmVtYWlsIDogJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVtaXRzIGFuIGV2ZW50IGludG8gdGhpcyBjb21wb25lbnQncyBAT3V0cHV0IGF0dHJpYnV0ZVxuICAgICAqIEBwYXJhbSBldmVudCB0aGUgZXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZW1pdFRhc2tFdmVudChldmVudDogVGFza0V2ZW50Tm90aWZpY2F0aW9uKSB7XG4gICAgICAgIHRoaXMudGFza0V2ZW50LmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRUb1BhbmVsUmVmcyh0YXNrOiBUYXNrUGFuZWxEYXRhLCBwYW5lbFJlZjogTWF0RXhwYW5zaW9uUGFuZWwpIHtcbiAgICAgICAgdGhpcy5fdGFza1BhbmVsUmVmcy5zZXQodGFzay50YXNrLnN0cmluZ0lkLCBwYW5lbFJlZik7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmVkaXJlY3QoKSB7XG4gICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMucGlwZShmaWx0ZXIocG0gPT4gISFwbVsndGFza0lkJ10pKS5zdWJzY3JpYmUocG0gPT4ge1xuICAgICAgICAgICAgdGhpcy5fcmVkaXJlY3RUYXNrSWQgPSBwbVsndGFza0lkJ107XG4gICAgICAgICAgICB0aGlzLl90YXNrcyQucGlwZSgpLnN1YnNjcmliZSh0YXNrcyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFzayA9IHRhc2tzLmZpbmQodCA9PiB0LnRhc2suc3RyaW5nSWQgPT09IHRoaXMuX3JlZGlyZWN0VGFza0lkKTtcbiAgICAgICAgICAgICAgICBpZiAoISF0YXNrICYmICF0YXNrLmluaXRpYWxseUV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tQYW5lbFJlZnMuZ2V0KHRoaXMuX3JlZGlyZWN0VGFza0lkKS5vcGVuKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rhc2tQYW5lbFJlZnMuZ2V0KHRoaXMuX3JlZGlyZWN0VGFza0lkKS5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|