@c8y/ngx-components 1021.49.12 → 1021.51.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/core/aggregation/aggregation.model.d.ts.map +1 -0
  2. package/core/aggregation/aggregation.service.d.ts +44 -0
  3. package/core/aggregation/aggregation.service.d.ts.map +1 -0
  4. package/core/aggregation/index.d.ts +3 -0
  5. package/core/aggregation/index.d.ts.map +1 -0
  6. package/core/common/index.d.ts +0 -2
  7. package/core/common/index.d.ts.map +1 -1
  8. package/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.d.ts +2 -2
  9. package/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.d.ts.map +1 -1
  10. package/core/dashboard/wiget-time-context/widget-time-context-icon-bar/widget-time-context-icon-bar.component.d.ts +1 -1
  11. package/core/dashboard/wiget-time-context/widget-time-context-icon-bar/widget-time-context-icon-bar.component.d.ts.map +1 -1
  12. package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts +1 -1
  13. package/core/dashboard/wiget-time-context/widget-time-context.component.d.ts.map +1 -1
  14. package/core/i18n/pattern-messages.data.d.ts +18 -0
  15. package/core/i18n/pattern-messages.data.d.ts.map +1 -1
  16. package/core/index.d.ts +1 -0
  17. package/core/index.d.ts.map +1 -1
  18. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts +54 -42
  19. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts.map +1 -1
  20. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.d.ts +28 -8
  21. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.d.ts.map +1 -1
  22. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.d.ts +3 -52
  23. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.d.ts.map +1 -1
  24. package/datapoints-export-selector/datapoints-export-selector.model.d.ts +5 -14
  25. package/datapoints-export-selector/datapoints-export-selector.model.d.ts.map +1 -1
  26. package/device-grid/device-grid.component.d.ts.map +1 -1
  27. package/device-grid/device-grid.service.d.ts +2 -0
  28. package/device-grid/device-grid.service.d.ts.map +1 -1
  29. package/esm2022/alarms/alarms-type-filter.component.mjs +3 -3
  30. package/esm2022/core/aggregation/aggregation.model.mjs +46 -0
  31. package/esm2022/core/aggregation/aggregation.service.mjs +76 -0
  32. package/esm2022/core/aggregation/index.mjs +3 -0
  33. package/esm2022/core/common/index.mjs +1 -3
  34. package/esm2022/core/dashboard/wiget-time-context/aggregation-picker/aggregation-picker.component.mjs +2 -2
  35. package/esm2022/core/dashboard/wiget-time-context/widget-time-context-icon-bar/widget-time-context-icon-bar.component.mjs +2 -2
  36. package/esm2022/core/dashboard/wiget-time-context/widget-time-context.component.mjs +4 -4
  37. package/esm2022/core/i18n/pattern-messages.data.mjs +19 -1
  38. package/esm2022/core/index.mjs +2 -1
  39. package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.mjs +166 -164
  40. package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.component.mjs +82 -48
  41. package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-export-selector-file-exporter.service.mjs +5 -95
  42. package/esm2022/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/datapoints-exports-selector-data-scope/datapoints-exports-selector-data-scope.component.mjs +3 -3
  43. package/esm2022/datapoints-export-selector/datapoints-export-selector.component.mjs +3 -3
  44. package/esm2022/datapoints-export-selector/datapoints-export-selector.model.mjs +1 -9
  45. package/esm2022/device-grid/device-grid.component.mjs +3 -3
  46. package/esm2022/device-grid/device-grid.service.mjs +16 -1
  47. package/esm2022/device-list/add-smart-group.component.mjs +3 -3
  48. package/esm2022/interval-picker/interval-picker.model.mjs +5 -1
  49. package/esm2022/operations/bulk-operation-list-item/bulk-operation-list-item.service.mjs +5 -4
  50. package/esm2022/operations/operation-details/operation-details.module.mjs +7 -7
  51. package/esm2022/operations/operations-list/device-control.feature.mjs +20 -0
  52. package/esm2022/operations/operations-list/index.mjs +4 -3
  53. package/esm2022/operations/operations-list/operations-list-item.component.mjs +11 -9
  54. package/esm2022/operations/operations-list/operations-list.component.mjs +15 -10
  55. package/esm2022/operations/operations-list/operations-list.module.mjs +16 -41
  56. package/esm2022/operations/operations-list/operations-list.service.mjs +4 -3
  57. package/esm2022/operations/operations.module.mjs +21 -14
  58. package/esm2022/operations/shared/operations.service.mjs +4 -3
  59. package/esm2022/services/index.mjs +14 -3
  60. package/esm2022/services/service-command-tab/c8y-ngx-components-services-service-command-tab.mjs +5 -0
  61. package/esm2022/services/service-command-tab/index.mjs +3 -0
  62. package/esm2022/services/service-command-tab/service-command-tab.component.mjs +33 -0
  63. package/esm2022/services/service-command-tab/service-command.feature.mjs +14 -0
  64. package/esm2022/services/services-device-tab/index.mjs +9 -3
  65. package/esm2022/services/services-device-tab/services-device-tab.component.mjs +3 -4
  66. package/esm2022/services/services-device-tab/services-device-tab.guard.mjs +2 -2
  67. package/esm2022/services/services-device-tab/services.breadcrumb-factory.mjs +13 -1
  68. package/esm2022/services/services.module.mjs +4 -2
  69. package/esm2022/services/shared/c8y-ngx-components-services-shared.mjs +5 -0
  70. package/esm2022/services/shared/index.mjs +3 -0
  71. package/esm2022/services/shared/service-command.service.mjs +118 -0
  72. package/esm2022/services/shared/services.model.mjs +23 -0
  73. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.mjs +25 -41
  74. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-reload/datapoints-reload.component.mjs +3 -3
  75. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.mjs +55 -49
  76. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.mjs +25 -73
  77. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-widget.model.mjs +20 -20
  78. package/esm2022/widgets/implementations/datapoints-table/datapoints-table.service.mjs +19 -19
  79. package/fesm2022/c8y-ngx-components-alarms.mjs +2 -2
  80. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  81. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +248 -308
  82. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  83. package/fesm2022/c8y-ngx-components-device-grid.mjs +17 -2
  84. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  85. package/fesm2022/c8y-ngx-components-device-list.mjs +2 -2
  86. package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
  87. package/fesm2022/c8y-ngx-components-interval-picker.mjs +5 -1
  88. package/fesm2022/c8y-ngx-components-interval-picker.mjs.map +1 -1
  89. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +3 -2
  90. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
  91. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +5 -5
  92. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs.map +1 -1
  93. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +57 -52
  94. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  95. package/fesm2022/c8y-ngx-components-operations-shared.mjs +3 -2
  96. package/fesm2022/c8y-ngx-components-operations-shared.mjs.map +1 -1
  97. package/fesm2022/c8y-ngx-components-operations.mjs +42 -35
  98. package/fesm2022/c8y-ngx-components-operations.mjs.map +1 -1
  99. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +49 -0
  100. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs.map +1 -0
  101. package/fesm2022/c8y-ngx-components-services-shared.mjs +145 -0
  102. package/fesm2022/c8y-ngx-components-services-shared.mjs.map +1 -0
  103. package/fesm2022/c8y-ngx-components-services.mjs +20 -113
  104. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  105. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +1075 -1253
  106. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
  107. package/fesm2022/c8y-ngx-components.mjs +136 -76
  108. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  109. package/interval-picker/interval-picker.model.d.ts +6 -0
  110. package/interval-picker/interval-picker.model.d.ts.map +1 -1
  111. package/locales/de.po +52 -41
  112. package/locales/es.po +52 -41
  113. package/locales/fr.po +51 -40
  114. package/locales/ja_JP.po +53 -43
  115. package/locales/ko.po +51 -34
  116. package/locales/locales.pot +42 -31
  117. package/locales/nl.po +52 -41
  118. package/locales/pl.po +52 -40
  119. package/locales/pt_BR.po +51 -40
  120. package/locales/zh_CN.po +50 -33
  121. package/locales/zh_TW.po +50 -33
  122. package/operations/bulk-operation-list-item/bulk-operation-list-item.service.d.ts +2 -2
  123. package/operations/bulk-operation-list-item/bulk-operation-list-item.service.d.ts.map +1 -1
  124. package/operations/operation-details/operation-details.module.d.ts +1 -1
  125. package/operations/operations-list/device-control.feature.d.ts +4 -0
  126. package/operations/operations-list/device-control.feature.d.ts.map +1 -0
  127. package/operations/operations-list/index.d.ts +3 -2
  128. package/operations/operations-list/index.d.ts.map +1 -1
  129. package/operations/operations-list/operations-list-item.component.d.ts +1 -1
  130. package/operations/operations-list/operations-list-item.component.d.ts.map +1 -1
  131. package/operations/operations-list/operations-list.component.d.ts +3 -1
  132. package/operations/operations-list/operations-list.component.d.ts.map +1 -1
  133. package/operations/operations-list/operations-list.module.d.ts +3 -9
  134. package/operations/operations-list/operations-list.module.d.ts.map +1 -1
  135. package/operations/operations.module.d.ts +1 -2
  136. package/operations/operations.module.d.ts.map +1 -1
  137. package/package.json +1 -1
  138. package/services/index.d.ts +13 -2
  139. package/services/index.d.ts.map +1 -1
  140. package/services/service-command-tab/c8y-ngx-components-services-service-command-tab.d.ts.map +1 -0
  141. package/services/service-command-tab/index.d.ts +3 -0
  142. package/services/service-command-tab/index.d.ts.map +1 -0
  143. package/services/service-command-tab/service-command-tab.component.d.ts +12 -0
  144. package/services/service-command-tab/service-command-tab.component.d.ts.map +1 -0
  145. package/services/service-command-tab/service-command.feature.d.ts +3 -0
  146. package/services/service-command-tab/service-command.feature.d.ts.map +1 -0
  147. package/services/services-device-tab/index.d.ts +8 -2
  148. package/services/services-device-tab/index.d.ts.map +1 -1
  149. package/services/services-device-tab/services-device-tab.component.d.ts +2 -2
  150. package/services/services-device-tab/services-device-tab.component.d.ts.map +1 -1
  151. package/services/services-device-tab/services.breadcrumb-factory.d.ts.map +1 -1
  152. package/services/services.module.d.ts.map +1 -1
  153. package/services/shared/c8y-ngx-components-services-shared.d.ts.map +1 -0
  154. package/services/shared/index.d.ts +3 -0
  155. package/services/shared/index.d.ts.map +1 -0
  156. package/services/{services-device-tab → shared}/service-command.service.d.ts +10 -7
  157. package/services/shared/service-command.service.d.ts.map +1 -0
  158. package/services/shared/services.model.d.ts +31 -0
  159. package/services/shared/services.model.d.ts.map +1 -0
  160. package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.d.ts +3 -5
  161. package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.component.d.ts.map +1 -1
  162. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts +7 -2
  163. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts.map +1 -1
  164. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.d.ts +7 -27
  165. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.service.d.ts.map +1 -1
  166. package/widgets/implementations/datapoints-table/datapoints-table-widget.model.d.ts +4 -3
  167. package/widgets/implementations/datapoints-table/datapoints-table-widget.model.d.ts.map +1 -1
  168. package/widgets/implementations/datapoints-table/datapoints-table.service.d.ts +5 -5
  169. package/widgets/implementations/datapoints-table/datapoints-table.service.d.ts.map +1 -1
  170. package/core/common/aggregation/aggregation.model.d.ts.map +0 -1
  171. package/core/common/aggregation/aggregation.service.d.ts +0 -17
  172. package/core/common/aggregation/aggregation.service.d.ts.map +0 -1
  173. package/esm2022/core/common/aggregation/aggregation.model.mjs +0 -46
  174. package/esm2022/core/common/aggregation/aggregation.service.mjs +0 -34
  175. package/esm2022/services/services-device-tab/service-command.service.mjs +0 -113
  176. package/esm2022/services/services-device-tab/service-device-tab.model.mjs +0 -2
  177. package/esm2022/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.service.mjs +0 -124
  178. package/services/services-device-tab/service-command.service.d.ts.map +0 -1
  179. package/services/services-device-tab/service-device-tab.model.d.ts +0 -11
  180. package/services/services-device-tab/service-device-tab.model.d.ts.map +0 -1
  181. package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.service.d.ts +0 -56
  182. package/widgets/implementations/datapoints-table/datapoints-table-config/datapoints-table-config.service.d.ts.map +0 -1
  183. /package/core/{common/aggregation → aggregation}/aggregation.model.d.ts +0 -0
