@c8y/ngx-components 1022.30.0 → 1022.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (487) hide show
  1. package/asset-properties/asset-properties.model.d.ts +12 -3
  2. package/asset-properties/asset-properties.model.d.ts.map +1 -1
  3. package/asset-properties/asset-properties.service.d.ts +20 -2
  4. package/asset-properties/asset-properties.service.d.ts.map +1 -1
  5. package/asset-properties/asset-property-list/asset-property-icon-tooltip.pipe.d.ts +14 -0
  6. package/asset-properties/asset-property-list/asset-property-icon-tooltip.pipe.d.ts.map +1 -0
  7. package/asset-properties/asset-property-list/asset-property-icon.pipe.d.ts.map +1 -1
  8. package/asset-properties/asset-property-list/asset-property-list.component.d.ts +28 -18
  9. package/asset-properties/asset-property-list/asset-property-list.component.d.ts.map +1 -1
  10. package/asset-properties/asset-property-selector-drawer/asset-property-selector-drawer.component.d.ts +2 -2
  11. package/asset-properties/asset-property-selector-drawer/asset-property-selector-drawer.component.d.ts.map +1 -1
  12. package/asset-properties/custom-properties-drawer/custom-properties-drawer.component.d.ts +97 -0
  13. package/asset-properties/custom-properties-drawer/custom-properties-drawer.component.d.ts.map +1 -0
  14. package/asset-properties/custom-properties-drawer.service.d.ts +12 -0
  15. package/asset-properties/custom-properties-drawer.service.d.ts.map +1 -0
  16. package/asset-properties/index.d.ts +1 -0
  17. package/asset-properties/index.d.ts.map +1 -1
  18. package/branding/shared/branding-tab.factory.d.ts +1 -1
  19. package/branding/shared/branding-tab.factory.d.ts.map +1 -1
  20. package/branding/shared/data/branding.type.d.ts +3 -2
  21. package/branding/shared/data/branding.type.d.ts.map +1 -1
  22. package/branding/shared/lazy/add-branding-modal/add-branding-modal.component.d.ts.map +1 -1
  23. package/branding/shared/lazy/apply-branding-to-app-modal/apply-branding-to-app-modal.component.d.ts.map +1 -1
  24. package/branding/shared/lazy/branding/branding.component.d.ts.map +1 -1
  25. package/branding/shared/lazy/branding-assets/branding-assets.component.d.ts +25 -0
  26. package/branding/shared/lazy/branding-assets/branding-assets.component.d.ts.map +1 -0
  27. package/branding/shared/lazy/branding-theme-form/branding-theme-form.component.d.ts +1 -0
  28. package/branding/shared/lazy/branding-theme-form/branding-theme-form.component.d.ts.map +1 -1
  29. package/branding/shared/lazy/index.d.ts +1 -0
  30. package/branding/shared/lazy/index.d.ts.map +1 -1
  31. package/branding/shared/shared-branding.module.d.ts +12 -4
  32. package/branding/shared/shared-branding.module.d.ts.map +1 -1
  33. package/context-dashboard/dashboard-detail.service.d.ts +2 -2
  34. package/context-dashboard/widget-config-hook/widget-config-hook.model.d.ts +2 -1
  35. package/context-dashboard/widget-config-hook/widget-config-hook.model.d.ts.map +1 -1
  36. package/context-dashboard/widget-config.service.d.ts.map +1 -1
  37. package/core/clipboard/clipboard.service.d.ts +8 -2
  38. package/core/clipboard/clipboard.service.d.ts.map +1 -1
  39. package/core/common/files.service.d.ts +5 -1
  40. package/core/common/files.service.d.ts.map +1 -1
  41. package/core/i18n/pattern-messages.data.d.ts +7 -0
  42. package/core/i18n/pattern-messages.data.d.ts.map +1 -1
  43. package/core/query-param-handler/query-param-handler.service.d.ts +1 -1
  44. package/core/query-param-handler/query-param-handler.service.d.ts.map +1 -1
  45. package/core/query-param-handler/query-param-modal-handler.service.d.ts +16 -5
  46. package/core/query-param-handler/query-param-modal-handler.service.d.ts.map +1 -1
  47. package/datapoints-export-selector/datapoints-export-selector-modal/datapoints-export-selector-file-exporter/data-fetching.service.d.ts.map +1 -1
  48. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +16 -16
  49. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs.map +1 -1
  50. package/fesm2022/c8y-ngx-components-advanced-software-management.mjs +7 -7
  51. package/fesm2022/c8y-ngx-components-advanced-software-management.mjs.map +1 -1
  52. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +34 -34
  53. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  54. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs +4 -4
  55. package/fesm2022/c8y-ngx-components-alarms-cockpit.mjs.map +1 -1
  56. package/fesm2022/c8y-ngx-components-alarms-devicemanagement.mjs.map +1 -1
  57. package/fesm2022/c8y-ngx-components-alarms.mjs +73 -73
  58. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  59. package/fesm2022/c8y-ngx-components-api.mjs +7 -7
  60. package/fesm2022/c8y-ngx-components-api.mjs.map +1 -1
  61. package/fesm2022/c8y-ngx-components-app-logs.mjs +10 -10
  62. package/fesm2022/c8y-ngx-components-app-logs.mjs.map +1 -1
  63. package/fesm2022/c8y-ngx-components-asset-properties.mjs +427 -66
  64. package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
  65. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-WUN1r4fC.mjs → c8y-ngx-components-asset-property-grid.component-CRnyUbyz.mjs} +13 -13
  66. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-WUN1r4fC.mjs.map → c8y-ngx-components-asset-property-grid.component-CRnyUbyz.mjs.map} +1 -1
  67. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +32 -32
  68. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  69. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +114 -114
  70. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  71. package/fesm2022/c8y-ngx-components-binary-file-download.mjs +7 -7
  72. package/fesm2022/c8y-ngx-components-binary-file-download.mjs.map +1 -1
  73. package/fesm2022/c8y-ngx-components-bookmarks.mjs +13 -13
  74. package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
  75. package/fesm2022/c8y-ngx-components-branding-base-branding.mjs +4 -4
  76. package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs +7 -7
  77. package/fesm2022/c8y-ngx-components-branding-dark-theme.mjs.map +1 -1
  78. package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs +7 -7
  79. package/fesm2022/c8y-ngx-components-branding-extra-css-branding-editor.mjs.map +1 -1
  80. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs +3 -3
  81. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor-lazy.mjs.map +1 -1
  82. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs +7 -7
  83. package/fesm2022/c8y-ngx-components-branding-plain-branding-editor.mjs.map +1 -1
  84. package/fesm2022/c8y-ngx-components-branding-shared-data.mjs +20 -16
  85. package/fesm2022/c8y-ngx-components-branding-shared-data.mjs.map +1 -1
  86. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs +20 -11
  87. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs.map +1 -1
  88. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +129 -56
  89. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
  90. package/fesm2022/c8y-ngx-components-branding-shared.mjs +107 -49
  91. package/fesm2022/c8y-ngx-components-branding-shared.mjs.map +1 -1
  92. package/fesm2022/c8y-ngx-components-child-devices.mjs +13 -13
  93. package/fesm2022/c8y-ngx-components-child-devices.mjs.map +1 -1
  94. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +40 -40
  95. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  96. package/fesm2022/c8y-ngx-components-connectivity.mjs +53 -53
  97. package/fesm2022/c8y-ngx-components-connectivity.mjs.map +1 -1
  98. package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs +10 -10
  99. package/fesm2022/c8y-ngx-components-context-dashboard-asset-add.mjs.map +1 -1
  100. package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs +7 -7
  101. package/fesm2022/c8y-ngx-components-context-dashboard-asset-view.mjs.map +1 -1
  102. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs +11 -11
  103. package/fesm2022/c8y-ngx-components-context-dashboard-cockpit-home-dashboard.mjs.map +1 -1
  104. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BWyhab0H.mjs} +4 -4
  105. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-BWyhab0H.mjs.map} +1 -1
  106. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DjlpSztw.mjs} +10 -10
  107. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-DjlpSztw.mjs.map} +1 -1
  108. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-B2zLhv0X.mjs} +4 -4
  109. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-B2zLhv0X.mjs.map} +1 -1
  110. package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs +10 -10
  111. package/fesm2022/c8y-ngx-components-context-dashboard-device-add.mjs.map +1 -1
  112. package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs +7 -7
  113. package/fesm2022/c8y-ngx-components-context-dashboard-device-view.mjs.map +1 -1
  114. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +107 -102
  115. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  116. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DtLAOoFx.mjs → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CwfVxTSx.mjs} +16 -16
  117. package/fesm2022/{c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-DtLAOoFx.mjs.map → c8y-ngx-components-dashboard-details-advanced-tab-dashboard-details-advanced-tab.component-CwfVxTSx.mjs.map} +1 -1
  118. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs +12 -12
  119. package/fesm2022/c8y-ngx-components-dashboard-details-advanced-tab.mjs.map +1 -1
  120. package/fesm2022/c8y-ngx-components-dashboard-manager-devicemanagement.mjs.map +1 -1
  121. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +22 -22
  122. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
  123. package/fesm2022/c8y-ngx-components-data-broker.mjs +7 -7
  124. package/fesm2022/c8y-ngx-components-data-broker.mjs.map +1 -1
  125. package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs +3 -3
  126. package/fesm2022/c8y-ngx-components-data-grid-columns-asset-type.mjs.map +1 -1
  127. package/fesm2022/c8y-ngx-components-data-grid-columns.mjs +3 -3
  128. package/fesm2022/c8y-ngx-components-data-grid-columns.mjs.map +1 -1
  129. package/fesm2022/c8y-ngx-components-datapoint-explorer-devicemanagement.mjs.map +1 -1
  130. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +24 -24
  131. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  132. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +7 -7
  133. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs.map +1 -1
  134. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +3 -3
  135. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs.map +1 -1
  136. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs +3 -3
  137. package/fesm2022/c8y-ngx-components-datapoint-library-list.mjs.map +1 -1
  138. package/fesm2022/c8y-ngx-components-datapoint-library-services.mjs +3 -3
  139. package/fesm2022/c8y-ngx-components-datapoint-library-services.mjs.map +1 -1
  140. package/fesm2022/c8y-ngx-components-datapoint-library.mjs +4 -4
  141. package/fesm2022/c8y-ngx-components-datapoint-library.mjs.map +1 -1
  142. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +40 -40
  143. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  144. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +41 -40
  145. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  146. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +16 -16
  147. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs.map +1 -1
  148. package/fesm2022/c8y-ngx-components-device-grid.mjs +43 -43
  149. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  150. package/fesm2022/c8y-ngx-components-device-list.mjs +22 -22
  151. package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
  152. package/fesm2022/c8y-ngx-components-device-map.mjs +12 -12
  153. package/fesm2022/c8y-ngx-components-device-map.mjs.map +1 -1
  154. package/fesm2022/c8y-ngx-components-device-profile.mjs +34 -34
  155. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  156. package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs +3 -3
  157. package/fesm2022/c8y-ngx-components-device-protocol-object-mappings.mjs.map +1 -1
  158. package/fesm2022/c8y-ngx-components-device-protocols.mjs +16 -16
  159. package/fesm2022/c8y-ngx-components-device-protocols.mjs.map +1 -1
  160. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +13 -13
  161. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  162. package/fesm2022/c8y-ngx-components-device-shell.mjs +31 -31
  163. package/fesm2022/c8y-ngx-components-device-shell.mjs.map +1 -1
  164. package/fesm2022/c8y-ngx-components-diagnostics.mjs +13 -13
  165. package/fesm2022/c8y-ngx-components-diagnostics.mjs.map +1 -1
  166. package/fesm2022/c8y-ngx-components-echart-models.mjs.map +1 -1
  167. package/fesm2022/c8y-ngx-components-echart.mjs +27 -27
  168. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  169. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +43 -43
  170. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  171. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +7 -7
  172. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs.map +1 -1
  173. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +10 -10
  174. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
  175. package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs +7 -7
  176. package/fesm2022/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs.map +1 -1
  177. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +46 -46
  178. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  179. package/fesm2022/c8y-ngx-components-ecosystem.mjs +82 -82
  180. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  181. package/fesm2022/c8y-ngx-components-editor.mjs +6 -6
  182. package/fesm2022/c8y-ngx-components-editor.mjs.map +1 -1
  183. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +3 -3
  184. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -1
  185. package/fesm2022/c8y-ngx-components-events.mjs +3 -3
  186. package/fesm2022/c8y-ngx-components-events.mjs.map +1 -1
  187. package/fesm2022/c8y-ngx-components-exports-list.mjs +6 -6
  188. package/fesm2022/c8y-ngx-components-exports-list.mjs.map +1 -1
  189. package/fesm2022/c8y-ngx-components-exports.mjs.map +1 -1
  190. package/fesm2022/c8y-ngx-components-file-preview.mjs +7 -7
  191. package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
  192. package/fesm2022/c8y-ngx-components-files-repository.mjs +19 -19
  193. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  194. package/fesm2022/c8y-ngx-components-icon-selector-icons-arrows.mjs.map +1 -1
  195. package/fesm2022/c8y-ngx-components-icon-selector-icons-city.mjs.map +1 -1
  196. package/fesm2022/c8y-ngx-components-icon-selector-icons-data.mjs.map +1 -1
  197. package/fesm2022/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs.map +1 -1
  198. package/fesm2022/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs.map +1 -1
  199. package/fesm2022/c8y-ngx-components-icon-selector-icons-ecommerce.mjs.map +1 -1
  200. package/fesm2022/c8y-ngx-components-icon-selector-icons-editing.mjs.map +1 -1
  201. package/fesm2022/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs.map +1 -1
  202. package/fesm2022/c8y-ngx-components-icon-selector-icons-finance.mjs.map +1 -1
  203. package/fesm2022/c8y-ngx-components-icon-selector-icons-hands.mjs.map +1 -1
  204. package/fesm2022/c8y-ngx-components-icon-selector-icons-location.mjs.map +1 -1
  205. package/fesm2022/c8y-ngx-components-icon-selector-icons-messaging.mjs.map +1 -1
  206. package/fesm2022/c8y-ngx-components-icon-selector-icons-multimedia.mjs.map +1 -1
  207. package/fesm2022/c8y-ngx-components-icon-selector-icons-network.mjs.map +1 -1
  208. package/fesm2022/c8y-ngx-components-icon-selector-icons-office.mjs.map +1 -1
  209. package/fesm2022/c8y-ngx-components-icon-selector-icons-people.mjs.map +1 -1
  210. package/fesm2022/c8y-ngx-components-icon-selector-icons-platform.mjs +1 -0
  211. package/fesm2022/c8y-ngx-components-icon-selector-icons-platform.mjs.map +1 -1
  212. package/fesm2022/c8y-ngx-components-icon-selector-icons-programming.mjs.map +1 -1
  213. package/fesm2022/c8y-ngx-components-icon-selector-icons-security.mjs.map +1 -1
  214. package/fesm2022/c8y-ngx-components-icon-selector-icons-transport.mjs.map +1 -1
  215. package/fesm2022/c8y-ngx-components-icon-selector-icons-userInterface.mjs.map +1 -1
  216. package/fesm2022/c8y-ngx-components-icon-selector-icons-weather.mjs.map +1 -1
  217. package/fesm2022/c8y-ngx-components-icon-selector-icons.mjs.map +1 -1
  218. package/fesm2022/c8y-ngx-components-icon-selector-model.mjs.map +1 -1
  219. package/fesm2022/c8y-ngx-components-icon-selector.mjs +19 -19
  220. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  221. package/fesm2022/c8y-ngx-components-interval-picker.mjs +3 -3
  222. package/fesm2022/c8y-ngx-components-interval-picker.mjs.map +1 -1
  223. package/fesm2022/c8y-ngx-components-location.mjs +28 -28
  224. package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
  225. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +16 -16
  226. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs.map +1 -1
  227. package/fesm2022/c8y-ngx-components-map.mjs +19 -19
  228. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  229. package/fesm2022/c8y-ngx-components-messaging-management.mjs +55 -55
  230. package/fesm2022/c8y-ngx-components-messaging-management.mjs.map +1 -1
  231. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs +7 -7
  232. package/fesm2022/c8y-ngx-components-operations-bulk-operation-from-single.mjs.map +1 -1
  233. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs +19 -19
  234. package/fesm2022/c8y-ngx-components-operations-bulk-operation-list-item.mjs.map +1 -1
  235. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -7
  236. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
  237. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs +13 -13
  238. package/fesm2022/c8y-ngx-components-operations-bulk-operation-stepper.mjs.map +1 -1
  239. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +13 -13
  240. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
  241. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs +7 -7
  242. package/fesm2022/c8y-ngx-components-operations-bulk-operations-service.mjs.map +1 -1
  243. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs +7 -7
  244. package/fesm2022/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs.map +1 -1
  245. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +10 -10
  246. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
  247. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs +7 -7
  248. package/fesm2022/c8y-ngx-components-operations-create-bulk-operation-details.mjs.map +1 -1
  249. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs +7 -7
  250. package/fesm2022/c8y-ngx-components-operations-device-selector.mjs.map +1 -1
  251. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs +12 -12
  252. package/fesm2022/c8y-ngx-components-operations-grid-columns.mjs.map +1 -1
  253. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs +13 -13
  254. package/fesm2022/c8y-ngx-components-operations-operation-details.mjs.map +1 -1
  255. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs +7 -7
  256. package/fesm2022/c8y-ngx-components-operations-operation-summary.mjs.map +1 -1
  257. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs +10 -10
  258. package/fesm2022/c8y-ngx-components-operations-operations-list-item-details.mjs.map +1 -1
  259. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs +12 -12
  260. package/fesm2022/c8y-ngx-components-operations-operations-list.mjs.map +1 -1
  261. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +7 -7
  262. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
  263. package/fesm2022/c8y-ngx-components-operations-product-experience.mjs.map +1 -1
  264. package/fesm2022/c8y-ngx-components-operations-shared.mjs +10 -10
  265. package/fesm2022/c8y-ngx-components-operations-shared.mjs.map +1 -1
  266. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs +7 -7
  267. package/fesm2022/c8y-ngx-components-operations-status-filter.mjs.map +1 -1
  268. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs +7 -7
  269. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs.map +1 -1
  270. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +13 -13
  271. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  272. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs +13 -13
  273. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs.map +1 -1
  274. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +13 -13
  275. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  276. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs +13 -13
  277. package/fesm2022/c8y-ngx-components-operations-stepper-frames.mjs.map +1 -1
  278. package/fesm2022/c8y-ngx-components-operations.mjs +7 -7
  279. package/fesm2022/c8y-ngx-components-operations.mjs.map +1 -1
  280. package/fesm2022/c8y-ngx-components-pending-mo-request.mjs +7 -7
  281. package/fesm2022/c8y-ngx-components-pending-mo-request.mjs.map +1 -1
  282. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +10 -10
  283. package/fesm2022/c8y-ngx-components-platform-configuration.mjs.map +1 -1
  284. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +38 -38
  285. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  286. package/fesm2022/c8y-ngx-components-protocol-opcua-mappings.mjs.map +1 -1
  287. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +58 -58
  288. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
  289. package/fesm2022/c8y-ngx-components-register-device.mjs +58 -58
  290. package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
  291. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +9 -9
  292. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -1
  293. package/fesm2022/c8y-ngx-components-remote-access-data.mjs +3 -3
  294. package/fesm2022/c8y-ngx-components-remote-access-data.mjs.map +1 -1
  295. package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs +3 -3
  296. package/fesm2022/c8y-ngx-components-remote-access-passthrough.mjs.map +1 -1
  297. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +6 -6
  298. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs.map +1 -1
  299. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +3 -3
  300. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs.map +1 -1
  301. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs +3 -3
  302. package/fesm2022/c8y-ngx-components-remote-access-ssh.mjs.map +1 -1
  303. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs +3 -3
  304. package/fesm2022/c8y-ngx-components-remote-access-telnet.mjs.map +1 -1
  305. package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs +3 -3
  306. package/fesm2022/c8y-ngx-components-remote-access-terminal-viewer.mjs.map +1 -1
  307. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +3 -3
  308. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs.map +1 -1
  309. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +6 -6
  310. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs.map +1 -1
  311. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs +3 -3
  312. package/fesm2022/c8y-ngx-components-remote-access-vnc.mjs.map +1 -1
  313. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs +6 -6
  314. package/fesm2022/c8y-ngx-components-replace-device-replace-device-wizard.mjs.map +1 -1
  315. package/fesm2022/c8y-ngx-components-replace-device.mjs +13 -29
  316. package/fesm2022/c8y-ngx-components-replace-device.mjs.map +1 -1
  317. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +16 -16
  318. package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
  319. package/fesm2022/c8y-ngx-components-reports.mjs +19 -19
  320. package/fesm2022/c8y-ngx-components-reports.mjs.map +1 -1
  321. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +48 -48
  322. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  323. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +33 -33
  324. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  325. package/fesm2022/c8y-ngx-components-repository-shared.mjs +34 -34
  326. package/fesm2022/c8y-ngx-components-repository-shared.mjs.map +1 -1
  327. package/fesm2022/c8y-ngx-components-repository-software.mjs +42 -42
  328. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  329. package/fesm2022/c8y-ngx-components-repository.mjs +4 -4
  330. package/fesm2022/c8y-ngx-components-repository.mjs.map +1 -1
  331. package/fesm2022/c8y-ngx-components-search.mjs +19 -19
  332. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  333. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs +33 -27
  334. package/fesm2022/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs.map +1 -1
  335. package/fesm2022/c8y-ngx-components-sensor-phone.mjs +17 -320
  336. package/fesm2022/c8y-ngx-components-sensor-phone.mjs.map +1 -1
  337. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs +3 -3
  338. package/fesm2022/c8y-ngx-components-services-service-command-tab.mjs.map +1 -1
  339. package/fesm2022/c8y-ngx-components-services-shared.mjs +3 -3
  340. package/fesm2022/c8y-ngx-components-services-shared.mjs.map +1 -1
  341. package/fesm2022/c8y-ngx-components-services.mjs +29 -29
  342. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  343. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +16 -16
  344. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs.map +1 -1
  345. package/fesm2022/c8y-ngx-components-sms-gateway.mjs +7 -7
  346. package/fesm2022/c8y-ngx-components-sms-gateway.mjs.map +1 -1
  347. package/fesm2022/c8y-ngx-components-static-assets-data.mjs +3 -3
  348. package/fesm2022/c8y-ngx-components-static-assets-data.mjs.map +1 -1
  349. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +144 -42
  350. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs.map +1 -1
  351. package/fesm2022/c8y-ngx-components-static-assets.mjs +6 -6
  352. package/fesm2022/c8y-ngx-components-static-assets.mjs.map +1 -1
  353. package/fesm2022/c8y-ngx-components-sub-assets.mjs +60 -60
  354. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  355. package/fesm2022/c8y-ngx-components-tenants.mjs +40 -40
  356. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  357. package/fesm2022/c8y-ngx-components-time-context.mjs +6 -6
  358. package/fesm2022/c8y-ngx-components-time-context.mjs.map +1 -1
  359. package/fesm2022/c8y-ngx-components-tracking.mjs +12 -12
  360. package/fesm2022/c8y-ngx-components-tracking.mjs.map +1 -1
  361. package/fesm2022/c8y-ngx-components-translation-editor-data.mjs +3 -3
  362. package/fesm2022/c8y-ngx-components-translation-editor-data.mjs.map +1 -1
  363. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +12 -12
  364. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
  365. package/fesm2022/c8y-ngx-components-translation-editor.mjs +6 -6
  366. package/fesm2022/c8y-ngx-components-translation-editor.mjs.map +1 -1
  367. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +33 -33
  368. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
  369. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs +4 -4
  370. package/fesm2022/c8y-ngx-components-upgrade-upgraded-services.mjs.map +1 -1
  371. package/fesm2022/c8y-ngx-components-upgrade.mjs +41 -41
  372. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  373. package/fesm2022/c8y-ngx-components-user-roles.mjs +10 -10
  374. package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
  375. package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs.map +1 -1
  376. package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs +4 -4
  377. package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
  378. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-alarm-list.mjs.map +1 -1
  379. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-all-critical-alarms.mjs.map +1 -1
  380. package/fesm2022/c8y-ngx-components-widgets-definitions-alarms-recent-alarms.mjs.map +1 -1
  381. package/fesm2022/c8y-ngx-components-widgets-definitions-applications.mjs.map +1 -1
  382. package/fesm2022/c8y-ngx-components-widgets-definitions-asset-notes.mjs.map +1 -1
  383. package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs.map +1 -1
  384. package/fesm2022/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs.map +1 -1
  385. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs +3 -3
  386. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-graph.mjs.map +1 -1
  387. package/fesm2022/c8y-ngx-components-widgets-definitions-datapoints-table.mjs.map +1 -1
  388. package/fesm2022/c8y-ngx-components-widgets-definitions-device-control-message.mjs.map +1 -1
  389. package/fesm2022/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs.map +1 -1
  390. package/fesm2022/c8y-ngx-components-widgets-definitions-help-and-service.mjs.map +1 -1
  391. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +18 -14
  392. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
  393. package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs +4 -2
  394. package/fesm2022/c8y-ngx-components-widgets-definitions-image.mjs.map +1 -1
  395. package/fesm2022/c8y-ngx-components-widgets-definitions-info-gauge.mjs.map +1 -1
  396. package/fesm2022/c8y-ngx-components-widgets-definitions-kpi.mjs.map +1 -1
  397. package/fesm2022/c8y-ngx-components-widgets-definitions-linear-gauge.mjs.map +1 -1
  398. package/fesm2022/c8y-ngx-components-widgets-definitions-map.mjs.map +1 -1
  399. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs +4 -2
  400. package/fesm2022/c8y-ngx-components-widgets-definitions-markdown.mjs.map +1 -1
  401. package/fesm2022/c8y-ngx-components-widgets-definitions-quick-links.mjs.map +1 -1
  402. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -1
  403. package/fesm2022/c8y-ngx-components-widgets-definitions-silo.mjs.map +1 -1
  404. package/fesm2022/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs.map +1 -1
  405. package/fesm2022/c8y-ngx-components-widgets-definitions.mjs.map +1 -1
  406. package/fesm2022/c8y-ngx-components-widgets-device-management.mjs.map +1 -1
  407. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +22 -22
  408. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  409. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs +3 -3
  410. package/fesm2022/c8y-ngx-components-widgets-implementations-asset-notes.mjs.map +1 -1
  411. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs +3 -3
  412. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs.map +1 -1
  413. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs +3 -3
  414. package/fesm2022/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs.map +1 -1
  415. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +6 -6
  416. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  417. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs +50 -36
  418. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-table.mjs.map +1 -1
  419. package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs +3 -3
  420. package/fesm2022/c8y-ngx-components-widgets-implementations-device-control-message.mjs.map +1 -1
  421. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +7 -7
  422. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs.map +1 -1
  423. package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs +3 -3
  424. package/fesm2022/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs.map +1 -1
  425. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +22 -22
  426. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs.map +1 -1
  427. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +9 -9
  428. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs.map +1 -1
  429. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +18 -18
  430. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
  431. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +6 -6
  432. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
  433. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +6 -6
  434. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
  435. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +9 -9
  436. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  437. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs +9 -9
  438. package/fesm2022/c8y-ngx-components-widgets-implementations-markdown.mjs.map +1 -1
  439. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs +18 -18
  440. package/fesm2022/c8y-ngx-components-widgets-implementations-quick-links.mjs.map +1 -1
  441. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs +9 -9
  442. package/fesm2022/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs.map +1 -1
  443. package/fesm2022/c8y-ngx-components-widgets-import-export-config.mjs.map +1 -1
  444. package/fesm2022/c8y-ngx-components-widgets.mjs +4 -4
  445. package/fesm2022/c8y-ngx-components-widgets.mjs.map +1 -1
  446. package/fesm2022/c8y-ngx-components.mjs +1339 -1323
  447. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  448. package/icon-selector/icons/index.d.ts +1 -1
  449. package/icon-selector/icons/platform/index.d.ts +2 -2
  450. package/icon-selector/icons/platform/index.d.ts.map +1 -1
  451. package/locales/de.po +26 -3
  452. package/locales/es.po +26 -3
  453. package/locales/fr.po +26 -3
  454. package/locales/ja_JP.po +25 -3
  455. package/locales/ko.po +26 -3
  456. package/locales/locales.pot +55 -2
  457. package/locales/nl.po +26 -3
  458. package/locales/pl.po +26 -3
  459. package/locales/pt_BR.po +26 -3
  460. package/locales/zh_CN.po +26 -3
  461. package/locales/zh_TW.po +26 -3
  462. package/package.json +1 -1
  463. package/replace-device/replace-device.module.d.ts.map +1 -1
  464. package/sensor-phone/sensor-phone-modal/sensor-phone-modal.component.d.ts +6 -6
  465. package/sensor-phone/sensor-phone-modal/sensor-phone-modal.component.d.ts.map +1 -1
  466. package/sensor-phone/sensor-phone-modal/sensor-phone.model.d.ts +0 -1
  467. package/sensor-phone/sensor-phone-modal/sensor-phone.model.d.ts.map +1 -1
  468. package/sensor-phone/sensor-phone.module.d.ts +2 -3
  469. package/sensor-phone/sensor-phone.module.d.ts.map +1 -1
  470. package/static-assets/modal/index.d.ts +1 -0
  471. package/static-assets/modal/index.d.ts.map +1 -1
  472. package/static-assets/modal/static-asset-main-type.pipe.d.ts +10 -0
  473. package/static-assets/modal/static-asset-main-type.pipe.d.ts.map +1 -0
  474. package/static-assets/modal/static-assets-file-list/static-assets-file-list.component.d.ts +31 -0
  475. package/static-assets/modal/static-assets-file-list/static-assets-file-list.component.d.ts.map +1 -0
  476. package/static-assets/modal/static-assets-modal.component.d.ts +2 -14
  477. package/static-assets/modal/static-assets-modal.component.d.ts.map +1 -1
  478. package/widgets/definitions/datapoints-table/index.d.ts +1 -2
  479. package/widgets/definitions/datapoints-table/index.d.ts.map +1 -1
  480. package/widgets/definitions/html-widget/html-widget-config.factory.d.ts +1 -1
  481. package/widgets/definitions/html-widget/html-widget-config.factory.d.ts.map +1 -1
  482. package/widgets/definitions/image/index.d.ts +1 -1
  483. package/widgets/definitions/image/index.d.ts.map +1 -1
  484. package/widgets/definitions/markdown/index.d.ts +1 -1
  485. package/widgets/definitions/markdown/index.d.ts.map +1 -1
  486. package/widgets/implementations/datapoints-table/datapoints-table-view/datapoints-table-view.component.d.ts.map +1 -1
  487. package/widgets/implementations/three-d-rotation/three-d-rotation-widget-view/three-d-rotation-widget-view.component.d.ts.map +1 -1
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, inject, NgModule } from '@angular/core';
3
3
  import * as i1$1 from '@angular/router';
