@magic-xpa/angular-material-core 4.1100.0-dev4110.106 → 4.1100.0-dev4110.109

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.
Files changed (23) hide show
  1. package/esm2020/index.mjs +9 -2
  2. package/esm2020/src/angular-material.module.mjs +83 -0
  3. package/esm2020/src/components/base-mat-table-magic.component.mjs +54 -0
  4. package/esm2020/src/directives/magic/form-controls/mat-magic-autocomplete.directive.mjs +28 -0
  5. package/esm2020/src/directives/magic/form-controls/mat-magic-checkbox.directive.mjs +16 -0
  6. package/esm2020/src/directives/magic/form-controls/mat-magic-combobox.directive.mjs +30 -0
  7. package/esm2020/src/directives/magic/form-controls/mat-magic-listbox.directive.mjs +26 -0
  8. package/esm2020/src/services/mat.magic.providers.mjs +7 -0
  9. package/esm2020/src/services/mattable.magic.service.mjs +127 -0
  10. package/fesm2015/magic-xpa-angular-material-core.mjs +365 -0
  11. package/fesm2015/magic-xpa-angular-material-core.mjs.map +1 -1
  12. package/fesm2020/magic-xpa-angular-material-core.mjs +340 -0
  13. package/fesm2020/magic-xpa-angular-material-core.mjs.map +1 -1
  14. package/index.d.ts +8 -1
  15. package/package.json +2 -2
  16. package/src/angular-material.module.d.ts +26 -0
  17. package/src/components/base-mat-table-magic.component.d.ts +19 -0
  18. package/src/directives/magic/form-controls/mat-magic-autocomplete.directive.d.ts +7 -0
  19. package/src/directives/magic/form-controls/mat-magic-checkbox.directive.d.ts +6 -0
  20. package/src/directives/magic/form-controls/mat-magic-combobox.directive.d.ts +9 -0
  21. package/src/directives/magic/form-controls/mat-magic-listbox.directive.d.ts +9 -0
  22. package/src/services/mat.magic.providers.d.ts +38 -0
  23. package/src/services/mattable.magic.service.d.ts +36 -0
