@c8y/ngx-components 1022.10.1 → 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 (695) 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-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts +1 -1
  226. package/datapoint-selector/datapoint-attributes-form/datapoint-attributes-form.component.d.ts.map +1 -1
  227. package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts +10 -1
  228. package/datapoint-selector/datapoint-selection-list/datapoint-selection-list.component.d.ts.map +1 -1
  229. package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts +1 -1
  230. package/datapoint-selector/datapoint-selector-list-item/datapoint-selector-list-item.component.d.ts.map +1 -1
  231. package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts +1 -1
  232. package/datapoint-selector/datapoint-selector-modal/datapoint-selector-modal.component.d.ts.map +1 -1
  233. package/datapoint-selector/datapoint-selector.component.d.ts +1 -1
  234. package/datapoint-selector/datapoint-selector.component.d.ts.map +1 -1
  235. package/datapoint-selector/datapoint-selector.module.d.ts +18 -18
  236. package/datapoint-selector/datapoint-selector.module.d.ts.map +1 -1
  237. package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts +1 -1
  238. package/datapoint-selector/datapoint-template-popover/datapoint-template-popover.component.d.ts.map +1 -1
  239. package/datapoint-selector/pipes/datapoint-label.pipe.d.ts +1 -1
  240. package/datapoint-selector/pipes/datapoint-label.pipe.d.ts.map +1 -1
  241. package/datapoint-selector/pipes/filter-datapoints.pipe.d.ts +1 -1
  242. package/datapoint-selector/pipes/filter-datapoints.pipe.d.ts.map +1 -1
  243. package/datapoint-selector/pipes/includes-datapoint.pipe.d.ts +1 -1
  244. package/datapoint-selector/pipes/includes-datapoint.pipe.d.ts.map +1 -1
  245. package/datapoints-export-selector/datapoints-export-selector.component.d.ts +7 -0
  246. package/datapoints-export-selector/datapoints-export-selector.component.d.ts.map +1 -1
  247. package/default-subscriptions/default-subscriptions.component.d.ts +1 -1
  248. package/default-subscriptions/default-subscriptions.component.d.ts.map +1 -1
  249. package/default-subscriptions/default-subscriptions.module.d.ts +4 -4
  250. package/default-subscriptions/default-subscriptions.module.d.ts.map +1 -1
  251. package/device-grid/columns/alarms.cell-renderer.component.d.ts +1 -1
  252. package/device-grid/columns/alarms.cell-renderer.component.d.ts.map +1 -1
  253. package/device-grid/columns/alarms.header-cell-renderer.component.d.ts +1 -1
  254. package/device-grid/columns/alarms.header-cell-renderer.component.d.ts.map +1 -1
  255. package/device-grid/columns/group.cell-renderer.component.d.ts +1 -1
  256. package/device-grid/columns/group.cell-renderer.component.d.ts.map +1 -1
  257. package/device-grid/columns/group.filtering-form-renderer.component.d.ts +1 -1
  258. package/device-grid/columns/group.filtering-form-renderer.component.d.ts.map +1 -1
  259. package/device-grid/columns/model.cell-renderer.component.d.ts +1 -1
  260. package/device-grid/columns/model.cell-renderer.component.d.ts.map +1 -1
  261. package/device-grid/columns/name.cell-renderer.component.d.ts +1 -1
  262. package/device-grid/columns/name.cell-renderer.component.d.ts.map +1 -1
  263. package/device-grid/columns/registration-date.cell-renderer.component.d.ts +1 -1
  264. package/device-grid/columns/registration-date.cell-renderer.component.d.ts.map +1 -1
  265. package/device-grid/columns/serial-number.cell-renderer.component.d.ts +1 -1
  266. package/device-grid/columns/serial-number.cell-renderer.component.d.ts.map +1 -1
  267. package/device-grid/columns/status.cell-renderer.component.d.ts +1 -1
  268. package/device-grid/columns/status.cell-renderer.component.d.ts.map +1 -1
  269. package/device-grid/device-grid.component.d.ts +1 -1
  270. package/device-grid/device-grid.component.d.ts.map +1 -1
  271. package/device-grid/device-grid.module.d.ts +15 -15
  272. package/device-grid/device-grid.module.d.ts.map +1 -1
  273. package/device-list/add-smart-group.component.d.ts +1 -1
  274. package/device-list/add-smart-group.component.d.ts.map +1 -1
  275. package/device-list/device-list.component.d.ts +1 -1
  276. package/device-list/device-list.component.d.ts.map +1 -1
  277. package/device-list/device-list.module.d.ts +8 -8
  278. package/device-list/device-list.module.d.ts.map +1 -1
  279. package/device-protocols/device-protocols.module.d.ts +1 -1
  280. package/device-protocols/device-type-detail.component.d.ts +1 -1
  281. package/device-protocols/device-type-detail.component.d.ts.map +1 -1
  282. package/device-protocols/device-type-detail.directive.d.ts +1 -1
  283. package/device-protocols/device-type-detail.directive.d.ts.map +1 -1
  284. package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts +7 -7
  285. package/device-provisioned-certificates/device-provisioned-certificates.module.d.ts.map +1 -1
  286. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts +1 -1
  287. package/device-provisioned-certificates/device-tab-provisioned-certificates.component.d.ts.map +1 -1
  288. package/ecosystem/activity-log/activity-log.component.d.ts +1 -1
  289. package/ecosystem/activity-log/activity-log.component.d.ts.map +1 -1
  290. package/ecosystem/application-plugins/appState.pipe.d.ts +1 -1
  291. package/ecosystem/application-plugins/appState.pipe.d.ts.map +1 -1
  292. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts +1 -1
  293. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts.map +1 -1
  294. package/ecosystem/application-plugins/application-plugins.component.d.ts +1 -1
  295. package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
  296. package/ecosystem/application-plugins/application-plugins.module.d.ts +14 -14
  297. package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
  298. package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts +2 -2
  299. package/ecosystem/application-plugins/apps-to-update-remotes-select.component.d.ts.map +1 -1
  300. package/ecosystem/application-plugins/install-plugin.component.d.ts +1 -1
  301. package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
  302. package/ecosystem/application-plugins/label-cell-renderer.component.d.ts +1 -1
  303. package/ecosystem/application-plugins/label-cell-renderer.component.d.ts.map +1 -1
  304. package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts +1 -1
  305. package/ecosystem/application-plugins/only-latest-filter/only-latest-filter.component.d.ts.map +1 -1
  306. package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts +1 -1
  307. package/ecosystem/application-plugins/orphaned-status-cell-renderer.component.d.ts.map +1 -1
  308. package/ecosystem/application-plugins/plugin-list-item.component.d.ts +1 -1
  309. package/ecosystem/application-plugins/plugin-list-item.component.d.ts.map +1 -1
  310. package/ecosystem/application-plugins/plugin-list.component.d.ts +1 -1
  311. package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
  312. package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts +1 -1
  313. package/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.d.ts.map +1 -1
  314. package/ecosystem/application-properties/application-properties.component.d.ts +1 -1
  315. package/ecosystem/application-properties/application-properties.component.d.ts.map +1 -1
  316. package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts +1 -1
  317. package/ecosystem/application-properties/subscription-modal/subscription-modal.component.d.ts.map +1 -1
  318. package/ecosystem/application-properties/update-application-modal/update-application-modal.component.d.ts +1 -1
  319. package/ecosystem/application-properties/update-application-modal/update-application-modal.component.d.ts.map +1 -1
  320. package/ecosystem/applications/add-external-applicaiton/add-external-application.component.d.ts +1 -1
  321. package/ecosystem/applications/add-external-applicaiton/add-external-application.component.d.ts.map +1 -1
  322. package/ecosystem/applications/add-web-application/add-web-application.component.d.ts +1 -1
  323. package/ecosystem/applications/add-web-application/add-web-application.component.d.ts.map +1 -1
  324. package/ecosystem/applications/application-list/application-list.component.d.ts +1 -1
  325. package/ecosystem/applications/application-list/application-list.component.d.ts.map +1 -1
  326. package/ecosystem/applications/install-from-package/install-from-package.component.d.ts +2 -3
  327. package/ecosystem/applications/install-from-package/install-from-package.component.d.ts.map +1 -1
  328. package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts +1 -1
  329. package/ecosystem/archived-confirm/archived-confirm-modal.component.d.ts.map +1 -1
  330. package/ecosystem/archived-confirm/archived-confirm.module.d.ts +4 -4
  331. package/ecosystem/archived-confirm/archived-confirm.module.d.ts.map +1 -1
  332. package/ecosystem/ecosystem.module.d.ts +34 -34
  333. package/ecosystem/ecosystem.module.d.ts.map +1 -1
  334. package/ecosystem/features/feature-list.component.d.ts +1 -1
  335. package/ecosystem/features/feature-list.component.d.ts.map +1 -1
  336. package/ecosystem/license-confirm/license-confirm-modal.component.d.ts +1 -1
  337. package/ecosystem/license-confirm/license-confirm-modal.component.d.ts.map +1 -1
  338. package/ecosystem/license-confirm/license-confirm.module.d.ts +5 -5
  339. package/ecosystem/license-confirm/license-confirm.module.d.ts.map +1 -1
  340. package/ecosystem/license-confirm/license-view.component.d.ts +1 -1
  341. package/ecosystem/license-confirm/license-view.component.d.ts.map +1 -1
  342. package/ecosystem/microservices/add-microservice.component.d.ts +1 -1
  343. package/ecosystem/microservices/add-microservice.component.d.ts.map +1 -1
  344. package/ecosystem/microservices/microservice-list.component.d.ts +1 -1
  345. package/ecosystem/microservices/microservice-list.component.d.ts.map +1 -1
  346. package/ecosystem/packages/add-package.component.d.ts +1 -1
  347. package/ecosystem/packages/add-package.component.d.ts.map +1 -1
  348. package/ecosystem/packages/deploy-application/deploy-application.component.d.ts +1 -1
  349. package/ecosystem/packages/deploy-application/deploy-application.component.d.ts.map +1 -1
  350. package/ecosystem/packages/package-details/package-details.component.d.ts +1 -1
  351. package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
  352. package/ecosystem/packages/package-list/packages-list.component.d.ts +1 -1
  353. package/ecosystem/packages/package-list/packages-list.component.d.ts.map +1 -1
  354. package/ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.d.ts +1 -1
  355. package/ecosystem/packages/package-versions/package-contents/contents-apps/contents-apps.component.d.ts.map +1 -1
  356. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts +1 -1
  357. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts.map +1 -1
  358. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts +1 -1
  359. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts.map +1 -1
  360. package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts +1 -1
  361. package/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.d.ts.map +1 -1
  362. package/ecosystem/packages/package-versions/packages-versions.component.d.ts +1 -1
  363. package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
  364. package/ecosystem/shared/add-application.component.d.ts +1 -1
  365. package/ecosystem/shared/add-application.component.d.ts.map +1 -1
  366. package/ecosystem/shared/application-card.component.d.ts +1 -1
  367. package/ecosystem/shared/application-card.component.d.ts.map +1 -1
  368. package/ecosystem/shared/application-properties-form.component.d.ts +1 -1
  369. package/ecosystem/shared/application-properties-form.component.d.ts.map +1 -1
  370. package/ecosystem/shared/archived-filter/archived-filter.component.d.ts +1 -1
  371. package/ecosystem/shared/archived-filter/archived-filter.component.d.ts.map +1 -1
  372. package/ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.d.ts +1 -1
  373. package/ecosystem/shared/duplicate-application/duplicate-application-list/duplicate-application-list.component.d.ts.map +1 -1
  374. package/ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.d.ts +2 -2
  375. package/ecosystem/shared/duplicate-application/duplicate-application-properties/duplicate-application-properties.component.d.ts.map +1 -1
  376. package/ecosystem/shared/duplicate-application/duplicate-application.component.d.ts +1 -1
  377. package/ecosystem/shared/duplicate-application/duplicate-application.component.d.ts.map +1 -1
  378. package/ecosystem/shared/list-filters/list-filters.component.d.ts +1 -1
  379. package/ecosystem/shared/list-filters/list-filters.component.d.ts.map +1 -1
  380. package/ecosystem/shared/package-version-select/package-version-select.component.d.ts +1 -1
  381. package/ecosystem/shared/package-version-select/package-version-select.component.d.ts.map +1 -1
  382. package/ecosystem/shared/shared-ecosystem.module.d.ts +20 -20
  383. package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
  384. package/ecosystem/shared/translate-package-label.pipe.d.ts +1 -1
  385. package/ecosystem/shared/translate-package-label.pipe.d.ts.map +1 -1
  386. package/ecosystem/shared/upload-archive.component.d.ts +1 -1
  387. package/ecosystem/shared/upload-archive.component.d.ts.map +1 -1
  388. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs +36 -12
  389. package/fesm2022/c8y-ngx-components-actility-device-registration.mjs.map +1 -1
  390. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs +195 -107
  391. package/fesm2022/c8y-ngx-components-alarm-event-selector.mjs.map +1 -1
  392. package/fesm2022/c8y-ngx-components-alarms.mjs +236 -96
  393. package/fesm2022/c8y-ngx-components-alarms.mjs.map +1 -1
  394. package/fesm2022/c8y-ngx-components-api.mjs +8 -0
  395. package/fesm2022/c8y-ngx-components-api.mjs.map +1 -1
  396. package/fesm2022/c8y-ngx-components-app-logs.mjs +6 -8
  397. package/fesm2022/c8y-ngx-components-app-logs.mjs.map +1 -1
  398. package/fesm2022/c8y-ngx-components-assets-navigator.mjs +74 -26
  399. package/fesm2022/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  400. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +578 -366
  401. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  402. package/fesm2022/c8y-ngx-components-bookmarks.mjs +36 -17
  403. package/fesm2022/c8y-ngx-components-bookmarks.mjs.map +1 -1
  404. package/fesm2022/c8y-ngx-components-child-devices.mjs +7 -9
  405. package/fesm2022/c8y-ngx-components-child-devices.mjs.map +1 -1
  406. package/fesm2022/c8y-ngx-components-cockpit-config.mjs +138 -67
  407. package/fesm2022/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  408. 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
  409. 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
  410. 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
  411. 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
  412. 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
  413. 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
  414. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +170 -94
  415. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  416. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs +44 -31
  417. package/fesm2022/c8y-ngx-components-dashboard-manager.mjs.map +1 -1
  418. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs +132 -66
  419. package/fesm2022/c8y-ngx-components-datapoint-selector.mjs.map +1 -1
  420. package/fesm2022/c8y-ngx-components-datapoints-export-selector.mjs.map +1 -1
  421. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs +32 -16
  422. package/fesm2022/c8y-ngx-components-default-subscriptions.mjs.map +1 -1
  423. package/fesm2022/c8y-ngx-components-device-grid.mjs +50 -45
  424. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  425. package/fesm2022/c8y-ngx-components-device-list.mjs +50 -25
  426. package/fesm2022/c8y-ngx-components-device-list.mjs.map +1 -1
  427. package/fesm2022/c8y-ngx-components-device-protocols.mjs +6 -9
  428. package/fesm2022/c8y-ngx-components-device-protocols.mjs.map +1 -1
  429. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +36 -8
  430. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  431. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +155 -72
  432. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  433. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs +13 -7
  434. package/fesm2022/c8y-ngx-components-ecosystem-archived-confirm.mjs.map +1 -1
  435. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs +43 -12
  436. package/fesm2022/c8y-ngx-components-ecosystem-license-confirm.mjs.map +1 -1
  437. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +179 -80
  438. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  439. package/fesm2022/c8y-ngx-components-ecosystem.mjs +353 -1316
  440. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  441. package/fesm2022/c8y-ngx-components-file-preview.mjs +17 -8
  442. package/fesm2022/c8y-ngx-components-file-preview.mjs.map +1 -1
  443. package/fesm2022/c8y-ngx-components-files-repository.mjs +55 -22
  444. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  445. package/fesm2022/c8y-ngx-components-icon-selector.mjs +46 -28
  446. package/fesm2022/c8y-ngx-components-icon-selector.mjs.map +1 -1
  447. package/fesm2022/c8y-ngx-components-location.mjs +28 -15
  448. package/fesm2022/c8y-ngx-components-location.mjs.map +1 -1
  449. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs +36 -12
  450. package/fesm2022/c8y-ngx-components-loriot-device-registration.mjs.map +1 -1
  451. package/fesm2022/c8y-ngx-components-map.mjs +260 -28
  452. package/fesm2022/c8y-ngx-components-map.mjs.map +1 -1
  453. package/fesm2022/c8y-ngx-components-platform-configuration.mjs +24 -13
  454. package/fesm2022/c8y-ngx-components-platform-configuration.mjs.map +1 -1
  455. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs +133 -26
  456. package/fesm2022/c8y-ngx-components-protocol-lpwan.mjs.map +1 -1
  457. package/fesm2022/c8y-ngx-components-register-device.mjs +314 -249
  458. package/fesm2022/c8y-ngx-components-register-device.mjs.map +1 -1
  459. package/fesm2022/c8y-ngx-components-report-dashboard.mjs +41 -17
  460. package/fesm2022/c8y-ngx-components-report-dashboard.mjs.map +1 -1
  461. package/fesm2022/c8y-ngx-components-reports.mjs +61 -21
  462. package/fesm2022/c8y-ngx-components-reports.mjs.map +1 -1
  463. package/fesm2022/c8y-ngx-components-search.mjs +34 -21
  464. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  465. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs +43 -19
  466. package/fesm2022/c8y-ngx-components-sigfox-device-registration.mjs.map +1 -1
  467. package/fesm2022/c8y-ngx-components-sub-assets.mjs +207 -72
  468. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  469. package/fesm2022/c8y-ngx-components-tenants.mjs +96 -39
  470. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  471. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs +173 -53
  472. package/fesm2022/c8y-ngx-components-trusted-certificates.mjs.map +1 -1
  473. package/fesm2022/c8y-ngx-components-upgrade.mjs +19 -10
  474. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  475. package/fesm2022/c8y-ngx-components-user-roles.mjs +19 -14
  476. package/fesm2022/c8y-ngx-components-user-roles.mjs.map +1 -1
  477. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs +76 -50
  478. package/fesm2022/c8y-ngx-components-widgets-implementations-alarms.mjs.map +1 -1
  479. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs +15 -8
  480. package/fesm2022/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs.map +1 -1
  481. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs +2 -2
  482. package/fesm2022/c8y-ngx-components-widgets-implementations-map.mjs.map +1 -1
  483. package/fesm2022/c8y-ngx-components.mjs +166 -80
  484. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  485. package/file-preview/file-preview.component.d.ts +1 -1
  486. package/file-preview/file-preview.component.d.ts.map +1 -1
  487. package/file-preview/file-preview.module.d.ts +3 -3
  488. package/file-preview/file-preview.module.d.ts.map +1 -1
  489. package/files-repository/files-repository-upload.component.d.ts +1 -1
  490. package/files-repository/files-repository-upload.component.d.ts.map +1 -1
  491. package/files-repository/files-repository.component.d.ts +1 -1
  492. package/files-repository/files-repository.component.d.ts.map +1 -1
  493. package/files-repository/files-repository.module.d.ts +6 -6
  494. package/files-repository/files-repository.module.d.ts.map +1 -1
  495. package/icon-selector/icon-name.pipe.d.ts +1 -1
  496. package/icon-selector/icon-name.pipe.d.ts.map +1 -1
  497. package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts +1 -1
  498. package/icon-selector/icon-selector-modal/icon-selector-modal.component.d.ts.map +1 -1
  499. package/icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.d.ts +1 -1
  500. package/icon-selector/icon-selector-wrapper/icon-selector-wrapper.component.d.ts.map +1 -1
  501. package/icon-selector/icon-selector.component.d.ts +1 -1
  502. package/icon-selector/icon-selector.component.d.ts.map +1 -1
  503. package/icon-selector/icon-selector.module.d.ts +8 -8
  504. package/icon-selector/icon-selector.module.d.ts.map +1 -1
  505. package/locales/de.po +23 -2
  506. package/locales/es.po +23 -2
  507. package/locales/fr.po +23 -2
  508. package/locales/ja_JP.po +23 -2
  509. package/locales/ko.po +23 -2
  510. package/locales/locales.pot +22 -1
  511. package/locales/nl.po +23 -2
  512. package/locales/pl.po +23 -2
  513. package/locales/pt_BR.po +23 -2
  514. package/locales/zh_CN.po +23 -2
  515. package/locales/zh_TW.po +23 -2
  516. package/location/add-location.component.d.ts +1 -1
  517. package/location/add-location.component.d.ts.map +1 -1
  518. package/location/location.component.d.ts +1 -1
  519. package/location/location.component.d.ts.map +1 -1
  520. package/location/location.module.d.ts +6 -6
  521. package/location/location.module.d.ts.map +1 -1
  522. package/loriot-device-registration/loriot-device-registration-button.component.d.ts +1 -1
  523. package/loriot-device-registration/loriot-device-registration-button.component.d.ts.map +1 -1
  524. package/loriot-device-registration/loriot-device-registration.component.d.ts +1 -1
  525. package/loriot-device-registration/loriot-device-registration.component.d.ts.map +1 -1
  526. package/loriot-device-registration/loriot-device-registration.module.d.ts +4 -4
  527. package/loriot-device-registration/loriot-device-registration.module.d.ts.map +1 -1
  528. package/map/cluster-map.component.d.ts +61 -1
  529. package/map/cluster-map.component.d.ts.map +1 -1
  530. package/map/map-popup.directive.d.ts +1 -1
  531. package/map/map-popup.directive.d.ts.map +1 -1
  532. package/map/map-status.component.d.ts +86 -3
  533. package/map/map-status.component.d.ts.map +1 -1
  534. package/map/map.component.d.ts +100 -5
  535. package/map/map.component.d.ts.map +1 -1
  536. package/map/map.model.d.ts +98 -4
  537. package/map/map.model.d.ts.map +1 -1
  538. package/map/map.module.d.ts +9 -9
  539. package/map/map.module.d.ts.map +1 -1
  540. package/package.json +1 -1
  541. package/platform-configuration/platform-configuration-form.component.d.ts +1 -1
  542. package/platform-configuration/platform-configuration-form.component.d.ts.map +1 -1
  543. package/platform-configuration/platform-configuration.module.d.ts +4 -4
  544. package/platform-configuration/platform-configuration.module.d.ts.map +1 -1
  545. package/protocol-lpwan/lpwan-protocol.module.d.ts +4 -4
  546. package/protocol-lpwan/lpwan-protocol.module.d.ts.map +1 -1
  547. package/protocol-lpwan/lpwan-set-connections.component.d.ts +1 -1
  548. package/protocol-lpwan/lpwan-set-connections.component.d.ts.map +1 -1
  549. package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts +1 -1
  550. package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts.map +1 -1
  551. package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts +1 -1
  552. package/protocol-lpwan/multiple-lns-connectors/actility-multiple-lns-connector.component.d.ts.map +1 -1
  553. package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts +1 -1
  554. package/protocol-lpwan/multiple-lns-connectors/connection-info-with-download-csv.component.d.ts.map +1 -1
  555. package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts +1 -1
  556. package/protocol-lpwan/multiple-lns-connectors/loriot/loriot-multiple-lns-connector.component.d.ts.map +1 -1
  557. package/protocol-lpwan/multiple-lns-connectors/multiple-lns-connectors.module.d.ts +8 -8
  558. package/protocol-lpwan/multiple-lns-connectors/multiple-lns-connectors.module.d.ts.map +1 -1
  559. package/protocol-lpwan/multiple-lns-connectors/no-connections-found.component.d.ts +1 -1
  560. package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts +1 -1
  561. package/protocol-lpwan/multiple-lns-connectors/sigfox-multiple-lns-connector.component.d.ts.map +1 -1
  562. package/register-device/bulk/bulk-device-registration-button.component.d.ts +1 -1
  563. package/register-device/bulk/bulk-device-registration-button.component.d.ts.map +1 -1
  564. package/register-device/bulk/bulk-device-registration-modal.component.d.ts +1 -1
  565. package/register-device/bulk/bulk-device-registration-modal.component.d.ts.map +1 -1
  566. package/register-device/device-registration-view.component.d.ts +1 -1
  567. package/register-device/device-registration-view.component.d.ts.map +1 -1
  568. package/register-device/dropdown/register-device-dropdown.component.d.ts +1 -1
  569. package/register-device/dropdown/register-device-dropdown.component.d.ts.map +1 -1
  570. package/register-device/extensible/bulk/extensible-bulk-device-registration-button.component.d.ts +1 -1
  571. package/register-device/extensible/bulk/extensible-bulk-device-registration-button.component.d.ts.map +1 -1
  572. package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts +1 -1
  573. package/register-device/extensible/bulk/extensible-bulk-device-registration-modal.component.d.ts.map +1 -1
  574. package/register-device/extensible/single/extensible-device-registration-button.component.d.ts +1 -1
  575. package/register-device/extensible/single/extensible-device-registration-button.component.d.ts.map +1 -1
  576. package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts +1 -1
  577. package/register-device/extensible/single/extensible-device-registration-modal.component.d.ts.map +1 -1
  578. package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts +1 -1
  579. package/register-device/extensible/single/extensible-device-registration-stepper.component.d.ts.map +1 -1
  580. package/register-device/general/general-device-registration-button.component.d.ts +1 -1
  581. package/register-device/general/general-device-registration-button.component.d.ts.map +1 -1
  582. package/register-device/general/general-device-registration.component.d.ts +3 -6
  583. package/register-device/general/general-device-registration.component.d.ts.map +1 -1
  584. package/register-device/register-device.module.d.ts +16 -16
  585. package/register-device/register-device.module.d.ts.map +1 -1
  586. package/report-dashboard/report-dashboard-list.component.d.ts +1 -1
  587. package/report-dashboard/report-dashboard-list.component.d.ts.map +1 -1
  588. package/report-dashboard/report-dashboard.module.d.ts +7 -7
  589. package/reports/cron.component.d.ts +1 -1
  590. package/reports/cron.component.d.ts.map +1 -1
  591. package/reports/export-schedules.component.d.ts +2 -3
  592. package/reports/export-schedules.component.d.ts.map +1 -1
  593. package/reports/reports.module.d.ts +7 -7
  594. package/reports/reports.module.d.ts.map +1 -1
  595. package/reports/schedule-modal.component.d.ts +2 -3
  596. package/reports/schedule-modal.component.d.ts.map +1 -1
  597. package/search/search-action.component.d.ts +1 -1
  598. package/search/search-action.component.d.ts.map +1 -1
  599. package/search/search-custom-filters.component.d.ts +1 -1
  600. package/search/search-custom-filters.component.d.ts.map +1 -1
  601. package/search/search-grid.component.d.ts +1 -1
  602. package/search/search-grid.component.d.ts.map +1 -1
  603. package/search/search-results.component.d.ts +1 -1
  604. package/search/search-results.component.d.ts.map +1 -1
  605. package/search/search.module.d.ts +8 -8
  606. package/search/search.module.d.ts.map +1 -1
  607. package/sigfox-device-registration/sigfox-device-registration-button.component.d.ts +1 -1
  608. package/sigfox-device-registration/sigfox-device-registration-button.component.d.ts.map +1 -1
  609. package/sigfox-device-registration/sigfox-device-registration.component.d.ts +1 -1
  610. package/sigfox-device-registration/sigfox-device-registration.component.d.ts.map +1 -1
  611. package/sigfox-device-registration/sigfox-device-registration.module.d.ts +4 -4
  612. package/sigfox-device-registration/sigfox-device-registration.module.d.ts.map +1 -1
  613. package/sub-assets/add-group/add-group.component.d.ts +1 -1
  614. package/sub-assets/add-group/add-group.component.d.ts.map +1 -1
  615. package/sub-assets/add-group/add-group.module.d.ts +7 -7
  616. package/sub-assets/asset-properties-item.component.d.ts +1 -1
  617. package/sub-assets/asset-properties-item.component.d.ts.map +1 -1
  618. package/sub-assets/asset-properties.component.d.ts +1 -1
  619. package/sub-assets/asset-properties.component.d.ts.map +1 -1
  620. package/sub-assets/assign-devices/assign-child-devices.component.d.ts +2 -3
  621. package/sub-assets/assign-devices/assign-child-devices.component.d.ts.map +1 -1
  622. package/sub-assets/assign-devices/assign-devices.component.d.ts +1 -1
  623. package/sub-assets/assign-devices/assign-devices.component.d.ts.map +1 -1
  624. package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts +1 -1
  625. package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts.map +1 -1
  626. package/sub-assets/group-info.component.d.ts +1 -1
  627. package/sub-assets/group-info.component.d.ts.map +1 -1
  628. package/sub-assets/groups.component.d.ts +1 -1
  629. package/sub-assets/groups.component.d.ts.map +1 -1
  630. package/sub-assets/location/asset-location.component.d.ts +1 -1
  631. package/sub-assets/location/asset-location.component.d.ts.map +1 -1
  632. package/sub-assets/sub-assets-grid.component.d.ts +1 -1
  633. package/sub-assets/sub-assets-grid.component.d.ts.map +1 -1
  634. package/sub-assets/sub-assets-grids.module.d.ts +9 -9
  635. package/sub-assets/sub-assets-grids.module.d.ts.map +1 -1
  636. package/sub-assets/sub-assets.component.d.ts +1 -1
  637. package/sub-assets/sub-assets.component.d.ts.map +1 -1
  638. package/sub-assets/sub-assets.module.d.ts +18 -18
  639. package/sub-assets/sub-assets.module.d.ts.map +1 -1
  640. package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts +1 -1
  641. package/sub-assets/unassign-assets-modal/unassign-modal.component.d.ts.map +1 -1
  642. package/tenants/tenant-form/tenant-form.component.d.ts +1 -1
  643. package/tenants/tenant-form/tenant-form.component.d.ts.map +1 -1
  644. package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts +2 -3
  645. package/tenants/tenant-list/creation-time.filtering-form-renderer.component.d.ts.map +1 -1
  646. package/tenants/tenant-list/status.filtering-form-renderer.component.d.ts +1 -1
  647. package/tenants/tenant-list/status.filtering-form-renderer.component.d.ts.map +1 -1
  648. package/tenants/tenant-list/tenant-list.component.d.ts +1 -1
  649. package/tenants/tenant-list/tenant-list.component.d.ts.map +1 -1
  650. package/tenants/tenants.module.d.ts +9 -9
  651. package/tenants/tenants.module.d.ts.map +1 -1
  652. package/trusted-certificates/crl/crl-check-settings.component.d.ts +1 -1
  653. package/trusted-certificates/crl/crl-check-settings.component.d.ts.map +1 -1
  654. package/trusted-certificates/crl/crl-settings.component.d.ts +1 -1
  655. package/trusted-certificates/crl/crl-settings.component.d.ts.map +1 -1
  656. package/trusted-certificates/crl/crl-settings.module.d.ts +8 -8
  657. package/trusted-certificates/crl/crl-settings.module.d.ts.map +1 -1
  658. package/trusted-certificates/list/add-trusted-certificate.component.d.ts +4 -3
  659. package/trusted-certificates/list/add-trusted-certificate.component.d.ts.map +1 -1
  660. package/trusted-certificates/list/trusted-certificate-list.component.d.ts +11 -2
  661. package/trusted-certificates/list/trusted-certificate-list.component.d.ts.map +1 -1
  662. package/trusted-certificates/list/trusted-certificate-list.module.d.ts +10 -10
  663. package/trusted-certificates/list/trusted-certificate-list.module.d.ts.map +1 -1
  664. package/trusted-certificates/list/trusted-certificate.model.d.ts +2 -0
  665. package/trusted-certificates/list/trusted-certificate.model.d.ts.map +1 -1
  666. package/trusted-certificates/pattern-messages.data.d.ts +6 -0
  667. package/trusted-certificates/pattern-messages.data.d.ts.map +1 -1
  668. package/upgrade/dashboard/dashboard-upgrade.module.d.ts +6 -6
  669. package/upgrade/dashboard/dashboard-upgrade.module.d.ts.map +1 -1
  670. package/upgrade/dashboard/device-selector.component.d.ts +1 -1
  671. package/upgrade/dashboard/device-selector.component.d.ts.map +1 -1
  672. package/upgrade/dashboard/widget.component.d.ts +1 -1
  673. package/upgrade/dashboard/widget.component.d.ts.map +1 -1
  674. package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts +1 -1
  675. package/user-roles/inventory-role-selector/inventory-role-selector.component.d.ts.map +1 -1
  676. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts +1 -1
  677. package/user-roles/roles-asset-tree/roles-asset-tree.component.d.ts.map +1 -1
  678. package/user-roles/user-roles.module.d.ts +4 -4
  679. package/user-roles/user-roles.module.d.ts.map +1 -1
  680. package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts +1 -1
  681. package/widgets/implementations/alarms/alarm-list-widget-config/alarm-list-widget-config.component.d.ts.map +1 -1
  682. package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts +1 -1
  683. package/widgets/implementations/alarms/alarm-list-widget-view/alarm-list-widget.component.d.ts.map +1 -1
  684. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts +1 -1
  685. package/widgets/implementations/alarms/alarm-widget-alarms-reload.component.d.ts.map +1 -1
  686. package/widgets/implementations/alarms/alarms-widget.module.d.ts +13 -13
  687. package/widgets/implementations/alarms/alarms-widget.module.d.ts.map +1 -1
  688. package/widgets/implementations/alarms/severity-icon.pipe.d.ts +1 -1
  689. package/widgets/implementations/alarms/severity-icon.pipe.d.ts.map +1 -1
  690. package/widgets/implementations/alarms/sorting-description-popover-message.pipe.d.ts +1 -1
  691. package/widgets/implementations/alarms/sorting-description-popover-message.pipe.d.ts.map +1 -1
  692. package/widgets/implementations/device-management-welcome/device-management-welcome-widget.module.d.ts +4 -4
  693. package/widgets/implementations/device-management-welcome/device-management-welcome-widget.module.d.ts.map +1 -1
  694. package/widgets/implementations/device-management-welcome/welcome.component.d.ts +1 -1
  695. package/widgets/implementations/device-management-welcome/welcome.component.d.ts.map +1 -1