4
- import { RouterModule } from '@angular/router';
5
4
  import * as i1 from '@c8y/ngx-components';
6
- import { NavigatorNode, gettext, AppStateService, hookNavigator, hookTab, HookProviderTypes } from '@c8y/ngx-components';
5
+ import { NavigatorNode, AppStateService, hookNavigator, hookTab, hookRoute, HookProviderTypes } from '@c8y/ngx-components';
7
6
  import { map, shareReplay, distinctUntilChanged, switchMap, filter } from 'rxjs/operators';
7
+ import { gettext } from '@c8y/ngx-components/gettext';
8
8
  import { of, merge } from 'rxjs';
9
9
  import { StoreBrandingService } from '@c8y/ngx-components/branding/shared/data';
10
10
 
@@ -35,10 +35,10 @@ class SupportsBrandingService {
35
35
  canActivate() {
36
36
  return this.supportsBranding$;
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SupportsBrandingService, deps: [{ token: i1.AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SupportsBrandingService, providedIn: 'root' }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SupportsBrandingService, deps: [{ token: i1.AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SupportsBrandingService, providedIn: 'root' }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SupportsBrandingService, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SupportsBrandingService, decorators: [{
42
42
  type: Injectable,
43
43
  args: [{ providedIn: 'root' }]
44
44
  }], ctorParameters: () => [{ type: i1.AppStateService }] });
@@ -59,7 +59,7 @@ class BrandingTabFactory {
59
59
  return of(true);
60
60
  }
61
61
  getPathForBranding(brandingName, subPath) {
62
- return `branding-editor/${brandingName}/edit/${subPath}`;
62
+ return `branding-editor/variants/${brandingName}/edit/${subPath}`;
63
63
  }
64
64
  getTabsForVersion(name) {
65
65
  return [
@@ -77,10 +77,10 @@ class BrandingTabFactory {
77
77
  }
78
78
  ];
79
79
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BrandingTabFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
81
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BrandingTabFactory, providedIn: 'root' }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BrandingTabFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
81
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BrandingTabFactory, providedIn: 'root' }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BrandingTabFactory, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BrandingTabFactory, decorators: [{
84
84
  type: Injectable,
85
85
  args: [{ providedIn: 'root' }]
86
86
  }] });