package/esm2020/index.mjs CHANGED
@@ -1,2 +1,9 @@
1
- export * from "./index";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLWNvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IGJhcnJlbHNieS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9pbmRleFwiO1xuIl19
1
+ export * from "./src/angular-material.module";
2
+ export * from "./src/components/base-mat-table-magic.component";
3
+ export * from "./src/directives/magic/form-controls/mat-magic-autocomplete.directive";
4
+ export * from "./src/directives/magic/form-controls/mat-magic-checkbox.directive";
5
+ export * from "./src/directives/magic/form-controls/mat-magic-combobox.directive";
6
+ export * from "./src/directives/magic/form-controls/mat-magic-listbox.directive";
7
+ export * from "./src/services/mat.magic.providers";
8
+ export * from "./src/services/mattable.magic.service";
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLWNvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsdUVBQXVFLENBQUM7QUFDdEYsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2FuZ3VsYXItbWF0ZXJpYWwubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvY29tcG9uZW50cy9iYXNlLW1hdC10YWJsZS1tYWdpYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9kaXJlY3RpdmVzL21hZ2ljL2Zvcm0tY29udHJvbHMvbWF0LW1hZ2ljLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9kaXJlY3RpdmVzL21hZ2ljL2Zvcm0tY29udHJvbHMvbWF0LW1hZ2ljLWNoZWNrYm94LmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2RpcmVjdGl2ZXMvbWFnaWMvZm9ybS1jb250cm9scy9tYXQtbWFnaWMtY29tYm9ib3guZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zcmMvZGlyZWN0aXZlcy9tYWdpYy9mb3JtLWNvbnRyb2xzL21hdC1tYWdpYy1saXN0Ym94LmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL3NlcnZpY2VzL21hdC5tYWdpYy5wcm92aWRlcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9zZXJ2aWNlcy9tYXR0YWJsZS5tYWdpYy5zZXJ2aWNlXCI7XG4iXX0=
@@ -0,0 +1,83 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatCheckboxDirective } from './directives/magic/form-controls/mat-magic-checkbox.directive';
5
+ import { MatComboboxDirective } from './directives/magic/form-controls/mat-magic-combobox.directive';
6
+ import { BaseMatTableMagicComponent } from './components/base-mat-table-magic.component';
7
+ import { MatListboxDirective } from './directives/magic/form-controls/mat-magic-listbox.directive';
8
+ import { MatTableModule } from '@angular/material/table';
9
+ import { MatPaginatorModule } from '@angular/material/paginator';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { MatButtonModule } from '@angular/material/button';
12
+ import { MatListModule } from '@angular/material/list';
13
+ import { MatCheckboxModule } from '@angular/material/checkbox';
14
+ import { MatTabsModule } from '@angular/material/tabs';
15
+ import { MatSelectModule } from '@angular/material/select';
16
+ import { MatDatepickerModule } from '@angular/material/datepicker';
17
+ import { MatNativeDateModule } from '@angular/material/core';
18
+ import { MagicModule } from '@magic-xpa/angular';
19
+ import { MatMagicAutocompleteDirective } from './directives/magic/form-controls/mat-magic-autocomplete.directive';
20
+ import * as i0 from "@angular/core";
21
+ export const materialModules = [
22
+ MatTableModule,
23
+ MatPaginatorModule,
24
+ MatInputModule,
25
+ MatButtonModule,
26
+ MatListModule,
27
+ MatCheckboxModule,
28
+ MatTabsModule,
29
+ MatSelectModule,
30
+ MatDatepickerModule,
31
+ MatNativeDateModule,
32
+ ];
33
+ export class MagicAngularMaterialModule {
34
+ }
35
+ MagicAngularMaterialModule.ɵfac = function MagicAngularMaterialModule_Factory(t) { return new (t || MagicAngularMaterialModule)(); };
36
+ MagicAngularMaterialModule.ɵmod = i0.ɵɵdefineNgModule({ type: MagicAngularMaterialModule });
37
+ MagicAngularMaterialModule.ɵinj = i0.ɵɵdefineInjector({ imports: [CommonModule,
38
+ FormsModule, materialModules, MagicModule] });
39
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MagicAngularMaterialModule, [{
40
+ type: NgModule,
41
+ args: [{
42
+ declarations: [
43
+ MatCheckboxDirective,
44
+ MatComboboxDirective,
45
+ MatListboxDirective,
46
+ MatMagicAutocompleteDirective,
47
+ BaseMatTableMagicComponent,
48
+ ],
49
+ exports: [
50
+ MatCheckboxDirective,
51
+ MatComboboxDirective,
52
+ MatListboxDirective,
53
+ MatMagicAutocompleteDirective,
54
+ BaseMatTableMagicComponent
55
+ ],
56
+ imports: [
57
+ CommonModule,
58
+ FormsModule,
59
+ ...materialModules,
60
+ MagicModule
61
+ ]
62
+ }]
63
+ }], null, null); })();
64
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MagicAngularMaterialModule, { declarations: [MatCheckboxDirective,
65
+ MatComboboxDirective,
66
+ MatListboxDirective,
67
+ MatMagicAutocompleteDirective,
68
+ BaseMatTableMagicComponent], imports: [CommonModule,
69
+ FormsModule, MatTableModule,
70
+ MatPaginatorModule,
71
+ MatInputModule,
72
+ MatButtonModule,
73
+ MatListModule,
74
+ MatCheckboxModule,
75
+ MatTabsModule,
76
+ MatSelectModule,
77
+ MatDatepickerModule,
78
+ MatNativeDateModule, MagicModule], exports: [MatCheckboxDirective,
79
+ MatComboboxDirective,
80
+ MatListboxDirective,
81
+ MatMagicAutocompleteDirective,
82
+ BaseMatTableMagicComponent] }); })();
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tYXRlcmlhbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLWNvcmUvc3JjL2FuZ3VsYXItbWF0ZXJpYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7O0FBTWxILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxlQUFlO0lBQ2YsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQixtQkFBbUI7Q0FDcEIsQ0FBQztBQTJCRixNQUFNLE9BQU8sMEJBQTBCOztvR0FBMUIsMEJBQTBCOzhEQUExQiwwQkFBMEI7a0VBTm5DLFlBQVk7UUFDWixXQUFXLEVBQ1IsZUFBZSxFQUNsQixXQUFXO3VGQUdGLDBCQUEwQjtjQXRCdEMsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixvQkFBb0I7b0JBQ3BCLG9CQUFvQjtvQkFDcEIsbUJBQW1CO29CQUNuQiw2QkFBNkI7b0JBQzdCLDBCQUEwQjtpQkFDM0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLG9CQUFvQjtvQkFDcEIsb0JBQW9CO29CQUNwQixtQkFBbUI7b0JBQ25CLDZCQUE2QjtvQkFDN0IsMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLEdBQUcsZUFBZTtvQkFDbEIsV0FBVztpQkFDWjthQUNGOzt3RkFDWSwwQkFBMEIsbUJBcEJuQyxvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQiw2QkFBNkI7UUFDN0IsMEJBQTBCLGFBVTFCLFlBQVk7UUFDWixXQUFXLEVBaENiLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGVBQWU7UUFDZixhQUFhO1FBQ2IsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLG1CQUFtQixFQXlCakIsV0FBVyxhQVZYLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLDZCQUE2QjtRQUM3QiwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL21hZ2ljL2Zvcm0tY29udHJvbHMvbWF0LW1hZ2ljLWNoZWNrYm94LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdENvbWJvYm94RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL21hZ2ljL2Zvcm0tY29udHJvbHMvbWF0LW1hZ2ljLWNvbWJvYm94LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJhc2VNYXRUYWJsZU1hZ2ljQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhc2UtbWF0LXRhYmxlLW1hZ2ljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdExpc3Rib3hEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbWFnaWMvZm9ybS1jb250cm9scy9tYXQtbWFnaWMtbGlzdGJveC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXROYXRpdmVEYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hZ2ljTW9kdWxlIH0gZnJvbSAnQG1hZ2ljLXhwYS9hbmd1bGFyJztcclxuaW1wb3J0IHsgTWF0TWFnaWNBdXRvY29tcGxldGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbWFnaWMvZm9ybS1jb250cm9scy9tYXQtbWFnaWMtYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmV4cG9ydCBjb25zdCBtYXRlcmlhbE1vZHVsZXMgPSBbXHJcbiAgTWF0VGFibGVNb2R1bGUsXHJcbiAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gIE1hdElucHV0TW9kdWxlLFxyXG4gIE1hdEJ1dHRvbk1vZHVsZSxcclxuICBNYXRMaXN0TW9kdWxlLFxyXG4gIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gIE1hdFRhYnNNb2R1bGUsXHJcbiAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcclxuXTtcclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTWF0Q2hlY2tib3hEaXJlY3RpdmUsXHJcbiAgICBNYXRDb21ib2JveERpcmVjdGl2ZSxcclxuICAgIE1hdExpc3Rib3hEaXJlY3RpdmUsXHJcbiAgICBNYXRNYWdpY0F1dG9jb21wbGV0ZURpcmVjdGl2ZSxcclxuICAgIEJhc2VNYXRUYWJsZU1hZ2ljQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTWF0Q2hlY2tib3hEaXJlY3RpdmUsXHJcbiAgICBNYXRDb21ib2JveERpcmVjdGl2ZSxcclxuICAgIE1hdExpc3Rib3hEaXJlY3RpdmUsXHJcbiAgICBNYXRNYWdpY0F1dG9jb21wbGV0ZURpcmVjdGl2ZSxcclxuICAgIEJhc2VNYXRUYWJsZU1hZ2ljQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIC4uLm1hdGVyaWFsTW9kdWxlcyxcclxuICAgIE1hZ2ljTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFnaWNBbmd1bGFyTWF0ZXJpYWxNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,54 @@
1
+ import { MagicServices, TaskBaseMagicComponent } from '@magic-xpa/angular';
2
+ import { MatSort } from '@angular/material/sort';
3
+ import { MatTableDataSource } from '@angular/material/table';
4
+ import { SelectionModel } from '@angular/cdk/collections';
5
+ import { ChangeDetectorRef, Component, ViewChild } from '@angular/core';
6
+ import { matMagicProviders } from '../services/mat.magic.providers';
7
+ import { MatPaginator } from '@angular/material/paginator';
8
+ import { isNullOrUndefined } from '@magic-xpa/mscorelib';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@magic-xpa/angular";
11
+ export class BaseMatTableMagicComponent extends TaskBaseMagicComponent {
12
+ constructor(ref, magicService) {
13
+ super(ref, magicService);
14
+ this.ref = ref;
15
+ this.magicService = magicService;
16
+ this.displayedColumns = [];
17
+ this.dataSource = new MatTableDataSource(this.task.Records.list);
18
+ this.selection = new SelectionModel(false, []);
19
+ }
20
+ ngOnInit() {
21
+ super.ngOnInit();
22
+ this.magicService.tableService.connect(this.dataSource, this.paginator, this.selection);
23
+ }
24
+ ngAfterContentChecked() {
25
+ if (!isNullOrUndefined(this.paginator) && !isNullOrUndefined(this.paginator.pageSize) &&
26
+ this.paginator.pageSize != this.task.oldPageSize) {
27
+ this.magicService.tableService.handleResize(this.paginator.pageIndex, 0, this.paginator.pageSize);
28
+ this.task.oldPageSize = this.paginator.pageSize;
29
+ }
30
+ }
31
+ }
32
+ BaseMatTableMagicComponent.ɵfac = function BaseMatTableMagicComponent_Factory(t) { return new (t || BaseMatTableMagicComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MagicServices)); };
33
+ BaseMatTableMagicComponent.ɵcmp = i0.ɵɵdefineComponent({ type: BaseMatTableMagicComponent, selectors: [["ng-component"]], viewQuery: function BaseMatTableMagicComponent_Query(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵviewQuery(MatPaginator, 7);
35
+ i0.ɵɵviewQuery(MatSort, 7);
36
+ } if (rf & 2) {
37
+ let _t;
38
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.paginator = _t.first);
39
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sort = _t.first);
40
+ } }, features: [i0.ɵɵProvidersFeature(matMagicProviders), i0.ɵɵInheritDefinitionFeature], decls: 0, vars: 0, template: function BaseMatTableMagicComponent_Template(rf, ctx) { }, encapsulation: 2 });
41
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseMatTableMagicComponent, [{
42
+ type: Component,
43
+ args: [{
44
+ providers: matMagicProviders,
45
+ template: ''
46
+ }]
47
+ }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MagicServices }]; }, { paginator: [{
48
+ type: ViewChild,
49
+ args: [MatPaginator, { static: true }]
50
+ }], sort: [{
51
+ type: ViewChild,
52
+ args: [MatSort, { static: true }]
53
+ }] }); })();
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tYXQtdGFibGUtbWFnaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1tYXRlcmlhbC1jb3JlL3NyYy9jb21wb25lbnRzL2Jhc2UtbWF0LXRhYmxlLW1hZ2ljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQVV4RCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsc0JBQXNCO0lBK0JyRSxZQUNZLEdBQXNCLEVBQ3pCLFlBQTJCO1FBR2xDLEtBQUssQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFKZixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN6QixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUtsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQVMsSUFBSSxrQkFBa0IsQ0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsU0FBUyxHQUFVLElBQUksY0FBYyxDQUFjLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBS0QsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQWtDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUtELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7WUFDbkYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFrQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6SCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztTQUNqRDtJQUNILENBQUM7O29HQTVEVywwQkFBMEI7K0RBQTFCLDBCQUEwQjt1QkFLM0IsWUFBWTt1QkFLWixPQUFPOzs7OzswQ0FkUCxpQkFBaUI7dUZBSWhCLDBCQUEwQjtjQUx2QyxTQUFTO2VBQUM7Z0JBQ1QsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsUUFBUSxFQUFFLEVBQUU7YUFFYjtnR0FNeUMsU0FBUztrQkFBaEQsU0FBUzttQkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDO1lBS0gsSUFBSTtrQkFBdEMsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFnaWNTZXJ2aWNlcywgVGFza0Jhc2VNYWdpY0NvbXBvbmVudCB9IGZyb20gJ0BtYWdpYy14cGEvYW5ndWxhcic7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZ01hdFRhYmxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21hdHRhYmxlLm1hZ2ljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBtYXRNYWdpY1Byb3ZpZGVycyB9IGZyb20gJy4uL3NlcnZpY2VzL21hdC5tYWdpYy5wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCBpcyB0aGUgYmFzZSBjb21wb25lbnQgZm9yIGZvcm1zIHdoaWNoIGhhcyBhIG1hdGVyaWFsLWRlc2lnbiB0YWJsZSAoZ3JpZClcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHByb3ZpZGVyczogbWF0TWFnaWNQcm92aWRlcnMsXHJcbiAgdGVtcGxhdGU6ICcnXHJcblxyXG59KVxyXG4gZXhwb3J0IGNsYXNzIEJhc2VNYXRUYWJsZU1hZ2ljQ29tcG9uZW50IGV4dGVuZHMgVGFza0Jhc2VNYWdpY0NvbXBvbmVudCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFBhZ2luYXRvciB0byBlbmFibGUgY2hhbmdpbmcgcGFnZXMgaW4gdGhlIHRhYmxlXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHtzdGF0aWM6dHJ1ZX0pIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG5cclxuICAvKipcclxuICAgKiBQcm92aWRlcyB0aGUgdGFibGUgc29ydCBjYXBhYmlsaXRpZXNcclxuICAgKi9cclxuICBAVmlld0NoaWxkKE1hdFNvcnQsIHtzdGF0aWM6dHJ1ZX0pIHNvcnQ6IE1hdFNvcnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3Qgb2YgdGFibGUgY29sdW1ucyB0byBiZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICBkaXNwbGF5ZWRDb2x1bW5zO1xyXG5cclxuICAvKipcclxuICAgKiBUYWJsZSBkYXRhIHNvdXJjZVxyXG4gICAqL1xyXG4gIGRhdGFTb3VyY2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIFByb3ZpZGVzIHNlbGVjdGlvbiBvcHRpb25zIGZvciB0aGUgdGFibGVcclxuICAgKi9cclxuICBzZWxlY3Rpb247XHJcblxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBtYWdpY1NlcnZpY2U6IE1hZ2ljU2VydmljZXMsXHJcbiAgICApIHtcclxuXHJcbiAgICBzdXBlcihyZWYsIG1hZ2ljU2VydmljZSk7XHJcblxyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gW107XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgICAgICAgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlIDwgRWxlbWVudCA+ICh0aGlzLnRhc2suUmVjb3Jkcy5saXN0KTtcclxuICAgIHRoaXMuc2VsZWN0aW9uICAgICAgICA9IG5ldyBTZWxlY3Rpb25Nb2RlbCA8IEVsZW1lbnQgPiAoZmFsc2UsIFtdKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVyXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgKHRoaXMubWFnaWNTZXJ2aWNlLnRhYmxlU2VydmljZSBhcyBNZ01hdFRhYmxlU2VydmljZSkuY29ubmVjdCh0aGlzLmRhdGFTb3VyY2UsIHRoaXMucGFnaW5hdG9yLCB0aGlzLnNlbGVjdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZnRlckNvbnRlbnRDaGVja2VkIGltcGxlbWVudGF0aW9uXHJcbiAgICovXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xyXG4gICAgaWYgKCFpc051bGxPclVuZGVmaW5lZCh0aGlzLnBhZ2luYXRvcikgJiYgIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplKSAmJlxyXG4gICAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSAhPSB0aGlzLnRhc2sub2xkUGFnZVNpemUpIHtcclxuICAgICAgKHRoaXMubWFnaWNTZXJ2aWNlLnRhYmxlU2VydmljZSBhcyBNZ01hdFRhYmxlU2VydmljZSkuaGFuZGxlUmVzaXplKHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCwgMCwgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUpO1xyXG4gICAgICB0aGlzLnRhc2sub2xkUGFnZVNpemUgPSB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,28 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import { MagicDirective } from '@magic-xpa/angular';
3
+ import * as i0 from "@angular/core";
4
+ export class MatMagicAutocompleteDirective {
5
+ onOpenedChanged($event) {
6
+ MagicDirective.noOfAutoCompleteBoxesOpened++;
7
+ }
8
+ onClosedChanged($event) {
9
+ MagicDirective.noOfAutoCompleteBoxesOpened--;
10
+ }
11
+ }
12
+ MatMagicAutocompleteDirective.ɵfac = function MatMagicAutocompleteDirective_Factory(t) { return new (t || MatMagicAutocompleteDirective)(); };
13
+ MatMagicAutocompleteDirective.ɵdir = i0.ɵɵdefineDirective({ type: MatMagicAutocompleteDirective, selectors: [["mat-autocomplete", "magic", ""]], hostBindings: function MatMagicAutocompleteDirective_HostBindings(rf, ctx) { if (rf & 1) {
14
+ i0.ɵɵlistener("opened", function MatMagicAutocompleteDirective_opened_HostBindingHandler($event) { return ctx.onOpenedChanged($event); })("closed", function MatMagicAutocompleteDirective_closed_HostBindingHandler($event) { return ctx.onClosedChanged($event); });
15
+ } } });
16
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MatMagicAutocompleteDirective, [{
17
+ type: Directive,
18
+ args: [{
19
+ selector: 'mat-autocomplete[magic]'
20
+ }]
21
+ }], null, { onOpenedChanged: [{
22
+ type: HostListener,
23
+ args: ['opened', ['$event']]
24
+ }], onClosedChanged: [{
25
+ type: HostListener,
26
+ args: ['closed', ['$event']]
27
+ }] }); })();
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LW1hZ2ljLWF1dG9jb21wbGV0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLWNvcmUvc3JjL2RpcmVjdGl2ZXMvbWFnaWMvZm9ybS1jb250cm9scy9tYXQtbWFnaWMtYXV0b2NvbXBsZXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBU3BELE1BQU0sT0FBTyw2QkFBNkI7SUFHeEMsZUFBZSxDQUFDLE1BQU07UUFDbkIsY0FBYyxDQUFDLDJCQUEyQixFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUdELGVBQWUsQ0FBQyxNQUFNO1FBQ25CLGNBQWMsQ0FBQywyQkFBMkIsRUFBRSxDQUFDO0lBQ2hELENBQUM7OzBHQVZVLDZCQUE2QjtrRUFBN0IsNkJBQTZCO2tIQUE3QiwyQkFBdUIsaUdBQXZCLDJCQUF1Qjs7dUZBQXZCLDZCQUE2QjtjQUp6QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUNOLHlCQUF5QjthQUM1QjtnQkFJQyxlQUFlO2tCQURkLFlBQVk7bUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBTWxDLGVBQWU7a0JBRGQsWUFBWTttQkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYWdpY0RpcmVjdGl2ZSB9IGZyb20gJ0BtYWdpYy14cGEvYW5ndWxhcic7XHJcblxyXG4vKipcclxuICogRGlyZWN0aXZlIGZvciBtYXRlcmlhbC1kZXNpZ24gYXV0b2NvbXBsZXRlIG5vdCBvbiBtYXRlcmlhbC1kZXNpZ24gdGFibGVcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOlxyXG4gICAgJ21hdC1hdXRvY29tcGxldGVbbWFnaWNdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0TWFnaWNBdXRvY29tcGxldGVEaXJlY3RpdmUge1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdvcGVuZWQnLCBbJyRldmVudCddKVxyXG4gIG9uT3BlbmVkQ2hhbmdlZCgkZXZlbnQpIHtcclxuICAgICBNYWdpY0RpcmVjdGl2ZS5ub09mQXV0b0NvbXBsZXRlQm94ZXNPcGVuZWQrKztcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2Nsb3NlZCcsIFsnJGV2ZW50J10pXHJcbiAgb25DbG9zZWRDaGFuZ2VkKCRldmVudCkge1xyXG4gICAgIE1hZ2ljRGlyZWN0aXZlLm5vT2ZBdXRvQ29tcGxldGVCb3hlc09wZW5lZC0tO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Directive } from "@angular/core";
2
+ import { CheckboxMagicDirective } from "@magic-xpa/angular";
3
+ import * as i0 from "@angular/core";
4
+ export class MatCheckboxDirective extends CheckboxMagicDirective {
5
+ }
6
+ MatCheckboxDirective.ɵfac = function () { let ɵMatCheckboxDirective_BaseFactory; return function MatCheckboxDirective_Factory(t) { return (ɵMatCheckboxDirective_BaseFactory || (ɵMatCheckboxDirective_BaseFactory = i0.ɵɵgetInheritedFactory(MatCheckboxDirective)))(t || MatCheckboxDirective); }; }();
7
+ MatCheckboxDirective.ɵdir = i0.ɵɵdefineDirective({ type: MatCheckboxDirective, selectors: [["mat-checkbox", "magic", "", 3, "noFormControl", ""]], features: [i0.ɵɵInheritDefinitionFeature] });
8
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MatCheckboxDirective, [{
9
+ type: Directive,
10
+ args: [{
11
+ selector: `
12
+ mat-checkbox[magic]:not([noFormControl])
13
+ `,
14
+ }]
15
+ }], null, null); })();
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LW1hZ2ljLWNoZWNrYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtY29yZS9zcmMvZGlyZWN0aXZlcy9tYWdpYy9mb3JtLWNvbnRyb2xzL21hdC1tYWdpYy1jaGVja2JveC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFZNUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHNCQUFzQjs7OE9BQW5ELG9CQUFvQixTQUFwQixvQkFBb0I7eURBQXBCLG9CQUFvQjt1RkFBcEIsb0JBQW9CO2NBTmhDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQ047O0tBRUM7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENoZWNrYm94TWFnaWNEaXJlY3RpdmUgfSBmcm9tIFwiQG1hZ2ljLXhwYS9hbmd1bGFyXCI7XHJcblxyXG5cclxuLyoqXHJcbiAqIERpcmVjdGl2ZSBmb3IgbWF0ZXJpYWwtZGVzaWduIGNoZWNrYm94ZXMgbm90IG9uIG1hdGVyaWFsLWRlc2lnbiB0YWJsZVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6XHJcbiAgICBgXHJcbiAgICBtYXQtY2hlY2tib3hbbWFnaWNdOm5vdChbbm9Gb3JtQ29udHJvbF0pXHJcbiAgICBgLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0Q2hlY2tib3hEaXJlY3RpdmUgZXh0ZW5kcyBDaGVja2JveE1hZ2ljRGlyZWN0aXZlIHtcclxuXHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Directive, HostListener } from "@angular/core";
2
+ import { ComboboxMagicDirective, MagicDirective } from "@magic-xpa/angular";
3
+ import * as i0 from "@angular/core";
4
+ export class MatComboboxDirective extends ComboboxMagicDirective {
5
+ onChange($event) {
6
+ super.onChange($event);
7
+ }
8
+ onOpenedChanged($event) {
9
+ MagicDirective.opened = $event;
10
+ }
11
+ onComboboxItemsListChanged() {
12
+ }
13
+ }
14
+ MatComboboxDirective.ɵfac = function () { let ɵMatComboboxDirective_BaseFactory; return function MatComboboxDirective_Factory(t) { return (ɵMatComboboxDirective_BaseFactory || (ɵMatComboboxDirective_BaseFactory = i0.ɵɵgetInheritedFactory(MatComboboxDirective)))(t || MatComboboxDirective); }; }();
15
+ MatComboboxDirective.ɵdir = i0.ɵɵdefineDirective({ type: MatComboboxDirective, selectors: [["mat-select", "magic", ""]], hostBindings: function MatComboboxDirective_HostBindings(rf, ctx) { if (rf & 1) {
16
+ i0.ɵɵlistener("selectionChange", function MatComboboxDirective_selectionChange_HostBindingHandler($event) { return ctx.onChange($event); })("openedChange", function MatComboboxDirective_openedChange_HostBindingHandler($event) { return ctx.onOpenedChanged($event); });
17
+ } }, features: [i0.ɵɵInheritDefinitionFeature] });
18
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MatComboboxDirective, [{
19
+ type: Directive,
20
+ args: [{
21
+ selector: `mat-select[magic]`,
22
+ }]
23
+ }], null, { onChange: [{
24
+ type: HostListener,
25
+ args: ['selectionChange', ['$event']]
26
+ }], onOpenedChanged: [{
27
+ type: HostListener,
28
+ args: ['openedChange', ['$event']]
29
+ }] }); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LW1hZ2ljLWNvbWJvYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtY29yZS9zcmMvZGlyZWN0aXZlcy9tYWdpYy9mb3JtLWNvbnRyb2xzL21hdC1tYWdpYy1jb21ib2JveC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFDLHNCQUFzQixFQUFFLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQVUxRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsc0JBQXNCO0lBTzlELFFBQVEsQ0FBQyxNQUFNO1FBQ2IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBR0QsZUFBZSxDQUFDLE1BQU07UUFDcEIsY0FBYyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUtELDBCQUEwQjtJQUMxQixDQUFDOzs4T0FwQlUsb0JBQW9CLFNBQXBCLG9CQUFvQjt5REFBcEIsb0JBQW9COzJIQUFwQixvQkFBZ0Isb0dBQWhCLDJCQUF1Qjs7dUZBQXZCLG9CQUFvQjtjQUpoQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUNOLG1CQUFtQjthQUN0QjtnQkFRQyxRQUFRO2tCQURQLFlBQVk7bUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFNM0MsZUFBZTtrQkFEZCxZQUFZO21CQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb21ib2JveE1hZ2ljRGlyZWN0aXZlLCBNYWdpY0RpcmVjdGl2ZX0gZnJvbSBcIkBtYWdpYy14cGEvYW5ndWxhclwiO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBEaXJlY3RpdmUgZm9yIG1hdGVyaWFsLWRlc2lnbiBjb21ib2JveGVzIG5vdCBvbiBtYXRlcmlhbC1kZXNpZ24gdGFibGVcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOlxyXG4gICAgYG1hdC1zZWxlY3RbbWFnaWNdYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdENvbWJvYm94RGlyZWN0aXZlIGV4dGVuZHMgQ29tYm9ib3hNYWdpY0RpcmVjdGl2ZSB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIFwic2VsZWN0aW9uQ2hhbmdlXCIgZXZlbnQgLSBwYXNzIGl0IHRvIHRoZSBcImNoYW5nZVwiIGV2ZW50IGhhbmRsZXJcclxuICAgKiBAcGFyYW0gJGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcignc2VsZWN0aW9uQ2hhbmdlJywgWyckZXZlbnQnXSlcclxuICBvbkNoYW5nZSgkZXZlbnQpIHtcclxuICAgIHN1cGVyLm9uQ2hhbmdlKCRldmVudCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdvcGVuZWRDaGFuZ2UnLCBbJyRldmVudCddKVxyXG4gIG9uT3BlbmVkQ2hhbmdlZCgkZXZlbnQpIHtcclxuICAgIE1hZ2ljRGlyZWN0aXZlLm9wZW5lZCA9ICRldmVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvciBtYXQtc2VsZWN0IGRvIG5vdGhpbmdcclxuICAgKi9cclxuICBvbkNvbWJvYm94SXRlbXNMaXN0Q2hhbmdlZCgpOiB2b2lkIHtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,26 @@
1
+ import { Directive, HostListener } from "@angular/core";
2
+ import { MagicDirective } from "@magic-xpa/angular";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@magic-xpa/angular";
5
+ export class MatListboxDirective {
6
+ constructor(magicDirective) {
7
+ this.magicDirective = magicDirective;
8
+ }
9
+ onChange($event) {
10
+ this.magicDirective.task.onListBoxSelectionChanged($event, this.magicDirective.id);
11
+ }
12
+ }
13
+ MatListboxDirective.ɵfac = function MatListboxDirective_Factory(t) { return new (t || MatListboxDirective)(i0.ɵɵdirectiveInject(i1.MagicDirective)); };
14
+ MatListboxDirective.ɵdir = i0.ɵɵdefineDirective({ type: MatListboxDirective, selectors: [["mat-selection-list", "magic", ""]], hostBindings: function MatListboxDirective_HostBindings(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵlistener("selectionChange", function MatListboxDirective_selectionChange_HostBindingHandler($event) { return ctx.onChange($event); });
16
+ } } });
17
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MatListboxDirective, [{
18
+ type: Directive,
19
+ args: [{
20
+ selector: `mat-selection-list[magic]`,
21
+ }]
22
+ }], function () { return [{ type: i1.MagicDirective }]; }, { onChange: [{
23
+ type: HostListener,
24
+ args: ['selectionChange', ['$event']]
25
+ }] }); })();
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LW1hZ2ljLWxpc3Rib3guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1tYXRlcmlhbC1jb3JlL3NyYy9kaXJlY3RpdmVzL21hZ2ljL2Zvcm0tY29udHJvbHMvbWF0LW1hZ2ljLWxpc3Rib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBVXBELE1BQU0sT0FBTyxtQkFBbUI7SUFFOUIsWUFBc0IsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQ3BELENBQUM7SUFPRCxRQUFRLENBQUMsTUFBTTtRQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7O3NGQVpVLG1CQUFtQjt3REFBbkIsbUJBQW1COzBIQUFuQixvQkFBZ0I7O3VGQUFoQixtQkFBbUI7Y0FKL0IsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFDTiwyQkFBMkI7YUFDOUI7aUVBV0MsUUFBUTtrQkFEUCxZQUFZO21CQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYWdpY0RpcmVjdGl2ZSB9IGZyb20gXCJAbWFnaWMteHBhL2FuZ3VsYXJcIjtcclxuXHJcblxyXG4vKipcclxuICogRGlyZWN0aXZlIGZvciBtYXRlcmlhbC1kZXNpZ24gbGlzdGJveGVzIG5vdCBvbiBtYXRlcmlhbC1kZXNpZ24gdGFibGVcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOlxyXG4gICAgYG1hdC1zZWxlY3Rpb24tbGlzdFttYWdpY11gLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0TGlzdGJveERpcmVjdGl2ZXtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG1hZ2ljRGlyZWN0aXZlOiBNYWdpY0RpcmVjdGl2ZSkge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyB0aGUgXCJzZWxlY3Rpb25DaGFuZ2VcIiBldmVudCAtIHBhc3MgaXQgdG8gdGhlIFwiY2hhbmdlXCIgZXZlbnQgaGFuZGxlclxyXG4gICAqIEBwYXJhbSAkZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdzZWxlY3Rpb25DaGFuZ2UnLCBbJyRldmVudCddKVxyXG4gIG9uQ2hhbmdlKCRldmVudCkge1xyXG4gICAgdGhpcy5tYWdpY0RpcmVjdGl2ZS50YXNrLm9uTGlzdEJveFNlbGVjdGlvbkNoYW5nZWQoJGV2ZW50LCB0aGlzLm1hZ2ljRGlyZWN0aXZlLmlkKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,7 @@
1
+ import { basicMagicProviders, TableMagicService } from "@magic-xpa/angular";
2
+ import { MgMatTableService } from "./mattable.magic.service";
3
+ export const matMagicProviders = [
4
+ ...basicMagicProviders,
5
+ { provide: TableMagicService, useClass: MgMatTableService }
6
+ ];
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Lm1hZ2ljLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtY29yZS9zcmMvc2VydmljZXMvbWF0Lm1hZ2ljLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUcsaUJBQWlCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU03RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixHQUFHLG1CQUFtQjtJQUN0QixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUU7Q0FDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBiYXNpY01hZ2ljUHJvdmlkZXJzLCAgVGFibGVNYWdpY1NlcnZpY2V9IGZyb20gXCJAbWFnaWMteHBhL2FuZ3VsYXJcIjtcclxuXHJcbmltcG9ydCB7IE1nTWF0VGFibGVTZXJ2aWNlIH0gZnJvbSBcIi4vbWF0dGFibGUubWFnaWMuc2VydmljZVwiO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBAaWdub3JlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgbWF0TWFnaWNQcm92aWRlcnMgPSBbXHJcbiAgLi4uYmFzaWNNYWdpY1Byb3ZpZGVycywgLy8gLSBjcmVhdGVkIGVycm9yIEV4cG9ydGVkIHZhcmlhYmxlICdtYXRNYWdpY1Byb3ZpZGVycycgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ01hZ2ljU2VydmljZXMnIGZyb20gZXh0ZXJuYWwgbW9kdWxlIFwiRDovbWFnaWN4cGFwcm9qZWN0L19UcnVuay9Tb3VyY2VzL1dlYmNsaWVudC9kaXN0L2FuZ3VsYXIvc3JjL3NlcnZpY2VzL21hZ2ljLnNlcnZpY2VzXCIgYnV0IGNhbm5vdCBiZSBuYW1lZC5cclxuICB7IHByb3ZpZGU6IFRhYmxlTWFnaWNTZXJ2aWNlLCB1c2VDbGFzczogTWdNYXRUYWJsZVNlcnZpY2UgfVxyXG5dO1xyXG5cclxuIl19
@@ -0,0 +1,127 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TaskMagicService, ComponentListMagicService } from "@magic-xpa/angular";
3
+ import { getGuiEventObj } from "@magic-xpa/engine";
4
+ import { TableMagicService } from "@magic-xpa/angular";
5
+ import { isNullOrUndefined } from "@magic-xpa/mscorelib";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@magic-xpa/angular";
8
+ export class MgMatTableService extends TableMagicService {
9
+ get DataSource() {
10
+ return this.dataSource;
11
+ }
12
+ set DataSource(dataSource) {
13
+ this.dataSource = dataSource;
14
+ }
15
+ get Selection() {
16
+ return this.selection;
17
+ }
18
+ set Selection(selection) {
19
+ this.selection = selection;
20
+ }
21
+ get Paginator() {
22
+ return this.paginator;
23
+ }
24
+ set Paginator(paginator) {
25
+ this.paginator = paginator;
26
+ }
27
+ constructor(componentList, task) {
28
+ super(componentList, task);
29
+ this.componentList = componentList;
30
+ this.task = task;
31
+ }
32
+ connect(dataSource, paginator, selection) {
33
+ this.dataSource = dataSource;
34
+ this.paginator = paginator;
35
+ this.selection = selection;
36
+ }
37
+ refreshDataSource() {
38
+ if (!isNullOrUndefined(this.paginator))
39
+ this.dataSource.paginator = this.paginator;
40
+ this.dataSource.data = (this.task.mgAccessorService.isDataviewEmpty() ? [] : this.task.Records.list);
41
+ }
42
+ getPageSize() {
43
+ if (isNullOrUndefined(this.paginator))
44
+ return 10;
45
+ return this.paginator.pageSize;
46
+ }
47
+ selectRow(guiRowid) {
48
+ super.selectRow(guiRowid);
49
+ this.selection.select(this.task.Records.list[guiRowid]);
50
+ this.refreshDataSource();
51
+ }
52
+ selectPage(pageId) {
53
+ if (!isNullOrUndefined(this.paginator))
54
+ this.paginator.pageIndex = pageId;
55
+ this.refreshDataSource();
56
+ }
57
+ selectedRow() {
58
+ return this.selection.selected[0];
59
+ }
60
+ mgOnPaginateChange(e, changeSelectedRow) {
61
+ if (this.task.oldPageSize != e.pageSize) {
62
+ this.handleResize(e.pageIndex, e.previousPageIndex, e.pageSize);
63
+ this.task.oldPageSize = e.pageSize;
64
+ }
65
+ else {
66
+ if (changeSelectedRow) {
67
+ let evt = (e.pageIndex > e.previousPageIndex) ? "next-page" : "previous-page";
68
+ let guiEvent = getGuiEventObj("navigateInTable", "magicRow", 0);
69
+ guiEvent.Value = evt;
70
+ this.task.insertEvent(guiEvent);
71
+ }
72
+ else
73
+ this.getRowsIfNeeded(e.pageIndex, e.previousPageIndex, e.pageSize);
74
+ }
75
+ }
76
+ handleResize(pageIndex, prevPageIndex, pageSize) {
77
+ let requiredGuiRowId = pageIndex * pageSize;
78
+ this.task.resize(pageSize, requiredGuiRowId);
79
+ }
80
+ getRowsIfNeeded(pageIndex, prevPageIndex, pageSize) {
81
+ let guiEvent = getGuiEventObj("getRows", "", 0);
82
+ guiEvent.Line = pageIndex * pageSize;
83
+ this.task.insertEvent(guiEvent);
84
+ this.setTableTopIndex(this.task.getDvRowId(pageSize * pageIndex));
85
+ }
86
+ sortData(e) {
87
+ let direction = 0;
88
+ if (e.direction === 'asc')
89
+ direction = 0;
90
+ else if (e.direction === 'desc')
91
+ direction = 1;
92
+ let guiEvent = getGuiEventObj("columnSort", e.active, direction);
93
+ this.task.insertEvent(guiEvent);
94
+ }
95
+ updateTableSize(size) {
96
+ if (size === 0) {
97
+ size = 1;
98
+ this.task.Records.clearFirstTableRecord(this.task.template);
99
+ }
100
+ else if (isNullOrUndefined(this.paginator))
101
+ size = this.getPageSize();
102
+ this.task.formGroups.length = size;
103
+ this.task.Records.updateSize(size);
104
+ this.task.setIncludesFirst(false);
105
+ }
106
+ selectPageForGuiRowId(guiRowId) {
107
+ let pageToBeSelected = 0;
108
+ let prevSelectedRow = this.selectedRow();
109
+ pageToBeSelected = Math.floor(guiRowId / this.getPageSize());
110
+ if ((isNullOrUndefined(prevSelectedRow) || (!isNullOrUndefined(this.paginator) && pageToBeSelected != this.paginator.pageIndex)))
111
+ this.selectPage(pageToBeSelected);
112
+ }
113
+ setTableTopIndex(value) {
114
+ this.task.Records.setGuiTopIndex(value);
115
+ if (value >= 0)
116
+ this.selectPageForGuiRowId(this.task.getGuiRowId(value, true));
117
+ }
118
+ getTableTopIndex() {
119
+ return this.task.Records.getGuiTopIndex();
120
+ }
121
+ }
122
+ MgMatTableService.ɵfac = function MgMatTableService_Factory(t) { return new (t || MgMatTableService)(i0.ɵɵinject(i1.ComponentListMagicService), i0.ɵɵinject(i1.TaskMagicService)); };
123
+ MgMatTableService.ɵprov = i0.ɵɵdefineInjectable({ token: MgMatTableService, factory: MgMatTableService.ɵfac });
124
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MgMatTableService, [{
125
+ type: Injectable
126
+ }], function () { return [{ type: i1.ComponentListMagicService }, { type: i1.TaskMagicService }]; }, null); })();
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0dGFibGUubWFnaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtY29yZS9zcmMvc2VydmljZXMvbWF0dGFibGUubWFnaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBb0IsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRyxPQUFPLEVBQVksY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7OztBQVN2RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBU3RELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBS0QsSUFBSSxVQUFVLENBQUMsVUFBdUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQVVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBS0QsSUFBSSxTQUFTLENBQUMsU0FBa0M7UUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQVVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBS0QsSUFBSSxTQUFTLENBQUMsU0FBdUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUtELFlBQXNCLGFBQXdDLEVBQVksSUFBc0I7UUFDOUYsS0FBSyxDQUFDLGFBQWEsRUFBRSxJ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QUFDO0lBQzVDLENBQUM7O2tGQTlPVSxpQkFBaUI7eURBQWpCLGlCQUFpQixXQUFqQixpQkFBaUI7dUZBQWpCLGlCQUFpQjtjQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zXCI7XHJcblxyXG5pbXBvcnQgeyBUYXNrTWFnaWNTZXJ2aWNlLCBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLCBDb250cm9sc01ldGFkYXRhIH0gZnJvbSBcIkBtYWdpYy14cGEvYW5ndWxhclwiO1xyXG5pbXBvcnQge0lHdWlFdmVudCwgZ2V0R3VpRXZlbnRPYmp9IGZyb20gXCJAbWFnaWMteHBhL2VuZ2luZVwiO1xyXG5pbXBvcnQgeyBUYWJsZU1hZ2ljU2VydmljZSB9IGZyb20gXCJAbWFnaWMteHBhL2FuZ3VsYXJcIjtcclxuaW1wb3J0IHtpc051bGxPclVuZGVmaW5lZH0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuXHJcblxyXG4vKipcclxuICogRXh0ZW5kcyB0aGUgTWFnaWMgdGFibGUgc2VydmljZSB0byBzdXBwbHkgZnVuY3Rpb25hbGl0eSBmb3IgTWF0ZXJpYWwgRGVzaWduIHRhYmxlc1xyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTWdNYXRUYWJsZVNlcnZpY2UgZXh0ZW5kcyBUYWJsZU1hZ2ljU2VydmljZSB7XHJcbiAgLyoqXHJcbiAgICogVGFibGUgZGF0YSBzb3VyY2VcclxuICAgKi9cclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8RWxlbWVudD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBnZXQgRGF0YVNvdXJjZSgpOiBNYXRUYWJsZURhdGFTb3VyY2U8RWxlbWVudD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBzZXQgRGF0YVNvdXJjZShkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8RWxlbWVudD4pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcm92aWRlcyBzZWxlY3Rpb24gb3B0aW9ucyBmb3IgdGhlIHRhYmxlXHJcbiAgICovXHJcbiAgc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxFbGVtZW50PjtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGdldCBTZWxlY3Rpb24oKTogU2VsZWN0aW9uTW9kZWw8RWxlbWVudD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHNldCBTZWxlY3Rpb24oc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxFbGVtZW50Pikge1xyXG4gICAgdGhpcy5zZWxlY3Rpb24gPSBzZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQYWdpbmF0b3IgdG8gZW5hYmxlIGNoYW5naW5nIHBhZ2VzIGluIHRoZSB0YWJsZVxyXG4gICAqL1xyXG4gIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgZ2V0IFBhZ2luYXRvcigpOiBNYXRQYWdpbmF0b3Ige1xyXG4gICAgcmV0dXJuIHRoaXMucGFnaW5hdG9yO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHNldCBQYWdpbmF0b3IocGFnaW5hdG9yOiBNYXRQYWdpbmF0b3IpIHtcclxuICAgIHRoaXMucGFnaW5hdG9yID0gcGFnaW5hdG9yO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjb21wb25lbnRMaXN0OiBDb21wb25lbnRMaXN0TWFnaWNTZXJ2aWNlLCBwcm90ZWN0ZWQgdGFzazogVGFza01hZ2ljU2VydmljZSApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudExpc3QsIHRhc2spO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29ubmVjdHMgdGhlIHNlcnZpY2UgdG8gdGhlIGVsZW1lbnRzIG9mIHRoZSB0YWJsZSBjb21wb25lbnRcclxuICAgKiBAcGFyYW0gZGF0YVNvdXJjZSBUYWJsZSBkYXRhIHNvdXJjZVxyXG4gICAqIEBwYXJhbSBwYWdpbmF0b3IgVGFibGUgcGFnaW5hdG9yXHJcbiAgICogQHBhcmFtIHNlbGVjdGlvbiB0YWJsZSBTZWxlY3Rpb25Nb2RlbFxyXG4gICAqL1xyXG4gIGNvbm5lY3QoZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPEVsZW1lbnQ+ICwgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3IsIHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8RWxlbWVudD4pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XHJcbiAgICB0aGlzLnBhZ2luYXRvciA9IHBhZ2luYXRvcjtcclxuICAgIHRoaXMuc2VsZWN0aW9uID0gc2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHJlZnJlc2hEYXRhU291cmNlKCkge1xyXG4gICAgaWYgKCFpc051bGxPclVuZGVmaW5lZCh0aGlzLnBhZ2luYXRvcikpXHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuXHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9ICh0aGlzLnRhc2subWdBY2Nlc3NvclNlcnZpY2UuaXNEYXRhdmlld0VtcHR5KCkgPyBbXSA6IHRoaXMudGFzay5SZWNvcmRzLmxpc3QpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV0dXJucyB0aGUgcGFnZSBzaXplIG9mIHRoZSB0YWJsZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgZ2V0UGFnZVNpemUoKTogbnVtYmVyIHtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLnBhZ2luYXRvcikpXHJcbiAgICAgIHJldHVybiAxMDtcclxuICAgIHJldHVybiB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdHMgYSB0YWJsZSByb3dcclxuICAgKiBAcGFyYW0gZ3VpUm93aWQgSWQgb2Ygcm93IHRvIGJlIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgc2VsZWN0Um93KGd1aVJvd2lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHN1cGVyLnNlbGVjdFJvdyhndWlSb3dpZCk7XHJcbiAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3QodGhpcy50YXNrLlJlY29yZHMubGlzdFtndWlSb3dpZF0pO1xyXG4gICAgdGhpcy5yZWZyZXNoRGF0YVNvdXJjZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheXMgdGhlIHJlcXVlc3RlZCB0YWJsZSBwYWdlXHJcbiAgICogQHBhcmFtIHBhZ2VJZCBJZCBvZiBwYWdlIHRvIGJlIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgc2VsZWN0UGFnZShwYWdlSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKCFpc051bGxPclVuZGVmaW5lZCh0aGlzLnBhZ2luYXRvcikpXHJcbiAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA9IHBhZ2VJZDtcclxuXHJcbiAgICB0aGlzLnJlZnJlc2hEYXRhU291cmNlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50bHkgc2VsZXRlZCByb3dcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHNlbGVjdGVkUm93KCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWRbMF07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGUgdGhlIHBhZ2luYXRvcidzIFwicGFnZVwiIGV2ZW50XHJcbiAgICogQHBhcmFtIGUgVGhlIGV2ZW50IHJlY2VpdmVkIGZyb20gdGhlIFVJXHJcbiAgICovXHJcbiAgbWdPblBhZ2luYXRlQ2hhbmdlKGUsIGNoYW5nZVNlbGVjdGVkUm93PzogYm9vbGVhbilcclxuICB7XHJcbiAgICBpZiAodGhpcy50YXNrLm9sZFBhZ2VTaXplICE9IGUucGFnZVNpemUpIHtcclxuICAgICAgdGhpcy5oYW5kbGVSZXNpemUoZS5wYWdlSW5kZXgsIGUucHJldmlvdXNQYWdlSW5kZXgsIGUucGFnZVNpemUpO1xyXG4gICAgICB0aGlzLnRhc2sub2xkUGFnZVNpemUgPSBlLnBhZ2VTaXplO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmIChjaGFuZ2VTZWxlY3RlZFJvdylcclxuICAgICAge1xyXG4gICAgICAgIGxldCBldnQgPSAoZS5wYWdlSW5kZXggPiBlLnByZXZpb3VzUGFnZUluZGV4KSA/IFwibmV4dC1wYWdlXCIgOiBcInByZXZpb3VzLXBhZ2VcIjtcclxuICAgICAgICBsZXQgZ3VpRXZlbnQ6IElHdWlFdmVudCA9IGdldEd1aUV2ZW50T2JqKFwibmF2aWdhdGVJblRhYmxlXCIsIFwibWFnaWNSb3dcIiwwKTtcclxuICAgICAgICBndWlFdmVudC5WYWx1ZSA9IGV2dDtcclxuICAgICAgICB0aGlzLnRhc2suaW5zZXJ0RXZlbnQoZ3VpRXZlbnQpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLmdldFJvd3NJZk5lZWRlZChlLnBhZ2VJbmRleCwgZS5wcmV2aW91c1BhZ2VJbmRleCwgZS5wYWdlU2l6ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGUgcmVzaXplIGFuZCBzZXQgdGFibGUgdG9wIGluZGV4LlxyXG4gICAqIEBwYXJhbSBwYWdlSW5kZXggOiBOZXcgcGFnZSBpbmRleC5cclxuICAgKiBAcGFyYW0gcHJldlBhZ2VJbmRleCA6IFByZXYgcGFnZSBpbmRleFxyXG4gICAqIEBwYXJhbSBwYWdlU2l6ZSA6IFBhZ2VTaXplXHJcbiAgICovXHJcbiAgaGFuZGxlUmVzaXplKHBhZ2VJbmRleDogbnVtYmVyLCBwcmV2UGFnZUluZGV4OiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCByZXF1aXJlZEd1aVJvd0lkID0gcGFnZUluZGV4ICogcGFnZVNpemU7XHJcbiAgICB0aGlzLnRhc2sucmVzaXplKHBhZ2VTaXplLCByZXF1aXJlZEd1aVJvd0lkKTtcclxuICAgIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZSBnZXRSb3dzIHRvIGZldGNoIHJlcXVpcmVkIGNodW5rIG9mIHJlY29yZHMuXHJcbiAgICogQHBhcmFtIHBhZ2VJbmRleCA6IE5ldyBwYWdlIGluZGV4LlxyXG4gICAqIEBwYXJhbSBwcmV2UGFnZUluZGV4IDogUHJldiBwYWdlIGluZGV4XHJcbiAgICogQHBhcmFtIHBhZ2VTaXplIDogUGFnZVNpemVcclxuICAgKi9cclxuICBnZXRSb3dzSWZOZWVkZWQocGFnZUluZGV4OiBudW1iZXIsIHByZXZQYWdlSW5kZXg6IG51bWJlciwgcGFnZVNpemU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IGd1aUV2ZW50OiBJR3VpRXZlbnQgPSBnZXRHdWlFdmVudE9iaihcImdldFJvd3NcIiwgXCJcIiwwKTtcclxuICAgIGd1aUV2ZW50LkxpbmUgPSBwYWdlSW5kZXggKiBwYWdlU2l6ZTtcclxuICAgIHRoaXMudGFzay5pbnNlcnRFdmVudChndWlFdmVudCk7XHJcbiAgICB0aGlzLnNldFRhYmxlVG9wSW5kZXgodGhpcy50YXNrLmdldER2Um93SWQocGFnZVNpemUgKiBwYWdlSW5kZXgpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIFwibWF0U29ydENoYW5nZVwiIGV2ZW50XHJcbiAgICogQHBhcmFtIGUgVGhlIGV2ZW50IHJlY2VpdmVkIGZyb20gdGhlIFVJXHJcbiAgICovXHJcbiAgc29ydERhdGEoZSkge1xyXG4gICAgbGV0IGRpcmVjdGlvbjogbnVtYmVyID0gMDtcclxuICAgIGlmIChlLmRpcmVjdGlvbiA9PT0gJ2FzYycpXHJcbiAgICAgIGRpcmVjdGlvbiA9IDA7XHJcbiAgICBlbHNlIGlmIChlLmRpcmVjdGlvbiA9PT0gJ2Rlc2MnKVxyXG4gICAgICBkaXJlY3Rpb24gPSAxO1xyXG5cclxuICAgIGxldCBndWlFdmVudDogSUd1aUV2ZW50ID0gZ2V0R3VpRXZlbnRPYmooXCJjb2x1bW5Tb3J0XCIsIGUuYWN0aXZlLCBkaXJlY3Rpb24pO1xyXG4gICAgdGhpcy50YXNrLmluc2VydEV2ZW50KGd1aUV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoYW5nZSB0aGUgbnVtYmVyIG9mIGxpbmVzIGluIGEgdGFibGVcclxuICAgKiBAcGFyYW0gIHNpemUgTmV3IG51bWJlciBvZiBsaW5lcyBpbiB0YWJsZVxyXG4gICAqL1xyXG4gIHVwZGF0ZVRhYmxlU2l6ZShzaXplOiBudW1iZXIpIHtcclxuICAgIGlmIChzaXplID09PSAwKSAvLyBuZXZlciByZW1vdmUgcm93IDAgZm9yIG5vd1xyXG4gICAge1xyXG4gICAgICAgc2l6ZSA9IDE7XHJcbiAgICAgICB0aGlzLnRhc2suUmVjb3Jkcy5jbGVhckZpcnN0VGFibGVSZWNvcmQodGhpcy50YXNrLnRlbXBsYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBlbHNlIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLnBhZ2luYXRvcikpXHJcbiAgICAgICBzaXplID0gdGhpcy5nZXRQYWdlU2l6ZSgpO1xyXG5cclxuICAgIHRoaXMudGFzay5mb3JtR3JvdXBzLmxlbmd0aCA9IHNpemU7XHJcbiAgICB0aGlzLnRhc2suUmVjb3Jkcy51cGRhdGVTaXplKHNpemUpO1xyXG4gICAgdGhpcy50YXNrLnNldEluY2x1ZGVzRmlyc3QoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIHRoZSBzZWxlY3Rpb24gb2Ygcm93IGFuZCBpZiBuZWVkZWQgbW92ZSB0byByZXNwZWN0aXZlIHBhZ2UuXHJcbiAgICogQHBhcmFtICBndWlSb3dJZCBOZXcgbnVtYmVyIG9mIGxpbmVzIGluIHRhYmxlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHNlbGVjdFBhZ2VGb3JHdWlSb3dJZChndWlSb3dJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgcGFnZVRvQmVTZWxlY3RlZDogbnVtYmVyID0gMDtcclxuICAgIGxldCBwcmV2U2VsZWN0ZWRSb3c6IENvbnRyb2xzTWV0YWRhdGEgPSA8Q29udHJvbHNNZXRhZGF0YT50aGlzLnNlbGVjdGVkUm93KCk7XHJcblxyXG4gICAgcGFnZVRvQmVTZWxlY3RlZCA9IE1hdGguZmxvb3IoZ3VpUm93SWQgLyB0aGlzLmdldFBhZ2VTaXplKCkpO1xyXG5cclxuICAgIC8vIEV4cGxpY2l0bHkgaGFuZGxlIHNlbGVjdGlvbiBvZiBwYWdlIHdoZW4gaXQncyBub3QgcmFpc2VkIGJ5IHVzaW5nIHBhZ2luYXRpb25cclxuICAgIGlmICgoaXNOdWxsT3JVbmRlZmluZWQocHJldlNlbGVjdGVkUm93KSB8fCAoIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMucGFnaW5hdG9yKSAmJiBwYWdlVG9CZVNlbGVjdGVkICE9IHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCkpKVxyXG4gICAgICB0aGlzLnNlbGVjdFBhZ2UocGFnZVRvQmVTZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgc2V0VGFibGVUb3BJbmRleCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnRhc2suUmVjb3Jkcy5zZXRHdWlUb3BJbmRleCh2YWx1ZSk7XHJcblxyXG4gICAgaWYgKHZhbHVlID49IDApXHJcbiAgICAgIHRoaXMuc2VsZWN0UGFnZUZvckd1aVJvd0lkKHRoaXMudGFzay5nZXRHdWlSb3dJZCh2YWx1ZSwgdHJ1ZSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGdldFRhYmxlVG9wSW5kZXgoKTpudW1iZXJcclxuICB7XHJcbiAgICByZXR1cm4gdGhpcy50YXNrLlJlY29yZHMuZ2V0R3VpVG9wSW5kZXgoKTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==