@c8y/ngx-components 1021.63.2 → 1021.66.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 (146) hide show
  1. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts +7 -2
  2. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts.map +1 -1
  3. package/core/bottom-drawer/bottom-drawer-ref.d.ts +4 -0
  4. package/core/bottom-drawer/bottom-drawer-ref.d.ts.map +1 -1
  5. package/core/breadcrumb/breadcrumb-item.component.d.ts +1 -1
  6. package/core/breadcrumb/breadcrumb-item.component.d.ts.map +1 -1
  7. package/core/breadcrumb/breadcrumb-outlet.component.d.ts +1 -1
  8. package/core/breadcrumb/breadcrumb-outlet.component.d.ts.map +1 -1
  9. package/core/breadcrumb/breadcrumb.component.d.ts +1 -1
  10. package/core/breadcrumb/breadcrumb.component.d.ts.map +1 -1
  11. package/core/breadcrumb/breadcrumb.module.d.ts +7 -7
  12. package/core/breadcrumb/breadcrumb.module.d.ts.map +1 -1
  13. package/core/common/common.module.d.ts +38 -38
  14. package/core/common/date-format.service.d.ts +30 -0
  15. package/core/common/date-format.service.d.ts.map +1 -0
  16. package/core/common/date.pipe.d.ts +7 -3
  17. package/core/common/date.pipe.d.ts.map +1 -1
  18. package/core/common/index.d.ts +1 -0
  19. package/core/common/index.d.ts.map +1 -1
  20. package/core/common/outlet.directive.d.ts +1 -1
  21. package/core/common/outlet.directive.d.ts.map +1 -1
  22. package/core/common/user-preferences/user-preferences-store-current-user.d.ts +11 -0
  23. package/core/common/user-preferences/user-preferences-store-current-user.d.ts.map +1 -0
  24. package/core/common/user-preferences/user-preferences.service.d.ts +40 -1
  25. package/core/common/user-preferences/user-preferences.service.d.ts.map +1 -1
  26. package/core/date-picker/date-picker.component.d.ts +3 -1
  27. package/core/date-picker/date-picker.component.d.ts.map +1 -1
  28. package/core/date-time-picker/date-time-picker.component.d.ts +6 -3
  29. package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
  30. package/core/dynamic-forms/date/date.type.component.d.ts +3 -0
  31. package/core/dynamic-forms/date/date.type.component.d.ts.map +1 -1
  32. package/core/plugins/plugins.model.d.ts +1 -0
  33. package/core/plugins/plugins.model.d.ts.map +1 -1
  34. package/core/plugins/plugins.service.d.ts +7 -2
  35. package/core/plugins/plugins.service.d.ts.map +1 -1
  36. package/core/time-interval/time-interval.component.d.ts +4 -2
  37. package/core/time-interval/time-interval.component.d.ts.map +1 -1
  38. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts +15 -0
  39. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts.map +1 -0
  40. package/ecosystem/application-plugins/application-plugins.component.d.ts +4 -2
  41. package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
  42. package/ecosystem/application-plugins/application-plugins.module.d.ts +4 -3
  43. package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
  44. package/ecosystem/application-plugins/install-plugin.component.d.ts +8 -4
  45. package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
  46. package/ecosystem/application-plugins/plugin-list.component.d.ts +10 -26
  47. package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
  48. package/ecosystem/application-plugins/plugin-list.service.d.ts +27 -0
  49. package/ecosystem/application-plugins/plugin-list.service.d.ts.map +1 -0
  50. package/ecosystem/ecosystem.module.d.ts +2 -1
  51. package/ecosystem/ecosystem.module.d.ts.map +1 -1
  52. package/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.d.ts +15 -0
  53. package/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.d.ts.map +1 -0
  54. package/ecosystem/packages/package-changelog.guard.d.ts +10 -0
  55. package/ecosystem/packages/package-changelog.guard.d.ts.map +1 -0
  56. package/ecosystem/packages/package-details/package-details.component.d.ts +7 -9
  57. package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
  58. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts +5 -1
  59. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts.map +1 -1
  60. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts +8 -3
  61. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts.map +1 -1
  62. package/ecosystem/packages/package-versions/packages-versions.component.d.ts +9 -2
  63. package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
  64. package/ecosystem/shared/index.d.ts +1 -0
  65. package/ecosystem/shared/index.d.ts.map +1 -1
  66. package/ecosystem/shared/package-changelog/package-changelog.component.d.ts +24 -0
  67. package/ecosystem/shared/package-changelog/package-changelog.component.d.ts.map +1 -0
  68. package/ecosystem/shared/shared-ecosystem.module.d.ts +2 -1
  69. package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
  70. package/esm2022/auth-configuration/sso-configuration/template-parts/signature-configuration.component.mjs +11 -7
  71. package/esm2022/core/bottom-drawer/bottom-drawer-ref.mjs +9 -3
  72. package/esm2022/core/breadcrumb/breadcrumb-item.component.mjs +3 -3
  73. package/esm2022/core/breadcrumb/breadcrumb-outlet.component.mjs +19 -9
  74. package/esm2022/core/breadcrumb/breadcrumb.component.mjs +3 -3
  75. package/esm2022/core/breadcrumb/breadcrumb.module.mjs +16 -5
  76. package/esm2022/core/common/common.module.mjs +6 -6
  77. package/esm2022/core/common/date-format.service.mjs +81 -0
  78. package/esm2022/core/common/date.pipe.mjs +29 -6
  79. package/esm2022/core/common/index.mjs +2 -1
  80. package/esm2022/core/common/outlet.directive.mjs +4 -3
  81. package/esm2022/core/common/user-preferences/user-preferences-store-current-user.mjs +22 -0
  82. package/esm2022/core/common/user-preferences/user-preferences.service.mjs +106 -16
  83. package/esm2022/core/date-picker/date-picker.component.mjs +11 -4
  84. package/esm2022/core/date-time-picker/date-time-picker.component.mjs +20 -11
  85. package/esm2022/core/dynamic-forms/date/date.type.component.mjs +12 -4
  86. package/esm2022/core/plugins/plugins.model.mjs +1 -1
  87. package/esm2022/core/plugins/plugins.service.mjs +31 -5
  88. package/esm2022/core/time-interval/time-interval.component.mjs +9 -2
  89. package/esm2022/ecosystem/application-plugins/application-plugin-readme.component.mjs +26 -0
  90. package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +29 -14
  91. package/esm2022/ecosystem/application-plugins/application-plugins.module.mjs +6 -3
  92. package/esm2022/ecosystem/application-plugins/install-plugin.component.mjs +21 -15
  93. package/esm2022/ecosystem/application-plugins/plugin-list-item.component.mjs +3 -3
  94. package/esm2022/ecosystem/application-plugins/plugin-list.component.mjs +26 -202
  95. package/esm2022/ecosystem/application-plugins/plugin-list.service.mjs +200 -0
  96. package/esm2022/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.mjs +3 -3
  97. package/esm2022/ecosystem/application-properties/update-application-modal/update-application-modal.component.mjs +1 -1
  98. package/esm2022/ecosystem/ecosystem.module.mjs +21 -5
  99. package/esm2022/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.mjs +33 -0
  100. package/esm2022/ecosystem/packages/package-changelog.guard.mjs +22 -0
  101. package/esm2022/ecosystem/packages/package-details/package-details.component.mjs +25 -44
  102. package/esm2022/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.mjs +14 -4
  103. package/esm2022/ecosystem/packages/package-versions/package-contents/packages-contents.component.mjs +27 -8
  104. package/esm2022/ecosystem/packages/package-versions/packages-versions.component.mjs +22 -8
  105. package/esm2022/ecosystem/shared/index.mjs +2 -1
  106. package/esm2022/ecosystem/shared/list-filters/list-filters.component.mjs +3 -3
  107. package/esm2022/ecosystem/shared/package-changelog/package-changelog.component.mjs +82 -0
  108. package/esm2022/ecosystem/shared/package-version-select/package-version-select.component.mjs +3 -3
  109. package/esm2022/ecosystem/shared/shared-ecosystem.module.mjs +12 -6
  110. package/esm2022/operations/bulk-operation-scheduler/operation-scheduler.component.mjs +9 -7
  111. package/esm2022/operations/bulk-operations-list/bulk-operations-list.component.mjs +1 -1
  112. package/esm2022/upgrade/ng1/downgraded.services.mjs +3 -2
  113. package/esm2022/upgrade/ng1/index.mjs +3 -2
  114. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +9 -5
  115. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  116. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +209 -142
  117. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  118. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +96 -13
  119. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  120. package/fesm2022/c8y-ngx-components-ecosystem.mjs +336 -186
  121. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  122. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -5
  123. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
  124. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +1 -1
  125. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
  126. package/fesm2022/c8y-ngx-components-upgrade.mjs +3 -1
  127. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  128. package/fesm2022/c8y-ngx-components.mjs +833 -550
  129. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  130. package/locales/de.po +45 -6
  131. package/locales/es.po +45 -6
  132. package/locales/fr.po +45 -6
  133. package/locales/ja_JP.po +45 -6
  134. package/locales/ko.po +45 -6
  135. package/locales/locales.pot +42 -6
  136. package/locales/nl.po +45 -6
  137. package/locales/pl.po +45 -6
  138. package/locales/pt_BR.po +45 -6
  139. package/locales/zh_CN.po +45 -6
  140. package/locales/zh_TW.po +45 -6
  141. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts +4 -2
  142. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
  143. package/package.json +1 -1
  144. package/upgrade/ng1/downgraded.services.d.ts +1 -0
  145. package/upgrade/ng1/downgraded.services.d.ts.map +1 -1
  146. package/upgrade/ng1/index.d.ts.map +1 -1
@@ -1,5 +1,5 @@
1
1
  import { downgradeInjectable } from '@angular/upgrade/static';
2
- import { AlertService, AppStateService, AssetLinkPipe, CachedLocaleDictionaryService, DocsService, FilesService, GainsightService, GlobalConfigService, HeaderService, ModalService, PasswordService, PropertyValueTransformService, ServiceRegistry, UserMenuService } from '@c8y/ngx-components';
2
+ import { AlertService, AppStateService, AssetLinkPipe, CachedLocaleDictionaryService, DateFormatService, DocsService, FilesService, GainsightService, GlobalConfigService, HeaderService, ModalService, PasswordService, PropertyValueTransformService, ServiceRegistry, UserMenuService } from '@c8y/ngx-components';
3
3
  import { ApiService } from '@c8y/ngx-components/api';
4
4
  import { DeviceGridService } from '@c8y/ngx-components/device-grid';
5
5
  import { DeviceTypeDetailEditedService } from '@c8y/ngx-components/device-protocols';
@@ -32,4 +32,5 @@ export const serviceRegistryInjectable = downgradeInjectable(ServiceRegistry);
32
32
  export const assetLinkPipeDowngradedInjectable = downgradeInjectable(AssetLinkPipe);
33
33
  export const propertyValueTransformServiceDowngradedInjectable = downgradeInjectable(PropertyValueTransformService);