@@ -1,6 +1,12 @@
1
- export * from './columns';
1
+ export * from './columns/last-updated-date.cell-renderer.component';
2
+ export * from './columns/last-updated-date.device-grid-column';
3
+ export * from './columns/name.cell-renderer.component';
4
+ export * from './columns/name.grid-column';
5
+ export * from './columns/service-type.grid-column';
6
+ export * from './columns/status.cell-renderer.component';
7
+ export * from './columns/status.grid-column';
2
8
  export * from './services-device-tab.component';
3
9
  export * from './services-device-tab.guard';
4
10
  export * from './services-device-tab.module';
5
- export * from './service-device-tab.model';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zZXJ2aWNlcy1kZXZpY2UtdGFiL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbHVtbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy1kZXZpY2UtdGFiLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzLWRldmljZS10YWIuZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy1kZXZpY2UtdGFiLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UtZGV2aWNlLXRhYi5tb2RlbCc7XG4iXX0=
11
+ export * from './services.breadcrumb-factory';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zZXJ2aWNlcy1kZXZpY2UtdGFiL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29sdW1ucy9sYXN0LXVwZGF0ZWQtZGF0ZS5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbnMvbGFzdC11cGRhdGVkLWRhdGUuZGV2aWNlLWdyaWQtY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1ucy9uYW1lLmNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1ucy9uYW1lLmdyaWQtY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1ucy9zZXJ2aWNlLXR5cGUuZ3JpZC1jb2x1bW4nO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW5zL3N0YXR1cy5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbnMvc3RhdHVzLmdyaWQtY29sdW1uJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMtZGV2aWNlLXRhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy1kZXZpY2UtdGFiLmd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMtZGV2aWNlLXRhYi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy5icmVhZGNydW1iLWZhY3RvcnknO1xuIl19
@@ -2,16 +2,15 @@ import { Component, EventEmitter } from '@angular/core';
2
2
  import { ActivatedRoute } from '@angular/router';
3
3
  import { InventoryService, QueriesUtil } from '@c8y/client';
4
4
  import { DataGridService, gettext } from '@c8y/ngx-components';
5
+ import { SERVICE_FRAGMENT, ServiceCommandService } from '@c8y/ngx-components/services/shared';
5
6
  import { StatusOptionsService } from '../status-options';
6
7
  import { LastUpdatedDateGridColumn, ServiceNameGridColumn, ServiceTypeGridColumn, StatusGridColumn } from './columns';
7
- import { SERVICE_FRAGMENT } from './service-device-tab.model';
8
- import { ServiceCommandService } from './service-command.service';
9
8
  import * as i0 from "@angular/core";
10
9
  import * as i1 from "@angular/router";
11
10
  import * as i2 from "@c8y/client";
12
11
  import * as i3 from "@c8y/ngx-components";
13
12
  import * as i4 from "../status-options";
14
- import * as i5 from "./service-command.service";
13
+ import * as i5 from "@c8y/ngx-components/services/shared";
15
14
  import * as i6 from "@angular/common";
