@c8y/ngx-components 1022.9.6 → 1022.13.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 (710) hide show
  1. package/actility-device-registration/actility-device-registration-button.component.d.ts +1 -1
  2. package/actility-device-registration/actility-device-registration-button.component.d.ts.map +1 -1
  3. package/actility-device-registration/actility-device-registration.component.d.ts +1 -1
  4. package/actility-device-registration/actility-device-registration.component.d.ts.map +1 -1
  5. package/actility-device-registration/actility-device-registration.module.d.ts +4 -4
  6. package/actility-device-registration/actility-device-registration.module.d.ts.map +1 -1
  7. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts +1 -1
  8. package/alarm-event-selector/alarm-event-attributes-form/alarm-event-attributes-form.component.d.ts.map +1 -1
  9. package/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.d.ts +25 -1
  10. package/alarm-event-selector/alarm-event-selection-list/alarm-event-selection-list.component.d.ts.map +1 -1
  11. package/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.d.ts +1 -1
  12. package/alarm-event-selector/alarm-event-selector-list-item/alarm-event-selector-list-item.component.d.ts.map +1 -1
  13. package/alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.component.d.ts +1 -1
  14. package/alarm-event-selector/alarm-event-selector-modal/alarm-event-selector-modal.component.d.ts.map +1 -1
  15. package/alarm-event-selector/alarm-event-selector.component.d.ts +1 -1
  16. package/alarm-event-selector/alarm-event-selector.component.d.ts.map +1 -1
  17. package/alarm-event-selector/alarm-event-selector.module.d.ts +15 -15
  18. package/alarm-event-selector/alarm-event-selector.module.d.ts.map +1 -1
  19. package/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.d.ts +1 -1
  20. package/alarm-event-selector/custom-alarm-event-form/custom-alarm-event-form.component.d.ts.map +1 -1
  21. package/alarm-event-selector/pipes/includes-alarm.pipe.d.ts +1 -1
  22. package/alarm-event-selector/pipes/includes-alarm.pipe.d.ts.map +1 -1
  23. package/alarms/alarm-details.component.d.ts +1 -1
  24. package/alarms/alarm-details.component.d.ts.map +1 -1
  25. package/alarms/alarm-empty.component.d.ts +1 -1
  26. package/alarms/alarm-empty.component.d.ts.map +1 -1
  27. package/alarms/alarm-info.component.d.ts +1 -1
  28. package/alarms/alarm-info.component.d.ts.map +1 -1
  29. package/alarms/alarm-severities-to-title.pipe.d.ts +1 -1
  30. package/alarms/alarm-severities-to-title.pipe.d.ts.map +1 -1
  31. package/alarms/alarm-severity-to-label.pipe.d.ts +1 -1
  32. package/alarms/alarm-severity-to-label.pipe.d.ts.map +1 -1
  33. package/alarms/alarm-status-to-icon.pipe.d.ts +1 -1
  34. package/alarms/alarm-status-to-icon.pipe.d.ts.map +1 -1
  35. package/alarms/alarm-status-to-label.pipe.d.ts +1 -1
  36. package/alarms/alarm-status-to-label.pipe.d.ts.map +1 -1
  37. package/alarms/alarms-date-filter.component.d.ts +1 -1
  38. package/alarms/alarms-date-filter.component.d.ts.map +1 -1
  39. package/alarms/alarms-filter.component.d.ts +1 -1
  40. package/alarms/alarms-filter.component.d.ts.map +1 -1
  41. package/alarms/alarms-icon.component.d.ts +1 -1
  42. package/alarms/alarms-icon.component.d.ts.map +1 -1
  43. package/alarms/alarms-interval-refresh.component.d.ts +1 -1
  44. package/alarms/alarms-interval-refresh.component.d.ts.map +1 -1
  45. package/alarms/alarms-list.component.d.ts +1 -1
  46. package/alarms/alarms-list.component.d.ts.map +1 -1
  47. package/alarms/alarms-type-filter.component.d.ts +1 -1
  48. package/alarms/alarms-type-filter.component.d.ts.map +1 -1
  49. package/alarms/alarms.component.d.ts +1 -1
  50. package/alarms/alarms.component.d.ts.map +1 -1
  51. package/alarms/alarms.module.d.ts +27 -27
  52. package/alarms/alarms.module.d.ts.map +1 -1
  53. package/alarms/audit-changes-message.pipe.d.ts +1 -1
  54. package/alarms/audit-changes-message.pipe.d.ts.map +1 -1
  55. package/api/api.service.d.ts +8 -0
  56. package/api/api.service.d.ts.map +1 -1
  57. package/app-logs/app-logs-auto-refresh.component.d.ts +1 -1
  58. package/app-logs/app-logs-auto-refresh.component.d.ts.map +1 -1
  59. package/app-logs/app-logs-auto-refresh.module.d.ts +4 -4
  60. package/app-logs/app-logs-auto-refresh.module.d.ts.map +1 -1
  61. package/assets-navigator/asset-selector/asset-selector-node.component.d.ts +1 -1
  62. package/assets-navigator/asset-selector/asset-selector-node.component.d.ts.map +1 -1
  63. package/assets-navigator/asset-selector/asset-selector.component.d.ts +12 -1
  64. package/assets-navigator/asset-selector/asset-selector.component.d.ts.map +1 -1
  65. package/assets-navigator/asset-selector/asset-selector.module.d.ts +8 -8
  66. package/assets-navigator/asset-selector/asset-selector.module.d.ts.map +1 -1
  67. package/assets-navigator/asset-selector/miller-view.component.d.ts +1 -1
  68. package/assets-navigator/asset-selector/miller-view.component.d.ts.map +1 -1
  69. package/auth-configuration/basic-settings/auth-configuration.component.d.ts +1 -1
  70. package/auth-configuration/basic-settings/auth-configuration.component.d.ts.map +1 -1
  71. package/auth-configuration/basic-settings/basic-auth-settings.component.d.ts +1 -1
  72. package/auth-configuration/basic-settings/basic-auth-settings.component.d.ts.map +1 -1
  73. package/auth-configuration/basic-settings/basic-settings.module.d.ts +8 -8
  74. package/auth-configuration/basic-settings/basic-settings.module.d.ts.map +1 -1
  75. package/auth-configuration/basic-settings/login-settings.component.d.ts +2 -2
  76. package/auth-configuration/basic-settings/login-settings.component.d.ts.map +1 -1
  77. package/auth-configuration/basic-settings/session-configuration.component.d.ts +1 -1
  78. package/auth-configuration/basic-settings/session-configuration.component.d.ts.map +1 -1
  79. package/auth-configuration/basic-settings/tfa-settings.component.d.ts +1 -1
  80. package/auth-configuration/basic-settings/tfa-settings.component.d.ts.map +1 -1
  81. package/auth-configuration/sso-configuration/sso-configuration.component.d.ts +1 -1
  82. package/auth-configuration/sso-configuration/sso-configuration.component.d.ts.map +1 -1
  83. package/auth-configuration/sso-configuration/sso-configuration.module.d.ts +24 -24
  84. package/auth-configuration/sso-configuration/sso-configuration.module.d.ts.map +1 -1
  85. package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts +1 -1
  86. package/auth-configuration/sso-configuration/template-parts/access-mapping/access-mapping.component.d.ts.map +1 -1
  87. package/auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.d.ts +1 -1
  88. package/auth-configuration/sso-configuration/template-parts/access-mapping/child-predicates.component.d.ts.map +1 -1
  89. package/auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.d.ts +1 -1
  90. package/auth-configuration/sso-configuration/template-parts/access-mapping/dynamic-access-mapping.component.d.ts.map +1 -1
  91. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.d.ts +1 -1
  92. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-mapping.component.d.ts.map +1 -1
  93. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.d.ts +1 -1
  94. package/auth-configuration/sso-configuration/template-parts/access-mapping/inventory-roles-modal.component.d.ts.map +1 -1
  95. package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts +1 -1
  96. package/auth-configuration/sso-configuration/template-parts/basic-configuration.component.d.ts.map +1 -1
  97. package/auth-configuration/sso-configuration/template-parts/external-token-config.component.d.ts +1 -1
  98. package/auth-configuration/sso-configuration/template-parts/external-token-config.component.d.ts.map +1 -1
  99. package/auth-configuration/sso-configuration/template-parts/logout-configuration.component.d.ts +1 -1
  100. package/auth-configuration/sso-configuration/template-parts/logout-configuration.component.d.ts.map +1 -1
  101. package/auth-configuration/sso-configuration/template-parts/request-configuration.component.d.ts +1 -1
  102. package/auth-configuration/sso-configuration/template-parts/request-configuration.component.d.ts.map +1 -1
  103. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts +1 -1
  104. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts.map +1 -1
  105. package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts +1 -1
  106. package/auth-configuration/sso-configuration/template-parts/user-data-mapping.component.d.ts.map +1 -1
  107. package/auth-configuration/sso-configuration/template-parts/user-id-configuration.component.d.ts +1 -1
  108. package/auth-configuration/sso-configuration/template-parts/user-id-configuration.component.d.ts.map +1 -1
  109. package/auth-configuration/sso-configuration/templates/aad-template.component.d.ts +1 -1
  110. package/auth-configuration/sso-configuration/templates/aad-template.component.d.ts.map +1 -1
  111. package/auth-configuration/sso-configuration/templates/custom-template.component.d.ts +1 -1
  112. package/auth-configuration/sso-configuration/templates/custom-template.component.d.ts.map +1 -1
  113. package/auth-configuration/sso-configuration/templates/key-cloak-template.component.d.ts +1 -1
  114. package/auth-configuration/sso-configuration/templates/key-cloak-template.component.d.ts.map +1 -1
  115. package/bookmarks/bookmarks.component.d.ts +1 -1
  116. package/bookmarks/bookmarks.component.d.ts.map +1 -1
  117. package/bookmarks/bookmarks.module.d.ts +7 -7
  118. package/bookmarks/bookmarks.module.d.ts.map +1 -1
  119. package/bookmarks/edit-bookmarks/edit-bookmarks.component.d.ts +1 -1
  120. package/bookmarks/edit-bookmarks/edit-bookmarks.component.d.ts.map +1 -1
  121. package/child-devices/child-devices.component.d.ts +1 -1
  122. package/child-devices/child-devices.component.d.ts.map +1 -1
  123. package/child-devices/child-devices.module.d.ts +5 -5
  124. package/child-devices/child-devices.module.d.ts.map +1 -1
  125. package/cockpit-config/cockpit-config.module.d.ts +17 -17
  126. package/cockpit-config/cockpit-config.module.d.ts.map +1 -1
  127. package/cockpit-config/cockpit-configuration.component.d.ts +1 -1
  128. package/cockpit-config/cockpit-configuration.component.d.ts.map +1 -1
  129. package/cockpit-config/feature-config.component.d.ts +1 -1
  130. package/cockpit-config/feature-config.component.d.ts.map +1 -1
  131. package/cockpit-config/home-dashboard-config.component.d.ts +1 -1
  132. package/cockpit-config/home-dashboard-config.component.d.ts.map +1 -1
  133. package/cockpit-config/misc-config.component.d.ts +1 -1
  134. package/cockpit-config/misc-config.component.d.ts.map +1 -1
  135. package/cockpit-config/root-node-config.component.d.ts +1 -1
  136. package/cockpit-config/root-node-config.component.d.ts.map +1 -1
  137. package/cockpit-config/setup/cockpit-setup-step1.component.d.ts +1 -1
  138. package/cockpit-config/setup/cockpit-setup-step1.component.d.ts.map +1 -1
  139. package/cockpit-config/setup/cockpit-setup-step2.component.d.ts +1 -1
  140. package/cockpit-config/setup/cockpit-setup-step2.component.d.ts.map +1 -1
  141. package/cockpit-config/setup/cockpit-setup-step3.component.d.ts +1 -1
  142. package/cockpit-config/setup/cockpit-setup-step3.component.d.ts.map +1 -1
  143. package/cockpit-config/setup/cockpit-setup-step4.component.d.ts +1 -1
  144. package/cockpit-config/setup/cockpit-setup-step4.component.d.ts.map +1 -1
  145. package/cockpit-config/setup/cockpit-setup-stepper-buttons.component.d.ts +1 -1
  146. package/cockpit-config/setup/cockpit-setup-stepper-buttons.component.d.ts.map +1 -1
  147. package/context-dashboard/add-dashboard.component.d.ts +1 -1
  148. package/context-dashboard/add-dashboard.component.d.ts.map +1 -1
  149. package/context-dashboard/context-dashboard.component.d.ts +2 -1
  150. package/context-dashboard/context-dashboard.component.d.ts.map +1 -1
  151. package/context-dashboard/context-dashboard.model.d.ts +0 -1
  152. package/context-dashboard/context-dashboard.model.d.ts.map +1 -1
  153. package/context-dashboard/context-dashboard.module.d.ts +26 -19
  154. package/context-dashboard/context-dashboard.module.d.ts.map +1 -1
  155. package/context-dashboard/context-dashboard.service.d.ts +6 -1
  156. package/context-dashboard/context-dashboard.service.d.ts.map +1 -1
  157. package/context-dashboard/dashboard-detail.component.d.ts +2 -2
  158. package/context-dashboard/dashboard-detail.component.d.ts.map +1 -1
  159. package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts +1 -1
  160. package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts.map +1 -1
  161. package/context-dashboard/device-info-dashboard/device-info-dashboard.module.d.ts +5 -5
  162. package/context-dashboard/device-info-dashboard/device-info-dashboard.module.d.ts.map +1 -1
  163. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.d.ts +1 -1
  164. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.d.ts.map +1 -1
  165. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.d.ts +5 -5
  166. package/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.module.d.ts.map +1 -1
  167. package/context-dashboard/paste-dashboard-action.component.d.ts +1 -1
  168. package/context-dashboard/paste-dashboard-action.component.d.ts.map +1 -1
  169. package/context-dashboard/widget-config.component.d.ts +1 -1
  170. package/context-dashboard/widget-config.component.d.ts.map +1 -1
  171. package/context-dashboard/widget-config.service.d.ts +1 -1
  172. package/core/alert/alert.service.d.ts +14 -5
  173. package/core/alert/alert.service.d.ts.map +1 -1
  174. package/core/bottom-drawer/bottom-drawer.component.d.ts +3 -0
  175. package/core/bottom-drawer/bottom-drawer.component.d.ts.map +1 -1
  176. package/core/breadcrumb/breadcrumb.module.d.ts +3 -3
  177. package/core/common/ApplicationOptions.d.ts +14 -12
  178. package/core/common/ApplicationOptions.d.ts.map +1 -1
  179. package/core/common/date.pipe.d.ts +1 -1
  180. package/core/common/forOf.directive.d.ts +16 -16
  181. package/core/common/forOf.directive.d.ts.map +1 -1
  182. package/core/common/humanize-app-name.pipe.d.ts +7 -0
  183. package/core/common/humanize-app-name.pipe.d.ts.map +1 -1
  184. package/core/common/humanize.pipe.d.ts +7 -0
  185. package/core/common/humanize.pipe.d.ts.map +1 -1
  186. package/core/common/icon.directive.d.ts +19 -0
  187. package/core/common/icon.directive.d.ts.map +1 -1
  188. package/core/common/markdown-to-html.pipe.d.ts +8 -0
  189. package/core/common/markdown-to-html.pipe.d.ts.map +1 -1
  190. package/core/common/options.service.d.ts +5 -5
  191. package/core/common/outlet.directive.d.ts +4 -6
  192. package/core/common/outlet.directive.d.ts.map +1 -1
  193. package/core/common/permissions.service.d.ts +12 -12
  194. package/core/common/service-registry.service.d.ts +2 -1
  195. package/core/common/service-registry.service.d.ts.map +1 -1
  196. package/core/common/user-name-initials.pipe.d.ts +7 -0
  197. package/core/common/user-name-initials.pipe.d.ts.map +1 -1
  198. package/core/common/user-preferences/user-preferences.service.d.ts +1 -1
  199. package/core/countdown-interval/countdown-interval.component.d.ts +7 -0
  200. package/core/countdown-interval/countdown-interval.component.d.ts.map +1 -1
  201. package/core/date-time-picker/date-time-picker.component.d.ts +20 -0
  202. package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
  203. package/core/device-status/device-status.component.d.ts +3 -0
  204. package/core/device-status/device-status.component.d.ts.map +1 -1
  205. package/core/header/header.model.d.ts +3 -2
  206. package/core/header/header.model.d.ts.map +1 -1
  207. package/core/header/title/title.component.d.ts +2 -0
  208. package/core/header/title/title.component.d.ts.map +1 -1
  209. package/core/i18n/c8y-translate.directive.d.ts +2 -2
  210. package/core/list-display-switch/list-display-switch.component.d.ts +9 -0
  211. package/core/list-display-switch/list-display-switch.component.d.ts.map +1 -1
  212. package/core/preview-feature/preview-feature.service.d.ts +1 -0
  213. package/core/preview-feature/preview-feature.service.d.ts.map +1 -1
  214. package/core/range-display/range-display.component.d.ts +11 -0
  215. package/core/range-display/range-display.component.d.ts.map +1 -1
  216. package/core/realtime/realtime.service.d.ts +4 -4
  217. package/dashboard-manager/dashboard-manager.module.d.ts +8 -8
  218. package/dashboard-manager/dashboard-manager.module.d.ts.map +1 -1
  219. package/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.d.ts +1 -1
  220. package/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.d.ts.map +1 -1
  221. package/dashboard-manager/type-dashboard-target-assets-modal/type-dashboard-target-assets-modal.component.d.ts +1 -1
  222. package/dashboard-manager/type-dashboard-target-assets-modal/type-dashboard-target-assets-modal.component.d.ts.map +1 -1
  223. package/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts +1 -1
  224. package/dashboard-manager/type-dashboards-list/type-dashboards-list.component.d.ts.map +1 -1
  225. package/datapoint-explorer/datapoint-explorer.module.d.ts.map +1 -1
  226. package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts +1 -1
  227. package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts.map +1 -1
  228. package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts +10 -1
  229. package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts.map +1 -1
  230. package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts +1 -1
  231. package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts.map +1 -1
  232. package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts +1 -1
  233. package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts.map +1 -1
  234. package/datapoint-selector/datapoint-selector.component.d.ts +1 -1
  235. package/datapoint-selector/datapoint-selector.component.d.ts.map +1 -1
  236. package/datapoint-selector/datapoint-selector.module.d.ts +18 -18
  237. package/datapoint-selector/datapoint-selector.module.d.ts.map +1 -1
  238. package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts +1 -1
  239. package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts.map +1 -1
  240. package/datapoint-selector/pipes/datapoint-label.pipe.d.ts +1 -1
  241. package/datapoint-selector/pipes/datapoint-label.pipe.d.ts.map +1 -1
  242. package/datapoint-selector/pipes/filter-datapoints.pipe.d.ts +1 -1
  243. package/datapoint-selector/pipes/filter-datapoints.pipe.d.ts.map +1 -1
  244. package/datapoint-selector/pipes/includes-datapoint.pipe.d.ts +1 -1
  245. package/datapoint-selector/pipes/includes-datapoint.pipe.d.ts.map +1 -1
  246. package/datapoints-export-selector/datapoints-export-selector.component.d.ts +7 -0
  247. package/datapoints-export-selector/datapoints-export-selector.component.d.ts.map +1 -1
  248. package/default-subscriptions/default-subscriptions.component.d.ts +1 -1
  249. package/default-subscriptions/default-subscriptions.component.d.ts.map +1 -1
  250. package/default-subscriptions/default-subscriptions.module.d.ts +4 -4
  251. package/default-subscriptions/default-subscriptions.module.d.ts.map +1 -1
  252. package/device-grid/columns/alarms.cell-renderer.component.d.ts +1 -1
  253. package/device-grid/columns/alarms.cell-renderer.component.d.ts.map +1 -1
  254. package/device-grid/columns/alarms.header-cell-renderer.component.d.ts +1 -1
  255. package/device-grid/columns/alarms.header-cell-renderer.component.d.ts.map +1 -1
  256. package/device-grid/columns/group.cell-renderer.component.d.ts +1 -1
  257. package/device-grid/columns/group.cell-renderer.component.d.ts.map +1 -1
  258. package/device-grid/columns/group.filtering-form-renderer.component.d.ts +1 -1
  259. package/device-grid/columns/group.filtering-form-renderer.component.d.ts.map +1 -1
  260. package/device-grid/columns/model.cell-renderer.component.d.ts +1 -1
  261. package/device-grid/columns/model.cell-renderer.component.d.ts.map +1 -1
  262. package/device-grid/columns/name.cell-renderer.component.d.ts +1 -1
  263. package/device-grid/columns/name.cell-renderer.component.d.ts.map +1 -1
  264. package/device-grid/columns/registration-date.cell-renderer.component.d.ts +1 -1
  265. package/device-grid/columns/registration-date.cell-renderer.component.d.ts.map +1 -1
  266. package/device-grid/columns/serial-number.cell-renderer.component.d.ts +1 -1
  267. package/device-grid/columns/serial-number.cell-renderer.component.d.ts.map +1 -1
  268. package/device-grid/columns/status.cell-renderer.component.d.ts +1 -1
  269. package/device-grid/columns/status.cell-renderer.component.d.ts.map +1 -1
  270. package/device-grid/device-grid.component.d.ts +1 -1
  271. package/device-grid/device-grid.component.d.ts.map +1 -1
  272. package/device-grid/device-grid.module.d.ts +15 -15
  273. package/device-grid/device-grid.module.d.ts.map +1 -1
  274. package/device-list/add-smart-group.component.d.ts +1 -1
  275. package/device-list/add-smart-group.component.d.ts.map +1 -1
  276. package/device-list/device-list.component.d.ts +1 -1
  277. package/device-list/device-list.component.d.ts.map +1 -1
  278. package/device-list/device-list.module.d.ts +8 -8
  279. package/device-list/device-list.module.d.ts.map +1 -1
  280. package/device-protocols/device-protocols.module.d.ts +1 -1
  281. package/device-protocols/device-type-detail.component.d.ts +1 -1
  282. package/device-protocols/device-type-detail.component.d.ts.map +1 -1
  283. package/device-protocols/device-type-detail.directive.d.ts +1 -1
  284. package/device-protocols/device-type-detail.directive.d.ts.map +1 -1
  285. package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts +7 -7
  286. package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts.map +1 -1
  287. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts +1 -1
  288. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -1
  289. package/echart/charts.component.d.ts.map +1 -1
  290. package/echart/models/datapoints-graph-widget.model.d.ts +1 -0
  291. package/echart/models/datapoints-graph-widget.model.d.ts.map +1 -1
  292. package/echart/services/chart-realtime.service.d.ts +8 -1
  293. package/echart/services/chart-realtime.service.d.ts.map +1 -1
  294. package/echart/services/echarts-options.service.d.ts +7 -0
  295. package/echart/services/echarts-options.service.d.ts.map +1 -1
  296. package/ecosystem/activity-log/activity-log.component.d.ts +1 -1
  297. package/ecosystem/activity-log/activity-log.component.d.ts.map +1 -1
  298. package/ecosystem/application-plugins/appState.pipe.d.ts +1 -1
  299. package/ecosystem/application-plugins/appState.pipe.d.ts.map +1 -1
  300. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts +1 -1
  301. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts.map +1 -1
  302. package/ecosystem/application-plugins/application-plugins.component.d.ts +1 -1
  303. package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
  304. package/ecosystem/application-plugins/application-plugins.module.d.ts +14 -14
  305. package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
  306. package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts +2 -2
  307. package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts.map +1 -1
  308. package/ecosystem/application-plugins/install-plugin.component.d.ts +1 -1
  309. package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
  310. package/ecosystem/application-plugins/label-cell-renderer.component.d.ts +1 -1
  311. package/ecosystem/application-plugins/label-cell-renderer.component.d.ts.map +1 -1
  312. package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts +1 -1
  313. package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts.map +1 -1
  314. package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts +1 -1
  315. package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts.map +1 -1
  316. package/ecosystem/application-plugins/plugin-list-item.component.d.ts +1 -1
  317. package/ecosystem/application-plugins/plugin-list-item.component.d.ts.map +1 -1
  318. package/ecosystem/application-plugins/plugin-list.component.d.ts +1 -1
  319. package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
  320. package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts +1 -1
  321. package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts.map +1 -1
  322. package/ecosystem/application-properties/application-properties.component.d.ts +1 -1
  323. package/ecosystem/application-properties/application-properties.component.d.ts.map +1 -1
  324. package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts +1 -1
  325. package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts.map +1 -1
  326. package/ecosystem/application-properties/update-application-modal/update-application-modal.component.d.ts +1 -1
  327. package/ecosystem/application-properties/update-application-modal/update-application-modal.component.d.ts.map +1 -1
  328. package/ecosystem/applications/add-external-applicaiton/add-external-application.component.d.ts +1 -1
  329. package/ecosystem/applications/add-external-applicaiton/add-external-application.component.d.ts.map +1 -1
  330. package/ecosystem/applications/add-web-application/add-web-application.component.d.ts +1 -1
  331. package/ecosystem/applications/add-web-application/add-web-application.component.d.ts.map +1 -1
  332. package/ecosystem/applications/application-list/application-list.component.d.ts +1 -1
  333. package/ecosystem/applications/application-list/application-list.component.d.ts.map +1 -1
  334. package/ecosystem/applications/install-from-package/install-from-package.component.d.ts +2 -3
  335. package/ecosystem/applications/install-from-package/install-from-package.component.d.ts.map +1 -1
  336. package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts +1 -1
  337. package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts.map +1 -1
  338. package/ecosystem/archived-confirm/archived-confirm.module.d.ts +4 -4
  339. package/ecosystem/archived-confirm/archived-confirm.module.d.ts.map +1 -1
  340. package/ecosystem/ecosystem.module.d.ts +34 -34
  341. package/ecosystem/ecosystem.module.d.ts.map +1 -1
  342. package/ecosystem/features/feature-list.component.d.ts +1 -1
  343. package/ecosystem/features/feature-list.component.d.ts.map +1 -1
  344. package/ecosystem/license-confirm/license-confirm-modal.component.d.ts +1 -1
  345. package/ecosystem/license-confirm/license-confirm-modal.component.d.ts.map +1 -1
  346. package/ecosystem/license-confirm/license-confirm.module.d.ts +5 -5
  347. package/ecosystem/license-confirm/license-confirm.module.d.ts.map +1 -1
  348. package/ecosystem/license-confirm/license-view.component.d.ts +1 -1
  349. package/ecosystem/license-confirm/license-view.component.d.ts.map +1 -1
  350. package/ecosystem/microservices/add-microservice.component.d.ts +1 -1
  351. package/ecosystem/microservices/add-microservice.component.d.ts.map +1 -1
  352. package/ecosystem/microservices/microservice-list.component.d.ts +1 -1
  353. package/ecosystem/microservices/microservice-list.component.d.ts.map +1 -1
  354. package/ecosystem/packages/add-package.component.d.ts +1 -1
  355. package/ecosystem/packages/add-package.component.d.ts.map +1 -1
  356. package/ecosystem/packages/deploy-application/deploy-application.component.d.ts +1 -1
  357. package/ecosystem/packages/deploy-application/deploy-application.component.d.ts.map +1 -1
  358. package/ecosystem/packages/package-details/package-details.component.d.ts +1 -1
  359. package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
  360. package/ecosystem/packages/package-list/packages-list.component.d.ts +1 -1
  361. package/ecosystem/packages/package-list/packages-list.component.d.ts.map +1 -1
  362. package/ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.d.ts +1 -1
  363. package/ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.d.ts.map +1 -1
  364. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts +1 -1
  365. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts.map +1 -1
  366. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts +1 -1
  367. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts.map +1 -1
  368. package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts +1 -1
  369. package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts.map +1 -1
  370. package/ecosystem/packages/package-versions/packages-versions.component.d.ts +1 -1
  371. package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
  372. package/ecosystem/shared/add-application.component.d.ts +1 -1
  373. package/ecosystem/shared/add-application.component.d.ts.map +1 -1
  374. package/ecosystem/shared/application-card.component.d.ts +1 -1
  375. package/ecosystem/shared/application-card.component.d.ts.map +1 -1
  376. package/ecosystem/shared/application-properties-form.component.d.ts +1 -1
  377. package/ecosystem/shared/application-properties-form.component.d.ts.map +1 -1
  378. package/ecosystem/shared/archived-filter/archived-filter.component.d.ts +1 -1
  379. package/ecosystem/shared/archived-filter/archived-filter.component.d.ts.map +1 -1
  380. package/ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.d.ts +1 -1
  381. package/ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.d.ts.map +1 -1
  382. package/ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.d.ts +2 -2
  383. package/ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.d.ts.map +1 -1
  384. package/ecosystem/shared/duplicate-application/duplicate-application.component.d.ts +1 -1
  385. package/ecosystem/shared/duplicate-application/duplicate-application.component.d.ts.map +1 -1
  386. package/ecosystem/shared/list-filters/list-filters.component.d.ts +1 -1
  387. package/ecosystem/shared/list-filters/list-filters.component.d.ts.map +1 -1
  388. package/ecosystem/shared/package-version-select/package-version-select.component.d.ts +1 -1
  389. package/ecosystem/shared/package-version-select/package-version-select.component.d.ts.map +1 -1
  390. package/ecosystem/shared/shared-ecosystem.module.d.ts +20 -20
  391. package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
  392. package/ecosystem/shared/translate-package-label.pipe.d.ts +1 -1
  393. package/ecosystem/shared/translate-package-label.pipe.d.ts.map +1 -1
  394. package/ecosystem/shared/upload-archive.component.d.ts +1 -1
  395. package/ecosystem/shared/upload-archive.component.d.ts.map +1 -1
  396. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +36 -12
  397. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs.map +1 -1
  398. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +195 -107
  399. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  400. package/fesm2022/c8y-ngx-components-alarms.mjs +236 -96
  401. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  402. package/fesm2022/c8y-ngx-components-api.mjs +8 -0
  403. package/fesm2022/c8y-ngx-components-api.mjs.map +1 -1
  404. package/fesm2022/c8y-ngx-components-app-logs.mjs +6 -8
  405. package/fesm2022/c8y-ngx-components-app-logs.mjs.map +1 -1
  406. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +74 -26
  407. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  408. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +578 -366
  409. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  410. package/fesm2022/c8y-ngx-components-bookmarks.mjs +36 -17
  411. package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
  412. package/fesm2022/c8y-ngx-components-child-devices.mjs +7 -9
  413. package/fesm2022/c8y-ngx-components-child-devices.mjs.map +1 -1
  414. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +138 -67
  415. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  416. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-B7m2lsIe.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs} +3 -3
  417. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-B7m2lsIe.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C-JLbcn5.mjs.map} +1 -1
  418. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BCG_pjJz.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs} +5 -5
  419. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-BCG_pjJz.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RXvOcs04.mjs.map} +1 -1
  420. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DjCdFkJw.mjs → c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs} +3 -3
  421. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-version-history.component-DjCdFkJw.mjs.map → c8y-ngx-components-context-dashboard-dashboard-version-history.component-DmPIJGXO.mjs.map} +1 -1
  422. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +170 -94
  423. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  424. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +44 -31
  425. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
  426. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs +4 -2
  427. package/fesm2022/c8y-ngx-components-datapoint-explorer.mjs.map +1 -1
  428. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +132 -66
  429. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  430. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  431. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +32 -16
  432. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs.map +1 -1
  433. package/fesm2022/c8y-ngx-components-device-grid.mjs +50 -45
  434. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  435. package/fesm2022/c8y-ngx-components-device-list.mjs +50 -25
  436. package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
  437. package/fesm2022/c8y-ngx-components-device-protocols.mjs +6 -9
  438. package/fesm2022/c8y-ngx-components-device-protocols.mjs.map +1 -1
  439. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +36 -8
  440. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  441. package/fesm2022/c8y-ngx-components-echart-models.mjs.map +1 -1
  442. package/fesm2022/c8y-ngx-components-echart.mjs +220 -7
  443. package/fesm2022/c8y-ngx-components-echart.mjs.map +1 -1
  444. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +155 -72
  445. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  446. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +13 -7
  447. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs.map +1 -1
  448. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +43 -12
  449. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
  450. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +179 -80
  451. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  452. package/fesm2022/c8y-ngx-components-ecosystem.mjs +353 -1316
  453. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  454. package/fesm2022/c8y-ngx-components-file-preview.mjs +17 -8
  455. package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
  456. package/fesm2022/c8y-ngx-components-files-repository.mjs +55 -22
  457. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  458. package/fesm2022/c8y-ngx-components-icon-selector.mjs +46 -28
  459. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  460. package/fesm2022/c8y-ngx-components-location.mjs +28 -15
  461. package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
  462. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +36 -12
  463. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs.map +1 -1
  464. package/fesm2022/c8y-ngx-components-map.mjs +260 -28
  465. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  466. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +24 -13
  467. package/fesm2022/c8y-ngx-components-platform-configuration.mjs.map +1 -1
  468. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +133 -26
  469. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  470. package/fesm2022/c8y-ngx-components-register-device.mjs +314 -249
  471. package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
  472. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +41 -17
  473. package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
  474. package/fesm2022/c8y-ngx-components-reports.mjs +61 -21
  475. package/fesm2022/c8y-ngx-components-reports.mjs.map +1 -1
  476. package/fesm2022/c8y-ngx-components-search.mjs +34 -21
  477. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  478. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +43 -19
  479. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs.map +1 -1
  480. package/fesm2022/c8y-ngx-components-sub-assets.mjs +207 -72
  481. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  482. package/fesm2022/c8y-ngx-components-tenants.mjs +96 -39
  483. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  484. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +173 -53
  485. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
  486. package/fesm2022/c8y-ngx-components-upgrade.mjs +19 -10
  487. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  488. package/fesm2022/c8y-ngx-components-user-roles.mjs +19 -14
  489. package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
  490. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +76 -50
  491. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  492. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +2 -2
  493. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  494. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +15 -8
  495. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs.map +1 -1
  496. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +2 -2
  497. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  498. package/fesm2022/c8y-ngx-components.mjs +166 -80
  499. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  500. package/file-preview/file-preview.component.d.ts +1 -1
  501. package/file-preview/file-preview.component.d.ts.map +1 -1
  502. package/file-preview/file-preview.module.d.ts +3 -3
  503. package/file-preview/file-preview.module.d.ts.map +1 -1
  504. package/files-repository/files-repository-upload.component.d.ts +1 -1
  505. package/files-repository/files-repository-upload.component.d.ts.map +1 -1
  506. package/files-repository/files-repository.component.d.ts +1 -1
  507. package/files-repository/files-repository.component.d.ts.map +1 -1
  508. package/files-repository/files-repository.module.d.ts +6 -6
  509. package/files-repository/files-repository.module.d.ts.map +1 -1
  510. package/icon-selector/icon-name.pipe.d.ts +1 -1
  511. package/icon-selector/icon-name.pipe.d.ts.map +1 -1
  512. package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts +1 -1
  513. package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts.map +1 -1
  514. package/icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.d.ts +1 -1
  515. package/icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.d.ts.map +1 -1
  516. package/icon-selector/icon-selector.component.d.ts +1 -1
  517. package/icon-selector/icon-selector.component.d.ts.map +1 -1
  518. package/icon-selector/icon-selector.module.d.ts +8 -8
  519. package/icon-selector/icon-selector.module.d.ts.map +1 -1
  520. package/locales/de.po +23 -2
  521. package/locales/es.po +23 -2
  522. package/locales/fr.po +23 -2
  523. package/locales/ja_JP.po +23 -2
  524. package/locales/ko.po +23 -2
  525. package/locales/locales.pot +22 -1
  526. package/locales/nl.po +23 -2
  527. package/locales/pl.po +23 -2
  528. package/locales/pt_BR.po +23 -2
  529. package/locales/zh_CN.po +23 -2
  530. package/locales/zh_TW.po +23 -2
  531. package/location/add-location.component.d.ts +1 -1
  532. package/location/add-location.component.d.ts.map +1 -1
  533. package/location/location.component.d.ts +1 -1
  534. package/location/location.component.d.ts.map +1 -1
  535. package/location/location.module.d.ts +6 -6
  536. package/location/location.module.d.ts.map +1 -1
  537. package/loriot-device-registration/loriot-device-registration-button.component.d.ts +1 -1
  538. package/loriot-device-registration/loriot-device-registration-button.component.d.ts.map +1 -1
  539. package/loriot-device-registration/loriot-device-registration.component.d.ts +1 -1
  540. package/loriot-device-registration/loriot-device-registration.component.d.ts.map +1 -1
  541. package/loriot-device-registration/loriot-device-registration.module.d.ts +4 -4
  542. package/loriot-device-registration/loriot-device-registration.module.d.ts.map +1 -1
  543. package/map/cluster-map.component.d.ts +61 -1
  544. package/map/cluster-map.component.d.ts.map +1 -1
  545. package/map/map-popup.directive.d.ts +1 -1
  546. package/map/map-popup.directive.d.ts.map +1 -1
  547. package/map/map-status.component.d.ts +86 -3
  548. package/map/map-status.component.d.ts.map +1 -1
  549. package/map/map.component.d.ts +100 -5
  550. package/map/map.component.d.ts.map +1 -1
  551. package/map/map.model.d.ts +98 -4
  552. package/map/map.model.d.ts.map +1 -1
  553. package/map/map.module.d.ts +9 -9
  554. package/map/map.module.d.ts.map +1 -1
  555. package/package.json +1 -1
  556. package/platform-configuration/platform-configuration-form.component.d.ts +1 -1
  557. package/platform-configuration/platform-configuration-form.component.d.ts.map +1 -1
  558. package/platform-configuration/platform-configuration.module.d.ts +4 -4
  559. package/platform-configuration/platform-configuration.module.d.ts.map +1 -1
  560. package/protocol-lpwan/lpwan-protocol.module.d.ts +4 -4
  561. package/protocol-lpwan/lpwan-protocol.module.d.ts.map +1 -1
  562. package/protocol-lpwan/lpwan-set-connections.component.d.ts +1 -1
  563. package/protocol-lpwan/lpwan-set-connections.component.d.ts.map +1 -1
  564. package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts +1 -1
  565. package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts.map +1 -1
  566. package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts +1 -1
  567. package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts.map +1 -1
  568. package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts +1 -1
  569. package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts.map +1 -1
  570. package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts +1 -1
  571. package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts.map +1 -1
  572. package/protocol-lpwan/multiple-lns-connectors/multiple-lns-connectors.module.d.ts +8 -8
  573. package/protocol-lpwan/multiple-lns-connectors/multiple-lns-connectors.module.d.ts.map +1 -1
  574. package/protocol-lpwan/multiple-lns-connectors/no-connections-found.component.d.ts +1 -1
  575. package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts +1 -1
  576. package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts.map +1 -1
  577. package/register-device/bulk/bulk-device-registration-button.component.d.ts +1 -1
  578. package/register-device/bulk/bulk-device-registration-button.component.d.ts.map +1 -1
  579. package/register-device/bulk/bulk-device-registration-modal.component.d.ts +1 -1
  580. package/register-device/bulk/bulk-device-registration-modal.component.d.ts.map +1 -1
  581. package/register-device/device-registration-view.component.d.ts +1 -1
  582. package/register-device/device-registration-view.component.d.ts.map +1 -1
  583. package/register-device/dropdown/register-device-dropdown.component.d.ts +1 -1
  584. package/register-device/dropdown/register-device-dropdown.component.d.ts.map +1 -1
  585. package/register-device/extensible/bulk/extensible-bulk-device-registration-button.component.d.ts +1 -1
  586. package/register-device/extensible/bulk/extensible-bulk-device-registration-button.component.d.ts.map +1 -1
  587. package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts +1 -1
  588. package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts.map +1 -1
  589. package/register-device/extensible/single/extensible-device-registration-button.component.d.ts +1 -1
  590. package/register-device/extensible/single/extensible-device-registration-button.component.d.ts.map +1 -1
  591. package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts +1 -1
  592. package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts.map +1 -1
  593. package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts +1 -1
  594. package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts.map +1 -1
  595. package/register-device/general/general-device-registration-button.component.d.ts +1 -1
  596. package/register-device/general/general-device-registration-button.component.d.ts.map +1 -1
  597. package/register-device/general/general-device-registration.component.d.ts +3 -6
  598. package/register-device/general/general-device-registration.component.d.ts.map +1 -1
  599. package/register-device/register-device.module.d.ts +16 -16
  600. package/register-device/register-device.module.d.ts.map +1 -1
  601. package/report-dashboard/report-dashboard-list.component.d.ts +1 -1
  602. package/report-dashboard/report-dashboard-list.component.d.ts.map +1 -1
  603. package/report-dashboard/report-dashboard.module.d.ts +7 -7
  604. package/reports/cron.component.d.ts +1 -1
  605. package/reports/cron.component.d.ts.map +1 -1
  606. package/reports/export-schedules.component.d.ts +2 -3
  607. package/reports/export-schedules.component.d.ts.map +1 -1
  608. package/reports/reports.module.d.ts +7 -7
  609. package/reports/reports.module.d.ts.map +1 -1
  610. package/reports/schedule-modal.component.d.ts +2 -3
  611. package/reports/schedule-modal.component.d.ts.map +1 -1
  612. package/search/search-action.component.d.ts +1 -1
  613. package/search/search-action.component.d.ts.map +1 -1
  614. package/search/search-custom-filters.component.d.ts +1 -1
  615. package/search/search-custom-filters.component.d.ts.map +1 -1
  616. package/search/search-grid.component.d.ts +1 -1
  617. package/search/search-grid.component.d.ts.map +1 -1
  618. package/search/search-results.component.d.ts +1 -1
  619. package/search/search-results.component.d.ts.map +1 -1
  620. package/search/search.module.d.ts +8 -8
  621. package/search/search.module.d.ts.map +1 -1
  622. package/sigfox-device-registration/sigfox-device-registration-button.component.d.ts +1 -1
  623. package/sigfox-device-registration/sigfox-device-registration-button.component.d.ts.map +1 -1
  624. package/sigfox-device-registration/sigfox-device-registration.component.d.ts +1 -1
  625. package/sigfox-device-registration/sigfox-device-registration.component.d.ts.map +1 -1
  626. package/sigfox-device-registration/sigfox-device-registration.module.d.ts +4 -4
  627. package/sigfox-device-registration/sigfox-device-registration.module.d.ts.map +1 -1
  628. package/sub-assets/add-group/add-group.component.d.ts +1 -1
  629. package/sub-assets/add-group/add-group.component.d.ts.map +1 -1
  630. package/sub-assets/add-group/add-group.module.d.ts +7 -7
  631. package/sub-assets/asset-properties-item.component.d.ts +1 -1
  632. package/sub-assets/asset-properties-item.component.d.ts.map +1 -1
  633. package/sub-assets/asset-properties.component.d.ts +1 -1
  634. package/sub-assets/asset-properties.component.d.ts.map +1 -1
  635. package/sub-assets/assign-devices/assign-child-devices.component.d.ts +2 -3
  636. package/sub-assets/assign-devices/assign-child-devices.component.d.ts.map +1 -1
  637. package/sub-assets/assign-devices/assign-devices.component.d.ts +1 -1
  638. package/sub-assets/assign-devices/assign-devices.component.d.ts.map +1 -1
  639. package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts +1 -1
  640. package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts.map +1 -1
  641. package/sub-assets/group-info.component.d.ts +1 -1
  642. package/sub-assets/group-info.component.d.ts.map +1 -1
  643. package/sub-assets/groups.component.d.ts +1 -1
  644. package/sub-assets/groups.component.d.ts.map +1 -1
  645. package/sub-assets/location/asset-location.component.d.ts +1 -1
  646. package/sub-assets/location/asset-location.component.d.ts.map +1 -1
  647. package/sub-assets/sub-assets-grid.component.d.ts +1 -1
  648. package/sub-assets/sub-assets-grid.component.d.ts.map +1 -1
  649. package/sub-assets/sub-assets-grids.module.d.ts +9 -9
  650. package/sub-assets/sub-assets-grids.module.d.ts.map +1 -1
  651. package/sub-assets/sub-assets.component.d.ts +1 -1
  652. package/sub-assets/sub-assets.component.d.ts.map +1 -1
  653. package/sub-assets/sub-assets.module.d.ts +18 -18
  654. package/sub-assets/sub-assets.module.d.ts.map +1 -1
  655. package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts +1 -1
  656. package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts.map +1 -1
  657. package/tenants/tenant-form/tenant-form.component.d.ts +1 -1
  658. package/tenants/tenant-form/tenant-form.component.d.ts.map +1 -1
  659. package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts +2 -3
  660. package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts.map +1 -1
  661. package/tenants/tenant-list/status.filtering-form-renderer.component.d.ts +1 -1
  662. package/tenants/tenant-list/status.filtering-form-renderer.component.d.ts.map +1 -1
  663. package/tenants/tenant-list/tenant-list.component.d.ts +1 -1
  664. package/tenants/tenant-list/tenant-list.component.d.ts.map +1 -1
  665. package/tenants/tenants.module.d.ts +9 -9
  666. package/tenants/tenants.module.d.ts.map +1 -1
  667. package/trusted-certificates/crl/crl-check-settings.component.d.ts +1 -1
  668. package/trusted-certificates/crl/crl-check-settings.component.d.ts.map +1 -1
  669. package/trusted-certificates/crl/crl-settings.component.d.ts +1 -1
  670. package/trusted-certificates/crl/crl-settings.component.d.ts.map +1 -1
  671. package/trusted-certificates/crl/crl-settings.module.d.ts +8 -8
  672. package/trusted-certificates/crl/crl-settings.module.d.ts.map +1 -1
  673. package/trusted-certificates/list/add-trusted-certificate.component.d.ts +4 -3
  674. package/trusted-certificates/list/add-trusted-certificate.component.d.ts.map +1 -1
  675. package/trusted-certificates/list/trusted-certificate-list.component.d.ts +11 -2
  676. package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
  677. package/trusted-certificates/list/trusted-certificate-list.module.d.ts +10 -10
  678. package/trusted-certificates/list/trusted-certificate-list.module.d.ts.map +1 -1
  679. package/trusted-certificates/list/trusted-certificate.model.d.ts +2 -0
  680. package/trusted-certificates/list/trusted-certificate.model.d.ts.map +1 -1
  681. package/trusted-certificates/pattern-messages.data.d.ts +6 -0
  682. package/trusted-certificates/pattern-messages.data.d.ts.map +1 -1
  683. package/upgrade/dashboard/dashboard-upgrade.module.d.ts +6 -6
  684. package/upgrade/dashboard/dashboard-upgrade.module.d.ts.map +1 -1
  685. package/upgrade/dashboard/device-selector.component.d.ts +1 -1
  686. package/upgrade/dashboard/device-selector.component.d.ts.map +1 -1
  687. package/upgrade/dashboard/widget.component.d.ts +1 -1
  688. package/upgrade/dashboard/widget.component.d.ts.map +1 -1
  689. package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts +1 -1
  690. package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts.map +1 -1
  691. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts +1 -1
  692. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts.map +1 -1
  693. package/user-roles/user-roles.module.d.ts +4 -4
  694. package/user-roles/user-roles.module.d.ts.map +1 -1
  695. package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts +1 -1
  696. package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts.map +1 -1
  697. package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts +1 -1
  698. package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts.map +1 -1
  699. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts +1 -1
  700. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
  701. package/widgets/implementations/alarms/alarms-widget.module.d.ts +13 -13
  702. package/widgets/implementations/alarms/alarms-widget.module.d.ts.map +1 -1
  703. package/widgets/implementations/alarms/severity-icon.pipe.d.ts +1 -1
  704. package/widgets/implementations/alarms/severity-icon.pipe.d.ts.map +1 -1
  705. package/widgets/implementations/alarms/sorting-description-popover-message.pipe.d.ts +1 -1
  706. package/widgets/implementations/alarms/sorting-description-popover-message.pipe.d.ts.map +1 -1
  707. package/widgets/implementations/device-management-welcome/device-management-welcome-widget.module.d.ts +4 -4
  708. package/widgets/implementations/device-management-welcome/device-management-welcome-widget.module.d.ts.map +1 -1
  709. package/widgets/implementations/device-management-welcome/welcome.component.d.ts +1 -1
  710. package/widgets/implementations/device-management-welcome/welcome.component.d.ts.map +1 -1
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Input, Inject, Component, EventEmitter, NgModule } from '@angular/core';
3
3
  import * as i3 from '@c8y/ngx-components';