@@ -1,21 +1,20 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, InjectionToken, Optional, Inject, Component, Input, ViewChild, NgModule } from '@angular/core';
3
- import * as i5$1 from '@angular/router';
3
+ import * as i3 from '@angular/router';
4
4
  import { RouterLink, RouterModule } from '@angular/router';
5
- import * as i4$1 from 'ngx-bootstrap/datepicker';
6
- import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
5
+ import { BsDatepickerInputDirective, BsDatepickerDirective, BsDatepickerModule } from 'ngx-bootstrap/datepicker';
7
6
  import * as i1 from '@c8y/ngx-components';
8
- import { NavigatorNode, gettext, Permissions, BuiltInActionType, Status, ValidationPattern, validateInternationalPhoneNumber, CommonModule, C8yTranslatePipe, FormGroupComponent, FormsModule, DateTimePickerModule, CoreModule, hookNavigator, hookRoute, ViewContext } from '@c8y/ngx-components';
7
+ import { NavigatorNode, gettext, FormGroupComponent, C8yTranslatePipe, DatePipe, Permissions, BuiltInActionType, Status, TitleComponent, BreadcrumbComponent, BreadcrumbItemComponent, ActionBarItemComponent, IconDirective, HelpComponent, DataGridComponent, LoadingComponent, EmptyStateContextDirective, EmptyStateComponent, GuideDocsComponent, C8yTranslateDirective, GuideHrefDirective, ColumnDirective, CellRendererDefDirective, ValidationPattern, validateInternationalPhoneNumber, CommonModule, RequiredInputPlaceholderDirective, NewPasswordComponent, FormsModule as FormsModule$1, DateTimePickerModule, CoreModule, hookNavigator, hookRoute, ViewContext } from '@c8y/ngx-components';
9
8
  import * as i4 from '@angular/common';