16
15
  export class ServicesDeviceTabComponent {
17
16
  constructor(route, inventoryService, gridService, statusOptionsService, serviceCommand) {
@@ -94,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
94
93
  type: Component,
95
94
  args: [{ selector: 'c8y-services-device-tab', template: "<div class=\"content-fullpage\">\n <c8y-data-grid\n [title]=\"'Services' | translate\"\n [refresh]=\"refresh$\"\n [actionControls]=\"actionControls\"\n [pagination]=\"pagination\"\n [columns]=\"columns\"\n [infiniteScroll]=\"'auto'\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n >\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-tools'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : null\"\n *emptyStateContext=\"let stats; isLoading as isLoading\"\n [horizontal]=\"stats?.size > 0\"\n ></c8y-ui-empty-state>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByName\">\n <c8y-column [name]=\"column.name\"></c8y-column>\n </ng-container>\n </c8y-data-grid>\n</div>\n" }]
96
95
  }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.InventoryService }, { type: i3.DataGridService }, { type: i4.StatusOptionsService }, { type: i5.ServiceCommandService }] });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMtZGV2aWNlLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zZXJ2aWNlcy1kZXZpY2UtdGFiL3NlcnZpY2VzLWRldmljZS10YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc2VydmljZXMvc2VydmljZXMtZGV2aWNlLXRhYi9zZXJ2aWNlcy1kZXZpY2UtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQWtCLGdCQUFnQixFQUFlLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RixPQUFPLEVBRUwsZUFBZSxFQUdmLE9BQU8sRUFFUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDakIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFXLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7O0FBTWxFLE1BQU0sT0FBTywwQkFBMEI7SUE0QnJDLFlBQ1UsS0FBcUIsRUFDckIsZ0JBQWtDLEVBQ2xDLFdBQTRCLEVBQzVCLG9CQUEwQyxFQUMxQyxjQUFxQztRQUpyQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM1Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQWhDL0MsYUFBUSxHQUFvQixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFHM0Usb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFeEIsYUFBUSxHQUF1QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xELGVBQVUsR0FBRztZQUNYLFFBQVEsRUFBRSxFQUFFO1lBQ1osV0FBVyxFQUFFLENBQUM7U0FDZixDQUFDO1FBRUYsbUJBQWMsR0FBb0IsRUFBRSxDQUFDO1FBQ3JDLFlBQU8sR0FBYTtZQUNsQixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztZQUMvQyxJQUFJLHFCQUFxQixFQUFFO1lBQzNCLElBQUkscUJBQXFCLEVBQUU7WUFDM0IsSUFBSSx5QkFBeUIsRUFBRTtTQUNoQyxDQUFDO1FBSUYscUJBQWdCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDckQsa0JBQWEsR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNuRCxzQkFBaUIsR0FBRyxPQUFPLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUV4RSxnQkFBVyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBU25ELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQjthQUNyQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLEtBQUssRUFBRSxXQUFXLGdCQUFnQixFQUFFO1lBQ3BDLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFFBQVEsRUFBRSxDQUFDO1NBQ1osQ0FBQzthQUNELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLE9BQU8sUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUN4QixrQkFBc0M7UUFFdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RGLElBQUksRUFBRSxnQkFBZ0I7U0FDdkIsQ0FBQyxDQUNILENBQUM7UUFFRixNQUFNLFdBQVcsR0FDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0RCxLQUFLO1lBQ0wsY0FBYyxFQUFFLElBQUk7WUFDcEIsUUFBUSxFQUFFLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxRQUFRO1lBQ2hELFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsV0FBVztTQUN2RCxDQUFDLENBQUM7UUFFTCxNQUFNLG9CQUFvQixHQUFvQixJQUFJLENBQUMsZ0JBQWdCO2FBQ2hFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakMsS0FBSztZQUNMLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLFFBQVEsRUFBRSxDQUFDO1NBQ1osQ0FBQzthQUNELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFbEQsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQzNELFdBQVc7WUFDWCxJQUFJLENBQUMsV0FBVztZQUNoQixvQkFBb0I7U0FDckIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDO1FBRTNDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsSUFBNEIsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzRSxNQUFNLG9CQUFvQixHQUF5QjtZQUNqRCxHQUFHO1lBQ0gsSUFBSTtZQUNKLE1BQU07WUFDTixZQUFZO1lBQ1osSUFBSTtTQUNMLENBQUM7UUFFRixPQUFPLG9CQUFvQixDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQWM7UUFDaEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7OEdBakdVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtEQ3pCdkMsMjNCQXNCQTs7MkZER2EsMEJBQTBCO2tCQUp0QyxTQUFTOytCQUNFLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgSW52ZW50b3J5U2VydmljZSwgSVJlc3VsdExpc3QsIFF1ZXJpZXNVdGlsIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQ29sdW1uLFxuICBEYXRhR3JpZFNlcnZpY2UsXG4gIERhdGFTb3VyY2VNb2RpZmllcixcbiAgQWN0aW9uQ29udHJvbCxcbiAgZ2V0dGV4dCxcbiAgU2VydmVyU2lkZURhdGFSZXN1bHRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTdGF0dXNPcHRpb25zU2VydmljZSB9IGZyb20gJy4uL3N0YXR1cy1vcHRpb25zJztcbmltcG9ydCB7XG4gIExhc3RVcGRhdGVkRGF0ZUdyaWRDb2x1bW4sXG4gIFNlcnZpY2VOYW1lR3JpZENvbHVtbixcbiAgU2VydmljZVR5cGVHcmlkQ29sdW1uLFxuICBTdGF0dXNHcmlkQ29sdW1uXG59IGZyb20gJy4vY29sdW1ucyc7XG5pbXBvcnQgeyBTZXJ2aWNlLCBTRVJWSUNFX0ZSQUdNRU5UIH0gZnJvbSAnLi9zZXJ2aWNlLWRldmljZS10YWIubW9kZWwnO1xuaW1wb3J0IHsgU2VydmljZUNvbW1hbmRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlLWNvbW1hbmQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1zZXJ2aWNlcy1kZXZpY2UtdGFiJyxcbiAgdGVtcGxhdGVVcmw6ICdzZXJ2aWNlcy1kZXZpY2UtdGFiLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlc0RldmljZVRhYkNvbXBvbmVudCB7XG4gIGRldmljZUlkOiBzdHJpbmcgfCBudW1iZXIgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmVudC5kYXRhLmNvbnRleHREYXRhLmlkO1xuXG4gIHNpemVSZXF1ZXN0OiBQcm9taXNlPG51bWJlcj47XG4gIHNpemVSZXF1ZXN0RG9uZSA9IGZhbHNlO1xuXG4gIHJlZnJlc2gkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHBhZ2luYXRpb24gPSB7XG4gICAgcGFnZVNpemU6IDUwLFxuICAgIGN1cnJlbnRQYWdlOiAxXG4gIH07XG5cbiAgYWN0aW9uQ29udHJvbHM6IEFjdGlvbkNvbnRyb2xbXSA9IFtdO1xuICBjb2x1bW5zOiBDb2x1bW5bXSA9IFtcbiAgICBuZXcgU3RhdHVzR3JpZENvbHVtbih0aGlzLnN0YXR1c09wdGlvbnNTZXJ2aWNlKSxcbiAgICBuZXcgU2VydmljZU5hbWVHcmlkQ29sdW1uKCksXG4gICAgbmV3IFNlcnZpY2VUeXBlR3JpZENvbHVtbigpLFxuICAgIG5ldyBMYXN0VXBkYXRlZERhdGVHcmlkQ29sdW1uKClcbiAgXTtcblxuICBzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrOiBhbnk7XG5cbiAgbm9SZXN1bHRzTWVzc2FnZSA9IGdldHRleHQoJ05vIHJlc3VsdHMgdG8gZGlzcGxheS4nKTtcbiAgbm9EYXRhTWVzc2FnZSA9IGdldHRleHQoJ05vIHNlcnZpY2VzIHRvIGRpc3BsYXkuJyk7XG4gIG5vUmVzdWx0c1N1YnRpdGxlID0gZ2V0dGV4dCgnUmVmaW5lIHlvdXIgc2VhcmNoIHRlcm1zIG9yIGNoZWNrIHlvdXIgc3BlbGxpbmcuJyk7XG5cbiAgcHJpdmF0ZSBxdWVyaWVzVXRpbDogUXVlcmllc1V0aWwgPSBuZXcgUXVlcmllc1V0aWwoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGludmVudG9yeVNlcnZpY2U6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBncmlkU2VydmljZTogRGF0YUdyaWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RhdHVzT3B0aW9uc1NlcnZpY2U6IFN0YXR1c09wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VydmljZUNvbW1hbmQ6IFNlcnZpY2VDb21tYW5kU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNlcnZlclNpZGVEYXRhQ2FsbGJhY2sgPSB0aGlzLm9uRGF0YVNvdXJjZU1vZGlmaWVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zaXplUmVxdWVzdCA9IHRoaXMuaW52ZW50b3J5U2VydmljZVxuICAgICAgLmNoaWxkQWRkaXRpb25zTGlzdCh0aGlzLmRldmljZUlkLCB7XG4gICAgICAgIHF1ZXJ5OiBgdHlwZSBlcSAke1NFUlZJQ0VfRlJBR01FTlR9YCxcbiAgICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWUsXG4gICAgICAgIHBhZ2VTaXplOiAxXG4gICAgICB9KVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICB0aGlzLnNpemVSZXF1ZXN0RG9uZSA9IHRydWU7XG4gICAgICAgIHJldHVybiByZXNwb25zZT8ucGFnaW5nPy50b3RhbFBhZ2VzO1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBvbkRhdGFTb3VyY2VNb2RpZmllcihcbiAgICBkYXRhU291cmNlTW9kaWZpZXI6IERhdGFTb3VyY2VNb2RpZmllclxuICApOiBQcm9taXNlPFNlcnZlclNpZGVEYXRhUmVzdWx0PiB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnF1ZXJpZXNVdGlsLmJ1aWxkUXVlcnkoXG4gICAgICB0aGlzLnF1ZXJpZXNVdGlsLmFkZEFuZEZpbHRlcih0aGlzLmdyaWRTZXJ2aWNlLmdldFF1ZXJ5T2JqKGRhdGFTb3VyY2VNb2RpZmllci5jb2x1bW5zKSwge1xuICAgICAgICB0eXBlOiBTRVJWSUNFX0ZSQUdNRU5UXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBkYXRhUmVxdWVzdDogUHJvbWlzZTxJUmVzdWx0TGlzdDxJTWFuYWdlZE9iamVjdD4+ID1cbiAgICAgIHRoaXMuaW52ZW50b3J5U2VydmljZS5jaGlsZEFkZGl0aW9uc0xpc3QodGhpcy5kZXZpY2VJZCwge1xuICAgICAgICBxdWVyeSxcbiAgICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWUsXG4gICAgICAgIHBhZ2VTaXplOiBkYXRhU291cmNlTW9kaWZpZXIucGFnaW5hdGlvbi5wYWdlU2l6ZSxcbiAgICAgICAgY3VycmVudFBhZ2U6IGRhdGFTb3VyY2VNb2RpZmllci5wYWdpbmF0aW9uLmN1cnJlbnRQYWdlXG4gICAgICB9KTtcblxuICAgIGNvbnN0IGZpbHRlcmVyZFNpemVSZXF1ZXN0OiBQcm9taXNlPG51bWJlcj4gPSB0aGlzLmludmVudG9yeVNlcnZpY2VcbiAgICAgIC5jaGlsZEFkZGl0aW9uc0xpc3QodGhpcy5kZXZpY2VJZCwge1xuICAgICAgICBxdWVyeSxcbiAgICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWUsXG4gICAgICAgIHBhZ2VTaXplOiAxXG4gICAgICB9KVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2U/LnBhZ2luZz8udG90YWxQYWdlcyk7XG5cbiAgICBjb25zdCBbZGF0YVJlc3BvbnNlLCBzaXplLCBmaWx0ZXJlZFNpemVdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgZGF0YVJlcXVlc3QsXG4gICAgICB0aGlzLnNpemVSZXF1ZXN0LFxuICAgICAgZmlsdGVyZXJkU2l6ZVJlcXVlc3RcbiAgICBdKTtcblxuICAgIGNvbnN0IHsgcmVzLCBkYXRhLCBwYWdpbmcgfSA9IGRhdGFSZXNwb25zZTtcblxuICAgIGNvbnN0IGNvbW1hbmRzID0gdGhpcy5zZXJ2aWNlQ29tbWFuZC5nZXRBbGxTdXBwb3J0ZWRDb21tYW5kcyhkYXRhIGFzIHVua25vd24gYXMgU2VydmljZVtdKTtcbiAgICB0aGlzLmFjdGlvbkNvbnRyb2xzID0gdGhpcy5zZXJ2aWNlQ29tbWFuZC5nZW5lcmF0ZUFjdGlvbkNvbnRyb2xzKGNvbW1hbmRzKTtcblxuICAgIGNvbnN0IHNlcnZlclNpZGVEYXRhUmVzdWx0OiBTZXJ2ZXJTaWRlRGF0YVJlc3VsdCA9IHtcbiAgICAgIHJlcyxcbiAgICAgIGRhdGEsXG4gICAgICBwYWdpbmcsXG4gICAgICBmaWx0ZXJlZFNpemUsXG4gICAgICBzaXplXG4gICAgfTtcblxuICAgIHJldHVybiBzZXJ2ZXJTaWRlRGF0YVJlc3VsdDtcbiAgfVxuXG4gIHRyYWNrQnlOYW1lKF9pbmRleCwgY29sdW1uOiBDb2x1bW4pOiBzdHJpbmcge1xuICAgIHJldHVybiBjb2x1bW4ubmFtZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRlbnQtZnVsbHBhZ2VcIj5cbiAgPGM4eS1kYXRhLWdyaWRcbiAgICBbdGl0bGVdPVwiJ1NlcnZpY2VzJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3JlZnJlc2hdPVwicmVmcmVzaCRcIlxuICAgIFthY3Rpb25Db250cm9sc109XCJhY3Rpb25Db250cm9sc1wiXG4gICAgW3BhZ2luYXRpb25dPVwicGFnaW5hdGlvblwiXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgW2luZmluaXRlU2Nyb2xsXT1cIidhdXRvJ1wiXG4gICAgW3NlcnZlclNpZGVEYXRhQ2FsbGJhY2tdPVwic2VydmVyU2lkZURhdGFDYWxsYmFja1wiXG4gID5cbiAgICA8Yzh5LXVpLWVtcHR5LXN0YXRlXG4gICAgICBbaWNvbl09XCJzdGF0cz8uc2l6ZSA+IDAgPyAnc2VhcmNoJyA6ICdjOHktdG9vbHMnXCJcbiAgICAgIFt0aXRsZV09XCJzdGF0cz8uc2l6ZSA+IDAgPyAobm9SZXN1bHRzTWVzc2FnZSB8IHRyYW5zbGF0ZSkgOiAobm9EYXRhTWVzc2FnZSB8IHRyYW5zbGF0ZSlcIlxuICAgICAgW3N1YnRpdGxlXT1cInN0YXRzPy5zaXplID4gMCA/IChub1Jlc3VsdHNTdWJ0aXRsZSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgICAgICplbXB0eVN0YXRlQ29udGV4dD1cImxldCBzdGF0czsgaXNMb2FkaW5nIGFzIGlzTG9hZGluZ1wiXG4gICAgICBbaG9yaXpvbnRhbF09XCJzdGF0cz8uc2l6ZSA+IDBcIlxuICAgID48L2M4eS11aS1lbXB0eS1zdGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeU5hbWVcIj5cbiAgICAgIDxjOHktY29sdW1uIFtuYW1lXT1cImNvbHVtbi5uYW1lXCI+PC9jOHktY29sdW1uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2M4eS1kYXRhLWdyaWQ+XG48L2Rpdj5cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMtZGV2aWNlLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zZXJ2aWNlcy1kZXZpY2UtdGFiL3NlcnZpY2VzLWRldmljZS10YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc2VydmljZXMvc2VydmljZXMtZGV2aWNlLXRhYi9zZXJ2aWNlcy1kZXZpY2UtdGFiLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQWtCLGdCQUFnQixFQUFlLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RixPQUFPLEVBR0wsZUFBZSxFQUVmLE9BQU8sRUFFUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3RCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNqQixNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7QUFNbkIsTUFBTSxPQUFPLDBCQUEwQjtJQTRCckMsWUFDVSxLQUFxQixFQUNyQixnQkFBa0MsRUFDbEMsV0FBNEIsRUFDNUIsb0JBQTBDLEVBQzFDLGNBQXFDO1FBSnJDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBaEMvQyxhQUFRLEdBQW9CLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUczRSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixhQUFRLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEQsZUFBVSxHQUFHO1lBQ1gsUUFBUSxFQUFFLEVBQUU7WUFDWixXQUFXLEVBQUUsQ0FBQztTQUNmLENBQUM7UUFFRixtQkFBYyxHQUFvQixFQUFFLENBQUM7UUFDckMsWUFBTyxHQUFhO1lBQ2xCLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1lBQy9DLElBQUkscUJBQXFCLEVBQUU7WUFDM0IsSUFBSSxxQkFBcUIsRUFBRTtZQUMzQixJQUFJLHlCQUF5QixFQUFFO1NBQ2hDLENBQUM7UUFJRixxQkFBZ0IsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNyRCxrQkFBYSxHQUFHLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ25ELHNCQUFpQixHQUFHLE9BQU8sQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBRXhFLGdCQUFXLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFTbkQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCO2FBQ3JDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakMsS0FBSyxFQUFFLFdBQVcsZ0JBQWdCLEVBQUU7WUFDcEMsY0FBYyxFQUFFLElBQUk7WUFDcEIsUUFBUSxFQUFFLENBQUM7U0FDWixDQUFDO2FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsT0FBTyxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQ3hCLGtCQUFzQztRQUV0QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdEYsSUFBSSxFQUFFLGdCQUFnQjtTQUN2QixDQUFDLENBQ0gsQ0FBQztRQUVGLE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3RELEtBQUs7WUFDTCxjQUFjLEVBQUUsSUFBSTtZQUNwQixRQUFRLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFFBQVE7WUFDaEQsV0FBVyxFQUFFLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxXQUFXO1NBQ3ZELENBQUMsQ0FBQztRQUVMLE1BQU0sb0JBQW9CLEdBQW9CLElBQUksQ0FBQyxnQkFBZ0I7YUFDaEUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxLQUFLO1lBQ0wsY0FBYyxFQUFFLElBQUk7WUFDcEIsUUFBUSxFQUFFLENBQUM7U0FDWixDQUFDO2FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVsRCxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDM0QsV0FBVztZQUNYLElBQUksQ0FBQyxXQUFXO1lBQ2hCLG9CQUFvQjtTQUNyQixDQUFDLENBQUM7UUFFSCxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxZQUFZLENBQUM7UUFFM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUE0QixDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNFLE1BQU0sb0JBQW9CLEdBQXlCO1lBQ2pELEdBQUc7WUFDSCxJQUFJO1lBQ0osTUFBTTtZQUNOLFlBQVk7WUFDWixJQUFJO1NBQ0wsQ0FBQztRQUVGLE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBYztRQUNoQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQzs4R0FqR1UsMEJBQTBCO2tHQUExQiwwQkFBMEIsK0RDNUJ2QywyM0JBc0JBOzsyRkRNYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0UseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBJbnZlbnRvcnlTZXJ2aWNlLCBJUmVzdWx0TGlzdCwgUXVlcmllc1V0aWwgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQge1xuICBBY3Rpb25Db250cm9sLFxuICBDb2x1bW4sXG4gIERhdGFHcmlkU2VydmljZSxcbiAgRGF0YVNvdXJjZU1vZGlmaWVyLFxuICBnZXR0ZXh0LFxuICBTZXJ2ZXJTaWRlRGF0YVJlc3VsdFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIFNlcnZpY2UsXG4gIFNFUlZJQ0VfRlJBR01FTlQsXG4gIFNlcnZpY2VDb21tYW5kU2VydmljZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL3NlcnZpY2VzL3NoYXJlZCc7XG5pbXBvcnQgeyBTdGF0dXNPcHRpb25zU2VydmljZSB9IGZyb20gJy4uL3N0YXR1cy1vcHRpb25zJztcbmltcG9ydCB7XG4gIExhc3RVcGRhdGVkRGF0ZUdyaWRDb2x1bW4sXG4gIFNlcnZpY2VOYW1lR3JpZENvbHVtbixcbiAgU2VydmljZVR5cGVHcmlkQ29sdW1uLFxuICBTdGF0dXNHcmlkQ29sdW1uXG59IGZyb20gJy4vY29sdW1ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1zZXJ2aWNlcy1kZXZpY2UtdGFiJyxcbiAgdGVtcGxhdGVVcmw6ICdzZXJ2aWNlcy1kZXZpY2UtdGFiLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlc0RldmljZVRhYkNvbXBvbmVudCB7XG4gIGRldmljZUlkOiBzdHJpbmcgfCBudW1iZXIgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmVudC5kYXRhLmNvbnRleHREYXRhLmlkO1xuXG4gIHNpemVSZXF1ZXN0OiBQcm9taXNlPG51bWJlcj47XG4gIHNpemVSZXF1ZXN0RG9uZSA9IGZhbHNlO1xuXG4gIHJlZnJlc2gkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHBhZ2luYXRpb24gPSB7XG4gICAgcGFnZVNpemU6IDUwLFxuICAgIGN1cnJlbnRQYWdlOiAxXG4gIH07XG5cbiAgYWN0aW9uQ29udHJvbHM6IEFjdGlvbkNvbnRyb2xbXSA9IFtdO1xuICBjb2x1bW5zOiBDb2x1bW5bXSA9IFtcbiAgICBuZXcgU3RhdHVzR3JpZENvbHVtbih0aGlzLnN0YXR1c09wdGlvbnNTZXJ2aWNlKSxcbiAgICBuZXcgU2VydmljZU5hbWVHcmlkQ29sdW1uKCksXG4gICAgbmV3IFNlcnZpY2VUeXBlR3JpZENvbHVtbigpLFxuICAgIG5ldyBMYXN0VXBkYXRlZERhdGVHcmlkQ29sdW1uKClcbiAgXTtcblxuICBzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrOiBhbnk7XG5cbiAgbm9SZXN1bHRzTWVzc2FnZSA9IGdldHRleHQoJ05vIHJlc3VsdHMgdG8gZGlzcGxheS4nKTtcbiAgbm9EYXRhTWVzc2FnZSA9IGdldHRleHQoJ05vIHNlcnZpY2VzIHRvIGRpc3BsYXkuJyk7XG4gIG5vUmVzdWx0c1N1YnRpdGxlID0gZ2V0dGV4dCgnUmVmaW5lIHlvdXIgc2VhcmNoIHRlcm1zIG9yIGNoZWNrIHlvdXIgc3BlbGxpbmcuJyk7XG5cbiAgcHJpdmF0ZSBxdWVyaWVzVXRpbDogUXVlcmllc1V0aWwgPSBuZXcgUXVlcmllc1V0aWwoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGludmVudG9yeVNlcnZpY2U6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBncmlkU2VydmljZTogRGF0YUdyaWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RhdHVzT3B0aW9uc1NlcnZpY2U6IFN0YXR1c09wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VydmljZUNvbW1hbmQ6IFNlcnZpY2VDb21tYW5kU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNlcnZlclNpZGVEYXRhQ2FsbGJhY2sgPSB0aGlzLm9uRGF0YVNvdXJjZU1vZGlmaWVyLmJpbmQodGhpcyk7XG4gICAgdGhpcy5zaXplUmVxdWVzdCA9IHRoaXMuaW52ZW50b3J5U2VydmljZVxuICAgICAgLmNoaWxkQWRkaXRpb25zTGlzdCh0aGlzLmRldmljZUlkLCB7XG4gICAgICAgIHF1ZXJ5OiBgdHlwZSBlcSAke1NFUlZJQ0VfRlJBR01FTlR9YCxcbiAgICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWUsXG4gICAgICAgIHBhZ2VTaXplOiAxXG4gICAgICB9KVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICB0aGlzLnNpemVSZXF1ZXN0RG9uZSA9IHRydWU7XG4gICAgICAgIHJldHVybiByZXNwb25zZT8ucGFnaW5nPy50b3RhbFBhZ2VzO1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBvbkRhdGFTb3VyY2VNb2RpZmllcihcbiAgICBkYXRhU291cmNlTW9kaWZpZXI6IERhdGFTb3VyY2VNb2RpZmllclxuICApOiBQcm9taXNlPFNlcnZlclNpZGVEYXRhUmVzdWx0PiB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnF1ZXJpZXNVdGlsLmJ1aWxkUXVlcnkoXG4gICAgICB0aGlzLnF1ZXJpZXNVdGlsLmFkZEFuZEZpbHRlcih0aGlzLmdyaWRTZXJ2aWNlLmdldFF1ZXJ5T2JqKGRhdGFTb3VyY2VNb2RpZmllci5jb2x1bW5zKSwge1xuICAgICAgICB0eXBlOiBTRVJWSUNFX0ZSQUdNRU5UXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBjb25zdCBkYXRhUmVxdWVzdDogUHJvbWlzZTxJUmVzdWx0TGlzdDxJTWFuYWdlZE9iamVjdD4+ID1cbiAgICAgIHRoaXMuaW52ZW50b3J5U2VydmljZS5jaGlsZEFkZGl0aW9uc0xpc3QodGhpcy5kZXZpY2VJZCwge1xuICAgICAgICBxdWVyeSxcbiAgICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWUsXG4gICAgICAgIHBhZ2VTaXplOiBkYXRhU291cmNlTW9kaWZpZXIucGFnaW5hdGlvbi5wYWdlU2l6ZSxcbiAgICAgICAgY3VycmVudFBhZ2U6IGRhdGFTb3VyY2VNb2RpZmllci5wYWdpbmF0aW9uLmN1cnJlbnRQYWdlXG4gICAgICB9KTtcblxuICAgIGNvbnN0IGZpbHRlcmVyZFNpemVSZXF1ZXN0OiBQcm9taXNlPG51bWJlcj4gPSB0aGlzLmludmVudG9yeVNlcnZpY2VcbiAgICAgIC5jaGlsZEFkZGl0aW9uc0xpc3QodGhpcy5kZXZpY2VJZCwge1xuICAgICAgICBxdWVyeSxcbiAgICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWUsXG4gICAgICAgIHBhZ2VTaXplOiAxXG4gICAgICB9KVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2U/LnBhZ2luZz8udG90YWxQYWdlcyk7XG5cbiAgICBjb25zdCBbZGF0YVJlc3BvbnNlLCBzaXplLCBmaWx0ZXJlZFNpemVdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgZGF0YVJlcXVlc3QsXG4gICAgICB0aGlzLnNpemVSZXF1ZXN0LFxuICAgICAgZmlsdGVyZXJkU2l6ZVJlcXVlc3RcbiAgICBdKTtcblxuICAgIGNvbnN0IHsgcmVzLCBkYXRhLCBwYWdpbmcgfSA9IGRhdGFSZXNwb25zZTtcblxuICAgIGNvbnN0IGNvbW1hbmRzID0gdGhpcy5zZXJ2aWNlQ29tbWFuZC5nZXRBbGxTdXBwb3J0ZWRDb21tYW5kcyhkYXRhIGFzIHVua25vd24gYXMgU2VydmljZVtdKTtcbiAgICB0aGlzLmFjdGlvbkNvbnRyb2xzID0gdGhpcy5zZXJ2aWNlQ29tbWFuZC5nZW5lcmF0ZUFjdGlvbkNvbnRyb2xzKGNvbW1hbmRzKTtcblxuICAgIGNvbnN0IHNlcnZlclNpZGVEYXRhUmVzdWx0OiBTZXJ2ZXJTaWRlRGF0YVJlc3VsdCA9IHtcbiAgICAgIHJlcyxcbiAgICAgIGRhdGEsXG4gICAgICBwYWdpbmcsXG4gICAgICBmaWx0ZXJlZFNpemUsXG4gICAgICBzaXplXG4gICAgfTtcblxuICAgIHJldHVybiBzZXJ2ZXJTaWRlRGF0YVJlc3VsdDtcbiAgfVxuXG4gIHRyYWNrQnlOYW1lKF9pbmRleCwgY29sdW1uOiBDb2x1bW4pOiBzdHJpbmcge1xuICAgIHJldHVybiBjb2x1bW4ubmFtZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRlbnQtZnVsbHBhZ2VcIj5cbiAgPGM4eS1kYXRhLWdyaWRcbiAgICBbdGl0bGVdPVwiJ1NlcnZpY2VzJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3JlZnJlc2hdPVwicmVmcmVzaCRcIlxuICAgIFthY3Rpb25Db250cm9sc109XCJhY3Rpb25Db250cm9sc1wiXG4gICAgW3BhZ2luYXRpb25dPVwicGFnaW5hdGlvblwiXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgW2luZmluaXRlU2Nyb2xsXT1cIidhdXRvJ1wiXG4gICAgW3NlcnZlclNpZGVEYXRhQ2FsbGJhY2tdPVwic2VydmVyU2lkZURhdGFDYWxsYmFja1wiXG4gID5cbiAgICA8Yzh5LXVpLWVtcHR5LXN0YXRlXG4gICAgICBbaWNvbl09XCJzdGF0cz8uc2l6ZSA+IDAgPyAnc2VhcmNoJyA6ICdjOHktdG9vbHMnXCJcbiAgICAgIFt0aXRsZV09XCJzdGF0cz8uc2l6ZSA+IDAgPyAobm9SZXN1bHRzTWVzc2FnZSB8IHRyYW5zbGF0ZSkgOiAobm9EYXRhTWVzc2FnZSB8IHRyYW5zbGF0ZSlcIlxuICAgICAgW3N1YnRpdGxlXT1cInN0YXRzPy5zaXplID4gMCA/IChub1Jlc3VsdHNTdWJ0aXRsZSB8IHRyYW5zbGF0ZSkgOiBudWxsXCJcbiAgICAgICplbXB0eVN0YXRlQ29udGV4dD1cImxldCBzdGF0czsgaXNMb2FkaW5nIGFzIGlzTG9hZGluZ1wiXG4gICAgICBbaG9yaXpvbnRhbF09XCJzdGF0cz8uc2l6ZSA+IDBcIlxuICAgID48L2M4eS11aS1lbXB0eS1zdGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeU5hbWVcIj5cbiAgICAgIDxjOHktY29sdW1uIFtuYW1lXT1cImNvbHVtbi5uYW1lXCI+PC9jOHktY29sdW1uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2M4eS1kYXRhLWdyaWQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { InventoryService } from '@c8y/client';