4
- import { gettext, CoreModule, CommonModule } from '@c8y/ngx-components';
4
+ import { gettext, IconDirective, ModalComponent, LoadingComponent, C8yTranslatePipe, BytesPipe, CoreModule, CommonModule } from '@c8y/ngx-components';
5
5
  import * as i1 from 'ngx-bootstrap/modal';
6
6
  import * as i2 from '@angular/platform-browser';
7
7
  import { takeUntil, first } from 'rxjs/operators';
8
8
  import { Subject } from 'rxjs';
9
- import * as i4 from '@angular/common';
9
+ import { NgIf, NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';
10
10
 
11
11
  const PRODUCT_EXPERIENCE_FILE_PREVIEW = {
12
12
  EVENTS: {
@@ -129,11 +129,21 @@ class FilePreviewComponent {
129
129
  }
130
130
  }
131
131
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilePreviewComponent, deps: [{ token: DOWNLOAD_EMITTER }, { token: i1.BsModalRef }, { token: i1.BsModalService }, { token: i2.DomSanitizer }, { token: i3.FilesService }, { token: i3.AlertService }, { token: i3.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FilePreviewComponent, isStandalone: false, selector: "c8y-file-preview", inputs: { _mo: ["mo", "_mo"] }, ngImport: i0, template: "<div\n class=\"d-inline-block\"\n *ngIf=\"contentType !== 'unsupported'\"\n (click)=\"openModal(modalTemplate)\"\n>\n <div #customButtonRef>\n <ng-content select=\"[customButton]\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"!customButtonRef.children.length\">\n <button [title]=\"'Preview file' | translate\" type=\"button\" class=\"btn btn-default btn-icon\">\n <i c8yIcon=\"search\"></i>\n </button>\n </ng-container>\n</div>\n\n<ng-template #modalTemplate>\n <c8y-modal\n [title]=\"mo.name\"\n [customFooter]=\"false\"\n (onClose)=\"modalRef.hide()\"\n (onDismiss)=\"modalRef.hide()\"\n [labels]=\"{ cancel: '', ok: 'Close' | translate }\"\n class=\"text-break-word\"\n >\n <div class=\"text-center d-block\" *ngIf=\"!dataUrl\">\n <c8y-loading layout=\"application\" [progress]=\"progress.percentage\"></c8y-loading>\n {{\n BUFFERING_STATUS_TEXT\n | translate\n : {\n totalBytes: progress.totalBytes | bytes,\n bufferedBytes: progress.bufferedBytes | bytes,\n percentage: progress.percentage,\n speed: progress.bytesPerSecond | bytes\n }\n }}\n </div>\n\n <ng-container *ngIf=\"dataUrl\" [ngSwitch]=\"contentType\" id=\"modal-body\">\n <ng-container *ngSwitchCase=\"'image'\">\n <img class=\"fit-w\" alt=\"safeDataUrl\" [src]=\"safeDataUrl\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'video'\">\n <video controls autoplay class=\"fit-w\">\n <source [src]=\"safeDataUrl\" />\n {{ 'Your browser does not support the video tag.' | translate }}\n </video>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'text'\">\n <!-- @TODO: Implement text viewer-->\n text\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'json'\">\n <!-- @TODO: Implement json viewer-->\n json\n </ng-container>\n\n <ng-container *ngSwitchDefault></ng-container>\n </ng-container>\n </c8y-modal>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i3.ModalComponent, selector: "c8y-modal", inputs: ["disabled", "close", "dismiss", "title", "body", "customFooter", "headerClasses", "labels"], outputs: ["onDismiss", "onClose"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i3.BytesPipe, name: "bytes" }] }); }
132
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FilePreviewComponent, isStandalone: true, selector: "c8y-file-preview", inputs: { _mo: ["mo", "_mo"] }, ngImport: i0, template: "<div\n class=\"d-inline-block\"\n *ngIf=\"contentType !== 'unsupported'\"\n (click)=\"openModal(modalTemplate)\"\n>\n <div #customButtonRef>\n <ng-content select=\"[customButton]\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"!customButtonRef.children.length\">\n <button [title]=\"'Preview file' | translate\" type=\"button\" class=\"btn btn-default btn-icon\">\n <i c8yIcon=\"search\"></i>\n </button>\n </ng-container>\n</div>\n\n<ng-template #modalTemplate>\n <c8y-modal\n [title]=\"mo.name\"\n [customFooter]=\"false\"\n (onClose)=\"modalRef.hide()\"\n (onDismiss)=\"modalRef.hide()\"\n [labels]=\"{ cancel: '', ok: 'Close' | translate }\"\n class=\"text-break-word\"\n >\n <div class=\"text-center d-block\" *ngIf=\"!dataUrl\">\n <c8y-loading layout=\"application\" [progress]=\"progress.percentage\"></c8y-loading>\n {{\n BUFFERING_STATUS_TEXT\n | translate\n : {\n totalBytes: progress.totalBytes | bytes,\n bufferedBytes: progress.bufferedBytes | bytes,\n percentage: progress.percentage,\n speed: progress.bytesPerSecond | bytes\n }\n }}\n </div>\n\n <ng-container *ngIf=\"dataUrl\" [ngSwitch]=\"contentType\" id=\"modal-body\">\n <ng-container *ngSwitchCase=\"'image'\">\n <img class=\"fit-w\" alt=\"safeDataUrl\" [src]=\"safeDataUrl\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'video'\">\n <video controls autoplay class=\"fit-w\">\n <source [src]=\"safeDataUrl\" />\n {{ 'Your browser does not support the video tag.' | translate }}\n </video>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'text'\">\n <!-- @TODO: Implement text viewer-->\n text\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'json'\">\n <!-- @TODO: Implement json viewer-->\n json\n </ng-container>\n\n <ng-container *ngSwitchDefault></ng-container>\n </ng-container>\n </c8y-modal>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ModalComponent, selector: "c8y-modal", inputs: ["disabled", "close", "dismiss", "title", "body", "customFooter", "headerClasses", "labels"], outputs: ["onDismiss", "onClose"] }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: BytesPipe, name: "bytes" }] }); }
133
133
  }
134
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilePreviewComponent, decorators: [{
135
135
  type: Component,
136
- args: [{ selector: 'c8y-file-preview', standalone: false, template: "<div\n class=\"d-inline-block\"\n *ngIf=\"contentType !== 'unsupported'\"\n (click)=\"openModal(modalTemplate)\"\n>\n <div #customButtonRef>\n <ng-content select=\"[customButton]\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"!customButtonRef.children.length\">\n <button [title]=\"'Preview file' | translate\" type=\"button\" class=\"btn btn-default btn-icon\">\n <i c8yIcon=\"search\"></i>\n </button>\n </ng-container>\n</div>\n\n<ng-template #modalTemplate>\n <c8y-modal\n [title]=\"mo.name\"\n [customFooter]=\"false\"\n (onClose)=\"modalRef.hide()\"\n (onDismiss)=\"modalRef.hide()\"\n [labels]=\"{ cancel: '', ok: 'Close' | translate }\"\n class=\"text-break-word\"\n >\n <div class=\"text-center d-block\" *ngIf=\"!dataUrl\">\n <c8y-loading layout=\"application\" [progress]=\"progress.percentage\"></c8y-loading>\n {{\n BUFFERING_STATUS_TEXT\n | translate\n : {\n totalBytes: progress.totalBytes | bytes,\n bufferedBytes: progress.bufferedBytes | bytes,\n percentage: progress.percentage,\n speed: progress.bytesPerSecond | bytes\n }\n }}\n </div>\n\n <ng-container *ngIf=\"dataUrl\" [ngSwitch]=\"contentType\" id=\"modal-body\">\n <ng-container *ngSwitchCase=\"'image'\">\n <img class=\"fit-w\" alt=\"safeDataUrl\" [src]=\"safeDataUrl\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'video'\">\n <video controls autoplay class=\"fit-w\">\n <source [src]=\"safeDataUrl\" />\n {{ 'Your browser does not support the video tag.' | translate }}\n </video>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'text'\">\n <!-- @TODO: Implement text viewer-->\n text\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'json'\">\n <!-- @TODO: Implement json viewer-->\n json\n </ng-container>\n\n <ng-container *ngSwitchDefault></ng-container>\n </ng-container>\n </c8y-modal>\n</ng-template>\n" }]
136
+ args: [{ selector: 'c8y-file-preview', imports: [
137
+ NgIf,
138
+ IconDirective,
139
+ ModalComponent,
140
+ LoadingComponent,
141
+ NgSwitch,
142
+ NgSwitchCase,
143
+ NgSwitchDefault,
144
+ C8yTranslatePipe,
145
+ BytesPipe
146
+ ], template: "<div\n class=\"d-inline-block\"\n *ngIf=\"contentType !== 'unsupported'\"\n (click)=\"openModal(modalTemplate)\"\n>\n <div #customButtonRef>\n <ng-content select=\"[customButton]\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"!customButtonRef.children.length\">\n <button [title]=\"'Preview file' | translate\" type=\"button\" class=\"btn btn-default btn-icon\">\n <i c8yIcon=\"search\"></i>\n </button>\n </ng-container>\n</div>\n\n<ng-template #modalTemplate>\n <c8y-modal\n [title]=\"mo.name\"\n [customFooter]=\"false\"\n (onClose)=\"modalRef.hide()\"\n (onDismiss)=\"modalRef.hide()\"\n [labels]=\"{ cancel: '', ok: 'Close' | translate }\"\n class=\"text-break-word\"\n >\n <div class=\"text-center d-block\" *ngIf=\"!dataUrl\">\n <c8y-loading layout=\"application\" [progress]=\"progress.percentage\"></c8y-loading>\n {{\n BUFFERING_STATUS_TEXT\n | translate\n : {\n totalBytes: progress.totalBytes | bytes,\n bufferedBytes: progress.bufferedBytes | bytes,\n percentage: progress.percentage,\n speed: progress.bytesPerSecond | bytes\n }\n }}\n </div>\n\n <ng-container *ngIf=\"dataUrl\" [ngSwitch]=\"contentType\" id=\"modal-body\">\n <ng-container *ngSwitchCase=\"'image'\">\n <img class=\"fit-w\" alt=\"safeDataUrl\" [src]=\"safeDataUrl\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'video'\">\n <video controls autoplay class=\"fit-w\">\n <source [src]=\"safeDataUrl\" />\n {{ 'Your browser does not support the video tag.' | translate }}\n </video>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'text'\">\n <!-- @TODO: Implement text viewer-->\n text\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'json'\">\n <!-- @TODO: Implement json viewer-->\n json\n </ng-container>\n\n <ng-container *ngSwitchDefault></ng-container>\n </ng-container>\n </c8y-modal>\n</ng-template>\n" }]
137
147
  }], ctorParameters: () => [{ type: i0.EventEmitter, decorators: [{
138
148
  type: Inject,
139
149
  args: [DOWNLOAD_EMITTER]
@@ -145,19 +155,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
145
155
  const downloadEmitter = new EventEmitter();
146
156
  class FilePreviewModule {
147
157
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilePreviewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
148
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: FilePreviewModule, declarations: [FilePreviewComponent], imports: [CoreModule, CommonModule], exports: [FilePreviewComponent] }); }
158
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: FilePreviewModule, imports: [CoreModule, CommonModule, FilePreviewComponent], exports: [FilePreviewComponent] }); }
149
159
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilePreviewModule, providers: [
150
160
  {
151
161
  provide: DOWNLOAD_EMITTER,
152
162
  useValue: downloadEmitter
153
163
  }
154
- ], imports: [CoreModule, CommonModule] }); }
164
+ ], imports: [CoreModule, CommonModule, FilePreviewComponent] }); }
155
165
  }