10
- import { CommonModule as CommonModule$1 } from '@angular/common';
11
- import * as i3 from '@ngx-translate/core';
9
+ import { NgIf, AsyncPipe, NgFor, NgTemplateOutlet, CommonModule as CommonModule$1 } from '@angular/common';
10
+ import * as i2 from '@ngx-translate/core';
12
11
  import { saveAs } from 'file-saver';
13
12
  import { BehaviorSubject, from } from 'rxjs';
14
13
  import { expand, takeWhile, reduce, shareReplay, take } from 'rxjs/operators';
15
14
  import * as i1$1 from '@c8y/client';
16
15
  import { TenantStatus } from '@c8y/client';
17
- import * as i5 from '@angular/forms';
18
- import { Validators, FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
16
+ import * as i2$1 from '@angular/forms';
17
+ import { FormsModule, Validators, FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
19
18
  import { find, cloneDeep, assign } from 'lodash-es';
20
19
  import * as i1$2 from '@c8y/ngx-components/upgrade/upgraded-services';
21
20
  import { gettext as gettext$1 } from '@c8y/ngx-components/gettext';
@@ -156,7 +155,7 @@ class CreationTimeFilteringFormRendererComponent {
156
155
  columnName: this.context.property.name,
157
156
  path: ['model', key],
158
157
  displayValue: this.translateService.instant(displayValueTpl, {
159
- date: this.c8yDate.transform(this.model[key])
158
+ date: this.c8yDate.transform(this.model[key], 'mediumDate')
160
159
  }),
161
160
  value: this.model[key],
162
161
  remove() {
@@ -189,13 +188,19 @@ class CreationTimeFilteringFormRendererComponent {
189
188
  e.stopPropagation();
190
189
  });
191
190
  }
192
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CreationTimeFilteringFormRendererComponent, deps: [{ token: i1.FilteringFormRendererContext }, { token: i4.DatePipe }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
193
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CreationTimeFilteringFormRendererComponent, isStandalone: false, selector: "c8y-creation-time-filtering-form-renderer", ngImport: i0, template: "<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by creation time' | translate }}</label>\n <c8y-form-group\n class=\"datepicker d-block m-b-16\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created from`date`' | translate }}\"\n name=\"dateFrom\"\n [(ngModel)]=\"model.dateFrom\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [maxDate]=\"model.dateTo\"\n (onShown)=\"datepickerShown($event)\"\n />\n </c8y-form-group>\n <c8y-form-group\n class=\"datepicker m-l-0 d-block\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created to`date`' | translate }}\"\n name=\"dateTo\"\n [(ngModel)]=\"model.dateTo\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [minDate]=\"model.dateFrom\"\n (onShown)=\"datepickerShown($event)\"\n />\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n (click)=\"resetFilter()\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n [disabled]=\"filterForm.invalid || !(model.dateFrom || model.dateTo)\"\n (click)=\"applyFilter()\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i4$1.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "ignoreMinMaxErrors", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i4$1.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i1.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] }); }
191
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CreationTimeFilteringFormRendererComponent, deps: [{ token: i1.FilteringFormRendererContext }, { token: i1.DatePipe }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
192
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CreationTimeFilteringFormRendererComponent, isStandalone: true, selector: "c8y-creation-time-filtering-form-renderer", providers: [DatePipe], ngImport: i0, template: "<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by creation time' | translate }}</label>\n <c8y-form-group\n class=\"datepicker d-block m-b-16\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created from`date`' | translate }}\"\n name=\"dateFrom\"\n [(ngModel)]=\"model.dateFrom\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [maxDate]=\"model.dateTo\"\n (onShown)=\"datepickerShown($event)\"\n />\n </c8y-form-group>\n <c8y-form-group\n class=\"datepicker m-l-0 d-block\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created to`date`' | translate }}\"\n name=\"dateTo\"\n [(ngModel)]=\"model.dateTo\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [minDate]=\"model.dateFrom\"\n (onShown)=\"datepickerShown($event)\"\n />\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n (click)=\"resetFilter()\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n [disabled]=\"filterForm.invalid || !(model.dateFrom || model.dateTo)\"\n (click)=\"applyFilter()\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "directive", type: BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "ignoreMinMaxErrors", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
194
193
  }
195
194
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CreationTimeFilteringFormRendererComponent, decorators: [{
196
195
  type: Component,
197
- args: [{ selector: 'c8y-creation-time-filtering-form-renderer', standalone: false, template: "<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by creation time' | translate }}</label>\n <c8y-form-group\n class=\"datepicker d-block m-b-16\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created from`date`' | translate }}\"\n name=\"dateFrom\"\n [(ngModel)]=\"model.dateFrom\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [maxDate]=\"model.dateTo\"\n (onShown)=\"datepickerShown($event)\"\n />\n </c8y-form-group>\n <c8y-form-group\n class=\"datepicker m-l-0 d-block\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created to`date`' | translate }}\"\n name=\"dateTo\"\n [(ngModel)]=\"model.dateTo\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [minDate]=\"model.dateFrom\"\n (onShown)=\"datepickerShown($event)\"\n />\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n (click)=\"resetFilter()\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n [disabled]=\"filterForm.invalid || !(model.dateFrom || model.dateTo)\"\n (click)=\"applyFilter()\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n" }]
198
- }], ctorParameters: () => [{ type: i1.FilteringFormRendererContext }, { type: i4.DatePipe }, { type: i3.TranslateService }] });
196
+ args: [{ selector: 'c8y-creation-time-filtering-form-renderer', imports: [
197
+ FormsModule,
198
+ FormGroupComponent,
199
+ BsDatepickerInputDirective,
200
+ BsDatepickerDirective,
201
+ C8yTranslatePipe
202
+ ], providers: [DatePipe], template: "<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by creation time' | translate }}</label>\n <c8y-form-group\n class=\"datepicker d-block m-b-16\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created from`date`' | translate }}\"\n name=\"dateFrom\"\n [(ngModel)]=\"model.dateFrom\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [maxDate]=\"model.dateTo\"\n (onShown)=\"datepickerShown($event)\"\n />\n </c8y-form-group>\n <c8y-form-group\n class=\"datepicker m-l-0 d-block\"\n style=\"max-height: 32px\"\n >\n <input\n class=\"form-control fit-w text-left\"\n placeholder=\"{{ 'Created to`date`' | translate }}\"\n name=\"dateTo\"\n [(ngModel)]=\"model.dateTo\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', returnFocusToInput: true }\"\n [minDate]=\"model.dateFrom\"\n (onShown)=\"datepickerShown($event)\"\n />\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n title=\"{{ 'Reset' | translate }}\"\n (click)=\"resetFilter()\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n title=\"{{ 'Apply' | translate }}\"\n [disabled]=\"filterForm.invalid || !(model.dateFrom || model.dateTo)\"\n (click)=\"applyFilter()\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n" }]
203
+ }], ctorParameters: () => [{ type: i1.FilteringFormRendererContext }, { type: i1.DatePipe }, { type: i2.TranslateService }] });
199
204
 
