@c8y/ngx-components 1023.70.0 → 1023.75.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/asset-properties/index.d.ts +19 -1
  2. package/asset-properties/index.d.ts.map +1 -1
  3. package/cockpit-config/index.d.ts +4 -3
  4. package/cockpit-config/index.d.ts.map +1 -1
  5. package/context-dashboard/index.d.ts +202 -4
  6. package/context-dashboard/index.d.ts.map +1 -1
  7. package/datapoints-export-selector/index.d.ts +8 -1
  8. package/datapoints-export-selector/index.d.ts.map +1 -1
  9. package/device-profile/index.d.ts +8 -1
  10. package/device-profile/index.d.ts.map +1 -1
  11. package/events/cockpit/index.d.ts +6 -0
  12. package/events/cockpit/index.d.ts.map +1 -0
  13. package/events/devicemanagement/index.d.ts +6 -0
  14. package/events/devicemanagement/index.d.ts.map +1 -0
  15. package/events/events-timeline/index.d.ts +11 -10
  16. package/events/events-timeline/index.d.ts.map +1 -1
  17. package/events/index.d.ts +363 -5
  18. package/events/index.d.ts.map +1 -1
  19. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +1 -1
  20. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  21. package/fesm2022/c8y-ngx-components-alarms.mjs +1 -1
  22. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  23. package/fesm2022/c8y-ngx-components-asset-properties.mjs +2 -2
  24. package/fesm2022/c8y-ngx-components-asset-properties.mjs.map +1 -1
  25. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +1 -1
  26. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  27. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs +1 -1
  28. package/fesm2022/c8y-ngx-components-branding-shared-lazy-add-branding-modal.mjs.map +1 -1
  29. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +2 -2
  30. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
  31. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +8 -11
  32. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  33. package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-CPLDClTp.mjs → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-DX9Rgjgl.mjs} +2 -2
  34. package/fesm2022/{c8y-ngx-components-computed-asset-properties-alarm-count-config.component-CPLDClTp.mjs.map → c8y-ngx-components-computed-asset-properties-alarm-count-config.component-DX9Rgjgl.mjs.map} +1 -1
  35. package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-9be_iMQg.mjs → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CRpLJ5H7.mjs} +8 -8
  36. package/fesm2022/{c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-9be_iMQg.mjs.map → c8y-ngx-components-computed-asset-properties-c8y-ngx-components-computed-asset-properties-CRpLJ5H7.mjs.map} +1 -1
  37. package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-B2em01_W.mjs → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-2rDsrxcs.mjs} +2 -2
  38. package/fesm2022/{c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-B2em01_W.mjs.map → c8y-ngx-components-computed-asset-properties-configuration-snapshot-config.component-2rDsrxcs.mjs.map} +1 -1
  39. package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-CQuGa1RI.mjs → c8y-ngx-components-computed-asset-properties-event-count-config.component-BJNoqWZf.mjs} +2 -2
  40. package/fesm2022/{c8y-ngx-components-computed-asset-properties-event-count-config.component-CQuGa1RI.mjs.map → c8y-ngx-components-computed-asset-properties-event-count-config.component-BJNoqWZf.mjs.map} +1 -1
  41. package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-CkmurxJv.mjs → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-DYac6foX.mjs} +3 -3
  42. package/fesm2022/{c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-CkmurxJv.mjs.map → c8y-ngx-components-computed-asset-properties-fieldbus-item-status-config.component-DYac6foX.mjs.map} +1 -1
  43. package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-CTK9zNUh.mjs → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-3yTe6lIr.mjs} +3 -3
  44. package/fesm2022/{c8y-ngx-components-computed-asset-properties-last-measurement-config.component-CTK9zNUh.mjs.map → c8y-ngx-components-computed-asset-properties-last-measurement-config.component-3yTe6lIr.mjs.map} +1 -1
  45. package/fesm2022/c8y-ngx-components-computed-asset-properties.mjs +1 -1
  46. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-DsCDppJx.mjs → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C7yXSDYC.mjs} +3 -3
  47. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-DsCDppJx.mjs.map → c8y-ngx-components-context-dashboard-dashboard-appearance-settings.component-C7yXSDYC.mjs.map} +1 -1
  48. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RdLW5nde.mjs → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-w8N16Z3t.mjs} +4 -4
  49. package/fesm2022/{c8y-ngx-components-context-dashboard-dashboard-general-settings.component-RdLW5nde.mjs.map → c8y-ngx-components-context-dashboard-dashboard-general-settings.component-w8N16Z3t.mjs.map} +1 -1
  50. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +561 -21
  51. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  52. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs +2 -2
  53. package/fesm2022/c8y-ngx-components-datapoint-explorer-view.mjs.map +1 -1
  54. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs +1 -1
  55. package/fesm2022/c8y-ngx-components-datapoint-library-details.mjs.map +1 -1
  56. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +1 -1
  57. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  58. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs +41 -8
  59. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  60. package/fesm2022/c8y-ngx-components-device-profile.mjs +38 -12
  61. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  62. package/fesm2022/c8y-ngx-components-device-shell.mjs +1 -1
  63. package/fesm2022/c8y-ngx-components-device-shell.mjs.map +1 -1
  64. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +1 -1
  65. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
  66. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +1 -1
  67. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  68. package/fesm2022/c8y-ngx-components-ecosystem.mjs +1 -1
  69. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  70. package/fesm2022/c8y-ngx-components-events-cockpit.mjs +54 -0
  71. package/fesm2022/c8y-ngx-components-events-cockpit.mjs.map +1 -0
  72. package/fesm2022/c8y-ngx-components-events-devicemanagement.mjs +79 -0
  73. package/fesm2022/c8y-ngx-components-events-devicemanagement.mjs.map +1 -0
  74. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs +30 -20
  75. package/fesm2022/c8y-ngx-components-events-events-timeline.mjs.map +1 -1
  76. package/fesm2022/c8y-ngx-components-events.mjs +1080 -4
  77. package/fesm2022/c8y-ngx-components-events.mjs.map +1 -1
  78. package/fesm2022/c8y-ngx-components-file-preview.mjs +48 -41
  79. package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
  80. package/fesm2022/c8y-ngx-components-files-repository.mjs +1 -1
  81. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  82. package/fesm2022/c8y-ngx-components-global-context.mjs +68 -34
  83. package/fesm2022/c8y-ngx-components-global-context.mjs.map +1 -1
  84. package/fesm2022/c8y-ngx-components-interval-picker.mjs +3 -3
  85. package/fesm2022/c8y-ngx-components-interval-picker.mjs.map +1 -1
  86. package/fesm2022/c8y-ngx-components-location.mjs +1 -1
  87. package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
  88. package/fesm2022/c8y-ngx-components-operation-picker.mjs +1 -1
  89. package/fesm2022/c8y-ngx-components-operation-picker.mjs.map +1 -1
  90. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +1 -1
  91. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
  92. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs +5 -2
  93. package/fesm2022/c8y-ngx-components-operations-operations-timeline.mjs.map +1 -1
  94. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs +1 -1
  95. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs.map +1 -1
  96. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs +1 -1
  97. package/fesm2022/c8y-ngx-components-operations-stepper-bulk-type-software.mjs.map +1 -1
  98. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +5 -5
  99. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  100. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs +2 -2
  101. package/fesm2022/c8y-ngx-components-protocol-opcua.mjs.map +1 -1
  102. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs +1 -1
  103. package/fesm2022/c8y-ngx-components-remote-access-shared.mjs.map +1 -1
  104. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs +1 -1
  105. package/fesm2022/c8y-ngx-components-remote-access-ssh-remote-access-ssh-endpoint-modal.mjs.map +1 -1
  106. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs +1 -1
  107. package/fesm2022/c8y-ngx-components-remote-access-vnc-remote-access-vnc-endpoint-modal.mjs.map +1 -1
  108. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs +1 -1
  109. package/fesm2022/c8y-ngx-components-remote-access-vnc-vnc-viewer.mjs.map +1 -1
  110. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +1 -1
  111. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  112. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs +1 -1
  113. package/fesm2022/c8y-ngx-components-static-assets-modal.mjs.map +1 -1
  114. package/fesm2022/c8y-ngx-components-time-context.mjs +1 -1
  115. package/fesm2022/c8y-ngx-components-time-context.mjs.map +1 -1
  116. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +1 -1
  117. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
  118. package/fesm2022/c8y-ngx-components-widgets-definitions-event-list.mjs +39 -1
  119. package/fesm2022/c8y-ngx-components-widgets-definitions-event-list.mjs.map +1 -1
  120. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs +76 -4
  121. package/fesm2022/c8y-ngx-components-widgets-definitions-html-widget.mjs.map +1 -1
  122. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +1 -1
  123. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  124. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs +1 -1
  125. package/fesm2022/c8y-ngx-components-widgets-implementations-datapoints-graph.mjs.map +1 -1
  126. package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs +236 -0
  127. package/fesm2022/c8y-ngx-components-widgets-implementations-events.mjs.map +1 -0
  128. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs +271 -31
  129. package/fesm2022/c8y-ngx-components-widgets-implementations-html-widget.mjs.map +1 -1
  130. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs +1 -1
  131. package/fesm2022/c8y-ngx-components-widgets-implementations-image.mjs.map +1 -1
  132. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +1 -1
  133. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
  134. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs +1 -1
  135. package/fesm2022/c8y-ngx-components-widgets-implementations-kpi.mjs.map +1 -1
  136. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs +1 -1
  137. package/fesm2022/c8y-ngx-components-widgets-implementations-linear-gauge.mjs.map +1 -1
  138. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +1 -1
  139. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  140. package/fesm2022/c8y-ngx-components.mjs +257 -31
  141. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  142. package/file-preview/index.d.ts +7 -6
  143. package/file-preview/index.d.ts.map +1 -1
  144. package/global-context/index.d.ts +3 -0
  145. package/global-context/index.d.ts.map +1 -1
  146. package/index.d.ts +108 -12
  147. package/index.d.ts.map +1 -1
  148. package/locales/de.po +205 -38
  149. package/locales/es.po +204 -37
  150. package/locales/fr.po +204 -37
  151. package/locales/ja_JP.po +204 -38
  152. package/locales/ko.po +205 -38
  153. package/locales/locales.pot +117 -3
  154. package/locales/nl.po +205 -38
  155. package/locales/pl.po +205 -38
  156. package/locales/pt_BR.po +204 -37
  157. package/locales/zh_CN.po +205 -38
  158. package/locales/zh_TW.po +205 -38
  159. package/operations/operations-timeline/index.d.ts +3 -2
  160. package/operations/operations-timeline/index.d.ts.map +1 -1
  161. package/package.json +1 -1
  162. package/widgets/definitions/event-list/index.d.ts +44 -1
  163. package/widgets/definitions/event-list/index.d.ts.map +1 -1
  164. package/widgets/implementations/alarms/index.d.ts +2 -0
  165. package/widgets/implementations/alarms/index.d.ts.map +1 -1
  166. package/widgets/implementations/events/index.d.ts +89 -0
  167. package/widgets/implementations/events/index.d.ts.map +1 -0
  168. package/widgets/implementations/html-widget/index.d.ts +69 -9
  169. package/widgets/implementations/html-widget/index.d.ts.map +1 -1