156
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilePreviewModule, decorators: [{
157
167
  type: NgModule,
158
168
  args: [{
159
- declarations: [FilePreviewComponent],
160
- imports: [CoreModule, CommonModule],
169
+ imports: [CoreModule, CommonModule, FilePreviewComponent],
161
170
  exports: [FilePreviewComponent],
162
171
  providers: [
163
172
  {
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-file-preview.mjs","sources":["../../file-preview/file-preview-product-experience.constants.ts","../../file-preview/download-emitter.token.ts","../../file-preview/file-preview.component.ts","../../file-preview/file-preview.component.html","../../file-preview/file-preview.module.ts","../../file-preview/c8y-ngx-components-file-preview.ts"],"sourcesContent":["export const PRODUCT_EXPERIENCE_FILE_PREVIEW = {\n EVENTS: {\n FILE_PREVIEW: 'filePreview'\n },\n COMPONENTS: {\n FILE_PREVIEW_COMPONENT: 'file-preview'\n },\n ACTIONS: {\n OPEN_PREVIEW: 'openPreview'\n }\n} as const;\n","import { EventEmitter, InjectionToken } from '@angular/core';\n\n/**\n * Provides InjectionToken used in FilePreviewModule. This token is used to inject EventEmitter instance, that is\n * shared among all instances of FilePreviewComponent. These components communicate between each other using this\n * emitter, which enables them to clear downloaded files from memory, if other instance of FilePreviewComponent\n * started downloading different file. Value emitted by this EventEmitter is ID of downloaded file.\n */\nexport const DOWNLOAD_EMITTER = new InjectionToken<EventEmitter<string>>('downloadEmitter');\n","import { Component, EventEmitter, Inject, Input, OnDestroy, TemplateRef } from '@angular/core';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { IManagedObjectBinary } from '@c8y/client';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport { first, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport {\n AlertService,\n FilesService,\n gettext,\n IFetchWithProgress,\n GainsightService\n} from '@c8y/ngx-components';\nimport { PRODUCT_EXPERIENCE_FILE_PREVIEW } from './file-preview-product-experience.constants';\nimport { DOWNLOAD_EMITTER } from './download-emitter.token';\n\n/**\n * A component which shows a button that opens a modal with the preview of a binary managed object.\n * This component requires CSP 'blob:' rule for img-src and media-src to be set.\n *\n * ```html\n * <c8y-file-preview [mo]=\"managedObject\">\n * <button customButton>Preview</button>\n * </c8y-file-preview>\n * ```\n * If no custom button provided, the component will use the default search icon button instead.\n *\n */\n@Component({\n selector: 'c8y-file-preview',\n templateUrl: './file-preview.component.html',\n standalone: false\n})\nexport class FilePreviewComponent implements OnDestroy {\n @Input('mo')\n set _mo(mo: IManagedObjectBinary) {\n this.mo = mo;\n this.setContentType();\n }\n mo: IManagedObjectBinary;\n\n contentType: 'image' | 'video' | 'text' | 'json' | 'unsupported' = 'unsupported';\n progress: IFetchWithProgress;\n\n dataUrl: string;\n safeDataUrl: SafeUrl;\n BUFFERING_STATUS_TEXT = gettext(\n '{{speed}}/s - {{bufferedBytes}} of {{totalBytes}} buffered ({{percentage}}%)'\n );\n\n private destroy$: Subject<any> = new Subject();\n\n constructor(\n @Inject(DOWNLOAD_EMITTER) private downloadEmitter: EventEmitter<string>,\n public modalRef: BsModalRef,\n private modalService: BsModalService,\n private sanitizer: DomSanitizer,\n private filesService: FilesService,\n private alertService: AlertService,\n private gainsightService: GainsightService\n ) {\n downloadEmitter.pipe(takeUntil(this.destroy$)).subscribe(id => {\n if (this.dataUrl && this.mo.id !== id) {\n this.removeDownloadedFile();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.removeDownloadedFile();\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n async openModal(template: TemplateRef<any>) {\n this.modalRef = this.modalService.show(template, {\n ariaDescribedby: 'modal-body',\n ariaLabelledBy: 'modal-title',\n ignoreBackdropClick: true\n });\n\n this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE_FILE_PREVIEW.EVENTS.FILE_PREVIEW, {\n component: PRODUCT_EXPERIENCE_FILE_PREVIEW.COMPONENTS.FILE_PREVIEW_COMPONENT,\n action: PRODUCT_EXPERIENCE_FILE_PREVIEW.ACTIONS.OPEN_PREVIEW\n });\n\n if (this.dataUrl) {\n return;\n }\n\n this.downloadEmitter.emit(this.mo.id);\n\n const subscription = this.filesService\n .fetchFileWithProgress$(this.mo)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n progress => {\n this.progress = progress;\n if (this.progress.blob) {\n this.dataUrl = URL.createObjectURL(progress.blob);\n this.safeDataUrl = this.sanitizer.bypassSecurityTrustUrl(this.dataUrl);\n }\n },\n e => {\n this.modalRef.hide();\n this.alertService.addServerFailure(e);\n }\n );\n\n this.modalRef.onHide.pipe(first(), takeUntil(this.destroy$)).subscribe(() => {\n subscription.unsubscribe();\n });\n }\n\n private removeDownloadedFile(): void {\n URL.revokeObjectURL(this.dataUrl);\n delete this.dataUrl;\n delete this.safeDataUrl;\n }\n\n private setContentType(): void {\n if (!this.mo || !this.mo.hasOwnProperty('c8y_IsBinary')) {\n // eslint-disable-next-line no-console\n console.warn('Provided Managed object is not binary');\n this.contentType = 'unsupported';\n return;\n }\n\n if (this.mo.contentType.startsWith('image/')) {\n this.contentType = 'image';\n } else if (this.mo.contentType.startsWith('video/')) {\n this.contentType = 'video';\n } else if (this.mo.contentType.startsWith('text/')) {\n // @TODO: Implement in future\n this.contentType = 'unsupported';\n } else if (this.mo.contentType.startsWith('application/json')) {\n // @TODO: Implement in future\n this.contentType = 'unsupported';\n } else {\n this.contentType = 'unsupported';\n }\n }\n}\n","<div\n class=\"d-inline-block\"\n *ngIf=\"contentType !== 'unsupported'\"\n (click)=\"openModal(modalTemplate)\"\n>\n <div #customButtonRef>\n <ng-content select=\"[customButton]\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"!customButtonRef.children.length\">\n <button [title]=\"'Preview file' | translate\" type=\"button\" class=\"btn btn-default btn-icon\">\n <i c8yIcon=\"search\"></i>\n </button>\n </ng-container>\n</div>\n\n<ng-template #modalTemplate>\n <c8y-modal\n [title]=\"mo.name\"\n [customFooter]=\"false\"\n (onClose)=\"modalRef.hide()\"\n (onDismiss)=\"modalRef.hide()\"\n [labels]=\"{ cancel: '', ok: 'Close' | translate }\"\n class=\"text-break-word\"\n >\n <div class=\"text-center d-block\" *ngIf=\"!dataUrl\">\n <c8y-loading layout=\"application\" [progress]=\"progress.percentage\"></c8y-loading>\n {{\n BUFFERING_STATUS_TEXT\n | translate\n : {\n totalBytes: progress.totalBytes | bytes,\n bufferedBytes: progress.bufferedBytes | bytes,\n percentage: progress.percentage,\n speed: progress.bytesPerSecond | bytes\n }\n }}\n </div>\n\n <ng-container *ngIf=\"dataUrl\" [ngSwitch]=\"contentType\" id=\"modal-body\">\n <ng-container *ngSwitchCase=\"'image'\">\n <img class=\"fit-w\" alt=\"safeDataUrl\" [src]=\"safeDataUrl\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'video'\">\n <video controls autoplay class=\"fit-w\">\n <source [src]=\"safeDataUrl\" />\n {{ 'Your browser does not support the video tag.' | translate }}\n </video>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'text'\">\n <!-- @TODO: Implement text viewer-->\n text\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'json'\">\n <!-- @TODO: Implement json viewer-->\n json\n </ng-container>\n\n <ng-container *ngSwitchDefault></ng-container>\n </ng-container>\n </c8y-modal>\n</ng-template>\n","import { EventEmitter, NgModule } from '@angular/core';\nimport { CoreModule } from '@c8y/ngx-components';\nimport { FilePreviewComponent } from './file-preview.component';\nimport { CommonModule } from '@c8y/ngx-components';\nimport { DOWNLOAD_EMITTER } from './download-emitter.token';\n\nconst downloadEmitter = new EventEmitter<string>();\n\n@NgModule({\n declarations: [FilePreviewComponent],\n imports: [CoreModule, CommonModule],\n exports: [FilePreviewComponent],\n providers: [\n {\n provide: DOWNLOAD_EMITTER,\n useValue: downloadEmitter\n }\n ]\n})\nexport class FilePreviewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-file-preview.mjs","sources":["../../file-preview/file-preview-product-experience.constants.ts","../../file-preview/download-emitter.token.ts","../../file-preview/file-preview.component.ts","../../file-preview/file-preview.component.html","../../file-preview/file-preview.module.ts","../../file-preview/c8y-ngx-components-file-preview.ts"],"sourcesContent":["export const PRODUCT_EXPERIENCE_FILE_PREVIEW = {\n EVENTS: {\n FILE_PREVIEW: 'filePreview'\n },\n COMPONENTS: {\n FILE_PREVIEW_COMPONENT: 'file-preview'\n },\n ACTIONS: {\n OPEN_PREVIEW: 'openPreview'\n }\n} as const;\n","import { EventEmitter, InjectionToken } from '@angular/core';\n\n/**\n * Provides InjectionToken used in FilePreviewModule. This token is used to inject EventEmitter instance, that is\n * shared among all instances of FilePreviewComponent. These components communicate between each other using this\n * emitter, which enables them to clear downloaded files from memory, if other instance of FilePreviewComponent\n * started downloading different file. Value emitted by this EventEmitter is ID of downloaded file.\n */\nexport const DOWNLOAD_EMITTER = new InjectionToken<EventEmitter<string>>('downloadEmitter');\n","import { Component, EventEmitter, Inject, Input, OnDestroy, TemplateRef } from '@angular/core';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { IManagedObjectBinary } from '@c8y/client';\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\nimport { first, takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport {\n AlertService,\n FilesService,\n gettext,\n IFetchWithProgress,\n GainsightService,\n IconDirective,\n ModalComponent,\n LoadingComponent,\n C8yTranslatePipe,\n BytesPipe\n} from '@c8y/ngx-components';\nimport { PRODUCT_EXPERIENCE_FILE_PREVIEW } from './file-preview-product-experience.constants';\nimport { DOWNLOAD_EMITTER } from './download-emitter.token';\nimport { NgIf, NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';\n\n/**\n * A component which shows a button that opens a modal with the preview of a binary managed object.\n * This component requires CSP 'blob:' rule for img-src and media-src to be set.\n *\n * ```html\n * <c8y-file-preview [mo]=\"managedObject\">\n * <button customButton>Preview</button>\n * </c8y-file-preview>\n * ```\n * If no custom button provided, the component will use the default search icon button instead.\n *\n */\n@Component({\n selector: 'c8y-file-preview',\n templateUrl: './file-preview.component.html',\n imports: [\n NgIf,\n IconDirective,\n ModalComponent,\n LoadingComponent,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n C8yTranslatePipe,\n BytesPipe\n ]\n})\nexport class FilePreviewComponent implements OnDestroy {\n @Input('mo')\n set _mo(mo: IManagedObjectBinary) {\n this.mo = mo;\n this.setContentType();\n }\n mo: IManagedObjectBinary;\n\n contentType: 'image' | 'video' | 'text' | 'json' | 'unsupported' = 'unsupported';\n progress: IFetchWithProgress;\n\n dataUrl: string;\n safeDataUrl: SafeUrl;\n BUFFERING_STATUS_TEXT = gettext(\n '{{speed}}/s - {{bufferedBytes}} of {{totalBytes}} buffered ({{percentage}}%)'\n );\n\n private destroy$: Subject<any> = new Subject();\n\n constructor(\n @Inject(DOWNLOAD_EMITTER) private downloadEmitter: EventEmitter<string>,\n public modalRef: BsModalRef,\n private modalService: BsModalService,\n private sanitizer: DomSanitizer,\n private filesService: FilesService,\n private alertService: AlertService,\n private gainsightService: GainsightService\n ) {\n downloadEmitter.pipe(takeUntil(this.destroy$)).subscribe(id => {\n if (this.dataUrl && this.mo.id !== id) {\n this.removeDownloadedFile();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.removeDownloadedFile();\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n\n async openModal(template: TemplateRef<any>) {\n this.modalRef = this.modalService.show(template, {\n ariaDescribedby: 'modal-body',\n ariaLabelledBy: 'modal-title',\n ignoreBackdropClick: true\n });\n\n this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE_FILE_PREVIEW.EVENTS.FILE_PREVIEW, {\n component: PRODUCT_EXPERIENCE_FILE_PREVIEW.COMPONENTS.FILE_PREVIEW_COMPONENT,\n action: PRODUCT_EXPERIENCE_FILE_PREVIEW.ACTIONS.OPEN_PREVIEW\n });\n\n if (this.dataUrl) {\n return;\n }\n\n this.downloadEmitter.emit(this.mo.id);\n\n const subscription = this.filesService\n .fetchFileWithProgress$(this.mo)\n .pipe(takeUntil(this.destroy$))\n .subscribe(\n progress => {\n this.progress = progress;\n if (this.progress.blob) {\n this.dataUrl = URL.createObjectURL(progress.blob);\n this.safeDataUrl = this.sanitizer.bypassSecurityTrustUrl(this.dataUrl);\n }\n },\n e => {\n this.modalRef.hide();\n this.alertService.addServerFailure(e);\n }\n );\n\n this.modalRef.onHide.pipe(first(), takeUntil(this.destroy$)).subscribe(() => {\n subscription.unsubscribe();\n });\n }\n\n private removeDownloadedFile(): void {\n URL.revokeObjectURL(this.dataUrl);\n delete this.dataUrl;\n delete this.safeDataUrl;\n }\n\n private setContentType(): void {\n if (!this.mo || !this.mo.hasOwnProperty('c8y_IsBinary')) {\n // eslint-disable-next-line no-console\n console.warn('Provided Managed object is not binary');\n this.contentType = 'unsupported';\n return;\n }\n\n if (this.mo.contentType.startsWith('image/')) {\n this.contentType = 'image';\n } else if (this.mo.contentType.startsWith('video/')) {\n this.contentType = 'video';\n } else if (this.mo.contentType.startsWith('text/')) {\n // @TODO: Implement in future\n this.contentType = 'unsupported';\n } else if (this.mo.contentType.startsWith('application/json')) {\n // @TODO: Implement in future\n this.contentType = 'unsupported';\n } else {\n this.contentType = 'unsupported';\n }\n }\n}\n","<div\n class=\"d-inline-block\"\n *ngIf=\"contentType !== 'unsupported'\"\n (click)=\"openModal(modalTemplate)\"\n>\n <div #customButtonRef>\n <ng-content select=\"[customButton]\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"!customButtonRef.children.length\">\n <button [title]=\"'Preview file' | translate\" type=\"button\" class=\"btn btn-default btn-icon\">\n <i c8yIcon=\"search\"></i>\n </button>\n </ng-container>\n</div>\n\n<ng-template #modalTemplate>\n <c8y-modal\n [title]=\"mo.name\"\n [customFooter]=\"false\"\n (onClose)=\"modalRef.hide()\"\n (onDismiss)=\"modalRef.hide()\"\n [labels]=\"{ cancel: '', ok: 'Close' | translate }\"\n class=\"text-break-word\"\n >\n <div class=\"text-center d-block\" *ngIf=\"!dataUrl\">\n <c8y-loading layout=\"application\" [progress]=\"progress.percentage\"></c8y-loading>\n {{\n BUFFERING_STATUS_TEXT\n | translate\n : {\n totalBytes: progress.totalBytes | bytes,\n bufferedBytes: progress.bufferedBytes | bytes,\n percentage: progress.percentage,\n speed: progress.bytesPerSecond | bytes\n }\n }}\n </div>\n\n <ng-container *ngIf=\"dataUrl\" [ngSwitch]=\"contentType\" id=\"modal-body\">\n <ng-container *ngSwitchCase=\"'image'\">\n <img class=\"fit-w\" alt=\"safeDataUrl\" [src]=\"safeDataUrl\" />\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'video'\">\n <video controls autoplay class=\"fit-w\">\n <source [src]=\"safeDataUrl\" />\n {{ 'Your browser does not support the video tag.' | translate }}\n </video>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'text'\">\n <!-- @TODO: Implement text viewer-->\n text\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'json'\">\n <!-- @TODO: Implement json viewer-->\n json\n </ng-container>\n\n <ng-container *ngSwitchDefault></ng-container>\n </ng-container>\n </c8y-modal>\n</ng-template>\n","import { EventEmitter, NgModule } from '@angular/core';\nimport { CoreModule, CommonModule } from '@c8y/ngx-components';\nimport { FilePreviewComponent } from './file-preview.component';\nimport { DOWNLOAD_EMITTER } from './download-emitter.token';\n\nconst downloadEmitter = new EventEmitter<string>();\n\n@NgModule({\n imports: [CoreModule, CommonModule, FilePreviewComponent],\n exports: [FilePreviewComponent],\n providers: [\n {\n provide: DOWNLOAD_EMITTER,\n useValue: downloadEmitter\n }\n ]\n})\nexport class FilePreviewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,18 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, EventEmitter, Output, Component, ViewChild, NgModule } from '@angular/core';
3
3
  import { RouterModule } from '@angular/router';
4
- import * as i3 from '@c8y/ngx-components';
5
- import { Permissions, NavigatorNode, gettext, BuiltInActionType, Status, DataGridComponent, CoreModule, DropAreaModule, hookNavigator, hookRoute } from '@c8y/ngx-components';
6
- import * as i1 from '@c8y/client';
4
+ import * as i1 from '@c8y/ngx-components';
5
+ import { Permissions, NavigatorNode, gettext, IconDirective, C8yTranslateDirective, FilePickerFormControlComponent, C8yTranslatePipe, BuiltInActionType, Status, TitleComponent, BreadcrumbComponent, BreadcrumbItemComponent, ActionBarItemComponent, IfAllowedDirective, HelpComponent, DataGridComponent, EmptyStateContextDirective, EmptyStateComponent, ColumnDirective, CellRendererDefDirective, DatePipe, BytesPipe, CoreModule, DropAreaModule, hookNavigator, hookRoute } from '@c8y/ngx-components';
6
+ import * as i1$1 from '@c8y/client';
7
7
  import { QueriesUtil } from '@c8y/client';
8
8
  import * as i5 from '@ngx-translate/core';
9
9
  import * as i4 from 'ngx-bootstrap/modal';
10
10
  import { combineLatest, Subject } from 'rxjs';
11
11
  import { take, takeUntil } from 'rxjs/operators';
12
12
  import { has, transform } from 'lodash-es';
13
- import * as i6 from '@angular/common';
14
- import * as i7 from '@c8y/ngx-components/file-preview';
15
- import { FilePreviewModule } from '@c8y/ngx-components/file-preview';
13
+ import { NgIf } from '@angular/common';
14
+ import { FilePreviewComponent, FilePreviewModule } from '@c8y/ngx-components/file-preview';
16
15
 
17
16
  class FilesRepositoryGuard {
18
17
  constructor(permissions) {
@@ -31,7 +30,7 @@ class FilesRepositoryGuard {
31
30
  Permissions.ROLE_BINARY_READ
32
31
  ]));
33
32
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryGuard, deps: [{ token: i3.Permissions }], target: i0.ɵɵFactoryTarget.Injectable }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryGuard, deps: [{ token: i1.Permissions }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
34
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryGuard, providedIn: 'root' }); }
36
35
  }
37
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryGuard, decorators: [{
@@ -39,7 +38,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
39
38
  args: [{
40
39
  providedIn: 'root'
41
40
  }]
42
- }], ctorParameters: () => [{ type: i3.Permissions }] });
41
+ }], ctorParameters: () => [{ type: i1.Permissions }] });
43
42
 
44
43
  class FilesRepositoryNavigationFactory {
45
44
  constructor(filesRepositoryGuard) {
@@ -120,13 +119,13 @@ class FilesRepositoryUploadComponent {
120
119
  this.filesToUpload = event;
121
120
  }
122
121
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryUploadComponent, deps: [{ token: i3.AlertService }, { token: i3.GainsightService }, { token: i3.FilesService }], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FilesRepositoryUploadComponent, isStandalone: false, selector: "c8y-files-repository-upload", outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"c8y-viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i c8yIcon=\"upload\"></i>\n <h4\n id=\"modal-title\"\n translate\n >\n Upload files\n </h4>\n </div>\n <div class=\"modal-inner-scroll\">\n <div\n class=\"modal-body\"\n id=\"modal-body\"\n >\n <c8y-file-picker-form-control\n #filePicker\n [uploadInProgress]=\"isLoading\"\n (dropped)=\"onFileDroppedEvent($event)\"\n [uploadProgress]=\"uploadProgress\"\n ></c8y-file-picker-form-control>\n </div>\n </div>\n <div class=\"card-footer separator d-flex j-c-center\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"onClose.emit({ uploaded: false })\"\n [disabled]=\"isLoading\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary btn-form\"\n title=\"{{ 'Upload' | translate }}\"\n type=\"button\"\n (click)=\"upload()\"\n [disabled]=\"!filePicker.valid || isLoading\"\n translate\n data-cy=\"c8y-files-repository-upload--upload\"\n >\n Upload\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i3.FilePickerFormControlComponent, selector: "c8y-file-picker-form-control", inputs: ["accept", "maxAllowedFiles", "minRequiredFiles", "disableValidators", "uploadInProgress", "uploadProgress", "validateExtensionOnDrag"], outputs: ["dropped"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] }); }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryUploadComponent, deps: [{ token: i1.AlertService }, { token: i1.GainsightService }, { token: i1.FilesService }], target: i0.ɵɵFactoryTarget.Component }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FilesRepositoryUploadComponent, isStandalone: true, selector: "c8y-files-repository-upload", outputs: { onClose: "onClose" }, ngImport: i0, template: "<div class=\"c8y-viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i c8yIcon=\"upload\"></i>\n <h4\n id=\"modal-title\"\n translate\n >\n Upload files\n </h4>\n </div>\n <div class=\"modal-inner-scroll\">\n <div\n class=\"modal-body\"\n id=\"modal-body\"\n >\n <c8y-file-picker-form-control\n #filePicker\n [uploadInProgress]=\"isLoading\"\n (dropped)=\"onFileDroppedEvent($event)\"\n [uploadProgress]=\"uploadProgress\"\n ></c8y-file-picker-form-control>\n </div>\n </div>\n <div class=\"card-footer separator d-flex j-c-center\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"onClose.emit({ uploaded: false })\"\n [disabled]=\"isLoading\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary btn-form\"\n title=\"{{ 'Upload' | translate }}\"\n type=\"button\"\n (click)=\"upload()\"\n [disabled]=\"!filePicker.valid || isLoading\"\n translate\n data-cy=\"c8y-files-repository-upload--upload\"\n >\n Upload\n </button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: FilePickerFormControlComponent, selector: "c8y-file-picker-form-control", inputs: ["accept", "maxAllowedFiles", "minRequiredFiles", "disableValidators", "uploadInProgress", "uploadProgress", "validateExtensionOnDrag"], outputs: ["dropped"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
125
124
  }
126
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryUploadComponent, decorators: [{
127
126
  type: Component,
128
- args: [{ selector: 'c8y-files-repository-upload', standalone: false, template: "<div class=\"c8y-viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i c8yIcon=\"upload\"></i>\n <h4\n id=\"modal-title\"\n translate\n >\n Upload files\n </h4>\n </div>\n <div class=\"modal-inner-scroll\">\n <div\n class=\"modal-body\"\n id=\"modal-body\"\n >\n <c8y-file-picker-form-control\n #filePicker\n [uploadInProgress]=\"isLoading\"\n (dropped)=\"onFileDroppedEvent($event)\"\n [uploadProgress]=\"uploadProgress\"\n ></c8y-file-picker-form-control>\n </div>\n </div>\n <div class=\"card-footer separator d-flex j-c-center\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"onClose.emit({ uploaded: false })\"\n [disabled]=\"isLoading\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary btn-form\"\n title=\"{{ 'Upload' | translate }}\"\n type=\"button\"\n (click)=\"upload()\"\n [disabled]=\"!filePicker.valid || isLoading\"\n translate\n data-cy=\"c8y-files-repository-upload--upload\"\n >\n Upload\n </button>\n </div>\n</div>\n" }]
129
- }], ctorParameters: () => [{ type: i3.AlertService }, { type: i3.GainsightService }, { type: i3.FilesService }], propDecorators: { onClose: [{
127
+ args: [{ selector: 'c8y-files-repository-upload', imports: [IconDirective, C8yTranslateDirective, FilePickerFormControlComponent, C8yTranslatePipe], template: "<div class=\"c8y-viewport-modal\">\n <div class=\"modal-header dialog-header\">\n <i c8yIcon=\"upload\"></i>\n <h4\n id=\"modal-title\"\n translate\n >\n Upload files\n </h4>\n </div>\n <div class=\"modal-inner-scroll\">\n <div\n class=\"modal-body\"\n id=\"modal-body\"\n >\n <c8y-file-picker-form-control\n #filePicker\n [uploadInProgress]=\"isLoading\"\n (dropped)=\"onFileDroppedEvent($event)\"\n [uploadProgress]=\"uploadProgress\"\n ></c8y-file-picker-form-control>\n </div>\n </div>\n <div class=\"card-footer separator d-flex j-c-center\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"onClose.emit({ uploaded: false })\"\n [disabled]=\"isLoading\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary btn-form\"\n title=\"{{ 'Upload' | translate }}\"\n type=\"button\"\n (click)=\"upload()\"\n [disabled]=\"!filePicker.valid || isLoading\"\n translate\n data-cy=\"c8y-files-repository-upload--upload\"\n >\n Upload\n </button>\n </div>\n</div>\n" }]
128
+ }], ctorParameters: () => [{ type: i1.AlertService }, { type: i1.GainsightService }, { type: i1.FilesService }], propDecorators: { onClose: [{
130
129
  type: Output
131
130
  }] } });
132
131
 
@@ -262,7 +261,7 @@ class FilesRepositoryService {
262
261
  }
263
262
  return query;
264
263
  }
265
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryService, deps: [{ token: i1.InventoryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
264
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryService, deps: [{ token: i1$1.InventoryService }], target: i0.ɵɵFactoryTarget.Injectable }); }
266
265
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryService, providedIn: 'root' }); }
267
266
  }
