@c8y/ngx-components 1021.77.0 → 1021.78.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.
Files changed (74) hide show
  1. package/bookmarks/bookmarks.component.d.ts +4 -6
  2. package/bookmarks/bookmarks.component.d.ts.map +1 -1
  3. package/datapoint-explorer/view/datapoint-explorer.component.d.ts.map +1 -1
  4. package/echart/charts.component.d.ts.map +1 -1
  5. package/echart/models/datapoints-graph-widget.model.d.ts +2 -0
  6. package/echart/models/datapoints-graph-widget.model.d.ts.map +1 -1
  7. package/echart/services/echarts-options.service.d.ts.map +1 -1
  8. package/esm2022/bookmarks/bookmarks.component.mjs +15 -18
  9. package/esm2022/datapoint-explorer/view/datapoint-explorer.component.mjs +6 -5
  10. package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-processing.service.mjs +3 -3
  11. package/esm2022/echart/charts.component.mjs +5 -3
  12. package/esm2022/echart/models/datapoints-graph-widget.model.mjs +1 -1
  13. package/esm2022/echart/services/echarts-options.service.mjs +5 -5
  14. package/esm2022/operations/bulk-operations-service/bulk-operations.service.mjs +21 -2
  15. package/esm2022/operations/bulk-single-operations-list/bulk-single-operations-list.module.mjs +9 -7
  16. package/esm2022/operations/bulk-single-operations-list/single-operation-item.component.mjs +4 -1
  17. package/esm2022/operations/bulk-single-operations-list/single-operations-list.component.mjs +94 -20
  18. package/esm2022/operations/grid-columns/c8y-ngx-components-operations-grid-columns.mjs +5 -0
  19. package/esm2022/operations/grid-columns/creation-time.cell-renderer.component.mjs +28 -0
  20. package/esm2022/operations/grid-columns/creation-time.grid-column.mjs +14 -0
  21. package/esm2022/operations/grid-columns/device.cell-renderer.component.mjs +50 -0
  22. package/esm2022/operations/grid-columns/device.grid-column.mjs +14 -0
  23. package/esm2022/operations/grid-columns/failure-reason.cell-renderer.component.mjs +54 -0
  24. package/esm2022/operations/grid-columns/failure-reason.grid-column.mjs +14 -0
  25. package/esm2022/operations/grid-columns/index.mjs +9 -0
  26. package/esm2022/operations/grid-columns/status.cell-renderer.component.mjs +43 -0
  27. package/esm2022/operations/grid-columns/status.grid-column.mjs +15 -0
  28. package/esm2022/widgets/implementations/datapoints-graph/datapoints-graph-config/datapoints-graph-widget-config.component.mjs +5 -4
  29. package/fesm2022/c8y-ngx-components-bookmarks.mjs +13 -14
  30. package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
  31. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +5 -4
  32. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  33. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +2 -2
  34. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  35. package/fesm2022/c8y-ngx-components-echart-models.mjs.map +1 -1
  36. package/fesm2022/c8y-ngx-components-echart.mjs +8 -6
  37. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  38. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs +20 -1
  39. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs.map +1 -1
  40. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +102 -21
  41. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
  42. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +214 -0
  43. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs.map +1 -0
  44. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +4 -3
  45. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  46. package/operations/bulk-operations-service/bulk-operations.service.d.ts +5 -3
  47. package/operations/bulk-operations-service/bulk-operations.service.d.ts.map +1 -1
  48. package/operations/bulk-single-operations-list/bulk-single-operations-list.module.d.ts +10 -8
  49. package/operations/bulk-single-operations-list/bulk-single-operations-list.module.d.ts.map +1 -1
  50. package/operations/bulk-single-operations-list/single-operation-item.component.d.ts +3 -0
  51. package/operations/bulk-single-operations-list/single-operation-item.component.d.ts.map +1 -1
  52. package/operations/bulk-single-operations-list/single-operations-list.component.d.ts +18 -4
  53. package/operations/bulk-single-operations-list/single-operations-list.component.d.ts.map +1 -1
  54. package/operations/grid-columns/c8y-ngx-components-operations-grid-columns.d.ts.map +1 -0
  55. package/operations/grid-columns/creation-time.cell-renderer.component.d.ts +9 -0
  56. package/operations/grid-columns/creation-time.cell-renderer.component.d.ts.map +1 -0
  57. package/operations/grid-columns/creation-time.grid-column.d.ts +5 -0
  58. package/operations/grid-columns/creation-time.grid-column.d.ts.map +1 -0
  59. package/operations/grid-columns/device.cell-renderer.component.d.ts +14 -0
  60. package/operations/grid-columns/device.cell-renderer.component.d.ts.map +1 -0
  61. package/operations/grid-columns/device.grid-column.d.ts +5 -0
  62. package/operations/grid-columns/device.grid-column.d.ts.map +1 -0
  63. package/operations/grid-columns/failure-reason.cell-renderer.component.d.ts +9 -0
  64. package/operations/grid-columns/failure-reason.cell-renderer.component.d.ts.map +1 -0
  65. package/operations/grid-columns/failure-reason.grid-column.d.ts +5 -0
  66. package/operations/grid-columns/failure-reason.grid-column.d.ts.map +1 -0
  67. package/operations/grid-columns/index.d.ts +9 -0
  68. package/operations/grid-columns/index.d.ts.map +1 -0
  69. package/operations/grid-columns/status.cell-renderer.component.d.ts +11 -0
  70. package/operations/grid-columns/status.cell-renderer.component.d.ts.map +1 -0
  71. package/operations/grid-columns/status.grid-column.d.ts +5 -0
  72. package/operations/grid-columns/status.grid-column.d.ts.map +1 -0
  73. package/package.json +1 -1
  74. package/widgets/implementations/datapoints-graph/datapoints-graph-config/datapoints-graph-widget-config.component.d.ts.map +1 -1
@@ -1,26 +1,28 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { RouterModule } from '@angular/router';
3
+ import { CoreModule } from '@c8y/ngx-components';
3
4
  import { PopoverModule } from 'ngx-bootstrap/popover';
4
5
  import { TooltipModule } from 'ngx-bootstrap/tooltip';
5
- import { CoreModule } from '@c8y/ngx-components';
6
- import { StatusFilterModule } from '@c8y/ngx-components/operations/status-filter';
7
6
  import { SingleOperationItemComponent } from './single-operation-item.component';
8
7
  import { SingleOperationsListComponent } from './single-operations-list.component';
9
8
  import * as i0 from "@angular/core";
10
9
  /**
11
10
  * This module allows for displaying the list of single operations in a bulk operations details.
11
+ *
12
+ * @deprecated This module is deprecated and will be removed in a future version. I
13
+ * nstead, use the `SingleOperationsListComponent` as a standalone component directly.
12
14
  */
13
15
  export class BulkSingleOperationsListModule {
14
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BulkSingleOperationsListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: BulkSingleOperationsListModule, declarations: [SingleOperationsListComponent, SingleOperationItemComponent], imports: [CoreModule, PopoverModule, RouterModule, TooltipModule, StatusFilterModule], exports: [SingleOperationsListComponent, SingleOperationItemComponent] }); }
16
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BulkSingleOperationsListModule, imports: [CoreModule, PopoverModule, RouterModule, TooltipModule, StatusFilterModule] }); }
17
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: BulkSingleOperationsListModule, declarations: [SingleOperationItemComponent], imports: [CoreModule, PopoverModule, RouterModule, TooltipModule, SingleOperationsListComponent], exports: [SingleOperationsListComponent, SingleOperationItemComponent] }); }
18
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BulkSingleOperationsListModule, imports: [CoreModule, PopoverModule, RouterModule, TooltipModule, SingleOperationsListComponent] }); }
17
19
  }