200
205
  class StatusFilteringFormRendererComponent {
201
206
  constructor(context) {
@@ -216,11 +221,11 @@ class StatusFilteringFormRendererComponent {
216
221
  this.context.resetFilter();
217
222
  }
218
223
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StatusFilteringFormRendererComponent, deps: [{ token: i1.FilteringFormRendererContext }], target: i0.ɵɵFactoryTarget.Component }); }
219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: StatusFilteringFormRendererComponent, isStandalone: false, selector: "c8y-status-filtering-form-renderer", ngImport: i0, template: "<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by status' | translate }}</label>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"active\" [(ngModel)]=\"model.active\" />\n <span></span>\n <span>{{ 'Active`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"suspended\" [(ngModel)]=\"model.suspended\" />\n <span></span>\n <span>{{ 'Suspended`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n (click)=\"resetFilter()\"\n title=\"{{ 'Reset' | translate }}\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n [disabled]=\"filterForm.invalid\"\n (click)=\"applyFilter()\"\n title=\"{{ 'Apply' | translate }}\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i1.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] }); }
224
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: StatusFilteringFormRendererComponent, isStandalone: true, selector: "c8y-status-filtering-form-renderer", ngImport: i0, template: "<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by status' | translate }}</label>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"active\" [(ngModel)]=\"model.active\" />\n <span></span>\n <span>{{ 'Active`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"suspended\" [(ngModel)]=\"model.suspended\" />\n <span></span>\n <span>{{ 'Suspended`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n (click)=\"resetFilter()\"\n title=\"{{ 'Reset' | translate }}\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n [disabled]=\"filterForm.invalid\"\n (click)=\"applyFilter()\"\n title=\"{{ 'Apply' | translate }}\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
220
225
  }
221
226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StatusFilteringFormRendererComponent, decorators: [{
222
227
  type: Component,
223
- args: [{ selector: 'c8y-status-filtering-form-renderer', standalone: false, template: "<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by status' | translate }}</label>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"active\" [(ngModel)]=\"model.active\" />\n <span></span>\n <span>{{ 'Active`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"suspended\" [(ngModel)]=\"model.suspended\" />\n <span></span>\n <span>{{ 'Suspended`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n (click)=\"resetFilter()\"\n title=\"{{ 'Reset' | translate }}\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n [disabled]=\"filterForm.invalid\"\n (click)=\"applyFilter()\"\n title=\"{{ 'Apply' | translate }}\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n" }]
228
+ args: [{ selector: 'c8y-status-filtering-form-renderer', imports: [FormsModule, FormGroupComponent, C8yTranslatePipe], template: "<form #filterForm=\"ngForm\">\n <div class=\"m-b-8 p-t-8\">\n <label>{{ 'Filter by status' | translate }}</label>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"active\" [(ngModel)]=\"model.active\" />\n <span></span>\n <span>{{ 'Active`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n <c8y-form-group class=\"m-b-0\">\n <label class=\"c8y-checkbox\">\n <input type=\"checkbox\" name=\"suspended\" [(ngModel)]=\"model.suspended\" />\n <span></span>\n <span>{{ 'Suspended`tenant`' | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n</form>\n\n<div class=\"data-grid__dropdown__footer d-flex separator-top\">\n <button\n class=\"btn btn-default btn-sm m-r-8 flex-grow\"\n (click)=\"resetFilter()\"\n title=\"{{ 'Reset' | translate }}\"\n >\n {{ 'Reset' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-sm flex-grow\"\n [disabled]=\"filterForm.invalid\"\n (click)=\"applyFilter()\"\n title=\"{{ 'Apply' | translate }}\"\n >\n {{ 'Apply' | translate }}\n </button>\n</div>\n" }]
224
229
  }], ctorParameters: () => [{ type: i1.FilteringFormRendererContext }] });
225
230
 
226
231
  const { EVENTS: EVENTS$3, COMPONENTS: COMPONENTS$3, ACTIONS: ACTIONS$3 } = PRODUCT_EXPERIENCE_TENANT_MANAGEMENT;
@@ -487,13 +492,34 @@ class TenantListComponent {
487
492
  const blob = new Blob([data], { type: contentType });
488
493
  saveAs(blob, filename);
489
494
  }