34
34
  export const datapointSelectorServiceDowngradedInjectable = downgradeInjectable(DatapointSelectorService);
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmdyYWRlZC5zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3VwZ3JhZGUvbmcxL2Rvd25ncmFkZWQuc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLFlBQVksRUFDWixlQUFlLEVBQ2YsYUFBYSxFQUNiLDZCQUE2QixFQUM3QixXQUFXLEVBQ1gsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLFlBQVksRUFDWixlQUFlLEVBQ2YsNkJBQTZCLEVBQzdCLGVBQWUsRUFDZixlQUFlLEVBQ2hCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ2hHLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDNUYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDeEYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDcEYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbkYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDeEYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDOUUsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDaEYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDeEYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMxRixNQUFNLENBQUMsTUFBTSxpREFBaUQsR0FBRyxtQkFBbUIsQ0FDbEYsNkJBQTZCLENBQzlCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ2hHLE1BQU0sQ0FBQyxNQUFNLHlDQUF5QyxHQUFHLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDcEcsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbEYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMxRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNsRixNQUFNLENBQUMsTUFBTSxpREFBaUQsR0FBRyxtQkFBbUIsQ0FDbEYsNkJBQTZCLENBQzlCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLGlEQUFpRCxHQUFHLG1CQUFtQixDQUNsRiw2QkFBNkIsQ0FDOUIsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLDRDQUE0QyxHQUN2RCxtQkFBbUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZG93bmdyYWRlSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL3VwZ3JhZGUvc3RhdGljJztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgQXBwU3RhdGVTZXJ2aWNlLFxuICBBc3NldExpbmtQaXBlLFxuICBDYWNoZWRMb2NhbGVEaWN0aW9uYXJ5U2VydmljZSxcbiAgRG9jc1NlcnZpY2UsXG4gIEZpbGVzU2VydmljZSxcbiAgR2FpbnNpZ2h0U2VydmljZSxcbiAgR2xvYmFsQ29uZmlnU2VydmljZSxcbiAgSGVhZGVyU2VydmljZSxcbiAgTW9kYWxTZXJ2aWNlLFxuICBQYXNzd29yZFNlcnZpY2UsXG4gIFByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlLFxuICBTZXJ2aWNlUmVnaXN0cnksXG4gIFVzZXJNZW51U2VydmljZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEFwaVNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2FwaSc7XG5pbXBvcnQgeyBEZXZpY2VHcmlkU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGV2aWNlLWdyaWQnO1xuaW1wb3J0IHsgRGV2aWNlVHlwZURldGFpbEVkaXRlZFNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RldmljZS1wcm90b2NvbHMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQWJzb2x1dGVEYXRlU2VydmljZSB9IGZyb20gJy4uL2Fic29sdXRlLWRhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoQnJpZGdlU2VydmljZSB9IGZyb20gJy4uL2F1dGgtYnJpZGdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnJpZGdlU2VydmljZSB9IGZyb20gJy4uL2JyaWRnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlcnZlck1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vc2VydmVyTWVzc2FnZXMuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhcG9pbnRTZWxlY3RvclNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5cbmV4cG9ydCBjb25zdCBhYnNvbHV0ZURhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKEFic29sdXRlRGF0ZVNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IGJyaWRnZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoQnJpZGdlU2VydmljZSk7XG5leHBvcnQgY29uc3QgYXV0aEJyaWRnZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoQXV0aEJyaWRnZVNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IGFwcFN0YXRlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShBcHBTdGF0ZVNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IGhlYWRlclNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoSGVhZGVyU2VydmljZSk7XG5leHBvcnQgY29uc3QgYWxlcnRzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShBbGVydFNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IHVzZXJNZW51U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShVc2VyTWVudVNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IGFwaVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoQXBpU2VydmljZSk7XG5leHBvcnQgY29uc3QgZG9jc1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoRG9jc1NlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IHBhc3N3b3JkU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShQYXNzd29yZFNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoVHJhbnNsYXRlU2VydmljZSk7XG5leHBvcnQgY29uc3QgY2FjaGVkTG9jYWxlRGljdGlvbmFyeVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoXG4gIENhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlXG4pO1xuZXhwb3J0IGNvbnN0IGdsb2JhbENvbmZpZ1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoR2xvYmFsQ29uZmlnU2VydmljZSk7XG5leHBvcnQgY29uc3Qgc2VydmVyTWVzc2FnZXNTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKFNlcnZlck1lc3NhZ2VzU2VydmljZSk7XG5leHBvcnQgY29uc3QgbW9kYWxTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKE1vZGFsU2VydmljZSk7XG5leHBvcnQgY29uc3QgZ2FpbnNpZ2h0U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShHYWluc2lnaHRTZXJ2aWNlKTtcbmV4cG9ydCBjb25zdCBmaWxlc1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoRmlsZXNTZXJ2aWNlKTtcbmV4cG9ydCBjb25zdCBkZXZpY2VUeXBlRGV0YWlsRWRpdGVkU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShcbiAgRGV2aWNlVHlwZURldGFpbEVkaXRlZFNlcnZpY2Vcbik7XG5leHBvcnQgY29uc3QgZGV2aWNlR3JpZFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoRGV2aWNlR3JpZFNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IHNlcnZpY2VSZWdpc3RyeUluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKFNlcnZpY2VSZWdpc3RyeSk7XG5leHBvcnQgY29uc3QgYXNzZXRMaW5rUGlwZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShBc3NldExpbmtQaXBlKTtcbmV4cG9ydCBjb25zdCBwcm9wZXJ0eVZhbHVlVHJhbnNmb3JtU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShcbiAgUHJvcGVydHlWYWx1ZVRyYW5zZm9ybVNlcnZpY2Vcbik7XG5leHBvcnQgY29uc3QgZGF0YXBvaW50U2VsZWN0b3JTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPVxuICBkb3duZ3JhZGVJbmplY3RhYmxlKERhdGFwb2ludFNlbGVjdG9yU2VydmljZSk7XG4iXX0=
35
+ export const dateFormatServiceInjectable = downgradeInjectable(DateFormatService);
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmdyYWRlZC5zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3VwZ3JhZGUvbmcxL2Rvd25ncmFkZWQuc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLFlBQVksRUFDWixlQUFlLEVBQ2YsYUFBYSxFQUNiLDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixZQUFZLEVBQ1osZUFBZSxFQUNmLDZCQUE2QixFQUM3QixlQUFlLEVBQ2YsZUFBZSxFQUNoQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUNoRyxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNwRixNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ25GLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2hGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDMUYsTUFBTSxDQUFDLE1BQU0saURBQWlELEdBQUcsbUJBQW1CLENBQ2xGLDZCQUE2QixDQUM5QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUNoRyxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FBRyxtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3BHLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDMUYsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDbEYsTUFBTSxDQUFDLE1BQU0saURBQWlELEdBQUcsbUJBQW1CLENBQ2xGLDZCQUE2QixDQUM5QixDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUM1RixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUM5RSxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNwRixNQUFNLENBQUMsTUFBTSxpREFBaUQsR0FBRyxtQkFBbUIsQ0FDbEYsNkJBQTZCLENBQzlCLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSw0Q0FBNEMsR0FDdkQsbUJBQW1CLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZG93bmdyYWRlSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL3VwZ3JhZGUvc3RhdGljJztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgQXBwU3RhdGVTZXJ2aWNlLFxuICBBc3NldExpbmtQaXBlLFxuICBDYWNoZWRMb2NhbGVEaWN0aW9uYXJ5U2VydmljZSxcbiAgRGF0ZUZvcm1hdFNlcnZpY2UsXG4gIERvY3NTZXJ2aWNlLFxuICBGaWxlc1NlcnZpY2UsXG4gIEdhaW5zaWdodFNlcnZpY2UsXG4gIEdsb2JhbENvbmZpZ1NlcnZpY2UsXG4gIEhlYWRlclNlcnZpY2UsXG4gIE1vZGFsU2VydmljZSxcbiAgUGFzc3dvcmRTZXJ2aWNlLFxuICBQcm9wZXJ0eVZhbHVlVHJhbnNmb3JtU2VydmljZSxcbiAgU2VydmljZVJlZ2lzdHJ5LFxuICBVc2VyTWVudVNlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9hcGknO1xuaW1wb3J0IHsgRGV2aWNlR3JpZFNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RldmljZS1ncmlkJztcbmltcG9ydCB7IERldmljZVR5cGVEZXRhaWxFZGl0ZWRTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9kZXZpY2UtcHJvdG9jb2xzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEFic29sdXRlRGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9hYnNvbHV0ZS1kYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aEJyaWRnZVNlcnZpY2UgfSBmcm9tICcuLi9hdXRoLWJyaWRnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEJyaWRnZVNlcnZpY2UgfSBmcm9tICcuLi9icmlkZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTZXJ2ZXJNZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZlck1lc3NhZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YXBvaW50U2VsZWN0b3JTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9kYXRhcG9pbnQtc2VsZWN0b3InO1xuXG5leHBvcnQgY29uc3QgYWJzb2x1dGVEYXRlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShBYnNvbHV0ZURhdGVTZXJ2aWNlKTtcbmV4cG9ydCBjb25zdCBicmlkZ2VTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKEJyaWRnZVNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IGF1dGhCcmlkZ2VTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKEF1dGhCcmlkZ2VTZXJ2aWNlKTtcbmV4cG9ydCBjb25zdCBhcHBTdGF0ZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoQXBwU3RhdGVTZXJ2aWNlKTtcbmV4cG9ydCBjb25zdCBoZWFkZXJTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKEhlYWRlclNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IGFsZXJ0c1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoQWxlcnRTZXJ2aWNlKTtcbmV4cG9ydCBjb25zdCB1c2VyTWVudVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoVXNlck1lbnVTZXJ2aWNlKTtcbmV4cG9ydCBjb25zdCBhcGlTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKEFwaVNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IGRvY3NTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKERvY3NTZXJ2aWNlKTtcbmV4cG9ydCBjb25zdCBwYXNzd29yZFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoUGFzc3dvcmRTZXJ2aWNlKTtcbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKFRyYW5zbGF0ZVNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IGNhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKFxuICBDYWNoZWRMb2NhbGVEaWN0aW9uYXJ5U2VydmljZVxuKTtcbmV4cG9ydCBjb25zdCBnbG9iYWxDb25maWdTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKEdsb2JhbENvbmZpZ1NlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IHNlcnZlck1lc3NhZ2VzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShTZXJ2ZXJNZXNzYWdlc1NlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IG1vZGFsU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShNb2RhbFNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IGdhaW5zaWdodFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoR2FpbnNpZ2h0U2VydmljZSk7XG5leHBvcnQgY29uc3QgZmlsZXNTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKEZpbGVzU2VydmljZSk7XG5leHBvcnQgY29uc3QgZGV2aWNlVHlwZURldGFpbEVkaXRlZFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoXG4gIERldmljZVR5cGVEZXRhaWxFZGl0ZWRTZXJ2aWNlXG4pO1xuZXhwb3J0IGNvbnN0IGRldmljZUdyaWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUgPSBkb3duZ3JhZGVJbmplY3RhYmxlKERldmljZUdyaWRTZXJ2aWNlKTtcbmV4cG9ydCBjb25zdCBzZXJ2aWNlUmVnaXN0cnlJbmplY3RhYmxlID0gZG93bmdyYWRlSW5qZWN0YWJsZShTZXJ2aWNlUmVnaXN0cnkpO1xuZXhwb3J0IGNvbnN0IGFzc2V0TGlua1BpcGVEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoQXNzZXRMaW5rUGlwZSk7XG5leHBvcnQgY29uc3QgcHJvcGVydHlWYWx1ZVRyYW5zZm9ybVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoXG4gIFByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlXG4pO1xuZXhwb3J0IGNvbnN0IGRhdGFwb2ludFNlbGVjdG9yU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlID1cbiAgZG93bmdyYWRlSW5qZWN0YWJsZShEYXRhcG9pbnRTZWxlY3RvclNlcnZpY2UpO1xuZXhwb3J0IGNvbnN0IGRhdGVGb3JtYXRTZXJ2aWNlSW5qZWN0YWJsZSA9IGRvd25ncmFkZUluamVjdGFibGUoRGF0ZUZvcm1hdFNlcnZpY2UpO1xuIl19
@@ -4,7 +4,7 @@ import { QueriesUtil } from '@c8y/client';
4
4
  import * as angular from 'angular';