268
267
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryService, decorators: [{
@@ -270,7 +269,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
270
269
  args: [{
271
270
  providedIn: 'root'
272
271
  }]
273
- }], ctorParameters: () => [{ type: i1.InventoryService }] });
272
+ }], ctorParameters: () => [{ type: i1$1.InventoryService }] });
274
273
 
275
274
  class FilesRepositoryComponent {
276
275
  constructor(filesRepositoryService, inventoryBinaryService, modalService, alertService, bsModalService, fileService, translateService) {
@@ -405,20 +404,43 @@ class FilesRepositoryComponent {
405
404
  const labels = { ok: gettext('Delete'), cancel: gettext('Cancel') };
406
405
  await this.modalService.confirm(title, body, status, labels);
407
406
  }
408
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryComponent, deps: [{ token: FilesRepositoryService }, { token: i1.InventoryBinaryService }, { token: i3.ModalService }, { token: i3.AlertService }, { token: i4.BsModalService }, { token: i3.FilesService }, { token: i5.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
409
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FilesRepositoryComponent, isStandalone: false, selector: "c8y-files-repository", viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-title>\n {{ title | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-management\"\n [label]=\"managementTitle | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"title | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Upload files' | translate }}\"\n *c8yIfAllowed=\"['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE']; allowAny: true\"\n (click)=\"openFileUploadComponent()\"\n data-cy=\"c8y-files-repository--open-file-upload-component\"\n >\n <i c8yIcon=\"upload\"></i>\n {{ 'Upload files' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/standard-tenant/managing-data/#file-repository\"></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [displayOptions]=\"displayOptions\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [infiniteScroll]=\"infiniteScroll\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [showSearch]=\"true\"\n [refresh]=\"refresh\"\n [bulkActionControls]=\"bulkActionControls\"\n >\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-archive'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <p *ngIf=\"stats?.size === 0\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Upload file' | translate }}\"\n type=\"button\"\n (click)=\"openFileUploadComponent()\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Upload file' | translate }}\n </button>\n </p>\n </c8y-ui-empty-state>\n\n <c8y-column name=\"name\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <div class=\"d-flex j-c-between a-i-center\">\n {{ context.value }}\n <c8y-file-preview\n class=\"m-l-auto\"\n [mo]=\"context.item\"\n >\n <button\n class=\"btn btn-emphasis btn-icon\"\n [title]=\"'Preview file' | translate\"\n type=\"button\"\n customButton\n >\n <i c8yIcon=\"search\"></i>\n </button>\n </c8y-file-preview>\n </div>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"length\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }} B\">\n {{ context.value | bytes }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"lastUpdated\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value | c8yDate }}\">\n {{ context.value | c8yDate }}\n </span>\n </ng-container>\n </c8y-column>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: i3.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i3.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i3.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i3.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i3.EmptyStateContextDirective, selector: "[emptyStateContext]" }, { kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.IfAllowedDirective, selector: "[c8yIfAllowed]", inputs: ["c8yIfAllowed", "c8yIfAllowedAllowAny"] }, { kind: "directive", type: i3.CellRendererDefDirective, selector: "[c8yCellRendererDef]" }, { kind: "directive", type: i3.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i3.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "component", type: i3.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i3.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "component", type: i7.FilePreviewComponent, selector: "c8y-file-preview", inputs: ["mo"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i3.DatePipe, name: "c8yDate" }, { kind: "pipe", type: i3.BytesPipe, name: "bytes" }] }); }
407
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryComponent, deps: [{ token: FilesRepositoryService }, { token: i1$1.InventoryBinaryService }, { token: i1.ModalService }, { token: i1.AlertService }, { token: i4.BsModalService }, { token: i1.FilesService }, { token: i5.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
408
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: FilesRepositoryComponent, isStandalone: true, selector: "c8y-files-repository", viewQueries: [{ propertyName: "dataGrid", first: true, predicate: DataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-title>\n {{ title | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-management\"\n [label]=\"managementTitle | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"title | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Upload files' | translate }}\"\n *c8yIfAllowed=\"['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE']; allowAny: true\"\n (click)=\"openFileUploadComponent()\"\n data-cy=\"c8y-files-repository--open-file-upload-component\"\n >\n <i c8yIcon=\"upload\"></i>\n {{ 'Upload files' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/standard-tenant/managing-data/#file-repository\"></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [displayOptions]=\"displayOptions\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [infiniteScroll]=\"infiniteScroll\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [showSearch]=\"true\"\n [refresh]=\"refresh\"\n [bulkActionControls]=\"bulkActionControls\"\n >\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-archive'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <p *ngIf=\"stats?.size === 0\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Upload file' | translate }}\"\n type=\"button\"\n (click)=\"openFileUploadComponent()\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Upload file' | translate }}\n </button>\n </p>\n </c8y-ui-empty-state>\n\n <c8y-column name=\"name\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <div class=\"d-flex j-c-between a-i-center\">\n {{ context.value }}\n <c8y-file-preview\n class=\"m-l-auto\"\n [mo]=\"context.item\"\n >\n <button\n class=\"btn btn-emphasis btn-icon\"\n [title]=\"'Preview file' | translate\"\n type=\"button\"\n customButton\n >\n <i c8yIcon=\"search\"></i>\n </button>\n </c8y-file-preview>\n </div>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"length\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }} B\">\n {{ context.value | bytes }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"lastUpdated\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value | c8yDate }}\">\n {{ context.value | c8yDate }}\n </span>\n </ng-container>\n </c8y-column>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "directive", type: IfAllowedDirective, selector: "[c8yIfAllowed]", inputs: ["c8yIfAllowed", "c8yIfAllowedAllowAny"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "component", type: DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "directive", type: EmptyStateContextDirective, selector: "[emptyStateContext]" }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "directive", type: CellRendererDefDirective, selector: "[c8yCellRendererDef]" }, { kind: "component", type: FilePreviewComponent, selector: "c8y-file-preview", inputs: ["mo"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "c8yDate" }, { kind: "pipe", type: BytesPipe, name: "bytes" }] }); }
410
409
  }
411
410
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryComponent, decorators: [{
412
411
  type: Component,
413
- args: [{ selector: 'c8y-files-repository', standalone: false, template: "<c8y-title>\n {{ title | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-management\"\n [label]=\"managementTitle | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"title | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Upload files' | translate }}\"\n *c8yIfAllowed=\"['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE']; allowAny: true\"\n (click)=\"openFileUploadComponent()\"\n data-cy=\"c8y-files-repository--open-file-upload-component\"\n >\n <i c8yIcon=\"upload\"></i>\n {{ 'Upload files' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/standard-tenant/managing-data/#file-repository\"></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [displayOptions]=\"displayOptions\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [infiniteScroll]=\"infiniteScroll\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [showSearch]=\"true\"\n [refresh]=\"refresh\"\n [bulkActionControls]=\"bulkActionControls\"\n >\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-archive'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <p *ngIf=\"stats?.size === 0\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Upload file' | translate }}\"\n type=\"button\"\n (click)=\"openFileUploadComponent()\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Upload file' | translate }}\n </button>\n </p>\n </c8y-ui-empty-state>\n\n <c8y-column name=\"name\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <div class=\"d-flex j-c-between a-i-center\">\n {{ context.value }}\n <c8y-file-preview\n class=\"m-l-auto\"\n [mo]=\"context.item\"\n >\n <button\n class=\"btn btn-emphasis btn-icon\"\n [title]=\"'Preview file' | translate\"\n type=\"button\"\n customButton\n >\n <i c8yIcon=\"search\"></i>\n </button>\n </c8y-file-preview>\n </div>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"length\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }} B\">\n {{ context.value | bytes }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"lastUpdated\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value | c8yDate }}\">\n {{ context.value | c8yDate }}\n </span>\n </ng-container>\n </c8y-column>\n </c8y-data-grid>\n</div>\n" }]
414
- }], ctorParameters: () => [{ type: FilesRepositoryService }, { type: i1.InventoryBinaryService }, { type: i3.ModalService }, { type: i3.AlertService }, { type: i4.BsModalService }, { type: i3.FilesService }, { type: i5.TranslateService }], propDecorators: { dataGrid: [{
412
+ args: [{ selector: 'c8y-files-repository', imports: [
413
+ TitleComponent,
414
+ BreadcrumbComponent,
415
+ BreadcrumbItemComponent,
416
+ ActionBarItemComponent,
417
+ IfAllowedDirective,
418
+ IconDirective,
419
+ HelpComponent,
420
+ DataGridComponent,
421
+ EmptyStateContextDirective,
422
+ EmptyStateComponent,
423
+ NgIf,
424
+ ColumnDirective,
425
+ CellRendererDefDirective,
426
+ FilePreviewComponent,
427
+ C8yTranslatePipe,
428
+ DatePipe,
429
+ BytesPipe
430
+ ], template: "<c8y-title>\n {{ title | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-management\"\n [label]=\"managementTitle | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item [label]=\"title | translate\"></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Upload files' | translate }}\"\n *c8yIfAllowed=\"['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE']; allowAny: true\"\n (click)=\"openFileUploadComponent()\"\n data-cy=\"c8y-files-repository--open-file-upload-component\"\n >\n <i c8yIcon=\"upload\"></i>\n {{ 'Upload files' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/standard-tenant/managing-data/#file-repository\"></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-data-grid\n [title]=\"title\"\n [loadMoreItemsLabel]=\"loadMoreItemsLabel\"\n [loadingItemsLabel]=\"loadingItemsLabel\"\n [displayOptions]=\"displayOptions\"\n [columns]=\"columns\"\n [pagination]=\"pagination\"\n [infiniteScroll]=\"infiniteScroll\"\n [serverSideDataCallback]=\"serverSideDataCallback\"\n [actionControls]=\"actionControls\"\n [selectable]=\"selectable\"\n [showSearch]=\"true\"\n [refresh]=\"refresh\"\n [bulkActionControls]=\"bulkActionControls\"\n >\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-archive'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <p *ngIf=\"stats?.size === 0\">\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Upload file' | translate }}\"\n type=\"button\"\n (click)=\"openFileUploadComponent()\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Upload file' | translate }}\n </button>\n </p>\n </c8y-ui-empty-state>\n\n <c8y-column name=\"name\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <div class=\"d-flex j-c-between a-i-center\">\n {{ context.value }}\n <c8y-file-preview\n class=\"m-l-auto\"\n [mo]=\"context.item\"\n >\n <button\n class=\"btn btn-emphasis btn-icon\"\n [title]=\"'Preview file' | translate\"\n type=\"button\"\n customButton\n >\n <i c8yIcon=\"search\"></i>\n </button>\n </c8y-file-preview>\n </div>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"length\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }} B\">\n {{ context.value | bytes }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"lastUpdated\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value | c8yDate }}\">\n {{ context.value | c8yDate }}\n </span>\n </ng-container>\n </c8y-column>\n </c8y-data-grid>\n</div>\n" }]
431
+ }], ctorParameters: () => [{ type: FilesRepositoryService }, { type: i1$1.InventoryBinaryService }, { type: i1.ModalService }, { type: i1.AlertService }, { type: i4.BsModalService }, { type: i1.FilesService }, { type: i5.TranslateService }], propDecorators: { dataGrid: [{
415
432
  type: ViewChild,
416
433
  args: [DataGridComponent, { static: true }]
417
434
  }] } });