490
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantListComponent, deps: [{ token: i1.AppStateService }, { token: i1.AlertService }, { token: i1.ModalService }, { token: i3.TranslateService }, { token: i1$1.TenantService }, { token: i1.TenantUiService }, { token: i4.Location }, { token: i1.PasswordService }, { token: i1$1.UserService }, { token: i1.Permissions }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
491
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TenantListComponent, isStandalone: false, selector: "c8y-tenant-list", ngImport: i0, template: "<c8y-title>\n {{ 'Subtenants' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-layers\"\n label=\"{{ 'Tenants' | translate }}\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n *ngIf=\"!!(appState.state$ | async).newsletter\"\n [placement]=\"'right'\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{\n 'Downloads the list of emails of users subscribed for newsletter on the current tenant and its subtenants.'\n | translate\n }}\"\n type=\"button\"\n (click)=\"downloadNewsletterEmails()\"\n >\n <i c8yIcon=\"download\"></i>\n {{ 'Email addresses' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Create tenant' | translate }}\"\n type=\"button\"\n (click)=\"createTenant({ sendGainsightEvent: false })\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Create tenant' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#managing-subtenants\"></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 [rows]=\"tenants$ | async\"\n [pagination]=\"pagination\"\n [showSearch]=\"showSearch\"\n [actionControls]=\"actionControls\"\n (onReload)=\"loadTenants()\"\n >\n <ng-container *ngIf=\"!(tenants$ | async); else empty\">\n <c8y-loading></c8y-loading>\n </ng-container>\n <ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-layers'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"\n stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\n \"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <ng-container *ngIf=\"stats?.size === 0\">\n <div>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create tenant' | translate }}\"\n (click)=\"createTenant()\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n {{ 'Create tenant' | translate }}\n </button>\n </div>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants\">user documentation</a>\n .\n </small>\n </p>\n </ng-container>\n </c8y-ui-empty-state>\n </ng-template>\n\n <c8y-column name=\"company\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <a [routerLink]=\"['/tenants', context.item.id]\">{{ context.value }}</a>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"parent\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value || currentTenant.name }}\">\n {{ context.value || currentTenant.name }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"creationTime\">\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\n <c8y-column name=\"status\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n title=\"{{ 'Active`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.ACTIVE\"\n >\n <i\n class=\"text-success\"\n c8yIcon=\"check-circle\"\n ></i>\n </span>\n <span\n title=\"{{ 'Suspended`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.SUSPENDED\"\n >\n <i\n class=\"text-danger\"\n c8yIcon=\"ban\"\n ></i>\n </span>\n </ng-container>\n </c8y-column>\n </c8y-data-grid>\n</div>\n", dependencies: [{ kind: "component", type: i1.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i1.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i1.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i1.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i1.EmptyStateContextDirective, selector: "[emptyStateContext]" }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "directive", type: i1.CellRendererDefDirective, selector: "[c8yCellRendererDef]" }, { kind: "directive", type: i1.ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "component", type: i1.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: i1.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i1.GuideHrefDirective, selector: "[c8y-guide-href]", inputs: ["c8y-guide-href"] }, { kind: "component", type: i1.GuideDocsComponent, selector: "[c8y-guide-docs]" }, { kind: "component", type: i1.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "directive", type: i5$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DatePipe, name: "c8yDate" }] }); }
495
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantListComponent, deps: [{ token: i1.AppStateService }, { token: i1.AlertService }, { token: i1.ModalService }, { token: i2.TranslateService }, { token: i1$1.TenantService }, { token: i1.TenantUiService }, { token: i4.Location }, { token: i1.PasswordService }, { token: i1$1.UserService }, { token: i1.Permissions }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
496
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TenantListComponent, isStandalone: true, selector: "c8y-tenant-list", ngImport: i0, template: "<c8y-title>\n {{ 'Subtenants' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-layers\"\n label=\"{{ 'Tenants' | translate }}\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n *ngIf=\"!!(appState.state$ | async).newsletter\"\n [placement]=\"'right'\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{\n 'Downloads the list of emails of users subscribed for newsletter on the current tenant and its subtenants.'\n | translate\n }}\"\n type=\"button\"\n (click)=\"downloadNewsletterEmails()\"\n >\n <i c8yIcon=\"download\"></i>\n {{ 'Email addresses' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Create tenant' | translate }}\"\n type=\"button\"\n (click)=\"createTenant({ sendGainsightEvent: false })\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Create tenant' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#managing-subtenants\"></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 [rows]=\"tenants$ | async\"\n [pagination]=\"pagination\"\n [showSearch]=\"showSearch\"\n [actionControls]=\"actionControls\"\n (onReload)=\"loadTenants()\"\n >\n <ng-container *ngIf=\"!(tenants$ | async); else empty\">\n <c8y-loading></c8y-loading>\n </ng-container>\n <ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-layers'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"\n stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\n \"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <ng-container *ngIf=\"stats?.size === 0\">\n <div>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create tenant' | translate }}\"\n (click)=\"createTenant()\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n {{ 'Create tenant' | translate }}\n </button>\n </div>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants\">user documentation</a>\n .\n </small>\n </p>\n </ng-container>\n </c8y-ui-empty-state>\n </ng-template>\n\n <c8y-column name=\"company\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <a [routerLink]=\"['/tenants', context.item.id]\">{{ context.value }}</a>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"parent\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value || currentTenant.name }}\">\n {{ context.value || currentTenant.name }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"creationTime\">\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\n <c8y-column name=\"status\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n title=\"{{ 'Active`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.ACTIVE\"\n >\n <i\n class=\"text-success\"\n c8yIcon=\"check-circle\"\n ></i>\n </span>\n <span\n title=\"{{ 'Suspended`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.SUSPENDED\"\n >\n <i\n class=\"text-danger\"\n c8yIcon=\"ban\"\n ></i>\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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { 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: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "directive", type: EmptyStateContextDirective, selector: "[emptyStateContext]" }, { kind: "component", type: EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "component", type: GuideDocsComponent, selector: "[c8y-guide-docs]" }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: GuideHrefDirective, selector: "[c8y-guide-href]", inputs: ["c8y-guide-href"] }, { kind: "directive", type: ColumnDirective, selector: "c8y-column", inputs: ["name"] }, { kind: "directive", type: CellRendererDefDirective, selector: "[c8yCellRendererDef]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "c8yDate" }] }); }
492
497
  }
493
498
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantListComponent, decorators: [{
494
499
  type: Component,
495
- args: [{ selector: 'c8y-tenant-list', standalone: false, template: "<c8y-title>\n {{ 'Subtenants' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-layers\"\n label=\"{{ 'Tenants' | translate }}\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n *ngIf=\"!!(appState.state$ | async).newsletter\"\n [placement]=\"'right'\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{\n 'Downloads the list of emails of users subscribed for newsletter on the current tenant and its subtenants.'\n | translate\n }}\"\n type=\"button\"\n (click)=\"downloadNewsletterEmails()\"\n >\n <i c8yIcon=\"download\"></i>\n {{ 'Email addresses' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Create tenant' | translate }}\"\n type=\"button\"\n (click)=\"createTenant({ sendGainsightEvent: false })\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Create tenant' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#managing-subtenants\"></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 [rows]=\"tenants$ | async\"\n [pagination]=\"pagination\"\n [showSearch]=\"showSearch\"\n [actionControls]=\"actionControls\"\n (onReload)=\"loadTenants()\"\n >\n <ng-container *ngIf=\"!(tenants$ | async); else empty\">\n <c8y-loading></c8y-loading>\n </ng-container>\n <ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-layers'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"\n stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\n \"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <ng-container *ngIf=\"stats?.size === 0\">\n <div>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create tenant' | translate }}\"\n (click)=\"createTenant()\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n {{ 'Create tenant' | translate }}\n </button>\n </div>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants\">user documentation</a>\n .\n </small>\n </p>\n </ng-container>\n </c8y-ui-empty-state>\n </ng-template>\n\n <c8y-column name=\"company\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <a [routerLink]=\"['/tenants', context.item.id]\">{{ context.value }}</a>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"parent\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value || currentTenant.name }}\">\n {{ context.value || currentTenant.name }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"creationTime\">\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\n <c8y-column name=\"status\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n title=\"{{ 'Active`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.ACTIVE\"\n >\n <i\n class=\"text-success\"\n c8yIcon=\"check-circle\"\n ></i>\n </span>\n <span\n title=\"{{ 'Suspended`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.SUSPENDED\"\n >\n <i\n class=\"text-danger\"\n c8yIcon=\"ban\"\n ></i>\n </span>\n </ng-container>\n </c8y-column>\n </c8y-data-grid>\n</div>\n" }]
496
- }], ctorParameters: () => [{ type: i1.AppStateService }, { type: i1.AlertService }, { type: i1.ModalService }, { type: i3.TranslateService }, { type: i1$1.TenantService }, { type: i1.TenantUiService }, { type: i4.Location }, { type: i1.PasswordService }, { type: i1$1.UserService }, { type: i1.Permissions }, { type: i1.GainsightService }] });
500
+ args: [{ selector: 'c8y-tenant-list', imports: [
501
+ TitleComponent,
502
+ BreadcrumbComponent,
503
+ BreadcrumbItemComponent,
504
+ NgIf,
505
+ ActionBarItemComponent,
506
+ IconDirective,
507
+ HelpComponent,
508
+ DataGridComponent,
509
+ LoadingComponent,
510
+ EmptyStateContextDirective,
511
+ EmptyStateComponent,
512
+ GuideDocsComponent,
513
+ C8yTranslateDirective,
514
+ GuideHrefDirective,
515
+ ColumnDirective,
516
+ CellRendererDefDirective,
517
+ RouterLink,
518
+ C8yTranslatePipe,
519
+ AsyncPipe,
520
+ DatePipe
521
+ ], template: "<c8y-title>\n {{ 'Subtenants' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n icon=\"c8y-layers\"\n label=\"{{ 'Tenants' | translate }}\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item\n *ngIf=\"!!(appState.state$ | async).newsletter\"\n [placement]=\"'right'\"\n>\n <button\n class=\"btn btn-link\"\n title=\"{{\n 'Downloads the list of emails of users subscribed for newsletter on the current tenant and its subtenants.'\n | translate\n }}\"\n type=\"button\"\n (click)=\"downloadNewsletterEmails()\"\n >\n <i c8yIcon=\"download\"></i>\n {{ 'Email addresses' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Create tenant' | translate }}\"\n type=\"button\"\n (click)=\"createTenant({ sendGainsightEvent: false })\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n {{ 'Create tenant' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#managing-subtenants\"></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 [rows]=\"tenants$ | async\"\n [pagination]=\"pagination\"\n [showSearch]=\"showSearch\"\n [actionControls]=\"actionControls\"\n (onReload)=\"loadTenants()\"\n >\n <ng-container *ngIf=\"!(tenants$ | async); else empty\">\n <c8y-loading></c8y-loading>\n </ng-container>\n <ng-template #empty>\n <c8y-ui-empty-state\n [icon]=\"stats?.size > 0 ? 'search' : 'c8y-layers'\"\n [title]=\"stats?.size > 0 ? (noResultsMessage | translate) : (noDataMessage | translate)\"\n [subtitle]=\"\n stats?.size > 0 ? (noResultsSubtitle | translate) : (noDataSubtitle | translate)\n \"\n *emptyStateContext=\"let stats\"\n [horizontal]=\"stats?.size > 0\"\n >\n <ng-container *ngIf=\"stats?.size === 0\">\n <div>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Create tenant' | translate }}\"\n (click)=\"createTenant()\"\n [disabled]=\"!isPermittedToCreateTenanant\"\n >\n {{ 'Create tenant' | translate }}\n </button>\n </div>\n <p c8y-guide-docs>\n <small\n translate\n ngNonBindable\n >\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants\">user documentation</a>\n .\n </small>\n </p>\n </ng-container>\n </c8y-ui-empty-state>\n </ng-template>\n\n <c8y-column name=\"company\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value }}\">\n <a [routerLink]=\"['/tenants', context.item.id]\">{{ context.value }}</a>\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"parent\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span title=\"{{ context.value || currentTenant.name }}\">\n {{ context.value || currentTenant.name }}\n </span>\n </ng-container>\n </c8y-column>\n\n <c8y-column name=\"creationTime\">\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\n <c8y-column name=\"status\">\n <ng-container *c8yCellRendererDef=\"let context\">\n <span\n title=\"{{ 'Active`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.ACTIVE\"\n >\n <i\n class=\"text-success\"\n c8yIcon=\"check-circle\"\n ></i>\n </span>\n <span\n title=\"{{ 'Suspended`tenant`' | translate }}\"\n *ngIf=\"context.item.status === TenantStatus.SUSPENDED\"\n >\n <i\n class=\"text-danger\"\n c8yIcon=\"ban\"\n ></i>\n </span>\n </ng-container>\n </c8y-column>\n </c8y-data-grid>\n</div>\n" }]
522
+ }], ctorParameters: () => [{ type: i1.AppStateService }, { type: i1.AlertService }, { type: i1.ModalService }, { type: i2.TranslateService }, { type: i1$1.TenantService }, { type: i1.TenantUiService }, { type: i4.Location }, { type: i1.PasswordService }, { type: i1$1.UserService }, { type: i1.Permissions }, { type: i1.GainsightService }] });
497
523
 