5
5
  import { c8yAlertDecorator } from './alert.decorator';
6
6
  import { appLogsAutoRefreshComponentDowngradedComponent, bootstrapComponentDowngradedComponent, dataGridComponentDowngradedComponent, datapointSelectionListComponentDowngradedComponent, emptyStateComponentDowngradedComponent, helpComponentDowngradedComponent, highlightComponentDowngradedComponent, loadingComponentDowngradedComponent, paginationComponentDowngradedComponent, passwordInputComponentDowngradedComponent, platformConfigurationFormDowngradedComponent, rangeDisplayComponentDowngradedComponent, rolesAssetTreeComponentDowngradedComponent, userTotpComponentDowngradedComponent } from './downgraded.components';
7
- import { absoluteDateServiceDowngradedInjectable, alertsServiceDowngradedInjectable, apiServiceDowngradedInjectable, appStateServiceDowngradedInjectable, assetLinkPipeDowngradedInjectable, authBridgeServiceDowngradedInjectable, bridgeServiceDowngradedInjectable, cachedLocaleDictionaryServiceDowngradedInjectable, datapointSelectorServiceDowngradedInjectable, deviceGridServiceDowngradedInjectable, deviceTypeDetailEditedServiceDowngradedInjectable, docsServiceDowngradedInjectable, filesServiceDowngradedInjectable, gainsightServiceDowngradedInjectable, globalConfigServiceDowngradedInjectable, headerServiceDowngradedInjectable, modalServiceDowngradedInjectable, passwordServiceDowngradedInjectable, propertyValueTransformServiceDowngradedInjectable, serverMessagesServiceDowngradedInjectable, serviceRegistryInjectable, translateServiceDowngradedInjectable, userMenuServiceDowngradedInjectable } from './downgraded.services';
7
+ import { absoluteDateServiceDowngradedInjectable, alertsServiceDowngradedInjectable, apiServiceDowngradedInjectable, appStateServiceDowngradedInjectable, assetLinkPipeDowngradedInjectable, authBridgeServiceDowngradedInjectable, bridgeServiceDowngradedInjectable, cachedLocaleDictionaryServiceDowngradedInjectable, datapointSelectorServiceDowngradedInjectable, dateFormatServiceInjectable, deviceGridServiceDowngradedInjectable, deviceTypeDetailEditedServiceDowngradedInjectable, docsServiceDowngradedInjectable, filesServiceDowngradedInjectable, gainsightServiceDowngradedInjectable, globalConfigServiceDowngradedInjectable, headerServiceDowngradedInjectable, modalServiceDowngradedInjectable, passwordServiceDowngradedInjectable, propertyValueTransformServiceDowngradedInjectable, serverMessagesServiceDowngradedInjectable, serviceRegistryInjectable, translateServiceDowngradedInjectable, userMenuServiceDowngradedInjectable } from './downgraded.services';
8
8
  import { gettextCatalogDecorator } from './gettextCatalog.decorator';
9
9
  import { groupTypesHierarchyNavigatorDecorator } from './groupsHierarchyNavigator.decorator';
10
10
  import { c8yNg1HttpInterceptor } from './http.interceptor';
@@ -30,6 +30,7 @@ angular
30
30
  .factory('c8yBridgeService', bridgeServiceDowngradedInjectable)
31
31
  .factory('c8yAuthBridgeService', authBridgeServiceDowngradedInjectable)
32
32
  .factory('c8yAppStateService', appStateServiceDowngradedInjectable)
33
+ .factory('c8yDateFormatService', dateFormatServiceInjectable)
33
34
  .factory('c8yHeaderService', headerServiceDowngradedInjectable)
34
35
  .factory('c8yUserMenuService', userMenuServiceDowngradedInjectable)
35
36
  // tslint:disable-next-line:only-arrow-functions
@@ -85,4 +86,4 @@ angular
85
86
  }
86
87
  ]);