418
435
 
419
436
  class FilesRepositoryModule {
420
437
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
421
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryModule, declarations: [FilesRepositoryComponent, FilesRepositoryUploadComponent], imports: [RouterModule, CoreModule, DropAreaModule, FilePreviewModule] }); }
438
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryModule, imports: [RouterModule,
439
+ CoreModule,
440
+ DropAreaModule,
441
+ FilePreviewModule,
442
+ FilesRepositoryComponent,
443
+ FilesRepositoryUploadComponent] }); }
422
444
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryModule, providers: [
423
445
  FilesRepositoryGuard,
424
446
  hookNavigator(FilesRepositoryNavigationFactory),
@@ -428,14 +450,25 @@ class FilesRepositoryModule {
428
450
  canActivate: [FilesRepositoryGuard]
429
451
  }, { multi: true }),
430
452
  FilesRepositoryService
431
- ], imports: [RouterModule, CoreModule, DropAreaModule, FilePreviewModule] }); }
453
+ ], imports: [RouterModule,
454
+ CoreModule,
455
+ DropAreaModule,
456
+ FilePreviewModule,
457
+ FilesRepositoryComponent,
458
+ FilesRepositoryUploadComponent] }); }
432
459
  }
433
460
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: FilesRepositoryModule, decorators: [{
434
461
  type: NgModule,
435
462
  args: [{
436
- imports: [RouterModule, CoreModule, DropAreaModule, FilePreviewModule],
463
+ imports: [
464
+ RouterModule,
465
+ CoreModule,
466
+ DropAreaModule,
467
+ FilePreviewModule,
468
+ FilesRepositoryComponent,
469
+ FilesRepositoryUploadComponent
470
+ ],
437
471
  exports: [],
438
- declarations: [FilesRepositoryComponent, FilesRepositoryUploadComponent],
439
472
  providers: [
440
473
  FilesRepositoryGuard,
441
474
  hookNavigator(FilesRepositoryNavigationFactory),