498
524
  /**
499
525
  * Define all hardTyped tenant form fields, checkboxes and select elements.
@@ -894,15 +920,32 @@ class TenantFormComponent {
894
920
  ...props
895
921
  });
896
922
  }
897
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantFormComponent, deps: [{ token: i1$2.Ng1TenantPoliciesService, optional: true }, { token: i1$1.TenantService }, { token: i1.TenantUiService }, { token: i4.Location }, { token: i1.AlertService }, { token: i5$1.ActivatedRoute }, { token: i3.TranslateService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
898
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TenantFormComponent, isStandalone: false, selector: "c8y-tenant-form", viewQueries: [{ propertyName: "passwordForm", first: true, predicate: ["passwordForm"], descendants: true }], ngImport: i0, template: "<c8y-title *ngIf=\"title\">\n {{ title }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n [formGroup]=\"tenantForm\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"card content-fullpage d-grid grid__col--8-4--md\">\n <div class=\"inner-scroll bg-level-0\">\n <div class=\"card-header separator large-padding sticky-top\">\n <div\n class=\"card-title\"\n translate\n >\n Identification\n </div>\n </div>\n\n <div>\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let key of fieldKeys\">\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'text'\">\n <ng-container\n *ngTemplateOutlet=\"textField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"numberField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'checkbox'\">\n <ng-container\n *ngTemplateOutlet=\"checkboxField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'select'\">\n <ng-container\n *ngTemplateOutlet=\"selectField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"inner-scroll bg-level-1\"\n *ngIf=\"!isNew && tenant\"\n >\n <c8y-support-user-access [tenant]=\"tenant\"></c8y-support-user-access>\n </div>\n\n <!-- FOOTER CARD -->\n <div\n class=\"card-footer separator large-padding grid__col--fullspan\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n data-cy=\"c8y-tenant-form--cancelButton\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n [disabled]=\"shouldDisableSave()\"\n data-cy=\"c8y-tenant-form--saveButton\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n\n <!-- NG TEMPLATES -->\n <ng-template\n #textField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n <span\n class=\"input-group-addon\"\n *ngIf=\"fieldDefinition.id === 'domain' && host && isNew\"\n >\n {{ host }}\n </span>\n </div>\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #numberField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #checkboxField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n (change)=\"onCheckboxChange(fieldDefinition.id)\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n <form\n #passwordForm=\"ngForm\"\n *ngIf=\"showPasswordComponent && fieldDefinition.id === 'sendPasswordResetEmail'\"\n >\n <c8y-new-password\n [showChangePasswordButton]=\"false\"\n [requireStrongPassword]=\"passwordStrengthEnforced\"\n (password)=\"onNewPasswordChanged($event)\"\n ></c8y-new-password>\n </form>\n </ng-template>\n\n <ng-template\n #selectField\n let-fieldDefinition\n >\n <c8y-form-group *ngIf=\"tenantPolicies && tenantPolicies.length > 0\">\n <label>{{ fieldDefinition.label | translate }}</label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n title=\"{{ fieldDefinition.label | translate }}\"\n name=\"tenantPolicy\"\n (change)=\"onTenantPolicyChange()\"\n formControlName=\"tenantPolicy\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n >\n <option\n *ngFor=\"let tenantPolicy of tenantPolicies\"\n [ngValue]=\"tenantPolicy\"\n >\n {{ tenantPolicy.name }}\n </option>\n </select>\n <span></span>\n </div>\n </c8y-form-group>\n </ng-template>\n</form>\n", dependencies: [{ kind: "component", type: i1.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i1.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i1.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i1.NewPasswordComponent, selector: "c8y-new-password", inputs: ["showChangePasswordButton", "requireStrongPassword"], outputs: ["password"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i1.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i1.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: SupportUserAccessComponent, selector: "c8y-support-user-access", inputs: ["tenant"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] }); }
923
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantFormComponent, deps: [{ token: i1$2.Ng1TenantPoliciesService, optional: true }, { token: i1$1.TenantService }, { token: i1.TenantUiService }, { token: i4.Location }, { token: i1.AlertService }, { token: i3.ActivatedRoute }, { token: i2.TranslateService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
924
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TenantFormComponent, isStandalone: true, selector: "c8y-tenant-form", viewQueries: [{ propertyName: "passwordForm", first: true, predicate: ["passwordForm"], descendants: true }], ngImport: i0, template: "<c8y-title *ngIf=\"title\">\n {{ title }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n [formGroup]=\"tenantForm\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"card content-fullpage d-grid grid__col--8-4--md\">\n <div class=\"inner-scroll bg-level-0\">\n <div class=\"card-header separator large-padding sticky-top\">\n <div\n class=\"card-title\"\n translate\n >\n Identification\n </div>\n </div>\n\n <div>\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let key of fieldKeys\">\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'text'\">\n <ng-container\n *ngTemplateOutlet=\"textField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"numberField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'checkbox'\">\n <ng-container\n *ngTemplateOutlet=\"checkboxField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'select'\">\n <ng-container\n *ngTemplateOutlet=\"selectField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"inner-scroll bg-level-1\"\n *ngIf=\"!isNew && tenant\"\n >\n <c8y-support-user-access [tenant]=\"tenant\"></c8y-support-user-access>\n </div>\n\n <!-- FOOTER CARD -->\n <div\n class=\"card-footer separator large-padding grid__col--fullspan\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n data-cy=\"c8y-tenant-form--cancelButton\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n [disabled]=\"shouldDisableSave()\"\n data-cy=\"c8y-tenant-form--saveButton\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n\n <!-- NG TEMPLATES -->\n <ng-template\n #textField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n <span\n class=\"input-group-addon\"\n *ngIf=\"fieldDefinition.id === 'domain' && host && isNew\"\n >\n {{ host }}\n </span>\n </div>\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #numberField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #checkboxField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n (change)=\"onCheckboxChange(fieldDefinition.id)\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n <form\n #passwordForm=\"ngForm\"\n *ngIf=\"showPasswordComponent && fieldDefinition.id === 'sendPasswordResetEmail'\"\n >\n <c8y-new-password\n [showChangePasswordButton]=\"false\"\n [requireStrongPassword]=\"passwordStrengthEnforced\"\n (password)=\"onNewPasswordChanged($event)\"\n ></c8y-new-password>\n </form>\n </ng-template>\n\n <ng-template\n #selectField\n let-fieldDefinition\n >\n <c8y-form-group *ngIf=\"tenantPolicies && tenantPolicies.length > 0\">\n <label>{{ fieldDefinition.label | translate }}</label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n title=\"{{ fieldDefinition.label | translate }}\"\n name=\"tenantPolicy\"\n (change)=\"onTenantPolicyChange()\"\n formControlName=\"tenantPolicy\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n >\n <option\n *ngFor=\"let tenantPolicy of tenantPolicies\"\n [ngValue]=\"tenantPolicy\"\n >\n {{ tenantPolicy.name }}\n </option>\n </select>\n <span></span>\n </div>\n </c8y-form-group>\n </ng-template>\n</form>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SupportUserAccessComponent, selector: "c8y-support-user-access", inputs: ["tenant"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "component", type: NewPasswordComponent, selector: "c8y-new-password", inputs: ["showChangePasswordButton", "requireStrongPassword"], outputs: ["password"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
899
925
  }
900
926
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantFormComponent, decorators: [{
901
927
  type: Component,
902
- args: [{ selector: 'c8y-tenant-form', standalone: false, template: "<c8y-title *ngIf=\"title\">\n {{ title }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n [formGroup]=\"tenantForm\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"card content-fullpage d-grid grid__col--8-4--md\">\n <div class=\"inner-scroll bg-level-0\">\n <div class=\"card-header separator large-padding sticky-top\">\n <div\n class=\"card-title\"\n translate\n >\n Identification\n </div>\n </div>\n\n <div>\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let key of fieldKeys\">\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'text'\">\n <ng-container\n *ngTemplateOutlet=\"textField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"numberField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'checkbox'\">\n <ng-container\n *ngTemplateOutlet=\"checkboxField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'select'\">\n <ng-container\n *ngTemplateOutlet=\"selectField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"inner-scroll bg-level-1\"\n *ngIf=\"!isNew && tenant\"\n >\n <c8y-support-user-access [tenant]=\"tenant\"></c8y-support-user-access>\n </div>\n\n <!-- FOOTER CARD -->\n <div\n class=\"card-footer separator large-padding grid__col--fullspan\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n data-cy=\"c8y-tenant-form--cancelButton\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n [disabled]=\"shouldDisableSave()\"\n data-cy=\"c8y-tenant-form--saveButton\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n\n <!-- NG TEMPLATES -->\n <ng-template\n #textField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n <span\n class=\"input-group-addon\"\n *ngIf=\"fieldDefinition.id === 'domain' && host && isNew\"\n >\n {{ host }}\n </span>\n </div>\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #numberField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #checkboxField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n (change)=\"onCheckboxChange(fieldDefinition.id)\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n <form\n #passwordForm=\"ngForm\"\n *ngIf=\"showPasswordComponent && fieldDefinition.id === 'sendPasswordResetEmail'\"\n >\n <c8y-new-password\n [showChangePasswordButton]=\"false\"\n [requireStrongPassword]=\"passwordStrengthEnforced\"\n (password)=\"onNewPasswordChanged($event)\"\n ></c8y-new-password>\n </form>\n </ng-template>\n\n <ng-template\n #selectField\n let-fieldDefinition\n >\n <c8y-form-group *ngIf=\"tenantPolicies && tenantPolicies.length > 0\">\n <label>{{ fieldDefinition.label | translate }}</label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n title=\"{{ fieldDefinition.label | translate }}\"\n name=\"tenantPolicy\"\n (change)=\"onTenantPolicyChange()\"\n formControlName=\"tenantPolicy\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n >\n <option\n *ngFor=\"let tenantPolicy of tenantPolicies\"\n [ngValue]=\"tenantPolicy\"\n >\n {{ tenantPolicy.name }}\n </option>\n </select>\n <span></span>\n </div>\n </c8y-form-group>\n </ng-template>\n</form>\n" }]
928
+ args: [{ selector: 'c8y-tenant-form', imports: [
929
+ NgIf,
930
+ TitleComponent,
931
+ BreadcrumbComponent,
932
+ BreadcrumbItemComponent,
933
+ FormsModule,
934
+ ReactiveFormsModule,
935
+ C8yTranslateDirective,
936
+ LoadingComponent,
937
+ NgFor,
938
+ NgTemplateOutlet,
939
+ SupportUserAccessComponent,
940
+ RouterLink,
941
+ FormGroupComponent,
942
+ RequiredInputPlaceholderDirective,
943
+ NewPasswordComponent,
944
+ C8yTranslatePipe
945
+ ], template: "<c8y-title *ngIf=\"title\">\n {{ title }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n [formGroup]=\"tenantForm\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"card content-fullpage d-grid grid__col--8-4--md\">\n <div class=\"inner-scroll bg-level-0\">\n <div class=\"card-header separator large-padding sticky-top\">\n <div\n class=\"card-title\"\n translate\n >\n Identification\n </div>\n </div>\n\n <div>\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let key of fieldKeys\">\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'text'\">\n <ng-container\n *ngTemplateOutlet=\"textField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"numberField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'checkbox'\">\n <ng-container\n *ngTemplateOutlet=\"checkboxField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'select'\">\n <ng-container\n *ngTemplateOutlet=\"selectField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n <div\n class=\"inner-scroll bg-level-1\"\n *ngIf=\"!isNew && tenant\"\n >\n <c8y-support-user-access [tenant]=\"tenant\"></c8y-support-user-access>\n </div>\n\n <!-- FOOTER CARD -->\n <div\n class=\"card-footer separator large-padding grid__col--fullspan\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n data-cy=\"c8y-tenant-form--cancelButton\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"submit\"\n [disabled]=\"shouldDisableSave()\"\n data-cy=\"c8y-tenant-form--saveButton\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n\n <!-- NG TEMPLATES -->\n <ng-template\n #textField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <div class=\"input-group\">\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n <span\n class=\"input-group-addon\"\n *ngIf=\"fieldDefinition.id === 'domain' && host && isNew\"\n >\n {{ host }}\n </span>\n </div>\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #numberField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #checkboxField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n (change)=\"onCheckboxChange(fieldDefinition.id)\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n <form\n #passwordForm=\"ngForm\"\n *ngIf=\"showPasswordComponent && fieldDefinition.id === 'sendPasswordResetEmail'\"\n >\n <c8y-new-password\n [showChangePasswordButton]=\"false\"\n [requireStrongPassword]=\"passwordStrengthEnforced\"\n (password)=\"onNewPasswordChanged($event)\"\n ></c8y-new-password>\n </form>\n </ng-template>\n\n <ng-template\n #selectField\n let-fieldDefinition\n >\n <c8y-form-group *ngIf=\"tenantPolicies && tenantPolicies.length > 0\">\n <label>{{ fieldDefinition.label | translate }}</label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n title=\"{{ fieldDefinition.label | translate }}\"\n name=\"tenantPolicy\"\n (change)=\"onTenantPolicyChange()\"\n formControlName=\"tenantPolicy\"\n [attr.data-cy]=\"'c8y-tenant-form--' + fieldDefinition.id\"\n >\n <option\n *ngFor=\"let tenantPolicy of tenantPolicies\"\n [ngValue]=\"tenantPolicy\"\n >\n {{ tenantPolicy.name }}\n </option>\n </select>\n <span></span>\n </div>\n </c8y-form-group>\n </ng-template>\n</form>\n" }]
903
946
  }], ctorParameters: () => [{ type: i1$2.Ng1TenantPoliciesService, decorators: [{
904
947
  type: Optional
905
- }] }, { type: i1$1.TenantService }, { type: i1.TenantUiService }, { type: i4.Location }, { type: i1.AlertService }, { type: i5$1.ActivatedRoute }, { type: i3.TranslateService }, { type: i1.GainsightService }], propDecorators: { passwordForm: [{
948
+ }] }, { type: i1$1.TenantService }, { type: i1.TenantUiService }, { type: i4.Location }, { type: i1.AlertService }, { type: i3.ActivatedRoute }, { type: i2.TranslateService }, { type: i1.GainsightService }], propDecorators: { passwordForm: [{
906
949
  type: ViewChild,
907
950
  args: ['passwordForm']
908
951
  }] } });
@@ -983,7 +1026,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
983
1026
 
984
1027
  class CustomPropertyFieldComponent {
985
1028
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CustomPropertyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
986
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CustomPropertyFieldComponent, isStandalone: true, selector: "c8y-custom-property-field", inputs: { fieldDefinition: "fieldDefinition", form: "form" }, ngImport: i0, template: "<ng-container *ngIf=\"form && fieldDefinition\">\n <ng-container [ngSwitch]=\"fieldDefinition.type\">\n <ng-container *ngSwitchCase=\"'boolean'\">\n <c8y-form-group [formGroup]=\"form\">\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'number'\">\n <c8y-form-group [formGroup]=\"form\">\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'integer'\">\n <c8y-form-group [formGroup]=\"form\">\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'string'\">\n <c8y-form-group\n *ngIf=\"!fieldDefinition.format\"\n [formGroup]=\"form\"\n >\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"fieldDefinition.format === 'datetime'\"\n [formGroup]=\"form\"\n >\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <c8y-date-time-picker\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n data-cy=\"c8y-custom-property-field--date-time-picker\"\n ></c8y-date-time-picker>\n </c8y-form-group>\n </ng-container>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule$1 }, { 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: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: DateTimePickerModule }, { kind: "component", type: i1.DateTimePickerComponent, selector: "c8y-date-time-picker", inputs: ["minDate", "maxDate", "placeholder", "dateInputFormat", "adaptivePosition", "size", "dateType", "config"], outputs: ["onDateSelected"] }] }); }
1029
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CustomPropertyFieldComponent, isStandalone: true, selector: "c8y-custom-property-field", inputs: { fieldDefinition: "fieldDefinition", form: "form" }, ngImport: i0, template: "<ng-container *ngIf=\"form && fieldDefinition\">\n <ng-container [ngSwitch]=\"fieldDefinition.type\">\n <ng-container *ngSwitchCase=\"'boolean'\">\n <c8y-form-group [formGroup]=\"form\">\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'number'\">\n <c8y-form-group [formGroup]=\"form\">\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'integer'\">\n <c8y-form-group [formGroup]=\"form\">\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'string'\">\n <c8y-form-group\n *ngIf=\"!fieldDefinition.format\"\n [formGroup]=\"form\"\n >\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"fieldDefinition.format === 'datetime'\"\n [formGroup]=\"form\"\n >\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <c8y-date-time-picker\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n data-cy=\"c8y-custom-property-field--date-time-picker\"\n ></c8y-date-time-picker>\n </c8y-form-group>\n </ng-container>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule$1 }, { 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: "pipe", type: C8yTranslatePipe, name: "translate" }, { kind: "component", type: FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: DateTimePickerModule }, { kind: "component", type: i1.DateTimePickerComponent, selector: "c8y-date-time-picker", inputs: ["minDate", "maxDate", "placeholder", "dateInputFormat", "adaptivePosition", "size", "dateType", "config"], outputs: ["onDateSelected"] }] }); }
987
1030
  }
988
1031
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CustomPropertyFieldComponent, decorators: [{
989
1032
  type: Component,
@@ -991,7 +1034,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
991
1034
  CommonModule$1,
992
1035
  C8yTranslatePipe,
993
1036
  FormGroupComponent,
994
- FormsModule,
1037
+ FormsModule$1,
995
1038
  ReactiveFormsModule,
996
1039
  DateTimePickerModule
997
1040
  ], template: "<ng-container *ngIf=\"form && fieldDefinition\">\n <ng-container [ngSwitch]=\"fieldDefinition.type\">\n <ng-container *ngSwitchCase=\"'boolean'\">\n <c8y-form-group [formGroup]=\"form\">\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'number'\">\n <c8y-form-group [formGroup]=\"form\">\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'integer'\">\n <c8y-form-group [formGroup]=\"form\">\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'string'\">\n <c8y-form-group\n *ngIf=\"!fieldDefinition.format\"\n [formGroup]=\"form\"\n >\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n\n <c8y-form-group\n *ngIf=\"fieldDefinition.format === 'datetime'\"\n [formGroup]=\"form\"\n >\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate }}\n </label>\n <c8y-date-time-picker\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n data-cy=\"c8y-custom-property-field--date-time-picker\"\n ></c8y-date-time-picker>\n </c8y-form-group>\n </ng-container>\n </ng-container>\n</ng-container>\n" }]
@@ -1079,20 +1122,20 @@ class CustomPropertiesComponent {
1079
1122
  ...props
1080
1123
  });
1081
1124
  }
1082
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CustomPropertiesComponent, deps: [{ token: i1$1.TenantService }, { token: i1.AlertService }, { token: i5$1.ActivatedRoute }, { token: CustomPropertiesService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
1083
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CustomPropertiesComponent, isStandalone: true, selector: "c8y-custom-properties", ngImport: i0, template: "<c8y-title *ngIf=\"tenant\">\n {{ tenant.company }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<ng-container>\n <form\n [formGroup]=\"customPropsForm\"\n (ngSubmit)=\"onSubmit()\"\n >\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Custom properties\n </div>\n </div>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#custom-properties\"></c8y-help>\n\n <!-- empty state -->\n <c8y-ui-empty-state\n [icon]=\"'property-script'\"\n [title]=\"'No custom properties to display.' | translate\"\n [subtitle]=\"'Add a new tenant property in Properties library.' | translate\"\n *ngIf=\"fieldDefinitions?.length === 0 && initialized\"\n >\n <p c8y-guide-docs>\n <small translate>\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants/#custom-properties\">\n User guide\n </a>\n .\n </small>\n </p>\n </c8y-ui-empty-state>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let field of fieldDefinitions\">\n <c8y-custom-property-field\n [fieldDefinition]=\"field\"\n [form]=\"customPropsForm\"\n ></c8y-custom-property-field>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n data-cy=\"custom-properties--cancel-button\"\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"!(!customPropsForm.invalid && customPropsForm.dirty)\"\n translate\n data-cy=\"custom-properties--save-button\"\n >\n Save\n </button>\n </div>\n </div>\n </form>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule$1 }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: i1.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i1.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i1.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i1.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i1.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i1.GuideHrefDirective, selector: "[c8y-guide-href]", inputs: ["c8y-guide-href"] }, { kind: "component", type: i1.GuideDocsComponent, selector: "[c8y-guide-docs]" }, { kind: "component", type: i1.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: CustomPropertyFieldComponent, selector: "c8y-custom-property-field", inputs: ["fieldDefinition", "form"] }] }); }
1125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CustomPropertiesComponent, deps: [{ token: i1$1.TenantService }, { token: i1.AlertService }, { token: i3.ActivatedRoute }, { token: CustomPropertiesService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
1126
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: CustomPropertiesComponent, isStandalone: true, selector: "c8y-custom-properties", ngImport: i0, template: "<c8y-title *ngIf=\"tenant\">\n {{ tenant.company }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<ng-container>\n <form\n [formGroup]=\"customPropsForm\"\n (ngSubmit)=\"onSubmit()\"\n >\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Custom properties\n </div>\n </div>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#custom-properties\"></c8y-help>\n\n <!-- empty state -->\n <c8y-ui-empty-state\n [icon]=\"'property-script'\"\n [title]=\"'No custom properties to display.' | translate\"\n [subtitle]=\"'Add a new tenant property in Properties library.' | translate\"\n *ngIf=\"fieldDefinitions?.length === 0 && initialized\"\n >\n <p c8y-guide-docs>\n <small translate>\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants/#custom-properties\">\n User guide\n </a>\n .\n </small>\n </p>\n </c8y-ui-empty-state>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let field of fieldDefinitions\">\n <c8y-custom-property-field\n [fieldDefinition]=\"field\"\n [form]=\"customPropsForm\"\n ></c8y-custom-property-field>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n data-cy=\"custom-properties--cancel-button\"\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"!(!customPropsForm.invalid && customPropsForm.dirty)\"\n translate\n data-cy=\"custom-properties--save-button\"\n >\n Save\n </button>\n </div>\n </div>\n </form>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule$1 }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: i1.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i1.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i1.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i1.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i1.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i1.GuideHrefDirective, selector: "[c8y-guide-href]", inputs: ["c8y-guide-href"] }, { kind: "component", type: i1.GuideDocsComponent, selector: "[c8y-guide-docs]" }, { kind: "component", type: i1.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: CustomPropertyFieldComponent, selector: "c8y-custom-property-field", inputs: ["fieldDefinition", "form"] }] }); }
1084
1127
  }
1085
1128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: CustomPropertiesComponent, decorators: [{
1086
1129
  type: Component,
1087
1130
  args: [{ selector: 'c8y-custom-properties', standalone: true, imports: [
1088
1131
  CommonModule$1,
1089
1132
  ReactiveFormsModule,
1090
- FormsModule,
1133
+ FormsModule$1,
1091
1134
  CoreModule,
1092
1135
  RouterLink,
1093
1136
  CustomPropertyFieldComponent
1094
1137
  ], template: "<c8y-title *ngIf=\"tenant\">\n {{ tenant.company }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<ng-container>\n <form\n [formGroup]=\"customPropsForm\"\n (ngSubmit)=\"onSubmit()\"\n >\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Custom properties\n </div>\n </div>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#custom-properties\"></c8y-help>\n\n <!-- empty state -->\n <c8y-ui-empty-state\n [icon]=\"'property-script'\"\n [title]=\"'No custom properties to display.' | translate\"\n [subtitle]=\"'Add a new tenant property in Properties library.' | translate\"\n *ngIf=\"fieldDefinitions?.length === 0 && initialized\"\n >\n <p c8y-guide-docs>\n <small translate>\n Find out more in the\n <a c8y-guide-href=\"/docs/enterprise-tenant/managing-tenants/#custom-properties\">\n User guide\n </a>\n .\n </small>\n </p>\n </c8y-ui-empty-state>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let field of fieldDefinitions\">\n <c8y-custom-property-field\n [fieldDefinition]=\"field\"\n [form]=\"customPropsForm\"\n ></c8y-custom-property-field>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n data-cy=\"custom-properties--cancel-button\"\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"!(!customPropsForm.invalid && customPropsForm.dirty)\"\n translate\n data-cy=\"custom-properties--save-button\"\n >\n Save\n </button>\n </div>\n </div>\n </form>\n</ng-container>\n" }]
1095
- }], ctorParameters: () => [{ type: i1$1.TenantService }, { type: i1.AlertService }, { type: i5$1.ActivatedRoute }, { type: CustomPropertiesService }, { type: i1.GainsightService }] });
1138
+ }], ctorParameters: () => [{ type: i1$1.TenantService }, { type: i1.AlertService }, { type: i3.ActivatedRoute }, { type: CustomPropertiesService }, { type: i1.GainsightService }] });
1096
1139
 
1097
1140
  const MAX_DEVICE_STORAGE_LIMIT_MiB = Math.round(Number.MAX_SAFE_INTEGER / 1024 / 1024);
1098
1141
  /**
@@ -1291,13 +1334,13 @@ class TenantLimitsComponent {
1291
1334
  ...props
1292
1335
  });
1293
1336
  }
1294
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantLimitsComponent, deps: [{ token: i1$1.TenantService }, { token: i1.AlertService }, { token: i5$1.ActivatedRoute }, { token: i1$1.ApplicationService }, { token: i1.OptionsService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
1295
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TenantLimitsComponent, isStandalone: true, selector: "c8y-tenant-limits", ngImport: i0, template: "<c8y-title *ngIf=\"tenant\">\n {{ tenant.company }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n [formGroup]=\"limitsForm\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Limits\n </div>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#setting-limits\"></c8y-help>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let key of fieldKeys\">\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'text'\">\n <ng-container\n *ngTemplateOutlet=\"textField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"numberField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'checkbox'\">\n <ng-container\n *ngTemplateOutlet=\"checkboxField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"limitsForm.invalid\"\n translate\n >\n Save\n </button>\n </div>\n </div>\n\n <ng-template\n #textField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #numberField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <ng-container\n *ngIf=\"\n fieldDefinitions.deviceStorageLimitMiB &&\n fieldDefinitions.deviceStorageLimitMiB.id === fieldDefinition.id &&\n limitsForm.controls[fieldDefinition.id] as control\n \"\n >\n <div\n class=\"icon-flex\"\n *ngIf=\"!control.dirty || (control.dirty && !control.errors)\"\n >\n <p class=\"help-block\">\n <i\n class=\"text-info m-r-4\"\n c8yIcon=\"info-circle\"\n ></i>\n <span>{{ deviceStorageLimitInfoMessage | translate }}</span>\n </p>\n </div>\n </ng-container>\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #checkboxField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-template>\n</form>\n", dependencies: [{ kind: "ngmodule", type: CommonModule$1 }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: i1.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i1.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: i1.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i1.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i1.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i1.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i1.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
1337
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantLimitsComponent, deps: [{ token: i1$1.TenantService }, { token: i1.AlertService }, { token: i3.ActivatedRoute }, { token: i1$1.ApplicationService }, { token: i1.OptionsService }, { token: i1.GainsightService }], target: i0.ɵɵFactoryTarget.Component }); }
1338
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TenantLimitsComponent, isStandalone: true, selector: "c8y-tenant-limits", ngImport: i0, template: "<c8y-title *ngIf=\"tenant\">\n {{ tenant.company }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n [formGroup]=\"limitsForm\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Limits\n </div>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#setting-limits\"></c8y-help>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let key of fieldKeys\">\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'text'\">\n <ng-container\n *ngTemplateOutlet=\"textField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"numberField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'checkbox'\">\n <ng-container\n *ngTemplateOutlet=\"checkboxField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"limitsForm.invalid\"\n translate\n >\n Save\n </button>\n </div>\n </div>\n\n <ng-template\n #textField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #numberField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <ng-container\n *ngIf=\"\n fieldDefinitions.deviceStorageLimitMiB &&\n fieldDefinitions.deviceStorageLimitMiB.id === fieldDefinition.id &&\n limitsForm.controls[fieldDefinition.id] as control\n \"\n >\n <div\n class=\"icon-flex\"\n *ngIf=\"!control.dirty || (control.dirty && !control.errors)\"\n >\n <p class=\"help-block\">\n <i\n class=\"text-info m-r-4\"\n c8yIcon=\"info-circle\"\n ></i>\n <span>{{ deviceStorageLimitInfoMessage | translate }}</span>\n </p>\n </div>\n </ng-container>\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #checkboxField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-template>\n</form>\n", dependencies: [{ kind: "ngmodule", type: CommonModule$1 }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule$1 }, { kind: "component", type: i1.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i1.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: i1.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i1.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i1.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i1.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "component", type: i1.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
1296
1339
  }
1297
1340
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantLimitsComponent, decorators: [{
1298
1341
  type: Component,
1299
- args: [{ selector: 'c8y-tenant-limits', standalone: true, imports: [CommonModule$1, ReactiveFormsModule, FormsModule, CoreModule, RouterLink], template: "<c8y-title *ngIf=\"tenant\">\n {{ tenant.company }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n [formGroup]=\"limitsForm\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Limits\n </div>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#setting-limits\"></c8y-help>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let key of fieldKeys\">\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'text'\">\n <ng-container\n *ngTemplateOutlet=\"textField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"numberField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'checkbox'\">\n <ng-container\n *ngTemplateOutlet=\"checkboxField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"limitsForm.invalid\"\n translate\n >\n Save\n </button>\n </div>\n </div>\n\n <ng-template\n #textField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #numberField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <ng-container\n *ngIf=\"\n fieldDefinitions.deviceStorageLimitMiB &&\n fieldDefinitions.deviceStorageLimitMiB.id === fieldDefinition.id &&\n limitsForm.controls[fieldDefinition.id] as control\n \"\n >\n <div\n class=\"icon-flex\"\n *ngIf=\"!control.dirty || (control.dirty && !control.errors)\"\n >\n <p class=\"help-block\">\n <i\n class=\"text-info m-r-4\"\n c8yIcon=\"info-circle\"\n ></i>\n <span>{{ deviceStorageLimitInfoMessage | translate }}</span>\n </p>\n </div>\n </ng-container>\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #checkboxField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-template>\n</form>\n" }]
1300
- }], ctorParameters: () => [{ type: i1$1.TenantService }, { type: i1.AlertService }, { type: i5$1.ActivatedRoute }, { type: i1$1.ApplicationService }, { type: i1.OptionsService }, { type: i1.GainsightService }] });
1342
+ args: [{ selector: 'c8y-tenant-limits', standalone: true, imports: [CommonModule$1, ReactiveFormsModule, FormsModule$1, CoreModule, RouterLink], template: "<c8y-title *ngIf=\"tenant\">\n {{ tenant.company }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Tenants' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-layers'\"\n [label]=\"'Subtenants' | translate\"\n [path]=\"'/tenants'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n [formGroup]=\"limitsForm\"\n (ngSubmit)=\"onSubmit()\"\n>\n <div class=\"card card--fullpage m-b-0\">\n <div class=\"card-header separator\">\n <div\n class=\"card-title\"\n translate\n >\n Limits\n </div>\n </div>\n\n <c8y-help src=\"/docs/enterprise-tenant/managing-tenants/#setting-limits\"></c8y-help>\n\n <div class=\"inner-scroll\">\n <div\n class=\"card-block\"\n *ngIf=\"!initialized\"\n >\n <c8y-loading></c8y-loading>\n </div>\n\n <div\n class=\"card-block\"\n *ngIf=\"initialized\"\n >\n <ng-container *ngFor=\"let key of fieldKeys\">\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'text'\">\n <ng-container\n *ngTemplateOutlet=\"textField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"numberField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"fieldDefinitions[key].type === 'checkbox'\">\n <ng-container\n *ngTemplateOutlet=\"checkboxField; context: { $implicit: fieldDefinitions[key] }\"\n ></ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <div\n class=\"card-footer separator\"\n *ngIf=\"initialized\"\n >\n <button\n class=\"btn btn-default\"\n type=\"button\"\n [routerLink]=\"['/tenants']\"\n translate\n >\n Cancel\n </button>\n <button\n class=\"btn btn-primary\"\n type=\"submit\"\n [disabled]=\"limitsForm.invalid\"\n translate\n >\n Save\n </button>\n </div>\n </div>\n\n <ng-template\n #textField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"text\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #numberField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label [for]=\"fieldDefinition.id\">\n {{ fieldDefinition.label | translate: fieldDefinition.labelArgs }}\n </label>\n <input\n class=\"form-control\"\n type=\"number\"\n [id]=\"fieldDefinition.id\"\n [placeholder]=\"fieldDefinition.placeholder | translate: fieldDefinition.placeholderArgs\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <ng-container\n *ngIf=\"\n fieldDefinitions.deviceStorageLimitMiB &&\n fieldDefinitions.deviceStorageLimitMiB.id === fieldDefinition.id &&\n limitsForm.controls[fieldDefinition.id] as control\n \"\n >\n <div\n class=\"icon-flex\"\n *ngIf=\"!control.dirty || (control.dirty && !control.errors)\"\n >\n <p class=\"help-block\">\n <i\n class=\"text-info m-r-4\"\n c8yIcon=\"info-circle\"\n ></i>\n <span>{{ deviceStorageLimitInfoMessage | translate }}</span>\n </p>\n </div>\n </ng-container>\n </c8y-form-group>\n </ng-template>\n\n <ng-template\n #checkboxField\n let-fieldDefinition\n >\n <c8y-form-group>\n <label\n class=\"c8y-checkbox\"\n [title]=\"fieldDefinition.label | translate\"\n [for]=\"fieldDefinition.id\"\n >\n <input\n type=\"checkbox\"\n [id]=\"fieldDefinition.id\"\n [formControlName]=\"fieldDefinition.id\"\n />\n <span></span>\n <span>{{ fieldDefinition.label | translate }}</span>\n </label>\n </c8y-form-group>\n </ng-template>\n</form>\n" }]
1343
+ }], ctorParameters: () => [{ type: i1$1.TenantService }, { type: i1.AlertService }, { type: i3.ActivatedRoute }, { type: i1$1.ApplicationService }, { type: i1.OptionsService }, { type: i1.GainsightService }] });
1301
1344
 
1302
1345
  class ExistingTenantGuard {
1303
1346
  /**
@@ -1328,10 +1371,14 @@ class TenantsModule {
1328
1371
  };
1329
1372
  }
1330
1373
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1331
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: TenantsModule, declarations: [TenantListComponent,
1374
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.14", ngImport: i0, type: TenantsModule, imports: [BsDatepickerModule,
1375
+ CoreModule,
1376
+ RouterModule,
1377
+ SupportUserAccessComponent,
1378
+ TenantListComponent,
1332
1379
  CreationTimeFilteringFormRendererComponent,
1333
1380
  StatusFilteringFormRendererComponent,
1334
- TenantFormComponent], imports: [BsDatepickerModule, CoreModule, RouterModule, SupportUserAccessComponent] }); }
1381
+ TenantFormComponent] }); }
1335
1382
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantsModule, providers: [
1336
1383
  TenantListGuard,
1337
1384
  ExistingTenantGuard,
@@ -1374,19 +1421,29 @@ class TenantsModule {
1374
1421
  canActivate: [ExistingTenantGuard]
1375
1422
  }
1376
1423
  ])
1377
- ], imports: [BsDatepickerModule, CoreModule, RouterModule, SupportUserAccessComponent] }); }
1424
+ ], imports: [BsDatepickerModule,
1425
+ CoreModule,
1426
+ RouterModule,
1427
+ SupportUserAccessComponent,
1428
+ TenantListComponent,
1429
+ CreationTimeFilteringFormRendererComponent,
1430
+ StatusFilteringFormRendererComponent,
1431
+ TenantFormComponent] }); }
1378
1432
  }
1379
1433
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TenantsModule, decorators: [{
1380
1434
  type: NgModule,
1381
1435
  args: [{
1382
- imports: [BsDatepickerModule, CoreModule, RouterModule, SupportUserAccessComponent],
1383
- exports: [],
1384
- declarations: [
1436
+ imports: [
1437
+ BsDatepickerModule,
1438
+ CoreModule,
1439
+ RouterModule,
1440
+ SupportUserAccessComponent,
1385
1441
  TenantListComponent,
1386
1442
  CreationTimeFilteringFormRendererComponent,
1387
1443
  StatusFilteringFormRendererComponent,
1388
1444
  TenantFormComponent
1389
1445
  ],
1446
+ exports: [],
1390
1447
  providers: [
1391
1448
  TenantListGuard,
1392
1449
  ExistingTenantGuard,