3
+ import { SERVICE_FRAGMENT } from '@c8y/ngx-components/services/shared';
3
4
  import { get } from 'lodash-es';
4
- import { SERVICE_FRAGMENT } from './service-device-tab.model';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@c8y/client";
7
7
  export class ServicesDeviceTabGuard {
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
21
21
  type: Injectable,
22
22
  args: [{ providedIn: 'root' }]
23
23
  }], ctorParameters: () => [{ type: i1.InventoryService }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMtZGV2aWNlLXRhYi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NlcnZpY2VzL3NlcnZpY2VzLWRldmljZS10YWIvc2VydmljZXMtZGV2aWNlLXRhYi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFHOUQsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQsV0FBVyxDQUFDLEtBQTZCO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQjthQUN6QixrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDakYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs4R0FSVSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQURULE1BQU07OzJGQUNuQixzQkFBc0I7a0JBRGxDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFNFUlZJQ0VfRlJBR01FTlQgfSBmcm9tICcuL3NlcnZpY2UtZGV2aWNlLXRhYi5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2VydmljZXNEZXZpY2VUYWJHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW52ZW50b3J5U2VydmljZTogSW52ZW50b3J5U2VydmljZSkge31cblxuICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGlkID0gZ2V0KHJvdXRlLCAncGFyYW1zLmlkJykgfHwgZ2V0KHJvdXRlLCAncGFyZW50LnBhcmFtcy5pZCcpO1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeVNlcnZpY2VcbiAgICAgIC5jaGlsZEFkZGl0aW9uc0xpc3QoeyBpZCB9LCB7IHF1ZXJ5OiBgdHlwZSBlcSAke1NFUlZJQ0VfRlJBR01FTlR9YCwgcGFnZVNpemU6IDEgfSlcbiAgICAgIC50aGVuKHJlc3VsdCA9PiAhIXJlc3VsdD8uZGF0YT8ubGVuZ3RoKTtcbiAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMtZGV2aWNlLXRhYi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NlcnZpY2VzL3NlcnZpY2VzLWRldmljZS10YWIvc2VydmljZXMtZGV2aWNlLXRhYi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFHaEMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQsV0FBVyxDQUFDLEtBQTZCO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQjthQUN6QixrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDakYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs4R0FSVSxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQURULE1BQU07OzJGQUNuQixzQkFBc0I7a0JBRGxDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgU0VSVklDRV9GUkFHTUVOVCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvc2VydmljZXMvc2hhcmVkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2VydmljZXNEZXZpY2VUYWJHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW52ZW50b3J5U2VydmljZTogSW52ZW50b3J5U2VydmljZSkge31cblxuICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGlkID0gZ2V0KHJvdXRlLCAncGFyYW1zLmlkJykgfHwgZ2V0KHJvdXRlLCAncGFyZW50LnBhcmFtcy5pZCcpO1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeVNlcnZpY2VcbiAgICAgIC5jaGlsZEFkZGl0aW9uc0xpc3QoeyBpZCB9LCB7IHF1ZXJ5OiBgdHlwZSBlcSAke1NFUlZJQ0VfRlJBR01FTlR9YCwgcGFnZVNpemU6IDEgfSlcbiAgICAgIC50aGVuKHJlc3VsdCA9PiAhIXJlc3VsdD8uZGF0YT8ubGVuZ3RoKTtcbiAgfVxufVxuIl19
@@ -18,6 +18,14 @@ export class ServicesBreadcrumbFactory {
18
18
  const breadcrumbItems = [];
19
19
  const device = serviceMO?.additionParents?.references[0]?.managedObject;
20
20
  if (device) {
21
+ breadcrumbItems.push({
22
+ label: gettext('Devices'),
23
+ icon: 'exchange'
24
+ });
25
+ breadcrumbItems.push({
26
+ label: gettext('All devices'),
27
+ path: '/device'
28
+ });
21
29
  breadcrumbItems.push({
22
30
  label: device.name,
23
31
  path: `/device/${device.id}`
@@ -29,6 +37,10 @@ export class ServicesBreadcrumbFactory {
29
37
  breadcrumbItems.push({
30
38
  label: serviceMO.name
31
39
  });
40
+ const label = routeConfig?.label;
41
+ if (!!label) {
42
+ breadcrumbItems.push({ label });
43
+ }
32
44
  }
33
45
  breadcrumb.items = breadcrumbItems;
34
46
  return breadcrumb;
@@ -40,4 +52,4 @@ export class ServicesBreadcrumbFactory {
40
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServicesBreadcrumbFactory, decorators: [{
41
53
  type: Injectable
42
54
  }], ctorParameters: () => [{ type: i1.InventoryService }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMuYnJlYWRjcnVtYi1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc2VydmljZXMvc2VydmljZXMtZGV2aWNlLXRhYi9zZXJ2aWNlcy5icmVhZGNydW1iLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQVcsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUlMLE9BQU8sRUFDUCxXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRzdCLE1BQU0sT0FBTyx5QkFBeUI7SUFHcEMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRTFELEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBcUI7UUFDN0IsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNyRCxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUV2QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRW5ELElBQ0UsQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLE9BQU8sSUFBSyxXQUFtQixFQUFFLE9BQU8sS0FBSyxXQUFXLENBQUMsT0FBTyxDQUFDO1lBQzFGLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUNsQixDQUFDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsQ0FDaEIsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDNUUsRUFBRSxJQUFJLENBQUM7WUFDUixNQUFNLFVBQVUsR0FBZSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUM3QyxNQUFNLGVBQWUsR0FBcUIsRUFBRSxDQUFDO1lBQzdDLE1BQU0sTUFBTSxHQUFZLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQztZQUVqRixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDbEIsSUFBSSxFQUFFLFdBQVcsTUFBTSxDQUFDLEVBQUUsRUFBRTtpQkFDN0IsQ0FBQyxDQUFDO2dCQUNILGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLEtBQUssRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDO29CQUMxQixJQUFJLEVBQUUsV0FBVyxNQUFNLENBQUMsRUFBRSxXQUFXO2lCQUN0QyxDQUFDLENBQUM7Z0JBQ0gsZUFBZSxDQUFDLElBQUksQ0FBQztvQkFDbkIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJO2lCQUNKLENBQUMsQ0FBQztZQUN2QixDQUFDO1lBRUQsVUFBVSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7WUFDbkMsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7OEdBdkNVLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW52ZW50b3J5U2VydmljZSwgSVNvdXJjZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEJyZWFkY3J1bWIsXG4gIEJyZWFkY3J1bWJGYWN0b3J5LFxuICBCcmVhZGNydW1iSXRlbSxcbiAgZ2V0dGV4dCxcbiAgVmlld0NvbnRleHRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlc0JyZWFkY3J1bWJGYWN0b3J5IGltcGxlbWVudHMgQnJlYWRjcnVtYkZhY3Rvcnkge1xuICBwcml2YXRlIGNvbnRleHREYXRhO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW52ZW50b3J5U2VydmljZTogSW52ZW50b3J5U2VydmljZSkge31cblxuICBhc3luYyBnZXQocm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgY29uc3QgeyBjb250ZXh0LCBjb250ZXh0RGF0YSB9ID0gcm91dGUuc25hcHNob3QuZGF0YTtcbiAgICBjb25zdCB7IHJvdXRlQ29uZmlnIH0gPSByb3V0ZS5zbmFwc2hvdDtcblxuICAgIHRoaXMuY29udGV4dERhdGEgPSBjb250ZXh0RGF0YSB8fCB0aGlzLmNvbnRleHREYXRhO1xuXG4gICAgaWYgKFxuICAgICAgKGNvbnRleHQgPT09IFZpZXdDb250ZXh0LlNlcnZpY2UgfHwgKHJvdXRlQ29uZmlnIGFzIGFueSk/LmNvbnRleHQgPT09IFZpZXdDb250ZXh0LlNlcnZpY2UpICYmXG4gICAgICAhIXRoaXMuY29udGV4dERhdGFcbiAgICApIHtcbiAgICAgIGNvbnN0IHNlcnZpY2VNTyA9IChcbiAgICAgICAgYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRldGFpbCh0aGlzLmNvbnRleHREYXRhLCB7IHdpdGhQYXJlbnRzOiB0cnVlIH0pXG4gICAgICApPy5kYXRhO1xuICAgICAgY29uc3QgYnJlYWRjcnVtYjogQnJlYWRjcnVtYiA9IHsgaXRlbXM6IFtdIH07XG4gICAgICBjb25zdCBicmVhZGNydW1iSXRlbXM6IEJyZWFkY3J1bWJJdGVtW10gPSBbXTtcbiAgICAgIGNvbnN0IGRldmljZTogSVNvdXJjZSA9IHNlcnZpY2VNTz8uYWRkaXRpb25QYXJlbnRzPy5yZWZlcmVuY2VzWzBdPy5tYW5hZ2VkT2JqZWN0O1xuXG4gICAgICBpZiAoZGV2aWNlKSB7XG4gICAgICAgIGJyZWFkY3J1bWJJdGVtcy5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogZGV2aWNlLm5hbWUsXG4gICAgICAgICAgcGF0aDogYC9kZXZpY2UvJHtkZXZpY2UuaWR9YFxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWRjcnVtYkl0ZW1zLnB1c2goe1xuICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdTZXJ2aWNlcycpLFxuICAgICAgICAgIHBhdGg6IGAvZGV2aWNlLyR7ZGV2aWNlLmlkfS9zZXJ2aWNlc2BcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFkY3J1bWJJdGVtcy5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogc2VydmljZU1PLm5hbWVcbiAgICAgICAgfSBhcyBCcmVhZGNydW1iSXRlbSk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFkY3J1bWIuaXRlbXMgPSBicmVhZGNydW1iSXRlbXM7XG4gICAgICByZXR1cm4gYnJlYWRjcnVtYjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMuYnJlYWRjcnVtYi1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc2VydmljZXMvc2VydmljZXMtZGV2aWNlLXRhYi9zZXJ2aWNlcy5icmVhZGNydW1iLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQVcsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUlMLE9BQU8sRUFDUCxXQUFXLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQzs7O0FBRzdCLE1BQU0sT0FBTyx5QkFBeUI7SUFHcEMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBRTFELEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBcUI7UUFDN0IsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNyRCxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUV2QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO1FBRW5ELElBQ0UsQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLE9BQU8sSUFBSyxXQUFtQixFQUFFLE9BQU8sS0FBSyxXQUFXLENBQUMsT0FBTyxDQUFDO1lBQzFGLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUNsQixDQUFDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsQ0FDaEIsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDNUUsRUFBRSxJQUFJLENBQUM7WUFDUixNQUFNLFVBQVUsR0FBZSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUM3QyxNQUFNLGVBQWUsR0FBcUIsRUFBRSxDQUFDO1lBQzdDLE1BQU0sTUFBTSxHQUFZLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQztZQUVqRixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLEtBQUssRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO29CQUN6QixJQUFJLEVBQUUsVUFBVTtpQkFDQyxDQUFDLENBQUM7Z0JBRXJCLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLEtBQUssRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDO29CQUM3QixJQUFJLEVBQUUsU0FBUztpQkFDaEIsQ0FBQyxDQUFDO2dCQUVILGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDbEIsSUFBSSxFQUFFLFdBQVcsTUFBTSxDQUFDLEVBQUUsRUFBRTtpQkFDN0IsQ0FBQyxDQUFDO2dCQUNILGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLEtBQUssRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDO29CQUMxQixJQUFJLEVBQUUsV0FBVyxNQUFNLENBQUMsRUFBRSxXQUFXO2lCQUN0QyxDQUFDLENBQUM7Z0JBQ0gsZUFBZSxDQUFDLElBQUksQ0FBQztvQkFDbkIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJO2lCQUNKLENBQUMsQ0FBQztnQkFFckIsTUFBTSxLQUFLLEdBQUksV0FBaUMsRUFBRSxLQUFLLENBQUM7Z0JBRXhELElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNaLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQW9CLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztZQUNILENBQUM7WUFFRCxVQUFVLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztZQUNuQyxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQzs4R0F2RFUseUJBQXlCO2tIQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlLCBJU291cmNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQnJlYWRjcnVtYixcbiAgQnJlYWRjcnVtYkZhY3RvcnksXG4gIEJyZWFkY3J1bWJJdGVtLFxuICBnZXR0ZXh0LFxuICBWaWV3Q29udGV4dFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VzQnJlYWRjcnVtYkZhY3RvcnkgaW1wbGVtZW50cyBCcmVhZGNydW1iRmFjdG9yeSB7XG4gIHByaXZhdGUgY29udGV4dERhdGE7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbnZlbnRvcnlTZXJ2aWNlOiBJbnZlbnRvcnlTZXJ2aWNlKSB7fVxuXG4gIGFzeW5jIGdldChyb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICBjb25zdCB7IGNvbnRleHQsIGNvbnRleHREYXRhIH0gPSByb3V0ZS5zbmFwc2hvdC5kYXRhO1xuICAgIGNvbnN0IHsgcm91dGVDb25maWcgfSA9IHJvdXRlLnNuYXBzaG90O1xuXG4gICAgdGhpcy5jb250ZXh0RGF0YSA9IGNvbnRleHREYXRhIHx8IHRoaXMuY29udGV4dERhdGE7XG5cbiAgICBpZiAoXG4gICAgICAoY29udGV4dCA9PT0gVmlld0NvbnRleHQuU2VydmljZSB8fCAocm91dGVDb25maWcgYXMgYW55KT8uY29udGV4dCA9PT0gVmlld0NvbnRleHQuU2VydmljZSkgJiZcbiAgICAgICEhdGhpcy5jb250ZXh0RGF0YVxuICAgICkge1xuICAgICAgY29uc3Qgc2VydmljZU1PID0gKFxuICAgICAgICBhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGV0YWlsKHRoaXMuY29udGV4dERhdGEsIHsgd2l0aFBhcmVudHM6IHRydWUgfSlcbiAgICAgICk/LmRhdGE7XG4gICAgICBjb25zdCBicmVhZGNydW1iOiBCcmVhZGNydW1iID0geyBpdGVtczogW10gfTtcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWJJdGVtczogQnJlYWRjcnVtYkl0ZW1bXSA9IFtdO1xuICAgICAgY29uc3QgZGV2aWNlOiBJU291cmNlID0gc2VydmljZU1PPy5hZGRpdGlvblBhcmVudHM/LnJlZmVyZW5jZXNbMF0/Lm1hbmFnZWRPYmplY3Q7XG5cbiAgICAgIGlmIChkZXZpY2UpIHtcbiAgICAgICAgYnJlYWRjcnVtYkl0ZW1zLnB1c2goe1xuICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdEZXZpY2VzJyksXG4gICAgICAgICAgaWNvbjogJ2V4Y2hhbmdlJ1xuICAgICAgICB9IGFzIEJyZWFkY3J1bWJJdGVtKTtcblxuICAgICAgICBicmVhZGNydW1iSXRlbXMucHVzaCh7XG4gICAgICAgICAgbGFiZWw6IGdldHRleHQoJ0FsbCBkZXZpY2VzJyksXG4gICAgICAgICAgcGF0aDogJy9kZXZpY2UnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGJyZWFkY3J1bWJJdGVtcy5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogZGV2aWNlLm5hbWUsXG4gICAgICAgICAgcGF0aDogYC9kZXZpY2UvJHtkZXZpY2UuaWR9YFxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWRjcnVtYkl0ZW1zLnB1c2goe1xuICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdTZXJ2aWNlcycpLFxuICAgICAgICAgIHBhdGg6IGAvZGV2aWNlLyR7ZGV2aWNlLmlkfS9zZXJ2aWNlc2BcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFkY3J1bWJJdGVtcy5wdXNoKHtcbiAgICAgICAgICBsYWJlbDogc2VydmljZU1PLm5hbWVcbiAgICAgICAgfSBhcyBCcmVhZGNydW1iSXRlbSk7XG5cbiAgICAgICAgY29uc3QgbGFiZWwgPSAocm91dGVDb25maWcgYXMgeyBsYWJlbDogc3RyaW5nIH0pPy5sYWJlbDtcblxuICAgICAgICBpZiAoISFsYWJlbCkge1xuICAgICAgICAgIGJyZWFkY3J1bWJJdGVtcy5wdXNoKHsgbGFiZWwgfSBhcyBCcmVhZGNydW1iSXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnJlYWRjcnVtYi5pdGVtcyA9IGJyZWFkY3J1bWJJdGVtcztcbiAgICAgIHJldHVybiBicmVhZGNydW1iO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,16 +1,18 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CoreModule } from '@c8y/ngx-components';
3
+ import { serviceCommandTabFeatureProvider } from '@c8y/ngx-components/services/service-command-tab';
3
4
  import { ServicesDeviceTabModule } from './services-device-tab';
4
5
  import * as i0 from "@angular/core";
5
6
  export class ServicesModule {
6
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
8
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: ServicesModule, imports: [CoreModule, ServicesDeviceTabModule] }); }
8
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServicesModule, imports: [CoreModule, ServicesDeviceTabModule] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServicesModule, providers: [serviceCommandTabFeatureProvider], imports: [CoreModule, ServicesDeviceTabModule] }); }
9
10
  }
