@datorama/core 22.12.7 → 22.13.0-beta.2
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/bundle.scss +2218 -2449
- package/bundles/datorama-core.umd.js +29 -35
- package/bundles/datorama-core.umd.js.map +1 -1
- package/bundles/datorama-core.umd.min.js +54 -54
- package/bundles/datorama-core.umd.min.js.map +1 -1
- package/datorama-core.metadata.json +1 -1
- package/esm2015/lib/grid/grid/grid.component.js +5 -5
- package/esm2015/lib/grid-v2/grid/grid-v2.component.js +10 -8
- package/esm2015/lib/grid-v2/grid/grid-v2.config.js +4 -21
- package/esm2015/lib/grid-v2/grid-column-header/grid-column-header.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-controller/grid-controller.component.js +1 -1
- package/esm2015/lib/grid-v2/grid-store/grid.query.js +1 -1
- package/esm2015/lib/grid-v2/grid-store/grid.service.js +14 -4
- package/esm2015/lib/version.js +2 -2
- package/esm5/lib/grid/grid/grid.component.js +5 -5
- package/esm5/lib/grid-v2/grid/grid-v2.component.js +10 -8
- package/esm5/lib/grid-v2/grid/grid-v2.config.js +4 -21
- package/esm5/lib/grid-v2/grid-column-header/grid-column-header.component.js +1 -1
- package/esm5/lib/grid-v2/grid-controller/grid-controller.component.js +1 -1
- package/esm5/lib/grid-v2/grid-store/grid.query.js +1 -1
- package/esm5/lib/grid-v2/grid-store/grid.service.js +14 -4
- package/esm5/lib/version.js +2 -2
- package/fesm2015/datorama-core.js +31 -36
- package/fesm2015/datorama-core.js.map +1 -1
- package/fesm5/datorama-core.js +31 -36
- package/fesm5/datorama-core.js.map +1 -1
- package/lib/grid/grid/grid.component.d.ts +2 -2
- package/lib/grid-v2/grid/grid-v2.component.d.ts +2 -2
- package/lib/grid-v2/grid/grid-v2.config.d.ts +0 -1
- package/lib/grid-v2/grid-controller/grid-controller.component.d.ts +2 -2
- package/lib/grid-v2/grid-store/grid.query.d.ts +3 -3
- package/lib/grid-v2/grid-store/grid.service.d.ts +2 -2
- package/package.json +1 -1
- package/testing/src/grid/row.ts +1 -1
|
@@ -17,7 +17,7 @@ import { take } from 'rxjs/operators';
|
|
|
17
17
|
import { DatoGridHelper } from '../grid-helper';
|
|
18
18
|
import { untilDestroyed } from 'ngx-take-until-destroy';
|
|
19
19
|
import { addClass, removeClass } from '../../internal/helpers';
|
|
20
|
-
import {
|
|
20
|
+
import { AgGridAngular } from 'ag-grid-angular';
|
|
21
21
|
import { DatoGridPaginationComponent } from '../grid-pagination/grid-pagination.component';
|
|
22
22
|
import { coerceArray } from '@datorama/akita';
|
|
23
23
|
var valueAccessor = {
|
|
@@ -205,8 +205,8 @@ var DatoGridComponent = /** @class */ (function (_super) {
|
|
|
205
205
|
{ type: ChangeDetectorRef }
|
|
206
206
|
]; };
|
|
207
207
|
__decorate([
|
|
208
|
-
ViewChild(
|
|
209
|
-
__metadata("design:type",
|
|
208
|
+
ViewChild(AgGridAngular, { static: true }),
|
|
209
|
+
__metadata("design:type", AgGridAngular)
|
|
210
210
|
], DatoGridComponent.prototype, "gridComponent", void 0);
|
|
211
211
|
__decorate([
|
|
212
212
|
ViewChild(DatoGridPaginationComponent, { static: true }),
|
|
@@ -228,7 +228,7 @@ var DatoGridComponent = /** @class */ (function (_super) {
|
|
|
228
228
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
229
229
|
encapsulation: ViewEncapsulation.None,
|
|
230
230
|
providers: [valueAccessor],
|
|
231
|
-
styles: ["dato-grid{display:block;width:100%;height:100%;overflow:hidden}dato-grid.grid-pagination{padding-bottom:0;display:flex;flex-direction:column}dato-grid.grid-pagination ag-grid-angular{margin-bottom:7px;height:calc(100% - 32px)}.ag-dato-core{width:100%;height:100%}.ag-dato-core .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle}.ag-dato-core .ag-menu .da-grid-icon svg{vertical-align:middle}.ag-dato-core .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}.ag-dato-core .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}.ag-dato-core .sort-icon svg{width:14px;height:16px}.ag-dato-core .filter-icon svg{width:13px}.ag-dato-core .menu-icon svg{width:4px;height:14px}.ag-dato-core .menu-auto-size-icon svg,.ag-dato-core .menu-group-icon,.ag-dato-core .menu-pin-icon,.ag-dato-core .menu-un-group-icon{width:16px;height:16px}.ag-dato-core .menu-check-icon svg{width:15px;height:18px}.ag-dato-core .group-contracted-icon,.ag-dato-core .group-expanded-icon{width:7px}.ag-dato-core .group-expanded-icon{transform:rotate(90deg)}"]
|
|
231
|
+
styles: ["@font-face{font-family:agGridClassic;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,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\") format(\"truetype\");font-weight:400;font-style:normal}dato-grid{display:block;width:100%;height:100%;overflow:hidden}dato-grid.grid-pagination{padding-bottom:0;display:flex;flex-direction:column}dato-grid.grid-pagination ag-grid-angular{margin-bottom:7px;height:calc(100% - 32px)}.ag-dato-core{width:100%;height:100%}.ag-dato-core .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle}.ag-dato-core .ag-menu .da-grid-icon svg{vertical-align:middle}.ag-dato-core .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}.ag-dato-core .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}.ag-dato-core .sort-icon svg{width:14px;height:16px}.ag-dato-core .filter-icon svg{width:13px}.ag-dato-core .menu-icon svg{width:4px;height:14px}.ag-dato-core .menu-auto-size-icon svg,.ag-dato-core .menu-group-icon,.ag-dato-core .menu-pin-icon,.ag-dato-core .menu-un-group-icon{width:16px;height:16px}.ag-dato-core .menu-check-icon svg{width:15px;height:18px}.ag-dato-core .group-contracted-icon,.ag-dato-core .group-expanded-icon{width:7px}.ag-dato-core .group-expanded-icon{transform:rotate(90deg)}"]
|
|
232
232
|
}),
|
|
233
233
|
__metadata("design:paramtypes", [DatoGridHelper,
|
|
234
234
|
ElementRef,
|
|
@@ -238,4 +238,4 @@ var DatoGridComponent = /** @class */ (function (_super) {
|
|
|
238
238
|
return DatoGridComponent;
|
|
239
239
|
}(BaseCustomControl));
|
|
240
240
|
export { DatoGridComponent };
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBWXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLElB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QUFZO1lBQ3JCLGlCQUFpQjtPQTNFckIsaUJBQWlCLENBa003QjtJQUFELHdCQUFDO0NBQUEsQUFsTUQsQ0FBdUMsaUJBQWlCLEdBa012RDtTQWxNWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgRGF0b3JhbWEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gQXBhY2hlIExpY2Vuc2UgMi4wIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL2RhdG9yYW1hL2NsaWVudC1jb3JlL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb2x1bW5BcGksXG4gIEdyaWRPcHRpb25zLFxuICBHcmlkUmVhZHlFdmVudCxcbiAgQ29sRGVmLFxuICBDb2xHcm91cERlZixcbiAgUm93RGF0YUNoYW5nZWRFdmVudCxcbiAgUm93RGF0YVVwZGF0ZWRFdmVudCxcbiAgUm93R3JvdXBPcGVuZWRFdmVudCxcbiAgUm93Tm9kZVxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBJY29uUmVnaXN0cnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pY29uLXJlZ2lzdHJ5JztcbmltcG9ydCB7IGdldEdyaWRJY29ucyB9IGZyb20gJy4vZ3JpZC1pY29ucyc7XG5pbXBvcnQgeyBCYXNlQ3VzdG9tQ29udHJvbCB9IGZyb20gJy4uLy4uL2N1c3RvbS1jb250cm9sL2Jhc2UtY3VzdG9tLWNvbnRyb2wnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRBUEkgfSBmcm9tICcuLi9kYXRvLWdyaWQtYXBpJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYXRvR3JpZEhlbHBlciB9IGZyb20gJy4uL2dyaWQtaGVscGVyJztcbmltcG9ydCB7IHVudGlsRGVzdHJveWVkIH0gZnJvbSAnbmd4LXRha2UtdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBhZGRDbGFzcywgcmVtb3ZlQ2xhc3MgfSBmcm9tICcuLi8uLi9pbnRlcm5hbC9oZWxwZXJzJztcbmltcG9ydCB7IERhdG9UYWJsZUFsaWdubWVudCB9IGZyb20gJy4uL2dyaWQudHlwZXMnO1xuaW1wb3J0IHsgQWdHcmlkTmcyIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7IERhdG9HcmlkUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtcGFnaW5hdGlvbi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IGNvZXJjZUFycmF5IH0gZnJvbSAnQGRhdG9yYW1hL2FraXRhJztcblxuY29uc3QgdmFsdWVBY2Nlc3NvciA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdG9HcmlkQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdG8tZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbdmFsdWVBY2Nlc3Nvcl1cbn0pXG5leHBvcnQgY2xhc3MgRGF0b0dyaWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ3VzdG9tQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3kge1xuICBhcGk6IERhdG9HcmlkQVBJPGFueT47XG4gIGdyaWRDb2x1bW5BcGk6IENvbHVtbkFwaTtcbiAgZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xuICByb3dEYXRhQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PFJvd0RhdGFDaGFuZ2VkRXZlbnQgfCBSb3dEYXRhVXBkYXRlZEV2ZW50PigpO1xuICBoYXNQYWdpbmF0aW9uID0gdHJ1ZTtcbiAgQFZpZXdDaGlsZChBZ0dyaWROZzIsIHsgc3RhdGljOiB0cnVlIH0pIGdyaWRDb21wb25lbnQ6IEFnR3JpZE5nMjtcbiAgQFZpZXdDaGlsZChEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRpb25Db21wb25lbnQ6IERhdG9HcmlkUGFnaW5hdGlvbkNvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBzZXQgb3B0aW9ucyhvcHRpb25zOiBHcmlkT3B0aW9ucykge1xuICAgIG9wdGlvbnMuY29sdW1uRGVmcyA9IHRoaXMuZ3JpZEhlbHBlci5ub3JtYWxpemVDb2x1bW5zKG9wdGlvbnMuY29sdW1uRGVmcyk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIC4uLnRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGRlZmF1bHRDb2xEZWY6IHtcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0R3JpZE9wdGlvbnMuZGVmYXVsdENvbERlZixcbiAgICAgICAgLi4uKG9wdGlvbnMuZGVmYXVsdENvbERlZiB8fCB7fSlcbiAgICAgIH1cbiAgICB9O1xuICAgIGlmICghdGhpcy5ncmlkT3B0aW9ucy5zdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLmdyaWRPcHRpb25zLnJvd0NsYXNzID0gJ3NlbGVjdGFibGUnO1xuICAgIH1cbiAgICAvLyBjaGVjayBpZiB3ZSBnb3QgYSBwYWdpbmF0aW9uXG4gICAgdGhpcy5oYXNQYWdpbmF0aW9uID0gdGhpcy5ncmlkT3B0aW9ucy5wYWdpbmF0aW9uO1xuICAgIGNvbnN0IGNsYXNzRnVuYyA9IHRoaXMuaGFzUGFnaW5hdGlvbiA/IGFkZENsYXNzIDogcmVtb3ZlQ2xhc3M7XG4gICAgY2xhc3NGdW5jKHRoaXMuaG9zdEVsZW1lbnQsICdncmlkLXBhZ2luYXRpb24nKTtcbiAgICBpZiAodGhpcy5ncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPT09ICdpbmZpbml0ZScgfHwgdGhpcy5ncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPT09ICdzZXJ2ZXJTaWRlJykge1xuICAgICAgdGhpcy5pbmZpbml0ZVBhZ2luYXRpb24gPSB0cnVlO1xuICAgICAgY29uc3QgeyBkZWZhdWx0Q29sRGVmIH0gPSB0aGlzLmdyaWRPcHRpb25zO1xuICAgICAgaWYgKGRlZmF1bHRDb2xEZWYuZmlsdGVyKSB7XG4gICAgICAgIGRlZmF1bHRDb2xEZWYuZmlsdGVyUGFyYW1zID0geyBuZXdSb3dzQWN0aW9uOiAna2VlcCcgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgZ3JpZFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkUmVhZHlFdmVudD4oKTtcblxuICBwcml2YXRlIGljb25zO1xuICBwcml2YXRlIGFjdGl2ZU1lbnU7XG4gIHByaXZhdGUgZGVmYXVsdEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyA9IHtcbiAgICAvKiogUmVwbGFjZSB0aGUgYnVpbGQtaW4gcGFnaW5hdGlvbiAqL1xuICAgIHN1cHByZXNzUGFnaW5hdGlvblBhbmVsOiB0cnVlLFxuICAgIHBhZ2luYXRpb246IHRydWUsXG4gICAgZGVmYXVsdENvbERlZjoge1xuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICBmaWx0ZXI6ICdhZ1RleHRDb2x1bW5GaWx0ZXInLFxuICAgICAgbWVudVRhYnM6IFsnZmlsdGVyTWVudVRhYiddXG4gICAgfSxcbiAgICByb3dIZWlnaHQ6IDM1LFxuICAgIGhlYWRlckhlaWdodDogMzAsXG4gICAgb25Sb3dEYXRhQ2hhbmdlZDogZXZlbnQgPT4ge1xuICAgICAgdGhpcy5yb3dEYXRhQ2hhbmdlZC5uZXh0KGV2ZW50KTtcbiAgICB9LFxuICAgIG9uUm93RGF0YVVwZGF0ZWQ6IGV2ZW50ID0+IHtcbiAgICAgIHRoaXMucm93RGF0YUNoYW5nZWQubmV4dChldmVudCk7XG4gICAgfSxcbiAgICBvblNlbGVjdGlvbkNoYW5nZWQ6IGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUm93cyA9IHRoaXMuYXBpLmdldFNlbGVjdGVkUm93cygpO1xuICAgICAgdGhpcy5vbkNoYW5nZShzZWxlY3RlZFJvd3MpO1xuICAgIH0sXG4gICAgcm93U2VsZWN0aW9uOiAnbXVsdGlwbGUnLFxuICAgIHJvd0Rlc2VsZWN0aW9uOiB0cnVlLFxuICAgIHVuU29ydEljb246IHRydWUsXG4gICAgYW5pbWF0ZVJvd3M6IHRydWUsXG4gICAgcmVtZW1iZXJHcm91cFN0YXRlV2hlbk5ld0RhdGE6IHRydWVcbiAgfTtcbiAgaW5maW5pdGVQYWdpbmF0aW9uID0gZmFsc2U7XG4gIGlzUm93c0NvbGxhcHNlZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBncmlkSGVscGVyOiBEYXRvR3JpZEhlbHBlcixcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFwaSA9IG5ldyBEYXRvR3JpZEFQSSgpO1xuICAgIHRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLmljb25zID0gZ2V0R3JpZEljb25zKCk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0R3JpZE9wdGlvbnMgfTtcbiAgfVxuXG4gIGdldCBvcHRpb25zKCk6IEdyaWRPcHRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5ncmlkT3B0aW9ucztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm93RGF0YUNoYW5nZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBncmlkIHJlYWR5XG4gICAqIEBwYXJhbSB7R3JpZFJlYWR5RXZlbnR9IGV2ZW50XG4gICAqL1xuICBvbkdyaWRSZWFkeShldmVudDogR3JpZFJlYWR5RXZlbnQpIHtcbiAgICAvLyBzZXQgZ3JpZCBBUElcbiAgICB0aGlzLmFwaS5ncmlkQXBpID0gZXZlbnQuYXBpO1xuICAgIHRoaXMuZ3JpZENvbHVtbkFwaSA9IGV2ZW50LmNvbHVtbkFwaTtcbiAgICBpZiAodGhpcy5ncmlkQ29sdW1uQXBpLmdldFJvd0dyb3VwQ29sdW1ucygpLmxlbmd0aCA+PSAxKSB7XG4gICAgICB0aGlzLmdyaWRDb21wb25lbnQucm93R3JvdXBPcGVuZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMucm93R3JvdXBTdGF0ZUNoYW5nZShldmVudCkpO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50LnRvZ2dsZVJvd0dyb3VwLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZUNvbGxhcHNlU3RhdGUoKSk7XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLmdyaWRSZWFkeS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGFsaWduVGFibGUoYWxpZ25Nb2RlOiBEYXRvVGFibGVBbGlnbm1lbnQpIHtcbiAgICBpZiAoYWxpZ25Nb2RlID09PSBEYXRvVGFibGVBbGlnbm1lbnQuRklUX0NPTlRBSU5FUikge1xuICAgICAgdGhpcy5maXRUb0NvbnRhaW5lcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpdFRvQ29udGVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhZXQgdGhlIGNvbHVtbnMgZGVmaW5pdGlvbnNcbiAgICogQHBhcmFtIHsoQ29sRGVmIHwgQ29sR3JvdXBEZWYpW119IGNvbHVtbkRlZnNcbiAgICovXG4gIHVwZGF0ZUNvbHVtbnMoY29sdW1uRGVmczogKENvbERlZiB8IENvbEdyb3VwRGVmKVtdKSB7XG4gICAgdGhpcy5ncmlkSGVscGVyLnVwZGF0ZUNvbHVtbnModGhpcy5hcGkuZ3JpZEFwaSwgY29sdW1uRGVmcyk7XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgcm93cyA9IG9iaiA/IGNvZXJjZUFycmF5KG9iaikgOiBbXTtcblxuICAgIGlmICh0aGlzLmFwaS5yZWFkeSkge1xuICAgICAgdGhpcy5hcGkuc2V0U2VsZWN0ZWRSb3dzKHJvd3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB3YWl0IGZvciB0aGUgZ3JpZCB0byBiZSByZWFkeSBhbmQgdGhlIGRhdGEgaGFzIGJlZW4gc2V0XG4gICAgICBjb21iaW5lTGF0ZXN0KHRoaXMucm93RGF0YUNoYW5nZWQsIHRoaXMuZ3JpZFJlYWR5KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmFwaS5zZXRTZWxlY3RlZFJvd3Mocm93cykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsIGFnLWdyaWQncyBzaXplIGFsbCBjb2x1bW5zIHRvIGZpdCB0byBjb250YWluZXJcbiAgICovXG4gIHByaXZhdGUgZml0VG9Db250YWluZXIoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkT3B0aW9ucy5hcGkuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNhbGwgYWctZ3JpZCdzIHNpemUgYWxsIGNvbHVtbnMgdG8gZml0IHRvIGNvbnRlbnRcbiAgICovXG4gIHByaXZhdGUgZml0VG9Db250ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMuY29sdW1uQXBpLmF1dG9TaXplQWxsQ29sdW1ucygpO1xuICAgIGNvbnN0IHsgd2lkdGggfSA9IHRoaXMuaG9zdEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgYWdCb2R5ID0gdGhpcy5ob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYWctYm9keS1jb250YWluZXInKTtcbiAgICBjb25zdCBib2R5V2lkdGg6IG51bWJlciA9IGFnQm9keSA/IGFnQm9keS5jbGllbnRXaWR0aCA6IDA7XG4gICAgaWYgKHdpZHRoID4gYm9keVdpZHRoKSB7XG4gICAgICB0aGlzLmZpdFRvQ29udGFpbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByb3dHcm91cFN0YXRlQ2hhbmdlKGV2ZW50OiBSb3dHcm91cE9wZW5lZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50Lm5vZGUucm93R3JvdXBJbmRleCA9PT0gMCkge1xuICAgICAgbGV0IGNvbGxhcHNlZCA9IHRydWU7XG4gICAgICBldmVudC5hcGkuZm9yRWFjaE5vZGUoKG5vZGU6IFJvd05vZGUpID0+IHtcbiAgICAgICAgaWYgKG5vZGUucm93R3JvdXBJbmRleCA9PT0gMCAmJiBub2RlLmV4cGFuZGVkKSB7XG4gICAgICAgICAgY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc1Jvd3NDb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgICB0aGlzLnBhZ2luYXRpb25Db21wb25lbnQuaW5pdFBhZ2luYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY29sbGFwc2UgYW5kIGV4cG9hbmQgYWxsIHRoZSBncm91cGVkIHJvd3MgaW4gY3Jvc3MgdGFiIHRhYmxlXG4gICAqIHdoZW4gdHJpZ2dlcmVkIGZyb20gdGhlIG5hdmlnYXRpb24tY29udHJvbCBwYW5lbFxuICAgKi9cbiAgcHJpdmF0ZSB0b2dnbGVDb2xsYXBzZVN0YXRlKCkge1xuICAgIGlmICh0aGlzLmlzUm93c0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy5hcGkuZ3JpZEFwaS5leHBhbmRBbGwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hcGkuZ3JpZEFwaS5jb2xsYXBzZUFsbCgpO1xuICAgIH1cbiAgICB0aGlzLmlzUm93c0NvbGxhcHNlZCA9ICF0aGlzLmlzUm93c0NvbGxhcHNlZDtcbiAgICB0aGlzLnBhZ2luYXRpb25Db21wb25lbnQuaW5pdFBhZ2luYXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGhvc3RFbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZU1lbnVJY29uKCkge1xuICAgIHJlbW92ZUNsYXNzKHRoaXMuYWN0aXZlTWVudSwgJ21lbnUtYWN0aXZlJyk7XG4gICAgdGhpcy5hY3RpdmVNZW51ID0gbnVsbDtcbiAgfVxufVxuIl19
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBWXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLElB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QUFZO1lBQ3JCLGlCQUFpQjtPQTNFckIsaUJBQWlCLENBa003QjtJQUFELHdCQUFDO0NBQUEsQUFsTUQsQ0FBdUMsaUJBQWlCLEdBa012RDtTQWxNWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgRGF0b3JhbWEuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gQXBhY2hlIExpY2Vuc2UgMi4wIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL2RhdG9yYW1hL2NsaWVudC1jb3JlL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb2x1bW5BcGksXG4gIEdyaWRPcHRpb25zLFxuICBHcmlkUmVhZHlFdmVudCxcbiAgQ29sRGVmLFxuICBDb2xHcm91cERlZixcbiAgUm93RGF0YUNoYW5nZWRFdmVudCxcbiAgUm93RGF0YVVwZGF0ZWRFdmVudCxcbiAgUm93R3JvdXBPcGVuZWRFdmVudCxcbiAgUm93Tm9kZVxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBJY29uUmVnaXN0cnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pY29uLXJlZ2lzdHJ5JztcbmltcG9ydCB7IGdldEdyaWRJY29ucyB9IGZyb20gJy4vZ3JpZC1pY29ucyc7XG5pbXBvcnQgeyBCYXNlQ3VzdG9tQ29udHJvbCB9IGZyb20gJy4uLy4uL2N1c3RvbS1jb250cm9sL2Jhc2UtY3VzdG9tLWNvbnRyb2wnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRBUEkgfSBmcm9tICcuLi9kYXRvLWdyaWQtYXBpJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYXRvR3JpZEhlbHBlciB9IGZyb20gJy4uL2dyaWQtaGVscGVyJztcbmltcG9ydCB7IHVudGlsRGVzdHJveWVkIH0gZnJvbSAnbmd4LXRha2UtdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBhZGRDbGFzcywgcmVtb3ZlQ2xhc3MgfSBmcm9tICcuLi8uLi9pbnRlcm5hbC9oZWxwZXJzJztcbmltcG9ydCB7IERhdG9UYWJsZUFsaWdubWVudCB9IGZyb20gJy4uL2dyaWQudHlwZXMnO1xuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyBEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9ncmlkLXBhZ2luYXRpb24vZ3JpZC1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb2VyY2VBcnJheSB9IGZyb20gJ0BkYXRvcmFtYS9ha2l0YSc7XG5cbmNvbnN0IHZhbHVlQWNjZXNzb3IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRvR3JpZENvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRvLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2dyaWQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW3ZhbHVlQWNjZXNzb3JdXG59KVxuZXhwb3J0IGNsYXNzIERhdG9HcmlkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUN1c3RvbUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcbiAgYXBpOiBEYXRvR3JpZEFQSTxhbnk+O1xuICBncmlkQ29sdW1uQXBpOiBDb2x1bW5BcGk7XG4gIGdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucztcbiAgcm93RGF0YUNoYW5nZWQgPSBuZXcgU3ViamVjdDxSb3dEYXRhQ2hhbmdlZEV2ZW50IHwgUm93RGF0YVVwZGF0ZWRFdmVudD4oKTtcbiAgaGFzUGFnaW5hdGlvbiA9IHRydWU7XG4gIEBWaWV3Q2hpbGQoQWdHcmlkQW5ndWxhciwgeyBzdGF0aWM6IHRydWUgfSkgZ3JpZENvbXBvbmVudDogQWdHcmlkQW5ndWxhcjtcbiAgQFZpZXdDaGlsZChEYXRvR3JpZFBhZ2luYXRpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHBhZ2luYXRpb25Db21wb25lbnQ6IERhdG9HcmlkUGFnaW5hdGlvbkNvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBzZXQgb3B0aW9ucyhvcHRpb25zOiBHcmlkT3B0aW9ucykge1xuICAgIG9wdGlvbnMuY29sdW1uRGVmcyA9IHRoaXMuZ3JpZEhlbHBlci5ub3JtYWxpemVDb2x1bW5zKG9wdGlvbnMuY29sdW1uRGVmcyk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHtcbiAgICAgIC4uLnRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGRlZmF1bHRDb2xEZWY6IHtcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0R3JpZE9wdGlvbnMuZGVmYXVsdENvbERlZixcbiAgICAgICAgLi4uKG9wdGlvbnMuZGVmYXVsdENvbERlZiB8fCB7fSlcbiAgICAgIH1cbiAgICB9O1xuICAgIGlmICghdGhpcy5ncmlkT3B0aW9ucy5zdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLmdyaWRPcHRpb25zLnJvd0NsYXNzID0gJ3NlbGVjdGFibGUnO1xuICAgIH1cbiAgICAvLyBjaGVjayBpZiB3ZSBnb3QgYSBwYWdpbmF0aW9uXG4gICAgdGhpcy5oYXNQYWdpbmF0aW9uID0gdGhpcy5ncmlkT3B0aW9ucy5wYWdpbmF0aW9uO1xuICAgIGNvbnN0IGNsYXNzRnVuYyA9IHRoaXMuaGFzUGFnaW5hdGlvbiA/IGFkZENsYXNzIDogcmVtb3ZlQ2xhc3M7XG4gICAgY2xhc3NGdW5jKHRoaXMuaG9zdEVsZW1lbnQsICdncmlkLXBhZ2luYXRpb24nKTtcbiAgICBpZiAodGhpcy5ncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPT09ICdpbmZpbml0ZScgfHwgdGhpcy5ncmlkT3B0aW9ucy5yb3dNb2RlbFR5cGUgPT09ICdzZXJ2ZXJTaWRlJykge1xuICAgICAgdGhpcy5pbmZpbml0ZVBhZ2luYXRpb24gPSB0cnVlO1xuICAgICAgY29uc3QgeyBkZWZhdWx0Q29sRGVmIH0gPSB0aGlzLmdyaWRPcHRpb25zO1xuICAgICAgaWYgKGRlZmF1bHRDb2xEZWYuZmlsdGVyKSB7XG4gICAgICAgIGRlZmF1bHRDb2xEZWYuZmlsdGVyUGFyYW1zID0geyBuZXdSb3dzQWN0aW9uOiAna2VlcCcgfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgZ3JpZFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxHcmlkUmVhZHlFdmVudD4oKTtcblxuICBwcml2YXRlIGljb25zO1xuICBwcml2YXRlIGFjdGl2ZU1lbnU7XG4gIHByaXZhdGUgZGVmYXVsdEdyaWRPcHRpb25zOiBHcmlkT3B0aW9ucyA9IHtcbiAgICAvKiogUmVwbGFjZSB0aGUgYnVpbGQtaW4gcGFnaW5hdGlvbiAqL1xuICAgIHN1cHByZXNzUGFnaW5hdGlvblBhbmVsOiB0cnVlLFxuICAgIHBhZ2luYXRpb246IHRydWUsXG4gICAgZGVmYXVsdENvbERlZjoge1xuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICBmaWx0ZXI6ICdhZ1RleHRDb2x1bW5GaWx0ZXInLFxuICAgICAgbWVudVRhYnM6IFsnZmlsdGVyTWVudVRhYiddXG4gICAgfSxcbiAgICByb3dIZWlnaHQ6IDM1LFxuICAgIGhlYWRlckhlaWdodDogMzAsXG4gICAgb25Sb3dEYXRhQ2hhbmdlZDogZXZlbnQgPT4ge1xuICAgICAgdGhpcy5yb3dEYXRhQ2hhbmdlZC5uZXh0KGV2ZW50KTtcbiAgICB9LFxuICAgIG9uUm93RGF0YVVwZGF0ZWQ6IGV2ZW50ID0+IHtcbiAgICAgIHRoaXMucm93RGF0YUNoYW5nZWQubmV4dChldmVudCk7XG4gICAgfSxcbiAgICBvblNlbGVjdGlvbkNoYW5nZWQ6IGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUm93cyA9IHRoaXMuYXBpLmdldFNlbGVjdGVkUm93cygpO1xuICAgICAgdGhpcy5vbkNoYW5nZShzZWxlY3RlZFJvd3MpO1xuICAgIH0sXG4gICAgcm93U2VsZWN0aW9uOiAnbXVsdGlwbGUnLFxuICAgIHJvd0Rlc2VsZWN0aW9uOiB0cnVlLFxuICAgIHVuU29ydEljb246IHRydWUsXG4gICAgYW5pbWF0ZVJvd3M6IHRydWUsXG4gICAgcmVtZW1iZXJHcm91cFN0YXRlV2hlbk5ld0RhdGE6IHRydWVcbiAgfTtcbiAgaW5maW5pdGVQYWdpbmF0aW9uID0gZmFsc2U7XG4gIGlzUm93c0NvbGxhcHNlZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBncmlkSGVscGVyOiBEYXRvR3JpZEhlbHBlcixcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBpY29uUmVnaXN0cnk6IEljb25SZWdpc3RyeSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFwaSA9IG5ldyBEYXRvR3JpZEFQSSgpO1xuICAgIHRoaXMuZGVmYXVsdEdyaWRPcHRpb25zLmljb25zID0gZ2V0R3JpZEljb25zKCk7XG4gICAgdGhpcy5ncmlkT3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0R3JpZE9wdGlvbnMgfTtcbiAgfVxuXG4gIGdldCBvcHRpb25zKCk6IEdyaWRPcHRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5ncmlkT3B0aW9ucztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm93RGF0YUNoYW5nZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBncmlkIHJlYWR5XG4gICAqIEBwYXJhbSB7R3JpZFJlYWR5RXZlbnR9IGV2ZW50XG4gICAqL1xuICBvbkdyaWRSZWFkeShldmVudDogR3JpZFJlYWR5RXZlbnQpIHtcbiAgICAvLyBzZXQgZ3JpZCBBUElcbiAgICB0aGlzLmFwaS5ncmlkQXBpID0gZXZlbnQuYXBpO1xuICAgIHRoaXMuZ3JpZENvbHVtbkFwaSA9IGV2ZW50LmNvbHVtbkFwaTtcbiAgICBpZiAodGhpcy5ncmlkQ29sdW1uQXBpLmdldFJvd0dyb3VwQ29sdW1ucygpLmxlbmd0aCA+PSAxKSB7XG4gICAgICB0aGlzLmdyaWRDb21wb25lbnQucm93R3JvdXBPcGVuZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMucm93R3JvdXBTdGF0ZUNoYW5nZShldmVudCkpO1xuICAgICAgdGhpcy5wYWdpbmF0aW9uQ29tcG9uZW50LnRvZ2dsZVJvd0dyb3VwLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZUNvbGxhcHNlU3RhdGUoKSk7XG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLmdyaWRSZWFkeS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGFsaWduVGFibGUoYWxpZ25Nb2RlOiBEYXRvVGFibGVBbGlnbm1lbnQpIHtcbiAgICBpZiAoYWxpZ25Nb2RlID09PSBEYXRvVGFibGVBbGlnbm1lbnQuRklUX0NPTlRBSU5FUikge1xuICAgICAgdGhpcy5maXRUb0NvbnRhaW5lcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpdFRvQ29udGVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhZXQgdGhlIGNvbHVtbnMgZGVmaW5pdGlvbnNcbiAgICogQHBhcmFtIHsoQ29sRGVmIHwgQ29sR3JvdXBEZWYpW119IGNvbHVtbkRlZnNcbiAgICovXG4gIHVwZGF0ZUNvbHVtbnMoY29sdW1uRGVmczogKENvbERlZiB8IENvbEdyb3VwRGVmKVtdKSB7XG4gICAgdGhpcy5ncmlkSGVscGVyLnVwZGF0ZUNvbHVtbnModGhpcy5hcGkuZ3JpZEFwaSwgY29sdW1uRGVmcyk7XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgcm93cyA9IG9iaiA/IGNvZXJjZUFycmF5KG9iaikgOiBbXTtcblxuICAgIGlmICh0aGlzLmFwaS5yZWFkeSkge1xuICAgICAgdGhpcy5hcGkuc2V0U2VsZWN0ZWRSb3dzKHJvd3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB3YWl0IGZvciB0aGUgZ3JpZCB0byBiZSByZWFkeSBhbmQgdGhlIGRhdGEgaGFzIGJlZW4gc2V0XG4gICAgICBjb21iaW5lTGF0ZXN0KHRoaXMucm93RGF0YUNoYW5nZWQsIHRoaXMuZ3JpZFJlYWR5KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmFwaS5zZXRTZWxlY3RlZFJvd3Mocm93cykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsIGFnLWdyaWQncyBzaXplIGFsbCBjb2x1bW5zIHRvIGZpdCB0byBjb250YWluZXJcbiAgICovXG4gIHByaXZhdGUgZml0VG9Db250YWluZXIoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkT3B0aW9ucy5hcGkuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGNhbGwgYWctZ3JpZCdzIHNpemUgYWxsIGNvbHVtbnMgdG8gZml0IHRvIGNvbnRlbnRcbiAgICovXG4gIHByaXZhdGUgZml0VG9Db250ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZE9wdGlvbnMuY29sdW1uQXBpLmF1dG9TaXplQWxsQ29sdW1ucygpO1xuICAgIGNvbnN0IHsgd2lkdGggfSA9IHRoaXMuaG9zdEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgYWdCb2R5ID0gdGhpcy5ob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYWctYm9keS1jb250YWluZXInKTtcbiAgICBjb25zdCBib2R5V2lkdGg6IG51bWJlciA9IGFnQm9keSA/IGFnQm9keS5jbGllbnRXaWR0aCA6IDA7XG4gICAgaWYgKHdpZHRoID4gYm9keVdpZHRoKSB7XG4gICAgICB0aGlzLmZpdFRvQ29udGFpbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByb3dHcm91cFN0YXRlQ2hhbmdlKGV2ZW50OiBSb3dHcm91cE9wZW5lZEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50Lm5vZGUucm93R3JvdXBJbmRleCA9PT0gMCkge1xuICAgICAgbGV0IGNvbGxhcHNlZCA9IHRydWU7XG4gICAgICBldmVudC5hcGkuZm9yRWFjaE5vZGUoKG5vZGU6IFJvd05vZGUpID0+IHtcbiAgICAgICAgaWYgKG5vZGUucm93R3JvdXBJbmRleCA9PT0gMCAmJiBub2RlLmV4cGFuZGVkKSB7XG4gICAgICAgICAgY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pc1Jvd3NDb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgICB0aGlzLnBhZ2luYXRpb25Db21wb25lbnQuaW5pdFBhZ2luYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY29sbGFwc2UgYW5kIGV4cG9hbmQgYWxsIHRoZSBncm91cGVkIHJvd3MgaW4gY3Jvc3MgdGFiIHRhYmxlXG4gICAqIHdoZW4gdHJpZ2dlcmVkIGZyb20gdGhlIG5hdmlnYXRpb24tY29udHJvbCBwYW5lbFxuICAgKi9cbiAgcHJpdmF0ZSB0b2dnbGVDb2xsYXBzZVN0YXRlKCkge1xuICAgIGlmICh0aGlzLmlzUm93c0NvbGxhcHNlZCkge1xuICAgICAgdGhpcy5hcGkuZ3JpZEFwaS5leHBhbmRBbGwoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hcGkuZ3JpZEFwaS5jb2xsYXBzZUFsbCgpO1xuICAgIH1cbiAgICB0aGlzLmlzUm93c0NvbGxhcHNlZCA9ICF0aGlzLmlzUm93c0NvbGxhcHNlZDtcbiAgICB0aGlzLnBhZ2luYXRpb25Db21wb25lbnQuaW5pdFBhZ2luYXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGhvc3RFbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZU1lbnVJY29uKCkge1xuICAgIHJlbW92ZUNsYXNzKHRoaXMuYWN0aXZlTWVudSwgJ21lbnUtYWN0aXZlJyk7XG4gICAgdGhpcy5hY3RpdmVNZW51ID0gbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { __decorate, __metadata } from "tslib";
|
|
9
9
|
import { ChangeDetectionStrategy, Component, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
10
|
-
import {
|
|
10
|
+
import { AgGridAngular } from 'ag-grid-angular';
|
|
11
11
|
import { DatoGridControllerComponent } from '../grid-controller/grid-controller.component';
|
|
12
12
|
import { query } from '../../internal/helpers';
|
|
13
13
|
var DatoGridV2Component = /** @class */ (function () {
|
|
@@ -17,8 +17,10 @@ var DatoGridV2Component = /** @class */ (function () {
|
|
|
17
17
|
}
|
|
18
18
|
Object.defineProperty(DatoGridV2Component.prototype, "grid", {
|
|
19
19
|
set: function (agGrid) {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
if (agGrid) {
|
|
21
|
+
var agGridEl = query('ag-grid-angular', this.host.nativeElement);
|
|
22
|
+
this.controller._initializeGrid(agGrid, agGridEl);
|
|
23
|
+
}
|
|
22
24
|
},
|
|
23
25
|
enumerable: true,
|
|
24
26
|
configurable: true
|
|
@@ -56,9 +58,9 @@ var DatoGridV2Component = /** @class */ (function () {
|
|
|
56
58
|
{ type: ElementRef }
|
|
57
59
|
]; };
|
|
58
60
|
__decorate([
|
|
59
|
-
ViewChild(
|
|
60
|
-
__metadata("design:type",
|
|
61
|
-
__metadata("design:paramtypes", [
|
|
61
|
+
ViewChild(AgGridAngular, { static: false }),
|
|
62
|
+
__metadata("design:type", AgGridAngular),
|
|
63
|
+
__metadata("design:paramtypes", [AgGridAngular])
|
|
62
64
|
], DatoGridV2Component.prototype, "grid", null);
|
|
63
65
|
DatoGridV2Component = __decorate([
|
|
64
66
|
Component({
|
|
@@ -66,11 +68,11 @@ var DatoGridV2Component = /** @class */ (function () {
|
|
|
66
68
|
template: "<ag-grid-angular data-auto-id=\"grid\" class=\"dato-grid ag-theme-material\" [class.has-background]=\"enableBackground\" [class.enable-v2_1]=\"enableV2_1\"\n [class.with-multi-selection-col]=\"gridOptions?.showMultiSelectionCheckboxes\" [class.pivot-style]=\"isPivotStyle\">\n</ag-grid-angular>\n<dato-grid-pagination-v2 [class.has-background]=\"enableBackground\"></dato-grid-pagination-v2>\n",
|
|
67
69
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
68
70
|
encapsulation: ViewEncapsulation.None,
|
|
69
|
-
styles: ["dato-grid-v2{flex-grow:1;display:flex;flex-direction:column;position:relative}dato-grid-v2 .dato-grid,dato-grid-v2 dato-grid-pagination-v2{position:absolute;left:0;right:0;bottom:0}dato-grid-v2 .dato-grid{top:0;bottom:50px}dato-grid-v2 .grid-hover-actions{position:absolute;z-index:2;transition:opacity .2s ease-in-out}dato-grid-v2 .ag-row-drag{width:initial!important}dato-grid-v2 .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle;width:initial;height:initial}dato-grid-v2 .da-grid-icon.drag{width:14px;height:14px;margin-right:6px;opacity:0;transition:opacity .3s;transform:translateY(-50%)}dato-grid-v2 .da-grid-icon.folder{width:18px;height:35px;margin:0 8px}dato-grid-v2 .ag-row.ag-row-hover .da-grid-icon.drag{opacity:1}dato-grid-v2 ag-grid-angular.tree .ag-group-contracted,dato-grid-v2 ag-grid-angular.tree .ag-group-expanded{display:inline-block;width:18px;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-group-checkbox{display:none}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-empty-folder .folder{margin-left:26px}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-1 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 1)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-1{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-2 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 2)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-2{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-3 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 3)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-3{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-4 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 4)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-4{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row div[col-id=ag-Grid-AutoColumn]{padding-left:0}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell{display:flex;align-items:center}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .ag-group-value>span{display:inline-block;vertical-align:middle}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .initials{border-radius:50%;padding:4px;margin-right:8px;margin-left:20px;width:28px;height:28px;display:inline-block;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-row-group-leaf-indent{margin-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-selection-checkbox .ag-icon-checkbox-indeterminate:before{text-align:center;content:'-';display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;line-height:.5;color:#fff}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell{line-height:33px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.dato-editable-cell{line-height:29px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.ag-cell-inline-editing{height:35px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell{line-height:42px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.dato-editable-cell{line-height:38px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.ag-cell-inline-editing{height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell{line-height:48px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.dato-editable-cell{line-height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.ag-cell-inline-editing{height:50px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell{line-height:57px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.dato-editable-cell{line-height:53px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.ag-cell-inline-editing{height:59px}dato-grid-v2 ag-grid-angular .ag-cell.checkbox-selection-cell{display:flex}dato-grid-v2 .ag-menu .da-grid-icon svg{vertical-align:middle}dato-grid-v2 .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}dato-grid-v2 .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}dato-grid-v2 .group-contracted-icon,dato-grid-v2 .group-expanded-icon{width:7px}dato-grid-v2 .group-expanded-icon{transform:rotate(90deg)}dato-grid-v2 .dato-grid .ag-cell{border-top:0;border-bottom:0}dato-grid-v2 .ag-overlay-wrapper ng-component{display:flex}.ag-dnd-ghost{min-width:100px;border:none;display:flex;justify-content:flex-start;align-content:center;align-items:center;cursor:-webkit-grabbing;cursor:grabbing;z-index:10000000}.ag-dnd-ghost .da-grid-icon.column-move-hide svg{height:18px;width:18px}.ag-dnd-ghost .da-grid-icon.column-move svg,.ag-dnd-ghost .da-grid-icon.column-move-pin svg{height:16px;width:16px}"]
|
|
71
|
+
styles: ["dato-grid-v2{flex-grow:1;display:flex;flex-direction:column;position:relative}dato-grid-v2 .dato-grid,dato-grid-v2 dato-grid-pagination-v2{position:absolute;left:0;right:0;bottom:0}dato-grid-v2 .dato-grid{top:0;bottom:50px}dato-grid-v2 .grid-hover-actions{position:absolute;z-index:2;transition:opacity .2s ease-in-out}dato-grid-v2 .ag-row-drag{width:initial!important;min-width:auto!important}dato-grid-v2 .da-grid-icon{display:inline-block;line-height:31px;vertical-align:middle;width:initial;height:initial}dato-grid-v2 .da-grid-icon.drag{width:14px;height:14px;margin-right:6px;opacity:0;transition:opacity .3s;transform:translateY(-50%)}dato-grid-v2 .da-grid-icon.folder{width:18px;height:35px;margin:0 8px}dato-grid-v2 .ag-row.ag-row-hover .da-grid-icon.drag{opacity:1}dato-grid-v2 ag-grid-angular.tree .ag-group-contracted,dato-grid-v2 ag-grid-angular.tree .ag-group-expanded{display:inline-block;width:18px;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-group-checkbox{display:none}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-empty-folder .folder{margin-left:26px}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-1 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 1)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-1{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-2 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 2)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-2{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-3 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 3)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-3{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row.ag-row-level-4 .ag-cell-wrapper .ag-row-drag{padding-right:calc(55px * 4)}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-row-group-indent-4{margin-left:0!important;padding-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-row div[col-id=ag-Grid-AutoColumn]{padding-left:0}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell{display:flex;align-items:center}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .ag-group-value>span{display:inline-block;vertical-align:middle}dato-grid-v2 ag-grid-angular.tree .ag-row .ag-cell .initials{border-radius:50%;padding:4px;margin-right:8px;margin-left:20px;width:28px;height:28px;display:inline-block;text-align:center}dato-grid-v2 ag-grid-angular.tree .ag-row-group-leaf-indent{margin-left:0!important}dato-grid-v2 ag-grid-angular.tree .ag-selection-checkbox .ag-icon-checkbox-indeterminate:before{text-align:center;content:'-';display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;line-height:.5;color:#fff}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell{line-height:33px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.dato-editable-cell{line-height:29px}dato-grid-v2 ag-grid-angular.row-height-35 .ag-cell.ag-cell-inline-editing{height:35px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell{line-height:42px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.dato-editable-cell{line-height:38px}dato-grid-v2 ag-grid-angular.row-height-44 .ag-cell.ag-cell-inline-editing{height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell{line-height:48px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.dato-editable-cell{line-height:44px}dato-grid-v2 ag-grid-angular.row-height-50 .ag-cell.ag-cell-inline-editing{height:50px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell{line-height:57px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.dato-editable-cell{line-height:53px}dato-grid-v2 ag-grid-angular.row-height-59 .ag-cell.ag-cell-inline-editing{height:59px}dato-grid-v2 ag-grid-angular .ag-cell.checkbox-selection-cell{display:flex;padding-right:0}dato-grid-v2 .ag-menu .da-grid-icon svg{vertical-align:middle}dato-grid-v2 .ag-header-cell-sortable .ag-sort-none-icon{opacity:0;transition:opacity .2s}dato-grid-v2 .ag-header-cell-sortable:hover .ag-sort-none-icon{opacity:1}dato-grid-v2 .group-contracted-icon,dato-grid-v2 .group-expanded-icon{width:7px}dato-grid-v2 .group-expanded-icon{transform:rotate(90deg)}dato-grid-v2 .dato-grid .ag-cell{border-top:0;border-bottom:0}dato-grid-v2 .ag-overlay-wrapper ng-component{display:flex}.ag-dnd-ghost{min-width:100px;border:none;display:flex;justify-content:flex-start;align-content:center;align-items:center;cursor:-webkit-grabbing;cursor:grabbing;z-index:10000000}.ag-dnd-ghost .da-grid-icon.column-move-hide svg{height:18px;width:18px}.ag-dnd-ghost .da-grid-icon.column-move svg,.ag-dnd-ghost .da-grid-icon.column-move-pin svg{height:16px;width:16px}"]
|
|
70
72
|
}),
|
|
71
73
|
__metadata("design:paramtypes", [DatoGridControllerComponent, ElementRef])
|
|
72
74
|
], DatoGridV2Component);
|
|
73
75
|
return DatoGridV2Component;
|
|
74
76
|
}());
|
|
75
77
|
export { DatoGridV2Component };
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkLXYyL2dyaWQvZ3JpZC12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBVS9DO0lBd0JFLDZCQUFvQixVQUF1QyxFQUFVLElBQWdCO1FBQWpFLGVBQVUsR0FBVixVQUFVLENBQTZCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFHLENBQUM7SUF2QjVDLHNCQUFJLHFDQUFJO2FBQVIsVUFBUyxNQUFxQjtZQUN6RSxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ25EO1FBQ0gsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSw0Q0FBVzthQUFmO1lBQ0UsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlELENBQUM7OztPQUFBO0lBRUQsc0JBQUksaURBQWdCO2FBQXBCO1lBQ0UsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEUsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwyQ0FBVTthQUFkO1lBQ0UsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2hFLENBQUM7OztPQUFBO0lBRUQsc0JBQUksNkNBQVk7YUFBaEI7WUFDRSxPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztRQUNoRSxDQUFDOzs7T0FBQTs7Z0JBRStCLDJCQUEyQjtnQkFBZ0IsVUFBVTs7SUF2QnhDO1FBQTVDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7a0NBQWtCLGFBQWE7eUNBQWIsYUFBYTttREFLMUU7SUFOVSxtQkFBbUI7UUFQL0IsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLGNBQWM7WUFDeEIscWFBQXVDO1lBRXZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztTQUN0QyxDQUFDO3lDQXlCZ0MsMkJBQTJCLEVBQWdCLFVBQVU7T0F4QjFFLG1CQUFtQixDQXlCL0I7SUFBRCwwQkFBQztDQUFBLEFBekJELElBeUJDO1NBekJZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHsgRGF0b0dyaWRDb250cm9sbGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1jb250cm9sbGVyL2dyaWQtY29udHJvbGxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgcXVlcnkgfSBmcm9tICcuLi8uLi9pbnRlcm5hbC9oZWxwZXJzJztcbmltcG9ydCB7IERhdG9HcmlkT3B0aW9ucyB9IGZyb20gJy4vZ3JpZC12Mi50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdG8tZ3JpZC12MicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JpZC12Mi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEYXRvR3JpZFYyQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZChBZ0dyaWRBbmd1bGFyLCB7IHN0YXRpYzogZmFsc2UgfSkgc2V0IGdyaWQoYWdHcmlkOiBBZ0dyaWRBbmd1bGFyKSB7XG4gICAgaWYgKGFnR3JpZCkge1xuICAgICAgY29uc3QgYWdHcmlkRWwgPSBxdWVyeSgnYWctZ3JpZC1hbmd1bGFyJywgdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgdGhpcy5jb250cm9sbGVyLl9pbml0aWFsaXplR3JpZChhZ0dyaWQsIGFnR3JpZEVsKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZ3JpZE9wdGlvbnMoKTogRGF0b0dyaWRPcHRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyID8gdGhpcy5jb250cm9sbGVyLmdyaWRPcHRpb25zIDogbnVsbDtcbiAgfVxuXG4gIGdldCBlbmFibGVCYWNrZ3JvdW5kKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdyaWRPcHRpb25zID8gdGhpcy5ncmlkT3B0aW9ucy5lbmFibGVCYWNrZ3JvdW5kIDogZmFsc2U7XG4gIH1cblxuICBnZXQgZW5hYmxlVjJfMSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ncmlkT3B0aW9ucyA/IHRoaXMuZ3JpZE9wdGlvbnMuZW5hYmxlVjJfMSA6IGZhbHNlO1xuICB9XG5cbiAgZ2V0IGlzUGl2b3RTdHlsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ncmlkT3B0aW9ucyAmJiB0aGlzLmdyaWRPcHRpb25zLnVzZVBpdm90R3JpZFN0eWxlO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250cm9sbGVyOiBEYXRvR3JpZENvbnRyb2xsZXJDb21wb25lbnQsIHByaXZhdGUgaG9zdDogRWxlbWVudFJlZikge31cbn1cbiJdfQ==
|
|
@@ -17,7 +17,6 @@ import { getInitials } from '../../utils/string';
|
|
|
17
17
|
import { size } from '../../utils/collection';
|
|
18
18
|
import { isEqual } from '../../utils/validators';
|
|
19
19
|
var agRowLevelPrefix = 'ag-row-level-';
|
|
20
|
-
var emptyFolderClassName = 'ag-empty-folder';
|
|
21
20
|
function getTime(val) {
|
|
22
21
|
var time = new Date(val || null).getTime();
|
|
23
22
|
return isNaN(time) ? 0 : time;
|
|
@@ -90,15 +89,11 @@ function getGridTreeCellRenderer() {
|
|
|
90
89
|
var displayName = data[colDef['field']];
|
|
91
90
|
var entityClassName = 'entity-display-name';
|
|
92
91
|
var svgRegistry = colDef.gridService.svgRegistry;
|
|
93
|
-
if (isFolder) {
|
|
94
|
-
setEmptyFolderClass(item.node);
|
|
95
|
-
}
|
|
96
92
|
if (icon) {
|
|
97
93
|
return "<span class=\"dato-simple-bold\"> <span class=\"da-grid-icon folder d-flex\">" + svgRegistry.getSvg(icon) + "</span><span class=\"" + entityClassName + "\"></span> " + displayName + "</span>";
|
|
98
94
|
}
|
|
99
95
|
else {
|
|
100
96
|
if (isFolder) {
|
|
101
|
-
setEmptyFolderClass(item);
|
|
102
97
|
return "<span class=\"" + entityClassName + " dato-simple-bold\">" + displayName + "</span>";
|
|
103
98
|
}
|
|
104
99
|
else {
|
|
@@ -243,6 +238,9 @@ function onRowDragEnd(_a) {
|
|
|
243
238
|
var hoveredParentElement = getCellByRowID(potentialParent.id);
|
|
244
239
|
hoveredParentElement && hoveredParentElement.classList.remove(agRowHoverClassName);
|
|
245
240
|
potentialParent = null;
|
|
241
|
+
/** Redraw the folders that has been dragged from and to,
|
|
242
|
+
* to apply their classed through classRules config */
|
|
243
|
+
this.api.redrawRows({ rowNodes: [nodeParent, folderToDropInto] });
|
|
246
244
|
this.api.clearFocusedCell();
|
|
247
245
|
}
|
|
248
246
|
}
|
|
@@ -269,24 +267,9 @@ function setRowClasses(rows) {
|
|
|
269
267
|
finally { if (e_1) throw e_1.error; }
|
|
270
268
|
}
|
|
271
269
|
node.classList.add("" + agRowLevelPrefix + row.level);
|
|
272
|
-
if (row.data.isFolder) {
|
|
273
|
-
setEmptyFolderClass(row, node);
|
|
274
|
-
}
|
|
275
270
|
}
|
|
276
271
|
});
|
|
277
272
|
}
|
|
278
|
-
export function setEmptyFolderClass(row, node) {
|
|
279
|
-
var currentNode = node || document.querySelectorAll("[row-id=\"" + row.id + "\"]")[0];
|
|
280
|
-
if (!currentNode) {
|
|
281
|
-
return;
|
|
282
|
-
}
|
|
283
|
-
if (size(row.childrenAfterGroup) === 0) {
|
|
284
|
-
currentNode.classList.add(emptyFolderClassName);
|
|
285
|
-
}
|
|
286
|
-
else {
|
|
287
|
-
currentNode.classList.remove(emptyFolderClassName);
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
273
|
function onRowSelected(params) {
|
|
291
274
|
if (updatingCheckboxesProgrammatically) {
|
|
292
275
|
return;
|
|
@@ -417,4 +400,4 @@ function rowGroupOpened(_a) {
|
|
|
417
400
|
this.api.refreshCells({ force: true, rowNodes: [node] });
|
|
418
401
|
}
|
|
419
402
|
export { ɵ0, ɵ1 };
|
|
420
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi5jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkLXYyL2dyaWQvZ3JpZC12Mi5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRixPQUFPLEVBRUwsbUJBQW1CLEVBR25CLGFBQWEsRUFDYixvQkFBb0IsRUFDckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJakQsSUFBTSxnQkFBZ0IsR0FBVyxlQUFlLENBQUM7QUFDakQsSUFBTSxvQkFBb0IsR0FBVyxpQkFBaUIsQ0FBQztBQUV2RCxTQUFTLE9BQU8sQ0FBQyxHQUFjO0lBQzdCLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLFlBQVksR0FBRyxjQUFjLENBQUM7U0FHNUIsVUFBQSxJQUFJLElB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QW1CLENBQUMsQ0FBQztRQUM1QyxJQUFNLFFBQVEsR0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDaEMsNkJBQ0ssR0FBRyxnQkFDTCxjQUFjLENBQUMsV0FBVyxJQUFHLFFBQVEsT0FDdEM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxjQUFjLENBQUMsRUFBUTtRQUFOLGNBQUk7SUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cbmltcG9ydCB7IERhdG9HcmlkVjJMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWxvYWRlci9ncmlkLXYyLWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQWdHcmlkUm93SWNvbixcbiAgRGF0b0dyaWRDb2x1bW5UeXBlcyxcbiAgRGF0b0dyaWRPcHRpb25zLFxuICBEYXRvR3JpZFRyZWVDb25maWcsXG4gIEdyaWRNaW5XaWR0aHMsXG4gIEdyaWRSb3dTZWxlY3Rpb25UeXBlXG59IGZyb20gJy4vZ3JpZC12Mi50eXBlcyc7XG5pbXBvcnQgeyBEYXRvR3JpZFYyTm9EYXRhT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtbm8tZGF0YS1vdmVybGF5L2dyaWQtdjItbm8tZGF0YS1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRvR3JpZEZpbHRlclR5cGVzIH0gZnJvbSAnLi4vZ3JpZC1maWx0ZXIvZ3JpZC1maWx0ZXIudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRDb2x1bW5IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWNvbHVtbi1oZWFkZXIvZ3JpZC1jb2x1bW4taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpc1Rlc3RFbnYgfSBmcm9tICcuLi8uLi9pc3Rlc3QtZW52JztcbmltcG9ydCB7IElEIH0gZnJvbSAnQGRhdG9yYW1hL2FraXRhJztcbmltcG9ydCB7IGdldEluaXRpYWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3RyaW5nJztcbmltcG9ydCB7IHNpemUgfSBmcm9tICcuLi8uLi91dGlscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzJztcblxudHlwZSBEYXRlVHlwZXMgPSBudW1iZXIgfCBzdHJpbmcgfCBEYXRlO1xuXG5jb25zdCBhZ1Jvd0xldmVsUHJlZml4OiBzdHJpbmcgPSAnYWctcm93LWxldmVsLSc7XG5jb25zdCBlbXB0eUZvbGRlckNsYXNzTmFtZTogc3RyaW5nID0gJ2FnLWVtcHR5LWZvbGRlcic7XG5cbmZ1bmN0aW9uIGdldFRpbWUodmFsOiBEYXRlVHlwZXMpIHtcbiAgbGV0IHRpbWUgPSBuZXcgRGF0ZSh2YWwgfHwgbnVsbCkuZ2V0VGltZSgpO1xuICByZXR1cm4gaXNOYU4odGltZSkgPyAwIDogdGltZTtcbn1cblxuZXhwb3J0IGNvbnN0IFJPT1RfTk9ERV9JRCA9ICdST09UX05PREVfSUQnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFRyZWVPcHRpb25zOiBQYXJ0aWFsPERhdG9HcmlkT3B0aW9ucz4gPSB7XG4gIGdldERhdGFQYXRoOiBpdGVtID0+IGl0ZW1bZ3JpZFRyZWVGaWxlUGF0aEtleV0sXG4gIGNvbXBvbmVudHM6IHtcbiAgICBmaWxlQ2VsbFJlbmRlcmVyOiBnZXRHcmlkVHJlZUNlbGxSZW5kZXJlcigpXG4gIH0sXG4gIG9uUm93RHJhZ01vdmU6IG9uUm93RHJhZ01vdmUsXG4gIG9uUm93RHJhZ0VuZDogb25Sb3dEcmFnRW5kLFxuICBvblJvd1NlbGVjdGVkOiBvblJvd1NlbGVjdGVkLFxuICBvblJvd0dyb3VwT3BlbmVkOiByb3dHcm91cE9wZW5lZCxcbiAgc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbjogdHJ1ZSxcbiAgZ3JvdXBTZWxlY3RzQ2hpbGRyZW46IHRydWUsXG4gIGljb25zOiB7XG4gICAgcm93RHJhZzogJzxkYXRvLWljb24gaWNvbj1cImRyYWdcIiBjbGFzcz1cImRhdG8taWNvbi1mb250LWRyYWcgcHJpbWFyeS00MDAtY29sb3JcIj48L2RhdG8taWNvbj4nXG4gIH1cbn07XG5cbmNvbnN0IHN0cmluZ0NvbERlZiA9IHtcbiAgZmlsdGVyOiBEYXRvR3JpZEZpbHRlclR5cGVzLlN0cmluZyxcbiAgY29tcGFyYXRvcjogKGE6IHN0cmluZywgYjogc3RyaW5nKSA9PiAoYSB8fCAnJykudG9Mb3dlckNhc2UoKS5sb2NhbGVDb21wYXJlKChiIHx8ICcnKS50b0xvd2VyQ2FzZSgpKVxufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRHcmlkT3B0aW9uczogUGFydGlhbDxEYXRvR3JpZE9wdGlvbnM+ID0ge1xuICAvLyBDb3JlXG4gIGhvdmVyQ29uZmlnOiB7IGVuYWJsZWQ6IHRydWUsIG1heERpc3BsYXllZEl0ZW1zOiAzIH0sXG4gIGVuYWJsZVYyXzE6IGZhbHNlLFxuICBlbmFibGVTZWFyY2g6IGZhbHNlLFxuICBlbmFibGVTZWFyY2hIaWdobGlnaHQ6IHRydWUsXG4gIGNvbHVtbnNJbmNsdWRlZEluU2VhcmNoQnlEZWZhdWx0OiB0cnVlLFxuICBpbmNsdWRlSGlkZGVuQ29sdW1uc0luU2VhcmNoOiBmYWxzZSxcbiAgZW5hYmxlQWxsUGFnZXNTZWxlY3Rpb246IHRydWUsXG4gIGlkQ29sdW1uS2V5OiAnaWQnLFxuICBlbmFibGVCYWNrZ3JvdW5kOiB0cnVlLFxuICAvLyBBZyBncmlkXG4gIGNvbHVtblR5cGVzOiB7XG4gICAgW0RhdG9HcmlkQ29sdW1uVHlwZXMuRGF0ZV06IHtcbiAgICAgIGZpbHRlcjogRGF0b0dyaWRGaWx0ZXJUeXBlcy5EYXRlLFxuICAgICAgY29tcGFyYXRvcjogKGE6IERhdGVUeXBlcywgYjogRGF0ZVR5cGVzKSA9PiBnZXRUaW1lKGEpIC0gZ2V0VGltZShiKVxuICAgIH0sXG4gICAgW0RhdG9HcmlkQ29sdW1uVHlwZXMuTnVtYmVyXToge1xuICAgICAgZmlsdGVyOiBEYXRvR3JpZEZpbHRlclR5cGVzLk51bWJlclxuICAgIH0sXG4gICAgW0RhdG9HcmlkQ29sdW1uVHlwZXMuU3RyaW5nXTogc3RyaW5nQ29sRGVmLFxuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLlN0YXR1c106IHtcbiAgICAgIC4uLnN0cmluZ0NvbERlZixcbiAgICAgIGNlbGxSZW5kZXJlcjogJ0RhdG9HcmlkU3RhdHVzQ2VsbENvbXBvbmVudCdcbiAgICB9LFxuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLkl0ZW1zXToge1xuICAgICAgLi4uc3RyaW5nQ29sRGVmLFxuICAgICAgY2VsbFJlbmRlcmVyOiAnRGF0b0dyaWRJdGVtc0NlbGxDb21wb25lbnQnXG4gICAgfSxcbiAgICBbRGF0b0dyaWRDb2x1bW5UeXBlcy5JdGVtc0NvdW50XToge1xuICAgICAgLi4uc3RyaW5nQ29sRGVmLFxuICAgICAgY2VsbFJlbmRlcmVyOiAnRGF0b0dyaWRJdGVtc0NvdW50Q2VsbENvbXBvbmVudCdcbiAgICB9LFxuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLkluaXRpYWxzXToge1xuICAgICAgLi4uc3RyaW5nQ29sRGVmLFxuICAgICAgY2VsbFJlbmRlcmVyOiAnRGF0b0dyaWRJbml0aWFsc0NlbGxDb21wb25lbnQnXG4gICAgfSxcbiAgICBbRGF0b0dyaWRDb2x1bW5UeXBlcy5BdmF0YXJdOiB7XG4gICAgICAuLi5zdHJpbmdDb2xEZWYsXG4gICAgICBjZWxsUmVuZGVyZXI6ICdEYXRvR3JpZEF2YXRhckNlbGxDb21wb25lbnQnXG4gICAgfVxuICB9LFxuICBtdWx0aVNvcnRLZXk6ICdjdHJsJyxcbiAgc3VwcHJlc3NQYWdpbmF0aW9uUGFuZWw6IHRydWUsXG4gIHBhZ2luYXRpb246IHRydWUsXG4gIGRlbHRhQ29sdW1uTW9kZTogdHJ1ZSxcbiAgbG9hZGluZ092ZXJsYXlDb21wb25lbnRGcmFtZXdvcms6IERhdG9HcmlkVjJMb2FkZXJDb21wb25lbnQsXG4gIG5vUm93c092ZXJsYXlDb21wb25lbnRGcmFtZXdvcms6IERhdG9HcmlkVjJOb0RhdGFPdmVybGF5Q29tcG9uZW50LFxuICBkZWZhdWx0Q29sRGVmOiB7XG4gICAgbWluV2lkdGg6IEdyaWRNaW5XaWR0aHMuRGVmYXVsdCxcbiAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICByZXNpemFibGU6IHRydWUsXG4gICAgdHlwZTogRGF0b0dyaWRDb2x1bW5UeXBlcy5TdHJpbmcsXG4gICAgbWVudVRhYnM6IFsnZmlsdGVyTWVudVRhYiddLFxuICAgIGhlYWRlckNvbXBvbmVudEZyYW1ld29yazogRGF0b0dyaWRDb2x1bW5IZWFkZXJDb21wb25lbnRcbiAgfSxcbiAgc3VwcHJlc3NDZWxsU2VsZWN0aW9uOiB0cnVlLFxuICBzdXBwcmVzc1Byb3BlcnR5TmFtZXNDaGVjazogdHJ1ZSxcbiAgcm93SGVpZ2h0OiAzNSxcbiAgaGVhZGVySGVpZ2h0OiAzMCxcbiAgcm93U2VsZWN0aW9uOiBHcmlkUm93U2VsZWN0aW9uVHlwZS5NVUxUSVBMRSxcbiAgcm93RGVzZWxlY3Rpb246IHRydWUsXG4gIHVuU29ydEljb246IHRydWUsXG4gIGFuaW1hdGVSb3dzOiB0cnVlLFxuICByZW1lbWJlckdyb3VwU3RhdGVXaGVuTmV3RGF0YTogdHJ1ZSxcbiAgZ3JvdXBNdWx0aUF1dG9Db2x1bW46IHRydWUsXG4gIGdyb3VwRGVmYXVsdEV4cGFuZGVkOiAtMSxcbiAgdXNlUGl2b3RHcmlkU3R5bGU6IGZhbHNlLFxuICBkaXNhYmxlZEhUTUxSZW5kZXJpbmdGaWVsZHM6IFtdLFxuICAuLi4oaXNUZXN0RW52KCkgPyB7IHN1cHByZXNzQ29sdW1uVmlydHVhbGlzYXRpb246IHRydWUsIHJvd0J1ZmZlcjogOTk5OTkgfSA6IHt9KVxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfR1JJRF9TRUFSQ0hfREVCT1VOQ0VfVElNRSA9IHtcbiAgQ0xJRU5UOiAyMDAsXG4gIFNFUlZFUjogMjUwXG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEdyaWRUcmVlTGFiZWw6IERhdG9HcmlkVHJlZUNvbmZpZyA9IHtcbiAgaWRLZXk6ICdpZCcsXG4gIHBhcmVudElES2V5OiAncGFyZW50SUQnXG59O1xuXG5leHBvcnQgY29uc3QgZ3JpZFRyZWVGaWxlUGF0aEtleSA9ICdhZ0dyaWRGaWxlUGF0aCc7XG5cbi8qKlxuICogQ2VsbCByZW5kZXJlciBmb3IgdHJlZSBzdHJ1Y3R1cmUuXG4gKi9cbmZ1bmN0aW9uIGdldEdyaWRUcmVlQ2VsbFJlbmRlcmVyKCkge1xuICByZXR1cm4gaXRlbSA9PiB7XG4gICAgY29uc3QgeyBkYXRhLCBlR3JpZENlbGwsIGNvbERlZiB9ID0gaXRlbTtcbiAgICBjb25zdCB7IGljb246IGl0ZW1JY29uLCBpc0ZvbGRlciwgaW5pdGlhbHMgPSB0cnVlIH0gPSBkYXRhO1xuICAgIGNvbnN0IGljb24gPSBnZXRSb3dJY29uKGl0ZW1JY29uLCBlR3JpZENlbGwsIGlzRm9sZGVyKTtcbiAgICBjb25zdCBkaXNwbGF5TmFtZSA9IGRhdGFbY29sRGVmWydmaWVsZCddXTtcbiAgICBjb25zdCBlbnRpdHlDbGFzc05hbWUgPSAnZW50aXR5LWRpc3BsYXktbmFtZSc7XG4gICAgY29uc3QgeyBzdmdSZWdpc3RyeSB9ID0gY29sRGVmLmdyaWRTZXJ2aWNlO1xuXG4gICAgaWYgKGlzRm9sZGVyKSB7XG4gICAgICBzZXRFbXB0eUZvbGRlckNsYXNzKGl0ZW0ubm9kZSk7XG4gICAgfVxuXG4gICAgaWYgKGljb24pIHtcbiAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9XCJkYXRvLXNpbXBsZS1ib2xkXCI+IDxzcGFuIGNsYXNzPVwiZGEtZ3JpZC1pY29uIGZvbGRlciBkLWZsZXhcIj4ke3N2Z1JlZ2lzdHJ5LmdldFN2ZyhcbiAgICAgICAgaWNvblxuICAgICAgKX08L3NwYW4+PHNwYW4gY2xhc3M9XCIke2VudGl0eUNsYXNzTmFtZX1cIj48L3NwYW4+ICR7ZGlzcGxheU5hbWV9PC9zcGFuPmA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChpc0ZvbGRlcikge1xuICAgICAgICBzZXRFbXB0eUZvbGRlckNsYXNzKGl0ZW0pO1xuICAgICAgICByZXR1cm4gYDxzcGFuIGNsYXNzPVwiJHtlbnRpdHlDbGFzc05hbWV9IGRhdG8tc2ltcGxlLWJvbGRcIj4ke2Rpc3BsYXlOYW1lfTwvc3Bhbj5gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGluaXRpYWxzKSB7XG4gICAgICAgICAgY29uc3QgaW5pdGlhbFZhbHVlID0gZ2V0SW5pdGlhbHMoZGlzcGxheU5hbWUpO1xuICAgICAgICAgIGlmIChpbml0aWFsVmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9XCIke2VudGl0eUNsYXNzTmFtZX0gZGF0by1zaW1wbGUtYm9sZFwiPjxzcGFuIGNsYXNzPVwiaW5pdGlhbHNcIj4ke2luaXRpYWxWYWx1ZX08L3NwYW4+JHtkaXNwbGF5TmFtZX08L3NwYW4+YDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGA8c3BhbiBjbGFzcz1cIiR7ZW50aXR5Q2xhc3NOYW1lfSBkYXRvLXNpbXBsZS1ib2xkXCI+JHtkaXNwbGF5TmFtZX08L3NwYW4+YDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGA8c3BhbiBjbGFzcz1cIiR7ZW50aXR5Q2xhc3NOYW1lfSBkYXRvLXNpbXBsZS1ib2xkXCI+JHtkaXNwbGF5TmFtZX08L3NwYW4+YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSByb3cncyBpY29uLlxuICogSWYgaWNvbiBpcyBvZiB0eXBlIHN0cmluZywgUmV0dXJuIGl0LlxuICogSWYgaXQgYW4gb2JqZWN0LCBSZXR1cm4gYmFzZWQgb24gdGhlIGV4cGFuZCAvIGNvbGxhcHNlIHN0YXRlLlxuICogQHBhcmFtIGljb25cbiAqIEBwYXJhbSBlR3JpZENlbGxcbiAqIEBwYXJhbSBpc0ZvbGRlclxuICovXG5mdW5jdGlvbiBnZXRSb3dJY29uKGljb246IEFnR3JpZFJvd0ljb24sIGVHcmlkQ2VsbDogYW55LCBpc0ZvbGRlcjogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChpY29uID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBnZXRJY29uQmFzZWRPblJvd1N0YXRlID0gKGVHcmlkQ2VsbCwgeyBleHBhbmRlZCwgY29sbGFwc2VkIH0pID0+IHtcbiAgICBjb25zdCBhZ0dyaWRSb3dFeHBhbmRlZENsYXNzID0gJ2FnLXJvdy1ncm91cC1leHBhbmRlZCc7XG4gICAgcmV0dXJuIGVHcmlkQ2VsbC5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhhZ0dyaWRSb3dFeHBhbmRlZENsYXNzKSA/IGV4cGFuZGVkIDogY29sbGFwc2VkO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJZiBpY29uIHdhc24ndCBvdmVycmlkZSBieSB0aGUgdXNlciBhbmQgdGhlIHJvdyBpcyBvZiB0eXBlIGZvbGRlcixcbiAgICogU2V0IGRlZmF1bHQgZm9sZGVyIGljb25zLlxuICAgKi9cbiAgaWYgKGljb24gPT09IHVuZGVmaW5lZCkge1xuICAgIGlmIChpc0ZvbGRlcikge1xuICAgICAgY29uc3QgZGVmYXVsdEZvbGRlckljb25zOiBBZ0dyaWRSb3dJY29uID0ge1xuICAgICAgICBleHBhbmRlZDogJ2ZvbGRlci1vcGVuJyxcbiAgICAgICAgY29sbGFwc2VkOiAnZm9sZGVyLWNsb3NlZCdcbiAgICAgIH07XG4gICAgICByZXR1cm4gZ2V0SWNvbkJhc2VkT25Sb3dTdGF0ZShlR3JpZENlbGwsIGRlZmF1bHRGb2xkZXJJY29ucyk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVvZiBpY29uID09PSAnc3RyaW5nJyA/IGljb24gOiBnZXRJY29uQmFzZWRPblJvd1N0YXRlKGVHcmlkQ2VsbCwgaWNvbik7XG59XG5cbmxldCBwb3RlbnRpYWxQYXJlbnQgPSBudWxsO1xuY29uc3QgYWdSb3dIb3ZlckNsYXNzTmFtZSA9ICdhZy1yb3ctaG92ZXInO1xuXG5sZXQgdXBkYXRpbmdDaGVja2JveGVzUHJvZ3JhbW1hdGljYWxseSA9IGZhbHNlO1xuXG5mdW5jdGlvbiBnZXRDZWxsQnlSb3dJRChyb3dJRDogc3RyaW5nKSB7XG4gIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbcm93LWlkPVwiJHtyb3dJRH1cIl0gPiAuYWctY2VsbGApO1xufVxuXG4vKipcbiAqIE1hcmsgcGFyZW50IGZvbGRlciBvZiB0aGUgb3Zlck5vZGUgYXMgaG92ZXJlZCBpbiBvcmRlciB0byBhcHBseVxuICogcmVsZXZhbnQgY3NzIHN0eWxlIHRvIGl0LlxuICogQHBhcmFtIG92ZXJOb2RlXG4gKi9cbmZ1bmN0aW9uIG9uUm93RHJhZ01vdmUoeyBvdmVyTm9kZSwgbm9kZSB9KSB7XG4gIGxldCBmb2xkZXJUb0Ryb3BJbnRvO1xuXG4gIGlmIChvdmVyTm9kZSkge1xuICAgIC8vIGZvbGRlciB0byBkcm9wIGludG8gaXMgd2hlcmUgd2UgYXJlIGdvaW5nIHRvIG1vdmUgdGhlIGZpbGUvZm9sZGVyIHRvXG4gICAgZm9sZGVyVG9Ecm9wSW50byA9IG92ZXJOb2RlLmRhdGEuaXNGb2xkZXJcbiAgICAgID8gLy8gaWYgb3ZlciBhIGZvbGRlciwgd2UgdGFrZSB0aGUgaW1tZWRpYXRlIHJvd1xuICAgICAgICBvdmVyTm9kZVxuICAgICAgOiAvLyBpZiBvdmVyIGEgZmlsZSwgd2UgdGFrZSB0aGUgcGFyZW50IHJvdyAod2hpY2ggd2lsbCBiZSBhIGZvbGRlcilcbiAgICAgICAgb3Zlck5vZGUucGFyZW50O1xuICB9IGVsc2Uge1xuICAgIGZvbGRlclRvRHJvcEludG8gPSBub2RlLnJvd01vZGVsLnJvb3ROb2RlO1xuICB9XG5cbiAgaWYgKHBvdGVudGlhbFBhcmVudCkge1xuICAgIGlmIChwb3RlbnRpYWxQYXJlbnQuaWQgPT09IGZvbGRlclRvRHJvcEludG8uaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJldmlvdXNQb3RlbnRpYWxQYXJlbnQgPSBnZXRDZWxsQnlSb3dJRChwb3RlbnRpYWxQYXJlbnQuaWQpO1xuICAgICAgcHJldmlvdXNQb3RlbnRpYWxQYXJlbnQgJiYgcHJldmlvdXNQb3RlbnRpYWxQYXJlbnQuY2xhc3NMaXN0LnJlbW92ZShhZ1Jvd0hvdmVyQ2xhc3NOYW1lKTtcbiAgICAgIHBvdGVudGlhbFBhcmVudCA9IG51bGw7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHBvdGVudGlhbFBhcmVudCA9IGZvbGRlclRvRHJvcEludG87XG4gIH1cbiAgaWYgKGZvbGRlclRvRHJvcEludG8pIHtcbiAgICBjb25zdCBmb2xkZXJJRDogc3RyaW5nID0gZm9sZGVyVG9Ecm9wSW50by5pZDtcbiAgICBjb25zdCBmb2xkZXJUb0Ryb3BJbnRvRWxlbWVudCA9IGdldENlbGxCeVJvd0lEKGZvbGRlcklEKTtcbiAgICBmb2xkZXJUb0Ryb3BJbnRvRWxlbWVudCAmJiBmb2xkZXJUb0Ryb3BJbnRvRWxlbWVudC5jbGFzc0xpc3QuYWRkKGFnUm93SG92ZXJDbGFzc05hbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG9uUm93RHJhZ0VuZCh7IG92ZXJOb2RlLCBub2RlIH0pIHtcbiAgbGV0IG5vZGVQYXJlbnQ7XG4gIGxldCBmb2xkZXJUb0Ryb3BJbnRvO1xuICBpZiAob3Zlck5vZGUpIHtcbiAgICBub2RlUGFyZW50ID0gbm9kZS5wYXJlbnQ7XG4gICAgLy8gZm9sZGVyIHRvIGRyb3AgaW50byBpcyB3aGVyZSB3ZSBhcmUgZ29pbmcgdG8gbW92ZSB0aGUgZmlsZS9mb2xkZXIgdG9cbiAgICBmb2xkZXJUb0Ryb3BJbnRvID0gb3Zlck5vZGUuZGF0YS5pc0ZvbGRlclxuICAgICAgPyAvLyBpZiBvdmVyIGEgZm9sZGVyLCB3ZSB0YWtlIHRoZSBpbW1lZGlhdGUgcm93XG4gICAgICAgIG92ZXJOb2RlXG4gICAgICA6IC8vIGlmIG92ZXIgYSBmaWxlLCB3ZSB0YWtlIHRoZSBwYXJlbnQgcm93ICh3aGljaCB3aWxsIGJlIGEgZm9sZGVyKVxuICAgICAgICBvdmVyTm9kZS5wYXJlbnQ7XG4gIH0gZWxzZSB7XG4gICAgbm9kZVBhcmVudCA9IG5vZGUucm93TW9kZWwucm9vdE5vZGU7XG4gICAgZm9sZGVyVG9Ecm9wSW50byA9IG5vZGUucm93TW9kZWwucm9vdE5vZGU7XG4gIH1cblxuICAvLyB0aGUgZGF0YSB3ZSB3YW50IHRvIG1vdmVcbiAgY29uc3QgbW92aW5nRGF0YSA9IG5vZGUuZGF0YTtcblxuICBjb25zdCB0cmVlTWF4RGVwdGg6IG51bWJlciA9IG5vZGUuZ3JpZE9wdGlvbnNXcmFwcGVyLmdyaWRPcHRpb25zLm1heERlcHRoIHx8IC0xO1xuICAvLyBEaXNhYmxlIG5lc3RlZCBkcmFnIHdoZW4gdHJlZSBkZXB0aCBpcyBhYm92ZSB0aGUgbGltaXRcbiAgaWYgKFxuICAgIG1vdmluZ0RhdGEuaXNGb2xkZXIgJiZcbiAgICB0cmVlTWF4RGVwdGggIT09IC0xICYmXG4gICAgbm9kZVBhcmVudC5pZCAhPT0gUk9PVF9OT0RFX0lEICYmXG4gICAgb3Zlck5vZGUuZGF0YS5hZ0dyaWRGaWxlUGF0aC5sZW5ndGggPiB0cmVlTWF4RGVwdGhcbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gdGFrZSBuZXcgcGFyZW50IHBhdGggZnJvbSBwYXJlbnQsIGlmIGRhdGEgaXMgbWlzc2luZywgbWVhbnMgaXQncyB0aGUgcm9vdCBub2RlLFxuICAvLyB3aGljaCBoYXMgbm8gZGF0YS5cbiAgY29uc3QgbmV3UGFyZW50UGF0aCA9IGZvbGRlclRvRHJvcEludG8uZGF0YSA/IGZvbGRlclRvRHJvcEludG8uZGF0YVtncmlkVHJlZUZpbGVQYXRoS2V5XSA6IFtdO1xuICBjb25zdCBuZWVkVG9DaGFuZ2VQYXJlbnQgPSAhaXNFcXVhbChuZXdQYXJlbnRQYXRoLCBtb3ZpbmdEYXRhW2dyaWRUcmVlRmlsZVBhdGhLZXldKTtcblxuICAvLyBjaGVjayB3ZSBhcmUgbm90IG1vdmluZyBhIGZvbGRlciBpbnRvIGEgY2hpbGQgZm9sZGVyXG4gIGNvbnN0IGludmFsaWRNb2RlID0gaXNTZWxlY3Rpb25QYXJlbnRPZlRhcmdldChub2RlLCBmb2xkZXJUb0Ryb3BJbnRvKTtcbiAgaWYgKGludmFsaWRNb2RlKSB7XG4gICAgY29uc29sZS5sb2coJ2ludmFsaWQgbW92ZScpO1xuICB9XG5cbiAgaWYgKG5lZWRUb0NoYW5nZVBhcmVudCAmJiAhaW52YWxpZE1vZGUpIHtcbiAgICBjb25zdCB1cGRhdGVkUm93cyA9IFtdO1xuICAgIGNvbnN0IHsgaWRLZXkgfTogRGF0b0dyaWRUcmVlQ29uZmlnID0gdGhpcy5hdXRvR3JvdXBDb2x1bW5EZWYuZ3JpZFNlcnZpY2UudHJlZUNvbmZpZztcbiAgICBtb3ZlVG9QYXRoKG5ld1BhcmVudFBhdGgsIG5vZGUsIHVwZGF0ZWRSb3dzLCBpZEtleSk7XG5cbiAgICBjb25zdCBhZmZlY3RlZFJvd3MgPSB0aGlzLmF1dG9Hcm91cENvbHVtbkRlZi5ncmlkU2VydmljZS51cGRhdGVSb3dzKHVwZGF0ZWRSb3dzKTtcblxuICAgIHNldFJvd0NsYXNzZXMoWy4uLmFmZmVjdGVkUm93cy51cGRhdGUsIG92ZXJOb2RlLCBub2RlUGFyZW50XSk7XG5cbiAgICAvKipcbiAgICAgKiBDbGVhciBwcmV2aW91cyBtYXJrZWQgcGFyZW50IGZyb20gaG92ZXIgc3R5bGUuXG4gICAgICovXG4gICAgY29uc3QgaG92ZXJlZFBhcmVudEVsZW1lbnQgPSBnZXRDZWxsQnlSb3dJRChwb3RlbnRpYWxQYXJlbnQuaWQpO1xuICAgIGhvdmVyZWRQYXJlbnRFbGVtZW50ICYmIGhvdmVyZWRQYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYWdSb3dIb3ZlckNsYXNzTmFtZSk7XG4gICAgcG90ZW50aWFsUGFyZW50ID0gbnVsbDtcblxuICAgIHRoaXMuYXBpLmNsZWFyRm9jdXNlZENlbGwoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRSb3dDbGFzc2VzKHJvd3MpIHtcbiAgY29uc3QgY2xhc3NMaXN0ID0gW2Ake2FnUm93TGV2ZWxQcmVmaXh9MWAsIGAke2FnUm93TGV2ZWxQcmVmaXh9MmAsIGAke2FnUm93TGV2ZWxQcmVmaXh9M2BdO1xuICByb3dzLmZvckVhY2gocm93ID0+IHtcbiAgICBjb25zdCBub2RlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgW3Jvdy1pZD1cIiR7cm93LmlkfVwiXWApWzFdO1xuICAgIGlmIChub2RlKSB7XG4gICAgICBmb3IgKGNvbnN0IGNsYXNzTmFtZSBvZiBjbGFzc0xpc3QpIHtcbiAgICAgICAgaWYgKG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSkpIHtcbiAgICAgICAgICBub2RlLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbm9kZS5jbGFzc0xpc3QuYWRkKGAke2FnUm93TGV2ZWxQcmVmaXh9JHtyb3cubGV2ZWx9YCk7XG5cbiAgICAgIGlmIChyb3cuZGF0YS5pc0ZvbGRlcikge1xuICAgICAgICBzZXRFbXB0eUZvbGRlckNsYXNzKHJvdywgbm9kZSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEVtcHR5Rm9sZGVyQ2xhc3Mocm93LCBub2RlPykge1xuICBjb25zdCBjdXJyZW50Tm9kZSA9IG5vZGUgfHwgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgW3Jvdy1pZD1cIiR7cm93LmlkfVwiXWApWzBdO1xuICBpZiAoIWN1cnJlbnROb2RlKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChzaXplKHJvdy5jaGlsZHJlbkFmdGVyR3JvdXApID09PSAwKSB7XG4gICAgY3VycmVudE5vZGUuY2xhc3NMaXN0LmFkZChlbXB0eUZvbGRlckNsYXNzTmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgY3VycmVudE5vZGUuY2xhc3NMaXN0LnJlbW92ZShlbXB0eUZvbGRlckNsYXNzTmFtZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gb25Sb3dTZWxlY3RlZChwYXJhbXMpIHtcbiAgaWYgKHVwZGF0aW5nQ2hlY2tib3hlc1Byb2dyYW1tYXRpY2FsbHkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdXBkYXRpbmdDaGVja2JveGVzUHJvZ3JhbW1hdGljYWxseSA9IHRydWU7XG5cbiAgc2V0Q2hpbGRyZW5TZWxlY3Rpb25TdGF0dXMocGFyYW1zLm5vZGUsIHBhcmFtcy5ub2RlLnNlbGVjdGVkKTtcbiAgcmVmcmVzaFBhcmVudHNTZWxlY3Rpb25TdGF0dXNSZWN1cnNpdmVseShwYXJhbXMubm9kZSk7XG5cbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgdXBkYXRpbmdDaGVja2JveGVzUHJvZ3JhbW1hdGljYWxseSA9IGZhbHNlO1xuICB9LCAwKTtcbn1cblxuZnVuY3Rpb24gc2V0Q2hpbGRyZW5TZWxlY3Rpb25TdGF0dXMobm9kZSwgc2VsZWN0ZWQpIHtcbiAgbGV0IGhhc0NoaWxkcmVuID0gbm9kZS5hbGxDaGlsZHJlbkNvdW50ID4gMDtcbiAgaWYgKGhhc0NoaWxkcmVuKSB7XG4gICAgbm9kZS5hbGxMZWFmQ2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICBjaGlsZC5zZXRTZWxlY3RlZChzZWxlY3RlZCk7XG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVmcmVzaFBhcmVudHNTZWxlY3Rpb25TdGF0dXNSZWN1cnNpdmVseShub2RlKSB7XG4gIGxldCBwYXJlbnROb2RlID0gbm9kZS5wYXJlbnQ7XG4gIHdoaWxlIChwYXJlbnROb2RlKSB7XG4gICAgaWYgKHBhcmVudE5vZGUuaWQgPT09IFJPT1RfTk9ERV9JRCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmVmcmVzaFNlbGVjdGlvblN0YXR1cyhwYXJlbnROb2RlKTtcbiAgICBwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVmcmVzaFNlbGVjdGlvblN0YXR1cyhub2RlKSB7XG4gIGxldCBjaGlsZHJlblNlbGVjdGlvblN0YXR1cyA9IG5vZGUuYWxsTGVhZkNoaWxkcmVuLm1hcChub2RlID0+IG5vZGUuc2VsZWN0ZWQpO1xuXG4gIGlmIChjaGlsZHJlblNlbGVjdGlvblN0YXR1cy5ldmVyeShzZWxlY3RlZFZhbHVlID0+IHNlbGVjdGVkVmFsdWUgPT09IHRydWUgfHwgc2VsZWN0ZWRWYWx1ZSA9PT0gdW5kZWZpbmVkKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBjaGlsZHJlblNlbGVjdGlvblN0YXR1cy5zaGlmdCgpO1xuXG4gIGxldCBub2RlU2VsZWN0aW9uU3RhdHVzID0gY2hpbGRyZW5TZWxlY3Rpb25TdGF0dXMucmVkdWNlKChhLCBiKSA9PiB7XG4gICAgaWYgKGEgPT09IGIpIHtcbiAgICAgIHJldHVybiBhO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9KTtcblxuICBub2RlLnNlbGVjdFRoaXNOb2RlKG5vZGVTZWxlY3Rpb25TdGF0dXMpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgc2VsZWN0ZWQgbm9kZSBpcyBhIGNoaWxkIG9mIHRoZSB0YXJnZXQgcG9zaXRpb24uXG4gKiBAcGFyYW0gc2VsZWN0ZWROb2RlXG4gKiBAcGFyYW0gdGFyZ2V0Tm9kZVxuICovXG5mdW5jdGlvbiBpc1NlbGVjdGlvblBhcmVudE9mVGFyZ2V0KHNlbGVjdGVkTm9kZSwgdGFyZ2V0Tm9kZSk6IGJvb2xlYW4ge1xuICBjb25zdCBjaGlsZHJlbiA9IHNlbGVjdGVkTm9kZS5jaGlsZHJlbkFmdGVyR3JvdXA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAodGFyZ2V0Tm9kZSAmJiBjaGlsZHJlbltpXS5rZXkgPT09IHRhcmdldE5vZGUua2V5KSByZXR1cm4gdHJ1ZTtcbiAgICBpc1NlbGVjdGlvblBhcmVudE9mVGFyZ2V0KGNoaWxkcmVuW2ldLCB0YXJnZXROb2RlKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKiB0aGlzIHVwZGF0ZXMgdGhlIGZpbGVQYXRoIGxvY2F0aW9ucyBpbiBvdXIgZGF0YSwgd2UgdXBkYXRlIHRoZSBkYXRhXG4gYmVmb3JlIHdlIHNlbmQgaXQgdG8gYWctR3JpZFxuICovXG5mdW5jdGlvbiBtb3ZlVG9QYXRoKG5ld1BhcmVudFBhdGgsIHsgZGF0YSwgY2hpbGRyZW5BZnRlckdyb3VwIH0sIGFsbFVwZGF0ZWROb2RlcywgaWRLZXk6IHN0cmluZykge1xuICAvLyBsYXN0IHBhcnQgb2YgdGhlIGZpbGUgcGF0aCBpcyB0aGUgZmlsZSBuYW1lXG4gIGNvbnN0IG5ld0NoaWxkUGF0aCA9IG5ld1BhcmVudFBhdGguc2xpY2UoKTtcblxuICBkYXRhW2dyaWRUcmVlRmlsZVBhdGhLZXldID0gbmV3Q2hpbGRQYXRoO1xuXG4gIGFsbFVwZGF0ZWROb2Rlcy5wdXNoKGRhdGEpO1xuXG4gIGlmIChzaXplKGNoaWxkcmVuQWZ0ZXJHcm91cCkgPiAwKSB7XG4gICAgY2hpbGRyZW5BZnRlckdyb3VwLmZvckVhY2goZnVuY3Rpb24oY2hpbGROb2RlKSB7XG4gICAgICBtb3ZlVG9QYXRoKFsuLi5uZXdDaGlsZFBhdGgsIGRhdGFbaWRLZXldXSwgY2hpbGROb2RlLCBhbGxVcGRhdGVkTm9kZXMsIGlkS2V5KTtcbiAgICB9KTtcbiAgfVxuXG4gIGRhdGFbZ3JpZFRyZWVGaWxlUGF0aEtleV0ucHVzaChkYXRhW2lkS2V5XSk7XG59XG5cbi8qKlxuICogQ29udmVydCBkYXRhIGludG8gdHJlZSBzaGFwZWQgc3RydWN0dXJlLlxuICogQHBhcmFtIGRhdGFcbiAqIEBwYXJhbSBncmlkVHJlZUNvbmZpZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvVHJlZURhdGE8VD4oZGF0YTogVFtdLCBncmlkVHJlZUNvbmZpZzogRGF0b0dyaWRUcmVlQ29uZmlnKTogVFtdIHtcbiAgY29uc3QgeyBwYXJlbnRJREtleSwgaWRLZXkgfSA9IGdyaWRUcmVlQ29uZmlnO1xuICBjb25zdCBnZW5lcmF0ZUZpbGVQYXRoID0gKGl0ZW0sIGluaXRDaGlsZCA9IGZhbHNlKTogSURbXSA9PiB7XG4gICAgY29uc3QgcGF0aDogSURbXSA9IGluaXRDaGlsZCA/IFtpdGVtW2lkS2V5XV0gOiBbXTtcbiAgICBjb25zdCBwYXJlbnRFbnRpdHkgPSBkYXRhLmZpbmQoZW50aXR5ID0+IGVudGl0eVtpZEtleV0gPT09IGl0ZW1bcGFyZW50SURLZXldKTtcbiAgICBwYXRoLnVuc2hpZnQocGFyZW50RW50aXR5W2lkS2V5XSk7XG5cbiAgICBpZiAocGFyZW50RW50aXR5W3BhcmVudElES2V5XSkge1xuICAgICAgY29uc3QgZW50aXR5UGF0aCA9IGdlbmVyYXRlRmlsZVBhdGgocGFyZW50RW50aXR5KTtcbiAgICAgIHBhdGgudW5zaGlmdCguLi5lbnRpdHlQYXRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aDtcbiAgfTtcblxuICAvKipcbiAgICogV2hlbiB0aGVyZSdzIG5vIHBhcmVudElELCBTZXQgdGhlIGl0ZW0gaW4gdG8gcm9vdCBvZiB0aGUgdHJlZS5cbiAgICogRWxzZSwgUmVjdXJzaXZlbHkgY3JlYXRlIHRoZSBwYXRoLlxuICAgKi9cbiAgcmV0dXJuIGRhdGEubWFwKGl0ZW0gPT4ge1xuICAgIGlmIChpdGVtW3BhcmVudElES2V5XSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgW2dyaWRUcmVlRmlsZVBhdGhLZXldOiBnZW5lcmF0ZUZpbGVQYXRoKGl0ZW0sIHRydWUpXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICBbZ3JpZFRyZWVGaWxlUGF0aEtleV06IFtpdGVtW2lkS2V5XV1cbiAgICAgIH07XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHRoZSBncmlkcyBkYXRhIGZyb20gdHJlZSBzaGFwZSB0byBvcmlnaW5hbCBzaGFwZS5cbiAqIEBwYXJhbSBkYXRhXG4gKiBAcGFyYW0gZ3JpZFRyZWVDb25maWdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRGcm9tVHJlZURhdGE8VD4oZGF0YTogVFtdLCBncmlkVHJlZUNvbmZpZzogRGF0b0dyaWRUcmVlQ29uZmlnKTogVFtdIHtcbiAgcmV0dXJuIGRhdGEubWFwKCh7IC4uLnJvdyB9KSA9PiB7XG4gICAgY29uc3QgcGF0aDogSURbXSA9IHJvd1tncmlkVHJlZUZpbGVQYXRoS2V5XTtcbiAgICBjb25zdCBwYXJlbnRJRDogSUQgPSBzaXplKHBhdGgpID4gMSA/IHBhdGhbcGF0aC5sZW5ndGggLSAyXSA6IDA7XG4gICAgZGVsZXRlIHJvd1tncmlkVHJlZUZpbGVQYXRoS2V5XTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucm93LFxuICAgICAgW2dyaWRUcmVlQ29uZmlnLnBhcmVudElES2V5XTogcGFyZW50SURcbiAgICB9O1xuICB9KTtcbn1cblxuLyoqXG4gKiBSZWZyZXNoIGV4cGFuZGVkIC8gY29sbGFwc2VkIHJvdyBmb3IgdGhlIGdyaWQgdG8gZGV0ZWN0XG4gKiB0aGUgY2hhbmdlLlxuICogQHBhcmFtIG5vZGVcbiAqL1xuZnVuY3Rpb24gcm93R3JvdXBPcGVuZWQoeyBub2RlIH0pIHtcbiAgdGhpcy5hcGkucmVmcmVzaENlbGxzKHsgZm9yY2U6IHRydWUsIHJvd05vZGVzOiBbbm9kZV0gfSk7XG59XG4iXX0=
|
|
403
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi5jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkLXYyL2dyaWQvZ3JpZC12Mi5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRixPQUFPLEVBRUwsbUJBQW1CLEVBR25CLGFBQWEsRUFDYixvQkFBb0IsRUFDckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJakQsSUFBTSxnQkFBZ0IsR0FBVyxlQUFlLENBQUM7QUFFakQsU0FBUyxPQUFPLENBQUMsR0FBYztJQUM3QixJQUFJLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0MsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2hDLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDO1NBRzVCLFVBQUEsSUFBSSxJQUFJLE9BQUEsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQXpC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T0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQUEsSUFBSTs7UUFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDckIsNkJBQ0ssSUFBSSxnQkFDTixtQkFBbUIsSUFBRyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQ25EO1NBQ0g7YUFBTTtZQUNMLDZCQUNLLElBQUksZ0JBQ04sbUJBQW1CLElBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FDcEM7U0FDSDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUksSUFBUyxFQUFFLGNBQWtDO0lBQ2xGLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEVBQVU7O1lBQVIsb0JBQU07UUFDdkIsSUFBTSxJQUFJLEdBQVMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDNUMsSUFBTSxRQUFRLEdBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxPQUFPLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hDLDZCQUNLLEdBQUcsZ0JBQ0wsY0FBYyxDQUFDLFdBQVcsSUFBRyxRQUFRLE9BQ3RDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsY0FBYyxDQUFDLEVBQVE7UUFBTixjQUFJO0lBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5pbXBvcnQgeyBEYXRvR3JpZFYyTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1sb2FkZXIvZ3JpZC12Mi1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFnR3JpZFJvd0ljb24sXG4gIERhdG9HcmlkQ29sdW1uVHlwZXMsXG4gIERhdG9HcmlkT3B0aW9ucyxcbiAgRGF0b0dyaWRUcmVlQ29uZmlnLFxuICBHcmlkTWluV2lkdGhzLFxuICBHcmlkUm93U2VsZWN0aW9uVHlwZVxufSBmcm9tICcuL2dyaWQtdjIudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRWMk5vRGF0YU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLW5vLWRhdGEtb3ZlcmxheS9ncmlkLXYyLW5vLWRhdGEtb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0b0dyaWRGaWx0ZXJUeXBlcyB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkQ29sdW1uSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1jb2x1bW4taGVhZGVyL2dyaWQtY29sdW1uLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNUZXN0RW52IH0gZnJvbSAnLi4vLi4vaXN0ZXN0LWVudic7XG5pbXBvcnQgeyBJRCB9IGZyb20gJ0BkYXRvcmFtYS9ha2l0YSc7XG5pbXBvcnQgeyBnZXRJbml0aWFscyB9IGZyb20gJy4uLy4uL3V0aWxzL3N0cmluZyc7XG5pbXBvcnQgeyBzaXplIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycyc7XG5cbnR5cGUgRGF0ZVR5cGVzID0gbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZTtcblxuY29uc3QgYWdSb3dMZXZlbFByZWZpeDogc3RyaW5nID0gJ2FnLXJvdy1sZXZlbC0nO1xuXG5mdW5jdGlvbiBnZXRUaW1lKHZhbDogRGF0ZVR5cGVzKSB7XG4gIGxldCB0aW1lID0gbmV3IERhdGUodmFsIHx8IG51bGwpLmdldFRpbWUoKTtcbiAgcmV0dXJuIGlzTmFOKHRpbWUpID8gMCA6IHRpbWU7XG59XG5cbmV4cG9ydCBjb25zdCBST09UX05PREVfSUQgPSAnUk9PVF9OT0RFX0lEJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRUcmVlT3B0aW9uczogUGFydGlhbDxEYXRvR3JpZE9wdGlvbnM+ID0ge1xuICBnZXREYXRhUGF0aDogaXRlbSA9PiBpdGVtW2dyaWRUcmVlRmlsZVBhdGhLZXldLFxuICBjb21wb25lbnRzOiB7XG4gICAgZmlsZUNlbGxSZW5kZXJlcjogZ2V0R3JpZFRyZWVDZWxsUmVuZGVyZXIoKVxuICB9LFxuICBvblJvd0RyYWdNb3ZlOiBvblJvd0RyYWdNb3ZlLFxuICBvblJvd0RyYWdFbmQ6IG9uUm93RHJhZ0VuZCxcbiAgb25Sb3dTZWxlY3RlZDogb25Sb3dTZWxlY3RlZCxcbiAgb25Sb3dHcm91cE9wZW5lZDogcm93R3JvdXBPcGVuZWQsXG4gIHN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb246IHRydWUsXG4gIGdyb3VwU2VsZWN0c0NoaWxkcmVuOiB0cnVlLFxuICBpY29uczoge1xuICAgIHJvd0RyYWc6ICc8ZGF0by1pY29uIGljb249XCJkcmFnXCIgY2xhc3M9XCJkYXRvLWljb24tZm9udC1kcmFnIHByaW1hcnktNDAwLWNvbG9yXCI+PC9kYXRvLWljb24+J1xuICB9XG59O1xuXG5jb25zdCBzdHJpbmdDb2xEZWYgPSB7XG4gIGZpbHRlcjogRGF0b0dyaWRGaWx0ZXJUeXBlcy5TdHJpbmcsXG4gIGNvbXBhcmF0b3I6IChhOiBzdHJpbmcsIGI6IHN0cmluZykgPT4gKGEgfHwgJycpLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZSgoYiB8fCAnJykudG9Mb3dlckNhc2UoKSlcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0R3JpZE9wdGlvbnM6IFBhcnRpYWw8RGF0b0dyaWRPcHRpb25zPiA9IHtcbiAgLy8gQ29yZVxuICBob3ZlckNvbmZpZzogeyBlbmFibGVkOiB0cnVlLCBtYXhEaXNwbGF5ZWRJdGVtczogMyB9LFxuICBlbmFibGVWMl8xOiBmYWxzZSxcbiAgZW5hYmxlU2VhcmNoOiBmYWxzZSxcbiAgZW5hYmxlU2VhcmNoSGlnaGxpZ2h0OiB0cnVlLFxuICBjb2x1bW5zSW5jbHVkZWRJblNlYXJjaEJ5RGVmYXVsdDogdHJ1ZSxcbiAgaW5jbHVkZUhpZGRlbkNvbHVtbnNJblNlYXJjaDogZmFsc2UsXG4gIGVuYWJsZUFsbFBhZ2VzU2VsZWN0aW9uOiB0cnVlLFxuICBpZENvbHVtbktleTogJ2lkJyxcbiAgZW5hYmxlQmFja2dyb3VuZDogdHJ1ZSxcbiAgLy8gQWcgZ3JpZFxuICBjb2x1bW5UeXBlczoge1xuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLkRhdGVdOiB7XG4gICAgICBmaWx0ZXI6IERhdG9HcmlkRmlsdGVyVHlwZXMuRGF0ZSxcbiAgICAgIGNvbXBhcmF0b3I6IChhOiBEYXRlVHlwZXMsIGI6IERhdGVUeXBlcykgPT4gZ2V0VGltZShhKSAtIGdldFRpbWUoYilcbiAgICB9LFxuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLk51bWJlcl06IHtcbiAgICAgIGZpbHRlcjogRGF0b0dyaWRGaWx0ZXJUeXBlcy5OdW1iZXJcbiAgICB9LFxuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLlN0cmluZ106IHN0cmluZ0NvbERlZixcbiAgICBbRGF0b0dyaWRDb2x1bW5UeXBlcy5TdGF0dXNdOiB7XG4gICAgICAuLi5zdHJpbmdDb2xEZWYsXG4gICAgICBjZWxsUmVuZGVyZXI6ICdEYXRvR3JpZFN0YXR1c0NlbGxDb21wb25lbnQnXG4gICAgfSxcbiAgICBbRGF0b0dyaWRDb2x1bW5UeXBlcy5JdGVtc106IHtcbiAgICAgIC4uLnN0cmluZ0NvbERlZixcbiAgICAgIGNlbGxSZW5kZXJlcjogJ0RhdG9HcmlkSXRlbXNDZWxsQ29tcG9uZW50J1xuICAgIH0sXG4gICAgW0RhdG9HcmlkQ29sdW1uVHlwZXMuSXRlbXNDb3VudF06IHtcbiAgICAgIC4uLnN0cmluZ0NvbERlZixcbiAgICAgIGNlbGxSZW5kZXJlcjogJ0RhdG9HcmlkSXRlbXNDb3VudENlbGxDb21wb25lbnQnXG4gICAgfSxcbiAgICBbRGF0b0dyaWRDb2x1bW5UeXBlcy5Jbml0aWFsc106IHtcbiAgICAgIC4uLnN0cmluZ0NvbERlZixcbiAgICAgIGNlbGxSZW5kZXJlcjogJ0RhdG9HcmlkSW5pdGlhbHNDZWxsQ29tcG9uZW50J1xuICAgIH0sXG4gICAgW0RhdG9HcmlkQ29sdW1uVHlwZXMuQXZhdGFyXToge1xuICAgICAgLi4uc3RyaW5nQ29sRGVmLFxuICAgICAgY2VsbFJlbmRlcmVyOiAnRGF0b0dyaWRBdmF0YXJDZWxsQ29tcG9uZW50J1xuICAgIH1cbiAgfSxcbiAgbXVsdGlTb3J0S2V5OiAnY3RybCcsXG4gIHN1cHByZXNzUGFnaW5hdGlvblBhbmVsOiB0cnVlLFxuICBwYWdpbmF0aW9uOiB0cnVlLFxuICBkZWx0YUNvbHVtbk1vZGU6IHRydWUsXG4gIGxvYWRpbmdPdmVybGF5Q29tcG9uZW50RnJhbWV3b3JrOiBEYXRvR3JpZFYyTG9hZGVyQ29tcG9uZW50LFxuICBub1Jvd3NPdmVybGF5Q29tcG9uZW50RnJhbWV3b3JrOiBEYXRvR3JpZFYyTm9EYXRhT3ZlcmxheUNvbXBvbmVudCxcbiAgZGVmYXVsdENvbERlZjoge1xuICAgIG1pbldpZHRoOiBHcmlkTWluV2lkdGhzLkRlZmF1bHQsXG4gICAgc29ydGFibGU6IHRydWUsXG4gICAgcmVzaXphYmxlOiB0cnVlLFxuICAgIHR5cGU6IERhdG9HcmlkQ29sdW1uVHlwZXMuU3RyaW5nLFxuICAgIG1lbnVUYWJzOiBbJ2ZpbHRlck1lbnVUYWInXSxcbiAgICBoZWFkZXJDb21wb25lbnRGcmFtZXdvcms6IERhdG9HcmlkQ29sdW1uSGVhZGVyQ29tcG9uZW50XG4gIH0sXG4gIHN1cHByZXNzQ2VsbFNlbGVjdGlvbjogdHJ1ZSxcbiAgc3VwcHJlc3NQcm9wZXJ0eU5hbWVzQ2hlY2s6IHRydWUsXG4gIHJvd0hlaWdodDogMzUsXG4gIGhlYWRlckhlaWdodDogMzAsXG4gIHJvd1NlbGVjdGlvbjogR3JpZFJvd1NlbGVjdGlvblR5cGUuTVVMVElQTEUsXG4gIHJvd0Rlc2VsZWN0aW9uOiB0cnVlLFxuICB1blNvcnRJY29uOiB0cnVlLFxuICBhbmltYXRlUm93czogdHJ1ZSxcbiAgcmVtZW1iZXJHcm91cFN0YXRlV2hlbk5ld0RhdGE6IHRydWUsXG4gIGdyb3VwTXVsdGlBdXRvQ29sdW1uOiB0cnVlLFxuICBncm91cERlZmF1bHRFeHBhbmRlZDogLTEsXG4gIHVzZVBpdm90R3JpZFN0eWxlOiBmYWxzZSxcbiAgZGlzYWJsZWRIVE1MUmVuZGVyaW5nRmllbGRzOiBbXSxcbiAgLi4uKGlzVGVzdEVudigpID8geyBzdXBwcmVzc0NvbHVtblZpcnR1YWxpc2F0aW9uOiB0cnVlLCByb3dCdWZmZXI6IDk5OTk5IH0gOiB7fSlcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0dSSURfU0VBUkNIX0RFQk9VTkNFX1RJTUUgPSB7XG4gIENMSUVOVDogMjAwLFxuICBTRVJWRVI6IDI1MFxufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRHcmlkVHJlZUxhYmVsOiBEYXRvR3JpZFRyZWVDb25maWcgPSB7XG4gIGlkS2V5OiAnaWQnLFxuICBwYXJlbnRJREtleTogJ3BhcmVudElEJ1xufTtcblxuZXhwb3J0IGNvbnN0IGdyaWRUcmVlRmlsZVBhdGhLZXkgPSAnYWdHcmlkRmlsZVBhdGgnO1xuXG4vKipcbiAqIENlbGwgcmVuZGVyZXIgZm9yIHRyZWUgc3RydWN0dXJlLlxuICovXG5mdW5jdGlvbiBnZXRHcmlkVHJlZUNlbGxSZW5kZXJlcigpIHtcbiAgcmV0dXJuIGl0ZW0gPT4ge1xuICAgIGNvbnN0IHsgZGF0YSwgZUdyaWRDZWxsLCBjb2xEZWYgfSA9IGl0ZW07XG4gICAgY29uc3QgeyBpY29uOiBpdGVtSWNvbiwgaXNGb2xkZXIsIGluaXRpYWxzID0gdHJ1ZSB9ID0gZGF0YTtcbiAgICBjb25zdCBpY29uID0gZ2V0Um93SWNvbihpdGVtSWNvbiwgZUdyaWRDZWxsLCBpc0ZvbGRlcik7XG4gICAgY29uc3QgZGlzcGxheU5hbWUgPSBkYXRhW2NvbERlZlsnZmllbGQnXV07XG4gICAgY29uc3QgZW50aXR5Q2xhc3NOYW1lID0gJ2VudGl0eS1kaXNwbGF5LW5hbWUnO1xuICAgIGNvbnN0IHsgc3ZnUmVnaXN0cnkgfSA9IGNvbERlZi5ncmlkU2VydmljZTtcblxuICAgIGlmIChpY29uKSB7XG4gICAgICByZXR1cm4gYDxzcGFuIGNsYXNzPVwiZGF0by1zaW1wbGUtYm9sZFwiPiA8c3BhbiBjbGFzcz1cImRhLWdyaWQtaWNvbiBmb2xkZXIgZC1mbGV4XCI+JHtzdmdSZWdpc3RyeS5nZXRTdmcoXG4gICAgICAgIGljb25cbiAgICAgICl9PC9zcGFuPjxzcGFuIGNsYXNzPVwiJHtlbnRpdHlDbGFzc05hbWV9XCI+PC9zcGFuPiAke2Rpc3BsYXlOYW1lfTwvc3Bhbj5gO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXNGb2xkZXIpIHtcbiAgICAgICAgcmV0dXJuIGA8c3BhbiBjbGFzcz1cIiR7ZW50aXR5Q2xhc3NOYW1lfSBkYXRvLXNpbXBsZS1ib2xkXCI+JHtkaXNwbGF5TmFtZX08L3NwYW4+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChpbml0aWFscykge1xuICAgICAgICAgIGNvbnN0IGluaXRpYWxWYWx1ZSA9IGdldEluaXRpYWxzKGRpc3BsYXlOYW1lKTtcbiAgICAgICAgICBpZiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gYDxzcGFuIGNsYXNzPVwiJHtlbnRpdHlDbGFzc05hbWV9IGRhdG8tc2ltcGxlLWJvbGRcIj48c3BhbiBjbGFzcz1cImluaXRpYWxzXCI+JHtpbml0aWFsVmFsdWV9PC9zcGFuPiR7ZGlzcGxheU5hbWV9PC9zcGFuPmA7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9XCIke2VudGl0eUNsYXNzTmFtZX0gZGF0by1zaW1wbGUtYm9sZFwiPiR7ZGlzcGxheU5hbWV9PC9zcGFuPmA7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9XCIke2VudGl0eUNsYXNzTmFtZX0gZGF0by1zaW1wbGUtYm9sZFwiPiR7ZGlzcGxheU5hbWV9PC9zcGFuPmA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcm93J3MgaWNvbi5cbiAqIElmIGljb24gaXMgb2YgdHlwZSBzdHJpbmcsIFJldHVybiBpdC5cbiAqIElmIGl0IGFuIG9iamVjdCwgUmV0dXJuIGJhc2VkIG9uIHRoZSBleHBhbmQgLyBjb2xsYXBzZSBzdGF0ZS5cbiAqIEBwYXJhbSBpY29uXG4gKiBAcGFyYW0gZUdyaWRDZWxsXG4gKiBAcGFyYW0gaXNGb2xkZXJcbiAqL1xuZnVuY3Rpb24gZ2V0Um93SWNvbihpY29uOiBBZ0dyaWRSb3dJY29uLCBlR3JpZENlbGw6IGFueSwgaXNGb2xkZXI6IGJvb2xlYW4pOiBzdHJpbmcge1xuICBpZiAoaWNvbiA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZ2V0SWNvbkJhc2VkT25Sb3dTdGF0ZSA9IChlR3JpZENlbGwsIHsgZXhwYW5kZWQsIGNvbGxhcHNlZCB9KSA9PiB7XG4gICAgY29uc3QgYWdHcmlkUm93RXhwYW5kZWRDbGFzcyA9ICdhZy1yb3ctZ3JvdXAtZXhwYW5kZWQnO1xuICAgIHJldHVybiBlR3JpZENlbGwucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoYWdHcmlkUm93RXhwYW5kZWRDbGFzcykgPyBleHBhbmRlZCA6IGNvbGxhcHNlZDtcbiAgfTtcblxuICAvKipcbiAgICogSWYgaWNvbiB3YXNuJ3Qgb3ZlcnJpZGUgYnkgdGhlIHVzZXIgYW5kIHRoZSByb3cgaXMgb2YgdHlwZSBmb2xkZXIsXG4gICAqIFNldCBkZWZhdWx0IGZvbGRlciBpY29ucy5cbiAgICovXG4gIGlmIChpY29uID09PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoaXNGb2xkZXIpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRGb2xkZXJJY29uczogQWdHcmlkUm93SWNvbiA9IHtcbiAgICAgICAgZXhwYW5kZWQ6ICdmb2xkZXItb3BlbicsXG4gICAgICAgIGNvbGxhcHNlZDogJ2ZvbGRlci1jbG9zZWQnXG4gICAgICB9O1xuICAgICAgcmV0dXJuIGdldEljb25CYXNlZE9uUm93U3RhdGUoZUdyaWRDZWxsLCBkZWZhdWx0Rm9sZGVySWNvbnMpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB0eXBlb2YgaWNvbiA9PT0gJ3N0cmluZycgPyBpY29uIDogZ2V0SWNvbkJhc2VkT25Sb3dTdGF0ZShlR3JpZENlbGwsIGljb24pO1xufVxuXG5sZXQgcG90ZW50aWFsUGFyZW50ID0gbnVsbDtcbmNvbnN0IGFnUm93SG92ZXJDbGFzc05hbWUgPSAnYWctcm93LWhvdmVyJztcblxubGV0IHVwZGF0aW5nQ2hlY2tib3hlc1Byb2dyYW1tYXRpY2FsbHkgPSBmYWxzZTtcblxuZnVuY3Rpb24gZ2V0Q2VsbEJ5Um93SUQocm93SUQ6IHN0cmluZykge1xuICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW3Jvdy1pZD1cIiR7cm93SUR9XCJdID4gLmFnLWNlbGxgKTtcbn1cblxuLyoqXG4gKiBNYXJrIHBhcmVudCBmb2xkZXIgb2YgdGhlIG92ZXJOb2RlIGFzIGhvdmVyZWQgaW4gb3JkZXIgdG8gYXBwbHlcbiAqIHJlbGV2YW50IGNzcyBzdHlsZSB0byBpdC5cbiAqIEBwYXJhbSBvdmVyTm9kZVxuICovXG5mdW5jdGlvbiBvblJvd0RyYWdNb3ZlKHsgb3Zlck5vZGUsIG5vZGUgfSkge1xuICBsZXQgZm9sZGVyVG9Ecm9wSW50bztcblxuICBpZiAob3Zlck5vZGUpIHtcbiAgICAvLyBmb2xkZXIgdG8gZHJvcCBpbnRvIGlzIHdoZXJlIHdlIGFyZSBnb2luZyB0byBtb3ZlIHRoZSBmaWxlL2ZvbGRlciB0b1xuICAgIGZvbGRlclRvRHJvcEludG8gPSBvdmVyTm9kZS5kYXRhLmlzRm9sZGVyXG4gICAgICA/IC8vIGlmIG92ZXIgYSBmb2xkZXIsIHdlIHRha2UgdGhlIGltbWVkaWF0ZSByb3dcbiAgICAgICAgb3Zlck5vZGVcbiAgICAgIDogLy8gaWYgb3ZlciBhIGZpbGUsIHdlIHRha2UgdGhlIHBhcmVudCByb3cgKHdoaWNoIHdpbGwgYmUgYSBmb2xkZXIpXG4gICAgICAgIG92ZXJOb2RlLnBhcmVudDtcbiAgfSBlbHNlIHtcbiAgICBmb2xkZXJUb0Ryb3BJbnRvID0gbm9kZS5yb3dNb2RlbC5yb290Tm9kZTtcbiAgfVxuXG4gIGlmIChwb3RlbnRpYWxQYXJlbnQpIHtcbiAgICBpZiAocG90ZW50aWFsUGFyZW50LmlkID09PSBmb2xkZXJUb0Ryb3BJbnRvLmlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzUG90ZW50aWFsUGFyZW50ID0gZ2V0Q2VsbEJ5Um93SUQocG90ZW50aWFsUGFyZW50LmlkKTtcbiAgICAgIHByZXZpb3VzUG90ZW50aWFsUGFyZW50ICYmIHByZXZpb3VzUG90ZW50aWFsUGFyZW50LmNsYXNzTGlzdC5yZW1vdmUoYWdSb3dIb3ZlckNsYXNzTmFtZSk7XG4gICAgICBwb3RlbnRpYWxQYXJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBwb3RlbnRpYWxQYXJlbnQgPSBmb2xkZXJUb0Ryb3BJbnRvO1xuICB9XG4gIGlmIChmb2xkZXJUb0Ryb3BJbnRvKSB7XG4gICAgY29uc3QgZm9sZGVySUQ6IHN0cmluZyA9IGZvbGRlclRvRHJvcEludG8uaWQ7XG4gICAgY29uc3QgZm9sZGVyVG9Ecm9wSW50b0VsZW1lbnQgPSBnZXRDZWxsQnlSb3dJRChmb2xkZXJJRCk7XG4gICAgZm9sZGVyVG9Ecm9wSW50b0VsZW1lbnQgJiYgZm9sZGVyVG9Ecm9wSW50b0VsZW1lbnQuY2xhc3NMaXN0LmFkZChhZ1Jvd0hvdmVyQ2xhc3NOYW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBvblJvd0RyYWdFbmQoeyBvdmVyTm9kZSwgbm9kZSB9KSB7XG4gIGxldCBub2RlUGFyZW50O1xuICBsZXQgZm9sZGVyVG9Ecm9wSW50bztcbiAgaWYgKG92ZXJOb2RlKSB7XG4gICAgbm9kZVBhcmVudCA9IG5vZGUucGFyZW50O1xuICAgIC8vIGZvbGRlciB0byBkcm9wIGludG8gaXMgd2hlcmUgd2UgYXJlIGdvaW5nIHRvIG1vdmUgdGhlIGZpbGUvZm9sZGVyIHRvXG4gICAgZm9sZGVyVG9Ecm9wSW50byA9IG92ZXJOb2RlLmRhdGEuaXNGb2xkZXJcbiAgICAgID8gLy8gaWYgb3ZlciBhIGZvbGRlciwgd2UgdGFrZSB0aGUgaW1tZWRpYXRlIHJvd1xuICAgICAgICBvdmVyTm9kZVxuICAgICAgOiAvLyBpZiBvdmVyIGEgZmlsZSwgd2UgdGFrZSB0aGUgcGFyZW50IHJvdyAod2hpY2ggd2lsbCBiZSBhIGZvbGRlcilcbiAgICAgICAgb3Zlck5vZGUucGFyZW50O1xuICB9IGVsc2Uge1xuICAgIG5vZGVQYXJlbnQgPSBub2RlLnJvd01vZGVsLnJvb3ROb2RlO1xuICAgIGZvbGRlclRvRHJvcEludG8gPSBub2RlLnJvd01vZGVsLnJvb3ROb2RlO1xuICB9XG5cbiAgLy8gdGhlIGRhdGEgd2Ugd2FudCB0byBtb3ZlXG4gIGNvbnN0IG1vdmluZ0RhdGEgPSBub2RlLmRhdGE7XG5cbiAgY29uc3QgdHJlZU1heERlcHRoOiBudW1iZXIgPSBub2RlLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5tYXhEZXB0aCB8fCAtMTtcbiAgLy8gRGlzYWJsZSBuZXN0ZWQgZHJhZyB3aGVuIHRyZWUgZGVwdGggaXMgYWJvdmUgdGhlIGxpbWl0XG4gIGlmIChcbiAgICBtb3ZpbmdEYXRhLmlzRm9sZGVyICYmXG4gICAgdHJlZU1heERlcHRoICE9PSAtMSAmJlxuICAgIG5vZGVQYXJlbnQuaWQgIT09IFJPT1RfTk9ERV9JRCAmJlxuICAgIG92ZXJOb2RlLmRhdGEuYWdHcmlkRmlsZVBhdGgubGVuZ3RoID4gdHJlZU1heERlcHRoXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIHRha2UgbmV3IHBhcmVudCBwYXRoIGZyb20gcGFyZW50LCBpZiBkYXRhIGlzIG1pc3NpbmcsIG1lYW5zIGl0J3MgdGhlIHJvb3Qgbm9kZSxcbiAgLy8gd2hpY2ggaGFzIG5vIGRhdGEuXG4gIGNvbnN0IG5ld1BhcmVudFBhdGggPSBmb2xkZXJUb0Ryb3BJbnRvLmRhdGEgPyBmb2xkZXJUb0Ryb3BJbnRvLmRhdGFbZ3JpZFRyZWVGaWxlUGF0aEtleV0gOiBbXTtcbiAgY29uc3QgbmVlZFRvQ2hhbmdlUGFyZW50ID0gIWlzRXF1YWwobmV3UGFyZW50UGF0aCwgbW92aW5nRGF0YVtncmlkVHJlZUZpbGVQYXRoS2V5XSk7XG5cbiAgLy8gY2hlY2sgd2UgYXJlIG5vdCBtb3ZpbmcgYSBmb2xkZXIgaW50byBhIGNoaWxkIGZvbGRlclxuICBjb25zdCBpbnZhbGlkTW9kZSA9IGlzU2VsZWN0aW9uUGFyZW50T2ZUYXJnZXQobm9kZSwgZm9sZGVyVG9Ecm9wSW50byk7XG4gIGlmIChpbnZhbGlkTW9kZSkge1xuICAgIGNvbnNvbGUubG9nKCdpbnZhbGlkIG1vdmUnKTtcbiAgfVxuXG4gIGlmIChuZWVkVG9DaGFuZ2VQYXJlbnQgJiYgIWludmFsaWRNb2RlKSB7XG4gICAgY29uc3QgdXBkYXRlZFJvd3MgPSBbXTtcbiAgICBjb25zdCB7IGlkS2V5IH06IERhdG9HcmlkVHJlZUNvbmZpZyA9IHRoaXMuYXV0b0dyb3VwQ29sdW1uRGVmLmdyaWRTZXJ2aWNlLnRyZWVDb25maWc7XG4gICAgbW92ZVRvUGF0aChuZXdQYXJlbnRQYXRoLCBub2RlLCB1cGRhdGVkUm93cywgaWRLZXkpO1xuXG4gICAgY29uc3QgYWZmZWN0ZWRSb3dzID0gdGhpcy5hdXRvR3JvdXBDb2x1bW5EZWYuZ3JpZFNlcnZpY2UudXBkYXRlUm93cyh1cGRhdGVkUm93cyk7XG5cbiAgICBzZXRSb3dDbGFzc2VzKFsuLi5hZmZlY3RlZFJvd3MudXBkYXRlLCBvdmVyTm9kZSwgbm9kZVBhcmVudF0pO1xuXG4gICAgLyoqXG4gICAgICogQ2xlYXIgcHJldmlvdXMgbWFya2VkIHBhcmVudCBmcm9tIGhvdmVyIHN0eWxlLlxuICAgICAqL1xuICAgIGNvbnN0IGhvdmVyZWRQYXJlbnRFbGVtZW50ID0gZ2V0Q2VsbEJ5Um93SUQocG90ZW50aWFsUGFyZW50LmlkKTtcbiAgICBob3ZlcmVkUGFyZW50RWxlbWVudCAmJiBob3ZlcmVkUGFyZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGFnUm93SG92ZXJDbGFzc05hbWUpO1xuICAgIHBvdGVudGlhbFBhcmVudCA9IG51bGw7XG5cbiAgICAvKiogUmVkcmF3IHRoZSBmb2xkZXJzIHRoYXQgaGFzIGJlZW4gZHJhZ2dlZCBmcm9tIGFuZCB0byxcbiAgICAgKiB0byBhcHBseSB0aGVpciBjbGFzc2VkIHRocm91Z2ggY2xhc3NSdWxlcyBjb25maWcgKi9cbiAgICB0aGlzLmFwaS5yZWRyYXdSb3dzKHsgcm93Tm9kZXM6IFtub2RlUGFyZW50LCBmb2xkZXJUb0Ryb3BJbnRvXSB9KTtcbiAgICB0aGlzLmFwaS5jbGVhckZvY3VzZWRDZWxsKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0Um93Q2xhc3Nlcyhyb3dzKSB7XG4gIGNvbnN0IGNsYXNzTGlzdCA9IFtgJHthZ1Jvd0xldmVsUHJlZml4fTFgLCBgJHthZ1Jvd0xldmVsUHJlZml4fTJgLCBgJHthZ1Jvd0xldmVsUHJlZml4fTNgXTtcbiAgcm93cy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYFtyb3ctaWQ9XCIke3Jvdy5pZH1cIl1gKVsxXTtcblxuICAgIGlmIChub2RlKSB7XG4gICAgICBmb3IgKGNvbnN0IGNsYXNzTmFtZSBvZiBjbGFzc0xpc3QpIHtcbiAgICAgICAgaWYgKG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSkpIHtcbiAgICAgICAgICBub2RlLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBub2RlLmNsYXNzTGlzdC5hZGQoYCR7YWdSb3dMZXZlbFByZWZpeH0ke3Jvdy5sZXZlbH1gKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBvblJvd1NlbGVjdGVkKHBhcmFtcykge1xuICBpZiAodXBkYXRpbmdDaGVja2JveGVzUHJvZ3JhbW1hdGljYWxseSkge1xuICAgIHJldHVybjtcbiAgfVxuICB1cGRhdGluZ0NoZWNrYm94ZXNQcm9ncmFtbWF0aWNhbGx5ID0gdHJ1ZTtcblxuICBzZXRDaGlsZHJlblNlbGVjdGlvblN0YXR1cyhwYXJhbXMubm9kZSwgcGFyYW1zLm5vZGUuc2VsZWN0ZWQpO1xuICByZWZyZXNoUGFyZW50c1NlbGVjdGlvblN0YXR1c1JlY3Vyc2l2ZWx5KHBhcmFtcy5ub2RlKTtcblxuICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICB1cGRhdGluZ0NoZWNrYm94ZXNQcm9ncmFtbWF0aWNhbGx5ID0gZmFsc2U7XG4gIH0sIDApO1xufVxuXG5mdW5jdGlvbiBzZXRDaGlsZHJlblNlbGVjdGlvblN0YXR1cyhub2RlLCBzZWxlY3RlZCkge1xuICBsZXQgaGFzQ2hpbGRyZW4gPSBub2RlLmFsbENoaWxkcmVuQ291bnQgPiAwO1xuICBpZiAoaGFzQ2hpbGRyZW4pIHtcbiAgICBub2RlLmFsbExlYWZDaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgIGNoaWxkLnNldFNlbGVjdGVkKHNlbGVjdGVkKTtcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWZyZXNoUGFyZW50c1NlbGVjdGlvblN0YXR1c1JlY3Vyc2l2ZWx5KG5vZGUpIHtcbiAgbGV0IHBhcmVudE5vZGUgPSBub2RlLnBhcmVudDtcbiAgd2hpbGUgKHBhcmVudE5vZGUpIHtcbiAgICBpZiAocGFyZW50Tm9kZS5pZCA9PT0gUk9PVF9OT0RFX0lEKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZWZyZXNoU2VsZWN0aW9uU3RhdHVzKHBhcmVudE5vZGUpO1xuICAgIHBhcmVudE5vZGUgPSBwYXJlbnROb2RlLnBhcmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiByZWZyZXNoU2VsZWN0aW9uU3RhdHVzKG5vZGUpIHtcbiAgbGV0IGNoaWxkcmVuU2VsZWN0aW9uU3RhdHVzID0gbm9kZS5hbGxMZWFmQ2hpbGRyZW4ubWFwKG5vZGUgPT4gbm9kZS5zZWxlY3RlZCk7XG5cbiAgaWYgKGNoaWxkcmVuU2VsZWN0aW9uU3RhdHVzLmV2ZXJ5KHNlbGVjdGVkVmFsdWUgPT4gc2VsZWN0ZWRWYWx1ZSA9PT0gdHJ1ZSB8fCBzZWxlY3RlZFZhbHVlID09PSB1bmRlZmluZWQpKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNoaWxkcmVuU2VsZWN0aW9uU3RhdHVzLnNoaWZ0KCk7XG5cbiAgbGV0IG5vZGVTZWxlY3Rpb25TdGF0dXMgPSBjaGlsZHJlblNlbGVjdGlvblN0YXR1cy5yZWR1Y2UoKGEsIGIpID0+IHtcbiAgICBpZiAoYSA9PT0gYikge1xuICAgICAgcmV0dXJuIGE7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH0pO1xuXG4gIG5vZGUuc2VsZWN0VGhpc05vZGUobm9kZVNlbGVjdGlvblN0YXR1cyk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBzZWxlY3RlZCBub2RlIGlzIGEgY2hpbGQgb2YgdGhlIHRhcmdldCBwb3NpdGlvbi5cbiAqIEBwYXJhbSBzZWxlY3RlZE5vZGVcbiAqIEBwYXJhbSB0YXJnZXROb2RlXG4gKi9cbmZ1bmN0aW9uIGlzU2VsZWN0aW9uUGFyZW50T2ZUYXJnZXQoc2VsZWN0ZWROb2RlLCB0YXJnZXROb2RlKTogYm9vbGVhbiB7XG4gIGNvbnN0IGNoaWxkcmVuID0gc2VsZWN0ZWROb2RlLmNoaWxkcmVuQWZ0ZXJHcm91cDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgIGlmICh0YXJnZXROb2RlICYmIGNoaWxkcmVuW2ldLmtleSA9PT0gdGFyZ2V0Tm9kZS5rZXkpIHJldHVybiB0cnVlO1xuICAgIGlzU2VsZWN0aW9uUGFyZW50T2ZUYXJnZXQoY2hpbGRyZW5baV0sIHRhcmdldE5vZGUpO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqIHRoaXMgdXBkYXRlcyB0aGUgZmlsZVBhdGggbG9jYXRpb25zIGluIG91ciBkYXRhLCB3ZSB1cGRhdGUgdGhlIGRhdGFcbiBiZWZvcmUgd2Ugc2VuZCBpdCB0byBhZy1HcmlkXG4gKi9cbmZ1bmN0aW9uIG1vdmVUb1BhdGgobmV3UGFyZW50UGF0aCwgeyBkYXRhLCBjaGlsZHJlbkFmdGVyR3JvdXAgfSwgYWxsVXBkYXRlZE5vZGVzLCBpZEtleTogc3RyaW5nKSB7XG4gIC8vIGxhc3QgcGFydCBvZiB0aGUgZmlsZSBwYXRoIGlzIHRoZSBmaWxlIG5hbWVcbiAgY29uc3QgbmV3Q2hpbGRQYXRoID0gbmV3UGFyZW50UGF0aC5zbGljZSgpO1xuXG4gIGRhdGFbZ3JpZFRyZWVGaWxlUGF0aEtleV0gPSBuZXdDaGlsZFBhdGg7XG5cbiAgYWxsVXBkYXRlZE5vZGVzLnB1c2goZGF0YSk7XG5cbiAgaWYgKHNpemUoY2hpbGRyZW5BZnRlckdyb3VwKSA+IDApIHtcbiAgICBjaGlsZHJlbkFmdGVyR3JvdXAuZm9yRWFjaChmdW5jdGlvbihjaGlsZE5vZGUpIHtcbiAgICAgIG1vdmVUb1BhdGgoWy4uLm5ld0NoaWxkUGF0aCwgZGF0YVtpZEtleV1dLCBjaGlsZE5vZGUsIGFsbFVwZGF0ZWROb2RlcywgaWRLZXkpO1xuICAgIH0pO1xuICB9XG5cbiAgZGF0YVtncmlkVHJlZUZpbGVQYXRoS2V5XS5wdXNoKGRhdGFbaWRLZXldKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGRhdGEgaW50byB0cmVlIHNoYXBlZCBzdHJ1Y3R1cmUuXG4gKiBAcGFyYW0gZGF0YVxuICogQHBhcmFtIGdyaWRUcmVlQ29uZmlnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9UcmVlRGF0YTxUPihkYXRhOiBUW10sIGdyaWRUcmVlQ29uZmlnOiBEYXRvR3JpZFRyZWVDb25maWcpOiBUW10ge1xuICBjb25zdCB7IHBhcmVudElES2V5LCBpZEtleSB9ID0gZ3JpZFRyZWVDb25maWc7XG4gIGNvbnN0IGdlbmVyYXRlRmlsZVBhdGggPSAoaXRlbSwgaW5pdENoaWxkID0gZmFsc2UpOiBJRFtdID0+IHtcbiAgICBjb25zdCBwYXRoOiBJRFtdID0gaW5pdENoaWxkID8gW2l0ZW1baWRLZXldXSA6IFtdO1xuICAgIGNvbnN0IHBhcmVudEVudGl0eSA9IGRhdGEuZmluZChlbnRpdHkgPT4gZW50aXR5W2lkS2V5XSA9PT0gaXRlbVtwYXJlbnRJREtleV0pO1xuICAgIHBhdGgudW5zaGlmdChwYXJlbnRFbnRpdHlbaWRLZXldKTtcblxuICAgIGlmIChwYXJlbnRFbnRpdHlbcGFyZW50SURLZXldKSB7XG4gICAgICBjb25zdCBlbnRpdHlQYXRoID0gZ2VuZXJhdGVGaWxlUGF0aChwYXJlbnRFbnRpdHkpO1xuICAgICAgcGF0aC51bnNoaWZ0KC4uLmVudGl0eVBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiBwYXRoO1xuICB9O1xuXG4gIC8qKlxuICAgKiBXaGVuIHRoZXJlJ3Mgbm8gcGFyZW50SUQsIFNldCB0aGUgaXRlbSBpbiB0byByb290IG9mIHRoZSB0cmVlLlxuICAgKiBFbHNlLCBSZWN1cnNpdmVseSBjcmVhdGUgdGhlIHBhdGguXG4gICAqL1xuICByZXR1cm4gZGF0YS5tYXAoaXRlbSA9PiB7XG4gICAgaWYgKGl0ZW1bcGFyZW50SURLZXldKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICBbZ3JpZFRyZWVGaWxlUGF0aEtleV06IGdlbmVyYXRlRmlsZVBhdGgoaXRlbSwgdHJ1ZSlcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIFtncmlkVHJlZUZpbGVQYXRoS2V5XTogW2l0ZW1baWRLZXldXVxuICAgICAgfTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIENvbnZlcnQgdGhlIGdyaWRzIGRhdGEgZnJvbSB0cmVlIHNoYXBlIHRvIG9yaWdpbmFsIHNoYXBlLlxuICogQHBhcmFtIGRhdGFcbiAqIEBwYXJhbSBncmlkVHJlZUNvbmZpZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEZyb21UcmVlRGF0YTxUPihkYXRhOiBUW10sIGdyaWRUcmVlQ29uZmlnOiBEYXRvR3JpZFRyZWVDb25maWcpOiBUW10ge1xuICByZXR1cm4gZGF0YS5tYXAoKHsgLi4ucm93IH0pID0+IHtcbiAgICBjb25zdCBwYXRoOiBJRFtdID0gcm93W2dyaWRUcmVlRmlsZVBhdGhLZXldO1xuICAgIGNvbnN0IHBhcmVudElEOiBJRCA9IHNpemUocGF0aCkgPiAxID8gcGF0aFtwYXRoLmxlbmd0aCAtIDJdIDogMDtcbiAgICBkZWxldGUgcm93W2dyaWRUcmVlRmlsZVBhdGhLZXldO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5yb3csXG4gICAgICBbZ3JpZFRyZWVDb25maWcucGFyZW50SURLZXldOiBwYXJlbnRJRFxuICAgIH07XG4gIH0pO1xufVxuXG4vKipcbiAqIFJlZnJlc2ggZXhwYW5kZWQgLyBjb2xsYXBzZWQgcm93IGZvciB0aGUgZ3JpZCB0byBkZXRlY3RcbiAqIHRoZSBjaGFuZ2UuXG4gKiBAcGFyYW0gbm9kZVxuICovXG5mdW5jdGlvbiByb3dHcm91cE9wZW5lZCh7IG5vZGUgfSkge1xuICB0aGlzLmFwaS5yZWZyZXNoQ2VsbHMoeyBmb3JjZTogdHJ1ZSwgcm93Tm9kZXM6IFtub2RlXSB9KTtcbn1cbiJdfQ==
|
|
@@ -142,7 +142,7 @@ var DatoGridColumnHeaderComponent = /** @class */ (function () {
|
|
|
142
142
|
Component({
|
|
143
143
|
selector: 'dato-grid-column-header',
|
|
144
144
|
template: "<div class=\"d-flex align-start-center\" [attr.data-auto-id]=\"field + '-column-header'\" [attr.data-field]=\"field\">\n <ng-container *ngIf=\"customTemplates && customTemplates.customHeader as customHeader\">\n <div class=\"mr-5\" [attr.data-auto-id]=\"field + '-dynamic-section'\">\n <ng-container *ngTemplateOutlet=\"customHeader; context: context\"></ng-container>\n </div>\n </ng-container>\n <div class=\"d-flex d-flex-grow align-start-center min-width-0 items-center\">\n <span class=\"dato-simple-bold primary-400-color ellipsis min-width-0 mr-5\" [datoTooltip]=\"headerTooltip\"\n datoTooltipPosition=\"bottom\">{{headerName}}</span>\n <div>\n <dato-icon class=\"primary-300-color\" *ngIf=\"headerInfo\" [datoTooltip]=\"headerInfo\" datoTooltipPosition=\"bottom\" datoIcon=\"question\"></dato-icon>\n </div>\n </div>\n <div class=\"sort-icon opacity-0\" *ngIf=\"params.enableSorting && (sortingInfo$ | async) as sortingInfo\"\n [class.active]=\"sortingInfo.active\">\n <dato-icon width=\"24px\" height=\"16px\" class=\"primary-300-color\"\n [attr.data-auto-id]=\"field + '-sort'\"\n [icon]=\"sortingInfo.icon\"></dato-icon>\n </div>\n <ng-container *ngIf=\"showFilter\">\n <div class=\"filter relative\" *datoSubscribe=\"filterActive$ as filterActive\">\n <dato-icon-button (click.stop)=\"openFilters(filters)\" datoTooltip=\"core.filters\" datoTooltipPosition=\"bottom\"\n datoType=\"none\" [attr.data-auto-id]=\"field + '-filter'\" class=\"filter-icon opacity-0\"\n [class.active]=\"filtersMenuOpen || filterActive\"\n datoSize=\"md\" icon=\"filter\"\n #filters></dato-icon-button>\n <div [class.opacity-100]=\"filterActive\"\n class=\"opacity-0 filter-active-circle accent-400-background-color absolute\"></div>\n </div>\n </ng-container>\n <dato-icon-button *ngIf=\"showMoreMenu\" (click.stop)=\"openMoreMenu(moreMenu)\" datoTooltip=\"core.more-options\" datoTooltipPosition=\"bottom\"\n datoType=\"none\" [attr.data-auto-id]=\"field + '-more-menu'\" [class.active]=\"moreMenuOpen\"\n datoSize=\"md\" icon=\"more-vertical\" #moreMenu></dato-icon-button>\n</div>\n",
|
|
145
|
-
styles: [":host .filter-icon,:host .sort-icon{transition:opacity .25s linear,width .25s ease-in-out;width:0}:host .sort-icon{height:16px}:host .filter-icon.active,:host .sort-icon.active{opacity:1;width:24px}:host:hover .filter-icon,:host:hover .sort-icon{opacity:1;width:24px}:host .filter-active-circle{pointer-events:none;transition:opacity .2s ease-in-out;position:absolute;height:8px;width:8px;top:2px;right:2px;border-radius:4px;border:1px solid #fff}:host ::ng-deep .filter dato-icon-button dato-icon{transition:color .2s ease-in-out}"]
|
|
145
|
+
styles: [":host{width:100%}:host .filter-icon,:host .sort-icon{transition:opacity .25s linear,width .25s ease-in-out;width:0}:host .sort-icon{height:16px}:host .filter-icon.active,:host .sort-icon.active{opacity:1;width:24px}:host:hover .filter-icon,:host:hover .sort-icon{opacity:1;width:24px}:host .filter-active-circle{pointer-events:none;transition:opacity .2s ease-in-out;position:absolute;height:8px;width:8px;top:2px;right:2px;border-radius:4px;border:1px solid #fff}:host ::ng-deep .filter dato-icon-button dato-icon{transition:color .2s ease-in-out}"]
|
|
146
146
|
}),
|
|
147
147
|
__metadata("design:paramtypes", [ViewContainerRef,
|
|
148
148
|
CustomHeaderControllerService,
|