87
88
  export const ng1ModulesUpgrade = ['app', NAME_UPGRADE];
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi91cGdyYWRlL25nMS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUNMLDhDQUE4QyxFQUM5QyxxQ0FBcUMsRUFDckMsb0NBQW9DLEVBQ3BDLGtEQUFrRCxFQUNsRCxzQ0FBc0MsRUFDdEMsZ0NBQWdDLEVBQ2hDLHFDQUFxQyxFQUNyQyxtQ0FBbUMsRUFDbkMsc0NBQXNDLEVBQ3RDLHlDQUF5QyxFQUN6Qyw0Q0FBNEMsRUFDNUMsd0NBQXdDLEVBQ3hDLDBDQUEwQyxFQUMxQyxvQ0FBb0MsRUFDckMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsdUNBQXVDLEVBQ3ZDLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsbUNBQW1DLEVBQ25DLGlDQUFpQyxFQUNqQyxxQ0FBcUMsRUFDckMsaUNBQWlDLEVBQ2pDLGlEQUFpRCxFQUNqRCw0Q0FBNEMsRUFDNUMscUNBQXFDLEVBQ3JDLGlEQUFpRCxFQUNqRCwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLG9DQUFvQyxFQUNwQyx1Q0FBdUMsRUFDdkMsaUNBQWlDLEVBQ2pDLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMsaURBQWlELEVBQ2pELHlDQUF5QyxFQUN6Qyx5QkFBeUIsRUFDekIsb0NBQW9DLEVBQ3BDLG1DQUFtQyxFQUNwQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxN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LDBGQUEwRjtJQUM1RixDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBRUwsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRvd25ncmFkZUluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci91cGdyYWRlL3N0YXRpYyc7XG5pbXBvcnQgeyBRdWVyaWVzVXRpbCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCAqIGFzIGFuZ3VsYXIgZnJvbSAnYW5ndWxhcic7XG5pbXBvcnQgeyBjOHlBbGVydERlY29yYXRvciB9IGZyb20gJy4vYWxlcnQuZGVjb3JhdG9yJztcbmltcG9ydCB7XG4gIGFwcExvZ3NBdXRvUmVmcmVzaENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIGJvb3RzdHJhcENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIGRhdGFHcmlkQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgZGF0YXBvaW50U2VsZWN0aW9uTGlzdENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIGVtcHR5U3RhdGVDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBoZWxwQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgaGlnaGxpZ2h0Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgbG9hZGluZ0NvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIHBhZ2luYXRpb25Db21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBwYXNzd29yZElucHV0Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgcGxhdGZvcm1Db25maWd1cmF0aW9uRm9ybURvd25ncmFkZWRDb21wb25lbnQsXG4gIHJhbmdlRGlzcGxheUNvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIHJvbGVzQXNzZXRUcmVlQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgdXNlclRvdHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50XG59IGZyb20gJy4vZG93bmdyYWRlZC5jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIGFic29sdXRlRGF0ZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgYWxlcnRzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBhcGlTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGFwcFN0YXRlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBhc3NldExpbmtQaXBlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGF1dGhCcmlkZ2VTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGJyaWRnZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgY2FjaGVkTG9jYWxlRGljdGlvbmFyeVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgZGF0YXBvaW50U2VsZWN0b3JTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGRldmljZUdyaWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGRldmljZVR5cGVEZXRhaWxFZGl0ZWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGRvY3NTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGZpbGVzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBnYWluc2lnaHRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGdsb2JhbENvbmZpZ1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgaGVhZGVyU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBtb2RhbFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgcGFzc3dvcmRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIHByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIHNlcnZlck1lc3NhZ2VzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBzZXJ2aWNlUmVnaXN0cnlJbmplY3RhYmxlLFxuICB0cmFuc2xhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIHVzZXJNZW51U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlXG59IGZyb20gJy4vZG93bmdyYWRlZC5zZXJ2aWNlcyc7XG5pbXBvcnQgeyBnZXR0ZXh0Q2F0YWxvZ0RlY29yYXRvciB9IGZyb20gJy4vZ2V0dGV4dENhdGFsb2cuZGVjb3JhdG9yJztcbmltcG9ydCB7IGdyb3VwVHlwZXNIaWVyYXJjaHlOYXZpZ2F0b3JEZWNvcmF0b3IgfSBmcm9tICcuL2dyb3Vwc0hpZXJhcmNoeU5hdmlnYXRvci5kZWNvcmF0b3InO1xuaW1wb3J0IHsgYzh5TmcxSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi9odHRwLmludGVyY2VwdG9yJztcbmltcG9ydCB7IGM4eU5hdmlnYXRvclByb3ZpZGVyIH0gZnJvbSAnLi9uYXZpZ2F0b3IucHJvdmlkZXInO1xuaW1wb3J0IHsgcm9vdENvbXBvbmVudCB9IGZyb20gJy4vcm9vdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgYzh5VGl0bGVEZWNvcmF0b3IgfSBmcm9tICcuL3RpdGxlLmRlY29yYXRvcic7XG5pbXBvcnQgeyBjOHlWaWV3c1Byb3ZpZGVyIH0gZnJvbSAnLi92aWV3cy5wcm92aWRlcic7XG5cbmNvbnN0IE5BTUVfVVBHUkFERSA9ICdjOHkudXBncmFkZSc7XG4od2luZG93IGFzIGFueSkucHJldmVudE5nMUJvb3RzdHJhcCA9IHRydWU7XG5cbmFuZ3VsYXJcbiAgLm1vZHVsZShOQU1FX1VQR1JBREUsIFtdKVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25seS1hcnJvdy1mdW5jdGlvbnNcbiAgLmNvbmZpZyhmdW5jdGlvbiAoJGh0dHBQcm92aWRlcikge1xuICAgICduZ0luamVjdCc7XG5cbiAgICBjb25zdCBuZzFJbnRlcmNlcHRvckluZGV4ID0gJGh0dHBQcm92aWRlci5pbnRlcmNlcHRvcnMuaW5kZXhPZignYzh5TG9hZGluZ0luZGljYXRvcicpO1xuICAgIGlmIChuZzFJbnRlcmNlcHRvckluZGV4ID4gLTEpIHtcbiAgICAgICRodHRwUHJvdmlkZXIuaW50ZXJjZXB0b3JzLnNwbGljZShuZzFJbnRlcmNlcHRvckluZGV4LCAxKTtcbiAgICB9XG4gICAgJGh0dHBQcm92aWRlci5pbnRlcmNlcHRvcnMucHVzaChjOHlOZzFIdHRwSW50ZXJjZXB0b3IpO1xuICB9KVxuICAuY29tcG9uZW50KCdjOHlVaVJvb3QnLCByb290Q29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlCb290c3RyYXAnLCBib290c3RyYXBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZmFjdG9yeSgnYzh5QnJpZGdlU2VydmljZScsIGJyaWRnZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLmZhY3RvcnkoJ2M4eUF1dGhCcmlkZ2VTZXJ2aWNlJywgYXV0aEJyaWRnZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLmZhY3RvcnkoJ2M4eUFwcFN0YXRlU2VydmljZScsIGFwcFN0YXRlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYzh5SGVhZGVyU2VydmljZScsIGhlYWRlclNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLmZhY3RvcnkoJ2M4eVVzZXJNZW51U2VydmljZScsIHVzZXJNZW51U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25seS1hcnJvdy1mdW5jdGlvbnNcbiAgLnNlcnZpY2UoJ2M4eVF1ZXJpZXNVdGlsJywgZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBuZXcgUXVlcmllc1V0aWwoKTtcbiAgfSlcbiAgLmZhY3RvcnkoJ2M4eUFsZXJ0JywgYWxlcnRzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZGVjb3JhdG9yKCdjOHlBbGVydCcsIGM4eUFsZXJ0RGVjb3JhdG9yKVxuICAuZGVjb3JhdG9yKCdncm91cFR5cGVzSGllcmFyY2h5TmF2aWdhdG9yJywgZ3JvdXBUeXBlc0hpZXJhcmNoeU5hdmlnYXRvckRlY29yYXRvcikgLy8gcHJldmVudHMgbG9hZGluZyB0aGUgZ3JvdXBzXG4gIC5mYWN0b3J5KCdjOHlBcGlTZXJ2aWNlJywgYXBpU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYzh5RG9jcycsIGRvY3NTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5zZXJ2aWNlKCdjOHlQYXNzd29yZENvbmZpcm0nLCBwYXNzd29yZFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eU1vZGFsU2VydmljZScsIG1vZGFsU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuc2VydmljZSgnYzh5R2FpbnNpZ2h0U2VydmljZScsIGdhaW5zaWdodFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eUZpbGVzU2VydmljZScsIGZpbGVzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuc2VydmljZSgnYzh5R2xvYmFsQ29uZmlnU2VydmljZScsIGdsb2JhbENvbmZpZ1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eVByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlJywgcHJvcGVydHlWYWx1ZVRyYW5zZm9ybVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eURhdGFwb2ludFNlbGVjdG9yU2VydmljZScsIGRhdGFwb2ludFNlbGVjdG9yU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKTtcblxuYW5ndWxhclxuICAubW9kdWxlKCdjOHkudWknKVxuICAuZmlsdGVyKCdhYnNvbHV0ZURhdGUnLCBhYnNvbHV0ZURhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5kaXJlY3RpdmUoJ2M4eUxvYWRpbmcnLCBsb2FkaW5nQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLnByb3ZpZGVyKCdjOHlOYXZpZ2F0b3InLCBjOHlOYXZpZ2F0b3JQcm92aWRlcilcbiAgLnByb3ZpZGVyKCdjOHlWaWV3cycsIGM4eVZpZXdzUHJvdmlkZXIpXG4gIC5kaXJlY3RpdmUoJ2M4eVVzZXJUb3RwUmV2b2tlJywgdXNlclRvdHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlBcHBMb2dzQXV0b1JlZnJlc2gnLCBhcHBMb2dzQXV0b1JlZnJlc2hDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlEYXRhR3JpZCcsIGRhdGFHcmlkQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5UmFuZ2VEaXNwbGF5JywgcmFuZ2VEaXNwbGF5Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5SGVscCcsIGhlbHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlVaUVtcHR5U3RhdGUnLCBlbXB0eVN0YXRlQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5RGF0YXBvaW50U2VsZWN0aW9uTGlzdCcsIGRhdGFwb2ludFNlbGVjdGlvbkxpc3RDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlIaWdobGlnaHQnLCBoaWdobGlnaHRDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlQYXNzd29yZElucHV0JywgcGFzc3dvcmRJbnB1dENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQpXG4gIC5kaXJlY3RpdmUoJ3BhZ2luYXRpb24nLCBwYWdpbmF0aW9uQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5Um9sZXNBc3NldFRyZWVEb3duZ3JhZGVkJywgcm9sZXNBc3NldFRyZWVDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlQbGF0Zm9ybUNvbmZpZ3VyYXRpb25Gb3JtJywgcGxhdGZvcm1Db25maWd1cmF0aW9uRm9ybURvd25ncmFkZWRDb21wb25lbnQpXG4gIC5mYWN0b3J5KCdjOHlUcmFuc2xhdGUnLCB0cmFuc2xhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlDYWNoZWRMb2NhbGVEaWN0aW9uYXJ5U2VydmljZScsIGNhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5kZWNvcmF0b3IoJ2dldHRleHRDYXRhbG9nJywgZ2V0dGV4dENhdGFsb2dEZWNvcmF0b3IpXG4gIC5mYWN0b3J5KCdjOHlTZXJ2ZXJNZXNzYWdlcycsIHNlcnZlck1lc3NhZ2VzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnbmdab25lJywgZG93bmdyYWRlSW5qZWN0YWJsZShOZ1pvbmUpKVxuICAuZmFjdG9yeSgnYzh5RGV2aWNlVHlwZURldGFpbEVkaXRlZCcsIGRldmljZVR5cGVEZXRhaWxFZGl0ZWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlEZXZpY2VHcmlkU2VydmljZScsIGRldmljZUdyaWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlTZXJ2aWNlUmVnaXN0cnknLCBzZXJ2aWNlUmVnaXN0cnlJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYXNzZXRMaW5rJywgYXNzZXRMaW5rUGlwZURvd25ncmFkZWRJbmplY3RhYmxlKTtcblxuYW5ndWxhclxuICAubW9kdWxlKCdjOHkudWknKVxuICAuZGVjb3JhdG9yKCdjOHlUaXRsZScsIGM4eVRpdGxlRGVjb3JhdG9yKVxuICAucnVuKFtcbiAgICAnYzh5VGl0bGUnLFxuICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIG5lZWRlZCB0byBpbmplY3QgYzh5VGl0bGUgd2l0aCBkZWNvcmF0b3IgYXBwbGllZCB0byBpdCwgdG8gZW5zdXJlIGRpc3BsYXlpbmcgbmcxIHRpdGxlc1xuICAgIH1cbiAgXSk7XG5cbmV4cG9ydCBjb25zdCBuZzFNb2R1bGVzVXBncmFkZSA9IFsnYXBwJywgTkFNRV9VUEdSQURFXTtcbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi91cGdyYWRlL25nMS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUNMLDhDQUE4QyxFQUM5QyxxQ0FBcUMsRUFDckMsb0NBQW9DLEVBQ3BDLGtEQUFrRCxFQUNsRCxzQ0FBc0MsRUFDdEMsZ0NBQWdDLEVBQ2hDLHFDQUFxQyxFQUNyQyxtQ0FBbUMsRUFDbkMsc0NBQXNDLEVBQ3RDLHlDQUF5QyxFQUN6Qyw0Q0FBNEMsRUFDNUMsd0NBQXdDLEVBQ3hDLDBDQUEwQyxFQUMxQyxvQ0FBb0MsRUFDckMsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsdUNBQXVDLEVBQ3ZDLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsbUNBQW1DLEVBQ25DLGlDQUFpQyxFQUNqQyxxQ0FBcUMsRUFDckMsaUNBQWlDLEVBQ2pDLGlEQUFpRCxFQUNqRCw0Q0FBNEMsRUFDNUMsMkJBQTJCLEVBQzNCLHFDQUFxQyxFQUNyQyxpREFBaUQsRUFDakQsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyxvQ0FBb0MsRUFDcEMsdUNBQXVDLEVBQ3ZDLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsRUFDaEMsbUNBQW1DLEVBQ25DLGlEQUFpRCxFQUNqRCx5Q0FBeUMsRUFDekMseUJBQXlCLEVBQ3pCLG9DQUFvQyxFQUNwQyxtQ0FBbUMsRUFDcEMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUs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LEVBQUUsaUJBQWlCLENBQUM7S0FDeEMsR0FBRyxDQUFDO0lBQ0gsVUFBVTtJQUNWO1FBQ0UsMEZBQTBGO0lBQzVGLENBQUM7Q0FDRixDQUFDLENBQUM7QUFFTCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZG93bmdyYWRlSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL3VwZ3JhZGUvc3RhdGljJztcbmltcG9ydCB7IFF1ZXJpZXNVdGlsIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0ICogYXMgYW5ndWxhciBmcm9tICdhbmd1bGFyJztcbmltcG9ydCB7IGM4eUFsZXJ0RGVjb3JhdG9yIH0gZnJvbSAnLi9hbGVydC5kZWNvcmF0b3InO1xuaW1wb3J0IHtcbiAgYXBwTG9nc0F1dG9SZWZyZXNoQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgYm9vdHN0cmFwQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgZGF0YUdyaWRDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBkYXRhcG9pbnRTZWxlY3Rpb25MaXN0Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgZW1wdHlTdGF0ZUNvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIGhlbHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBoaWdobGlnaHRDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBsb2FkaW5nQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgcGFnaW5hdGlvbkNvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQsXG4gIHBhc3N3b3JkSW5wdXRDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICBwbGF0Zm9ybUNvbmZpZ3VyYXRpb25Gb3JtRG93bmdyYWRlZENvbXBvbmVudCxcbiAgcmFuZ2VEaXNwbGF5Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudCxcbiAgcm9sZXNBc3NldFRyZWVDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50LFxuICB1c2VyVG90cENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnRcbn0gZnJvbSAnLi9kb3duZ3JhZGVkLmNvbXBvbmVudHMnO1xuaW1wb3J0IHtcbiAgYWJzb2x1dGVEYXRlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBhbGVydHNTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGFwaVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgYXBwU3RhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGFzc2V0TGlua1BpcGVEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgYXV0aEJyaWRnZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgYnJpZGdlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBjYWNoZWRMb2NhbGVEaWN0aW9uYXJ5U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBkYXRhcG9pbnRTZWxlY3RvclNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgZGF0ZUZvcm1hdFNlcnZpY2VJbmplY3RhYmxlLFxuICBkZXZpY2VHcmlkU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBkZXZpY2VUeXBlRGV0YWlsRWRpdGVkU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBkb2NzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBmaWxlc1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgZ2FpbnNpZ2h0U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBnbG9iYWxDb25maWdTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIGhlYWRlclNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgbW9kYWxTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUsXG4gIHBhc3N3b3JkU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBwcm9wZXJ0eVZhbHVlVHJhbnNmb3JtU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICBzZXJ2ZXJNZXNzYWdlc1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSxcbiAgc2VydmljZVJlZ2lzdHJ5SW5qZWN0YWJsZSxcbiAgdHJhbnNsYXRlU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlLFxuICB1c2VyTWVudVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZVxufSBmcm9tICcuL2Rvd25ncmFkZWQuc2VydmljZXMnO1xuaW1wb3J0IHsgZ2V0dGV4dENhdGFsb2dEZWNvcmF0b3IgfSBmcm9tICcuL2dldHRleHRDYXRhbG9nLmRlY29yYXRvcic7XG5pbXBvcnQgeyBncm91cFR5cGVzSGllcmFyY2h5TmF2aWdhdG9yRGVjb3JhdG9yIH0gZnJvbSAnLi9ncm91cHNIaWVyYXJjaHlOYXZpZ2F0b3IuZGVjb3JhdG9yJztcbmltcG9ydCB7IGM4eU5nMUh0dHBJbnRlcmNlcHRvciB9IGZyb20gJy4vaHR0cC5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBjOHlOYXZpZ2F0b3JQcm92aWRlciB9IGZyb20gJy4vbmF2aWdhdG9yLnByb3ZpZGVyJztcbmltcG9ydCB7IHJvb3RDb21wb25lbnQgfSBmcm9tICcuL3Jvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IGM4eVRpdGxlRGVjb3JhdG9yIH0gZnJvbSAnLi90aXRsZS5kZWNvcmF0b3InO1xuaW1wb3J0IHsgYzh5Vmlld3NQcm92aWRlciB9IGZyb20gJy4vdmlld3MucHJvdmlkZXInO1xuXG5jb25zdCBOQU1FX1VQR1JBREUgPSAnYzh5LnVwZ3JhZGUnO1xuKHdpbmRvdyBhcyBhbnkpLnByZXZlbnROZzFCb290c3RyYXAgPSB0cnVlO1xuXG5hbmd1bGFyXG4gIC5tb2R1bGUoTkFNRV9VUEdSQURFLCBbXSlcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm9ubHktYXJyb3ctZnVuY3Rpb25zXG4gIC5jb25maWcoZnVuY3Rpb24gKCRodHRwUHJvdmlkZXIpIHtcbiAgICAnbmdJbmplY3QnO1xuXG4gICAgY29uc3QgbmcxSW50ZXJjZXB0b3JJbmRleCA9ICRodHRwUHJvdmlkZXIuaW50ZXJjZXB0b3JzLmluZGV4T2YoJ2M4eUxvYWRpbmdJbmRpY2F0b3InKTtcbiAgICBpZiAobmcxSW50ZXJjZXB0b3JJbmRleCA+IC0xKSB7XG4gICAgICAkaHR0cFByb3ZpZGVyLmludGVyY2VwdG9ycy5zcGxpY2UobmcxSW50ZXJjZXB0b3JJbmRleCwgMSk7XG4gICAgfVxuICAgICRodHRwUHJvdmlkZXIuaW50ZXJjZXB0b3JzLnB1c2goYzh5TmcxSHR0cEludGVyY2VwdG9yKTtcbiAgfSlcbiAgLmNvbXBvbmVudCgnYzh5VWlSb290Jywgcm9vdENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5Qm9vdHN0cmFwJywgYm9vdHN0cmFwQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmZhY3RvcnkoJ2M4eUJyaWRnZVNlcnZpY2UnLCBicmlkZ2VTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlBdXRoQnJpZGdlU2VydmljZScsIGF1dGhCcmlkZ2VTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlBcHBTdGF0ZVNlcnZpY2UnLCBhcHBTdGF0ZVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLmZhY3RvcnkoJ2M4eURhdGVGb3JtYXRTZXJ2aWNlJywgZGF0ZUZvcm1hdFNlcnZpY2VJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYzh5SGVhZGVyU2VydmljZScsIGhlYWRlclNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLmZhY3RvcnkoJ2M4eVVzZXJNZW51U2VydmljZScsIHVzZXJNZW51U2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6b25seS1hcnJvdy1mdW5jdGlvbnNcbiAgLnNlcnZpY2UoJ2M4eVF1ZXJpZXNVdGlsJywgZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBuZXcgUXVlcmllc1V0aWwoKTtcbiAgfSlcbiAgLmZhY3RvcnkoJ2M4eUFsZXJ0JywgYWxlcnRzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZGVjb3JhdG9yKCdjOHlBbGVydCcsIGM4eUFsZXJ0RGVjb3JhdG9yKVxuICAuZGVjb3JhdG9yKCdncm91cFR5cGVzSGllcmFyY2h5TmF2aWdhdG9yJywgZ3JvdXBUeXBlc0hpZXJhcmNoeU5hdmlnYXRvckRlY29yYXRvcikgLy8gcHJldmVudHMgbG9hZGluZyB0aGUgZ3JvdXBzXG4gIC5mYWN0b3J5KCdjOHlBcGlTZXJ2aWNlJywgYXBpU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYzh5RG9jcycsIGRvY3NTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5zZXJ2aWNlKCdjOHlQYXNzd29yZENvbmZpcm0nLCBwYXNzd29yZFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eU1vZGFsU2VydmljZScsIG1vZGFsU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuc2VydmljZSgnYzh5R2FpbnNpZ2h0U2VydmljZScsIGdhaW5zaWdodFNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eUZpbGVzU2VydmljZScsIGZpbGVzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuc2VydmljZSgnYzh5R2xvYmFsQ29uZmlnU2VydmljZScsIGdsb2JhbENvbmZpZ1NlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eVByb3BlcnR5VmFsdWVUcmFuc2Zvcm1TZXJ2aWNlJywgcHJvcGVydHlWYWx1ZVRyYW5zZm9ybVNlcnZpY2VEb3duZ3JhZGVkSW5qZWN0YWJsZSlcbiAgLnNlcnZpY2UoJ2M4eURhdGFwb2ludFNlbGVjdG9yU2VydmljZScsIGRhdGFwb2ludFNlbGVjdG9yU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKTtcblxuYW5ndWxhclxuICAubW9kdWxlKCdjOHkudWknKVxuICAuZmlsdGVyKCdhYnNvbHV0ZURhdGUnLCBhYnNvbHV0ZURhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5kaXJlY3RpdmUoJ2M4eUxvYWRpbmcnLCBsb2FkaW5nQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLnByb3ZpZGVyKCdjOHlOYXZpZ2F0b3InLCBjOHlOYXZpZ2F0b3JQcm92aWRlcilcbiAgLnByb3ZpZGVyKCdjOHlWaWV3cycsIGM4eVZpZXdzUHJvdmlkZXIpXG4gIC5kaXJlY3RpdmUoJ2M4eVVzZXJUb3RwUmV2b2tlJywgdXNlclRvdHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlBcHBMb2dzQXV0b1JlZnJlc2gnLCBhcHBMb2dzQXV0b1JlZnJlc2hDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlEYXRhR3JpZCcsIGRhdGFHcmlkQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5UmFuZ2VEaXNwbGF5JywgcmFuZ2VEaXNwbGF5Q29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5SGVscCcsIGhlbHBDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlVaUVtcHR5U3RhdGUnLCBlbXB0eVN0YXRlQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5RGF0YXBvaW50U2VsZWN0aW9uTGlzdCcsIGRhdGFwb2ludFNlbGVjdGlvbkxpc3RDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlIaWdobGlnaHQnLCBoaWdobGlnaHRDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlQYXNzd29yZElucHV0JywgcGFzc3dvcmRJbnB1dENvbXBvbmVudERvd25ncmFkZWRDb21wb25lbnQpXG4gIC5kaXJlY3RpdmUoJ3BhZ2luYXRpb24nLCBwYWdpbmF0aW9uQ29tcG9uZW50RG93bmdyYWRlZENvbXBvbmVudClcbiAgLmRpcmVjdGl2ZSgnYzh5Um9sZXNBc3NldFRyZWVEb3duZ3JhZGVkJywgcm9sZXNBc3NldFRyZWVDb21wb25lbnREb3duZ3JhZGVkQ29tcG9uZW50KVxuICAuZGlyZWN0aXZlKCdjOHlQbGF0Zm9ybUNvbmZpZ3VyYXRpb25Gb3JtJywgcGxhdGZvcm1Db25maWd1cmF0aW9uRm9ybURvd25ncmFkZWRDb21wb25lbnQpXG4gIC5mYWN0b3J5KCdjOHlUcmFuc2xhdGUnLCB0cmFuc2xhdGVTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlDYWNoZWRMb2NhbGVEaWN0aW9uYXJ5U2VydmljZScsIGNhY2hlZExvY2FsZURpY3Rpb25hcnlTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5kZWNvcmF0b3IoJ2dldHRleHRDYXRhbG9nJywgZ2V0dGV4dENhdGFsb2dEZWNvcmF0b3IpXG4gIC5mYWN0b3J5KCdjOHlTZXJ2ZXJNZXNzYWdlcycsIHNlcnZlck1lc3NhZ2VzU2VydmljZURvd25ncmFkZWRJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnbmdab25lJywgZG93bmdyYWRlSW5qZWN0YWJsZShOZ1pvbmUpKVxuICAuZmFjdG9yeSgnYzh5RGV2aWNlVHlwZURldGFpbEVkaXRlZCcsIGRldmljZVR5cGVEZXRhaWxFZGl0ZWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlEZXZpY2VHcmlkU2VydmljZScsIGRldmljZUdyaWRTZXJ2aWNlRG93bmdyYWRlZEluamVjdGFibGUpXG4gIC5mYWN0b3J5KCdjOHlTZXJ2aWNlUmVnaXN0cnknLCBzZXJ2aWNlUmVnaXN0cnlJbmplY3RhYmxlKVxuICAuZmFjdG9yeSgnYXNzZXRMaW5rJywgYXNzZXRMaW5rUGlwZURvd25ncmFkZWRJbmplY3RhYmxlKTtcblxuYW5ndWxhclxuICAubW9kdWxlKCdjOHkudWknKVxuICAuZGVjb3JhdG9yKCdjOHlUaXRsZScsIGM4eVRpdGxlRGVjb3JhdG9yKVxuICAucnVuKFtcbiAgICAnYzh5VGl0bGUnLFxuICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIG5lZWRlZCB0byBpbmplY3QgYzh5VGl0bGUgd2l0aCBkZWNvcmF0b3IgYXBwbGllZCB0byBpdCwgdG8gZW5zdXJlIGRpc3BsYXlpbmcgbmcxIHRpdGxlc1xuICAgIH1cbiAgXSk7XG5cbmV4cG9ydCBjb25zdCBuZzFNb2R1bGVzVXBncmFkZSA9IFsnYXBwJywgTkFNRV9VUEdSQURFXTtcbiJdfQ==
@@ -1729,13 +1729,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1729
1729
  }] } });