@@ -114,47 +114,70 @@ const BRANDING_ROUTING = [
114
114
  {
115
115
  path: '',
116
116
  pathMatch: 'full',
117
- loadComponent: () => import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingComponent)
117
+ redirectTo: 'variants'
118
118
  },
119
119
  {
120
- path: ':name',
121
- resolve: {
122
- branding: ((route, _state) => {
123
- return inject(StoreBrandingService).getBrandingOptionsForVersion(route.params.name);
124
- }),
125
- tags: (async (route, _state) => {
126
- const store = inject(StoreBrandingService);
127
- const { variants } = await store.loadBrandingVariants();
128
- return variants.find(v => v?.tags?.includes(route.params.name))?.tags;
129
- }),
130
- fallbackBranding: (async (_route, _state) => {
131
- try {
132
- const store = inject(StoreBrandingService);
133
- const appState = inject(AppStateService);
134
- // management tenant should be free to change what every they want, so we do not provide a fallback branding
135
- if (appState.currentTenant.value?.name === 'management') {
136
- return {};
137
- }
138
- const fallbackBranding = await store.getBrandingOptionsForVersion('fallback');
139
- return fallbackBranding;
140
- }
141
- catch (e) {
142
- return {};
143
- }
144
- })
145
- },
120
+ path: 'variants',
146
121
  children: [
147
122
  {
148
123
  path: '',
149
124
  pathMatch: 'full',
150
- redirectTo: 'edit'
125
+ loadComponent: () => import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingComponent)
151
126
  },
152
127
  {
153
- path: 'edit',
154
- loadComponent: () => import('@c8y/ngx-components/branding/shared/lazy').then(m => m.EditBrandingRouterOutletComponent),
155
- children: BRANDING_EDIT_CHILD_ROUTES
128
+ path: ':name',
129
+ resolve: {
130
+ branding: ((route, _state) => {
131
+ return inject(StoreBrandingService).getBrandingOptionsForVersion(route.params.name);
132
+ }),
133
+ tags: (async (route, _state) => {
134
+ const store = inject(StoreBrandingService);
135
+ const { variants } = await store.loadBrandingVariants();
136
+ return variants.find(v => v?.tags?.includes(route.params.name))?.tags;
137
+ }),
138
+ fallbackBranding: (async (_route, _state) => {
139
+ try {
140
+ const store = inject(StoreBrandingService);
141
+ const appState = inject(AppStateService);
142
+ // management tenant should be free to change what every they want, so we do not provide a fallback branding
143
+ if (appState.currentTenant.value?.name === 'management') {
144
+ return {};
145
+ }
146
+ const fallbackBranding = await store.getBrandingOptionsForVersion('fallback');
147
+ return fallbackBranding;
148
+ }
149
+ catch (e) {
150
+ return {};
151
+ }
152
+ })
153
+ },
154
+ children: [
155
+ {
156
+ path: '',
157
+ pathMatch: 'full',
158
+ redirectTo: 'edit'
159
+ },
160
+ {
161
+ path: 'edit',
162
+ loadComponent: () => import('@c8y/ngx-components/branding/shared/lazy').then(m => m.EditBrandingRouterOutletComponent),
163
+ children: BRANDING_EDIT_CHILD_ROUTES
164
+ }
165
+ ]
156
166
  }
157
167
  ]