@@ -0,0 +1,54 @@
1
+ import { hookNavigator, NavigatorNode, hookRoute, ViewContext } from '@c8y/ngx-components';
2
+ import { EVENTS_PATH } from '@c8y/ngx-components/events';
3
+ import { gettext } from '@c8y/ngx-components/gettext';
4
+
5
+ const eventDetailsChildren = [
6
+ {
7
+ path: ':id',
8
+ loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventDetailsComponent)
9
+ }
10
+ ];
11
+ const eventsCockpitProviders = [
12
+ hookNavigator(new NavigatorNode({
13
+ label: gettext('Events'),
14
+ icon: 'online1',
15
+ priority: 900,
16
+ path: `/${EVENTS_PATH}`,
17
+ featureId: 'events',
18
+ parent: '',
19
+ routerLinkExact: false
20
+ })),
21
+ hookRoute({
22
+ path: EVENTS_PATH,
23
+ loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),
24
+ data: { title: true },
25
+ children: eventDetailsChildren
26
+ }),
27
+ hookRoute({
28
+ context: ViewContext.Group,
29
+ path: EVENTS_PATH,
30
+ priority: 700,
31
+ icon: 'online1',
32
+ label: gettext('Events'),
33
+ loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),
34
+ featureId: 'events',
35
+ children: eventDetailsChildren
36
+ }),
37
+ hookRoute({
38
+ context: ViewContext.Device,
39
+ path: EVENTS_PATH,
40
+ priority: 700,
41
+ icon: 'online1',
42
+ label: gettext('Events'),
43
+ loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),
44
+ featureId: 'events',
45
+ children: eventDetailsChildren
46
+ })
47
+ ];
48
+
49
+ /**
50
+ * Generated bundle index. Do not edit.
51
+ */
52
+
53
+ export { eventsCockpitProviders };
54
+ //# sourceMappingURL=c8y-ngx-components-events-cockpit.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c8y-ngx-components-events-cockpit.mjs","sources":["../../events/cockpit/index.ts","../../events/cockpit/c8y-ngx-components-events-cockpit.ts"],"sourcesContent":["import { hookNavigator, hookRoute, NavigatorNode, ViewContext } from '@c8y/ngx-components';\nimport { EVENTS_PATH } from '@c8y/ngx-components/events';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\nconst eventDetailsChildren = [\n {\n path: ':id',\n loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventDetailsComponent)\n }\n];\n\nexport const eventsCockpitProviders = [\n hookNavigator(\n new NavigatorNode({\n label: gettext('Events'),\n icon: 'online1',\n priority: 900,\n path: `/${EVENTS_PATH}`,\n featureId: 'events',\n parent: '',\n routerLinkExact: false\n })\n ),\n hookRoute({\n path: EVENTS_PATH,\n loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),\n data: { title: true },\n children: eventDetailsChildren\n }),\n hookRoute({\n context: ViewContext.Group,\n path: EVENTS_PATH,\n priority: 700,\n icon: 'online1',\n label: gettext('Events'),\n loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),\n featureId: 'events',\n children: eventDetailsChildren\n }),\n hookRoute({\n context: ViewContext.Device,\n path: EVENTS_PATH,\n priority: 700,\n icon: 'online1',\n label: gettext('Events'),\n loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),\n featureId: 'events',\n children: eventDetailsChildren\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAIA,MAAM,oBAAoB,GAAG;AAC3B,IAAA;AACE,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,aAAa,EAAE,MAAM,OAAO,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,qBAAqB;AAC5F;CACF;AAEM,MAAM,sBAAsB,GAAG;IACpC,aAAa,CACX,IAAI,aAAa,CAAC;AAChB,QAAA,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;AACxB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE;AACvB,QAAA,SAAS,EAAE,QAAQ;AACnB,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,eAAe,EAAE;AAClB,KAAA,CAAC,CACH;AACD,IAAA,SAAS,CAAC;AACR,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,aAAa,EAAE,MAAM,OAAO,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC;AACtF,QAAA,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;AACrB,QAAA,QAAQ,EAAE;KACX,CAAC;AACF,IAAA,SAAS,CAAC;QACR,OAAO,EAAE,WAAW,CAAC,KAAK;AAC1B,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;AACxB,QAAA,aAAa,EAAE,MAAM,OAAO,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC;AACtF,QAAA,SAAS,EAAE,QAAQ;AACnB,QAAA,QAAQ,EAAE;KACX,CAAC;AACF,IAAA,SAAS,CAAC;QACR,OAAO,EAAE,WAAW,CAAC,MAAM;AAC3B,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,QAAQ,EAAE,GAAG;AACb,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC;AACxB,QAAA,aAAa,EAAE,MAAM,OAAO,4BAA4B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC;AACtF,QAAA,SAAS,EAAE,QAAQ;AACnB,QAAA,QAAQ,EAAE;KACX;;;AChDH;;AAEG;;;;"}
@@ -0,0 +1,79 @@
1
+ import { hookNavigator, NavigatorNode, hookRoute, ViewContext } from '@c8y/ngx-components';
2
+ import { EVENTS_PATH } from '@c8y/ngx-components/events';
3
+ import { gettext } from '@c8y/ngx-components/gettext';
4
+
5
+ const eventDetailsChildren = [
6
+ {
7
+ path: ':id',
8
+ loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventDetailsComponent)
9
+ }
10
+ ];
11
+ const eventsDeviceManagementProviders = [
12
+ hookNavigator(new NavigatorNode({
13
+ label: gettext('Overviews'),
14
+ icon: 'c8y-overviews',
15
+ priority: 2500
16
+ })),
17
+ hookNavigator(new NavigatorNode({
18
+ label: gettext('Events'),
19
+ icon: 'online1',
20
+ priority: 1300,
21
+ path: `/${EVENTS_PATH}`,
22
+ featureId: 'events',
23
+ parent: gettext('Overviews'),
24
+ routerLinkExact: false
25
+ })),
26
+ hookRoute({
27
+ path: EVENTS_PATH,
28
+ loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),
29
+ data: { title: true },
30
+ children: eventDetailsChildren
31
+ }),
32
+ hookRoute({
33
+ context: ViewContext.Group,
34
+ path: EVENTS_PATH,
35
+ priority: 700,
36
+ icon: 'online1',
37
+ label: gettext('Events'),
38
+ loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),
39
+ featureId: 'events',
40
+ children: eventDetailsChildren
41
+ }),
42
+ hookRoute({
43
+ context: ViewContext.Device,
44
+ path: EVENTS_PATH,
45
+ priority: 700,
46
+ icon: 'online1',
47
+ label: gettext('Events'),
48
+ loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),
49
+ featureId: 'events',
50
+ children: eventDetailsChildren
51
+ }),
52
+ hookRoute({
53
+ context: ViewContext.Service,
54
+ path: EVENTS_PATH,
55
+ priority: 700,
56
+ icon: 'online1',
57
+ label: gettext('Events'),
58
+ loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),
59
+ featureId: 'events',
60
+ children: eventDetailsChildren
61
+ }),
62
+ hookRoute({
63
+ context: ViewContext.Simulators,
64
+ path: EVENTS_PATH,
65
+ priority: -2,
66
+ icon: 'online1',
67
+ label: gettext('Events'),
68
+ loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),
69
+ featureId: 'events',
70
+ children: eventDetailsChildren
71
+ })
72
+ ];
73
+
74
+ /**
75
+ * Generated bundle index. Do not edit.
76
+ */
77
+
78
+ export { eventsDeviceManagementProviders };
79
+ //# sourceMappingURL=c8y-ngx-components-events-devicemanagement.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c8y-ngx-components-events-devicemanagement.mjs","sources":["../../events/devicemanagement/index.ts","../../events/devicemanagement/c8y-ngx-components-events-devicemanagement.ts"],"sourcesContent":["import { hookNavigator, hookRoute, NavigatorNode, ViewContext } from '@c8y/ngx-components';\nimport { EVENTS_PATH } from '@c8y/ngx-components/events';\nimport { gettext } from '@c8y/ngx-components/gettext';\n\nconst eventDetailsChildren = [\n {\n path: ':id',\n loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventDetailsComponent)\n }\n];\n\nexport const eventsDeviceManagementProviders = [\n hookNavigator(\n new NavigatorNode({\n label: gettext('Overviews'),\n icon: 'c8y-overviews',\n priority: 2500\n })\n ),\n hookNavigator(\n new NavigatorNode({\n label: gettext('Events'),\n icon: 'online1',\n priority: 1300,\n path: `/${EVENTS_PATH}`,\n featureId: 'events',\n parent: gettext('Overviews'),\n routerLinkExact: false\n })\n ),\n hookRoute({\n path: EVENTS_PATH,\n loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),\n data: { title: true },\n children: eventDetailsChildren\n }),\n hookRoute({\n context: ViewContext.Group,\n path: EVENTS_PATH,\n priority: 700,\n icon: 'online1',\n label: gettext('Events'),\n loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),\n featureId: 'events',\n children: eventDetailsChildren\n }),\n hookRoute({\n context: ViewContext.Device,\n path: EVENTS_PATH,\n priority: 700,\n icon: 'online1',\n label: gettext('Events'),\n loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),\n featureId: 'events',\n children: eventDetailsChildren\n }),\n hookRoute({\n context: ViewContext.Service,\n path: EVENTS_PATH,\n priority: 700,\n icon: 'online1',\n label: gettext('Events'),\n loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),\n featureId: 'events',\n children: eventDetailsChildren\n }),\n hookRoute({\n context: ViewContext.Simulators,\n path: EVENTS_PATH,\n priority: -2,\n icon: 'online1',\n label: gettext('Events'),\n loadComponent: () => import('@c8y/ngx-components/events').then(m => m.EventsComponent),\n featureId: 'events',\n children: eventDetailsChildren\n })\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
- import * as i3 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
1
+ import { NgTemplateOutlet, JsonPipe, KeyValuePipe } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
- import { input, Input, Component } from '@angular/core';
3
+ import { input, ChangeDetectionStrategy, Component } from '@angular/core';
5
4
  import * as i1 from '@c8y/ngx-components';
