@c8y/ngx-components 1018.503.1 → 1018.503.23

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 (152) hide show
  1. package/core/common/ApplicationOptions.d.ts +4 -2
  2. package/core/common/files.service.d.ts +10 -2
  3. package/core/common/global-config.service.d.ts +1 -1
  4. package/core/common/permissions.service.d.ts +69 -2
  5. package/core/common/tenant-ui.service.d.ts +1 -1
  6. package/core/i18n/pattern-messages.data.d.ts +20 -20
  7. package/esm2020/assets-navigator/asset-node.service.mjs +11 -4
  8. package/esm2020/auth-configuration/auth-configuration.guard.mjs +5 -2
  9. package/esm2020/auth-configuration/factories/navigation.factory.mjs +3 -3
  10. package/esm2020/cockpit-config/cockpit-config.guard.mjs +2 -2
  11. package/esm2020/cockpit-config/cockpit-config.service.mjs +2 -2
  12. package/esm2020/context-dashboard/add-dashboard.factory.mjs +13 -3
  13. package/esm2020/context-dashboard/context-dashboard.component.mjs +2 -2
  14. package/esm2020/context-dashboard/context-dashboard.service.mjs +11 -3
  15. package/esm2020/context-dashboard/dashboard-detail.component.mjs +7 -2
  16. package/esm2020/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +5 -3
  17. package/esm2020/core/bottom-drawer/bottom-drawer.service.mjs +1 -1
  18. package/esm2020/core/common/ApplicationOptions.mjs +1 -1
  19. package/esm2020/core/common/files.service.mjs +20 -4
  20. package/esm2020/core/common/global-config.service.mjs +7 -2
  21. package/esm2020/core/common/permissions.service.mjs +69 -2
  22. package/esm2020/core/common/tenant-ui.service.mjs +3 -2
  23. package/esm2020/core/common/user-preferences/user-preferences.service.mjs +10 -2
  24. package/esm2020/core/docs/support-outlet/support-outlet.component.mjs +3 -2
  25. package/esm2020/core/drop-area/drop-area.component.mjs +3 -1
  26. package/esm2020/core/i18n/pattern-messages.data.mjs +21 -21
  27. package/esm2020/core/setup/setup.service.mjs +2 -2
  28. package/esm2020/core/user/user-edit.component.mjs +1 -1
  29. package/esm2020/ecosystem/application-properties/application-properties.component.mjs +2 -2
  30. package/esm2020/ecosystem/application-properties/subscription-modal/subscription-modal.component.mjs +3 -3
  31. package/esm2020/ecosystem/ecosystem-navigation.factory.mjs +3 -3
  32. package/esm2020/ecosystem/packages/package-list/packages-list.component.mjs +2 -2
  33. package/esm2020/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.mjs +2 -2
  34. package/esm2020/files-repository/files-repository.guard.mjs +6 -3
  35. package/esm2020/location/location.component.mjs +20 -13
  36. package/esm2020/map/cluster-map.component.mjs +19 -11
  37. package/esm2020/map/cluster-map.mjs +8 -3
  38. package/esm2020/map/map-status.component.mjs +19 -5
  39. package/esm2020/map/map.component.mjs +10 -10
  40. package/esm2020/map/map.model.mjs +1 -19
  41. package/esm2020/map/map.service.mjs +24 -1
  42. package/esm2020/protocol-lwm2m/components/bootstrap-parameters/lwm2m-bootstrap-parameters.component.mjs +2 -2
  43. package/esm2020/protocol-lwm2m/components/configuration/typed-forms/form-wrapper-base.component.mjs +2 -2
  44. package/esm2020/register-device/register-device-navigation.factory.mjs +3 -3
  45. package/esm2020/replace-device/replace-device.service.mjs +15 -7
  46. package/esm2020/reports/export-schedules.component.mjs +3 -3
  47. package/esm2020/repository/configuration/device-tab/configuration-preview.component.mjs +14 -6
  48. package/esm2020/sms-gateway/sms-gateway.guard.mjs +2 -2
  49. package/esm2020/sms-gateway/sms-gateway.module.mjs +6 -6
  50. package/esm2020/sub-assets/add-group/add-group.component.mjs +7 -2
  51. package/esm2020/sub-assets/asset-properties-item.component.mjs +6 -6
  52. package/esm2020/sub-assets/groups.component.mjs +5 -2
  53. package/esm2020/sub-assets/sub-assets.component.mjs +7 -2
  54. package/esm2020/sub-assets/sub-assets.service.mjs +22 -10
  55. package/esm2020/tenants/tenant-list/tenant-list.component.mjs +12 -7
  56. package/esm2020/upgrade/ng1/downgraded.services.mjs +3 -2
  57. package/esm2020/upgrade/ng1/index.mjs +4 -3
  58. package/esm2020/widgets/cockpit/index.mjs +1 -1
  59. package/esm2020/widgets/device-management/index.mjs +1 -1
  60. package/fesm2015/c8y-ngx-components-assets-navigator.mjs +10 -3
  61. package/fesm2015/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  62. package/fesm2015/c8y-ngx-components-auth-configuration.mjs +7 -4
  63. package/fesm2015/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  64. package/fesm2015/c8y-ngx-components-cockpit-config.mjs +3 -3
  65. package/fesm2015/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  66. package/fesm2015/c8y-ngx-components-context-dashboard.mjs +35 -10
  67. package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  68. package/fesm2015/c8y-ngx-components-ecosystem.mjs +8 -8
  69. package/fesm2015/c8y-ngx-components-ecosystem.mjs.map +1 -1
  70. package/fesm2015/c8y-ngx-components-files-repository.mjs +6 -3
  71. package/fesm2015/c8y-ngx-components-files-repository.mjs.map +1 -1
  72. package/fesm2015/c8y-ngx-components-location.mjs +20 -13
  73. package/fesm2015/c8y-ngx-components-location.mjs.map +1 -1
  74. package/fesm2015/c8y-ngx-components-map.mjs +174 -142
  75. package/fesm2015/c8y-ngx-components-map.mjs.map +1 -1
  76. package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs +2 -2
  77. package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs.map +1 -1
  78. package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +1 -1
  79. package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
  80. package/fesm2015/c8y-ngx-components-register-device.mjs +3 -3
  81. package/fesm2015/c8y-ngx-components-register-device.mjs.map +1 -1
  82. package/fesm2015/c8y-ngx-components-replace-device.mjs +16 -8
  83. package/fesm2015/c8y-ngx-components-replace-device.mjs.map +1 -1
  84. package/fesm2015/c8y-ngx-components-reports.mjs +2 -2
  85. package/fesm2015/c8y-ngx-components-reports.mjs.map +1 -1
  86. package/fesm2015/c8y-ngx-components-repository-configuration.mjs +13 -5
  87. package/fesm2015/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  88. package/fesm2015/c8y-ngx-components-sms-gateway.mjs +6 -6
  89. package/fesm2015/c8y-ngx-components-sms-gateway.mjs.map +1 -1
  90. package/fesm2015/c8y-ngx-components-sub-assets.mjs +43 -18
  91. package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
  92. package/fesm2015/c8y-ngx-components-tenants.mjs +11 -6
  93. package/fesm2015/c8y-ngx-components-tenants.mjs.map +1 -1
  94. package/fesm2015/c8y-ngx-components-upgrade.mjs +4 -2
  95. package/fesm2015/c8y-ngx-components-upgrade.mjs.map +1 -1
  96. package/fesm2015/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
  97. package/fesm2015/c8y-ngx-components-widgets-device-management.mjs.map +1 -1
  98. package/fesm2015/c8y-ngx-components.mjs +126 -29
  99. package/fesm2015/c8y-ngx-components.mjs.map +1 -1
  100. package/fesm2020/c8y-ngx-components-assets-navigator.mjs +10 -3
  101. package/fesm2020/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  102. package/fesm2020/c8y-ngx-components-auth-configuration.mjs +7 -4
  103. package/fesm2020/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  104. package/fesm2020/c8y-ngx-components-cockpit-config.mjs +3 -3
  105. package/fesm2020/c8y-ngx-components-cockpit-config.mjs.map +1 -1
  106. package/fesm2020/c8y-ngx-components-context-dashboard.mjs +35 -10
  107. package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  108. package/fesm2020/c8y-ngx-components-ecosystem.mjs +8 -8
  109. package/fesm2020/c8y-ngx-components-ecosystem.mjs.map +1 -1
  110. package/fesm2020/c8y-ngx-components-files-repository.mjs +6 -3
  111. package/fesm2020/c8y-ngx-components-files-repository.mjs.map +1 -1
  112. package/fesm2020/c8y-ngx-components-location.mjs +20 -13
  113. package/fesm2020/c8y-ngx-components-location.mjs.map +1 -1
  114. package/fesm2020/c8y-ngx-components-map.mjs +174 -142
  115. package/fesm2020/c8y-ngx-components-map.mjs.map +1 -1
  116. package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs +2 -2
  117. package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs.map +1 -1
  118. package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +1 -1
  119. package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
  120. package/fesm2020/c8y-ngx-components-register-device.mjs +3 -3
  121. package/fesm2020/c8y-ngx-components-register-device.mjs.map +1 -1
  122. package/fesm2020/c8y-ngx-components-replace-device.mjs +16 -8
  123. package/fesm2020/c8y-ngx-components-replace-device.mjs.map +1 -1
  124. package/fesm2020/c8y-ngx-components-reports.mjs +2 -2
  125. package/fesm2020/c8y-ngx-components-reports.mjs.map +1 -1
  126. package/fesm2020/c8y-ngx-components-repository-configuration.mjs +13 -5
  127. package/fesm2020/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  128. package/fesm2020/c8y-ngx-components-sms-gateway.mjs +6 -6
  129. package/fesm2020/c8y-ngx-components-sms-gateway.mjs.map +1 -1
  130. package/fesm2020/c8y-ngx-components-sub-assets.mjs +43 -18
  131. package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
  132. package/fesm2020/c8y-ngx-components-tenants.mjs +11 -6
  133. package/fesm2020/c8y-ngx-components-tenants.mjs.map +1 -1
  134. package/fesm2020/c8y-ngx-components-upgrade.mjs +4 -2
  135. package/fesm2020/c8y-ngx-components-upgrade.mjs.map +1 -1
  136. package/fesm2020/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
  137. package/fesm2020/c8y-ngx-components-widgets-device-management.mjs.map +1 -1
  138. package/fesm2020/c8y-ngx-components.mjs +126 -29
  139. package/fesm2020/c8y-ngx-components.mjs.map +1 -1
  140. package/locales/locales.pot +3 -0
  141. package/location/location.component.d.ts +2 -2
  142. package/map/cluster-map.component.d.ts +3 -1
  143. package/map/map-status.component.d.ts +12 -1
  144. package/map/map.component.d.ts +1 -1
  145. package/map/map.model.d.ts +0 -1
  146. package/map/map.service.d.ts +6 -0
  147. package/package.json +1 -1
  148. package/replace-device/replace-device.service.d.ts +3 -1
  149. package/tenants/tenant-list/tenant-list.component.d.ts +4 -2
  150. package/upgrade/ng1/downgraded.services.d.ts +1 -0
  151. package/widgets/cockpit/index.d.ts +2 -1
  152. package/widgets/device-management/index.d.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-sms-gateway.mjs","sources":["../../sms-gateway/pattern-messages.data.ts","../../sms-gateway/sms-gateway.guard.ts","../../sms-gateway/sms-gateway.module.ts","../../sms-gateway/c8y-ngx-components-sms-gateway.ts"],"sourcesContent":["import { gettext } from '@c8y/ngx-components';\n\nexport const MESSAGES = {\n '^Sender name$': {\n gettext: gettext('Sender name')\n },\n '^Sender name used for sent SMS$': {\n gettext: gettext('Sender name used for sent SMS')\n },\n '^Sender address$': {\n gettext: gettext('Sender address')\n },\n '^Sender address used for sent SMS$': {\n gettext: gettext('Sender address used for sent SMS')\n },\n '^Username$': {\n gettext: gettext('Username')\n },\n '^Password$': {\n gettext: gettext('Password')\n },\n '^Licence key$': {\n gettext: gettext('License key')\n },\n '^Key$': {\n gettext: gettext('Key')\n },\n '^API base URL$': {\n gettext: gettext('API base URL')\n },\n '^API URL$': {\n gettext: gettext('API URL')\n },\n '^oauth$': {\n gettext: gettext('OAuth')\n },\n '^basic$': {\n gettext: gettext('Basic')\n },\n '^Authentication method$': {\n gettext: gettext('Authentication method')\n },\n '^Defines which authentication method is used with the provider$': {\n gettext: gettext('Defines which authentication method is used with the provider')\n },\n '^Static headers$': {\n gettext: gettext('Static headers')\n },\n '^Static headers that should be added to requests towards the provider$': {\n gettext: gettext('Static headers that should be added to requests towards the provider')\n },\n '^OAuth token URL$': {\n gettext: gettext('OAuth token URL')\n },\n '^URL where the OAuth token is requested from (required if OAuth method is chosen)$': {\n gettext: gettext(\n 'URL where the OAuth token is requested from (required if OAuth method is selected)'\n )\n },\n '^OAuth toke mime type$': {\n gettext: gettext('OAuth token mime type')\n },\n '^Overrides the OAuth token response mime type$': {\n gettext: gettext('Overrides the OAuth token response mime type')\n },\n '^OAuth access toke type$': {\n gettext: gettext('OAuth access token type')\n },\n '^Overrides the OAuth access token type$': {\n gettext: gettext('Overrides the OAuth access token type')\n },\n '^Global configuration$': {\n gettext: gettext('Global configuration')\n },\n '^Enables or disables if the settings may be used globally for all tenants (Only possible in management tenant)$':\n {\n gettext: gettext(\n 'Enables or disables the settings globally for all tenants (only possible in management tenant)'\n )\n },\n '^API key$': {\n gettext: gettext('API key')\n },\n '^Inherit to subtenants$': {\n gettext: gettext('Inherit to subtenants')\n },\n \"^Enables or disables if this tenant's configuration may be inherited to subtenants$\": {\n gettext: gettext(\n 'Enables or disables the option to inherit the tenant configuration to subtenants'\n )\n },\n '^Login$': {\n gettext: gettext('Login')\n },\n '^Source business unit ID$': {\n gettext: gettext('Source business unit ID')\n },\n '^Client ID$': {\n gettext: gettext('Client ID')\n },\n '^Client secret$': {\n gettext: gettext('Client secret')\n }\n};\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { Permissions, AppStateService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class SmsGatewayGuard implements CanActivate {\n private static readonly applicationName = 'sms-gateway';\n private showSMSProvider: Promise<boolean>;\n\n constructor(private permissions: Permissions, private appState: AppStateService) {}\n\n canActivate(): Promise<boolean> {\n if (this.showSMSProvider === undefined) {\n const hasRole: Promise<boolean> = Promise.resolve(this.permissions.hasRole('ROLE_SMS_READ'));\n\n this.showSMSProvider = hasRole.then(\n (hasPermissions: boolean) =>\n hasPermissions && this.appState.isApplicationAvailable(SmsGatewayGuard.applicationName)\n );\n }\n\n return this.showSMSProvider;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { gettext, hookPatternMessages, ProviderConfigurationModule } from '@c8y/ngx-components';\nimport { MESSAGES } from './pattern-messages.data';\nimport { SmsGatewayGuard } from './sms-gateway.guard';\n\n@NgModule({\n imports: [\n ProviderConfigurationModule.config([\n {\n navigation: {\n label: gettext('SMS provider'),\n path: 'smsgateway',\n icon: 'envelope-o',\n parent: gettext('Settings'),\n priority: 1000,\n canActivate: [SmsGatewayGuard]\n },\n layout: {\n pageTitle: gettext('SMS provider'),\n cardTitle: gettext('Credentials'),\n description: gettext(\n 'Enter your credentials from your SMS provider. This enables platform features that utilize SMS services (for example, two-factor authentication and user notifications).'\n ),\n providerName: gettext('SMS provider'),\n providerNamePlaceholder: gettext('Select or type to filter providers'),\n providerNameNoMatchesHint: gettext('Select one of the existing providers.'),\n deleteRoles: ['ROLE_SMS_ADMIN'],\n deleteBtnLabel: gettext('Delete'),\n saveRoles: ['ROLE_SMS_ADMIN'],\n saveBtnLabel: gettext('Save'),\n configurationUpdatedSuccessMsg: gettext('Credentials updated.'),\n deleteConfigurationModalTitle: gettext('Delete credentials'),\n deleteConfigurationModalBody: gettext(\n `You are about to delete SMS provider credentials. Deleting credentials will lock out any users with SMS-based two-factor authentication and deactivate the SMS-based smart rules and device communication. Do you want to proceed?`\n ),\n deleteConfigurationModalOkBtnLabel: gettext('Delete'),\n configurationDeletedSuccessMsg: gettext('Credentials deleted.')\n },\n endpoint: {\n definitionsEndpoint: {\n baseUrl: 'service/messaging/providers',\n listUrl: 'definitions'\n },\n configurationEndpoint: {\n baseUrl: 'service/messaging/providers',\n listUrl: 'configuration'\n }\n }\n }\n ])\n ],\n providers: [SmsGatewayGuard, hookPatternMessages(MESSAGES)]\n})\nexport class SmsGatewayModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"c8y-ngx-components-sms-gateway.mjs","sources":["../../sms-gateway/pattern-messages.data.ts","../../sms-gateway/sms-gateway.guard.ts","../../sms-gateway/sms-gateway.module.ts","../../sms-gateway/c8y-ngx-components-sms-gateway.ts"],"sourcesContent":["import { gettext } from '@c8y/ngx-components';\n\nexport const MESSAGES = {\n '^Sender name$': {\n gettext: gettext('Sender name')\n },\n '^Sender name used for sent SMS$': {\n gettext: gettext('Sender name used for sent SMS')\n },\n '^Sender address$': {\n gettext: gettext('Sender address')\n },\n '^Sender address used for sent SMS$': {\n gettext: gettext('Sender address used for sent SMS')\n },\n '^Username$': {\n gettext: gettext('Username')\n },\n '^Password$': {\n gettext: gettext('Password')\n },\n '^Licence key$': {\n gettext: gettext('License key')\n },\n '^Key$': {\n gettext: gettext('Key')\n },\n '^API base URL$': {\n gettext: gettext('API base URL')\n },\n '^API URL$': {\n gettext: gettext('API URL')\n },\n '^oauth$': {\n gettext: gettext('OAuth')\n },\n '^basic$': {\n gettext: gettext('Basic')\n },\n '^Authentication method$': {\n gettext: gettext('Authentication method')\n },\n '^Defines which authentication method is used with the provider$': {\n gettext: gettext('Defines which authentication method is used with the provider')\n },\n '^Static headers$': {\n gettext: gettext('Static headers')\n },\n '^Static headers that should be added to requests towards the provider$': {\n gettext: gettext('Static headers that should be added to requests towards the provider')\n },\n '^OAuth token URL$': {\n gettext: gettext('OAuth token URL')\n },\n '^URL where the OAuth token is requested from (required if OAuth method is chosen)$': {\n gettext: gettext(\n 'URL where the OAuth token is requested from (required if OAuth method is selected)'\n )\n },\n '^OAuth toke mime type$': {\n gettext: gettext('OAuth token mime type')\n },\n '^Overrides the OAuth token response mime type$': {\n gettext: gettext('Overrides the OAuth token response mime type')\n },\n '^OAuth access toke type$': {\n gettext: gettext('OAuth access token type')\n },\n '^Overrides the OAuth access token type$': {\n gettext: gettext('Overrides the OAuth access token type')\n },\n '^Global configuration$': {\n gettext: gettext('Global configuration')\n },\n '^Enables or disables if the settings may be used globally for all tenants (Only possible in management tenant)$':\n {\n gettext: gettext(\n 'Enables or disables the settings globally for all tenants (only possible in management tenant)'\n )\n },\n '^API key$': {\n gettext: gettext('API key')\n },\n '^Inherit to subtenants$': {\n gettext: gettext('Inherit to subtenants')\n },\n \"^Enables or disables if this tenant's configuration may be inherited to subtenants$\": {\n gettext: gettext(\n 'Enables or disables the option to inherit the tenant configuration to subtenants'\n )\n },\n '^Login$': {\n gettext: gettext('Login')\n },\n '^Source business unit ID$': {\n gettext: gettext('Source business unit ID')\n },\n '^Client ID$': {\n gettext: gettext('Client ID')\n },\n '^Client secret$': {\n gettext: gettext('Client secret')\n }\n};\n","import { Injectable } from '@angular/core';\nimport { CanActivate } from '@angular/router';\nimport { Permissions, AppStateService } from '@c8y/ngx-components';\n\n@Injectable()\nexport class SmsGatewayGuard implements CanActivate {\n private static readonly applicationName = 'sms-gateway';\n private showSMSProvider: Promise<boolean>;\n\n constructor(\n private permissions: Permissions,\n private appState: AppStateService\n ) {}\n\n canActivate(): Promise<boolean> {\n if (this.showSMSProvider === undefined) {\n const hasRole: Promise<boolean> = Promise.resolve(\n this.permissions.hasRole(Permissions.ROLE_SMS_READ)\n );\n\n this.showSMSProvider = hasRole.then(\n (hasPermissions: boolean) =>\n hasPermissions && this.appState.isApplicationAvailable(SmsGatewayGuard.applicationName)\n );\n }\n\n return this.showSMSProvider;\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n gettext,\n hookPatternMessages,\n ProviderConfigurationModule,\n Permissions\n} from '@c8y/ngx-components';\nimport { MESSAGES } from './pattern-messages.data';\nimport { SmsGatewayGuard } from './sms-gateway.guard';\n\n@NgModule({\n imports: [\n ProviderConfigurationModule.config([\n {\n navigation: {\n label: gettext('SMS provider'),\n path: 'smsgateway',\n icon: 'envelope-o',\n parent: gettext('Settings'),\n priority: 1000,\n canActivate: [SmsGatewayGuard]\n },\n layout: {\n pageTitle: gettext('SMS provider'),\n cardTitle: gettext('Credentials'),\n description: gettext(\n 'Enter your credentials from your SMS provider. This enables platform features that utilize SMS services (for example, two-factor authentication and user notifications).'\n ),\n providerName: gettext('SMS provider'),\n providerNamePlaceholder: gettext('Select or type to filter providers'),\n providerNameNoMatchesHint: gettext('Select one of the existing providers.'),\n deleteRoles: [Permissions.ROLE_SMS_ADMIN],\n deleteBtnLabel: gettext('Delete'),\n saveRoles: [Permissions.ROLE_SMS_ADMIN],\n saveBtnLabel: gettext('Save'),\n configurationUpdatedSuccessMsg: gettext('Credentials updated.'),\n deleteConfigurationModalTitle: gettext('Delete credentials'),\n deleteConfigurationModalBody: gettext(\n `You are about to delete SMS provider credentials. Deleting credentials will lock out any users with SMS-based two-factor authentication and deactivate the SMS-based smart rules and device communication. Do you want to proceed?`\n ),\n deleteConfigurationModalOkBtnLabel: gettext('Delete'),\n configurationDeletedSuccessMsg: gettext('Credentials deleted.')\n },\n endpoint: {\n definitionsEndpoint: {\n baseUrl: 'service/messaging/providers',\n listUrl: 'definitions'\n },\n configurationEndpoint: {\n baseUrl: 'service/messaging/providers',\n listUrl: 'configuration'\n }\n }\n }\n ])\n ],\n providers: [SmsGatewayGuard, hookPatternMessages(MESSAGES)]\n})\nexport class SmsGatewayModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Component, InjectionToken, Inject, EventEmitter, Input, Output, ViewChild, HostListener, NgModule, Optional, TemplateRef } from '@angular/core';
3
3
  import * as i3 from '@c8y/ngx-components';
4
- import { GroupFragment, gettext, BaseColumn, getBasicInputArrayFormFieldConfig, DataGridService, C8yStepper, CoreModule, hookRoute, Status, AbstractConfigurationStrategy, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, UserPreferencesConfigurationStrategy, DATA_GRID_CONFIGURATION_STRATEGY, DataGridComponent, CustomColumn, FilterMapperModule, ViewContext } from '@c8y/ngx-components';
4
+ import { GroupFragment, gettext, BaseColumn, getBasicInputArrayFormFieldConfig, DataGridService, Permissions, C8yStepper, CoreModule, hookRoute, Status, AbstractConfigurationStrategy, DATA_GRID_CONFIGURATION_CONTEXT, DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER, UserPreferencesConfigurationStrategy, DATA_GRID_CONFIGURATION_STRATEGY, DataGridComponent, CustomColumn, FilterMapperModule, ViewContext } from '@c8y/ngx-components';
5
5
  import * as i7 from '@c8y/ngx-components/device-grid';
6
6
  import { NameDeviceGridColumn, ModelDeviceGridColumn, SerialNumberDeviceGridColumn, RegistrationDateDeviceGridColumn, SystemIdDeviceGridColumn, ImeiDeviceGridColumn, AlarmsDeviceGridColumn, DeviceGridModule } from '@c8y/ngx-components/device-grid';
7
7
  import { __awaiter } from 'tslib';
@@ -337,28 +337,37 @@ class SubAssetsService extends DataGridService {
337
337
  }
338
338
  canEditGroup(group) {
339
339
  return __awaiter(this, void 0, void 0, function* () {
340
- return yield this.permissionsService.canEdit(['ROLE_INVENTORY_ADMIN'], group);
340
+ return yield this.permissionsService.canEdit([Permissions.ROLE_INVENTORY_ADMIN, Permissions.ROLE_MANAGED_OBJECT_ADMIN], group);
341
341
  });
342
342
  }
343
343
  canCreateGroup() {
344
344
  const currentUser = this.appState.currentUser.value;
345
345
  const hasAdminRole = this.user.hasAnyRole(currentUser, [
346
- 'ROLE_INVENTORY_ADMIN',
347
- 'ROLE_INVENTORY_CREATE'
346
+ Permissions.ROLE_INVENTORY_ADMIN,
347
+ Permissions.ROLE_INVENTORY_CREATE,
348
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
349
+ Permissions.ROLE_MANAGED_OBJECT_CREATE
348
350
  ]);
349
351
  return hasAdminRole;
350
352
  }
351
353
  canAssignDevice(group) {
352
354
  return __awaiter(this, void 0, void 0, function* () {
353
- return yield this.permissionsService.canEdit(['ROLE_INVENTORY_ADMIN'], group);
355
+ return yield this.permissionsService.canEdit([Permissions.ROLE_INVENTORY_ADMIN, Permissions.ROLE_MANAGED_OBJECT_ADMIN], group);
354
356
  });
355
357
  }
356
358
  canEditSmartGroup() {
357
- const SMART_GROUPS_ROLES_EDIT = ['ROLE_SMARTGROUP_UPDATE', 'ROLE_SMARTGROUP_ADMIN'];
359
+ const SMART_GROUPS_ROLES_EDIT = [
360
+ Permissions.ROLE_SMARTGROUP_UPDATE,
361
+ Permissions.ROLE_SMARTGROUP_ADMIN
362
+ ];
358
363
  return this.permissionsService.hasAnyRole(SMART_GROUPS_ROLES_EDIT);
359
364
  }
360
365
  canDeleteSmartGroup() {
361
- const SMART_GROUPS_ROLES_DELETE = ['ROLE_SMARTGROUP_ADMIN', 'ROLE_INVENTORY_ADMIN'];
366
+ const SMART_GROUPS_ROLES_DELETE = [
367
+ Permissions.ROLE_SMARTGROUP_ADMIN,
368
+ Permissions.ROLE_INVENTORY_ADMIN,
369
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN
370
+ ];
362
371
  return this.permissionsService.hasAnyRole(SMART_GROUPS_ROLES_DELETE);
363
372
  }
364
373
  isSmartGroup(group) {
@@ -367,9 +376,12 @@ class SubAssetsService extends DataGridService {
367
376
  isUsingInventoryRoles() {
368
377
  const currentUser = this.appState.currentUser.value;
369
378
  const hasAnyInventoryRole = this.user.hasAnyRole(currentUser, [
370
- 'ROLE_INVENTORY_ADMIN',
371
- 'ROLE_INVENTORY_READ',
372
- 'ROLE_INVENTORY_CREATE'
379
+ Permissions.ROLE_INVENTORY_ADMIN,
380
+ Permissions.ROLE_INVENTORY_READ,
381
+ Permissions.ROLE_INVENTORY_CREATE,
382
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
383
+ Permissions.ROLE_MANAGED_OBJECT_CREATE,
384
+ Permissions.ROLE_MANAGED_OBJECT_READ
373
385
  ]);
374
386
  return !hasAnyInventoryRole;
375
387
  }
@@ -527,7 +539,12 @@ class AddGroupComponent {
527
539
  this.subscription = this.onCancel.subscribe(() => this.resetStepper());
528
540
  this.canCreateGroup =
529
541
  this.subAssetsService.canCreateGroup() ||
530
- (yield this.permissionsService.canEdit(['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE'], {
542
+ (yield this.permissionsService.canEdit([
543
+ Permissions.ROLE_INVENTORY_ADMIN,
544
+ Permissions.ROLE_INVENTORY_CREATE,
545
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
546
+ Permissions.ROLE_MANAGED_OBJECT_CREATE
547
+ ], {
531
548
  id: this.currentGroupId
532
549
  }));
533
550
  this.canAssignDevice = yield this.subAssetsService.canAssignDevice({
@@ -655,8 +672,10 @@ class AssetPropertiesItemComponent {
655
672
  return __awaiter(this, void 0, void 0, function* () {
656
673
  if (this.file) {
657
674
  try {
658
- const imageFile = yield this.filesService.getFile(this.file);
659
- this.previewImage = yield this.getPreviewIfImage(imageFile);
675
+ if (this.filesService.fileNamesHaveValidExtension(this.file.name, 'image')) {
676
+ const imageFile = yield this.filesService.getFile(this.file);
677
+ this.previewImage = yield this.getPreviewIfImage(imageFile);
678
+ }
660
679
  }
661
680
  catch (ex) {
662
681
  this.alert.danger(gettext('File could not be loaded.'));
@@ -696,9 +715,7 @@ class AssetPropertiesItemComponent {
696
715
  }
697
716
  getPreviewIfImage(imageFile) {
698
717
  return __awaiter(this, void 0, void 0, function* () {
699
- if (this.filesService.haveValidExtensions(imageFile, 'image')) {
700
- return this.filesService.toBase64(imageFile);
701
- }
718
+ return this.filesService.toBase64(imageFile);
702
719
  });
703
720
  }
704
721
  }
@@ -2023,7 +2040,10 @@ class GroupsComponent {
2023
2040
  this.columns = [];
2024
2041
  }
2025
2042
  ngOnInit() {
2026
- if (!this.permissions.hasRole('ROLE_INVENTORY_READ')) {
2043
+ if (!this.permissions.hasAnyRole([
2044
+ Permissions.ROLE_INVENTORY_READ,
2045
+ Permissions.ROLE_MANAGED_OBJECT_READ
2046
+ ])) {
2027
2047
  this.sortable = false;
2028
2048
  }
2029
2049
  this.shouldDisableAddGroup = !this.subAssetsService.canCreateGroup();
@@ -2080,7 +2100,12 @@ class SubAssetsComponent {
2080
2100
  this.group = Object.assign({}, contextData);
2081
2101
  this.title = this.group.name;
2082
2102
  this.currentGroupId = this.group.id;
2083
- this.shouldDisableAddGroup = !(yield this.permissionsService.canEdit(['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE'], this.group));
2103
+ this.shouldDisableAddGroup = !(yield this.permissionsService.canEdit([
2104
+ Permissions.ROLE_INVENTORY_ADMIN,
2105
+ Permissions.ROLE_INVENTORY_CREATE,
2106
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
2107
+ Permissions.ROLE_MANAGED_OBJECT_CREATE
2108
+ ], this.group));
2084
2109
  this.shouldDisableAssignDevices = !(yield this.subAssetsService.canAssignDevice(this.group));
2085
2110
  this.customProperties = yield this.subAssetsService.getCustomProperties(this.group);
2086
2111
  this.shouldShowAssetsProperties =