168
+ },
169
+ {
170
+ path: 'assets',
171
+ loadComponent: () => import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingAssetsComponent)
172
+ },
173
+ // Redirect old paths (like "/branding-editor/default" to "/branding-editor/variants/default")
174
+ {
175
+ path: '**',
176
+ redirectTo: redirectData => {
177
+ const { url } = redirectData;
178
+ const urlToAppend = url.map(segment => segment.path).join('/');
179
+ return `/branding-editor/variants/${urlToAppend}`;
180
+ }
158
181
  }
159
182
  ]
160
183
  },
@@ -171,23 +194,58 @@ const BRANDING_ROUTING = [
171
194
  redirectTo: 'branding-editor'
172
195
  }
173
196
  ];
197
+ class BrandingVariantsAndAssetsTabFactory {
198
+ constructor(router) {
199
+ this.router = router;
200
+ this.tabs = [
201
+ {
202
+ path: '/branding-editor/variants',
203
+ label: gettext('Variants'),
204
+ icon: 'folder',
205
+ priority: 500
206
+ },
207
+ {
208
+ path: '/branding-editor/assets',
209
+ label: gettext('Branding assets'),
210
+ icon: 'file',
211
+ priority: 100
212
+ }
213
+ ];
214
+ }
215
+ get() {
216
+ if (this.tabs.map(tab => tab.path).includes(this.router.url)) {
217
+ return this.tabs;
218
+ }
219
+ return [];
220
+ }
221
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BrandingVariantsAndAssetsTabFactory, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
222
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BrandingVariantsAndAssetsTabFactory, providedIn: 'root' }); }
223
+ }
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BrandingVariantsAndAssetsTabFactory, decorators: [{
225
+ type: Injectable,
226
+ args: [{ providedIn: 'root' }]
227
+ }], ctorParameters: () => [{ type: i1$1.Router }] });
174
228
  class SharedBrandingModule {
175
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SharedBrandingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
176
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: SharedBrandingModule, imports: [i1$1.RouterModule] }); }
177
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SharedBrandingModule, providers: [
229
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SharedBrandingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
230
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: SharedBrandingModule }); }
231
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SharedBrandingModule, providers: [
178
232
  // providerType: HookProviderTypes.ExistingProvider is used to ensure that the hook is only applied once even if the module is imported multiple times
179
233
  hookNavigator(SupportsBrandingService, { providerType: HookProviderTypes.ExistingProvider }),
180
- hookTab(BrandingTabFactory)
181
- ], imports: [RouterModule.forChild(BRANDING_ROUTING)] }); }
234
+ hookTab(BrandingTabFactory),
235
+ hookTab(BrandingVariantsAndAssetsTabFactory),
236
+ hookRoute(BRANDING_ROUTING)
237
+ ] }); }
182
238
  }
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SharedBrandingModule, decorators: [{
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: SharedBrandingModule, decorators: [{
184
240
  type: NgModule,
185
241
  args: [{
186
- imports: [RouterModule.forChild(BRANDING_ROUTING)],
242
+ imports: [],
187
243
  providers: [
188
244
  // providerType: HookProviderTypes.ExistingProvider is used to ensure that the hook is only applied once even if the module is imported multiple times
189
245
  hookNavigator(SupportsBrandingService, { providerType: HookProviderTypes.ExistingProvider }),
190
- hookTab(BrandingTabFactory)
246
+ hookTab(BrandingTabFactory),
247
+ hookTab(BrandingVariantsAndAssetsTabFactory),
248
+ hookRoute(BRANDING_ROUTING)
191
249
  ]
192
250
  }]
193
251
  }] });