1730
1730
 
1731
1731
  class SignatureConfigurationComponent {
1732
- constructor(controlContainer) {
1732
+ constructor(controlContainer, dateFormatService) {
1733
1733
  this.controlContainer = controlContainer;
1734
+ this.dateFormatService = dateFormatService;
1734
1735
  this.certificateType = CertificateType;
1735
1736
  this.certificateTypes = certificateTypeConfig;
1736
1737
  this.algorithmTypes = algorithmTypeConfig;
1737
1738
  this.CERTIFICATE_ID_FIELD_POPOVER = gettext('This is the name of the field in the token whose value will be used to select one of the certificates below which has matching "Certificate ID value".');
1738
1739
  }
1740
+ ngOnInit() {
1741
+ this.dateInputFormat = this.dateFormatService.getDateFormat();
1742
+ }
1739
1743
  shouldShow(field) {
1740
1744
  return field in this.templateModel;
1741
1745
  }
@@ -1743,8 +1747,8 @@ class SignatureConfigurationComponent {
1743
1747
  this.templateModel.signatureVerificationConfig.manual.removeCustomCertificate(customCertificate);
1744
1748
  this.controlContainer.control.markAsDirty();
1745
1749
  }
1746
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignatureConfigurationComponent, deps: [{ token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Component }); }
1747
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SignatureConfigurationComponent, selector: "c8y-sso-signature-configuration", inputs: { templateModel: "templateModel" }, ngImport: i0, template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n Signature verification\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <div\n *ngIf=\"shouldShow('certificateType')\"\n class=\"form-group p-relative\"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label\n for=\"certificateType\"\n class=\"control-label\"\n translate\n >\n Verifier\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n id=\"certificateType\"\n name=\"certificateType\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.certificateTypeChosen\"\n >\n <option\n *ngFor=\"let certificateType of certificateTypes | keyvalue\"\n [ngValue]=\"certificateType.key\"\n >\n {{ certificateType.value.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n <div\n id=\"adfs\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.ADFS\n \"\n class=\"row\"\n >\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"adfsManifestUrl\"\n class=\"control-label\"\n translate\n >\n ADFS manifest URL\n </label>\n <input\n type=\"url\"\n class=\"form-control\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example: 'https://adfs.tenant.com/federationmetadata/federationmetadata.xml'\n }\n \"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.adfsManifest.manifestUrl\"\n name=\"adfsManifestUrl\"\n id=\"adfsManifestUrl\"\n />\n </c8y-form-group>\n </div>\n </div>\n\n <div\n id=\"add\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.AZURE\n \"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"publicKeyDiscoveryUrl\"\n class=\"control-label\"\n translate\n >\n Public key discovery URL\n </label>\n <input\n type=\"url\"\n id=\"publicKeyDiscoveryUrl\"\n class=\"form-control\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : { example: 'https://login.microsoftonline.de/tenant/discovery/keys' }\n \"\n name=\"publicKeyDiscoveryUrl\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.aad.publicKeyDiscoveryUrl\"\n />\n </c8y-form-group>\n </div>\n </div>\n </div>\n\n <div\n id=\"jwks\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.JWKS\n \"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"jwksPublicKeyDiscoveryUrl\"\n class=\"control-label\"\n translate\n >\n JWKS URL\n </label>\n <input\n type=\"url\"\n class=\"form-control\"\n id=\"jwksPublicKeyDiscoveryUrl\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}' | translate: { example: 'http://www.example.com/' }\n \"\n name=\"jwksUri\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.jwks.jwksUri\"\n />\n </c8y-form-group>\n </div>\n </div>\n </div>\n\n <div\n id=\"manual\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.CUSTOM\n \"\n >\n <fieldset\n class=\"c8y-fieldset p-24\"\n *ngIf=\"templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\"\n >\n <legend>\n {{ 'Manual' | translate }}\n </legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <label\n for=\"certIdField\"\n class=\"control-label\"\n >\n {{ 'Certificate ID field' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ CERTIFICATE_ID_FIELD_POPOVER | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n ></button>\n </label>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"certIdField\"\n id=\"certIdField\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.manual.certIdField\"\n required\n />\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>\n {{ 'Certificates' | translate }}\n </legend>\n <fieldset\n class=\"c8y-fieldset p-16\"\n *ngFor=\"\n let customCertificate of templateModel.signatureVerificationConfig.manual\n .customCertificates;\n index as crtIndex\n \"\n >\n <div class=\"row\">\n <div\n class=\"col-sm-6\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\n \"\n >\n <c8y-form-group>\n <label\n [for]=\"'customCertificateValue' + crtIndex\"\n class=\"control-label\"\n translate\n >\n Certificate ID value\n </label>\n <input\n [name]=\"'customCertificateValue' + crtIndex\"\n [id]=\"'customCertificateValue' + crtIndex\"\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"customCertificate.key\"\n required\n />\n </c8y-form-group>\n </div>\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"control-label\">\n {{ 'Type' | translate }}\n </label>\n <label\n title=\"{{ algorithmType.value.label | translate }}\"\n class=\"c8y-radio input-sm\"\n *ngFor=\"let algorithmType of algorithmTypes | keyvalue; index as algIndex\"\n >\n <input\n type=\"radio\"\n [name]=\"'alg' + crtIndex + algIndex\"\n [value]=\"algorithmType.key\"\n [(ngModel)]=\"customCertificate.alg\"\n />\n <span></span>\n <span>{{ algorithmType.value.label | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-md-5\">\n <c8y-form-group>\n <label\n class=\"control-label\"\n [for]=\"'publicKey' + crtIndex\"\n *ngIf=\"customCertificate.alg === algorithmTypes.PCKS.value\"\n translate\n >\n Certificate in PEM format\n </label>\n <label\n class=\"control-label\"\n [for]=\"'publicKey' + crtIndex\"\n *ngIf=\"customCertificate.alg === algorithmTypes.RSA.value\"\n translate\n >\n Public key in PEM format\n </label>\n <input\n [name]=\"'publicKey' + crtIndex\"\n [id]=\"'publicKey' + crtIndex\"\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"customCertificate.publicKey\"\n required\n />\n </c8y-form-group>\n </div>\n <div class=\"col-md-3\">\n <div class=\"form-group datepicker\">\n <c8y-form-group>\n <label\n [for]=\"'validFromPicker' + crtIndex\"\n class=\"control-label\"\n >\n {{ 'Valid from' | translate }}\n </label>\n <input\n [name]=\"'validFromPicker' + crtIndex\"\n [id]=\"'validFromPicker' + crtIndex\"\n [(ngModel)]=\"customCertificate.validFrom\"\n class=\"form-control\"\n [attr.aria-label]=\"'Date from' | translate\"\n placeholder=\"{{ 'Date from' | translate }}\"\n [bsConfig]=\"{ customTodayClass: 'today', adaptivePosition: true }\"\n [maxDate]=\"customCertificate.validTill\"\n bsDatepicker\n required\n />\n </c8y-form-group>\n </div>\n </div>\n <div class=\"col-md-3\">\n <div class=\"form-group datepicker\">\n <c8y-form-group>\n <label\n [for]=\"'validTillPicker' + crtIndex\"\n class=\"control-label\"\n >\n {{ 'Valid till' | translate }}\n </label>\n <input\n [name]=\"'validTillPicker' + crtIndex\"\n [id]=\"'validTillPicker' + crtIndex\"\n [(ngModel)]=\"customCertificate.validTill\"\n class=\"form-control\"\n placeholder=\"{{ 'Date to' | translate }}\"\n [attr.aria-label]=\"'Date to' | translate\"\n [bsConfig]=\"{ customTodayClass: 'today', adaptivePosition: true }\"\n bsDatepicker\n [minDate]=\"customCertificate.validFrom\"\n required\n />\n </c8y-form-group>\n </div>\n </div>\n <div\n class=\"col-md-1\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\n \"\n >\n <label>&nbsp;</label>\n <button\n class=\"btn btn-danger btn-sm visible-xs visible-sm\"\n type=\"button\"\n title=\"{{ 'Delete certificate' | translate }}\"\n (click)=\"removeCustomCertificate(customCertificate)\"\n >\n <i\n c8yIcon=\"minus-circle\"\n class=\"m-r-4\"\n ></i>\n <span>{{ 'Delete certificate' | translate }}</span>\n </button>\n\n <button\n class=\"btn btn-dot btn-dot--danger visible-md visible-lg\"\n type=\"button\"\n tooltip=\"{{ 'Delete certificate' | translate }}\"\n placement=\"top\"\n [adaptivePosition]=\"false\"\n [attr.aria-label]=\"'Delete certificate' | translate\"\n [delay]=\"300\"\n (click)=\"removeCustomCertificate(customCertificate)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n </div>\n </fieldset>\n <button\n class=\"btn btn-default m-t-8\"\n type=\"button\"\n title=\"{{ 'Add certificate' | translate }}\"\n (click)=\"templateModel.signatureVerificationConfig.manual.addCustomCertificate()\"\n name=\"addCertificate\"\n >\n <i\n c8yIcon=\"plus-circle\"\n class=\"m-r-4\"\n ></i>\n <span>{{ 'Add certificate' | translate }}</span>\n </button>\n </fieldset>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i1$1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i1$1.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i4$1.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "directive", type: i6.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i6.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "pipe", type: i1$1.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
1750
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignatureConfigurationComponent, deps: [{ token: i1.ControlContainer }, { token: i1$1.DateFormatService }], target: i0.ɵɵFactoryTarget.Component }); }
1751
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SignatureConfigurationComponent, selector: "c8y-sso-signature-configuration", inputs: { templateModel: "templateModel" }, ngImport: i0, template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n Signature verification\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <div\n *ngIf=\"shouldShow('certificateType')\"\n class=\"form-group p-relative\"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label\n for=\"certificateType\"\n class=\"control-label\"\n translate\n >\n Verifier\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n id=\"certificateType\"\n name=\"certificateType\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.certificateTypeChosen\"\n >\n <option\n *ngFor=\"let certificateType of certificateTypes | keyvalue\"\n [ngValue]=\"certificateType.key\"\n >\n {{ certificateType.value.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n <div\n id=\"adfs\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.ADFS\n \"\n class=\"row\"\n >\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"adfsManifestUrl\"\n class=\"control-label\"\n translate\n >\n ADFS manifest URL\n </label>\n <input\n type=\"url\"\n class=\"form-control\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example: 'https://adfs.tenant.com/federationmetadata/federationmetadata.xml'\n }\n \"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.adfsManifest.manifestUrl\"\n name=\"adfsManifestUrl\"\n id=\"adfsManifestUrl\"\n />\n </c8y-form-group>\n </div>\n </div>\n\n <div\n id=\"add\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.AZURE\n \"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"publicKeyDiscoveryUrl\"\n class=\"control-label\"\n translate\n >\n Public key discovery URL\n </label>\n <input\n type=\"url\"\n id=\"publicKeyDiscoveryUrl\"\n class=\"form-control\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : { example: 'https://login.microsoftonline.de/tenant/discovery/keys' }\n \"\n name=\"publicKeyDiscoveryUrl\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.aad.publicKeyDiscoveryUrl\"\n />\n </c8y-form-group>\n </div>\n </div>\n </div>\n\n <div\n id=\"jwks\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.JWKS\n \"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"jwksPublicKeyDiscoveryUrl\"\n class=\"control-label\"\n translate\n >\n JWKS URL\n </label>\n <input\n type=\"url\"\n class=\"form-control\"\n id=\"jwksPublicKeyDiscoveryUrl\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}' | translate: { example: 'http://www.example.com/' }\n \"\n name=\"jwksUri\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.jwks.jwksUri\"\n />\n </c8y-form-group>\n </div>\n </div>\n </div>\n\n <div\n id=\"manual\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.CUSTOM\n \"\n >\n <fieldset\n class=\"c8y-fieldset p-24\"\n *ngIf=\"templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\"\n >\n <legend>\n {{ 'Manual' | translate }}\n </legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <label\n for=\"certIdField\"\n class=\"control-label\"\n >\n {{ 'Certificate ID field' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ CERTIFICATE_ID_FIELD_POPOVER | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n ></button>\n </label>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"certIdField\"\n id=\"certIdField\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.manual.certIdField\"\n required\n />\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>\n {{ 'Certificates' | translate }}\n </legend>\n <fieldset\n class=\"c8y-fieldset p-16\"\n *ngFor=\"\n let customCertificate of templateModel.signatureVerificationConfig.manual\n .customCertificates;\n index as crtIndex\n \"\n >\n <div class=\"row\">\n <div\n class=\"col-sm-6\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\n \"\n >\n <c8y-form-group>\n <label\n [for]=\"'customCertificateValue' + crtIndex\"\n class=\"control-label\"\n translate\n >\n Certificate ID value\n </label>\n <input\n [name]=\"'customCertificateValue' + crtIndex\"\n [id]=\"'customCertificateValue' + crtIndex\"\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"customCertificate.key\"\n required\n />\n </c8y-form-group>\n </div>\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"control-label\">\n {{ 'Type' | translate }}\n </label>\n <label\n title=\"{{ algorithmType.value.label | translate }}\"\n class=\"c8y-radio input-sm\"\n *ngFor=\"let algorithmType of algorithmTypes | keyvalue; index as algIndex\"\n >\n <input\n type=\"radio\"\n [name]=\"'alg' + crtIndex + algIndex\"\n [value]=\"algorithmType.key\"\n [(ngModel)]=\"customCertificate.alg\"\n />\n <span></span>\n <span>{{ algorithmType.value.label | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-md-5\">\n <c8y-form-group>\n <label\n class=\"control-label\"\n [for]=\"'publicKey' + crtIndex\"\n *ngIf=\"customCertificate.alg === algorithmTypes.PCKS.value\"\n translate\n >\n Certificate in PEM format\n </label>\n <label\n class=\"control-label\"\n [for]=\"'publicKey' + crtIndex\"\n *ngIf=\"customCertificate.alg === algorithmTypes.RSA.value\"\n translate\n >\n Public key in PEM format\n </label>\n <input\n [name]=\"'publicKey' + crtIndex\"\n [id]=\"'publicKey' + crtIndex\"\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"customCertificate.publicKey\"\n required\n />\n </c8y-form-group>\n </div>\n <div class=\"col-md-3\">\n <div class=\"form-group datepicker\">\n <c8y-form-group>\n <label\n [for]=\"'validFromPicker' + crtIndex\"\n class=\"control-label\"\n >\n {{ 'Valid from' | translate }}\n </label>\n <input\n [name]=\"'validFromPicker' + crtIndex\"\n [id]=\"'validFromPicker' + crtIndex\"\n [(ngModel)]=\"customCertificate.validFrom\"\n class=\"form-control\"\n [attr.aria-label]=\"'Date from' | translate\"\n placeholder=\"{{ 'Date from' | translate }}\"\n [bsConfig]=\"{ customTodayClass: 'today', adaptivePosition: true, dateInputFormat: dateInputFormat }\"\n [maxDate]=\"customCertificate.validTill\"\n bsDatepicker\n required\n />\n </c8y-form-group>\n </div>\n </div>\n <div class=\"col-md-3\">\n <div class=\"form-group datepicker\">\n <c8y-form-group>\n <label\n [for]=\"'validTillPicker' + crtIndex\"\n class=\"control-label\"\n >\n {{ 'Valid till' | translate }}\n </label>\n <input\n [name]=\"'validTillPicker' + crtIndex\"\n [id]=\"'validTillPicker' + crtIndex\"\n [(ngModel)]=\"customCertificate.validTill\"\n class=\"form-control\"\n placeholder=\"{{ 'Date to' | translate }}\"\n [attr.aria-label]=\"'Date to' | translate\"\n [bsConfig]=\"{ customTodayClass: 'today', adaptivePosition: true, dateInputFormat: dateInputFormat }\"\n bsDatepicker\n [minDate]=\"customCertificate.validFrom\"\n required\n />\n </c8y-form-group>\n </div>\n </div>\n <div\n class=\"col-md-1\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\n \"\n >\n <label>&nbsp;</label>\n <button\n class=\"btn btn-danger btn-sm visible-xs visible-sm\"\n type=\"button\"\n title=\"{{ 'Delete certificate' | translate }}\"\n (click)=\"removeCustomCertificate(customCertificate)\"\n >\n <i\n c8yIcon=\"minus-circle\"\n class=\"m-r-4\"\n ></i>\n <span>{{ 'Delete certificate' | translate }}</span>\n </button>\n\n <button\n class=\"btn btn-dot btn-dot--danger visible-md visible-lg\"\n type=\"button\"\n tooltip=\"{{ 'Delete certificate' | translate }}\"\n placement=\"top\"\n [adaptivePosition]=\"false\"\n [attr.aria-label]=\"'Delete certificate' | translate\"\n [delay]=\"300\"\n (click)=\"removeCustomCertificate(customCertificate)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n </div>\n </fieldset>\n <button\n class=\"btn btn-default m-t-8\"\n type=\"button\"\n title=\"{{ 'Add certificate' | translate }}\"\n (click)=\"templateModel.signatureVerificationConfig.manual.addCustomCertificate()\"\n name=\"addCertificate\"\n >\n <i\n c8yIcon=\"plus-circle\"\n class=\"m-r-4\"\n ></i>\n <span>{{ 'Add certificate' | translate }}</span>\n </button>\n </fieldset>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i1$1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$1.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i1$1.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i4$1.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "directive", type: i4.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "directive", type: i6.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i6.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "pipe", type: i1$1.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
1748
1752
  }