18
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BulkSingleOperationsListModule, decorators: [{
19
21
  type: NgModule,
20
22
  args: [{
21
- imports: [CoreModule, PopoverModule, RouterModule, TooltipModule, StatusFilterModule],
22
- declarations: [SingleOperationsListComponent, SingleOperationItemComponent],
23
+ imports: [CoreModule, PopoverModule, RouterModule, TooltipModule, SingleOperationsListComponent],
24
+ declarations: [SingleOperationItemComponent],
23
25
  exports: [SingleOperationsListComponent, SingleOperationItemComponent]
24
26
  }]
25
27
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1zaW5nbGUtb3BlcmF0aW9ucy1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL29wZXJhdGlvbnMvYnVsay1zaW5nbGUtb3BlcmF0aW9ucy1saXN0L2J1bGstc2luZ2xlLW9wZXJhdGlvbnMtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBRW5GOztHQUVHO0FBTUgsTUFBTSxPQUFPLDhCQUE4QjsrR0FBOUIsOEJBQThCO2dIQUE5Qiw4QkFBOEIsaUJBSDFCLDZCQUE2QixFQUFFLDRCQUE0QixhQURoRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLGFBRTFFLDZCQUE2QixFQUFFLDRCQUE0QjtnSEFFMUQsOEJBQThCLFlBSi9CLFVBQVUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxrQkFBa0I7OzRGQUl6RSw4QkFBOEI7a0JBTDFDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixDQUFDO29CQUNyRixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSw0QkFBNEIsQ0FBQztvQkFDM0UsT0FBTyxFQUFFLENBQUMsNkJBQTZCLEVBQUUsNEJBQTRCLENBQUM7aUJBQ3ZFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTdGF0dXNGaWx0ZXJNb2R1bGUgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL29wZXJhdGlvbnMvc3RhdHVzLWZpbHRlcic7XG5cbmltcG9ydCB7IFNpbmdsZU9wZXJhdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3NpbmdsZS1vcGVyYXRpb24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2luZ2xlT3BlcmF0aW9uc0xpc3RDb21wb25lbnQgfSBmcm9tICcuL3NpbmdsZS1vcGVyYXRpb25zLWxpc3QuY29tcG9uZW50JztcblxuLyoqXG4gKiBUaGlzIG1vZHVsZSBhbGxvd3MgZm9yIGRpc3BsYXlpbmcgdGhlIGxpc3Qgb2Ygc2luZ2xlIG9wZXJhdGlvbnMgaW4gYSBidWxrIG9wZXJhdGlvbnMgZGV0YWlscy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIFBvcG92ZXJNb2R1bGUsIFJvdXRlck1vZHVsZSwgVG9vbHRpcE1vZHVsZSwgU3RhdHVzRmlsdGVyTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbU2luZ2xlT3BlcmF0aW9uc0xpc3RDb21wb25lbnQsIFNpbmdsZU9wZXJhdGlvbkl0ZW1Db21wb25lbnRdLFxuICBleHBvcnRzOiBbU2luZ2xlT3BlcmF0aW9uc0xpc3RDb21wb25lbnQsIFNpbmdsZU9wZXJhdGlvbkl0ZW1Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEJ1bGtTaW5nbGVPcGVyYXRpb25zTGlzdE1vZHVsZSB7fVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1zaW5nbGUtb3BlcmF0aW9ucy1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL29wZXJhdGlvbnMvYnVsay1zaW5nbGUtb3BlcmF0aW9ucy1saXN0L2J1bGstc2luZ2xlLW9wZXJhdGlvbnMtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBRW5GOzs7OztHQUtHO0FBTUgsTUFBTSxPQUFPLDhCQUE4QjsrR0FBOUIsOEJBQThCO2dIQUE5Qiw4QkFBOEIsaUJBSDFCLDRCQUE0QixhQURqQyxVQUFVLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsNkJBQTZCLGFBRXJGLDZCQUE2QixFQUFFLDRCQUE0QjtnSEFFMUQsOEJBQThCLFlBSi9CLFVBQVUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSw2QkFBNkI7OzRGQUlwRiw4QkFBOEI7a0JBTDFDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLDZCQUE2QixDQUFDO29CQUNoRyxZQUFZLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsNkJBQTZCLEVBQUUsNEJBQTRCLENBQUM7aUJBQ3ZFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Rvb2x0aXAnO1xuaW1wb3J0IHsgU2luZ2xlT3BlcmF0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vc2luZ2xlLW9wZXJhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaW5nbGVPcGVyYXRpb25zTGlzdENvbXBvbmVudCB9IGZyb20gJy4vc2luZ2xlLW9wZXJhdGlvbnMtbGlzdC5jb21wb25lbnQnO1xuXG4vKipcbiAqIFRoaXMgbW9kdWxlIGFsbG93cyBmb3IgZGlzcGxheWluZyB0aGUgbGlzdCBvZiBzaW5nbGUgb3BlcmF0aW9ucyBpbiBhIGJ1bGsgb3BlcmF0aW9ucyBkZXRhaWxzLlxuICpcbiAqIEBkZXByZWNhdGVkIFRoaXMgbW9kdWxlIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLiBJXG4gKiBuc3RlYWQsIHVzZSB0aGUgYFNpbmdsZU9wZXJhdGlvbnNMaXN0Q29tcG9uZW50YCBhcyBhIHN0YW5kYWxvbmUgY29tcG9uZW50IGRpcmVjdGx5LlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgUG9wb3Zlck1vZHVsZSwgUm91dGVyTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBTaW5nbGVPcGVyYXRpb25zTGlzdENvbXBvbmVudF0sXG4gIGRlY2xhcmF0aW9uczogW1NpbmdsZU9wZXJhdGlvbkl0ZW1Db21wb25lbnRdLFxuICBleHBvcnRzOiBbU2luZ2xlT3BlcmF0aW9uc0xpc3RDb21wb25lbnQsIFNpbmdsZU9wZXJhdGlvbkl0ZW1Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEJ1bGtTaW5nbGVPcGVyYXRpb25zTGlzdE1vZHVsZSB7fVxuIl19
@@ -11,6 +11,9 @@ import * as i3 from "@angular/common";
11
11
  import * as i4 from "ngx-bootstrap/popover";
12
12
  import * as i5 from "@angular/router";
13
13
  import * as i6 from "ngx-bootstrap/tooltip";
14
+ /**
15
+ * @deprecated Single operations list in bulk operations details has been replaced by data grid. This component will be removed in the future.
16
+ */
14
17
  export class SingleOperationItemComponent {
15
18
  constructor(alertService, inventoryService, operationService) {
16
19
  this.alertService = alertService;
@@ -58,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
58
61
  type: ViewChild,
59
62
  args: ['failureReason', { static: true }]
60
63
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLW9wZXJhdGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL29wZXJhdGlvbnMvYnVsay1zaW5nbGUtb3BlcmF0aW9ucy1saXN0L3NpbmdsZS1vcGVyYXRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9vcGVyYXRpb25zL2J1bGstc2luZ2xlLW9wZXJhdGlvbnMtbGlzdC9zaW5nbGUtb3BlcmF0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixVQUFVLEVBQ1gsTUFBTSxtREFBbUQsQ0FBQztBQUMzRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM3QixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7O0FBTWpDLE1BQU0sT0FBTyw0QkFBNEI7SUFhdkMsWUFDVSxZQUEwQixFQUMxQixnQkFBa0MsRUFDbEMsZ0JBQWtDO1FBRmxDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWY1Qyx5QkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztRQUM1QyxZQUFPLEdBQUcsa0JBQWtCLENBQUM7UUFDN0IsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUN4QixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osNEJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDbEQsaUNBQTRCLEdBQW9DLDRCQUE0QixDQUFDO1FBSTdGLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFPZCxDQUFDO0lBRUosS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7SUFDcEYsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlO1FBQ3hDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUM5QyxJQUFJO1lBQ0osTUFBTTtZQUNOLFFBQVE7WUFDUixlQUFlO1lBQ2YsY0FBYztZQUNkLFVBQVU7U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQzsrR0F2Q1UsNEJBQTRCO21HQUE1Qiw0QkFBNEIsNFBDbkJ6QyxxNEVBd0VBOzs0RkRyRGEsNEJBQTRCO2tCQUp4QyxTQUFTOytCQUNFLDJCQUEyQjsrSUFXckMsU0FBUztzQkFEUixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFFd0MsZ0JBQWdCO3NCQUE3RCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludmVudG9yeVNlcnZpY2UsIElPcGVyYXRpb24sIE9wZXJhdGlvblNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEFDVElPTlNfT1BFUkFUSU9OUyxcbiAgQlVMS19PUEVSQVRJT05fRVZFTlQsXG4gIENPTVBPTkVOVFNcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9vcGVyYXRpb25zL3Byb2R1Y3QtZXhwZXJpZW5jZSc7XG5pbXBvcnQge1xuICBPcGVyYXRpb25TdGF0dXNPcHRpb25zTWFwU2hhcmVkLFxuICBPUEVSQVRJT05fU1RBVFVTX0xBQkVMUyxcbiAgT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TX01BUFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL29wZXJhdGlvbnMvc2hhcmVkJztcbmltcG9ydCB7IG9taXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktc2luZ2xlLW9wZXJhdGlvbi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpbmdsZS1vcGVyYXRpb24taXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlT3BlcmF0aW9uSXRlbUNvbXBvbmVudCB7XG4gIEJVTEtfT1BFUkFUSU9OX0VWRU5UID0gQlVMS19PUEVSQVRJT05fRVZFTlQ7XG4gIEFDVElPTlMgPSBBQ1RJT05TX09QRVJBVElPTlM7XG4gIENPTVBPTkVOVFMgPSBDT01QT05FTlRTO1xuICBkZXZpY2UgPSB7fTtcbiAgT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMgPSBPUEVSQVRJT05fU1RBVFVTX0xBQkVMUztcbiAgT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TX01BUDogT3BlcmF0aW9uU3RhdHVzT3B0aW9uc01hcFNoYXJlZCA9IE9QRVJBVElPTl9TVEFUVVNfT1BUSU9OU19NQVA7XG4gIEBJbnB1dCgpXG4gIG9wZXJhdGlvbjogSU9wZXJhdGlvbjtcbiAgQElucHV0KClcbiAgcmVhZE9ubHkgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgnZmFpbHVyZVJlYXNvbicsIHsgc3RhdGljOiB0cnVlIH0pIGZhaWx1cmVSZWFzb25SZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGludmVudG9yeVNlcnZpY2U6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25TZXJ2aWNlOiBPcGVyYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRldmljZSA9IChhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGV0YWlsKHRoaXMub3BlcmF0aW9uLmRldmljZUlkKSk/LmRhdGE7XG4gIH1cblxuICBhc3luYyByZXRyeVNpbmdsZU9wZXJhdGlvbihzaW5nbGVPcGVyYXRpb24pIHtcbiAgICBjb25zdCBvcGVyYXRpb25Ub0NyZWF0ZSA9IG9taXQoc2luZ2xlT3BlcmF0aW9uLCBbXG4gICAgICAnaWQnLFxuICAgICAgJ3NlbGYnLFxuICAgICAgJ3N0YXR1cycsXG4gICAgICAnZmFpbHVyZVJlYXNvbicsXG4gICAgICAnY3JlYXRpb25UaW1lJyxcbiAgICAgICdkZWxpdmVyeSdcbiAgICBdKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLm9wZXJhdGlvblNlcnZpY2UuY3JlYXRlKG9wZXJhdGlvblRvQ3JlYXRlKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZ2V0dGV4dCgnT3BlcmF0aW9uIGNyZWF0ZWQuJykpO1xuICAgIH0gY2F0Y2ggKGVyKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGVyKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktbGkgY2xhc3M9XCJjOHktbGlzdF9faXRlbS0tZG91YmxlLWFjdGlvbnNcIj5cbiAgPGM4eS1saS1pY29uPlxuICAgIDxpXG4gICAgICBbYzh5SWNvbl09XCJPUEVSQVRJT05fU1RBVFVTX09QVElPTlNfTUFQW29wZXJhdGlvbi5zdGF0dXNdLmljb25cIlxuICAgICAgW3Rvb2x0aXBdPVwib3BlcmF0aW9uLnN0YXR1cy50b1N0cmluZygpIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtuZ0NsYXNzXT1cIk9QRVJBVElPTl9TVEFUVVNfT1BUSU9OU19NQVBbb3BlcmF0aW9uLnN0YXR1c10uc3R5bGVDbGFzc1wiXG4gICAgPjwvaT5cbiAgPC9jOHktbGktaWNvbj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7ICdjb250ZW50LWZsZXgtODAnOiAhcmVhZE9ubHksICdjb250ZW50LWZsZXgtNTAnOiByZWFkT25seSB9XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cIm0tci00XCI+XG4gICAgICAgIDxkZXZpY2Utc3RhdHVzIFttb109XCJkZXZpY2VcIj48L2RldmljZS1zdGF0dXM+XG4gICAgICA8L3NwYW4+XG4gICAgICA8YVxuICAgICAgICBbcm91dGVyTGlua109XCJbJy9kZXZpY2UnLCBvcGVyYXRpb24uZGV2aWNlSWQsICdkZXZpY2UtaW5mbyddXCJcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiXG4gICAgICA+XG4gICAgICAgIHt7IG9wZXJhdGlvbi5kZXZpY2VOYW1lIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0zXCI+XG4gICAgICA8c21hbGwgY2xhc3M9XCJpY29uLWZsZXggdGV4dC1tdXRlZFwiPlxuICAgICAgICA8aVxuICAgICAgICAgIGNsYXNzPVwibS1yLTRcIlxuICAgICAgICAgIGM4eUljb249XCJjYWxlbmRhclwiXG4gICAgICAgID48L2k+XG4gICAgICAgIHt7IG9wZXJhdGlvbi5jcmVhdGlvblRpbWUgfCBjOHlEYXRlIH19XG4gICAgICA8L3NtYWxsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtNVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhLWktY2VudGVyXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICAjZmFpbHVyZVJlYXNvblxuICAgICAgICA+XG4gICAgICAgICAge3sgb3BlcmF0aW9uLmZhaWx1cmVSZWFzb24gfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJidG4taGVscCBidG4taGVscC0tc21cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBwb3BvdmVyPVwie3sgb3BlcmF0aW9uLmZhaWx1cmVSZWFzb24gfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIlxuICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICpuZ0lmPVwiZmFpbHVyZVJlYXNvbi5vZmZzZXRXaWR0aCA8IGZhaWx1cmVSZWFzb24uc2Nyb2xsV2lkdGhcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgW2M4eUljb25dPVwiJ2luZm8tY2lyY2xlJ1wiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNob3dPbkhvdmVyIHAtbC04IHAtci04IGZpdC1oLTIwIG0tbC1hdXRvXCJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgIXJlYWRPbmx5ICYmXG4gICAgICAgICAgICBvcGVyYXRpb24uc3RhdHVzLnRvU3RyaW5nKCkgPT0gT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TX01BUC5GQUlMRUQuc3RhdHVzLnRvU3RyaW5nKClcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXhzXCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ1JldHJ5IG9wZXJhdGlvbicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwicmV0cnlTaW5nbGVPcGVyYXRpb24ob3BlcmF0aW9uKVwiXG4gICAgICAgICAgICBjOHlQcm9kdWN0RXhwZXJpZW5jZVxuICAgICAgICAgICAgW2FjdGlvbk5hbWVdPVwiQlVMS19PUEVSQVRJT05fRVZFTlRcIlxuICAgICAgICAgICAgW2FjdGlvbkRhdGFdPVwieyBhY3Rpb246IEFDVElPTlMuUkVUUlksIGNvbXBvbmVudDogQ09NUE9ORU5UUy5TSU5HTEVfT1BFUkFUSU9OX0lURU0gfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGkgW2M4eUljb25dPVwiJ3JlcGVhdCBtLXItNCdcIj48L2k+XG4gICAgICAgICAgICB7eyAnUmV0cnkgb3BlcmF0aW9uJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYzh5LWxpPlxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLW9wZXJhdGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL29wZXJhdGlvbnMvYnVsay1zaW5nbGUtb3BlcmF0aW9ucy1saXN0L3NpbmdsZS1vcGVyYXRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9vcGVyYXRpb25zL2J1bGstc2luZ2xlLW9wZXJhdGlvbnMtbGlzdC9zaW5nbGUtb3BlcmF0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWMsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixVQUFVLEVBQ1gsTUFBTSxtREFBbUQsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUU3QixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7O0FBRWpDOztHQUVHO0FBS0gsTUFBTSxPQUFPLDRCQUE0QjtJQWF2QyxZQUNVLFlBQTBCLEVBQzFCLGdCQUFrQyxFQUNsQyxnQkFBa0M7UUFGbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBZjVDLHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQzVDLFlBQU8sR0FBRyxrQkFBa0IsQ0FBQztRQUM3QixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWiw0QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQztRQUNsRCxpQ0FBNEIsR0FBb0MsNEJBQTRCLENBQUM7UUFJN0YsYUFBUSxHQUFHLEtBQUssQ0FBQztJQU9kLENBQUM7SUFFSixLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztJQUNwRixDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLGVBQWU7UUFDeEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQzlDLElBQUk7WUFDSixNQUFNO1lBQ04sUUFBUTtZQUNSLGVBQWU7WUFDZixjQUFjO1lBQ2QsVUFBVTtTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOytHQXZDVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qiw0UEN0QnpDLHE0RUF3RUE7OzRGRGxEYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0UsMkJBQTJCOytJQVdyQyxTQUFTO3NCQURSLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUV3QyxnQkFBZ0I7c0JBQTdELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW52ZW50b3J5U2VydmljZSwgSU9wZXJhdGlvbiwgT3BlcmF0aW9uU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgQUNUSU9OU19PUEVSQVRJT05TLFxuICBCVUxLX09QRVJBVElPTl9FVkVOVCxcbiAgQ09NUE9ORU5UU1xufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL29wZXJhdGlvbnMvcHJvZHVjdC1leHBlcmllbmNlJztcbmltcG9ydCB7XG4gIE9QRVJBVElPTl9TVEFUVVNfTEFCRUxTLFxuICBPUEVSQVRJT05fU1RBVFVTX09QVElPTlNfTUFQLFxuICBPcGVyYXRpb25TdGF0dXNPcHRpb25zTWFwU2hhcmVkXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9zaGFyZWQnO1xuaW1wb3J0IHsgb21pdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgU2luZ2xlIG9wZXJhdGlvbnMgbGlzdCBpbiBidWxrIG9wZXJhdGlvbnMgZGV0YWlscyBoYXMgYmVlbiByZXBsYWNlZCBieSBkYXRhIGdyaWQuIFRoaXMgY29tcG9uZW50IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgZnV0dXJlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktc2luZ2xlLW9wZXJhdGlvbi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpbmdsZS1vcGVyYXRpb24taXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2luZ2xlT3BlcmF0aW9uSXRlbUNvbXBvbmVudCB7XG4gIEJVTEtfT1BFUkFUSU9OX0VWRU5UID0gQlVMS19PUEVSQVRJT05fRVZFTlQ7XG4gIEFDVElPTlMgPSBBQ1RJT05TX09QRVJBVElPTlM7XG4gIENPTVBPTkVOVFMgPSBDT01QT05FTlRTO1xuICBkZXZpY2UgPSB7fTtcbiAgT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMgPSBPUEVSQVRJT05fU1RBVFVTX0xBQkVMUztcbiAgT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TX01BUDogT3BlcmF0aW9uU3RhdHVzT3B0aW9uc01hcFNoYXJlZCA9IE9QRVJBVElPTl9TVEFUVVNfT1BUSU9OU19NQVA7XG4gIEBJbnB1dCgpXG4gIG9wZXJhdGlvbjogSU9wZXJhdGlvbjtcbiAgQElucHV0KClcbiAgcmVhZE9ubHkgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgnZmFpbHVyZVJlYXNvbicsIHsgc3RhdGljOiB0cnVlIH0pIGZhaWx1cmVSZWFzb25SZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGludmVudG9yeVNlcnZpY2U6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBvcGVyYXRpb25TZXJ2aWNlOiBPcGVyYXRpb25TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRldmljZSA9IChhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGV0YWlsKHRoaXMub3BlcmF0aW9uLmRldmljZUlkKSk/LmRhdGE7XG4gIH1cblxuICBhc3luYyByZXRyeVNpbmdsZU9wZXJhdGlvbihzaW5nbGVPcGVyYXRpb24pIHtcbiAgICBjb25zdCBvcGVyYXRpb25Ub0NyZWF0ZSA9IG9taXQoc2luZ2xlT3BlcmF0aW9uLCBbXG4gICAgICAnaWQnLFxuICAgICAgJ3NlbGYnLFxuICAgICAgJ3N0YXR1cycsXG4gICAgICAnZmFpbHVyZVJlYXNvbicsXG4gICAgICAnY3JlYXRpb25UaW1lJyxcbiAgICAgICdkZWxpdmVyeSdcbiAgICBdKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLm9wZXJhdGlvblNlcnZpY2UuY3JlYXRlKG9wZXJhdGlvblRvQ3JlYXRlKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZ2V0dGV4dCgnT3BlcmF0aW9uIGNyZWF0ZWQuJykpO1xuICAgIH0gY2F0Y2ggKGVyKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGVyKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktbGkgY2xhc3M9XCJjOHktbGlzdF9faXRlbS0tZG91YmxlLWFjdGlvbnNcIj5cbiAgPGM4eS1saS1pY29uPlxuICAgIDxpXG4gICAgICBbYzh5SWNvbl09XCJPUEVSQVRJT05fU1RBVFVTX09QVElPTlNfTUFQW29wZXJhdGlvbi5zdGF0dXNdLmljb25cIlxuICAgICAgW3Rvb2x0aXBdPVwib3BlcmF0aW9uLnN0YXR1cy50b1N0cmluZygpIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtuZ0NsYXNzXT1cIk9QRVJBVElPTl9TVEFUVVNfT1BUSU9OU19NQVBbb3BlcmF0aW9uLnN0YXR1c10uc3R5bGVDbGFzc1wiXG4gICAgPjwvaT5cbiAgPC9jOHktbGktaWNvbj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7ICdjb250ZW50LWZsZXgtODAnOiAhcmVhZE9ubHksICdjb250ZW50LWZsZXgtNTAnOiByZWFkT25seSB9XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cIm0tci00XCI+XG4gICAgICAgIDxkZXZpY2Utc3RhdHVzIFttb109XCJkZXZpY2VcIj48L2RldmljZS1zdGF0dXM+XG4gICAgICA8L3NwYW4+XG4gICAgICA8YVxuICAgICAgICBbcm91dGVyTGlua109XCJbJy9kZXZpY2UnLCBvcGVyYXRpb24uZGV2aWNlSWQsICdkZXZpY2UtaW5mbyddXCJcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cImFjdGl2ZVwiXG4gICAgICA+XG4gICAgICAgIHt7IG9wZXJhdGlvbi5kZXZpY2VOYW1lIH19XG4gICAgICA8L2E+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0zXCI+XG4gICAgICA8c21hbGwgY2xhc3M9XCJpY29uLWZsZXggdGV4dC1tdXRlZFwiPlxuICAgICAgICA8aVxuICAgICAgICAgIGNsYXNzPVwibS1yLTRcIlxuICAgICAgICAgIGM4eUljb249XCJjYWxlbmRhclwiXG4gICAgICAgID48L2k+XG4gICAgICAgIHt7IG9wZXJhdGlvbi5jcmVhdGlvblRpbWUgfCBjOHlEYXRlIH19XG4gICAgICA8L3NtYWxsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtNVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhLWktY2VudGVyXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCJcbiAgICAgICAgICAjZmFpbHVyZVJlYXNvblxuICAgICAgICA+XG4gICAgICAgICAge3sgb3BlcmF0aW9uLmZhaWx1cmVSZWFzb24gfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJidG4taGVscCBidG4taGVscC0tc21cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBwb3BvdmVyPVwie3sgb3BlcmF0aW9uLmZhaWx1cmVSZWFzb24gfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIlxuICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICpuZ0lmPVwiZmFpbHVyZVJlYXNvbi5vZmZzZXRXaWR0aCA8IGZhaWx1cmVSZWFzb24uc2Nyb2xsV2lkdGhcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgW2M4eUljb25dPVwiJ2luZm8tY2lyY2xlJ1wiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInNob3dPbkhvdmVyIHAtbC04IHAtci04IGZpdC1oLTIwIG0tbC1hdXRvXCJcbiAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgIXJlYWRPbmx5ICYmXG4gICAgICAgICAgICBvcGVyYXRpb24uc3RhdHVzLnRvU3RyaW5nKCkgPT0gT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TX01BUC5GQUlMRUQuc3RhdHVzLnRvU3RyaW5nKClcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXhzXCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ1JldHJ5IG9wZXJhdGlvbicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwicmV0cnlTaW5nbGVPcGVyYXRpb24ob3BlcmF0aW9uKVwiXG4gICAgICAgICAgICBjOHlQcm9kdWN0RXhwZXJpZW5jZVxuICAgICAgICAgICAgW2FjdGlvbk5hbWVdPVwiQlVMS19PUEVSQVRJT05fRVZFTlRcIlxuICAgICAgICAgICAgW2FjdGlvbkRhdGFdPVwieyBhY3Rpb246IEFDVElPTlMuUkVUUlksIGNvbXBvbmVudDogQ09NUE9ORU5UUy5TSU5HTEVfT1BFUkFUSU9OX0lURU0gfVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGkgW2M4eUljb25dPVwiJ3JlcGVhdCBtLXItNCdcIj48L2k+XG4gICAgICAgICAgICB7eyAnUmV0cnkgb3BlcmF0aW9uJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYzh5LWxpPlxuIl19
@@ -1,15 +1,18 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { gettext } from '@c8y/ngx-components';
3
- import { OperationStatus } from '@c8y/client';
4
- import { StatusFilterComponent } from '@c8y/ngx-components/operations/status-filter';
1
+ import { NgIf } from '@angular/common';
2
+ import { Component, EventEmitter, inject, Input, Output, ViewChild } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { OperationService, OperationStatus } from '@c8y/client';
5
+ import { AlertService, C8yTranslatePipe, DataGridComponent, DataGridModule, EmptyStateComponent, gettext, IconDirective } from '@c8y/ngx-components';
5
6
  import { BulkOperationsService } from '@c8y/ngx-components/operations/bulk-operations-service';
7
+ import { CreationTimeGridColumn, DeviceGridColumn, FailureReasonGridColumn, OperationStatusGridColumn } from '@c8y/ngx-components/operations/grid-columns';
6
8
  import { OPERATION_STATUS_LABELS, OPERATION_STATUS_OPTIONS_MAP } from '@c8y/ngx-components/operations/shared';
9
+ import { StatusFilterComponent, StatusFilterModule } from '@c8y/ngx-components/operations/status-filter';
10
+ import { omit } from 'lodash-es';
11
+ import { merge, Subject, throttleTime } from 'rxjs';
7
12
  import * as i0 from "@angular/core";
8
13
  import * as i1 from "@c8y/ngx-components/operations/bulk-operations-service";
9
- import * as i2 from "@c8y/ngx-components";
10
- import * as i3 from "@angular/common";
11
- import * as i4 from "@c8y/ngx-components/operations/status-filter";
12
- import * as i5 from "./single-operation-item.component";
14
+ import * as i2 from "@c8y/ngx-components/operations/status-filter";
15
+ import * as i3 from "@c8y/ngx-components";
13
16
  export class SingleOperationsListComponent {
14
17
  constructor(bulkOperationsService) {
15
18
  this.bulkOperationsService = bulkOperationsService;
@@ -18,30 +21,77 @@ export class SingleOperationsListComponent {
18
21
  this.OPERATION_STATUS = { ...OperationStatus, ALL: gettext('ALL') };
19
22
  this.OPERATION_STATUS_LABELS = OPERATION_STATUS_LABELS;
20
23
  this.OPERATION_STATUS_OPTIONS_MAP = OPERATION_STATUS_OPTIONS_MAP;
24
+ this.displayOptions = {
25
+ gridHeader: false
26
+ };
27
+ this.pagination = {
28
+ pageSize: 25,
29
+ currentPage: 1
30
+ };
31
+ this.columns = [
32
+ new OperationStatusGridColumn(),
33
+ new DeviceGridColumn(),
34
+ new CreationTimeGridColumn(),
35
+ new FailureReasonGridColumn()
36
+ ];
37
+ this.actions = [
38
+ {
39
+ type: 'retry',
40
+ icon: 'repeat',
41
+ label: gettext('Retry operation'),
42
+ text: gettext('Retry operation'),
43
+ callback: operation => {
44
+ this.retrySingleOperation(operation);
45
+ },
46
+ showIf: operation => !this.readOnly &&
47
+ operation.status.toString() === OPERATION_STATUS_OPTIONS_MAP.FAILED.status.toString()
48
+ }
49
+ ];
50
+ this.operationService = inject(OperationService);
51
+ this.alertService = inject(AlertService);
52
+ this.reload$ = new Subject();
53
+ this.reloadThrottled$ = new Subject();
54
+ this.serverSideDataCallback = this.onDataSourceModifier.bind(this);
55
+ merge(this.reload$, this.reloadThrottled$.pipe(throttleTime(30_000)))
56
+ .pipe(takeUntilDestroyed())
57
+ .subscribe(() => this.dataGrid?.reload(false));
21
58
  }
22
59
  async ngAfterViewInit() {
23
60
  if (this.statusFilter) {
24
- this.filterOperationsByType();
61
+ this.setStatusFilter(false);
25
62
  }
26
63
  }
27
64
  ngOnChanges(changes) {
28
65
  if (changes.bulkOperation && !changes.bulkOperation.firstChange) {
29
- this.filterOperationsByType();
66
+ this.reloadThrottled$.next();
30
67
  }
31
68
  }
32
- filterOperationsByType() {
69
+ reload(option) {
70
+ const [opt] = option ?? [];
71
+ this.filterStatus = opt?.status ?? this.filterStatus;
72
+ this.reload$.next();
73
+ }
74
+ async onDataSourceModifier(dataSourceModifier) {
75
+ const filter = this.filterStatus ?? this.getFilterTypeOfSingleOperations();
76
+ const { res, data, paging } = await this.bulkOperationsService.getSingleOperationsByStatus(filter, this.bulkOperation.id, dataSourceModifier.pagination);
77
+ const filteredSize = await this.bulkOperationsService.getSingleOperationsCountByStatus(filter, this.bulkOperation.id);
78
+ const size = await this.bulkOperationsService.getSingleOperationsTotal(this.bulkOperation.id);
79
+ const serverSideDataResult = { res, data, paging, filteredSize, size };
80
+ return serverSideDataResult;
81
+ }
82
+ setStatusFilter(emit = true) {
33
83
  if (this.statusFilter) {
34
84
  const typeFilter = this.getFilterTypeOfSingleOperations();
35
85
  this.statusFilter.preset(typeFilter === this.OPERATION_STATUS.ALL
36
86
  ? []
37
- : [{ label: this.OPERATION_STATUS_LABELS[typeFilter] }]);
87
+ : [{ label: this.OPERATION_STATUS_LABELS[typeFilter] }], emit);
38
88
  }
39
89
  else {
40
- setTimeout(this.filterOperationsByType.bind(this));
90
+ setTimeout(this.setStatusFilter.bind(this, emit));
41
91
  }
42
92
  }
43
93
  getFilterTypeOfSingleOperations() {
44
- const progress = this.bulkOperation.progress;
94
+ const { progress } = this.bulkOperation;
45
95
  if (progress.failed > 0) {
46
96
  return this.OPERATION_STATUS.FAILED;
47
97
  }
@@ -56,18 +106,39 @@ export class SingleOperationsListComponent {
56
106
  }
57
107
  return this.OPERATION_STATUS.ALL;
58
108
  }
59
- async getOperationsByStatus(filter) {
60
- this.singleOperations = await this.bulkOperationsService.getSingleOperationsByStatus(filter[0] && filter[0].label, this.bulkOperation.id);
61
- }
62
109
  retryBulkOperation() {
63
110
  this.onRetryFailedOperations.emit(this.bulkOperation);
64
111
  }
112
+ async retrySingleOperation(singleOperation) {
113
+ const operationToCreate = omit(singleOperation, [
114
+ 'id',
115
+ 'self',
116
+ 'status',
117
+ 'failureReason',
118
+ 'creationTime',
119
+ 'delivery'
120
+ ]);
121
+ try {
122
+ await this.operationService.create(operationToCreate);
123
+ this.alertService.success(gettext('Operation created.'));
124
+ }
125
+ catch (er) {
126
+ this.alertService.addServerFailure(er);
127
+ }
128
+ }
65
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SingleOperationsListComponent, deps: [{ token: i1.BulkOperationsService }], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SingleOperationsListComponent, selector: "c8y-single-operations-list", inputs: { bulkOperation: "bulkOperation", readOnly: "readOnly" }, outputs: { onRetryFailedOperations: "onRetryFailedOperations" }, viewQueries: [{ propertyName: "statusFilter", first: true, predicate: StatusFilterComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container\n *ngIf=\"\n bulkOperation.progress.failed ||\n bulkOperation.progress.executing ||\n bulkOperation.progress.pending ||\n bulkOperation.progress.successful\n \"\n>\n <div class=\"legend form-block p-t-16 m-b-0\" translate>Operations</div>\n <div class=\"d-flex a-i-center\">\n <div class=\"d-flex a-i-center p-b-8\">\n <span class=\"m-r-4 text-medium\" translate>Filter by status</span>\n <c8y-status-filter\n small\n [options]=\"OPERATION_STATUS_OPTIONS_MAP\"\n (onFilterChanged)=\"getOperationsByStatus($event)\"\n ></c8y-status-filter>\n </div>\n <div class=\"m-l-auto p-b-8\" *ngIf=\"!readOnly && bulkOperation.progress.failed > 0\">\n <button\n class=\"btn btn-navbar\"\n (click)=\"retryBulkOperation()\"\n title=\"{{ 'Retry failed operations' | translate }}\"\n >\n <i c8yIcon=\"repeat\" class=\"m-r-4\"></i> <span translate>Retry failed operations</span>\n </button>\n </div>\n </div>\n <div class=\"inner-scroll\">\n <c8y-list-group>\n <div class=\"d-contents\" *c8yFor=\"let operation of singleOperations; loadMore: 'auto'\">\n <c8y-single-operation-item [operation]=\"operation\" [readOnly]=\"readOnly\" class=\"d-contents\">\n </c8y-single-operation-item>\n </div>\n\n <c8y-li *ngIf=\"singleOperations && singleOperations.data.length === 0\">\n <c8y-li-body>\n <div class=\"c8y-empty-state text-center\">\n <h2 class=\"c8y-icon c8y-icon-energy c8y-icon-duocolor m-b-16\"></h2>\n <div>\n <h3 translate>No single operations of the selected status to display.</h3>\n <p class=\"m-b-16\" translate>Single operations will be displayed here</p>\n </div>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: i2.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i2.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i2.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i4.StatusFilterComponent, selector: "c8y-status-filter", inputs: ["options", "multiple", "small"], outputs: ["onFilterChanged"] }, { kind: "component", type: i5.SingleOperationItemComponent, selector: "c8y-single-operation-item", inputs: ["operation", "readOnly"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SingleOperationsListComponent, isStandalone: true, selector: "c8y-single-operations-list", inputs: { bulkOperation: "bulkOperation", readOnly: "readOnly" }, outputs: { onRetryFailedOperations: "onRetryFailedOperations" }, viewQueries: [{ propertyName: "statusFilter", first: true, predicate: StatusFilterComponent, descendants: true }, { propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container\n *ngIf=\"\n bulkOperation.progress.failed ||\n bulkOperation.progress.executing ||\n bulkOperation.progress.pending ||\n bulkOperation.progress.successful\n \"\n>\n <div\n class=\"legend form-block p-t-16 m-b-0\"\n translate\n >\n Operations\n </div>\n <div class=\"d-flex a-i-center\">\n <div class=\"d-flex a-i-center p-b-8\">\n <span\n class=\"m-r-4 text-medium\"\n translate\n >\n Filter by status\n </span>\n <c8y-status-filter\n small\n [options]=\"OPERATION_STATUS_OPTIONS_MAP\"\n (onFilterChanged)=\"reload($event)\"\n ></c8y-status-filter>\n </div>\n <div\n class=\"m-l-auto p-b-8\"\n *ngIf=\"!readOnly && bulkOperation.progress.failed > 0\"\n >\n <button\n class=\"btn btn-navbar\"\n title=\"{{ 'Retry failed operations' | translate }}\"\n (click)=\"retryBulkOperation()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"repeat\"\n ></i>\n <span translate>Retry failed operations</span>\n </button>\n </div>\n </div>\n <c8y-data-grid\n [actionControls]=\"actions\"\n [columns]=\"columns\"\n [displayOptions]=\"displayOptions\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [pagination]=\"pagination\"\n >\n <c8y-ui-empty-state\n icon=\"search\"\n [title]=\"'No single operations of the selected status to display.' | translate\"\n [subtitle]=\"'Single operations will be displayed here' | translate\"\n horizontal\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: StatusFilterModule }, { kind: "component", type: i2.StatusFilterComponent, selector: "c8y-status-filter", inputs: ["options", "multiple", "small"], outputs: ["onFilterChanged"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "ngmodule", type: DataGridModule }, { kind: "component", type: i3.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "hideReload"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }] }); }
67
131
  }
68
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SingleOperationsListComponent, decorators: [{
69
133
  type: Component,
70
- args: [{ selector: 'c8y-single-operations-list', template: "<ng-container\n *ngIf=\"\n bulkOperation.progress.failed ||\n bulkOperation.progress.executing ||\n bulkOperation.progress.pending ||\n bulkOperation.progress.successful\n \"\n>\n <div class=\"legend form-block p-t-16 m-b-0\" translate>Operations</div>\n <div class=\"d-flex a-i-center\">\n <div class=\"d-flex a-i-center p-b-8\">\n <span class=\"m-r-4 text-medium\" translate>Filter by status</span>\n <c8y-status-filter\n small\n [options]=\"OPERATION_STATUS_OPTIONS_MAP\"\n (onFilterChanged)=\"getOperationsByStatus($event)\"\n ></c8y-status-filter>\n </div>\n <div class=\"m-l-auto p-b-8\" *ngIf=\"!readOnly && bulkOperation.progress.failed > 0\">\n <button\n class=\"btn btn-navbar\"\n (click)=\"retryBulkOperation()\"\n title=\"{{ 'Retry failed operations' | translate }}\"\n >\n <i c8yIcon=\"repeat\" class=\"m-r-4\"></i> <span translate>Retry failed operations</span>\n </button>\n </div>\n </div>\n <div class=\"inner-scroll\">\n <c8y-list-group>\n <div class=\"d-contents\" *c8yFor=\"let operation of singleOperations; loadMore: 'auto'\">\n <c8y-single-operation-item [operation]=\"operation\" [readOnly]=\"readOnly\" class=\"d-contents\">\n </c8y-single-operation-item>\n </div>\n\n <c8y-li *ngIf=\"singleOperations && singleOperations.data.length === 0\">\n <c8y-li-body>\n <div class=\"c8y-empty-state text-center\">\n <h2 class=\"c8y-icon c8y-icon-energy c8y-icon-duocolor m-b-16\"></h2>\n <div>\n <h3 translate>No single operations of the selected status to display.</h3>\n <p class=\"m-b-16\" translate>Single operations will be displayed here</p>\n </div>\n </div>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n </div>\n</ng-container>\n" }]
134
+ args: [{ standalone: true, selector: 'c8y-single-operations-list', imports: [
135
+ StatusFilterModule,
136
+ NgIf,
137
+ C8yTranslatePipe,
138
+ IconDirective,
139
+ DataGridModule,
140
+ EmptyStateComponent
141
+ ], template: "<ng-container\n *ngIf=\"\n bulkOperation.progress.failed ||\n bulkOperation.progress.executing ||\n bulkOperation.progress.pending ||\n bulkOperation.progress.successful\n \"\n>\n <div\n class=\"legend form-block p-t-16 m-b-0\"\n translate\n >\n Operations\n </div>\n <div class=\"d-flex a-i-center\">\n <div class=\"d-flex a-i-center p-b-8\">\n <span\n class=\"m-r-4 text-medium\"\n translate\n >\n Filter by status\n </span>\n <c8y-status-filter\n small\n [options]=\"OPERATION_STATUS_OPTIONS_MAP\"\n (onFilterChanged)=\"reload($event)\"\n ></c8y-status-filter>\n </div>\n <div\n class=\"m-l-auto p-b-8\"\n *ngIf=\"!readOnly && bulkOperation.progress.failed > 0\"\n >\n <button\n class=\"btn btn-navbar\"\n title=\"{{ 'Retry failed operations' | translate }}\"\n (click)=\"retryBulkOperation()\"\n >\n <i\n class=\"m-r-4\"\n c8yIcon=\"repeat\"\n ></i>\n <span translate>Retry failed operations</span>\n </button>\n </div>\n </div>\n <c8y-data-grid\n [actionControls]=\"actions\"\n [columns]=\"columns\"\n [displayOptions]=\"displayOptions\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [pagination]=\"pagination\"\n >\n <c8y-ui-empty-state\n icon=\"search\"\n [title]=\"'No single operations of the selected status to display.' | translate\"\n [subtitle]=\"'Single operations will be displayed here' | translate\"\n horizontal\n ></c8y-ui-empty-state>\n </c8y-data-grid>\n</ng-container>\n" }]
71
142
  }], ctorParameters: () => [{ type: i1.BulkOperationsService }], propDecorators: { bulkOperation: [{
72
143
  type: Input
73
144
  }], readOnly: [{
@@ -77,5 +148,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
77
148
  }], statusFilter: [{
78
149
  type: ViewChild,
79
150
  args: [StatusFilterComponent, { static: false }]
151
+ }], dataGrid: [{
152
+ type: ViewChild,
153
+ args: [DataGridComponent, { static: false }]
80
154
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLW9wZXJhdGlvbnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9vcGVyYXRpb25zL2J1bGstc2luZ2xlLW9wZXJhdGlvbnMtbGlzdC9zaW5nbGUtb3BlcmF0aW9ucy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL29wZXJhdGlvbnMvYnVsay1zaW5nbGUtb3BlcmF0aW9ucy1saXN0L3NpbmdsZS1vcGVyYXRpb25zLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBMkMsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQy9GLE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsNEJBQTRCLEVBQzdCLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7QUFNL0MsTUFBTSxPQUFPLDZCQUE2QjtJQWV4QyxZQUFvQixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQVhoRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ1AsNEJBQXVCLEdBQTBDLElBQUksWUFBWSxFQUFFLENBQUM7UUFLOUYscUJBQWdCLEdBQUcsRUFBRSxHQUFHLGVBQWUsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0QsNEJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDbEQsaUNBQTRCLEdBQW9DLDRCQUE0QixDQUFDO0lBRzFCLENBQUM7SUFF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QUdQLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJT3BlcmF0aW9uLCBJT3BlcmF0aW9uQnVsaywgSVJlc3VsdExpc3QsIE9wZXJhdGlvblN0YXR1cyB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IFN0YXR1c0ZpbHRlckNvbXBvbmVudCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9zdGF0dXMtZmlsdGVyJztcbmltcG9ydCB7IEJ1bGtPcGVyYXRpb25zU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9idWxrLW9wZXJhdGlvbnMtc2VydmljZSc7XG5pbXBvcnQge1xuICBPcGVyYXRpb25TdGF0dXNPcHRpb24sXG4gIE9wZXJhdGlvblN0YXR1c09wdGlvbnNNYXBTaGFyZWQsXG4gIE9QRVJBVElPTl9TVEFUVVNfTEFCRUxTLFxuICBPUEVSQVRJT05fU1RBVFVTX09QVElPTlNfTUFQXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktc2luZ2xlLW9wZXJhdGlvbnMtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW5nbGUtb3BlcmF0aW9ucy1saXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTaW5nbGVPcGVyYXRpb25zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGJ1bGtPcGVyYXRpb246IFBhcnRpYWw8SU9wZXJhdGlvbkJ1bGs+O1xuICBASW5wdXQoKVxuICByZWFkT25seSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgb25SZXRyeUZhaWxlZE9wZXJhdGlvbnM6IEV2ZW50RW1pdHRlcjxQYXJ0aWFsPElPcGVyYXRpb25CdWxrPj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChTdGF0dXNGaWx0ZXJDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBzdGF0dXNGaWx0ZXI6IFN0YXR1c0ZpbHRlckNvbXBvbmVudDtcblxuICBPUEVSQVRJT05fU1RBVFVTID0geyAuLi5PcGVyYXRpb25TdGF0dXMsIEFMTDogZ2V0dGV4dCgnQUxMJykgfTtcbiAgT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMgPSBPUEVSQVRJT05fU1RBVFVTX0xBQkVMUztcbiAgT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TX01BUDogT3BlcmF0aW9uU3RhdHVzT3B0aW9uc01hcFNoYXJlZCA9IE9QRVJBVElPTl9TVEFUVVNfT1BUSU9OU19NQVA7XG4gIHNpbmdsZU9wZXJhdGlvbnM6IElSZXN1bHRMaXN0PElPcGVyYXRpb24+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnVsa09wZXJhdGlvbnNTZXJ2aWNlOiBCdWxrT3BlcmF0aW9uc1NlcnZpY2UpIHt9XG5cbiAgYXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLnN0YXR1c0ZpbHRlcikge1xuICAgICAgdGhpcy5maWx0ZXJPcGVyYXRpb25zQnlUeXBlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmJ1bGtPcGVyYXRpb24gJiYgIWNoYW5nZXMuYnVsa09wZXJhdGlvbi5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5maWx0ZXJPcGVyYXRpb25zQnlUeXBlKCk7XG4gICAgfVxuICB9XG5cbiAgZmlsdGVyT3BlcmF0aW9uc0J5VHlwZSgpIHtcbiAgICBpZiAodGhpcy5zdGF0dXNGaWx0ZXIpIHtcbiAgICAgIGNvbnN0IHR5cGVGaWx0ZXIgPSB0aGlzLmdldEZpbHRlclR5cGVPZlNpbmdsZU9wZXJhdGlvbnMoKTtcbiAgICAgIHRoaXMuc3RhdHVzRmlsdGVyLnByZXNldChcbiAgICAgICAgdHlwZUZpbHRlciA9PT0gdGhpcy5PUEVSQVRJT05fU1RBVFVTLkFMTFxuICAgICAgICAgID8gW11cbiAgICAgICAgICA6IFt7IGxhYmVsOiB0aGlzLk9QRVJBVElPTl9TVEFUVVNfTEFCRUxTW3R5cGVGaWx0ZXJdIH1dXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUaW1lb3V0KHRoaXMuZmlsdGVyT3BlcmF0aW9uc0J5VHlwZS5iaW5kKHRoaXMpKTtcbiAgICB9XG4gIH1cblxuICBnZXRGaWx0ZXJUeXBlT2ZTaW5nbGVPcGVyYXRpb25zKCkge1xuICAgIGNvbnN0IHByb2dyZXNzID0gdGhpcy5idWxrT3BlcmF0aW9uLnByb2dyZXNzO1xuXG4gICAgaWYgKHByb2dyZXNzLmZhaWxlZCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLk9QRVJBVElPTl9TVEFUVVMuRkFJTEVEO1xuICAgIH0gZWxzZSBpZiAocHJvZ3Jlc3MuZmFpbGVkID09PSAwICYmIHByb2dyZXNzLnN1Y2Nlc3NmdWwgPT09IDAgJiYgcHJvZ3Jlc3MucGVuZGluZyA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuT1BFUkFUSU9OX1NUQVRVUy5FWEVDVVRJTkc7XG4gICAgfSBlbHNlIGlmIChwcm9ncmVzcy5mYWlsZWQgPT09IDAgJiYgcHJvZ3Jlc3Muc3VjY2Vzc2Z1bCA9PT0gMCAmJiBwcm9ncmVzcy5leGVjdXRpbmcgPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLk9QRVJBVElPTl9TVEFUVVMuUEVORElORztcbiAgICB9IGVsc2UgaWYgKHByb2dyZXNzLmZhaWxlZCA9PT0gMCAmJiBwcm9ncmVzcy5wZW5kaW5nID09PSAwICYmIHByb2dyZXNzLmV4ZWN1dGluZyA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuT1BFUkFUSU9OX1NUQVRVUy5TVUNDRVNTRlVMO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLk9QRVJBVElPTl9TVEFUVVMuQUxMO1xuICB9XG5cbiAgYXN5bmMgZ2V0T3BlcmF0aW9uc0J5U3RhdHVzKGZpbHRlcjogT3BlcmF0aW9uU3RhdHVzT3B0aW9uW10pIHtcbiAgICB0aGlzLnNpbmdsZU9wZXJhdGlvbnMgPSBhd2FpdCB0aGlzLmJ1bGtPcGVyYXRpb25zU2VydmljZS5nZXRTaW5nbGVPcGVyYXRpb25zQnlTdGF0dXMoXG4gICAgICBmaWx0ZXJbMF0gJiYgZmlsdGVyWzBdLmxhYmVsLFxuICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLmlkXG4gICAgKTtcbiAgfVxuXG4gIHJldHJ5QnVsa09wZXJhdGlvbigpIHtcbiAgICB0aGlzLm9uUmV0cnlGYWlsZWRPcGVyYXRpb25zLmVtaXQodGhpcy5idWxrT3BlcmF0aW9uKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgIGJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MuZmFpbGVkIHx8XG4gICAgYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5leGVjdXRpbmcgfHxcbiAgICBidWxrT3BlcmF0aW9uLnByb2dyZXNzLnBlbmRpbmcgfHxcbiAgICBidWxrT3BlcmF0aW9uLnByb2dyZXNzLnN1Y2Nlc3NmdWxcbiAgXCJcbj5cbiAgPGRpdiBjbGFzcz1cImxlZ2VuZCBmb3JtLWJsb2NrIHAtdC0xNiBtLWItMFwiIHRyYW5zbGF0ZT5PcGVyYXRpb25zPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlciBwLWItOFwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtLXItNCB0ZXh0LW1lZGl1bVwiIHRyYW5zbGF0ZT5GaWx0ZXIgYnkgc3RhdHVzPC9zcGFuPlxuICAgICAgPGM4eS1zdGF0dXMtZmlsdGVyXG4gICAgICAgIHNtYWxsXG4gICAgICAgIFtvcHRpb25zXT1cIk9QRVJBVElPTl9TVEFUVVNfT1BUSU9OU19NQVBcIlxuICAgICAgICAob25GaWx0ZXJDaGFuZ2VkKT1cImdldE9wZXJhdGlvbnNCeVN0YXR1cygkZXZlbnQpXCJcbiAgICAgID48L2M4eS1zdGF0dXMtZmlsdGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtLWwtYXV0byBwLWItOFwiICpuZ0lmPVwiIXJlYWRPbmx5ICYmIGJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MuZmFpbGVkID4gMFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJ0biBidG4tbmF2YmFyXCJcbiAgICAgICAgKGNsaWNrKT1cInJldHJ5QnVsa09wZXJhdGlvbigpXCJcbiAgICAgICAgdGl0bGU9XCJ7eyAnUmV0cnkgZmFpbGVkIG9wZXJhdGlvbnMnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgID5cbiAgICAgICAgPGkgYzh5SWNvbj1cInJlcGVhdFwiIGNsYXNzPVwibS1yLTRcIj48L2k+IDxzcGFuIHRyYW5zbGF0ZT5SZXRyeSBmYWlsZWQgb3BlcmF0aW9uczwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImlubmVyLXNjcm9sbFwiPlxuICAgIDxjOHktbGlzdC1ncm91cD5cbiAgICAgIDxkaXYgY2xhc3M9XCJkLWNvbnRlbnRzXCIgKmM4eUZvcj1cImxldCBvcGVyYXRpb24gb2Ygc2luZ2xlT3BlcmF0aW9uczsgbG9hZE1vcmU6ICdhdXRvJ1wiPlxuICAgICAgICA8Yzh5LXNpbmdsZS1vcGVyYXRpb24taXRlbSBbb3BlcmF0aW9uXT1cIm9wZXJhdGlvblwiIFtyZWFkT25seV09XCJyZWFkT25seVwiIGNsYXNzPVwiZC1jb250ZW50c1wiPlxuICAgICAgICA8L2M4eS1zaW5nbGUtb3BlcmF0aW9uLWl0ZW0+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGM4eS1saSAqbmdJZj1cInNpbmdsZU9wZXJhdGlvbnMgJiYgc2luZ2xlT3BlcmF0aW9ucy5kYXRhLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICA8Yzh5LWxpLWJvZHk+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImM4eS1lbXB0eS1zdGF0ZSB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGgyIGNsYXNzPVwiYzh5LWljb24gYzh5LWljb24tZW5lcmd5IGM4eS1pY29uLWR1b2NvbG9yIG0tYi0xNlwiPjwvaDI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8aDMgdHJhbnNsYXRlPk5vIHNpbmdsZSBvcGVyYXRpb25zIG9mIHRoZSBzZWxlY3RlZCBzdGF0dXMgdG8gZGlzcGxheS48L2gzPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cIm0tYi0xNlwiIHRyYW5zbGF0ZT5TaW5nbGUgb3BlcmF0aW9ucyB3aWxsIGJlIGRpc3BsYXllZCBoZXJlPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYzh5LWxpLWJvZHk+XG4gICAgICA8L2M4eS1saT5cbiAgICA8L2M4eS1saXN0LWdyb3VwPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLW9wZXJhdGlvbnMtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9vcGVyYXRpb25zL2J1bGstc2luZ2xlLW9wZXJhdGlvbnMtbGlzdC9zaW5nbGUtb3BlcmF0aW9ucy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL29wZXJhdGlvbnMvYnVsay1zaW5nbGUtb3BlcmF0aW9ucy1saXN0L3NpbmdsZS1vcGVyYXRpb25zLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBSUwsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDaEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUVMLFlBQVksRUFDWixnQkFBZ0IsRUFFaEIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFHZCxtQkFBbUIsRUFDbkIsT0FBTyxFQUNQLGFBQWEsRUFJZCxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQy9GLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDMUIsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUc3QixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ25CLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUFFLElB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RSxLQUFLLEVBQUU7Z0JBR25ELFFBQVE7c0JBRFAsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgSU9wZXJhdGlvbixcbiAgSU9wZXJhdGlvbkJ1bGssXG4gIElSZXN1bHRMaXN0LFxuICBPcGVyYXRpb25TZXJ2aWNlLFxuICBPcGVyYXRpb25TdGF0dXNcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQWN0aW9uQ29udHJvbCxcbiAgQWxlcnRTZXJ2aWNlLFxuICBDOHlUcmFuc2xhdGVQaXBlLFxuICBDb2x1bW4sXG4gIERhdGFHcmlkQ29tcG9uZW50LFxuICBEYXRhR3JpZE1vZHVsZSxcbiAgRGF0YVNvdXJjZU1vZGlmaWVyLFxuICBEaXNwbGF5T3B0aW9ucyxcbiAgRW1wdHlTdGF0ZUNvbXBvbmVudCxcbiAgZ2V0dGV4dCxcbiAgSWNvbkRpcmVjdGl2ZSxcbiAgUGFnaW5hdGlvbixcbiAgU2VydmVyU2lkZURhdGFDYWxsYmFjayxcbiAgU2VydmVyU2lkZURhdGFSZXN1bHRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCdWxrT3BlcmF0aW9uc1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL29wZXJhdGlvbnMvYnVsay1vcGVyYXRpb25zLXNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ3JlYXRpb25UaW1lR3JpZENvbHVtbixcbiAgRGV2aWNlR3JpZENvbHVtbixcbiAgRmFpbHVyZVJlYXNvbkdyaWRDb2x1bW4sXG4gIE9wZXJhdGlvblN0YXR1c0dyaWRDb2x1bW5cbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9vcGVyYXRpb25zL2dyaWQtY29sdW1ucyc7XG5pbXBvcnQge1xuICBPUEVSQVRJT05fU1RBVFVTX0xBQkVMUyxcbiAgT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TX01BUCxcbiAgT3BlcmF0aW9uU3RhdHVzT3B0aW9uLFxuICBPcGVyYXRpb25TdGF0dXNPcHRpb25zTWFwU2hhcmVkXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvb3BlcmF0aW9ucy9zaGFyZWQnO1xuaW1wb3J0IHtcbiAgU3RhdHVzRmlsdGVyQ29tcG9uZW50LFxuICBTdGF0dXNGaWx0ZXJNb2R1bGVcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9vcGVyYXRpb25zL3N0YXR1cy1maWx0ZXInO1xuaW1wb3J0IHsgb21pdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2M4eS1zaW5nbGUtb3BlcmF0aW9ucy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpbmdsZS1vcGVyYXRpb25zLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgU3RhdHVzRmlsdGVyTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgQzh5VHJhbnNsYXRlUGlwZSxcbiAgICBJY29uRGlyZWN0aXZlLFxuICAgIERhdGFHcmlkTW9kdWxlLFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaW5nbGVPcGVyYXRpb25zTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpXG4gIGJ1bGtPcGVyYXRpb246IFBhcnRpYWw8SU9wZXJhdGlvbkJ1bGs+O1xuICBASW5wdXQoKVxuICByZWFkT25seSA9IGZhbHNlO1xuICBAT3V0cHV0KCkgb25SZXRyeUZhaWxlZE9wZXJhdGlvbnM6IEV2ZW50RW1pdHRlcjxQYXJ0aWFsPElPcGVyYXRpb25CdWxrPj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChTdGF0dXNGaWx0ZXJDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBzdGF0dXNGaWx0ZXI6IFN0YXR1c0ZpbHRlckNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZChEYXRhR3JpZENvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGRhdGFHcmlkOiBEYXRhR3JpZENvbXBvbmVudDtcblxuICBPUEVSQVRJT05fU1RBVFVTID0geyAuLi5PcGVyYXRpb25TdGF0dXMsIEFMTDogZ2V0dGV4dCgnQUxMJykgfTtcbiAgT1BFUkFUSU9OX1NUQVRVU19MQUJFTFMgPSBPUEVSQVRJT05fU1RBVFVTX0xBQkVMUztcbiAgT1BFUkFUSU9OX1NUQVRVU19PUFRJT05TX01BUDogT3BlcmF0aW9uU3RhdHVzT3B0aW9uc01hcFNoYXJlZCA9IE9QRVJBVElPTl9TVEFUVVNfT1BUSU9OU19NQVA7XG4gIHNpbmdsZU9wZXJhdGlvbnM6IElSZXN1bHRMaXN0PElPcGVyYXRpb24+O1xuXG4gIGRpc3BsYXlPcHRpb25zOiBQYXJ0aWFsPERpc3BsYXlPcHRpb25zPiA9IHtcbiAgICBncmlkSGVhZGVyOiBmYWxzZVxuICB9O1xuICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uID0ge1xuICAgIHBhZ2VTaXplOiAyNSxcbiAgICBjdXJyZW50UGFnZTogMVxuICB9O1xuXG4gIGNvbHVtbnM6IENvbHVtbltdID0gW1xuICAgIG5ldyBPcGVyYXRpb25TdGF0dXNHcmlkQ29sdW1uKCksXG4gICAgbmV3IERldmljZUdyaWRDb2x1bW4oKSxcbiAgICBuZXcgQ3JlYXRpb25UaW1lR3JpZENvbHVtbigpLFxuICAgIG5ldyBGYWlsdXJlUmVhc29uR3JpZENvbHVtbigpXG4gIF07XG5cbiAgYWN0aW9uczogQWN0aW9uQ29udHJvbFtdID0gW1xuICAgIHtcbiAgICAgIHR5cGU6ICdyZXRyeScsXG4gICAgICBpY29uOiAncmVwZWF0JyxcbiAgICAgIGxhYmVsOiBnZXR0ZXh0KCdSZXRyeSBvcGVyYXRpb24nKSxcbiAgICAgIHRleHQ6IGdldHRleHQoJ1JldHJ5IG9wZXJhdGlvbicpLFxuICAgICAgY2FsbGJhY2s6IG9wZXJhdGlvbiA9PiB7XG4gICAgICAgIHRoaXMucmV0cnlTaW5nbGVPcGVyYXRpb24ob3BlcmF0aW9uKTtcbiAgICAgIH0sXG4gICAgICBzaG93SWY6IG9wZXJhdGlvbiA9PlxuICAgICAgICAhdGhpcy5yZWFkT25seSAmJlxuICAgICAgICBvcGVyYXRpb24uc3RhdHVzLnRvU3RyaW5nKCkgPT09IE9QRVJBVElPTl9TVEFUVVNfT1BUSU9OU19NQVAuRkFJTEVELnN0YXR1cy50b1N0cmluZygpXG4gICAgfVxuICBdO1xuXG4gIHNlcnZlclNpZGVEYXRhQ2FsbGJhY2s6IFNlcnZlclNpZGVEYXRhQ2FsbGJhY2s7XG5cbiAgcHJpdmF0ZSBvcGVyYXRpb25TZXJ2aWNlID0gaW5qZWN0KE9wZXJhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGFsZXJ0U2VydmljZSA9IGluamVjdChBbGVydFNlcnZpY2UpO1xuICBwcml2YXRlIGZpbHRlclN0YXR1czogT3BlcmF0aW9uU3RhdHVzO1xuICBwcml2YXRlIHJlbG9hZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlbG9hZFRocm90dGxlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnVsa09wZXJhdGlvbnNTZXJ2aWNlOiBCdWxrT3BlcmF0aW9uc1NlcnZpY2UpIHtcbiAgICB0aGlzLnNlcnZlclNpZGVEYXRhQ2FsbGJhY2sgPSB0aGlzLm9uRGF0YVNvdXJjZU1vZGlmaWVyLmJpbmQodGhpcyk7XG4gICAgbWVyZ2UodGhpcy5yZWxvYWQkLCB0aGlzLnJlbG9hZFRocm90dGxlZCQucGlwZSh0aHJvdHRsZVRpbWUoMzBfMDAwKSkpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kYXRhR3JpZD8ucmVsb2FkKGZhbHNlKSk7XG4gIH1cblxuICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuc3RhdHVzRmlsdGVyKSB7XG4gICAgICB0aGlzLnNldFN0YXR1c0ZpbHRlcihmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmJ1bGtPcGVyYXRpb24gJiYgIWNoYW5nZXMuYnVsa09wZXJhdGlvbi5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5yZWxvYWRUaHJvdHRsZWQkLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICByZWxvYWQob3B0aW9uPzogT3BlcmF0aW9uU3RhdHVzT3B0aW9uW10pIHtcbiAgICBjb25zdCBbb3B0XSA9IG9wdGlvbiA/PyBbXTtcbiAgICB0aGlzLmZpbHRlclN0YXR1cyA9IG9wdD8uc3RhdHVzID8/IHRoaXMuZmlsdGVyU3RhdHVzO1xuICAgIHRoaXMucmVsb2FkJC5uZXh0KCk7XG4gIH1cblxuICBhc3luYyBvbkRhdGFTb3VyY2VNb2RpZmllcihcbiAgICBkYXRhU291cmNlTW9kaWZpZXI6IERhdGFTb3VyY2VNb2RpZmllclxuICApOiBQcm9taXNlPFNlcnZlclNpZGVEYXRhUmVzdWx0PiB7XG4gICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXJTdGF0dXMgPz8gdGhpcy5nZXRGaWx0ZXJUeXBlT2ZTaW5nbGVPcGVyYXRpb25zKCk7XG4gICAgY29uc3QgeyByZXMsIGRhdGEsIHBhZ2luZyB9ID0gYXdhaXQgdGhpcy5idWxrT3BlcmF0aW9uc1NlcnZpY2UuZ2V0U2luZ2xlT3BlcmF0aW9uc0J5U3RhdHVzKFxuICAgICAgZmlsdGVyLFxuICAgICAgdGhpcy5idWxrT3BlcmF0aW9uLmlkLFxuICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnBhZ2luYXRpb25cbiAgICApO1xuXG4gICAgY29uc3QgZmlsdGVyZWRTaXplID0gYXdhaXQgdGhpcy5idWxrT3BlcmF0aW9uc1NlcnZpY2UuZ2V0U2luZ2xlT3BlcmF0aW9uc0NvdW50QnlTdGF0dXMoXG4gICAgICBmaWx0ZXIsXG4gICAgICB0aGlzLmJ1bGtPcGVyYXRpb24uaWRcbiAgICApO1xuXG4gICAgY29uc3Qgc2l6ZSA9IGF3YWl0IHRoaXMuYnVsa09wZXJhdGlvbnNTZXJ2aWNlLmdldFNpbmdsZU9wZXJhdGlvbnNUb3RhbCh0aGlzLmJ1bGtPcGVyYXRpb24uaWQpO1xuXG4gICAgY29uc3Qgc2VydmVyU2lkZURhdGFSZXN1bHQ6IFNlcnZlclNpZGVEYXRhUmVzdWx0ID0geyByZXMsIGRhdGEsIHBhZ2luZywgZmlsdGVyZWRTaXplLCBzaXplIH07XG5cbiAgICByZXR1cm4gc2VydmVyU2lkZURhdGFSZXN1bHQ7XG4gIH1cblxuICBzZXRTdGF0dXNGaWx0ZXIoZW1pdCA9IHRydWUpIHtcbiAgICBpZiAodGhpcy5zdGF0dXNGaWx0ZXIpIHtcbiAgICAgIGNvbnN0IHR5cGVGaWx0ZXIgPSB0aGlzLmdldEZpbHRlclR5cGVPZlNpbmdsZU9wZXJhdGlvbnMoKTtcbiAgICAgIHRoaXMuc3RhdHVzRmlsdGVyLnByZXNldChcbiAgICAgICAgdHlwZUZpbHRlciA9PT0gdGhpcy5PUEVSQVRJT05fU1RBVFVTLkFMTFxuICAgICAgICAgID8gW11cbiAgICAgICAgICA6IFt7IGxhYmVsOiB0aGlzLk9QRVJBVElPTl9TVEFUVVNfTEFCRUxTW3R5cGVGaWx0ZXJdIH1dLFxuICAgICAgICBlbWl0XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUaW1lb3V0KHRoaXMuc2V0U3RhdHVzRmlsdGVyLmJpbmQodGhpcywgZW1pdCkpO1xuICAgIH1cbiAgfVxuXG4gIGdldEZpbHRlclR5cGVPZlNpbmdsZU9wZXJhdGlvbnMoKSB7XG4gICAgY29uc3QgeyBwcm9ncmVzcyB9ID0gdGhpcy5idWxrT3BlcmF0aW9uO1xuXG4gICAgaWYgKHByb2dyZXNzLmZhaWxlZCA+IDApIHtcbiAgICAgIHJldHVybiB0aGlzLk9QRVJBVElPTl9TVEFUVVMuRkFJTEVEO1xuICAgIH0gZWxzZSBpZiAocHJvZ3Jlc3MuZmFpbGVkID09PSAwICYmIHByb2dyZXNzLnN1Y2Nlc3NmdWwgPT09IDAgJiYgcHJvZ3Jlc3MucGVuZGluZyA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuT1BFUkFUSU9OX1NUQVRVUy5FWEVDVVRJTkc7XG4gICAgfSBlbHNlIGlmIChwcm9ncmVzcy5mYWlsZWQgPT09IDAgJiYgcHJvZ3Jlc3Muc3VjY2Vzc2Z1bCA9PT0gMCAmJiBwcm9ncmVzcy5leGVjdXRpbmcgPT09IDApIHtcbiAgICAgIHJldHVybiB0aGlzLk9QRVJBVElPTl9TVEFUVVMuUEVORElORztcbiAgICB9IGVsc2UgaWYgKHByb2dyZXNzLmZhaWxlZCA9PT0gMCAmJiBwcm9ncmVzcy5wZW5kaW5nID09PSAwICYmIHByb2dyZXNzLmV4ZWN1dGluZyA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuT1BFUkFUSU9OX1NUQVRVUy5TVUNDRVNTRlVMO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLk9QRVJBVElPTl9TVEFUVVMuQUxMO1xuICB9XG5cbiAgcmV0cnlCdWxrT3BlcmF0aW9uKCkge1xuICAgIHRoaXMub25SZXRyeUZhaWxlZE9wZXJhdGlvbnMuZW1pdCh0aGlzLmJ1bGtPcGVyYXRpb24pO1xuICB9XG5cbiAgYXN5bmMgcmV0cnlTaW5nbGVPcGVyYXRpb24oc2luZ2xlT3BlcmF0aW9uKSB7XG4gICAgY29uc3Qgb3BlcmF0aW9uVG9DcmVhdGUgPSBvbWl0KHNpbmdsZU9wZXJhdGlvbiwgW1xuICAgICAgJ2lkJyxcbiAgICAgICdzZWxmJyxcbiAgICAgICdzdGF0dXMnLFxuICAgICAgJ2ZhaWx1cmVSZWFzb24nLFxuICAgICAgJ2NyZWF0aW9uVGltZScsXG4gICAgICAnZGVsaXZlcnknXG4gICAgXSk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5vcGVyYXRpb25TZXJ2aWNlLmNyZWF0ZShvcGVyYXRpb25Ub0NyZWF0ZSk7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGdldHRleHQoJ09wZXJhdGlvbiBjcmVhdGVkLicpKTtcbiAgICB9IGNhdGNoIChlcikge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShlcik7XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyXG4gICpuZ0lmPVwiXG4gICAgYnVsa09wZXJhdGlvbi5wcm9ncmVzcy5mYWlsZWQgfHxcbiAgICBidWxrT3BlcmF0aW9uLnByb2dyZXNzLmV4ZWN1dGluZyB8fFxuICAgIGJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MucGVuZGluZyB8fFxuICAgIGJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3Muc3VjY2Vzc2Z1bFxuICBcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJsZWdlbmQgZm9ybS1ibG9jayBwLXQtMTYgbS1iLTBcIlxuICAgIHRyYW5zbGF0ZVxuICA+XG4gICAgT3BlcmF0aW9uc1xuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhLWktY2VudGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhLWktY2VudGVyIHAtYi04XCI+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIm0tci00IHRleHQtbWVkaXVtXCJcbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICA+XG4gICAgICAgIEZpbHRlciBieSBzdGF0dXNcbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxjOHktc3RhdHVzLWZpbHRlclxuICAgICAgICBzbWFsbFxuICAgICAgICBbb3B0aW9uc109XCJPUEVSQVRJT05fU1RBVFVTX09QVElPTlNfTUFQXCJcbiAgICAgICAgKG9uRmlsdGVyQ2hhbmdlZCk9XCJyZWxvYWQoJGV2ZW50KVwiXG4gICAgICA+PC9jOHktc3RhdHVzLWZpbHRlcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm0tbC1hdXRvIHAtYi04XCJcbiAgICAgICpuZ0lmPVwiIXJlYWRPbmx5ICYmIGJ1bGtPcGVyYXRpb24ucHJvZ3Jlc3MuZmFpbGVkID4gMFwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJ0biBidG4tbmF2YmFyXCJcbiAgICAgICAgdGl0bGU9XCJ7eyAnUmV0cnkgZmFpbGVkIG9wZXJhdGlvbnMnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgKGNsaWNrKT1cInJldHJ5QnVsa09wZXJhdGlvbigpXCJcbiAgICAgID5cbiAgICAgICAgPGlcbiAgICAgICAgICBjbGFzcz1cIm0tci00XCJcbiAgICAgICAgICBjOHlJY29uPVwicmVwZWF0XCJcbiAgICAgICAgPjwvaT5cbiAgICAgICAgPHNwYW4gdHJhbnNsYXRlPlJldHJ5IGZhaWxlZCBvcGVyYXRpb25zPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8Yzh5LWRhdGEtZ3JpZFxuICAgIFthY3Rpb25Db250cm9sc109XCJhY3Rpb25zXCJcbiAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAgICBbZGlzcGxheU9wdGlvbnNdPVwiZGlzcGxheU9wdGlvbnNcIlxuICAgIFtzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrXT1cInNlcnZlclNpZGVEYXRhQ2FsbGJhY2tcIlxuICAgIFtwYWdpbmF0aW9uXT1cInBhZ2luYXRpb25cIlxuICA+XG4gICAgPGM4eS11aS1lbXB0eS1zdGF0ZVxuICAgICAgaWNvbj1cInNlYXJjaFwiXG4gICAgICBbdGl0bGVdPVwiJ05vIHNpbmdsZSBvcGVyYXRpb25zIG9mIHRoZSBzZWxlY3RlZCBzdGF0dXMgdG8gZGlzcGxheS4nIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtzdWJ0aXRsZV09XCInU2luZ2xlIG9wZXJhdGlvbnMgd2lsbCBiZSBkaXNwbGF5ZWQgaGVyZScgfCB0cmFuc2xhdGVcIlxuICAgICAgaG9yaXpvbnRhbFxuICAgID48L2M4eS11aS1lbXB0eS1zdGF0ZT5cbiAgPC9jOHktZGF0YS1ncmlkPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzh5LW5neC1jb21wb25lbnRzLW9wZXJhdGlvbnMtZ3JpZC1jb2x1bW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vb3BlcmF0aW9ucy9ncmlkLWNvbHVtbnMvYzh5LW5neC1jb21wb25lbnRzLW9wZXJhdGlvbnMtZ3JpZC1jb2x1bW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,28 @@
1
+ import { Component } from '@angular/core';
2
+ import { CellRendererContext, CommonModule } from '@c8y/ngx-components';
3
+ import { TooltipModule } from 'ngx-bootstrap/tooltip';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@c8y/ngx-components";
6
+ export class CreationTimeCellRendererComponent {
7
+ constructor(context) {
8
+ this.context = context;
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreationTimeCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CreationTimeCellRendererComponent, isStandalone: true, selector: "c8y-creation-time-cell-renderer", ngImport: i0, template: `<small class="icon-flex text-muted">
12
+ <i class="m-r-4" c8yIcon="calendar"></i>
13
+ {{ context.item.creationTime | c8yDate }}
14
+ </small>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i1.DatePipe, name: "c8yDate" }, { kind: "ngmodule", type: TooltipModule }] }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreationTimeCellRendererComponent, decorators: [{
17
+ type: Component,
18
+ args: [{
19
+ template: `<small class="icon-flex text-muted">
20
+ <i class="m-r-4" c8yIcon="calendar"></i>
21
+ {{ context.item.creationTime | c8yDate }}
22
+ </small>`,
23
+ selector: 'c8y-creation-time-cell-renderer',
24
+ standalone: true,
25
+ imports: [CommonModule, TooltipModule]
26
+ }]
27
+ }], ctorParameters: () => [{ type: i1.CellRendererContext }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpb24tdGltZS5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL29wZXJhdGlvbnMvZ3JpZC1jb2x1bW5zL2NyZWF0aW9uLXRpbWUuY2VsbC1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFXdEQsTUFBTSxPQUFPLGlDQUFpQztJQUM1QyxZQUFtQixPQUE0QjtRQUE1QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtJQUFHLENBQUM7K0dBRHhDLGlDQUFpQzttR0FBakMsaUNBQWlDLDJGQVJsQzs7O1dBR0QsMkRBR0MsWUFBWSwrS0FBRSxhQUFhOzs0RkFFMUIsaUNBQWlDO2tCQVQ3QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7O1dBR0Q7b0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDZWxsUmVuZGVyZXJDb250ZXh0LCBDb21tb25Nb2R1bGUgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Rvb2x0aXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGA8c21hbGwgY2xhc3M9XCJpY29uLWZsZXggdGV4dC1tdXRlZFwiPlxuICAgIDxpIGNsYXNzPVwibS1yLTRcIiBjOHlJY29uPVwiY2FsZW5kYXJcIj48L2k+XG4gICAge3sgY29udGV4dC5pdGVtLmNyZWF0aW9uVGltZSB8IGM4eURhdGUgfX1cbiAgPC9zbWFsbD5gLFxuICBzZWxlY3RvcjogJ2M4eS1jcmVhdGlvbi10aW1lLWNlbGwtcmVuZGVyZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUb29sdGlwTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGlvblRpbWVDZWxsUmVuZGVyZXJDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29udGV4dDogQ2VsbFJlbmRlcmVyQ29udGV4dCkge31cbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { BaseColumn, gettext } from '@c8y/ngx-components';
2
+ import { CreationTimeCellRendererComponent } from './creation-time.cell-renderer.component';
3
+ export class CreationTimeGridColumn extends BaseColumn {
4
+ constructor(initialColumnConfig) {
5
+ super(initialColumnConfig);
6
+ this.name = 'creationTime';
7
+ this.path = 'creationTime';
8
+ this.header = gettext('Creation time');
9
+ this.cellRendererComponent = CreationTimeCellRendererComponent;
10
+ this.filterable = false;
11
+ this.sortable = false;
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRpb24tdGltZS5ncmlkLWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL29wZXJhdGlvbnMvZ3JpZC1jb2x1bW5zL2NyZWF0aW9uLXRpbWUuZ3JpZC1jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFNUYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFVBQVU7SUFDcEQsWUFBWSxtQkFBa0M7UUFDNUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGlDQUFpQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2x1bW4sIENvbHVtbkNvbmZpZywgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ3JlYXRpb25UaW1lQ2VsbFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jcmVhdGlvbi10aW1lLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIENyZWF0aW9uVGltZUdyaWRDb2x1bW4gZXh0ZW5kcyBCYXNlQ29sdW1uIHtcbiAgY29uc3RydWN0b3IoaW5pdGlhbENvbHVtbkNvbmZpZz86IENvbHVtbkNvbmZpZykge1xuICAgIHN1cGVyKGluaXRpYWxDb2x1bW5Db25maWcpO1xuICAgIHRoaXMubmFtZSA9ICdjcmVhdGlvblRpbWUnO1xuICAgIHRoaXMucGF0aCA9ICdjcmVhdGlvblRpbWUnO1xuICAgIHRoaXMuaGVhZGVyID0gZ2V0dGV4dCgnQ3JlYXRpb24gdGltZScpO1xuICAgIHRoaXMuY2VsbFJlbmRlcmVyQ29tcG9uZW50ID0gQ3JlYXRpb25UaW1lQ2VsbFJlbmRlcmVyQ29tcG9uZW50O1xuXG4gICAgdGhpcy5maWx0ZXJhYmxlID0gZmFsc2U7XG4gICAgdGhpcy5zb3J0YWJsZSA9IGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { Component, inject } from '@angular/core';
2
+ import { RouterModule } from '@angular/router';
3
+ import { InventoryService } from '@c8y/client';
4
+ import { CellRendererContext, CommonModule, DeviceStatusModule } from '@c8y/ngx-components';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@c8y/ngx-components";
7
+ import * as i2 from "@angular/router";
8
+ export class DeviceCellRendererComponent {
9
+ constructor(context) {
10
+ this.context = context;
11
+ this.inventoryService = inject(InventoryService);
12
+ }
13
+ async ngOnInit() {
14
+ this.device = (await this.inventoryService.detail(this.context.item.deviceId))?.data;
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DeviceCellRendererComponent, isStandalone: true, selector: "c8y-operation-device-cell-renderer", ngImport: i0, template: `
18
+ <span class="m-r-4">
19
+ <device-status [mo]="device || {}"></device-status>
20
+ </span>
21
+ <a
22
+ class="interact"
23
+ [title]="context.item.deviceName"
24
+ [routerLink]="['/device', context.item.deviceId, 'device-info']"
25
+ >
26
+ {{ context.item.deviceName }}
27
+ </a>
28
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: DeviceStatusModule }, { kind: "component", type: i1.DeviceStatusComponent, selector: "device-status, c8y-device-status", inputs: ["mo", "size"] }] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceCellRendererComponent, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ template: `
34
+ <span class="m-r-4">
35
+ <device-status [mo]="device || {}"></device-status>
36
+ </span>
37
+ <a
38
+ class="interact"
39
+ [title]="context.item.deviceName"
40
+ [routerLink]="['/device', context.item.deviceId, 'device-info']"
41
+ >
42
+ {{ context.item.deviceName }}
43
+ </a>
44
+ `,
45
+ selector: 'c8y-operation-device-cell-renderer',
46
+ standalone: true,
47
+ imports: [CommonModule, RouterModule, DeviceStatusModule]
48
+ }]
49
+ }], ctorParameters: () => [{ type: i1.CellRendererContext }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vb3BlcmF0aW9ucy9ncmlkLWNvbHVtbnMvZGV2aWNlLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBb0I1RixNQUFNLE9BQU8sMkJBQTJCO0lBS3RDLFlBQW1CLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBRnZDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRUYsQ0FBQztJQUVuRCxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7SUFDdkYsQ0FBQzsrR0FUVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiw4RkFoQjVCOzs7Ozs7Ozs7OztHQVdULDJEQUdTLFlBQVksOEJBQUUsWUFBWSwrUUFBRSxrQkFBa0I7OzRGQUU3QywyQkFBMkI7a0JBakJ2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDtvQkFDRCxRQUFRLEVBQUUsb0NBQW9DO29CQUM5QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW52ZW50b3J5U2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IENlbGxSZW5kZXJlckNvbnRleHQsIENvbW1vbk1vZHVsZSwgRGV2aWNlU3RhdHVzTW9kdWxlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCB9IGZyb20gJ3BhY2thZ2VzL2NsaWVudC9saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8c3BhbiBjbGFzcz1cIm0tci00XCI+XG4gICAgICA8ZGV2aWNlLXN0YXR1cyBbbW9dPVwiZGV2aWNlIHx8IHt9XCI+PC9kZXZpY2Utc3RhdHVzPlxuICAgIDwvc3Bhbj5cbiAgICA8YVxuICAgICAgY2xhc3M9XCJpbnRlcmFjdFwiXG4gICAgICBbdGl0bGVdPVwiY29udGV4dC5pdGVtLmRldmljZU5hbWVcIlxuICAgICAgW3JvdXRlckxpbmtdPVwiWycvZGV2aWNlJywgY29udGV4dC5pdGVtLmRldmljZUlkLCAnZGV2aWNlLWluZm8nXVwiXG4gICAgPlxuICAgICAge3sgY29udGV4dC5pdGVtLmRldmljZU5hbWUgfX1cbiAgICA8L2E+XG4gIGAsXG4gIHNlbGVjdG9yOiAnYzh5LW9wZXJhdGlvbi1kZXZpY2UtY2VsbC1yZW5kZXJlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZSwgRGV2aWNlU3RhdHVzTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEZXZpY2VDZWxsUmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkZXZpY2U6IElNYW5hZ2VkT2JqZWN0O1xuXG4gIHByaXZhdGUgaW52ZW50b3J5U2VydmljZSA9IGluamVjdChJbnZlbnRvcnlTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29udGV4dDogQ2VsbFJlbmRlcmVyQ29udGV4dCkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRldmljZSA9IChhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGV0YWlsKHRoaXMuY29udGV4dC5pdGVtLmRldmljZUlkKSk/LmRhdGE7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { BaseColumn, gettext } from '@c8y/ngx-components';
2
+ import { DeviceCellRendererComponent } from './device.cell-renderer.component';
3
+ export class DeviceGridColumn extends BaseColumn {
4
+ constructor(initialColumnConfig) {
5
+ super(initialColumnConfig);
6
+ this.name = 'deviceName';
7
+ this.path = 'deviceName';
8
+ this.header = gettext('Device');
9
+ this.cellRendererComponent = DeviceCellRendererComponent;
10
+ this.filterable = false;
11
+ this.sortable = false;
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLmdyaWQtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vb3BlcmF0aW9ucy9ncmlkLWNvbHVtbnMvZGV2aWNlLmdyaWQtY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWdCLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRS9FLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBQzlDLFlBQVksbUJBQWtDO1FBQzVDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRywyQkFBMkIsQ0FBQztRQUV6RCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29sdW1uLCBDb2x1bW5Db25maWcsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IERldmljZUNlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vZGV2aWNlLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIERldmljZUdyaWRDb2x1bW4gZXh0ZW5kcyBCYXNlQ29sdW1uIHtcbiAgY29uc3RydWN0b3IoaW5pdGlhbENvbHVtbkNvbmZpZz86IENvbHVtbkNvbmZpZykge1xuICAgIHN1cGVyKGluaXRpYWxDb2x1bW5Db25maWcpO1xuICAgIHRoaXMubmFtZSA9ICdkZXZpY2VOYW1lJztcbiAgICB0aGlzLnBhdGggPSAnZGV2aWNlTmFtZSc7XG4gICAgdGhpcy5oZWFkZXIgPSBnZXR0ZXh0KCdEZXZpY2UnKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlckNvbXBvbmVudCA9IERldmljZUNlbGxSZW5kZXJlckNvbXBvbmVudDtcblxuICAgIHRoaXMuZmlsdGVyYWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuc29ydGFibGUgPSBmYWxzZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,54 @@
1
+ import { Component } from '@angular/core';
2
+ import { CellRendererContext, CommonModule } from '@c8y/ngx-components';
3
+ import { TooltipModule } from 'ngx-bootstrap/tooltip';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@c8y/ngx-components";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "ngx-bootstrap/tooltip";
8
+ export class FailureReasonCellRendererComponent {
9
+ constructor(context) {
10
+ this.context = context;
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FailureReasonCellRendererComponent, deps: [{ token: i1.CellRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FailureReasonCellRendererComponent, isStandalone: true, selector: "c8y-failure-reason-cell-renderer", ngImport: i0, template: ` <div class="d-flex">
14
+ <span class="text-truncate" #failureReason>
15
+ {{ context.value | translate }}
16
+ </span>
17
+ <button
18
+ class="btn-help btn-help--sm"
19
+ [attr.aria-label]="'Help' | translate"
20
+ [tooltip]="context.value | translate"
21
+ placement="left"
22
+ container="body"
23
+ type="button"
24
+ *ngIf="failureReason.offsetWidth < failureReason.scrollWidth"
25
+ >
26
+ <i [c8yIcon]="'info-circle'"></i>
27
+ </button>
28
+ </div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }] }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FailureReasonCellRendererComponent, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ template: ` <div class="d-flex">
34
+ <span class="text-truncate" #failureReason>
35
+ {{ context.value | translate }}
36
+ </span>
37
+ <button
38
+ class="btn-help btn-help--sm"
39
+ [attr.aria-label]="'Help' | translate"
40
+ [tooltip]="context.value | translate"
41
+ placement="left"
42
+ container="body"
43
+ type="button"
44
+ *ngIf="failureReason.offsetWidth < failureReason.scrollWidth"
45
+ >
46
+ <i [c8yIcon]="'info-circle'"></i>
47
+ </button>
48
+ </div>`,
49
+ selector: 'c8y-failure-reason-cell-renderer',
50
+ standalone: true,
51
+ imports: [CommonModule, TooltipModule]
52
+ }]
53
+ }], ctorParameters: () => [{ type: i1.CellRendererContext }] });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbHVyZS1yZWFzb24uY2VsbC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9vcGVyYXRpb25zL2dyaWQtY29sdW1ucy9mYWlsdXJlLXJlYXNvbi5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBdUJ0RCxNQUFNLE9BQU8sa0NBQWtDO0lBQzdDLFlBQW1CLE9BQTRCO1FBQTVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO0lBQUcsQ0FBQzsrR0FEeEMsa0NBQWtDO21HQUFsQyxrQ0FBa0MsNEZBcEJuQzs7Ozs7Ozs7Ozs7Ozs7O1NBZUgsMkRBR0csWUFBWSw2UkFBRSxhQUFhOzs0RkFFMUIsa0NBQWtDO2tCQXJCOUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7OztTQWVIO29CQUNQLFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2VsbFJlbmRlcmVyQ29udGV4dCwgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90b29sdGlwJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQtdHJ1bmNhdGVcIiAjZmFpbHVyZVJlYXNvbj5cbiAgICAgIHt7IGNvbnRleHQudmFsdWUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4taGVscCBidG4taGVscC0tc21cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGVscCcgfCB0cmFuc2xhdGVcIlxuICAgICAgW3Rvb2x0aXBdPVwiY29udGV4dC52YWx1ZSB8IHRyYW5zbGF0ZVwiXG4gICAgICBwbGFjZW1lbnQ9XCJsZWZ0XCJcbiAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAqbmdJZj1cImZhaWx1cmVSZWFzb24ub2Zmc2V0V2lkdGggPCBmYWlsdXJlUmVhc29uLnNjcm9sbFdpZHRoXCJcbiAgICA+XG4gICAgICA8aSBbYzh5SWNvbl09XCInaW5mby1jaXJjbGUnXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5gLFxuICBzZWxlY3RvcjogJ2M4eS1mYWlsdXJlLXJlYXNvbi1jZWxsLXJlbmRlcmVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVG9vbHRpcE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRmFpbHVyZVJlYXNvbkNlbGxSZW5kZXJlckNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb250ZXh0OiBDZWxsUmVuZGVyZXJDb250ZXh0KSB7fVxufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { BaseColumn, gettext } from '@c8y/ngx-components';
2
+ import { FailureReasonCellRendererComponent } from './failure-reason.cell-renderer.component';
3
+ export class FailureReasonGridColumn extends BaseColumn {
4
+ constructor(initialColumnConfig) {
5
+ super(initialColumnConfig);
6
+ this.name = 'failureReason';
7
+ this.path = 'failureReason';
8
+ this.header = gettext('Failure reason');
9
+ this.cellRendererComponent = FailureReasonCellRendererComponent;
10
+ this.filterable = false;
11
+ this.sortable = false;
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbHVyZS1yZWFzb24uZ3JpZC1jb2x1bW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9vcGVyYXRpb25zL2dyaWQtY29sdW1ucy9mYWlsdXJlLXJlYXNvbi5ncmlkLWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFnQixPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUU5RixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsVUFBVTtJQUNyRCxZQUFZLG1CQUFrQztRQUM1QyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxrQ0FBa0MsQ0FBQztRQUVoRSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29sdW1uLCBDb2x1bW5Db25maWcsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEZhaWx1cmVSZWFzb25DZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2ZhaWx1cmUtcmVhc29uLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIEZhaWx1cmVSZWFzb25HcmlkQ29sdW1uIGV4dGVuZHMgQmFzZUNvbHVtbiB7XG4gIGNvbnN0cnVjdG9yKGluaXRpYWxDb2x1bW5Db25maWc/OiBDb2x1bW5Db25maWcpIHtcbiAgICBzdXBlcihpbml0aWFsQ29sdW1uQ29uZmlnKTtcbiAgICB0aGlzLm5hbWUgPSAnZmFpbHVyZVJlYXNvbic7XG4gICAgdGhpcy5wYXRoID0gJ2ZhaWx1cmVSZWFzb24nO1xuICAgIHRoaXMuaGVhZGVyID0gZ2V0dGV4dCgnRmFpbHVyZSByZWFzb24nKTtcbiAgICB0aGlzLmNlbGxSZW5kZXJlckNvbXBvbmVudCA9IEZhaWx1cmVSZWFzb25DZWxsUmVuZGVyZXJDb21wb25lbnQ7XG5cbiAgICB0aGlzLmZpbHRlcmFibGUgPSBmYWxzZTtcbiAgICB0aGlzLnNvcnRhYmxlID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export * from './creation-time.cell-renderer.component';
2
+ export * from './creation-time.grid-column';
3
+ export * from './device.cell-renderer.component';
4
+ export * from './device.grid-column';
5
+ export * from './failure-reason.cell-renderer.component';
6
+ export * from './failure-reason.grid-column';
7
+ export * from './status.cell-renderer.component';
8
+ export * from './status.grid-column';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9vcGVyYXRpb25zL2dyaWQtY29sdW1ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0aW9uLXRpbWUuY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGlvbi10aW1lLmdyaWQtY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vZGV2aWNlLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZGV2aWNlLmdyaWQtY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vZmFpbHVyZS1yZWFzb24uY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mYWlsdXJlLXJlYXNvbi5ncmlkLWNvbHVtbic7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy5ncmlkLWNvbHVtbic7XG4iXX0=