@@ -196,5 +254,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
196
254
  * Generated bundle index. Do not edit.
197
255
  */
198
256
 
199
- export { BRANDING_EDIT_CHILD_ROUTES, BRANDING_ROUTING, BrandingTabFactory, SharedBrandingModule, genericTabName, lightThemeTabName };
257
+ export { BRANDING_EDIT_CHILD_ROUTES, BRANDING_ROUTING, BrandingTabFactory, BrandingVariantsAndAssetsTabFactory, SharedBrandingModule, genericTabName, lightThemeTabName };
200
258
  //# sourceMappingURL=c8y-ngx-components-branding-shared.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-branding-shared.mjs","sources":["../../branding/shared/supports-branding.service.ts","../../branding/shared/branding-tab.factory.ts","../../branding/shared/shared-branding.module.ts","../../branding/shared/c8y-ngx-components-branding-shared.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { CanActivate, UrlTree } from '@angular/router';\nimport { AppStateService, ExtensionFactory, NavigatorNode } from '@c8y/ngx-components';\nimport { Observable } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class SupportsBrandingService implements CanActivate, ExtensionFactory<NavigatorNode> {\n private supportsBranding$: Observable<boolean>;\n private node: NavigatorNode;\n constructor(private appState: AppStateService) {\n this.supportsBranding$ = this.appState.currentAppsOfUser.pipe(\n map(apps => {\n const brandingFeatureApp = apps.find(\n app => app.name === 'feature-branding' && app.owner?.tenant?.id === 'management'\n );\n return !!brandingFeatureApp;\n }),\n shareReplay(1)\n );\n this.node = new NavigatorNode({\n featureId: 'branding-editor',\n label: 'Branding',\n path: 'branding-editor',\n icon: 'palette',\n parent: 'Settings',\n routerLinkExact: false\n });\n }\n\n get(): Observable<NavigatorNode | NavigatorNode[]> {\n return this.supportsBranding$.pipe(\n map(supported => {\n if (supported) {\n return this.node;\n }\n return [];\n })\n );\n }\n\n canActivate(): boolean | UrlTree | Observable<boolean | UrlTree> | Promise<boolean | UrlTree> {\n return this.supportsBranding$;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ExtensionFactory, Tab, gettext } from '@c8y/ngx-components';\nimport { Observable, merge, of } from 'rxjs';\nimport { distinctUntilChanged, map, filter, switchMap } from 'rxjs/operators';\n\nexport const lightThemeTabName = gettext('Light theme');\nexport const genericTabName = gettext('Generic');\n\n@Injectable({ providedIn: 'root' })\nexport class BrandingTabFactory implements ExtensionFactory<Tab> {\n get(activatedRoute?: ActivatedRoute): Observable<Tab | Tab[]> {\n const routes = activatedRoute.pathFromRoot.map(route => route.url);\n return this.shouldShowTab$().pipe(\n distinctUntilChanged(),\n switchMap(value => {\n if (!value) {\n return of([]);\n }\n return merge(...routes).pipe(\n filter(urlSegments =>\n urlSegments.some(urlSegment => urlSegment.path === 'branding-editor')\n ),\n switchMap(() => this.shouldShowTab$()),\n filter(shouldShow => !!shouldShow),\n switchMap(() =>\n activatedRoute.parent?.params.pipe(\n map(params => params.name),\n distinctUntilChanged(),\n filter(name => !!name),\n map(name => this.getTabsForVersion(name))\n )\n )\n );\n })\n );\n }\n\n protected shouldShowTab$(): Observable<boolean> {\n return of(true);\n }\n\n protected getPathForBranding<T extends string>(brandingName: string, subPath: T) {\n return `branding-editor/${brandingName}/edit/${subPath}` as const;\n }\n\n protected getTabsForVersion(name: string): Tab[] {\n return [\n {\n path: this.getPathForBranding(name, 'generic'),\n label: genericTabName,\n icon: 'palette',\n priority: 600\n },\n {\n path: this.getPathForBranding(name, 'light'),\n label: lightThemeTabName,\n icon: 'sun',\n priority: 500\n }\n ];\n }\n}\n","import { NgModule, inject } from '@angular/core';\nimport {\n RouterModule,\n Route,\n RouterStateSnapshot,\n ActivatedRouteSnapshot,\n ResolveFn,\n Routes\n} from '@angular/router';\nimport { SupportsBrandingService } from './supports-branding.service';\nimport { AppStateService, hookNavigator, HookProviderTypes, hookTab } from '@c8y/ngx-components';\nimport { BrandingTabFactory, lightThemeTabName, genericTabName } from './branding-tab.factory';\nimport {\n BrandingFileDetails,\n BrandingOptionsJson,\n StoreBrandingService\n} from '@c8y/ngx-components/branding/shared/data';\n\nexport const BRANDING_EDIT_CHILD_ROUTES: Route[] = [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'generic'\n },\n {\n path: 'generic',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingFormComponent),\n data: {\n tabName: genericTabName\n }\n },\n {\n path: 'light',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingThemeFormComponent),\n data: {\n tabName: lightThemeTabName\n }\n }\n];\n\nexport const BRANDING_ROUTING: Routes = [\n {\n path: 'branding-editor',\n canActivate: [SupportsBrandingService],\n children: [\n {\n path: '',\n pathMatch: 'full',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingComponent)\n },\n {\n path: ':name',\n resolve: {\n branding: ((route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) => {\n return inject(StoreBrandingService).getBrandingOptionsForVersion(route.params.name);\n }) as ResolveFn<BrandingFileDetails[]>,\n tags: (async (route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) => {\n const store = inject(StoreBrandingService);\n const { variants } = await store.loadBrandingVariants();\n return variants.find(v => v?.tags?.includes(route.params.name))?.tags;\n }) as ResolveFn<string[]>,\n fallbackBranding: (async (\n _route: ActivatedRouteSnapshot,\n _state: RouterStateSnapshot\n ) => {\n try {\n const store = inject(StoreBrandingService);\n const appState = inject(AppStateService);\n // management tenant should be free to change what every they want, so we do not provide a fallback branding\n if (appState.currentTenant.value?.name === 'management') {\n return {};\n }\n const fallbackBranding = await store.getBrandingOptionsForVersion('fallback');\n return fallbackBranding;\n } catch (e) {\n return {};\n }\n }) as ResolveFn<BrandingOptionsJson>\n },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'edit'\n },\n {\n path: 'edit',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(\n m => m.EditBrandingRouterOutletComponent\n ),\n children: BRANDING_EDIT_CHILD_ROUTES\n }\n ]\n }\n ]\n },\n // Redirects for legacy paths from old angularJS implementation\n // allows to keep old links working and to use the old branding manager (as long as we still ship it) when the new plugins are removed from admin app\n {\n path: 'enterprise/branding',\n pathMatch: 'full',\n redirectTo: 'branding-editor'\n },\n {\n path: 'branding',\n pathMatch: 'full',\n redirectTo: 'branding-editor'\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(BRANDING_ROUTING)],\n providers: [\n // providerType: HookProviderTypes.ExistingProvider is used to ensure that the hook is only applied once even if the module is imported multiple times\n hookNavigator(SupportsBrandingService, { providerType: HookProviderTypes.ExistingProvider }),\n hookTab(BrandingTabFactory)\n ]\n})\nexport class SharedBrandingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-branding-shared.mjs","sources":["../../branding/shared/supports-branding.service.ts","../../branding/shared/branding-tab.factory.ts","../../branding/shared/shared-branding.module.ts","../../branding/shared/c8y-ngx-components-branding-shared.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { CanActivate, UrlTree } from '@angular/router';\nimport { AppStateService, ExtensionFactory, NavigatorNode } from '@c8y/ngx-components';\nimport { Observable } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class SupportsBrandingService implements CanActivate, ExtensionFactory<NavigatorNode> {\n private supportsBranding$: Observable<boolean>;\n private node: NavigatorNode;\n constructor(private appState: AppStateService) {\n this.supportsBranding$ = this.appState.currentAppsOfUser.pipe(\n map(apps => {\n const brandingFeatureApp = apps.find(\n app => app.name === 'feature-branding' && app.owner?.tenant?.id === 'management'\n );\n return !!brandingFeatureApp;\n }),\n shareReplay(1)\n );\n this.node = new NavigatorNode({\n featureId: 'branding-editor',\n label: 'Branding',\n path: 'branding-editor',\n icon: 'palette',\n parent: 'Settings',\n routerLinkExact: false\n });\n }\n\n get(): Observable<NavigatorNode | NavigatorNode[]> {\n return this.supportsBranding$.pipe(\n map(supported => {\n if (supported) {\n return this.node;\n }\n return [];\n })\n );\n }\n\n canActivate(): boolean | UrlTree | Observable<boolean | UrlTree> | Promise<boolean | UrlTree> {\n return this.supportsBranding$;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ExtensionFactory, Tab } from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { Observable, merge, of } from 'rxjs';\nimport { distinctUntilChanged, map, filter, switchMap } from 'rxjs/operators';\n\nexport const lightThemeTabName = gettext('Light theme');\nexport const genericTabName = gettext('Generic');\n\n@Injectable({ providedIn: 'root' })\nexport class BrandingTabFactory implements ExtensionFactory<Tab> {\n get(activatedRoute?: ActivatedRoute): Observable<Tab | Tab[]> {\n const routes = activatedRoute.pathFromRoot.map(route => route.url);\n return this.shouldShowTab$().pipe(\n distinctUntilChanged(),\n switchMap(value => {\n if (!value) {\n return of([]);\n }\n return merge(...routes).pipe(\n filter(urlSegments =>\n urlSegments.some(urlSegment => urlSegment.path === 'branding-editor')\n ),\n switchMap(() => this.shouldShowTab$()),\n filter(shouldShow => !!shouldShow),\n switchMap(() =>\n activatedRoute.parent?.params.pipe(\n map(params => params.name),\n distinctUntilChanged(),\n filter(name => !!name),\n map(name => this.getTabsForVersion(name))\n )\n )\n );\n })\n );\n }\n\n protected shouldShowTab$(): Observable<boolean> {\n return of(true);\n }\n\n protected getPathForBranding<T extends string>(brandingName: string, subPath: T) {\n return `branding-editor/variants/${brandingName}/edit/${subPath}` as const;\n }\n\n protected getTabsForVersion(name: string): Tab[] {\n return [\n {\n path: this.getPathForBranding(name, 'generic'),\n label: genericTabName,\n icon: 'palette',\n priority: 600\n },\n {\n path: this.getPathForBranding(name, 'light'),\n label: lightThemeTabName,\n icon: 'sun',\n priority: 500\n }\n ];\n }\n}\n","import { Injectable, NgModule, inject } from '@angular/core';\nimport { RouterStateSnapshot, ActivatedRouteSnapshot, ResolveFn, Router } from '@angular/router';\nimport { SupportsBrandingService } from './supports-branding.service';\nimport {\n AppStateService,\n ExtensionFactory,\n hookNavigator,\n HookProviderTypes,\n hookRoute,\n hookTab,\n Route,\n Tab\n} from '@c8y/ngx-components';\nimport { gettext } from '@c8y/ngx-components/gettext';\nimport { BrandingTabFactory, lightThemeTabName, genericTabName } from './branding-tab.factory';\nimport {\n BrandingFileDetails,\n BrandingOptionsJson,\n StoreBrandingService\n} from '@c8y/ngx-components/branding/shared/data';\n\nexport const BRANDING_EDIT_CHILD_ROUTES: Route[] = [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'generic'\n },\n {\n path: 'generic',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingFormComponent),\n data: {\n tabName: genericTabName\n }\n },\n {\n path: 'light',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingThemeFormComponent),\n data: {\n tabName: lightThemeTabName\n }\n }\n];\n\nexport const BRANDING_ROUTING: Route[] = [\n {\n path: 'branding-editor',\n canActivate: [SupportsBrandingService],\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'variants'\n },\n {\n path: 'variants',\n children: [\n {\n path: '',\n pathMatch: 'full',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingComponent)\n },\n {\n path: ':name',\n resolve: {\n branding: ((route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) => {\n return inject(StoreBrandingService).getBrandingOptionsForVersion(route.params.name);\n }) as ResolveFn<BrandingFileDetails[]>,\n tags: (async (route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) => {\n const store = inject(StoreBrandingService);\n const { variants } = await store.loadBrandingVariants();\n return variants.find(v => v?.tags?.includes(route.params.name))?.tags;\n }) as ResolveFn<string[]>,\n fallbackBranding: (async (\n _route: ActivatedRouteSnapshot,\n _state: RouterStateSnapshot\n ) => {\n try {\n const store = inject(StoreBrandingService);\n const appState = inject(AppStateService);\n // management tenant should be free to change what every they want, so we do not provide a fallback branding\n if (appState.currentTenant.value?.name === 'management') {\n return {};\n }\n const fallbackBranding = await store.getBrandingOptionsForVersion('fallback');\n return fallbackBranding;\n } catch (e) {\n return {};\n }\n }) as ResolveFn<BrandingOptionsJson>\n },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'edit'\n },\n {\n path: 'edit',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(\n m => m.EditBrandingRouterOutletComponent\n ),\n children: BRANDING_EDIT_CHILD_ROUTES\n }\n ]\n }\n ]\n },\n {\n path: 'assets',\n loadComponent: () =>\n import('@c8y/ngx-components/branding/shared/lazy').then(m => m.BrandingAssetsComponent)\n },\n // Redirect old paths (like \"/branding-editor/default\" to \"/branding-editor/variants/default\")\n {\n path: '**',\n redirectTo: redirectData => {\n const { url } = redirectData;\n const urlToAppend = url.map(segment => segment.path).join('/');\n return `/branding-editor/variants/${urlToAppend}`;\n }\n }\n ]\n },\n // Redirects for legacy paths from old angularJS implementation\n // allows to keep old links working and to use the old branding manager (as long as we still ship it) when the new plugins are removed from admin app\n {\n path: 'enterprise/branding',\n pathMatch: 'full',\n redirectTo: 'branding-editor'\n },\n {\n path: 'branding',\n pathMatch: 'full',\n redirectTo: 'branding-editor'\n }\n];\n\n@Injectable({ providedIn: 'root' })\nexport class BrandingVariantsAndAssetsTabFactory implements ExtensionFactory<Tab> {\n tabs: Tab[] = [\n {\n path: '/branding-editor/variants',\n label: gettext('Variants'),\n icon: 'folder',\n priority: 500\n },\n {\n path: '/branding-editor/assets',\n label: gettext('Branding assets'),\n icon: 'file',\n priority: 100\n }\n ];\n constructor(private router: Router) {}\n get(): Tab[] {\n if (this.tabs.map(tab => tab.path).includes(this.router.url)) {\n return this.tabs;\n }\n return [];\n }\n}\n\n@NgModule({\n imports: [],\n providers: [\n // providerType: HookProviderTypes.ExistingProvider is used to ensure that the hook is only applied once even if the module is imported multiple times\n hookNavigator(SupportsBrandingService, { providerType: HookProviderTypes.ExistingProvider }),\n hookTab(BrandingTabFactory),\n hookTab(BrandingVariantsAndAssetsTabFactory),\n hookRoute(BRANDING_ROUTING)\n ]\n})\nexport class SharedBrandingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -20,10 +20,10 @@ class ChildDevicesComponent {