10
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServicesModule, decorators: [{
11
12
  type: NgModule,
12
13
  args: [{
14
+ providers: [serviceCommandTabFeatureProvider],
13
15
  imports: [CoreModule, ServicesDeviceTabModule]
14
16
  }]
15
17
  }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc2VydmljZXMvc2VydmljZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUtoRSxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsWUFGZixVQUFVLEVBQUUsdUJBQXVCOytHQUVsQyxjQUFjLFlBRmYsVUFBVSxFQUFFLHVCQUF1Qjs7MkZBRWxDLGNBQWM7a0JBSDFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLHVCQUF1QixDQUFDO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTZXJ2aWNlc0RldmljZVRhYk1vZHVsZSB9IGZyb20gJy4vc2VydmljZXMtZGV2aWNlLXRhYic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBTZXJ2aWNlc0RldmljZVRhYk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZXNNb2R1bGUge31cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc2VydmljZXMvc2VydmljZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQU1oRSxNQUFNLE9BQU8sY0FBYzs4R0FBZCxjQUFjOytHQUFkLGNBQWMsWUFGZixVQUFVLEVBQUUsdUJBQXVCOytHQUVsQyxjQUFjLGFBSGQsQ0FBQyxnQ0FBZ0MsQ0FBQyxZQUNuQyxVQUFVLEVBQUUsdUJBQXVCOzsyRkFFbEMsY0FBYztrQkFKMUIsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLHVCQUF1QixDQUFDO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBzZXJ2aWNlQ29tbWFuZFRhYkZlYXR1cmVQcm92aWRlciB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvc2VydmljZXMvc2VydmljZS1jb21tYW5kLXRhYic7XG5pbXBvcnQgeyBTZXJ2aWNlc0RldmljZVRhYk1vZHVsZSB9IGZyb20gJy4vc2VydmljZXMtZGV2aWNlLXRhYic7XG5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW3NlcnZpY2VDb21tYW5kVGFiRmVhdHVyZVByb3ZpZGVyXSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIFNlcnZpY2VzRGV2aWNlVGFiTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlc01vZHVsZSB7fVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzh5LW5neC1jb21wb25lbnRzLXNlcnZpY2VzLXNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NlcnZpY2VzL3NoYXJlZC9jOHktbmd4LWNvbXBvbmVudHMtc2VydmljZXMtc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './service-command.service';
2
+ export * from './services.model';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zaGFyZWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlLWNvbW1hbmQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzLm1vZGVsJztcbiJdfQ==
@@ -0,0 +1,118 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { OperationService } from '@c8y/client';
3
+ import { AlertService, gettext } from '@c8y/ngx-components';
4
+ import { map } from 'lodash-es';
5
+ import { SERVICE_COMMANDS_MAP } from './services.model';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@c8y/client";
8
+ import * as i2 from "@c8y/ngx-components";
9
+ export class ServiceCommandService {
10
+ constructor(operationService, alertService) {
11
+ this.operationService = operationService;
12
+ this.alertService = alertService;
13
+ }
14
+ /**
15
+ * Check if the service supports service commands.
16
+ * @param service The service object containing supported operations.
17
+ * @returns boolean indicating if the service supports service commands.
18
+ */
19
+ isServiceCommandSupported(service) {
20
+ return service.c8y_SupportedOperations?.includes('c8y_ServiceCommand');
21
+ }
22
+ /**
23
+ * Get the list of supported service commands for the given service object.
24
+ * @param service The service object containing the c8y_SupportedServiceCommands fragment.
25
+ * @returns Array of supported commands.
26
+ */
27
+ getSupportedCommands(service) {
28
+ return service.c8y_SupportedServiceCommands || map(SERVICE_COMMANDS_MAP, 'command');
29
+ }
30
+ /**
31
+ * Check if a specific command is supported for the given service.
32
+ * @param service The service object.
33
+ * @param command The command to check (e.g., START, STOP).
34
+ * @returns boolean indicating if the command is supported.
35
+ */
36
+ isCommandSupported(service, command) {
37
+ const supportedCommands = this.getSupportedCommands(service);
38
+ return supportedCommands.includes(command);
39
+ }
40
+ /**
41
+ * Get all supported commands for a list of services.
42
+ * @param services The list of service objects to evaluate.
43
+ * @returns Array of all unique supported commands.
44
+ */
45
+ getAllSupportedCommands(services) {
46
+ const allCommands = services
47
+ .filter(service => this.isServiceCommandSupported(service))
48
+ .flatMap(service => this.getSupportedCommands(service));
49
+ return Array.from(new Set(allCommands));
50
+ }
51
+ /**
52
+ * Create an operation for the selected service command.
53
+ * @param service The service object the operation should target.
54
+ * @param command The command to execute (e.g., START, STOP).
55
+ * @returns Promise of the created operation.
56
+ */
57
+ createOperation({ id, name, serviceType }, command) {
58
+ const operation = {
59
+ deviceId: id,
60
+ description: `${command} ${name}`,
61
+ c8y_ServiceCommand: {
62
+ command,
63
+ serviceName: name,
64
+ serviceType: serviceType
65
+ }
66
+ };
67
+ return this.operationService.create(operation);
68
+ }
69
+ /**
70
+ * Generate a static list of action controls.
71
+ * The specific logic for each service is handled dynamically in showIf and callback.
72
+ * @returns Array of ActionControl objects.
73
+ */
74
+ generateActionControls(commands) {
75
+ return commands.map(command => ({
76
+ type: command.toLowerCase(),
77
+ icon: this.getCommandIcon(command),
78
+ iconClasses: this.getCommandIconClass(command),
79
+ text: command,
80
+ showIf: (service) => this.isServiceCommandSupported(service) && this.isCommandSupported(service, command),
81
+ callback: async (service) => {
82
+ try {
83
+ await this.createOperation(service, command);
84
+ this.alertService.success(gettext('Operation created.'));
85
+ }
86
+ catch (error) {
87
+ const alertMessage = gettext('Could not create operation.');
88
+ this.alertService.danger(alertMessage, error);
89
+ }
90
+ }
91
+ }));
92
+ }
93
+ /**
94
+ * Get the icon for a specific command.
95
+ * @param command The command name.
96
+ * @returns Icon string for the command.
97
+ */
98
+ getCommandIcon(command) {
99
+ return SERVICE_COMMANDS_MAP[command]?.icon || 'console';
100
+ }
101
+ /**
102
+ * Get the icon class for a specific command.
103
+ * @param command The command name.
104
+ * @returns Icon class string for the command.
105
+ */
106
+ getCommandIconClass(command) {
107
+ return SERVICE_COMMANDS_MAP[command]?.styleClass;
108
+ }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServiceCommandService, deps: [{ token: i1.OperationService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Injectable }); }
110
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServiceCommandService, providedIn: 'root' }); }
111
+ }
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: ServiceCommandService, decorators: [{
113
+ type: Injectable,
114
+ args: [{
115
+ providedIn: 'root'
116
+ }]
117
+ }], ctorParameters: () => [{ type: i1.OperationService }, { type: i2.AlertService }] });
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1jb21tYW5kLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zaGFyZWQvc2VydmljZS1jb21tYW5kLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXVCLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BFLE9BQU8sRUFBaUIsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFXLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLakUsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUNVLGdCQUFrQyxFQUNsQyxZQUEwQjtRQUQxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2pDLENBQUM7SUFFSjs7OztPQUlHO0lBQ0gseUJBQXlCLENBQUMsT0FBZ0I7UUFDeEMsT0FBTyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxPQUFnQjtRQUNuQyxPQUFPLE9BQU8sQ0FBQyw0QkFBNEIsSUFBSSxHQUFHLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsT0FBZ0IsRUFBRSxPQUFlO1FBQ2xELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE9BQU8saUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsdUJBQXVCLENBQUMsUUFBbUI7UUFDekMsTUFBTSxXQUFXLEdBQUcsUUFBUTthQUN6QixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDMUQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFMUQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUNiLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQVcsRUFDbEMsT0FBZTtRQUVmLE1BQU0sU0FBUyxHQUFlO1lBQzVCLFFBQVEsRUFBRSxFQUFFO1lBQ1osV0FBVyxFQUFFLEdBQUcsT0FBTyxJQUFJLElBQUksRUFBRTtZQUNqQyxrQkFBa0IsRUFBRTtnQkFDbEIsT0FBTztnQkFDUCxXQUFXLEVBQUUsSUFBSTtnQkFDakIsV0FBVyxFQUFFLFdBQVc7YUFDekI7U0FDRixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsc0JBQXNCLENBQUMsUUFBa0I7UUFDdkMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QixJQUFJLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRTtZQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDbEMsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7WUFDOUMsSUFBSSxFQUFFLE9BQU87WUFDYixNQUFNLEVBQUUsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FDM0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQ3RGLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLENBQUM7b0JBQ0gsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztnQkFDM0QsQ0FBQztnQkFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO29CQUNmLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO29CQUM1RCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGNBQWMsQ0FBQyxPQUFlO1FBQ3BDLE9BQU8sb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxJQUFJLFNBQVMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLG1CQUFtQixDQUFDLE9BQWU7UUFDekMsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDbkQsQ0FBQzs4R0FoSFUscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElPcGVyYXRpb24sIElSZXN1bHQsIE9wZXJhdGlvblNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBY3Rpb25Db250cm9sLCBBbGVydFNlcnZpY2UsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTZXJ2aWNlLCBTRVJWSUNFX0NPTU1BTkRTX01BUCB9IGZyb20gJy4vc2VydmljZXMubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZXJ2aWNlQ29tbWFuZFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG9wZXJhdGlvblNlcnZpY2U6IE9wZXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIHRoZSBzZXJ2aWNlIHN1cHBvcnRzIHNlcnZpY2UgY29tbWFuZHMuXG4gICAqIEBwYXJhbSBzZXJ2aWNlIFRoZSBzZXJ2aWNlIG9iamVjdCBjb250YWluaW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLlxuICAgKiBAcmV0dXJucyBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHNlcnZpY2Ugc3VwcG9ydHMgc2VydmljZSBjb21tYW5kcy5cbiAgICovXG4gIGlzU2VydmljZUNvbW1hbmRTdXBwb3J0ZWQoc2VydmljZTogU2VydmljZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZXJ2aWNlLmM4eV9TdXBwb3J0ZWRPcGVyYXRpb25zPy5pbmNsdWRlcygnYzh5X1NlcnZpY2VDb21tYW5kJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBzZXJ2aWNlIGNvbW1hbmRzIGZvciB0aGUgZ2l2ZW4gc2VydmljZSBvYmplY3QuXG4gICAqIEBwYXJhbSBzZXJ2aWNlIFRoZSBzZXJ2aWNlIG9iamVjdCBjb250YWluaW5nIHRoZSBjOHlfU3VwcG9ydGVkU2VydmljZUNvbW1hbmRzIGZyYWdtZW50LlxuICAgKiBAcmV0dXJucyBBcnJheSBvZiBzdXBwb3J0ZWQgY29tbWFuZHMuXG4gICAqL1xuICBnZXRTdXBwb3J0ZWRDb21tYW5kcyhzZXJ2aWNlOiBTZXJ2aWNlKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBzZXJ2aWNlLmM4eV9TdXBwb3J0ZWRTZXJ2aWNlQ29tbWFuZHMgfHwgbWFwKFNFUlZJQ0VfQ09NTUFORFNfTUFQLCAnY29tbWFuZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGEgc3BlY2lmaWMgY29tbWFuZCBpcyBzdXBwb3J0ZWQgZm9yIHRoZSBnaXZlbiBzZXJ2aWNlLlxuICAgKiBAcGFyYW0gc2VydmljZSBUaGUgc2VydmljZSBvYmplY3QuXG4gICAqIEBwYXJhbSBjb21tYW5kIFRoZSBjb21tYW5kIHRvIGNoZWNrIChlLmcuLCBTVEFSVCwgU1RPUCkuXG4gICAqIEByZXR1cm5zIGJvb2xlYW4gaW5kaWNhdGluZyBpZiB0aGUgY29tbWFuZCBpcyBzdXBwb3J0ZWQuXG4gICAqL1xuICBpc0NvbW1hbmRTdXBwb3J0ZWQoc2VydmljZTogU2VydmljZSwgY29tbWFuZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3VwcG9ydGVkQ29tbWFuZHMgPSB0aGlzLmdldFN1cHBvcnRlZENvbW1hbmRzKHNlcnZpY2UpO1xuICAgIHJldHVybiBzdXBwb3J0ZWRDb21tYW5kcy5pbmNsdWRlcyhjb21tYW5kKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIHN1cHBvcnRlZCBjb21tYW5kcyBmb3IgYSBsaXN0IG9mIHNlcnZpY2VzLlxuICAgKiBAcGFyYW0gc2VydmljZXMgVGhlIGxpc3Qgb2Ygc2VydmljZSBvYmplY3RzIHRvIGV2YWx1YXRlLlxuICAgKiBAcmV0dXJucyBBcnJheSBvZiBhbGwgdW5pcXVlIHN1cHBvcnRlZCBjb21tYW5kcy5cbiAgICovXG4gIGdldEFsbFN1cHBvcnRlZENvbW1hbmRzKHNlcnZpY2VzOiBTZXJ2aWNlW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgYWxsQ29tbWFuZHMgPSBzZXJ2aWNlc1xuICAgICAgLmZpbHRlcihzZXJ2aWNlID0+IHRoaXMuaXNTZXJ2aWNlQ29tbWFuZFN1cHBvcnRlZChzZXJ2aWNlKSlcbiAgICAgIC5mbGF0TWFwKHNlcnZpY2UgPT4gdGhpcy5nZXRTdXBwb3J0ZWRDb21tYW5kcyhzZXJ2aWNlKSk7XG5cbiAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgU2V0KGFsbENvbW1hbmRzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIG9wZXJhdGlvbiBmb3IgdGhlIHNlbGVjdGVkIHNlcnZpY2UgY29tbWFuZC5cbiAgICogQHBhcmFtIHNlcnZpY2UgVGhlIHNlcnZpY2Ugb2JqZWN0IHRoZSBvcGVyYXRpb24gc2hvdWxkIHRhcmdldC5cbiAgICogQHBhcmFtIGNvbW1hbmQgVGhlIGNvbW1hbmQgdG8gZXhlY3V0ZSAoZS5nLiwgU1RBUlQsIFNUT1ApLlxuICAgKiBAcmV0dXJucyBQcm9taXNlIG9mIHRoZSBjcmVhdGVkIG9wZXJhdGlvbi5cbiAgICovXG4gIGNyZWF0ZU9wZXJhdGlvbihcbiAgICB7IGlkLCBuYW1lLCBzZXJ2aWNlVHlwZSB9OiBTZXJ2aWNlLFxuICAgIGNvbW1hbmQ6IHN0cmluZ1xuICApOiBQcm9taXNlPElSZXN1bHQ8SU9wZXJhdGlvbj4+IHtcbiAgICBjb25zdCBvcGVyYXRpb246IElPcGVyYXRpb24gPSB7XG4gICAgICBkZXZpY2VJZDogaWQsXG4gICAgICBkZXNjcmlwdGlvbjogYCR7Y29tbWFuZH0gJHtuYW1lfWAsXG4gICAgICBjOHlfU2VydmljZUNvbW1hbmQ6IHtcbiAgICAgICAgY29tbWFuZCxcbiAgICAgICAgc2VydmljZU5hbWU6IG5hbWUsXG4gICAgICAgIHNlcnZpY2VUeXBlOiBzZXJ2aWNlVHlwZVxuICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5vcGVyYXRpb25TZXJ2aWNlLmNyZWF0ZShvcGVyYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgc3RhdGljIGxpc3Qgb2YgYWN0aW9uIGNvbnRyb2xzLlxuICAgKiBUaGUgc3BlY2lmaWMgbG9naWMgZm9yIGVhY2ggc2VydmljZSBpcyBoYW5kbGVkIGR5bmFtaWNhbGx5IGluIHNob3dJZiBhbmQgY2FsbGJhY2suXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIEFjdGlvbkNvbnRyb2wgb2JqZWN0cy5cbiAgICovXG4gIGdlbmVyYXRlQWN0aW9uQ29udHJvbHMoY29tbWFuZHM6IHN0cmluZ1tdKTogQWN0aW9uQ29udHJvbFtdIHtcbiAgICByZXR1cm4gY29tbWFuZHMubWFwKGNvbW1hbmQgPT4gKHtcbiAgICAgIHR5cGU6IGNvbW1hbmQudG9Mb3dlckNhc2UoKSxcbiAgICAgIGljb246IHRoaXMuZ2V0Q29tbWFuZEljb24oY29tbWFuZCksXG4gICAgICBpY29uQ2xhc3NlczogdGhpcy5nZXRDb21tYW5kSWNvbkNsYXNzKGNvbW1hbmQpLFxuICAgICAgdGV4dDogY29tbWFuZCxcbiAgICAgIHNob3dJZjogKHNlcnZpY2U6IFNlcnZpY2UpID0+XG4gICAgICAgIHRoaXMuaXNTZXJ2aWNlQ29tbWFuZFN1cHBvcnRlZChzZXJ2aWNlKSAmJiB0aGlzLmlzQ29tbWFuZFN1cHBvcnRlZChzZXJ2aWNlLCBjb21tYW5kKSxcbiAgICAgIGNhbGxiYWNrOiBhc3luYyAoc2VydmljZTogU2VydmljZSkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuY3JlYXRlT3BlcmF0aW9uKHNlcnZpY2UsIGNvbW1hbmQpO1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZ2V0dGV4dCgnT3BlcmF0aW9uIGNyZWF0ZWQuJykpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnN0IGFsZXJ0TWVzc2FnZSA9IGdldHRleHQoJ0NvdWxkIG5vdCBjcmVhdGUgb3BlcmF0aW9uLicpO1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmRhbmdlcihhbGVydE1lc3NhZ2UsIGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGljb24gZm9yIGEgc3BlY2lmaWMgY29tbWFuZC5cbiAgICogQHBhcmFtIGNvbW1hbmQgVGhlIGNvbW1hbmQgbmFtZS5cbiAgICogQHJldHVybnMgSWNvbiBzdHJpbmcgZm9yIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDb21tYW5kSWNvbihjb21tYW5kOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBTRVJWSUNFX0NPTU1BTkRTX01BUFtjb21tYW5kXT8uaWNvbiB8fCAnY29uc29sZSc7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBpY29uIGNsYXNzIGZvciBhIHNwZWNpZmljIGNvbW1hbmQuXG4gICAqIEBwYXJhbSBjb21tYW5kIFRoZSBjb21tYW5kIG5hbWUuXG4gICAqIEByZXR1cm5zIEljb24gY2xhc3Mgc3RyaW5nIGZvciB0aGUgY29tbWFuZC5cbiAgICovXG4gIHByaXZhdGUgZ2V0Q29tbWFuZEljb25DbGFzcyhjb21tYW5kOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBTRVJWSUNFX0NPTU1BTkRTX01BUFtjb21tYW5kXT8uc3R5bGVDbGFzcztcbiAgfVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { gettext } from '@c8y/ngx-components';
2
+ export const SERVICE_FRAGMENT = 'c8y_Service';
3
+ export const SERVICE_COMMANDS_MAP = {
4
+ START: {
5
+ label: gettext('Start'),
6
+ command: 'START',
7
+ icon: 'play-circle',
8
+ styleClass: 'text-success'
9
+ },
10
+ STOP: {
11
+ label: gettext('Stop'),
12
+ command: 'STOP',
13
+ icon: 'stop-circle',
14
+ styleClass: 'text-danger'
15
+ },
16
+ RESTART: {
17
+ label: gettext('Restart'),
18
+ command: 'RESTART',
19
+ icon: 'refresh',
20
+ styleClass: 'text-info'
21
+ }
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zaGFyZWQvc2VydmljZXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRztJQUNsQyxLQUFLLEVBQUU7UUFDTCxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUN2QixPQUFPLEVBQUUsT0FBTztRQUNoQixJQUFJLEVBQUUsYUFBYTtRQUNuQixVQUFVLEVBQUUsY0FBYztLQUMzQjtJQUNELElBQUksRUFBRTtRQUNKLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ3RCLE9BQU8sRUFBRSxNQUFNO1FBQ2YsSUFBSSxFQUFFLGFBQWE7UUFDbkIsVUFBVSxFQUFFLGFBQWE7S0FDMUI7SUFDRCxPQUFPLEVBQUU7UUFDUCxLQUFLLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUN6QixPQUFPLEVBQUUsU0FBUztRQUNsQixJQUFJLEVBQUUsU0FBUztRQUNmLFVBQVUsRUFBRSxXQUFXO0tBQ3hCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcblxuZXhwb3J0IGNvbnN0IFNFUlZJQ0VfRlJBR01FTlQgPSAnYzh5X1NlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgU0VSVklDRV9DT01NQU5EU19NQVAgPSB7XG4gIFNUQVJUOiB7XG4gICAgbGFiZWw6IGdldHRleHQoJ1N0YXJ0JyksXG4gICAgY29tbWFuZDogJ1NUQVJUJyxcbiAgICBpY29uOiAncGxheS1jaXJjbGUnLFxuICAgIHN0eWxlQ2xhc3M6ICd0ZXh0LXN1Y2Nlc3MnXG4gIH0sXG4gIFNUT1A6IHtcbiAgICBsYWJlbDogZ2V0dGV4dCgnU3RvcCcpLFxuICAgIGNvbW1hbmQ6ICdTVE9QJyxcbiAgICBpY29uOiAnc3RvcC1jaXJjbGUnLFxuICAgIHN0eWxlQ2xhc3M6ICd0ZXh0LWRhbmdlcidcbiAgfSxcbiAgUkVTVEFSVDoge1xuICAgIGxhYmVsOiBnZXR0ZXh0KCdSZXN0YXJ0JyksXG4gICAgY29tbWFuZDogJ1JFU1RBUlQnLFxuICAgIGljb246ICdyZWZyZXNoJyxcbiAgICBzdHlsZUNsYXNzOiAndGV4dC1pbmZvJ1xuICB9XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2Uge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHNlcnZpY2VUeXBlOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBjOHlfU3VwcG9ydGVkT3BlcmF0aW9ucz86IHN0cmluZ1tdO1xuICBjOHlfU3VwcG9ydGVkU2VydmljZUNvbW1hbmRzPzogc3RyaW5nW107XG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG4iXX0=