@skyux/ag-grid 7.0.0-beta.9 → 7.1.0
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/css/sky-ag-grid.css +4506 -29219
- package/documentation.json +1360 -575
- package/esm2020/index.mjs +7 -1
- package/esm2020/lib/modules/ag-grid/ag-grid-adapter.service.mjs +6 -5
- package/esm2020/lib/modules/ag-grid/ag-grid-data-manager-adapter.directive.mjs +132 -114
- package/esm2020/lib/modules/ag-grid/ag-grid-row-delete.component.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/ag-grid-row-delete.directive.mjs +131 -124
- package/esm2020/lib/modules/ag-grid/ag-grid-wrapper.component.mjs +140 -73
- package/esm2020/lib/modules/ag-grid/ag-grid.module.mjs +30 -8
- package/esm2020/lib/modules/ag-grid/ag-grid.service.mjs +310 -292
- package/esm2020/lib/modules/ag-grid/apply-lookup-properties-defaults.mjs +13 -9
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.mjs +30 -25
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.mjs +32 -28
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.mjs +63 -58
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.mjs +46 -40
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.mjs +33 -29
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.mjs +33 -29
- package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.mjs +8 -6
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.mjs +25 -21
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.mjs +31 -24
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.mjs +6 -5
- package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.mjs +38 -33
- package/esm2020/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator.module.mjs +5 -5
- package/esm2020/lib/modules/ag-grid/header/header-group.component.mjs +95 -0
- package/esm2020/lib/modules/ag-grid/header/header.component.mjs +133 -0
- package/esm2020/lib/modules/ag-grid/types/autocomplete-properties.mjs +1 -1
- package/esm2020/lib/modules/ag-grid/types/cell-editor-utils.mjs +7 -2
- package/esm2020/lib/modules/ag-grid/types/header-group-info.mjs +16 -0
- package/esm2020/lib/modules/ag-grid/types/header-group-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/header-info.mjs +16 -0
- package/esm2020/lib/modules/ag-grid/types/header-params.mjs +2 -0
- package/esm2020/lib/modules/ag-grid/types/lookup-properties.mjs +1 -1
- package/esm2020/lib/modules/ag-grid/types/validator-properties.mjs +1 -1
- package/esm2020/lib/modules/shared/sky-ag-grid-resources.module.mjs +11 -8
- package/fesm2015/skyux-ag-grid.mjs +2430 -1984
- package/fesm2015/skyux-ag-grid.mjs.map +1 -1
- package/fesm2020/skyux-ag-grid.mjs +2325 -1906
- package/fesm2020/skyux-ag-grid.mjs.map +1 -1
- package/index.d.ts +6 -0
- package/lib/modules/ag-grid/ag-grid-adapter.service.d.ts +1 -1
- package/lib/modules/ag-grid/ag-grid-data-manager-adapter.directive.d.ts +4 -22
- package/lib/modules/ag-grid/ag-grid-row-delete.component.d.ts +2 -2
- package/lib/modules/ag-grid/ag-grid-row-delete.directive.d.ts +5 -18
- package/lib/modules/ag-grid/ag-grid-wrapper.component.d.ts +10 -11
- package/lib/modules/ag-grid/ag-grid.module.d.ts +25 -20
- package/lib/modules/ag-grid/ag-grid.service.d.ts +3 -17
- package/lib/modules/ag-grid/apply-lookup-properties-defaults.d.ts +1 -23
- package/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.d.ts +3 -3
- package/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.d.ts +7 -8
- package/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.d.ts +5 -8
- package/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.d.ts +2 -6
- package/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.d.ts +8 -8
- package/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.d.ts +8 -8
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.d.ts +1 -1
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.d.ts +9 -10
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.d.ts +2 -2
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.d.ts +6 -8
- package/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.d.ts +3 -3
- package/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.d.ts +4 -7
- package/lib/modules/ag-grid/header/header-group.component.d.ts +22 -0
- package/lib/modules/ag-grid/header/header.component.d.ts +27 -0
- package/lib/modules/ag-grid/types/autocomplete-properties.d.ts +5 -4
- package/lib/modules/ag-grid/types/cell-editor-utils.d.ts +2 -1
- package/lib/modules/ag-grid/types/header-group-info.d.ts +18 -0
- package/lib/modules/ag-grid/types/header-group-params.d.ts +10 -0
- package/lib/modules/ag-grid/types/header-info.d.ts +18 -0
- package/lib/modules/ag-grid/types/header-params.d.ts +10 -0
- package/lib/modules/ag-grid/types/lookup-properties.d.ts +3 -3
- package/lib/modules/ag-grid/types/validator-properties.d.ts +2 -2
- package/package.json +17 -17
package/esm2020/index.mjs
CHANGED
|
@@ -11,6 +11,10 @@ export * from './lib/modules/ag-grid/types/cell-type';
|
|
|
11
11
|
export * from './lib/modules/ag-grid/types/currency-properties';
|
|
12
12
|
export * from './lib/modules/ag-grid/types/datepicker-properties';
|
|
13
13
|
export * from './lib/modules/ag-grid/types/header-class';
|
|
14
|
+
export * from './lib/modules/ag-grid/types/header-group-info';
|
|
15
|
+
export * from './lib/modules/ag-grid/types/header-group-params';
|
|
16
|
+
export * from './lib/modules/ag-grid/types/header-info';
|
|
17
|
+
export * from './lib/modules/ag-grid/types/header-params';
|
|
14
18
|
export * from './lib/modules/ag-grid/types/lookup-properties';
|
|
15
19
|
export * from './lib/modules/ag-grid/types/number-properties';
|
|
16
20
|
export * from './lib/modules/ag-grid/types/sky-grid-options';
|
|
@@ -34,4 +38,6 @@ export { SkyAgGridRowDeleteDirective as λ13 } from './lib/modules/ag-grid/ag-gr
|
|
|
34
38
|
export { SkyAgGridDataManagerAdapterDirective as λ14 } from './lib/modules/ag-grid/ag-grid-data-manager-adapter.directive';
|
|
35
39
|
export { SkyAgGridCellEditorLookupComponent as λ15 } from './lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component';
|
|
36
40
|
export { SkyAgGridCellRendererLookupComponent as λ16 } from './lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component';
|
|
37
|
-
|
|
41
|
+
export { SkyAgGridHeaderComponent as λ17 } from './lib/modules/ag-grid/header/header.component';
|
|
42
|
+
export { SkyAgGridHeaderGroupComponent as λ18 } from './lib/modules/ag-grid/header/header-group.component';
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLDBGQUEwRjtBQUMxRiwyRUFBMkU7QUFDM0UsT0FBTyxFQUFFLHdDQUF3QyxJQUFJLEVBQUUsRUFBRSxNQUFNLGdHQUFnRyxDQUFDO0FBQ2hLLE9BQU8sRUFBRSxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUN4SSxPQUFPLEVBQUUsb0NBQW9DLElBQUksRUFBRSxFQUFFLE1BQU0sd0ZBQXdGLENBQUM7QUFDcEosT0FBTyxFQUFFLGtDQUFrQyxJQUFJLEVBQUUsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQzlJLE9BQU8sRUFBRSxzQ0FBc0MsSUFBSSxFQUFFLEVBQUUsTUFBTSw0RkFBNEYsQ0FBQztBQUMxSixPQUFPLEVBQUUsMkJBQTJCLElBQUksRUFBRSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDdkcsT0FBTyxFQUFFLHlDQUF5QyxJQUFJLEVBQUUsRUFBRSxNQUFNLHNHQUFzRyxDQUFDO0FBQ3ZLLE9BQU8sRUFBRSwrQ0FBK0MsSUFBSSxFQUFFLEVBQUUsTUFBTSx3R0FBd0csQ0FBQztBQUMvSyxPQUFPLEVBQUUsc0NBQXNDLElBQUksRUFBRSxFQUFFLE1BQU0sOEZBQThGLENBQUM7QUFDNUosT0FBTyxFQUFFLDhDQUE4QyxJQUFJLEdBQUcsRUFBRSxNQUFNLGdIQUFnSCxDQUFDO0FBQ3ZMLE9BQU8sRUFBRSxzQ0FBc0MsSUFBSSxHQUFHLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUM5SSxPQUFPLEVBQUUseUJBQXlCLElBQUksR0FBRyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkcsT0FBTyxFQUFFLDJCQUEyQixJQUFJLEdBQUcsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxvQ0FBb0MsSUFBSSxHQUFHLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUMzSCxPQUFPLEVBQUUsa0NBQWtDLElBQUksR0FBRyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDL0ksT0FBTyxFQUFFLG9DQUFvQyxJQUFJLEdBQUcsRUFBRSxNQUFNLDBGQUEwRixDQUFDO0FBQ3ZKLE9BQU8sRUFBRSx3QkFBd0IsSUFBSSxHQUFHLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRyxPQUFPLEVBQUUsNkJBQTZCLElBQUksR0FBRyxFQUFFLE1BQU0scURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFeHBvcnQgYW55IHR5cGVzIHRoYXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByb290LlxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL3R5cGVzL2FnLWdyaWQtcm93LWRlbGV0ZS1jYW5jZWwtYXJncyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvdHlwZXMvYWctZ3JpZC1yb3ctZGVsZXRlLWNvbmZpcm0tYXJncyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvdHlwZXMvYXV0b2NvbXBsZXRlLXByb3BlcnRpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL3R5cGVzL2NlbGwtY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL3R5cGVzL2NlbGwtZWRpdG9yLWluaXRpYWwtYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC90eXBlcy9jZWxsLWVkaXRvci11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvdHlwZXMvY2VsbC10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC90eXBlcy9jdXJyZW5jeS1wcm9wZXJ0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC90eXBlcy9kYXRlcGlja2VyLXByb3BlcnRpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL3R5cGVzL2hlYWRlci1jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvdHlwZXMvaGVhZGVyLWdyb3VwLWluZm8nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL3R5cGVzL2hlYWRlci1ncm91cC1wYXJhbXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL3R5cGVzL2hlYWRlci1pbmZvJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC90eXBlcy9oZWFkZXItcGFyYW1zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC90eXBlcy9sb29rdXAtcHJvcGVydGllcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvdHlwZXMvbnVtYmVyLXByb3BlcnRpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL3R5cGVzL3NreS1ncmlkLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL3R5cGVzL3RleHQtcHJvcGVydGllcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvdHlwZXMvdmFsaWRhdG9yLXByb3BlcnRpZXMnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yQXV0b2NvbXBsZXRlQ29tcG9uZW50IGFzIM67MSB9IGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC9jZWxsLWVkaXRvcnMvY2VsbC1lZGl0b3ItYXV0b2NvbXBsZXRlL2NlbGwtZWRpdG9yLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvclRleHRDb21wb25lbnQgYXMgzrsyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci10ZXh0L2NlbGwtZWRpdG9yLXRleHQuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUFnR3JpZENlbGxFZGl0b3JDdXJyZW5jeUNvbXBvbmVudCBhcyDOuzMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWN1cnJlbmN5L2NlbGwtZWRpdG9yLWN1cnJlbmN5LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yTnVtYmVyQ29tcG9uZW50IGFzIM67NCB9IGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC9jZWxsLWVkaXRvcnMvY2VsbC1lZGl0b3ItbnVtYmVyL2NlbGwtZWRpdG9yLW51bWJlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5QWdHcmlkQ2VsbEVkaXRvckRhdGVwaWNrZXJDb21wb25lbnQgYXMgzrs1IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtZWRpdG9ycy9jZWxsLWVkaXRvci1kYXRlcGlja2VyL2NlbGwtZWRpdG9yLWRhdGVwaWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCBhcyDOuzYgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvYWctZ3JpZC1yb3ctZGVsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJSb3dTZWxlY3RvckNvbXBvbmVudCBhcyDOuzcgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci1yb3ctc2VsZWN0b3IvY2VsbC1yZW5kZXJlci1yb3ctc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckN1cnJlbmN5VmFsaWRhdG9yQ29tcG9uZW50IGFzIM67OCB9IGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC9jZWxsLXJlbmRlcmVycy9jZWxsLXJlbmRlcmVyLWN1cnJlbmN5L2NlbGwtcmVuZGVyZXItY3VycmVuY3ktdmFsaWRhdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJDdXJyZW5jeUNvbXBvbmVudCBhcyDOuzkgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci1jdXJyZW5jeS9jZWxsLXJlbmRlcmVyLWN1cnJlbmN5LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lBZ0dyaWRDZWxsUmVuZGVyZXJWYWxpZGF0b3JUb29sdGlwQ29tcG9uZW50IGFzIM67MTAgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvY2VsbC1yZW5kZXJlcnMvY2VsbC1yZW5kZXJlci12YWxpZGF0b3ItdG9vbHRpcC9jZWxsLXJlbmRlcmVyLXZhbGlkYXRvci10b29sdGlwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lBZ0dyaWRDZWxsVmFsaWRhdG9yVG9vbHRpcENvbXBvbmVudCBhcyDOuzExIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtdmFsaWRhdG9yL2FnLWdyaWQtY2VsbC12YWxpZGF0b3ItdG9vbHRpcC5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCBhcyDOuzEyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlRGlyZWN0aXZlIGFzIM67MTMgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lBZ0dyaWREYXRhTWFuYWdlckFkYXB0ZXJEaXJlY3RpdmUgYXMgzrsxNCB9IGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWRhdGEtbWFuYWdlci1hZGFwdGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa3lBZ0dyaWRDZWxsRWRpdG9yTG9va3VwQ29tcG9uZW50IGFzIM67MTUgfSBmcm9tICcuL2xpYi9tb2R1bGVzL2FnLWdyaWQvY2VsbC1lZGl0b3JzL2NlbGwtZWRpdG9yLWxvb2t1cC9jZWxsLWVkaXRvci1sb29rdXAuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUFnR3JpZENlbGxSZW5kZXJlckxvb2t1cENvbXBvbmVudCBhcyDOuzE2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL2NlbGwtcmVuZGVyZXJzL2NlbGwtcmVuZGVyZXItbG9va3VwL2NlbGwtcmVuZGVyZXItbG9va3VwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lBZ0dyaWRIZWFkZXJDb21wb25lbnQgYXMgzrsxNyB9IGZyb20gJy4vbGliL21vZHVsZXMvYWctZ3JpZC9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lBZ0dyaWRIZWFkZXJHcm91cENvbXBvbmVudCBhcyDOuzE4IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9hZy1ncmlkL2hlYWRlci9oZWFkZXItZ3JvdXAuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { SkyCoreAdapterService } from '@skyux/core';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "@skyux/core";
|
|
5
4
|
export class SkyAgGridAdapterService {
|
|
@@ -13,6 +12,7 @@ export class SkyAgGridAdapterService {
|
|
|
13
12
|
else if (element.parentElement) {
|
|
14
13
|
return this.getElementOrParentWithClass(element.parentElement, className);
|
|
15
14
|
}
|
|
15
|
+
return undefined;
|
|
16
16
|
}
|
|
17
17
|
setFocusedElementById(parentEl, selector) {
|
|
18
18
|
const element = parentEl.querySelector(`#${selector}`);
|
|
@@ -36,6 +36,7 @@ export class SkyAgGridAdapterService {
|
|
|
36
36
|
return focusableChildren[nextIndex];
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
+
return undefined;
|
|
39
40
|
}
|
|
40
41
|
focusOnFocusableChildren(element) {
|
|
41
42
|
const focusableChildren = this.skyAdapterService.getFocusableChildren(element);
|
|
@@ -44,12 +45,12 @@ export class SkyAgGridAdapterService {
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
|
-
SkyAgGridAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
48
|
-
SkyAgGridAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
48
|
+
SkyAgGridAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridAdapterService, deps: [{ token: i1.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
49
|
+
SkyAgGridAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridAdapterService, providedIn: 'root' });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridAdapterService, decorators: [{
|
|
50
51
|
type: Injectable,
|
|
51
52
|
args: [{
|
|
52
53
|
providedIn: 'root',
|
|
53
54
|
}]
|
|
54
55
|
}], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }]; } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUFvQixpQkFBd0M7UUFBeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QjtJQUFHLENBQUM7SUFFekQsMkJBQTJCLENBQ2hDLE9BQW9CLEVBQ3BCLFNBQWlCO1FBRWpCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BELE9BQU8sT0FBTyxDQUFDO1NBQ2hCO2FBQU0sSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDM0U7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0scUJBQXFCLENBQUMsUUFBcUIsRUFBRSxRQUFnQjtRQUNsRSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksUUFBUSxFQUFFLENBQWdCLENBQUM7UUFFdEUsMEJBQTBCO1FBQzFCLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLFFBQVEsQ0FBQyxhQUE0QixDQUFDO0lBQy9DLENBQUM7SUFFTSx1QkFBdUIsQ0FDNUIsU0FBc0IsRUFDdEIsUUFBc0IsRUFDdEIsYUFBdUI7UUFFdkIsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLGlCQUFpQixHQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEQsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakUsTUFBTSxTQUFTLEdBQUcsYUFBYTtnQkFDN0IsQ0FBQyxDQUFDLG1CQUFtQixHQUFHLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7WUFFNUIsSUFDRSxDQUFDLENBQUMsYUFBYSxJQUFJLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUM7Z0JBQ3pELENBQUMsYUFBYSxJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFDakM7Z0JBQ0EsT0FBTyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNyQztTQUNGO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLHdCQUF3QixDQUFDLE9BQW9CO1FBQ2xELE1BQU0saUJBQWlCLEdBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2RCxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUM1QixpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7O3FIQTVEVSx1QkFBdUI7eUhBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRBZGFwdGVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2t5QWRhcHRlclNlcnZpY2U6IFNreUNvcmVBZGFwdGVyU2VydmljZSkge31cblxuICBwdWJsaWMgZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIGNsYXNzTmFtZTogc3RyaW5nXG4gICk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKGVsZW1lbnQucGFyZW50RWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldEZvY3VzZWRFbGVtZW50QnlJZChwYXJlbnRFbDogSFRNTEVsZW1lbnQsIHNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gcGFyZW50RWwucXVlcnlTZWxlY3RvcihgIyR7c2VsZWN0b3J9YCkgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEZvY3VzZWRFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0Rm9jdXNhYmxlRWxlbWVudChcbiAgICBjdXJyZW50RWw6IEhUTUxFbGVtZW50LFxuICAgIHBhcmVudEVsPzogSFRNTEVsZW1lbnQsXG4gICAgbW92ZUZvY3VzTGVmdD86IGJvb2xlYW5cbiAgKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGlmIChwYXJlbnRFbCkge1xuICAgICAgY29uc3QgZm9jdXNhYmxlQ2hpbGRyZW4gPVxuICAgICAgICB0aGlzLnNreUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKHBhcmVudEVsKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50SW5kZXggPSBmb2N1c2FibGVDaGlsZHJlbi5pbmRleE9mKGN1cnJlbnRFbCk7XG4gICAgICBjb25zdCBuZXh0SW5kZXggPSBtb3ZlRm9jdXNMZWZ0XG4gICAgICAgID8gY3VycmVudEVsZW1lbnRJbmRleCAtIDFcbiAgICAgICAgOiBjdXJyZW50RWxlbWVudEluZGV4ICsgMTtcblxuICAgICAgaWYgKFxuICAgICAgICAoIW1vdmVGb2N1c0xlZnQgJiYgZm9jdXNhYmxlQ2hpbGRyZW4ubGVuZ3RoID49IG5leHRJbmRleCkgfHxcbiAgICAgICAgKG1vdmVGb2N1c0xlZnQgJiYgbmV4dEluZGV4ID49IDApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZvY3VzYWJsZUNoaWxkcmVuW25leHRJbmRleF07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c09uRm9jdXNhYmxlQ2hpbGRyZW4oZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmb2N1c2FibGVDaGlsZHJlbiA9XG4gICAgICB0aGlzLnNreUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQpO1xuXG4gICAgaWYgKGZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgZm9jdXNhYmxlQ2hpbGRyZW5bMF0uZm9jdXMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
var _SkyAgGridDataManagerAdapterDirective_instances, _SkyAgGridDataManagerAdapterDirective_currentAgGrid, _SkyAgGridDataManagerAdapterDirective_currentDataState, _SkyAgGridDataManagerAdapterDirective_currentSkyAgGridWrapper, _SkyAgGridDataManagerAdapterDirective_dataStateSub, _SkyAgGridDataManagerAdapterDirective_viewConfig, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, _SkyAgGridDataManagerAdapterDirective_changeDetector, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, _SkyAgGridDataManagerAdapterDirective_checkForAgGrid, _SkyAgGridDataManagerAdapterDirective_checkForSkyAgGridWrapper, _SkyAgGridDataManagerAdapterDirective_unregisterAgGrid, _SkyAgGridDataManagerAdapterDirective_unregisterSkyAgGridWrapper, _SkyAgGridDataManagerAdapterDirective_registerSkyAgGridWrapper, _SkyAgGridDataManagerAdapterDirective_registerAgGrid, _SkyAgGridDataManagerAdapterDirective_updateColumnsInCurrentDataState, _SkyAgGridDataManagerAdapterDirective_getColumnOrder, _SkyAgGridDataManagerAdapterDirective_displayColumns, _SkyAgGridDataManagerAdapterDirective_selectAll, _SkyAgGridDataManagerAdapterDirective_clearAll;
|
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
+
import { ContentChildren, Directive, Input, } from '@angular/core';
|
|
3
4
|
import { AgGridAngular } from 'ag-grid-angular';
|
|
4
5
|
import { Subject } from 'rxjs';
|
|
5
6
|
import { filter, takeUntil } from 'rxjs/operators';
|
|
@@ -11,132 +12,147 @@ import * as i1 from "@skyux/data-manager";
|
|
|
11
12
|
*/
|
|
12
13
|
export class SkyAgGridDataManagerAdapterDirective {
|
|
13
14
|
constructor(changeDetector, dataManagerSvc) {
|
|
14
|
-
this
|
|
15
|
-
this
|
|
16
|
-
this
|
|
15
|
+
_SkyAgGridDataManagerAdapterDirective_instances.add(this);
|
|
16
|
+
_SkyAgGridDataManagerAdapterDirective_currentAgGrid.set(this, void 0);
|
|
17
|
+
_SkyAgGridDataManagerAdapterDirective_currentDataState.set(this, void 0);
|
|
18
|
+
_SkyAgGridDataManagerAdapterDirective_currentSkyAgGridWrapper.set(this, void 0);
|
|
19
|
+
_SkyAgGridDataManagerAdapterDirective_dataStateSub.set(this, void 0);
|
|
20
|
+
_SkyAgGridDataManagerAdapterDirective_viewConfig.set(this, void 0);
|
|
21
|
+
_SkyAgGridDataManagerAdapterDirective_ngUnsubscribe.set(this, new Subject());
|
|
22
|
+
_SkyAgGridDataManagerAdapterDirective_changeDetector.set(this, void 0);
|
|
23
|
+
_SkyAgGridDataManagerAdapterDirective_dataManagerSvc.set(this, void 0);
|
|
24
|
+
__classPrivateFieldSet(this, _SkyAgGridDataManagerAdapterDirective_changeDetector, changeDetector, "f");
|
|
25
|
+
__classPrivateFieldSet(this, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, dataManagerSvc, "f");
|
|
17
26
|
}
|
|
18
27
|
ngAfterContentInit() {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
if (this.viewId) {
|
|
29
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, "f").setViewkeeperClasses(this.viewId, ['.ag-header']);
|
|
30
|
+
__classPrivateFieldSet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, "f").getViewById(this.viewId), "f");
|
|
31
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_checkForAgGrid).call(this);
|
|
32
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_checkForSkyAgGridWrapper).call(this);
|
|
33
|
+
this.agGridList?.changes
|
|
34
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, "f")))
|
|
35
|
+
.subscribe(() => __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_checkForAgGrid).call(this));
|
|
36
|
+
this.skyAgGridWrapperList?.changes
|
|
37
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, "f")))
|
|
38
|
+
.subscribe(() => __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_checkForSkyAgGridWrapper).call(this));
|
|
39
|
+
}
|
|
29
40
|
}
|
|
30
41
|
ngOnDestroy() {
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
42
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, "f").next();
|
|
43
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, "f").complete();
|
|
33
44
|
}
|
|
34
|
-
|
|
45
|
+
}
|
|
46
|
+
_SkyAgGridDataManagerAdapterDirective_currentAgGrid = new WeakMap(), _SkyAgGridDataManagerAdapterDirective_currentDataState = new WeakMap(), _SkyAgGridDataManagerAdapterDirective_currentSkyAgGridWrapper = new WeakMap(), _SkyAgGridDataManagerAdapterDirective_dataStateSub = new WeakMap(), _SkyAgGridDataManagerAdapterDirective_viewConfig = new WeakMap(), _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe = new WeakMap(), _SkyAgGridDataManagerAdapterDirective_changeDetector = new WeakMap(), _SkyAgGridDataManagerAdapterDirective_dataManagerSvc = new WeakMap(), _SkyAgGridDataManagerAdapterDirective_instances = new WeakSet(), _SkyAgGridDataManagerAdapterDirective_checkForAgGrid = function _SkyAgGridDataManagerAdapterDirective_checkForAgGrid() {
|
|
47
|
+
if (this.agGridList) {
|
|
35
48
|
const agGridCount = this.agGridList.length;
|
|
36
49
|
/* istanbul ignore else */
|
|
37
50
|
if (agGridCount === 0) {
|
|
38
|
-
this.
|
|
51
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_unregisterAgGrid).call(this);
|
|
39
52
|
}
|
|
40
|
-
else if (this.agGridList.first !== this
|
|
41
|
-
this.
|
|
53
|
+
else if (this.agGridList.first !== __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentAgGrid, "f")) {
|
|
54
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_registerAgGrid).call(this);
|
|
42
55
|
}
|
|
43
56
|
if (agGridCount > 1) {
|
|
44
57
|
console.warn('More than one ag-grid child component was found. Using the first ag-Grid.');
|
|
45
58
|
}
|
|
46
59
|
}
|
|
47
|
-
|
|
60
|
+
}, _SkyAgGridDataManagerAdapterDirective_checkForSkyAgGridWrapper = function _SkyAgGridDataManagerAdapterDirective_checkForSkyAgGridWrapper() {
|
|
61
|
+
if (this.skyAgGridWrapperList) {
|
|
48
62
|
const skyAgGridWrapperCount = this.skyAgGridWrapperList.length;
|
|
49
63
|
/* istanbul ignore else */
|
|
50
64
|
if (skyAgGridWrapperCount === 0) {
|
|
51
|
-
this.
|
|
65
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_unregisterSkyAgGridWrapper).call(this);
|
|
52
66
|
}
|
|
53
|
-
else if (this.skyAgGridWrapperList.first !== this
|
|
54
|
-
this.
|
|
67
|
+
else if (this.skyAgGridWrapperList.first !== __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentSkyAgGridWrapper, "f")) {
|
|
68
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_registerSkyAgGridWrapper).call(this);
|
|
55
69
|
}
|
|
56
70
|
if (skyAgGridWrapperCount > 1) {
|
|
57
71
|
console.warn('More than one ag-grid child component was found. Using the first ag-Grid.');
|
|
58
72
|
}
|
|
59
73
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
74
|
+
}, _SkyAgGridDataManagerAdapterDirective_unregisterAgGrid = function _SkyAgGridDataManagerAdapterDirective_unregisterAgGrid() {
|
|
75
|
+
__classPrivateFieldSet(this, _SkyAgGridDataManagerAdapterDirective_currentAgGrid, undefined, "f");
|
|
76
|
+
/* istanbul ignore if */
|
|
77
|
+
if (__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataStateSub, "f")) {
|
|
78
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataStateSub, "f").unsubscribe();
|
|
66
79
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
this.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
80
|
+
}, _SkyAgGridDataManagerAdapterDirective_unregisterSkyAgGridWrapper = function _SkyAgGridDataManagerAdapterDirective_unregisterSkyAgGridWrapper() {
|
|
81
|
+
__classPrivateFieldSet(this, _SkyAgGridDataManagerAdapterDirective_currentSkyAgGridWrapper, undefined, "f");
|
|
82
|
+
}, _SkyAgGridDataManagerAdapterDirective_registerSkyAgGridWrapper = function _SkyAgGridDataManagerAdapterDirective_registerSkyAgGridWrapper() {
|
|
83
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_unregisterSkyAgGridWrapper).call(this);
|
|
84
|
+
__classPrivateFieldSet(this, _SkyAgGridDataManagerAdapterDirective_currentSkyAgGridWrapper, this.skyAgGridWrapperList?.first, "f");
|
|
85
|
+
setTimeout(() => {
|
|
86
|
+
if (__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentSkyAgGridWrapper, "f")) {
|
|
87
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentSkyAgGridWrapper, "f").viewkeeperClasses = [];
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}, _SkyAgGridDataManagerAdapterDirective_registerAgGrid = function _SkyAgGridDataManagerAdapterDirective_registerAgGrid() {
|
|
91
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_unregisterAgGrid).call(this);
|
|
92
|
+
const agGrid = this.agGridList?.first;
|
|
93
|
+
__classPrivateFieldSet(this, _SkyAgGridDataManagerAdapterDirective_currentAgGrid, agGrid, "f");
|
|
94
|
+
if (agGrid) {
|
|
95
|
+
agGrid.gridReady.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, "f"))).subscribe(() => {
|
|
96
|
+
if (__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f") && this.viewId) {
|
|
97
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f").onSelectAllClick = __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_selectAll).bind(this);
|
|
98
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f").onClearAllClick = __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_clearAll).bind(this);
|
|
99
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, "f").updateViewConfig(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f"));
|
|
100
|
+
__classPrivateFieldSet(this, _SkyAgGridDataManagerAdapterDirective_dataStateSub, __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, "f")
|
|
101
|
+
.getDataStateUpdates(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f").id)
|
|
102
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, "f")))
|
|
103
|
+
.subscribe((dataState) => {
|
|
104
|
+
__classPrivateFieldSet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, dataState, "f");
|
|
105
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_displayColumns).call(this, dataState);
|
|
106
|
+
}), "f");
|
|
107
|
+
if (agGrid.gridOptions.context?.enableTopScroll) {
|
|
108
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, "f").setViewkeeperClasses(this.viewId, [
|
|
109
|
+
'.ag-header',
|
|
110
|
+
'.ag-body-horizontal-scroll',
|
|
111
|
+
]);
|
|
112
|
+
}
|
|
113
|
+
agGrid.api.sizeColumnsToFit();
|
|
99
114
|
}
|
|
100
|
-
agGrid.api.sizeColumnsToFit();
|
|
101
115
|
});
|
|
102
116
|
agGrid.columnMoved
|
|
103
|
-
.pipe(takeUntil(this
|
|
117
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, "f")), filter((event) => ![
|
|
104
118
|
'gridInitializing',
|
|
105
119
|
'uiColumnResized',
|
|
106
120
|
'uiColumnDragged',
|
|
107
121
|
'api',
|
|
108
122
|
].includes(event.source)))
|
|
109
123
|
.subscribe((value) => {
|
|
110
|
-
this.
|
|
124
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_updateColumnsInCurrentDataState).call(this, value.columnApi);
|
|
111
125
|
});
|
|
112
126
|
agGrid.dragStopped
|
|
113
|
-
.pipe(takeUntil(this
|
|
127
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, "f")))
|
|
114
128
|
.subscribe((value) => {
|
|
115
|
-
this.
|
|
129
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_updateColumnsInCurrentDataState).call(this, value.columnApi);
|
|
116
130
|
});
|
|
117
131
|
agGrid.rowSelected
|
|
118
|
-
.pipe(takeUntil(this
|
|
132
|
+
.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, "f")))
|
|
119
133
|
.subscribe((event) => {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
134
|
+
if (__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f") && __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, "f")) {
|
|
135
|
+
const row = event.node;
|
|
136
|
+
const selectedIds = __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, "f").selectedIds || [];
|
|
137
|
+
const rowIndex = selectedIds.indexOf(row.data.id);
|
|
138
|
+
if (row.isSelected() && rowIndex === -1) {
|
|
139
|
+
selectedIds.push(row.data.id);
|
|
140
|
+
}
|
|
141
|
+
else if (!row.isSelected() && rowIndex !== -1) {
|
|
142
|
+
selectedIds.splice(rowIndex, 1);
|
|
143
|
+
}
|
|
144
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, "f").selectedIds = selectedIds;
|
|
145
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, "f").updateDataState(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, "f"), __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f").id);
|
|
146
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_changeDetector, "f").markForCheck();
|
|
128
147
|
}
|
|
129
|
-
this.currentDataState.selectedIds = selectedIds;
|
|
130
|
-
this.dataManagerSvc.updateDataState(this.currentDataState, this.viewConfig.id);
|
|
131
|
-
this.changeDetector.markForCheck();
|
|
132
148
|
});
|
|
133
|
-
agGrid.sortChanged.pipe(takeUntil(this
|
|
149
|
+
agGrid.sortChanged.pipe(takeUntil(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, "f"))).subscribe(() => {
|
|
134
150
|
const gridColumnStates = agGrid.columnApi.getColumnState();
|
|
135
151
|
let sortOption;
|
|
136
152
|
/* istanbul ignore else */
|
|
137
153
|
if (gridColumnStates.length) {
|
|
138
154
|
const activeSortColumnState = gridColumnStates.find((aGridColumnState) => aGridColumnState.sortIndex === 0);
|
|
139
|
-
const dataManagerConfig = this.
|
|
155
|
+
const dataManagerConfig = __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, "f").getCurrentDataManagerConfig();
|
|
140
156
|
/* istanbul ignore else */
|
|
141
157
|
if (dataManagerConfig.sortOptions && activeSortColumnState) {
|
|
142
158
|
sortOption = dataManagerConfig.sortOptions.find((option) => {
|
|
@@ -148,34 +164,38 @@ export class SkyAgGridDataManagerAdapterDirective {
|
|
|
148
164
|
sortOption = undefined;
|
|
149
165
|
}
|
|
150
166
|
}
|
|
151
|
-
this
|
|
152
|
-
|
|
167
|
+
if (__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f") && __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, "f")) {
|
|
168
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, "f").activeSortOption = sortOption;
|
|
169
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, "f").updateDataState(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, "f"), __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f").id);
|
|
170
|
+
}
|
|
153
171
|
});
|
|
154
172
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
173
|
+
}, _SkyAgGridDataManagerAdapterDirective_updateColumnsInCurrentDataState = function _SkyAgGridDataManagerAdapterDirective_updateColumnsInCurrentDataState(columnApi) {
|
|
174
|
+
if (__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f") && __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, "f")) {
|
|
175
|
+
const columnOrder = __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_getColumnOrder).call(this, columnApi);
|
|
176
|
+
const viewState = __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, "f").getViewStateById(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f").id);
|
|
177
|
+
if (viewState &&
|
|
178
|
+
(viewState.displayedColumnIds.length !== columnOrder.length ||
|
|
179
|
+
viewState.displayedColumnIds.some((col, i) => col !== columnOrder[i]))) {
|
|
160
180
|
viewState.displayedColumnIds = columnOrder;
|
|
161
|
-
this.
|
|
181
|
+
__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, "f").updateDataState(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentDataState, "f").addOrUpdateView(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f").id, viewState), __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f").id);
|
|
162
182
|
}
|
|
163
183
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
const viewState = dataState.getViewStateById(this.
|
|
184
|
+
}, _SkyAgGridDataManagerAdapterDirective_getColumnOrder = function _SkyAgGridDataManagerAdapterDirective_getColumnOrder(columnApi) {
|
|
185
|
+
return columnApi
|
|
186
|
+
.getColumnState()
|
|
187
|
+
.filter((state) => !state.hide)
|
|
188
|
+
.map((state) => state.colId);
|
|
189
|
+
}, _SkyAgGridDataManagerAdapterDirective_displayColumns = function _SkyAgGridDataManagerAdapterDirective_displayColumns(dataState) {
|
|
190
|
+
const agGrid = __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_currentAgGrid, "f");
|
|
191
|
+
if (agGrid && __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f")) {
|
|
192
|
+
const viewState = dataState.getViewStateById(__classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_viewConfig, "f").id);
|
|
173
193
|
let displayedColumnIds = [];
|
|
174
194
|
/*istanbul ignore else*/
|
|
175
|
-
if (viewState
|
|
195
|
+
if (viewState?.displayedColumnIds) {
|
|
176
196
|
displayedColumnIds = viewState.displayedColumnIds;
|
|
177
197
|
}
|
|
178
|
-
const columnOrder = this.
|
|
198
|
+
const columnOrder = __classPrivateFieldGet(this, _SkyAgGridDataManagerAdapterDirective_instances, "m", _SkyAgGridDataManagerAdapterDirective_getColumnOrder).call(this, agGrid.columnApi);
|
|
179
199
|
if (displayedColumnIds.length !== columnOrder.length ||
|
|
180
200
|
displayedColumnIds.some((col, i) => col !== columnOrder[i])) {
|
|
181
201
|
const hideColumns = agGrid.columnApi
|
|
@@ -187,18 +207,16 @@ export class SkyAgGridDataManagerAdapterDirective {
|
|
|
187
207
|
agGrid.columnApi.moveColumns(displayedColumnIds, 0);
|
|
188
208
|
}
|
|
189
209
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
SkyAgGridDataManagerAdapterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyAgGridDataManagerAdapterDirective, selector: "[skyAgGridDataManagerAdapter]", inputs: { viewId: "viewId" }, queries: [{ propertyName: "agGridList", predicate: AgGridAngular, descendants: true }, { propertyName: "skyAgGridWrapperList", predicate: SkyAgGridWrapperComponent, descendants: true }], ngImport: i0 });
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, decorators: [{
|
|
210
|
+
}, _SkyAgGridDataManagerAdapterDirective_selectAll = function _SkyAgGridDataManagerAdapterDirective_selectAll() {
|
|
211
|
+
const agGrid = this.agGridList?.first;
|
|
212
|
+
agGrid?.api.selectAll();
|
|
213
|
+
}, _SkyAgGridDataManagerAdapterDirective_clearAll = function _SkyAgGridDataManagerAdapterDirective_clearAll() {
|
|
214
|
+
const agGrid = this.agGridList?.first;
|
|
215
|
+
agGrid?.api.deselectAll();
|
|
216
|
+
};
|
|
217
|
+
SkyAgGridDataManagerAdapterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyDataManagerService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
218
|
+
SkyAgGridDataManagerAdapterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.11", type: SkyAgGridDataManagerAdapterDirective, selector: "[skyAgGridDataManagerAdapter]", inputs: { viewId: "viewId" }, queries: [{ propertyName: "agGridList", predicate: AgGridAngular, descendants: true }, { propertyName: "skyAgGridWrapperList", predicate: SkyAgGridWrapperComponent, descendants: true }], ngImport: i0 });
|
|
219
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, decorators: [{
|
|
202
220
|
type: Directive,
|
|
203
221
|
args: [{
|
|
204
222
|
selector: '[skyAgGridDataManagerAdapter]',
|
|
@@ -212,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
212
230
|
type: ContentChildren,
|
|
213
231
|
args: [SkyAgGridWrapperComponent, { descendants: true }]
|
|
214
232
|
}] } });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1kYXRhLW1hbmFnZXItYWRhcHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWRhdGEtbWFuYWdlci1hZGFwdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixTQUFTLEVBQ1QsS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wscUJBQXFCLEdBSXRCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBUWhELE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQUV4RTs7R0FFRztBQUlILE1BQU0sT0FBTyxvQ0FBb0M7SUFtQi9DLFlBQ1UsY0FBaUMsRUFDakMsY0FBcUM7UUFEckMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUp2QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFLekMsQ0FBQztJQUVHLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9ELElBQUks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QyxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLFFBQVE7UUFDZCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNyQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2lJQWpSVSxvQ0FBb0M7cUhBQXBDLG9DQUFvQyw4SEFNOUIsYUFBYSwwRUFHYix5QkFBeUI7MkZBVC9CLG9DQUFvQztrQkFIaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO2lCQUMxQzs0SUFLUSxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsZUFBZTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUk5QyxvQkFBb0I7c0JBRDFCLGVBQWU7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlLFxuICBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24sXG4gIFNreURhdGFNYW5hZ2VyU3RhdGUsXG4gIFNreURhdGFWaWV3Q29uZmlnLFxufSBmcm9tICdAc2t5dXgvZGF0YS1tYW5hZ2VyJztcblxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQge1xuICBDb2x1bW5BcGksXG4gIENvbHVtbk1vdmVkRXZlbnQsXG4gIENvbHVtblN0YXRlLFxuICBEcmFnU3RvcHBlZEV2ZW50LFxuICBSb3dTZWxlY3RlZEV2ZW50LFxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWREYXRhTWFuYWdlckFkYXB0ZXJEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KClcbiAgcHVibGljIHZpZXdJZDogc3RyaW5nO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQWdHcmlkQW5ndWxhciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgYWdHcmlkTGlzdDogUXVlcnlMaXN0PEFnR3JpZEFuZ3VsYXI+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgc2t5QWdHcmlkV3JhcHBlckxpc3Q6IFF1ZXJ5TGlzdDxTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50PjtcblxuICBwcml2YXRlIGN1cnJlbnRBZ0dyaWQ6IEFnR3JpZEFuZ3VsYXI7XG4gIHByaXZhdGUgY3VycmVudERhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZTtcbiAgcHJpdmF0ZSBjdXJyZW50U2t5QWdHcmlkV3JhcHBlcjogU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudDtcbiAgcHJpdmF0ZSBkYXRhU3RhdGVTdWI6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB2aWV3Q29uZmlnOiBTa3lEYXRhVmlld0NvbmZpZztcbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGRhdGFNYW5hZ2VyU3ZjOiBTa3lEYXRhTWFuYWdlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhTWFuYWdlclN2Yy5zZXRWaWV3a2VlcGVyQ2xhc3Nlcyh0aGlzLnZpZXdJZCwgWycuYWctaGVhZGVyJ10pO1xuXG4gICAgdGhpcy52aWV3Q29uZmlnID0gdGhpcy5kYXRhTWFuYWdlclN2Yy5nZXRWaWV3QnlJZCh0aGlzLnZpZXdJZCk7XG4gICAgdGhpcy5jaGVja0ZvckFnR3JpZCgpO1xuICAgIHRoaXMuY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCk7XG5cbiAgICB0aGlzLmFnR3JpZExpc3QuY2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hlY2tGb3JBZ0dyaWQoKSk7XG5cbiAgICB0aGlzLnNreUFnR3JpZFdyYXBwZXJMaXN0LmNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoZWNrRm9yU2t5QWdHcmlkV3JhcHBlcigpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0ZvckFnR3JpZCgpOiB2b2lkIHtcbiAgICBjb25zdCBhZ0dyaWRDb3VudCA9IHRoaXMuYWdHcmlkTGlzdC5sZW5ndGg7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChhZ0dyaWRDb3VudCA9PT0gMCkge1xuICAgICAgdGhpcy51bnJlZ2lzdGVyQWdHcmlkKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFnR3JpZExpc3QuZmlyc3QgIT09IHRoaXMuY3VycmVudEFnR3JpZCkge1xuICAgICAgdGhpcy5yZWdpc3RlckFnR3JpZCgpO1xuICAgIH1cblxuICAgIGlmIChhZ0dyaWRDb3VudCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ01vcmUgdGhhbiBvbmUgYWctZ3JpZCBjaGlsZCBjb21wb25lbnQgd2FzIGZvdW5kLiBVc2luZyB0aGUgZmlyc3QgYWctR3JpZC4nXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCk6IHZvaWQge1xuICAgIGNvbnN0IHNreUFnR3JpZFdyYXBwZXJDb3VudCA9IHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3QubGVuZ3RoO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoc2t5QWdHcmlkV3JhcHBlckNvdW50ID09PSAwKSB7XG4gICAgICB0aGlzLnVucmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk7XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3QuZmlyc3QgIT09IHRoaXMuY3VycmVudFNreUFnR3JpZFdyYXBwZXJcbiAgICApIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk7XG4gICAgfVxuXG4gICAgaWYgKHNreUFnR3JpZFdyYXBwZXJDb3VudCA+IDEpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ01vcmUgdGhhbiBvbmUgYWctZ3JpZCBjaGlsZCBjb21wb25lbnQgd2FzIGZvdW5kLiBVc2luZyB0aGUgZmlyc3QgYWctR3JpZC4nXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdW5yZWdpc3RlckFnR3JpZCgpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRBZ0dyaWQgPSB1bmRlZmluZWQ7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAodGhpcy5kYXRhU3RhdGVTdWIpIHtcbiAgICAgIHRoaXMuZGF0YVN0YXRlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1bnJlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclNreUFnR3JpZFdyYXBwZXIoKTogdm9pZCB7XG4gICAgdGhpcy51bnJlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpO1xuXG4gICAgdGhpcy5jdXJyZW50U2t5QWdHcmlkV3JhcHBlciA9IHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3QuZmlyc3Q7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFNreUFnR3JpZFdyYXBwZXIudmlld2tlZXBlckNsYXNzZXMgPSBbXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJBZ0dyaWQoKTogdm9pZCB7XG4gICAgdGhpcy51bnJlZ2lzdGVyQWdHcmlkKCk7XG5cbiAgICBjb25zdCBhZ0dyaWQgPSB0aGlzLmFnR3JpZExpc3QuZmlyc3Q7XG5cbiAgICB0aGlzLmN1cnJlbnRBZ0dyaWQgPSBhZ0dyaWQ7XG5cbiAgICBhZ0dyaWQuZ3JpZFJlYWR5LnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnZpZXdDb25maWcub25TZWxlY3RBbGxDbGljayA9IHRoaXMuc2VsZWN0QWxsLmJpbmQodGhpcyk7XG4gICAgICB0aGlzLnZpZXdDb25maWcub25DbGVhckFsbENsaWNrID0gdGhpcy5jbGVhckFsbC5iaW5kKHRoaXMpO1xuXG4gICAgICB0aGlzLmRhdGFNYW5hZ2VyU3ZjLnVwZGF0ZVZpZXdDb25maWcodGhpcy52aWV3Q29uZmlnKTtcblxuICAgICAgdGhpcy5kYXRhU3RhdGVTdWIgPSB0aGlzLmRhdGFNYW5hZ2VyU3ZjXG4gICAgICAgIC5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMudmlld0NvbmZpZy5pZClcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSkgPT4ge1xuICAgICAgICAgIHRoaXMuY3VycmVudERhdGFTdGF0ZSA9IGRhdGFTdGF0ZTtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlDb2x1bW5zKGRhdGFTdGF0ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICBpZiAoYWdHcmlkLmdyaWRPcHRpb25zLmNvbnRleHQ/LmVuYWJsZVRvcFNjcm9sbCkge1xuICAgICAgICB0aGlzLmRhdGFNYW5hZ2VyU3ZjLnNldFZpZXdrZWVwZXJDbGFzc2VzKHRoaXMudmlld0lkLCBbXG4gICAgICAgICAgJy5hZy1oZWFkZXInLFxuICAgICAgICAgICcuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCcsXG4gICAgICAgIF0pO1xuICAgICAgfVxuXG4gICAgICBhZ0dyaWQuYXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgICB9KTtcblxuICAgIGFnR3JpZC5jb2x1bW5Nb3ZlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgKGV2ZW50OiBDb2x1bW5Nb3ZlZEV2ZW50KSA9PlxuICAgICAgICAgICAgIVtcbiAgICAgICAgICAgICAgJ2dyaWRJbml0aWFsaXppbmcnLFxuICAgICAgICAgICAgICAndWlDb2x1bW5SZXNpemVkJyxcbiAgICAgICAgICAgICAgJ3VpQ29sdW1uRHJhZ2dlZCcsXG4gICAgICAgICAgICAgICdhcGknLFxuICAgICAgICAgICAgXS5pbmNsdWRlcyhldmVudC5zb3VyY2UpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBDb2x1bW5Nb3ZlZEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlQ29sdW1uc0luQ3VycmVudERhdGFTdGF0ZSh2YWx1ZS5jb2x1bW5BcGkpO1xuICAgICAgfSk7XG5cbiAgICBhZ0dyaWQuZHJhZ1N0b3BwZWRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWU6IERyYWdTdG9wcGVkRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVDb2x1bW5zSW5DdXJyZW50RGF0YVN0YXRlKHZhbHVlLmNvbHVtbkFwaSk7XG4gICAgICB9KTtcblxuICAgIGFnR3JpZC5yb3dTZWxlY3RlZFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogUm93U2VsZWN0ZWRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCByb3cgPSBldmVudC5ub2RlO1xuICAgICAgICBjb25zdCBzZWxlY3RlZElkcyA9IHRoaXMuY3VycmVudERhdGFTdGF0ZS5zZWxlY3RlZElkcyB8fCBbXTtcbiAgICAgICAgY29uc3Qgcm93SW5kZXggPSBzZWxlY3RlZElkcy5pbmRleE9mKHJvdy5kYXRhLmlkKTtcblxuICAgICAgICBpZiAocm93LmlzU2VsZWN0ZWQoKSAmJiByb3dJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICBzZWxlY3RlZElkcy5wdXNoKHJvdy5kYXRhLmlkKTtcbiAgICAgICAgfSBlbHNlIGlmICghcm93LmlzU2VsZWN0ZWQoKSAmJiByb3dJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICBzZWxlY3RlZElkcy5zcGxpY2Uocm93SW5kZXgsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXJyZW50RGF0YVN0YXRlLnNlbGVjdGVkSWRzID0gc2VsZWN0ZWRJZHM7XG4gICAgICAgIHRoaXMuZGF0YU1hbmFnZXJTdmMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICAgIHRoaXMuY3VycmVudERhdGFTdGF0ZSxcbiAgICAgICAgICB0aGlzLnZpZXdDb25maWcuaWRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgYWdHcmlkLnNvcnRDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBncmlkQ29sdW1uU3RhdGVzOiBDb2x1bW5TdGF0ZVtdID0gYWdHcmlkLmNvbHVtbkFwaS5nZXRDb2x1bW5TdGF0ZSgpO1xuICAgICAgbGV0IHNvcnRPcHRpb246IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbjtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChncmlkQ29sdW1uU3RhdGVzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBhY3RpdmVTb3J0Q29sdW1uU3RhdGUgPSBncmlkQ29sdW1uU3RhdGVzLmZpbmQoXG4gICAgICAgICAgKGFHcmlkQ29sdW1uU3RhdGUpID0+IGFHcmlkQ29sdW1uU3RhdGUuc29ydEluZGV4ID09PSAwXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgZGF0YU1hbmFnZXJDb25maWcgPVxuICAgICAgICAgIHRoaXMuZGF0YU1hbmFnZXJTdmMuZ2V0Q3VycmVudERhdGFNYW5hZ2VyQ29uZmlnKCk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGRhdGFNYW5hZ2VyQ29uZmlnLnNvcnRPcHRpb25zICYmIGFjdGl2ZVNvcnRDb2x1bW5TdGF0ZSkge1xuICAgICAgICAgIHNvcnRPcHRpb24gPSBkYXRhTWFuYWdlckNvbmZpZy5zb3J0T3B0aW9ucy5maW5kKFxuICAgICAgICAgICAgKG9wdGlvbjogU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgb3B0aW9uLnByb3BlcnR5TmFtZSA9PT0gYWN0aXZlU29ydENvbHVtblN0YXRlLmNvbElkICYmXG4gICAgICAgICAgICAgICAgb3B0aW9uLmRlc2NlbmRpbmcgPT09IChhY3RpdmVTb3J0Q29sdW1uU3RhdGUuc29ydCA9PT0gJ2Rlc2MnKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc29ydE9wdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5jdXJyZW50RGF0YVN0YXRlLmFjdGl2ZVNvcnRPcHRpb24gPSBzb3J0T3B0aW9uO1xuICAgICAgdGhpcy5kYXRhTWFuYWdlclN2Yy51cGRhdGVEYXRhU3RhdGUoXG4gICAgICAgIHRoaXMuY3VycmVudERhdGFTdGF0ZSxcbiAgICAgICAgdGhpcy52aWV3Q29uZmlnLmlkXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb2x1bW5zSW5DdXJyZW50RGF0YVN0YXRlKGNvbHVtbkFwaTogQ29sdW1uQXBpKSB7XG4gICAgY29uc3QgY29sdW1uT3JkZXIgPSB0aGlzLmdldENvbHVtbk9yZGVyKGNvbHVtbkFwaSk7XG5cbiAgICBjb25zdCB2aWV3U3RhdGUgPSB0aGlzLmN1cnJlbnREYXRhU3RhdGUuZ2V0Vmlld1N0YXRlQnlJZChcbiAgICAgIHRoaXMudmlld0NvbmZpZy5pZFxuICAgICk7XG4gICAgaWYgKFxuICAgICAgdmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcy5sZW5ndGggIT09IGNvbHVtbk9yZGVyLmxlbmd0aCB8fFxuICAgICAgdmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcy5zb21lKChjb2wsIGkpID0+IGNvbCAhPT0gY29sdW1uT3JkZXJbaV0pXG4gICAgKSB7XG4gICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzID0gY29sdW1uT3JkZXI7XG5cbiAgICAgIHRoaXMuZGF0YU1hbmFnZXJTdmMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICB0aGlzLmN1cnJlbnREYXRhU3RhdGUuYWRkT3JVcGRhdGVWaWV3KHRoaXMudmlld0NvbmZpZy5pZCwgdmlld1N0YXRlKSxcbiAgICAgICAgdGhpcy52aWV3Q29uZmlnLmlkXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29sdW1uT3JkZXIoY29sdW1uQXBpOiBDb2x1bW5BcGkpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGNvbHVtbkFwaVxuICAgICAgLmdldENvbHVtblN0YXRlKClcbiAgICAgIC5maWx0ZXIoKHN0YXRlKSA9PiAhc3RhdGUuaGlkZSlcbiAgICAgIC5tYXAoKHN0YXRlKSA9PiBzdGF0ZS5jb2xJZCk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlDb2x1bW5zKGRhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IGFnR3JpZCA9IHRoaXMuY3VycmVudEFnR3JpZDtcbiAgICBjb25zdCB2aWV3U3RhdGUgPSBkYXRhU3RhdGUuZ2V0Vmlld1N0YXRlQnlJZCh0aGlzLnZpZXdDb25maWcuaWQpO1xuICAgIGxldCBkaXNwbGF5ZWRDb2x1bW5JZHM6IHN0cmluZ1tdID0gW107XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMpIHtcbiAgICAgIGRpc3BsYXllZENvbHVtbklkcyA9IHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHM7XG4gICAgfVxuICAgIGNvbnN0IGNvbHVtbk9yZGVyID0gdGhpcy5nZXRDb2x1bW5PcmRlcihhZ0dyaWQuY29sdW1uQXBpKTtcbiAgICBpZiAoXG4gICAgICBkaXNwbGF5ZWRDb2x1bW5JZHMubGVuZ3RoICE9PSBjb2x1bW5PcmRlci5sZW5ndGggfHxcbiAgICAgIGRpc3BsYXllZENvbHVtbklkcy5zb21lKChjb2wsIGkpID0+IGNvbCAhPT0gY29sdW1uT3JkZXJbaV0pXG4gICAgKSB7XG4gICAgICBjb25zdCBoaWRlQ29sdW1ucyA9IGFnR3JpZC5jb2x1bW5BcGlcbiAgICAgICAgLmdldENvbHVtblN0YXRlKClcbiAgICAgICAgLm1hcCgoY29sKSA9PiBjb2wuY29sSWQpXG4gICAgICAgIC5maWx0ZXIoKGNvbElkKSA9PiAhZGlzcGxheWVkQ29sdW1uSWRzLmluY2x1ZGVzKGNvbElkKSk7XG4gICAgICBhZ0dyaWQuY29sdW1uQXBpLnNldENvbHVtbnNWaXNpYmxlKGhpZGVDb2x1bW5zLCBmYWxzZSk7XG4gICAgICBhZ0dyaWQuY29sdW1uQXBpLnNldENvbHVtbnNWaXNpYmxlKGRpc3BsYXllZENvbHVtbklkcywgdHJ1ZSk7XG4gICAgICBhZ0dyaWQuY29sdW1uQXBpLm1vdmVDb2x1bW5zKGRpc3BsYXllZENvbHVtbklkcywgMCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgY29uc3QgYWdHcmlkID0gdGhpcy5hZ0dyaWRMaXN0LmZpcnN0O1xuICAgIGFnR3JpZC5hcGkuc2VsZWN0QWxsKCk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIGNvbnN0IGFnR3JpZCA9IHRoaXMuYWdHcmlkTGlzdC5maXJzdDtcbiAgICBhZ0dyaWQuYXBpLmRlc2VsZWN0QWxsKCk7XG4gIH1cbn1cbiJdfQ==
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1kYXRhLW1hbmFnZXItYWRhcHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWRhdGEtbWFuYWdlci1hZGFwdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFHTCxlQUFlLEVBQ2YsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRaEQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRXhFOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9DQUFvQztJQXFCL0MsWUFDRSxjQUFpQyxFQUNqQyxjQUFxQzs7UUFYdkMsc0VBQTBDO1FBQzFDLHlFQUFtRDtRQUNuRCxnRkFBZ0U7UUFDaEUscUVBQXdDO1FBQ3hDLG1FQUEyQztRQUMzQyw4REFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUNyQyx1RUFBbUM7UUFDbkMsdUVBQXVDO1FBTXJDLHVCQUFBLElBQUksd0RBQW1CLGNBQWMsTUFBQSxDQUFDO1FBQ3RDLHVCQUFBLElBQUksd0RBQW1CLGNBQWMsTUFBQSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsdUJBQUEsSUFBSSw0REFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN2RSx1QkFBQSxJQUFJ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QUM7SUFDdEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUM1QixDQUFDO2tJQW5UVSxvQ0FBb0M7c0hBQXBDLG9DQUFvQyw4SEFNOUIsYUFBYSwwRUFHYix5QkFBeUI7NEZBVC9CLG9DQUFvQztrQkFIaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO2lCQUMxQzs0SUFLUSxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsZUFBZTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUk5QyxvQkFBb0I7c0JBRDFCLGVBQWU7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlLFxuICBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24sXG4gIFNreURhdGFNYW5hZ2VyU3RhdGUsXG4gIFNreURhdGFWaWV3Q29uZmlnLFxufSBmcm9tICdAc2t5dXgvZGF0YS1tYW5hZ2VyJztcblxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQge1xuICBDb2x1bW5BcGksXG4gIENvbHVtbk1vdmVkRXZlbnQsXG4gIENvbHVtblN0YXRlLFxuICBEcmFnU3RvcHBlZEV2ZW50LFxuICBSb3dTZWxlY3RlZEV2ZW50LFxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWREYXRhTWFuYWdlckFkYXB0ZXJEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KClcbiAgcHVibGljIHZpZXdJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQWdHcmlkQW5ndWxhciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgYWdHcmlkTGlzdDogUXVlcnlMaXN0PEFnR3JpZEFuZ3VsYXI+IHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgc2t5QWdHcmlkV3JhcHBlckxpc3Q6IFF1ZXJ5TGlzdDxTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICAjY3VycmVudEFnR3JpZDogQWdHcmlkQW5ndWxhciB8IHVuZGVmaW5lZDtcbiAgI2N1cnJlbnREYXRhU3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUgfCB1bmRlZmluZWQ7XG4gICNjdXJyZW50U2t5QWdHcmlkV3JhcHBlcjogU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgI2RhdGFTdGF0ZVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjdmlld0NvbmZpZzogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQ7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2RhdGFNYW5hZ2VyU3ZjOiBTa3lEYXRhTWFuYWdlclNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGRhdGFNYW5hZ2VyU3ZjOiBTa3lEYXRhTWFuYWdlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclN2YyA9IGRhdGFNYW5hZ2VyU3ZjO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aWV3SWQpIHtcbiAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnNldFZpZXdrZWVwZXJDbGFzc2VzKHRoaXMudmlld0lkLCBbJy5hZy1oZWFkZXInXSk7XG4gICAgICB0aGlzLiN2aWV3Q29uZmlnID0gdGhpcy4jZGF0YU1hbmFnZXJTdmMuZ2V0Vmlld0J5SWQodGhpcy52aWV3SWQpO1xuXG4gICAgICB0aGlzLiNjaGVja0ZvckFnR3JpZCgpO1xuICAgICAgdGhpcy4jY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCk7XG5cbiAgICAgIHRoaXMuYWdHcmlkTGlzdD8uY2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jY2hlY2tGb3JBZ0dyaWQoKSk7XG5cbiAgICAgIHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3Q/LmNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuI2NoZWNrRm9yU2t5QWdHcmlkV3JhcHBlcigpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2NoZWNrRm9yQWdHcmlkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFnR3JpZExpc3QpIHtcbiAgICAgIGNvbnN0IGFnR3JpZENvdW50ID0gdGhpcy5hZ0dyaWRMaXN0Lmxlbmd0aDtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChhZ0dyaWRDb3VudCA9PT0gMCkge1xuICAgICAgICB0aGlzLiN1bnJlZ2lzdGVyQWdHcmlkKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuYWdHcmlkTGlzdC5maXJzdCAhPT0gdGhpcy4jY3VycmVudEFnR3JpZCkge1xuICAgICAgICB0aGlzLiNyZWdpc3RlckFnR3JpZCgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoYWdHcmlkQ291bnQgPiAxKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnTW9yZSB0aGFuIG9uZSBhZy1ncmlkIGNoaWxkIGNvbXBvbmVudCB3YXMgZm91bmQuIFVzaW5nIHRoZSBmaXJzdCBhZy1HcmlkLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNreUFnR3JpZFdyYXBwZXJMaXN0KSB7XG4gICAgICBjb25zdCBza3lBZ0dyaWRXcmFwcGVyQ291bnQgPSB0aGlzLnNreUFnR3JpZFdyYXBwZXJMaXN0Lmxlbmd0aDtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChza3lBZ0dyaWRXcmFwcGVyQ291bnQgPT09IDApIHtcbiAgICAgICAgdGhpcy4jdW5yZWdpc3RlclNreUFnR3JpZFdyYXBwZXIoKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3QuZmlyc3QgIT09IHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyXG4gICAgICApIHtcbiAgICAgICAgdGhpcy4jcmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChza3lBZ0dyaWRXcmFwcGVyQ291bnQgPiAxKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnTW9yZSB0aGFuIG9uZSBhZy1ncmlkIGNoaWxkIGNvbXBvbmVudCB3YXMgZm91bmQuIFVzaW5nIHRoZSBmaXJzdCBhZy1HcmlkLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjdW5yZWdpc3RlckFnR3JpZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjdXJyZW50QWdHcmlkID0gdW5kZWZpbmVkO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHRoaXMuI2RhdGFTdGF0ZVN1Yikge1xuICAgICAgdGhpcy4jZGF0YVN0YXRlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgI3VucmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk6IHZvaWQge1xuICAgIHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgI3JlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpOiB2b2lkIHtcbiAgICB0aGlzLiN1bnJlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpO1xuICAgIHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyID0gdGhpcy5za3lBZ0dyaWRXcmFwcGVyTGlzdD8uZmlyc3Q7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLiNjdXJyZW50U2t5QWdHcmlkV3JhcHBlcikge1xuICAgICAgICB0aGlzLiNjdXJyZW50U2t5QWdHcmlkV3JhcHBlci52aWV3a2VlcGVyQ2xhc3NlcyA9IFtdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI3JlZ2lzdGVyQWdHcmlkKCk6IHZvaWQge1xuICAgIHRoaXMuI3VucmVnaXN0ZXJBZ0dyaWQoKTtcblxuICAgIGNvbnN0IGFnR3JpZCA9IHRoaXMuYWdHcmlkTGlzdD8uZmlyc3Q7XG5cbiAgICB0aGlzLiNjdXJyZW50QWdHcmlkID0gYWdHcmlkO1xuXG4gICAgaWYgKGFnR3JpZCkge1xuICAgICAgYWdHcmlkLmdyaWRSZWFkeS5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuI3ZpZXdDb25maWcgJiYgdGhpcy52aWV3SWQpIHtcbiAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLm9uU2VsZWN0QWxsQ2xpY2sgPSB0aGlzLiNzZWxlY3RBbGwuYmluZCh0aGlzKTtcbiAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLm9uQ2xlYXJBbGxDbGljayA9IHRoaXMuI2NsZWFyQWxsLmJpbmQodGhpcyk7XG4gICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMudXBkYXRlVmlld0NvbmZpZyh0aGlzLiN2aWV3Q29uZmlnKTtcbiAgICAgICAgICB0aGlzLiNkYXRhU3RhdGVTdWIgPSB0aGlzLiNkYXRhTWFuYWdlclN2Y1xuICAgICAgICAgICAgLmdldERhdGFTdGF0ZVVwZGF0ZXModGhpcy4jdmlld0NvbmZpZy5pZClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlID0gZGF0YVN0YXRlO1xuICAgICAgICAgICAgICB0aGlzLiNkaXNwbGF5Q29sdW1ucyhkYXRhU3RhdGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoYWdHcmlkLmdyaWRPcHRpb25zLmNvbnRleHQ/LmVuYWJsZVRvcFNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMuc2V0Vmlld2tlZXBlckNsYXNzZXModGhpcy52aWV3SWQsIFtcbiAgICAgICAgICAgICAgJy5hZy1oZWFkZXInLFxuICAgICAgICAgICAgICAnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYWdHcmlkLmFwaS5zaXplQ29sdW1uc1RvRml0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBhZ0dyaWQuY29sdW1uTW92ZWRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgIChldmVudDogQ29sdW1uTW92ZWRFdmVudCkgPT5cbiAgICAgICAgICAgICAgIVtcbiAgICAgICAgICAgICAgICAnZ3JpZEluaXRpYWxpemluZycsXG4gICAgICAgICAgICAgICAgJ3VpQ29sdW1uUmVzaXplZCcsXG4gICAgICAgICAgICAgICAgJ3VpQ29sdW1uRHJhZ2dlZCcsXG4gICAgICAgICAgICAgICAgJ2FwaScsXG4gICAgICAgICAgICAgIF0uaW5jbHVkZXMoZXZlbnQuc291cmNlKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogQ29sdW1uTW92ZWRFdmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUNvbHVtbnNJbkN1cnJlbnREYXRhU3RhdGUodmFsdWUuY29sdW1uQXBpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIGFnR3JpZC5kcmFnU3RvcHBlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBEcmFnU3RvcHBlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQ29sdW1uc0luQ3VycmVudERhdGFTdGF0ZSh2YWx1ZS5jb2x1bW5BcGkpO1xuICAgICAgICB9KTtcblxuICAgICAgYWdHcmlkLnJvd1NlbGVjdGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IFJvd1NlbGVjdGVkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy4jdmlld0NvbmZpZyAmJiB0aGlzLiNjdXJyZW50RGF0YVN0YXRlKSB7XG4gICAgICAgICAgICBjb25zdCByb3cgPSBldmVudC5ub2RlO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLnNlbGVjdGVkSWRzIHx8IFtdO1xuICAgICAgICAgICAgY29uc3Qgcm93SW5kZXggPSBzZWxlY3RlZElkcy5pbmRleE9mKHJvdy5kYXRhLmlkKTtcblxuICAgICAgICAgICAgaWYgKHJvdy5pc1NlbGVjdGVkKCkgJiYgcm93SW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGVkSWRzLnB1c2gocm93LmRhdGEuaWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghcm93LmlzU2VsZWN0ZWQoKSAmJiByb3dJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRJZHMuc3BsaWNlKHJvd0luZGV4LCAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy4jY3VycmVudERhdGFTdGF0ZS5zZWxlY3RlZElkcyA9IHNlbGVjdGVkSWRzO1xuICAgICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLFxuICAgICAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLmlkXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBhZ0dyaWQuc29ydENoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGdyaWRDb2x1bW5TdGF0ZXM6IENvbHVtblN0YXRlW10gPVxuICAgICAgICAgIGFnR3JpZC5jb2x1bW5BcGkuZ2V0Q29sdW1uU3RhdGUoKTtcblxuICAgICAgICBsZXQgc29ydE9wdGlvbjogU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChncmlkQ29sdW1uU3RhdGVzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IGFjdGl2ZVNvcnRDb2x1bW5TdGF0ZSA9IGdyaWRDb2x1bW5TdGF0ZXMuZmluZChcbiAgICAgICAgICAgIChhR3JpZENvbHVtblN0YXRlKSA9PiBhR3JpZENvbHVtblN0YXRlLnNvcnRJbmRleCA9PT0gMFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBkYXRhTWFuYWdlckNvbmZpZyA9XG4gICAgICAgICAgICB0aGlzLiNkYXRhTWFuYWdlclN2Yy5nZXRDdXJyZW50RGF0YU1hbmFnZXJDb25maWcoKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKGRhdGFNYW5hZ2VyQ29uZmlnLnNvcnRPcHRpb25zICYmIGFjdGl2ZVNvcnRDb2x1bW5TdGF0ZSkge1xuICAgICAgICAgICAgc29ydE9wdGlvbiA9IGRhdGFNYW5hZ2VyQ29uZmlnLnNvcnRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgIChvcHRpb246IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICBvcHRpb24ucHJvcGVydHlOYW1lID09PSBhY3RpdmVTb3J0Q29sdW1uU3RhdGUuY29sSWQgJiZcbiAgICAgICAgICAgICAgICAgIG9wdGlvbi5kZXNjZW5kaW5nID09PSAoYWN0aXZlU29ydENvbHVtblN0YXRlLnNvcnQgPT09ICdkZXNjJylcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzb3J0T3B0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLiN2aWV3Q29uZmlnICYmIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUpIHtcbiAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLmFjdGl2ZVNvcnRPcHRpb24gPSBzb3J0T3B0aW9uO1xuICAgICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICAgIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUsXG4gICAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLmlkXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUNvbHVtbnNJbkN1cnJlbnREYXRhU3RhdGUoY29sdW1uQXBpOiBDb2x1bW5BcGkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jdmlld0NvbmZpZyAmJiB0aGlzLiNjdXJyZW50RGF0YVN0YXRlKSB7XG4gICAgICBjb25zdCBjb2x1bW5PcmRlciA9IHRoaXMuI2dldENvbHVtbk9yZGVyKGNvbHVtbkFwaSk7XG5cbiAgICAgIGNvbnN0IHZpZXdTdGF0ZSA9IHRoaXMuI2N1cnJlbnREYXRhU3RhdGUuZ2V0Vmlld1N0YXRlQnlJZChcbiAgICAgICAgdGhpcy4jdmlld0NvbmZpZy5pZFxuICAgICAgKTtcblxuICAgICAgaWYgKFxuICAgICAgICB2aWV3U3RhdGUgJiZcbiAgICAgICAgKHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMubGVuZ3RoICE9PSBjb2x1bW5PcmRlci5sZW5ndGggfHxcbiAgICAgICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzLnNvbWUoKGNvbCwgaSkgPT4gY29sICE9PSBjb2x1bW5PcmRlcltpXSkpXG4gICAgICApIHtcbiAgICAgICAgdmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcyA9IGNvbHVtbk9yZGVyO1xuXG4gICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcuaWQsXG4gICAgICAgICAgICB2aWV3U3RhdGVcbiAgICAgICAgICApLFxuICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcuaWRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0Q29sdW1uT3JkZXIoY29sdW1uQXBpOiBDb2x1bW5BcGkpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGNvbHVtbkFwaVxuICAgICAgLmdldENvbHVtblN0YXRlKClcbiAgICAgIC5maWx0ZXIoKHN0YXRlKSA9PiAhc3RhdGUuaGlkZSlcbiAgICAgIC5tYXAoKHN0YXRlKSA9PiBzdGF0ZS5jb2xJZCk7XG4gIH1cblxuICAjZGlzcGxheUNvbHVtbnMoZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlKTogdm9pZCB7XG4gICAgY29uc3QgYWdHcmlkID0gdGhpcy4jY3VycmVudEFnR3JpZDtcblxuICAgIGlmIChhZ0dyaWQgJiYgdGhpcy4jdmlld0NvbmZpZykge1xuICAgICAgY29uc3Qgdmlld1N0YXRlID0gZGF0YVN0YXRlLmdldFZpZXdTdGF0ZUJ5SWQodGhpcy4jdmlld0NvbmZpZy5pZCk7XG4gICAgICBsZXQgZGlzcGxheWVkQ29sdW1uSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICAgIGlmICh2aWV3U3RhdGU/LmRpc3BsYXllZENvbHVtbklkcykge1xuICAgICAgICBkaXNwbGF5ZWRDb2x1bW5JZHMgPSB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb2x1bW5PcmRlciA9IHRoaXMuI2dldENvbHVtbk9yZGVyKGFnR3JpZC5jb2x1bW5BcGkpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGRpc3BsYXllZENvbHVtbklkcy5sZW5ndGggIT09IGNvbHVtbk9yZGVyLmxlbmd0aCB8fFxuICAgICAgICBkaXNwbGF5ZWRDb2x1bW5JZHMuc29tZSgoY29sLCBpKSA9PiBjb2wgIT09IGNvbHVtbk9yZGVyW2ldKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGhpZGVDb2x1bW5zID0gYWdHcmlkLmNvbHVtbkFwaVxuICAgICAgICAgIC5nZXRDb2x1bW5TdGF0ZSgpXG4gICAgICAgICAgLm1hcCgoY29sKSA9PiBjb2wuY29sSWQpXG4gICAgICAgICAgLmZpbHRlcigoY29sSWQpID0+ICFkaXNwbGF5ZWRDb2x1bW5JZHMuaW5jbHVkZXMoY29sSWQpKTtcblxuICAgICAgICBhZ0dyaWQuY29sdW1uQXBpLnNldENvbHVtbnNWaXNpYmxlKGhpZGVDb2x1bW5zLCBmYWxzZSk7XG4gICAgICAgIGFnR3JpZC5jb2x1bW5BcGkuc2V0Q29sdW1uc1Zpc2libGUoZGlzcGxheWVkQ29sdW1uSWRzLCB0cnVlKTtcbiAgICAgICAgYWdHcmlkLmNvbHVtbkFwaS5tb3ZlQ29sdW1ucyhkaXNwbGF5ZWRDb2x1bW5JZHMsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgY29uc3QgYWdHcmlkID0gdGhpcy5hZ0dyaWRMaXN0Py5maXJzdDtcbiAgICBhZ0dyaWQ/LmFwaS5zZWxlY3RBbGwoKTtcbiAgfVxuXG4gICNjbGVhckFsbCgpOiB2b2lkIHtcbiAgICBjb25zdCBhZ0dyaWQgPSB0aGlzLmFnR3JpZExpc3Q/LmZpcnN0O1xuICAgIGFnR3JpZD8uYXBpLmRlc2VsZWN0QWxsKCk7XG4gIH1cbn1cbiJdfQ==
|