20
20
  async getAllDevices() {
21
21
  this.id = this.route.snapshot.parent.data.contextData;
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.DeviceGridService }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: ChildDevicesComponent, isStandalone: true, selector: "c8y-child-devices", providers: [ManagedObjectRealtimeService], ngImport: i0, template: "<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [title]=\"'Child devices' | translate\"\n [childDeviceGrid]=\"true\"\n [columns]=\"columns\"\n [parentDeviceId]=\"id\"\n c8yProductExperience\n [actionName]=\"'childDevices'\"\n ></c8y-device-grid>\n</div>\n", dependencies: [{ kind: "component", type: DeviceGridComponent, selector: "c8y-device-grid", inputs: ["dataCallback", "refresh", "title", "loadMoreItemsLabel", "loadingItemsLabel", "legacyConfigKey", "legacyFilterKey", "columns", "pagination", "infiniteScroll", "actionControls", "selectable", "singleSelection", "baseQuery", "bulkActionControls", "headerActionControls", "childDeviceGrid", "parentDeviceId", "withChildren", "showSearch", "activeClassName"], outputs: ["onColumnsChange", "onFilterChange", "onDeviceQueryStringChange", "itemsSelect"] }, { kind: "directive", type: ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.DeviceGridService }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: ChildDevicesComponent, isStandalone: true, selector: "c8y-child-devices", providers: [ManagedObjectRealtimeService], ngImport: i0, template: "<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [title]=\"'Child devices' | translate\"\n [childDeviceGrid]=\"true\"\n [columns]=\"columns\"\n [parentDeviceId]=\"id\"\n c8yProductExperience\n [actionName]=\"'childDevices'\"\n ></c8y-device-grid>\n</div>\n", dependencies: [{ kind: "component", type: DeviceGridComponent, selector: "c8y-device-grid", inputs: ["dataCallback", "refresh", "title", "loadMoreItemsLabel", "loadingItemsLabel", "legacyConfigKey", "legacyFilterKey", "columns", "pagination", "infiniteScroll", "actionControls", "selectable", "singleSelection", "baseQuery", "bulkActionControls", "headerActionControls", "childDeviceGrid", "parentDeviceId", "withChildren", "showSearch", "activeClassName"], outputs: ["onColumnsChange", "onFilterChange", "onDeviceQueryStringChange", "itemsSelect"] }, { kind: "directive", type: ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'c8y-child-devices', providers: [ManagedObjectRealtimeService], imports: [DeviceGridComponent, ProductExperienceDirective, C8yTranslatePipe], template: "<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [title]=\"'Child devices' | translate\"\n [childDeviceGrid]=\"true\"\n [columns]=\"columns\"\n [parentDeviceId]=\"id\"\n c8yProductExperience\n [actionName]=\"'childDevices'\"\n ></c8y-device-grid>\n</div>\n" }]
29
29
  }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.DeviceGridService }] });
