@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 { Component, InjectionToken, Injectable, Inject, EventEmitter, Input, Output, ViewChild, HostListener, NgModule, Optional, TemplateRef } from '@angular/core';
3
3
  import * as i3 from '@c8y/ngx-components';
4
- import { gettext, BaseColumn, getBasicInputArrayFormFieldConfig, DataGridService, GroupFragment, 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 { gettext, BaseColumn, getBasicInputArrayFormFieldConfig, DataGridService, Permissions, GroupFragment, 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 * as i1$1 from '@angular/forms';
@@ -283,25 +283,34 @@ class SubAssetsService extends DataGridService {
283
283
  return this.getAssetsStatistics(parentReference, filters);
284
284
  }
285
285
  async canEditGroup(group) {
286
- return await this.permissionsService.canEdit(['ROLE_INVENTORY_ADMIN'], group);
286
+ return await this.permissionsService.canEdit([Permissions.ROLE_INVENTORY_ADMIN, Permissions.ROLE_MANAGED_OBJECT_ADMIN], group);
287
287
  }
288
288
  canCreateGroup() {
289
289
  const currentUser = this.appState.currentUser.value;
290
290
  const hasAdminRole = this.user.hasAnyRole(currentUser, [
291
- 'ROLE_INVENTORY_ADMIN',
292
- 'ROLE_INVENTORY_CREATE'
291
+ Permissions.ROLE_INVENTORY_ADMIN,
292
+ Permissions.ROLE_INVENTORY_CREATE,
293
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
294
+ Permissions.ROLE_MANAGED_OBJECT_CREATE
293
295
  ]);
294
296
  return hasAdminRole;
295
297
  }
296
298
  async canAssignDevice(group) {
297
- return await this.permissionsService.canEdit(['ROLE_INVENTORY_ADMIN'], group);
299
+ return await this.permissionsService.canEdit([Permissions.ROLE_INVENTORY_ADMIN, Permissions.ROLE_MANAGED_OBJECT_ADMIN], group);
298
300
  }
299
301
  canEditSmartGroup() {
300
- const SMART_GROUPS_ROLES_EDIT = ['ROLE_SMARTGROUP_UPDATE', 'ROLE_SMARTGROUP_ADMIN'];
302
+ const SMART_GROUPS_ROLES_EDIT = [
303
+ Permissions.ROLE_SMARTGROUP_UPDATE,
304
+ Permissions.ROLE_SMARTGROUP_ADMIN
305
+ ];
301
306
  return this.permissionsService.hasAnyRole(SMART_GROUPS_ROLES_EDIT);
302
307
  }
303
308
  canDeleteSmartGroup() {
304
- const SMART_GROUPS_ROLES_DELETE = ['ROLE_SMARTGROUP_ADMIN', 'ROLE_INVENTORY_ADMIN'];
309
+ const SMART_GROUPS_ROLES_DELETE = [
310
+ Permissions.ROLE_SMARTGROUP_ADMIN,
311
+ Permissions.ROLE_INVENTORY_ADMIN,
312
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN
313
+ ];
305
314
  return this.permissionsService.hasAnyRole(SMART_GROUPS_ROLES_DELETE);
306
315
  }
307
316
  isSmartGroup(group) {
@@ -310,9 +319,12 @@ class SubAssetsService extends DataGridService {
310
319
  isUsingInventoryRoles() {
311
320
  const currentUser = this.appState.currentUser.value;
312
321
  const hasAnyInventoryRole = this.user.hasAnyRole(currentUser, [
313
- 'ROLE_INVENTORY_ADMIN',
314
- 'ROLE_INVENTORY_READ',
315
- 'ROLE_INVENTORY_CREATE'
322
+ Permissions.ROLE_INVENTORY_ADMIN,
323
+ Permissions.ROLE_INVENTORY_READ,
324
+ Permissions.ROLE_INVENTORY_CREATE,
325
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
326
+ Permissions.ROLE_MANAGED_OBJECT_CREATE,
327
+ Permissions.ROLE_MANAGED_OBJECT_READ
316
328
  ]);
317
329
  return !hasAnyInventoryRole;
318
330
  }
@@ -509,7 +521,12 @@ class AddGroupComponent {
509
521
  this.subscription = this.onCancel.subscribe(() => this.resetStepper());
510
522
  this.canCreateGroup =
511
523
  this.subAssetsService.canCreateGroup() ||
512
- (await this.permissionsService.canEdit(['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE'], {
524
+ (await this.permissionsService.canEdit([
525
+ Permissions.ROLE_INVENTORY_ADMIN,
526
+ Permissions.ROLE_INVENTORY_CREATE,
527
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
528
+ Permissions.ROLE_MANAGED_OBJECT_CREATE
529
+ ], {
513
530
  id: this.currentGroupId
514
531
  }));
515
532
  this.canAssignDevice = await this.subAssetsService.canAssignDevice({
@@ -631,8 +648,10 @@ class AssetPropertiesItemComponent {
631
648
  async resolveFile() {
632
649
  if (this.file) {
633
650
  try {
634
- const imageFile = await this.filesService.getFile(this.file);
635
- this.previewImage = await this.getPreviewIfImage(imageFile);
651
+ if (this.filesService.fileNamesHaveValidExtension(this.file.name, 'image')) {
652
+ const imageFile = await this.filesService.getFile(this.file);
653
+ this.previewImage = await this.getPreviewIfImage(imageFile);
654
+ }
636
655
  }
637
656
  catch (ex) {
638
657
  this.alert.danger(gettext('File could not be loaded.'));
@@ -670,9 +689,7 @@ class AssetPropertiesItemComponent {
670
689
  }
671
690
  }
672
691
  async getPreviewIfImage(imageFile) {
673
- if (this.filesService.haveValidExtensions(imageFile, 'image')) {
674
- return this.filesService.toBase64(imageFile);
675
- }
692
+ return this.filesService.toBase64(imageFile);
676
693
  }
677
694
  }
678
695
  AssetPropertiesItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AssetPropertiesItemComponent, deps: [{ token: i3.AlertService }, { token: i3.C8yJSONSchema }, { token: i3.FilesService }], target: i0.ɵɵFactoryTarget.Component });
@@ -1948,7 +1965,10 @@ class GroupsComponent {
1948
1965
  this.columns = [];
1949
1966
  }
1950
1967
  ngOnInit() {
1951
- if (!this.permissions.hasRole('ROLE_INVENTORY_READ')) {
1968
+ if (!this.permissions.hasAnyRole([
1969
+ Permissions.ROLE_INVENTORY_READ,
1970
+ Permissions.ROLE_MANAGED_OBJECT_READ
1971
+ ])) {
1952
1972
  this.sortable = false;
1953
1973
  }
1954
1974
  this.shouldDisableAddGroup = !this.subAssetsService.canCreateGroup();
@@ -2000,7 +2020,12 @@ class SubAssetsComponent {
2000
2020
  this.group = { ...contextData };
2001
2021
  this.title = this.group.name;
2002
2022
  this.currentGroupId = this.group.id;
2003
- this.shouldDisableAddGroup = !(await this.permissionsService.canEdit(['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_CREATE'], this.group));
2023
+ this.shouldDisableAddGroup = !(await this.permissionsService.canEdit([
2024
+ Permissions.ROLE_INVENTORY_ADMIN,
2025
+ Permissions.ROLE_INVENTORY_CREATE,
2026
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
2027
+ Permissions.ROLE_MANAGED_OBJECT_CREATE
2028
+ ], this.group));
2004
2029
  this.shouldDisableAssignDevices = !(await this.subAssetsService.canAssignDevice(this.group));
2005
2030
  this.customProperties = await this.subAssetsService.getCustomProperties(this.group);
2006
2031
  this.shouldShowAssetsProperties =