6
- import { CoreModule, EventRealtimeService } from '@c8y/ngx-components';
5
+ import { EmptyStateComponent, ForOfDirective, IconDirective, ListGroupComponent, ListItemBodyComponent, ListItemCollapseComponent, ListItemComponent, ListItemIconComponent, ListItemTimelineComponent, C8yTranslatePipe, DatePipe, HumanizePipe, EventRealtimeService } from '@c8y/ngx-components';
7
6
  import * as i2 from '@c8y/ngx-components/events';
8
7
  import { CollapseModule } from 'ngx-bootstrap/collapse';
9
8
  import { TooltipModule } from 'ngx-bootstrap/tooltip';
@@ -14,28 +13,39 @@ class EventsTimelineComponent {
14
13
  constructor(realtime, eventsService) {
15
14
  this.realtime = realtime;
16
15
  this.eventsService = eventsService;
16
+ this.events = input(...(ngDevMode ? [undefined, { debugName: "events" }] : []));
17
17
  this.sourceId = input.required(...(ngDevMode ? [{ debugName: "sourceId" }] : []));
18
- this.filterPipe = pipe(tap());
19
- this.footerTemplates = [];
20
- this.propertiesToHide = [];
18
+ this.filterPipe = input(pipe(tap()), ...(ngDevMode ? [{ debugName: "filterPipe" }] : []));
19
+ this.bodyTemplate = input(...(ngDevMode ? [undefined, { debugName: "bodyTemplate" }] : []));
20
+ this.footerTemplates = input([], ...(ngDevMode ? [{ debugName: "footerTemplates" }] : []));
21
+ this.propertiesToHide = input([], ...(ngDevMode ? [{ debugName: "propertiesToHide" }] : []));
22
+ this.loadMoreMode = input('auto', ...(ngDevMode ? [{ debugName: "loadMoreMode" }] : []));
21
23
  }
22
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EventsTimelineComponent, deps: [{ token: i1.EventRealtimeService }, { token: i2.EventsService }], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: EventsTimelineComponent, isStandalone: true, selector: "c8y-events-timeline", inputs: { events: { classPropertyName: "events", publicName: "events", isSignal: false, isRequired: false, transformFunction: null }, sourceId: { classPropertyName: "sourceId", publicName: "sourceId", isSignal: true, isRequired: true, transformFunction: null }, filterPipe: { classPropertyName: "filterPipe", publicName: "filterPipe", isSignal: false, isRequired: false, transformFunction: null }, bodyTemplate: { classPropertyName: "bodyTemplate", publicName: "bodyTemplate", isSignal: false, isRequired: false, transformFunction: null }, footerTemplates: { classPropertyName: "footerTemplates", publicName: "footerTemplates", isSignal: false, isRequired: false, transformFunction: null }, propertiesToHide: { classPropertyName: "propertiesToHide", publicName: "propertiesToHide", isSignal: false, isRequired: false, transformFunction: null } }, providers: [EventRealtimeService], ngImport: i0, template: "@if (!events?.data || !events?.data?.length) {\n <c8y-ui-empty-state\n [icon]=\"'online'\"\n [title]=\"'No recent events found.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n}\n\n<c8y-list-group>\n <c8y-li-timeline\n *c8yFor=\"\n let event of events;\n pipe: filterPipe;\n realtime: realtime;\n realtimeOptions: { entityOrId: sourceId() }\n \"\n >\n {{ event.creationTime | date: 'medium' }}\n\n <c8y-li>\n <c8y-li-icon>\n <i [c8yIcon]=\"'online'\"></i>\n </c8y-li-icon>\n\n <c8y-li-body>\n <div class=\"d-flex text-break-word\">\n <div data-cy=\"c8y-events-timeline--body-template\">\n @if (bodyTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: event }\"\n ></ng-container>\n } @else {\n <small>{{ event.text }}</small>\n }\n </div>\n </div>\n </c8y-li-body>\n\n <c8y-li-collapse #collapseEl>\n <div\n class=\"legend form-block\"\n translate\n >\n Details\n </div>\n\n <ul class=\"list-unstyled small\">\n @for (prop of eventsService.getStandardKeys(event) | keyvalue; track prop.key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ prop.value | translate }}\n </label>\n <span class=\"m-l-auto text-break-word\">\n {{ event[prop.key] | translate }}\n </span>\n </li>\n }\n\n @for (key of eventsService.getNonStandardKeys(event, propertiesToHide); track key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ key | humanize | translate }}\n </label>\n <span class=\"m-l-auto text-code\">\n {{ event[key] | json }}\n </span>\n </li>\n }\n </ul>\n\n @for (footer of footerTemplates; track footer) {\n <ng-container\n [ngTemplateOutlet]=\"footer\"\n [ngTemplateOutletContext]=\"{ $implicit: event }\"\n ></ng-container>\n }\n </c8y-li-collapse>\n </c8y-li>\n </c8y-li-timeline>\n</c8y-list-group>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: i1.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i1.ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "component", type: i1.ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: i1.ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: i1.ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: i1.ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: i1.ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: i1.ListItemTimelineComponent, selector: "c8y-list-item-timeline, c8y-li-timeline" }, { kind: "ngmodule", type: CollapseModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "pipe", type: i3.JsonPipe, name: "json" }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i1.HumanizePipe, name: "humanize" }] }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: EventsTimelineComponent, isStandalone: true, selector: "c8y-events-timeline", inputs: { events: { classPropertyName: "events", publicName: "events", isSignal: true, isRequired: false, transformFunction: null }, sourceId: { classPropertyName: "sourceId", publicName: "sourceId", isSignal: true, isRequired: true, transformFunction: null }, filterPipe: { classPropertyName: "filterPipe", publicName: "filterPipe", isSignal: true, isRequired: false, transformFunction: null }, bodyTemplate: { classPropertyName: "bodyTemplate", publicName: "bodyTemplate", isSignal: true, isRequired: false, transformFunction: null }, footerTemplates: { classPropertyName: "footerTemplates", publicName: "footerTemplates", isSignal: true, isRequired: false, transformFunction: null }, propertiesToHide: { classPropertyName: "propertiesToHide", publicName: "propertiesToHide", isSignal: true, isRequired: false, transformFunction: null }, loadMoreMode: { classPropertyName: "loadMoreMode", publicName: "loadMoreMode", isSignal: true, isRequired: false, transformFunction: null } }, providers: [EventRealtimeService], ngImport: i0, template: "@if (!events()?.data || !events()?.data?.length) {\n <c8y-ui-empty-state\n [icon]=\"'online'\"\n [title]=\"'No recent events found.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n}\n\n<c8y-list-group>\n <c8y-li-timeline\n *c8yFor=\"\n let event of events();\n pipe: filterPipe();\n realtime: realtime;\n realtimeOptions: { entityOrId: sourceId() };\n loadMore: loadMoreMode()\n \"\n >\n {{ event.creationTime | c8yDate: 'medium' }}\n\n <c8y-li>\n <c8y-li-icon>\n <i [c8yIcon]=\"'online'\"></i>\n </c8y-li-icon>\n\n <c8y-li-body>\n <div class=\"d-flex text-break-word\">\n <div data-cy=\"c8y-events-timeline--body-template\">\n @if (bodyTemplate(); as tmpl) {\n <ng-container\n [ngTemplateOutlet]=\"tmpl\"\n [ngTemplateOutletContext]=\"$any({ $implicit: event })\"\n ></ng-container>\n } @else {\n <small>{{ event.text }}</small>\n }\n </div>\n </div>\n </c8y-li-body>\n\n <c8y-li-collapse #collapseEl>\n <div\n class=\"legend form-block\"\n translate\n >\n Details\n </div>\n\n <ul class=\"list-unstyled small\">\n @for (prop of eventsService.getStandardKeys(event) | keyvalue; track prop.key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ $any(prop).value | translate }}\n </label>\n <span class=\"m-l-auto text-break-word\">\n {{ $any(event)[$any(prop).key] | translate }}\n </span>\n </li>\n }\n\n @for (key of eventsService.getNonStandardKeys(event, propertiesToHide()); track key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ key | humanize | translate }}\n </label>\n <span class=\"m-l-auto text-code\">\n {{ event[key] | json }}\n </span>\n </li>\n }\n </ul>\n\n @for (footer of footerTemplates(); track footer) {\n <ng-container\n [ngTemplateOutlet]=\"footer\"\n [ngTemplateOutletContext]=\"$any({ $implicit: event })\"\n ></ng-container>\n }\n </c8y-li-collapse>\n </c8y-li>\n </c8y-li-timeline>\n</c8y-list-group>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: ForOfDirective, selector: "[c8yFor]", inputs: ["c8yForOf", "c8yForLoadMore", "c8yForPipe", "c8yForNotFound", "c8yForMaxIterations", "c8yForLoadingTemplate", "c8yForLoadNextLabel", "c8yForLoadingLabel", "c8yForRealtime", "c8yForRealtimeOptions", "c8yForComparator", "c8yForEnableVirtualScroll", "c8yForVirtualScrollElementSize", "c8yForVirtualScrollStrategy", "c8yForVirtualScrollContainerHeight"], outputs: ["c8yForCount", "c8yForChange", "c8yForLoadMoreComponent"] }, { kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: ListGroupComponent, selector: "c8y-list-group" }, { kind: "component", type: ListItemBodyComponent, selector: "c8y-list-item-body, c8y-li-body", inputs: ["body"] }, { kind: "component", type: ListItemCollapseComponent, selector: "c8y-list-item-collapse, c8y-li-collapse", inputs: ["collapseWay"] }, { kind: "component", type: ListItemComponent, selector: "c8y-list-item, c8y-li", inputs: ["active", "highlighted", "emptyActions", "dense", "collapsed", "selectable"], outputs: ["collapsedChange"] }, { kind: "component", type: ListItemIconComponent, selector: "c8y-list-item-icon, c8y-li-icon", inputs: ["icon", "status"] }, { kind: "component", type: ListItemTimelineComponent, selector: "c8y-list-item-timeline, c8y-li-timeline" }, { kind: "ngmodule", type: CollapseModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "c8yDate" }, { kind: "pipe", type: HumanizePipe, name: "humanize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
26
  }
25
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EventsTimelineComponent, decorators: [{
26
28
  type: Component,
27
- args: [{ selector: 'c8y-events-timeline', imports: [CommonModule, CoreModule, CollapseModule, TooltipModule], providers: [EventRealtimeService], template: "@if (!events?.data || !events?.data?.length) {\n <c8y-ui-empty-state\n [icon]=\"'online'\"\n [title]=\"'No recent events found.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n}\n\n<c8y-list-group>\n <c8y-li-timeline\n *c8yFor=\"\n let event of events;\n pipe: filterPipe;\n realtime: realtime;\n realtimeOptions: { entityOrId: sourceId() }\n \"\n >\n {{ event.creationTime | date: 'medium' }}\n\n <c8y-li>\n <c8y-li-icon>\n <i [c8yIcon]=\"'online'\"></i>\n </c8y-li-icon>\n\n <c8y-li-body>\n <div class=\"d-flex text-break-word\">\n <div data-cy=\"c8y-events-timeline--body-template\">\n @if (bodyTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: event }\"\n ></ng-container>\n } @else {\n <small>{{ event.text }}</small>\n }\n </div>\n </div>\n </c8y-li-body>\n\n <c8y-li-collapse #collapseEl>\n <div\n class=\"legend form-block\"\n translate\n >\n Details\n </div>\n\n <ul class=\"list-unstyled small\">\n @for (prop of eventsService.getStandardKeys(event) | keyvalue; track prop.key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ prop.value | translate }}\n </label>\n <span class=\"m-l-auto text-break-word\">\n {{ event[prop.key] | translate }}\n </span>\n </li>\n }\n\n @for (key of eventsService.getNonStandardKeys(event, propertiesToHide); track key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ key | humanize | translate }}\n </label>\n <span class=\"m-l-auto text-code\">\n {{ event[key] | json }}\n </span>\n </li>\n }\n </ul>\n\n @for (footer of footerTemplates; track footer) {\n <ng-container\n [ngTemplateOutlet]=\"footer\"\n [ngTemplateOutletContext]=\"{ $implicit: event }\"\n ></ng-container>\n }\n </c8y-li-collapse>\n </c8y-li>\n </c8y-li-timeline>\n</c8y-list-group>\n" }]
28
- }], ctorParameters: () => [{ type: i1.EventRealtimeService }, { type: i2.EventsService }], propDecorators: { events: [{
29
- type: Input
30
- }], sourceId: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceId", required: true }] }], filterPipe: [{
31
- type: Input
32
- }], bodyTemplate: [{
33
- type: Input
34
- }], footerTemplates: [{
35
- type: Input
36
- }], propertiesToHide: [{
37
- type: Input
38
- }] } });
29
+ args: [{ selector: 'c8y-events-timeline', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
30
+ JsonPipe,
31
+ KeyValuePipe,
32
+ NgTemplateOutlet,
33
+ C8yTranslatePipe,
34
+ DatePipe,
35
+ EmptyStateComponent,
36
+ ForOfDirective,
37
+ HumanizePipe,
38
+ IconDirective,
39
+ ListGroupComponent,
40
+ ListItemBodyComponent,
41
+ ListItemCollapseComponent,
42
+ ListItemComponent,
43
+ ListItemIconComponent,
44
+ ListItemTimelineComponent,
45
+ CollapseModule,
46
+ TooltipModule
47
+ ], providers: [EventRealtimeService], template: "@if (!events()?.data || !events()?.data?.length) {\n <c8y-ui-empty-state\n [icon]=\"'online'\"\n [title]=\"'No recent events found.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n}\n\n<c8y-list-group>\n <c8y-li-timeline\n *c8yFor=\"\n let event of events();\n pipe: filterPipe();\n realtime: realtime;\n realtimeOptions: { entityOrId: sourceId() };\n loadMore: loadMoreMode()\n \"\n >\n {{ event.creationTime | c8yDate: 'medium' }}\n\n <c8y-li>\n <c8y-li-icon>\n <i [c8yIcon]=\"'online'\"></i>\n </c8y-li-icon>\n\n <c8y-li-body>\n <div class=\"d-flex text-break-word\">\n <div data-cy=\"c8y-events-timeline--body-template\">\n @if (bodyTemplate(); as tmpl) {\n <ng-container\n [ngTemplateOutlet]=\"tmpl\"\n [ngTemplateOutletContext]=\"$any({ $implicit: event })\"\n ></ng-container>\n } @else {\n <small>{{ event.text }}</small>\n }\n </div>\n </div>\n </c8y-li-body>\n\n <c8y-li-collapse #collapseEl>\n <div\n class=\"legend form-block\"\n translate\n >\n Details\n </div>\n\n <ul class=\"list-unstyled small\">\n @for (prop of eventsService.getStandardKeys(event) | keyvalue; track prop.key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ $any(prop).value | translate }}\n </label>\n <span class=\"m-l-auto text-break-word\">\n {{ $any(event)[$any(prop).key] | translate }}\n </span>\n </li>\n }\n\n @for (key of eventsService.getNonStandardKeys(event, propertiesToHide()); track key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ key | humanize | translate }}\n </label>\n <span class=\"m-l-auto text-code\">\n {{ event[key] | json }}\n </span>\n </li>\n }\n </ul>\n\n @for (footer of footerTemplates(); track footer) {\n <ng-container\n [ngTemplateOutlet]=\"footer\"\n [ngTemplateOutletContext]=\"$any({ $implicit: event })\"\n ></ng-container>\n }\n </c8y-li-collapse>\n </c8y-li>\n </c8y-li-timeline>\n</c8y-list-group>\n" }]
48
+ }], ctorParameters: () => [{ type: i1.EventRealtimeService }, { type: i2.EventsService }], propDecorators: { events: [{ type: i0.Input, args: [{ isSignal: true, alias: "events", required: false }] }], sourceId: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceId", required: true }] }], filterPipe: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPipe", required: false }] }], bodyTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "bodyTemplate", required: false }] }], footerTemplates: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerTemplates", required: false }] }], propertiesToHide: [{ type: i0.Input, args: [{ isSignal: true, alias: "propertiesToHide", required: false }] }], loadMoreMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadMoreMode", required: false }] }] } });
39
49
 