@@ -49,10 +49,10 @@ class ChildDevicesActionControlsFactory {
49
49
  }
50
50
  };
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesActionControlsFactory, deps: [{ token: i2.DeviceGridService }], target: i0.ɵɵFactoryTarget.Injectable }); }
53
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesActionControlsFactory, providedIn: 'root' }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesActionControlsFactory, deps: [{ token: i2.DeviceGridService }], target: i0.ɵɵFactoryTarget.Injectable }); }
53
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesActionControlsFactory, providedIn: 'root' }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesActionControlsFactory, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesActionControlsFactory, decorators: [{
56
56
  type: Injectable,
57
57
  args: [{ providedIn: 'root' }]
58
58
  }], ctorParameters: () => [{ type: i2.DeviceGridService }] });
@@ -73,18 +73,18 @@ class ChildDevicesTabGuard {
73
73
  const hasChildren = device.data.length;
74
74
  return !!hasChildren;
75
75
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesTabGuard, deps: [{ token: i1$1.InventoryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
77
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesTabGuard, providedIn: 'root' }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesTabGuard, deps: [{ token: i1$1.InventoryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
77
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesTabGuard, providedIn: 'root' }); }
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesTabGuard, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesTabGuard, decorators: [{
80
80
  type: Injectable,
81
81
  args: [{ providedIn: 'root' }]
82
82
  }], ctorParameters: () => [{ type: i1$1.InventoryService }] });
83
83
 