1749
1753
  __decorate([
1750
1754
  memoize(),
@@ -1754,8 +1758,8 @@ __decorate([
1754
1758
  ], SignatureConfigurationComponent.prototype, "shouldShow", null);
1755
1759
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignatureConfigurationComponent, decorators: [{
1756
1760
  type: Component,
1757
- args: [{ selector: 'c8y-sso-signature-configuration', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n Signature verification\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <div\n *ngIf=\"shouldShow('certificateType')\"\n class=\"form-group p-relative\"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label\n for=\"certificateType\"\n class=\"control-label\"\n translate\n >\n Verifier\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n id=\"certificateType\"\n name=\"certificateType\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.certificateTypeChosen\"\n >\n <option\n *ngFor=\"let certificateType of certificateTypes | keyvalue\"\n [ngValue]=\"certificateType.key\"\n >\n {{ certificateType.value.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n <div\n id=\"adfs\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.ADFS\n \"\n class=\"row\"\n >\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"adfsManifestUrl\"\n class=\"control-label\"\n translate\n >\n ADFS manifest URL\n </label>\n <input\n type=\"url\"\n class=\"form-control\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example: 'https://adfs.tenant.com/federationmetadata/federationmetadata.xml'\n }\n \"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.adfsManifest.manifestUrl\"\n name=\"adfsManifestUrl\"\n id=\"adfsManifestUrl\"\n />\n </c8y-form-group>\n </div>\n </div>\n\n <div\n id=\"add\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.AZURE\n \"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"publicKeyDiscoveryUrl\"\n class=\"control-label\"\n translate\n >\n Public key discovery URL\n </label>\n <input\n type=\"url\"\n id=\"publicKeyDiscoveryUrl\"\n class=\"form-control\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : { example: 'https://login.microsoftonline.de/tenant/discovery/keys' }\n \"\n name=\"publicKeyDiscoveryUrl\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.aad.publicKeyDiscoveryUrl\"\n />\n </c8y-form-group>\n </div>\n </div>\n </div>\n\n <div\n id=\"jwks\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.JWKS\n \"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"jwksPublicKeyDiscoveryUrl\"\n class=\"control-label\"\n translate\n >\n JWKS URL\n </label>\n <input\n type=\"url\"\n class=\"form-control\"\n id=\"jwksPublicKeyDiscoveryUrl\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}' | translate: { example: 'http://www.example.com/' }\n \"\n name=\"jwksUri\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.jwks.jwksUri\"\n />\n </c8y-form-group>\n </div>\n </div>\n </div>\n\n <div\n id=\"manual\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.CUSTOM\n \"\n >\n <fieldset\n class=\"c8y-fieldset p-24\"\n *ngIf=\"templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\"\n >\n <legend>\n {{ 'Manual' | translate }}\n </legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <label\n for=\"certIdField\"\n class=\"control-label\"\n >\n {{ 'Certificate ID field' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ CERTIFICATE_ID_FIELD_POPOVER | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n ></button>\n </label>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"certIdField\"\n id=\"certIdField\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.manual.certIdField\"\n required\n />\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>\n {{ 'Certificates' | translate }}\n </legend>\n <fieldset\n class=\"c8y-fieldset p-16\"\n *ngFor=\"\n let customCertificate of templateModel.signatureVerificationConfig.manual\n .customCertificates;\n index as crtIndex\n \"\n >\n <div class=\"row\">\n <div\n class=\"col-sm-6\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\n \"\n >\n <c8y-form-group>\n <label\n [for]=\"'customCertificateValue' + crtIndex\"\n class=\"control-label\"\n translate\n >\n Certificate ID value\n </label>\n <input\n [name]=\"'customCertificateValue' + crtIndex\"\n [id]=\"'customCertificateValue' + crtIndex\"\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"customCertificate.key\"\n required\n />\n </c8y-form-group>\n </div>\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"control-label\">\n {{ 'Type' | translate }}\n </label>\n <label\n title=\"{{ algorithmType.value.label | translate }}\"\n class=\"c8y-radio input-sm\"\n *ngFor=\"let algorithmType of algorithmTypes | keyvalue; index as algIndex\"\n >\n <input\n type=\"radio\"\n [name]=\"'alg' + crtIndex + algIndex\"\n [value]=\"algorithmType.key\"\n [(ngModel)]=\"customCertificate.alg\"\n />\n <span></span>\n <span>{{ algorithmType.value.label | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-md-5\">\n <c8y-form-group>\n <label\n class=\"control-label\"\n [for]=\"'publicKey' + crtIndex\"\n *ngIf=\"customCertificate.alg === algorithmTypes.PCKS.value\"\n translate\n >\n Certificate in PEM format\n </label>\n <label\n class=\"control-label\"\n [for]=\"'publicKey' + crtIndex\"\n *ngIf=\"customCertificate.alg === algorithmTypes.RSA.value\"\n translate\n >\n Public key in PEM format\n </label>\n <input\n [name]=\"'publicKey' + crtIndex\"\n [id]=\"'publicKey' + crtIndex\"\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"customCertificate.publicKey\"\n required\n />\n </c8y-form-group>\n </div>\n <div class=\"col-md-3\">\n <div class=\"form-group datepicker\">\n <c8y-form-group>\n <label\n [for]=\"'validFromPicker' + crtIndex\"\n class=\"control-label\"\n >\n {{ 'Valid from' | translate }}\n </label>\n <input\n [name]=\"'validFromPicker' + crtIndex\"\n [id]=\"'validFromPicker' + crtIndex\"\n [(ngModel)]=\"customCertificate.validFrom\"\n class=\"form-control\"\n [attr.aria-label]=\"'Date from' | translate\"\n placeholder=\"{{ 'Date from' | translate }}\"\n [bsConfig]=\"{ customTodayClass: 'today', adaptivePosition: true }\"\n [maxDate]=\"customCertificate.validTill\"\n bsDatepicker\n required\n />\n </c8y-form-group>\n </div>\n </div>\n <div class=\"col-md-3\">\n <div class=\"form-group datepicker\">\n <c8y-form-group>\n <label\n [for]=\"'validTillPicker' + crtIndex\"\n class=\"control-label\"\n >\n {{ 'Valid till' | translate }}\n </label>\n <input\n [name]=\"'validTillPicker' + crtIndex\"\n [id]=\"'validTillPicker' + crtIndex\"\n [(ngModel)]=\"customCertificate.validTill\"\n class=\"form-control\"\n placeholder=\"{{ 'Date to' | translate }}\"\n [attr.aria-label]=\"'Date to' | translate\"\n [bsConfig]=\"{ customTodayClass: 'today', adaptivePosition: true }\"\n bsDatepicker\n [minDate]=\"customCertificate.validFrom\"\n required\n />\n </c8y-form-group>\n </div>\n </div>\n <div\n class=\"col-md-1\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\n \"\n >\n <label>&nbsp;</label>\n <button\n class=\"btn btn-danger btn-sm visible-xs visible-sm\"\n type=\"button\"\n title=\"{{ 'Delete certificate' | translate }}\"\n (click)=\"removeCustomCertificate(customCertificate)\"\n >\n <i\n c8yIcon=\"minus-circle\"\n class=\"m-r-4\"\n ></i>\n <span>{{ 'Delete certificate' | translate }}</span>\n </button>\n\n <button\n class=\"btn btn-dot btn-dot--danger visible-md visible-lg\"\n type=\"button\"\n tooltip=\"{{ 'Delete certificate' | translate }}\"\n placement=\"top\"\n [adaptivePosition]=\"false\"\n [attr.aria-label]=\"'Delete certificate' | translate\"\n [delay]=\"300\"\n (click)=\"removeCustomCertificate(customCertificate)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n </div>\n </fieldset>\n <button\n class=\"btn btn-default m-t-8\"\n type=\"button\"\n title=\"{{ 'Add certificate' | translate }}\"\n (click)=\"templateModel.signatureVerificationConfig.manual.addCustomCertificate()\"\n name=\"addCertificate\"\n >\n <i\n c8yIcon=\"plus-circle\"\n class=\"m-r-4\"\n ></i>\n <span>{{ 'Add certificate' | translate }}</span>\n </button>\n </fieldset>\n </div>\n </div>\n </div>\n</div>\n" }]
1758
- }], ctorParameters: () => [{ type: i1.ControlContainer }], propDecorators: { templateModel: [{
1761
+ args: [{ selector: 'c8y-sso-signature-configuration', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class=\"p-24\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-sm-3 col-md-2\">\n <div\n class=\"h4 text-normal text-right text-left-xs\"\n translate\n >\n Signature verification\n </div>\n </div>\n <div class=\"col-xs-12 col-sm-9 col-md-10 col-lg-9\">\n <div\n *ngIf=\"shouldShow('certificateType')\"\n class=\"form-group p-relative\"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label\n for=\"certificateType\"\n class=\"control-label\"\n translate\n >\n Verifier\n </label>\n <div class=\"c8y-select-wrapper\">\n <select\n class=\"form-control\"\n id=\"certificateType\"\n name=\"certificateType\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.certificateTypeChosen\"\n >\n <option\n *ngFor=\"let certificateType of certificateTypes | keyvalue\"\n [ngValue]=\"certificateType.key\"\n >\n {{ certificateType.value.label | translate }}\n </option>\n </select>\n <span></span>\n </div>\n </div>\n </div>\n </div>\n <div\n id=\"adfs\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.ADFS\n \"\n class=\"row\"\n >\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"adfsManifestUrl\"\n class=\"control-label\"\n translate\n >\n ADFS manifest URL\n </label>\n <input\n type=\"url\"\n class=\"form-control\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : {\n example: 'https://adfs.tenant.com/federationmetadata/federationmetadata.xml'\n }\n \"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.adfsManifest.manifestUrl\"\n name=\"adfsManifestUrl\"\n id=\"adfsManifestUrl\"\n />\n </c8y-form-group>\n </div>\n </div>\n\n <div\n id=\"add\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.AZURE\n \"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"publicKeyDiscoveryUrl\"\n class=\"control-label\"\n translate\n >\n Public key discovery URL\n </label>\n <input\n type=\"url\"\n id=\"publicKeyDiscoveryUrl\"\n class=\"form-control\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}'\n | translate\n : { example: 'https://login.microsoftonline.de/tenant/discovery/keys' }\n \"\n name=\"publicKeyDiscoveryUrl\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.aad.publicKeyDiscoveryUrl\"\n />\n </c8y-form-group>\n </div>\n </div>\n </div>\n\n <div\n id=\"jwks\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.JWKS\n \"\n >\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label\n for=\"jwksPublicKeyDiscoveryUrl\"\n class=\"control-label\"\n translate\n >\n JWKS URL\n </label>\n <input\n type=\"url\"\n class=\"form-control\"\n id=\"jwksPublicKeyDiscoveryUrl\"\n required\n [placeholder]=\"\n 'e.g. {{ example }}' | translate: { example: 'http://www.example.com/' }\n \"\n name=\"jwksUri\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.jwks.jwksUri\"\n />\n </c8y-form-group>\n </div>\n </div>\n </div>\n\n <div\n id=\"manual\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.certificateTypeChosen === certificateType.CUSTOM\n \"\n >\n <fieldset\n class=\"c8y-fieldset p-24\"\n *ngIf=\"templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\"\n >\n <legend>\n {{ 'Manual' | translate }}\n </legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <label\n for=\"certIdField\"\n class=\"control-label\"\n >\n {{ 'Certificate ID field' | translate }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n popover=\"{{ CERTIFICATE_ID_FIELD_POPOVER | translate }}\"\n placement=\"right\"\n triggers=\"focus\"\n ></button>\n </label>\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"certIdField\"\n id=\"certIdField\"\n [(ngModel)]=\"templateModel.signatureVerificationConfig.manual.certIdField\"\n required\n />\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset p-24\">\n <legend>\n {{ 'Certificates' | translate }}\n </legend>\n <fieldset\n class=\"c8y-fieldset p-16\"\n *ngFor=\"\n let customCertificate of templateModel.signatureVerificationConfig.manual\n .customCertificates;\n index as crtIndex\n \"\n >\n <div class=\"row\">\n <div\n class=\"col-sm-6\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\n \"\n >\n <c8y-form-group>\n <label\n [for]=\"'customCertificateValue' + crtIndex\"\n class=\"control-label\"\n translate\n >\n Certificate ID value\n </label>\n <input\n [name]=\"'customCertificateValue' + crtIndex\"\n [id]=\"'customCertificateValue' + crtIndex\"\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"customCertificate.key\"\n required\n />\n </c8y-form-group>\n </div>\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"control-label\">\n {{ 'Type' | translate }}\n </label>\n <label\n title=\"{{ algorithmType.value.label | translate }}\"\n class=\"c8y-radio input-sm\"\n *ngFor=\"let algorithmType of algorithmTypes | keyvalue; index as algIndex\"\n >\n <input\n type=\"radio\"\n [name]=\"'alg' + crtIndex + algIndex\"\n [value]=\"algorithmType.key\"\n [(ngModel)]=\"customCertificate.alg\"\n />\n <span></span>\n <span>{{ algorithmType.value.label | translate }}</span>\n </label>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-md-5\">\n <c8y-form-group>\n <label\n class=\"control-label\"\n [for]=\"'publicKey' + crtIndex\"\n *ngIf=\"customCertificate.alg === algorithmTypes.PCKS.value\"\n translate\n >\n Certificate in PEM format\n </label>\n <label\n class=\"control-label\"\n [for]=\"'publicKey' + crtIndex\"\n *ngIf=\"customCertificate.alg === algorithmTypes.RSA.value\"\n translate\n >\n Public key in PEM format\n </label>\n <input\n [name]=\"'publicKey' + crtIndex\"\n [id]=\"'publicKey' + crtIndex\"\n type=\"text\"\n class=\"form-control\"\n [(ngModel)]=\"customCertificate.publicKey\"\n required\n />\n </c8y-form-group>\n </div>\n <div class=\"col-md-3\">\n <div class=\"form-group datepicker\">\n <c8y-form-group>\n <label\n [for]=\"'validFromPicker' + crtIndex\"\n class=\"control-label\"\n >\n {{ 'Valid from' | translate }}\n </label>\n <input\n [name]=\"'validFromPicker' + crtIndex\"\n [id]=\"'validFromPicker' + crtIndex\"\n [(ngModel)]=\"customCertificate.validFrom\"\n class=\"form-control\"\n [attr.aria-label]=\"'Date from' | translate\"\n placeholder=\"{{ 'Date from' | translate }}\"\n [bsConfig]=\"{ customTodayClass: 'today', adaptivePosition: true, dateInputFormat: dateInputFormat }\"\n [maxDate]=\"customCertificate.validTill\"\n bsDatepicker\n required\n />\n </c8y-form-group>\n </div>\n </div>\n <div class=\"col-md-3\">\n <div class=\"form-group datepicker\">\n <c8y-form-group>\n <label\n [for]=\"'validTillPicker' + crtIndex\"\n class=\"control-label\"\n >\n {{ 'Valid till' | translate }}\n </label>\n <input\n [name]=\"'validTillPicker' + crtIndex\"\n [id]=\"'validTillPicker' + crtIndex\"\n [(ngModel)]=\"customCertificate.validTill\"\n class=\"form-control\"\n placeholder=\"{{ 'Date to' | translate }}\"\n [attr.aria-label]=\"'Date to' | translate\"\n [bsConfig]=\"{ customTodayClass: 'today', adaptivePosition: true, dateInputFormat: dateInputFormat }\"\n bsDatepicker\n [minDate]=\"customCertificate.validFrom\"\n required\n />\n </c8y-form-group>\n </div>\n </div>\n <div\n class=\"col-md-1\"\n *ngIf=\"\n templateModel.signatureVerificationConfig.manual.customCertificates.length > 1\n \"\n >\n <label>&nbsp;</label>\n <button\n class=\"btn btn-danger btn-sm visible-xs visible-sm\"\n type=\"button\"\n title=\"{{ 'Delete certificate' | translate }}\"\n (click)=\"removeCustomCertificate(customCertificate)\"\n >\n <i\n c8yIcon=\"minus-circle\"\n class=\"m-r-4\"\n ></i>\n <span>{{ 'Delete certificate' | translate }}</span>\n </button>\n\n <button\n class=\"btn btn-dot btn-dot--danger visible-md visible-lg\"\n type=\"button\"\n tooltip=\"{{ 'Delete certificate' | translate }}\"\n placement=\"top\"\n [adaptivePosition]=\"false\"\n [attr.aria-label]=\"'Delete certificate' | translate\"\n [delay]=\"300\"\n (click)=\"removeCustomCertificate(customCertificate)\"\n >\n <i c8yIcon=\"minus-circle\"></i>\n </button>\n </div>\n </div>\n </fieldset>\n <button\n class=\"btn btn-default m-t-8\"\n type=\"button\"\n title=\"{{ 'Add certificate' | translate }}\"\n (click)=\"templateModel.signatureVerificationConfig.manual.addCustomCertificate()\"\n name=\"addCertificate\"\n >\n <i\n c8yIcon=\"plus-circle\"\n class=\"m-r-4\"\n ></i>\n <span>{{ 'Add certificate' | translate }}</span>\n </button>\n </fieldset>\n </div>\n </div>\n </div>\n</div>\n" }]
1762
+ }], ctorParameters: () => [{ type: i1.ControlContainer }, { type: i1$1.DateFormatService }], propDecorators: { templateModel: [{
1759
1763
  type: Input
1760
1764
  }], shouldShow: [] } });
1761
1765