40
50
  /**
41
51
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-events-events-timeline.mjs","sources":["../../events/events-timeline/events-timeline.component.ts","../../events/events-timeline/events-timeline.component.html","../../events/events-timeline/c8y-ngx-components-events-events-timeline.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, input, Input, TemplateRef } from '@angular/core';\nimport { IEvent, IResultList } from '@c8y/client';\nimport { CoreModule, EventRealtimeService, ForOfFilterPipe } from '@c8y/ngx-components';\nimport { EventsService } from '@c8y/ngx-components/events';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { pipe } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n@Component({\n selector: 'c8y-events-timeline',\n templateUrl: 'events-timeline.component.html',\n imports: [CommonModule, CoreModule, CollapseModule, TooltipModule],\n providers: [EventRealtimeService]\n})\nexport class EventsTimelineComponent<B, F> {\n @Input()\n events: IResultList<IEvent>;\n\n sourceId = input.required<string | number>();\n\n @Input()\n filterPipe: ForOfFilterPipe<IEvent> = pipe(tap());\n\n @Input()\n bodyTemplate: TemplateRef<B>;\n\n @Input()\n footerTemplates: Array<TemplateRef<F>> = [];\n\n @Input()\n propertiesToHide: string[] = [];\n\n constructor(\n public realtime: EventRealtimeService,\n public eventsService: EventsService\n ) {}\n}\n","@if (!events?.data || !events?.data?.length) {\n <c8y-ui-empty-state\n [icon]=\"'online'\"\n [title]=\"'No recent events found.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n}\n\n<c8y-list-group>\n <c8y-li-timeline\n *c8yFor=\"\n let event of events;\n pipe: filterPipe;\n realtime: realtime;\n realtimeOptions: { entityOrId: sourceId() }\n \"\n >\n {{ event.creationTime | date: 'medium' }}\n\n <c8y-li>\n <c8y-li-icon>\n <i [c8yIcon]=\"'online'\"></i>\n </c8y-li-icon>\n\n <c8y-li-body>\n <div class=\"d-flex text-break-word\">\n <div data-cy=\"c8y-events-timeline--body-template\">\n @if (bodyTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: event }\"\n ></ng-container>\n } @else {\n <small>{{ event.text }}</small>\n }\n </div>\n </div>\n </c8y-li-body>\n\n <c8y-li-collapse #collapseEl>\n <div\n class=\"legend form-block\"\n translate\n >\n Details\n </div>\n\n <ul class=\"list-unstyled small\">\n @for (prop of eventsService.getStandardKeys(event) | keyvalue; track prop.key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ prop.value | translate }}\n </label>\n <span class=\"m-l-auto text-break-word\">\n {{ event[prop.key] | translate }}\n </span>\n </li>\n }\n\n @for (key of eventsService.getNonStandardKeys(event, propertiesToHide); track key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ key | humanize | translate }}\n </label>\n <span class=\"m-l-auto text-code\">\n {{ event[key] | json }}\n </span>\n </li>\n }\n </ul>\n\n @for (footer of footerTemplates; track footer) {\n <ng-container\n [ngTemplateOutlet]=\"footer\"\n [ngTemplateOutletContext]=\"{ $implicit: event }\"\n ></ng-container>\n }\n </c8y-li-collapse>\n </c8y-li>\n </c8y-li-timeline>\n</c8y-list-group>\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-events-events-timeline.mjs","sources":["../../events/events-timeline/events-timeline.component.ts","../../events/events-timeline/events-timeline.component.html","../../events/events-timeline/c8y-ngx-components-events-events-timeline.ts"],"sourcesContent":["import { JsonPipe, KeyValuePipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, TemplateRef } from '@angular/core';\nimport { IEvent, IResultList } from '@c8y/client';\nimport {\n C8yTranslatePipe,\n DatePipe,\n EmptyStateComponent,\n EventRealtimeService,\n ForOfDirective,\n ForOfFilterPipe,\n HumanizePipe,\n IconDirective,\n ListGroupComponent,\n ListItemBodyComponent,\n ListItemCollapseComponent,\n ListItemComponent,\n ListItemIconComponent,\n ListItemTimelineComponent,\n LoadMoreMode\n} from '@c8y/ngx-components';\nimport { EventsService } from '@c8y/ngx-components/events';\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { pipe } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n@Component({\n selector: 'c8y-events-timeline',\n templateUrl: 'events-timeline.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n JsonPipe,\n KeyValuePipe,\n NgTemplateOutlet,\n C8yTranslatePipe,\n DatePipe,\n EmptyStateComponent,\n ForOfDirective,\n HumanizePipe,\n IconDirective,\n ListGroupComponent,\n ListItemBodyComponent,\n ListItemCollapseComponent,\n ListItemComponent,\n ListItemIconComponent,\n ListItemTimelineComponent,\n CollapseModule,\n TooltipModule\n ],\n providers: [EventRealtimeService]\n})\nexport class EventsTimelineComponent<B, F> {\n events = input<IResultList<IEvent>>();\n sourceId = input.required<string | number>();\n filterPipe = input<ForOfFilterPipe<IEvent>>(pipe(tap()));\n bodyTemplate = input<TemplateRef<B>>();\n footerTemplates = input<Array<TemplateRef<F>>>([]);\n propertiesToHide = input<string[]>([]);\n loadMoreMode = input<LoadMoreMode>('auto');\n\n constructor(\n public realtime: EventRealtimeService,\n public eventsService: EventsService\n ) {}\n}\n","@if (!events()?.data || !events()?.data?.length) {\n <c8y-ui-empty-state\n [icon]=\"'online'\"\n [title]=\"'No recent events found.' | translate\"\n [horizontal]=\"true\"\n ></c8y-ui-empty-state>\n}\n\n<c8y-list-group>\n <c8y-li-timeline\n *c8yFor=\"\n let event of events();\n pipe: filterPipe();\n realtime: realtime;\n realtimeOptions: { entityOrId: sourceId() };\n loadMore: loadMoreMode()\n \"\n >\n {{ event.creationTime | c8yDate: 'medium' }}\n\n <c8y-li>\n <c8y-li-icon>\n <i [c8yIcon]=\"'online'\"></i>\n </c8y-li-icon>\n\n <c8y-li-body>\n <div class=\"d-flex text-break-word\">\n <div data-cy=\"c8y-events-timeline--body-template\">\n @if (bodyTemplate(); as tmpl) {\n <ng-container\n [ngTemplateOutlet]=\"tmpl\"\n [ngTemplateOutletContext]=\"$any({ $implicit: event })\"\n ></ng-container>\n } @else {\n <small>{{ event.text }}</small>\n }\n </div>\n </div>\n </c8y-li-body>\n\n <c8y-li-collapse #collapseEl>\n <div\n class=\"legend form-block\"\n translate\n >\n Details\n </div>\n\n <ul class=\"list-unstyled small\">\n @for (prop of eventsService.getStandardKeys(event) | keyvalue; track prop.key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ $any(prop).value | translate }}\n </label>\n <span class=\"m-l-auto text-break-word\">\n {{ $any(event)[$any(prop).key] | translate }}\n </span>\n </li>\n }\n\n @for (key of eventsService.getNonStandardKeys(event, propertiesToHide()); track key) {\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom\">\n <label class=\"small m-b-0 m-r-8 a-s-start\">\n {{ key | humanize | translate }}\n </label>\n <span class=\"m-l-auto text-code\">\n {{ event[key] | json }}\n </span>\n </li>\n }\n </ul>\n\n @for (footer of footerTemplates(); track footer) {\n <ng-container\n [ngTemplateOutlet]=\"footer\"\n [ngTemplateOutletContext]=\"$any({ $implicit: event })\"\n ></ng-container>\n }\n </c8y-li-collapse>\n </c8y-li>\n </c8y-li-timeline>\n</c8y-list-group>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;MAmDa,uBAAuB,CAAA;IASlC,WAAA,CACS,QAA8B,EAC9B,aAA4B,EAAA;QAD5B,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,aAAa,GAAb,aAAa;QAVtB,IAAA,CAAA,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAuB;AACrC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,mDAAmB;QAC5C,IAAA,CAAA,UAAU,GAAG,KAAK,CAA0B,IAAI,CAAC,GAAG,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACxD,IAAA,CAAA,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAkB;AACtC,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAwB,EAAE,2DAAC;AAClD,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAW,EAAE,4DAAC;AACtC,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAe,MAAM,wDAAC;IAKvC;+GAZQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,yhCAFvB,CAAC,oBAAoB,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjDnC,2/EAkFA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjDI,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAGhB,mBAAmB,oHACnB,cAAc,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,gCAAA,EAAA,6BAAA,EAAA,oCAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAEd,aAAa,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,kBAAkB,2DAClB,qBAAqB,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACrB,yBAAyB,EAAA,QAAA,EAAA,yCAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACzB,iBAAiB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,cAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,qBAAqB,wGACrB,yBAAyB,EAAA,QAAA,EAAA,yCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACzB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAhBb,QAAQ,wCACR,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAEZ,gBAAgB,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAChB,QAAQ,2CAGR,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAaH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAzBnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,eAAA,EAEd,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP,QAAQ;wBACR,YAAY;wBACZ,gBAAgB;wBAChB,gBAAgB;wBAChB,QAAQ;wBACR,mBAAmB;wBACnB,cAAc;wBACd,YAAY;wBACZ,aAAa;wBACb,kBAAkB;wBAClB,qBAAqB;wBACrB,yBAAyB;wBACzB,iBAAiB;wBACjB,qBAAqB;wBACrB,yBAAyB;wBACzB,cAAc;wBACd;qBACD,EAAA,SAAA,EACU,CAAC,oBAAoB,CAAC,EAAA,QAAA,EAAA,2/EAAA,EAAA;;;AEjDnC;;AAEG;;;;"}