84
84
  class ChildDevicesModule {
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
86
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesModule, imports: [CoreModule, DeviceGridModule, PopoverModule, ChildDevicesComponent] }); }
87
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesModule, providers: [
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
86
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesModule, imports: [CoreModule, DeviceGridModule, PopoverModule, ChildDevicesComponent] }); }
87
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesModule, providers: [
88
88
  hookRoute({
89
89
  context: ViewContext.Device,
90
90
  path: 'child-devices',
@@ -97,7 +97,7 @@ class ChildDevicesModule {
97
97
  hookDataGridActionControls(ChildDevicesActionControlsFactory)
98
98
  ], imports: [CoreModule, DeviceGridModule, PopoverModule, ChildDevicesComponent] }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: ChildDevicesModule, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: ChildDevicesModule, decorators: [{
101
101
  type: NgModule,
102
102
  args: [{
103
103
  imports: [CoreModule, DeviceGridModule, PopoverModule, ChildDevicesComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-child-devices.mjs","sources":["../../child-devices/child-devices.component.ts","../../child-devices/child-devices.component.html","../../child-devices/action-controls.factory.ts","../../child-devices/child-devices.guard.ts","../../child-devices/child-devices.module.ts","../../child-devices/c8y-ngx-components-child-devices.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n Column,\n ManagedObjectRealtimeService,\n ProductExperienceDirective,\n C8yTranslatePipe\n} from '@c8y/ngx-components';\nimport { DeviceGridService, DeviceGridComponent } from '@c8y/ngx-components/device-grid';\n\n@Component({\n selector: 'c8y-child-devices',\n templateUrl: './child-devices.component.html',\n providers: [ManagedObjectRealtimeService],\n imports: [DeviceGridComponent, ProductExperienceDirective, C8yTranslatePipe]\n})\nexport class ChildDevicesComponent implements OnInit {\n id: string;\n columns: Column[];\n\n constructor(\n private route: ActivatedRoute,\n private deviceGridService: DeviceGridService\n ) {}\n\n async ngOnInit() {\n await this.getAllDevices();\n this.columns = this.deviceGridService.getChildDeviceGridColumns();\n }\n\n async getAllDevices() {\n this.id = this.route.snapshot.parent.data.contextData;\n }\n}\n","<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [title]=\"'Child devices' | translate\"\n [childDeviceGrid]=\"true\"\n [columns]=\"columns\"\n [parentDeviceId]=\"id\"\n c8yProductExperience\n [actionName]=\"'childDevices'\"\n ></c8y-device-grid>\n</div>\n","import { Injectable } from '@angular/core';\nimport { IManagedObject } from '@c8y/client';\nimport {\n ActionControlFactory,\n ActionControlHook,\n BuiltInActionType,\n Row\n} from '@c8y/ngx-components';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\n\n@Injectable({ providedIn: 'root' })\nexport class ChildDevicesActionControlsFactory implements ActionControlFactory {\n constructor(private deviceGridService: DeviceGridService) {}\n\n get(): ActionControlHook {\n return {\n actionControls: [\n {\n type: BuiltInActionType.Delete,\n priority: -Infinity,\n callback: async (item: Row, reload) => {\n await this.deviceGridService.delete(item as IManagedObject);\n reload();\n }\n }\n ],\n matchesGrid(route) {\n return route.snapshot.routeConfig?.path === 'child-devices';\n }\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { InventoryService } from '@c8y/client';\nimport { isEmpty } from 'lodash-es';\n\n@Injectable({ providedIn: 'root' })\nexport class ChildDevicesTabGuard {\n constructor(private inventory: InventoryService) {}\n\n async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {\n const contextData = route.data.contextData;\n\n const filter: object = {\n pageSize: 1\n };\n\n if (isEmpty(contextData)) {\n return true;\n }\n const device = await this.inventory.childDevicesList(contextData.id, filter);\n const hasChildren = device.data.length;\n return !!hasChildren;\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n CoreModule,\n gettext,\n hookDataGridActionControls,\n hookRoute,\n ViewContext\n} from '@c8y/ngx-components';\nimport { DeviceGridModule } from '@c8y/ngx-components/device-grid';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { ChildDevicesActionControlsFactory } from './action-controls.factory';\nimport { ChildDevicesComponent } from './child-devices.component';\nimport { ChildDevicesTabGuard } from './child-devices.guard';\n\n@NgModule({\n imports: [CoreModule, DeviceGridModule, PopoverModule, ChildDevicesComponent],\n providers: [\n hookRoute({\n context: ViewContext.Device,\n path: 'child-devices',\n priority: 1000,\n icon: 'code-fork',\n label: gettext('Child devices'),\n component: ChildDevicesComponent,\n canActivate: [ChildDevicesTabGuard]\n }),\n hookDataGridActionControls(ChildDevicesActionControlsFactory)\n ]\n})\nexport class ChildDevicesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-child-devices.mjs","sources":["../../child-devices/child-devices.component.ts","../../child-devices/child-devices.component.html","../../child-devices/action-controls.factory.ts","../../child-devices/child-devices.guard.ts","../../child-devices/child-devices.module.ts","../../child-devices/c8y-ngx-components-child-devices.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n Column,\n ManagedObjectRealtimeService,\n ProductExperienceDirective,\n C8yTranslatePipe\n} from '@c8y/ngx-components';\nimport { DeviceGridService, DeviceGridComponent } from '@c8y/ngx-components/device-grid';\n\n@Component({\n selector: 'c8y-child-devices',\n templateUrl: './child-devices.component.html',\n providers: [ManagedObjectRealtimeService],\n imports: [DeviceGridComponent, ProductExperienceDirective, C8yTranslatePipe]\n})\nexport class ChildDevicesComponent implements OnInit {\n id: string;\n columns: Column[];\n\n constructor(\n private route: ActivatedRoute,\n private deviceGridService: DeviceGridService\n ) {}\n\n async ngOnInit() {\n await this.getAllDevices();\n this.columns = this.deviceGridService.getChildDeviceGridColumns();\n }\n\n async getAllDevices() {\n this.id = this.route.snapshot.parent.data.contextData;\n }\n}\n","<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [title]=\"'Child devices' | translate\"\n [childDeviceGrid]=\"true\"\n [columns]=\"columns\"\n [parentDeviceId]=\"id\"\n c8yProductExperience\n [actionName]=\"'childDevices'\"\n ></c8y-device-grid>\n</div>\n","import { Injectable } from '@angular/core';\nimport { IManagedObject } from '@c8y/client';\nimport {\n ActionControlFactory,\n ActionControlHook,\n BuiltInActionType,\n Row\n} from '@c8y/ngx-components';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\n\n@Injectable({ providedIn: 'root' })\nexport class ChildDevicesActionControlsFactory implements ActionControlFactory {\n constructor(private deviceGridService: DeviceGridService) {}\n\n get(): ActionControlHook {\n return {\n actionControls: [\n {\n type: BuiltInActionType.Delete,\n priority: -Infinity,\n callback: async (item: Row, reload) => {\n await this.deviceGridService.delete(item as IManagedObject);\n reload();\n }\n }\n ],\n matchesGrid(route) {\n return route.snapshot.routeConfig?.path === 'child-devices';\n }\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { InventoryService } from '@c8y/client';\nimport { isEmpty } from 'lodash-es';\n\n@Injectable({ providedIn: 'root' })\nexport class ChildDevicesTabGuard {\n constructor(private inventory: InventoryService) {}\n\n async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {\n const contextData = route.data.contextData;\n\n const filter: object = {\n pageSize: 1\n };\n\n if (isEmpty(contextData)) {\n return true;\n }\n const device = await this.inventory.childDevicesList(contextData.id, filter);\n const hasChildren = device.data.length;\n return !!hasChildren;\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n CoreModule,\n gettext,\n hookDataGridActionControls,\n hookRoute,\n ViewContext\n} from '@c8y/ngx-components';\nimport { DeviceGridModule } from '@c8y/ngx-components/device-grid';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { ChildDevicesActionControlsFactory } from './action-controls.factory';\nimport { ChildDevicesComponent } from './child-devices.component';\nimport { ChildDevicesTabGuard } from './child-devices.guard';\n\n@NgModule({\n imports: [CoreModule, DeviceGridModule, PopoverModule, ChildDevicesComponent],\n providers: [\n hookRoute({\n context: ViewContext.Device,\n path: 'child-devices',\n priority: 1000,\n icon: 'code-fork',\n label: gettext('Child devices'),\n component: ChildDevicesComponent,\n canActivate: [ChildDevicesTabGuard]\n }),\n hookDataGridActionControls(ChildDevicesActionControlsFactory)\n ]\n})\nexport class ChildDevicesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}