@c8y/ngx-components 1018.0.196 → 1018.0.201

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 (43) hide show
  1. package/core/common/global-config.service.d.ts +1 -1
  2. package/core/common/permissions.service.d.ts +2 -2
  3. package/core/i18n/pattern-messages.data.d.ts +20 -20
  4. package/esm2020/assets-navigator/asset-node.service.mjs +9 -3
  5. package/esm2020/context-dashboard/add-dashboard.factory.mjs +10 -3
  6. package/esm2020/context-dashboard/context-dashboard.service.mjs +11 -3
  7. package/esm2020/context-dashboard/dashboard-detail.component.mjs +7 -2
  8. package/esm2020/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +4 -2
  9. package/esm2020/core/common/global-config.service.mjs +6 -2
  10. package/esm2020/core/common/permissions.service.mjs +2 -2
  11. package/esm2020/core/common/user-preferences/user-preferences.service.mjs +6 -2
  12. package/esm2020/core/i18n/pattern-messages.data.mjs +21 -21
  13. package/esm2020/files-repository/files-repository.guard.mjs +6 -5
  14. package/esm2020/repository/configuration/device-tab/configuration-preview.component.mjs +11 -3
  15. package/esm2020/sub-assets/add-group/add-group.component.mjs +7 -2
  16. package/esm2020/sub-assets/groups.component.mjs +5 -2
  17. package/esm2020/sub-assets/sub-assets.component.mjs +7 -2
  18. package/esm2020/sub-assets/sub-assets.service.mjs +12 -6
  19. package/fesm2015/c8y-ngx-components-assets-navigator.mjs +8 -2
  20. package/fesm2015/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  21. package/fesm2015/c8y-ngx-components-context-dashboard.mjs +28 -6
  22. package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  23. package/fesm2015/c8y-ngx-components-files-repository.mjs +5 -4
  24. package/fesm2015/c8y-ngx-components-files-repository.mjs.map +1 -1
  25. package/fesm2015/c8y-ngx-components-repository-configuration.mjs +10 -2
  26. package/fesm2015/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  27. package/fesm2015/c8y-ngx-components-sub-assets.mjs +27 -8
  28. package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
  29. package/fesm2015/c8y-ngx-components.mjs +31 -23
  30. package/fesm2015/c8y-ngx-components.mjs.map +1 -1
  31. package/fesm2020/c8y-ngx-components-assets-navigator.mjs +8 -2
  32. package/fesm2020/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  33. package/fesm2020/c8y-ngx-components-context-dashboard.mjs +28 -6
  34. package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  35. package/fesm2020/c8y-ngx-components-files-repository.mjs +5 -4
  36. package/fesm2020/c8y-ngx-components-files-repository.mjs.map +1 -1
  37. package/fesm2020/c8y-ngx-components-repository-configuration.mjs +10 -2
  38. package/fesm2020/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  39. package/fesm2020/c8y-ngx-components-sub-assets.mjs +27 -8
  40. package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
  41. package/fesm2020/c8y-ngx-components.mjs +31 -23
  42. package/fesm2020/c8y-ngx-components.mjs.map +1 -1
  43. package/package.json +1 -1
@@ -1084,7 +1084,7 @@ const MESSAGES = {
1084
1084
  '^Can not activate a certificate which is either expired or not yet valid$': {
1085
1085
  gettext: gettext('Cannot activate a certificate which is either expired or not yet valid.')
1086
1086
  },
1087
- '^Cannot add certificate - certificate with (.+?) fingerprint already exists. : Certificate with (.+?) fingerprint already exists.': {
1087
+ '^Cannot add certificate - certificate with (.+?) fingerprint already exists. : Certificate with (.+?) fingerprint already exists.$': {
1088
1088
  gettext: gettext('Could not add certificate. Certificate with {{fingerprint}} fingerprint already exists.'),
1089
1089
  placeholders: {
1090
1090
  fingerprint: '$1'
@@ -1379,7 +1379,7 @@ const MESSAGES = {
1379
1379
  applicationId: '$2'
1380
1380
  }
1381
1381
  },
1382
- '^Http status code: 404\n{error="options/Not Found",message="Unable to find option by given key: sigfox-agent/provider.token",info="https://www.cumulocity.com/guides/reference-guide/#error_reporting",details="null"}': {
1382
+ '^Http status code: 404\n{error="options/Not Found",message="Unable to find option by given key: sigfox-agent/provider.token",info="https://www.cumulocity.com/guides/reference-guide/#error_reporting",details="null"}$': {
1383
1383
  gettext: gettext('Unable to find option by given key: sigfox-agent/provider.token')
1384
1384
  },
1385
1385
  '^Failed to delete application. : Cannot remove application assigned to other tenants.$': {
@@ -1500,7 +1500,7 @@ const MESSAGES = {
1500
1500
  '^Inventory Role removed$': {
1501
1501
  gettext: gettext('Inventory role removed')
1502
1502
  },
1503
- '^Inventory Role (.+?) removed': {
1503
+ '^Inventory Role (.+?) removed$': {
1504
1504
  gettext: gettext('Inventory role "{{name}}" deleted.'),
1505
1505
  placeholders: {
1506
1506
  name: '$1'
@@ -1509,16 +1509,16 @@ const MESSAGES = {
1509
1509
  '^Inventory Role updated$': {
1510
1510
  gettext: gettext('Inventory role updated')
1511
1511
  },
1512
- '^Inventory Role (.+?) updated': {
1512
+ '^Inventory Role (.+?) updated$': {
1513
1513
  gettext: gettext('Inventory role "{{name}}" updated.'),
1514
1514
  placeholders: {
1515
1515
  name: '$1'
1516
1516
  }
1517
1517
  },
1518
- '^I/O error: Connection refused; nested exception is Connection refused : Connection refused': {
1518
+ '^I/O error: Connection refused; nested exception is Connection refused : Connection refused$': {
1519
1519
  gettext: gettext('Connection refused')
1520
1520
  },
1521
- '^I/O error: Read timed out; nested exception is Read timed out : Read timed out': {
1521
+ '^I/O error: Read timed out; nested exception is Read timed out : Read timed out$': {
1522
1522
  gettext: gettext('Read timed out')
1523
1523
  },
1524
1524
  '^Log file requested$': {
@@ -1594,7 +1594,7 @@ const MESSAGES = {
1594
1594
  '^Operation updated$': {
1595
1595
  gettext: gettext('Operation updated.')
1596
1596
  },
1597
- "^Operation created: status='(.+?)'.": {
1597
+ "^Operation created: status='(.+?)'.$": {
1598
1598
  gettext: gettext('Operation created: status: "{{ status | translate }}".'),
1599
1599
  placeholders: {
1600
1600
  status: '$1'
@@ -1618,13 +1618,13 @@ const MESSAGES = {
1618
1618
  option: '$1'
1619
1619
  }
1620
1620
  },
1621
- '^Owner field error. : Cannot introduce cyclic dependency.': {
1621
+ '^Owner field error. : Cannot introduce cyclic dependency.$': {
1622
1622
  gettext: gettext('Could not introduce cyclic ownership dependency.')
1623
1623
  },
1624
1624
  '^Password change is temporary blocked.$': {
1625
1625
  gettext: gettext('Password change is temporarily blocked.')
1626
1626
  },
1627
- '^Password cipher does not match': {
1627
+ '^Password cipher does not match$': {
1628
1628
  gettext: gettext('Password cipher does not match.')
1629
1629
  },
1630
1630
  '^Platform application cannot be added to, nor removed from any tenant.$': {
@@ -1633,7 +1633,7 @@ const MESSAGES = {
1633
1633
  '^Private key must be provided in KEY_PAIR credentials$': {
1634
1634
  gettext: gettext('Private key must be provided when "Public/private keys" option is selected.')
1635
1635
  },
1636
- '^Private key cipher does not match': {
1636
+ '^Private key cipher does not match$': {
1637
1637
  gettext: gettext('Private key cipher does not match')
1638
1638
  },
1639
1639
  '^Protocol "(.+?)" does not support "(.+?)" credentials type$': {
@@ -1670,13 +1670,13 @@ const MESSAGES = {
1670
1670
  id: '$1'
1671
1671
  }
1672
1672
  },
1673
- '^Retrieve configuration snapshot from device (.+?)': {
1673
+ '^Retrieve configuration snapshot from device (.+?)$': {
1674
1674
  gettext: gettext('Retrieve configuration snapshot from device {{deviceName}}'),
1675
1675
  placeholders: {
1676
1676
  deviceName: '$1'
1677
1677
  }
1678
1678
  },
1679
- '^Retrieve (.+?) configuration snapshot from device (.+?)': {
1679
+ '^Retrieve (.+?) configuration snapshot from device (.+?)$': {
1680
1680
  gettext: gettext('Retrieve {{configurationType}} configuration snapshot from device {{deviceName}}'),
1681
1681
  placeholders: {
1682
1682
  configurationType: '$1',
@@ -1690,7 +1690,7 @@ const MESSAGES = {
1690
1690
  scaleNumber: '$2'
1691
1691
  }
1692
1692
  },
1693
- '^Send configuration snapshot (.+?) of configuration type (.+?) to device (.+?)': {
1693
+ '^Send configuration snapshot (.+?) of configuration type (.+?) to device (.+?)$': {
1694
1694
  gettext: gettext('Send configuration snapshot {{snapshotName}} of configuration type {{configurationType}} to device {{deviceName}}'),
1695
1695
  placeholders: {
1696
1696
  snapshotName: '$1',
@@ -1698,7 +1698,7 @@ const MESSAGES = {
1698
1698
  deviceName: '$3'
1699
1699
  }
1700
1700
  },
1701
- '^Send configuration snapshot (.+?) to device (.+?)': {
1701
+ '^Send configuration snapshot (.+?) to device (.+?)$': {
1702
1702
  gettext: gettext('Send configuration snapshot {{snapshotName}} to device {{deviceName}}'),
1703
1703
  placeholders: {
1704
1704
  snapshotName: '$1',
@@ -1926,25 +1926,25 @@ const MESSAGES = {
1926
1926
  inventoryAssignment: '$1'
1927
1927
  }
1928
1928
  },
1929
- 'applications \\[(.+?)\\] added$': {
1929
+ 'applications \\[(.+?)\\] added': {
1930
1930
  gettext: gettext('applications [{{applicationsList}}] added'),
1931
1931
  placeholders: {
1932
1932
  applicationsList: '$1'
1933
1933
  }
1934
1934
  },
1935
- 'applications \\[(.+?)\\] removed$': {
1935
+ 'applications \\[(.+?)\\] removed': {
1936
1936
  gettext: gettext('applications [{{applicationsList}}] removed'),
1937
1937
  placeholders: {
1938
1938
  applicationsList: '$1'
1939
1939
  }
1940
1940
  },
1941
- 'global roles \\[(.+?)\\] added$': {
1941
+ 'global roles \\[(.+?)\\] added': {
1942
1942
  gettext: gettext('global roles [{{globalRolesList}}] added'),
1943
1943
  placeholders: {
1944
1944
  globalRolesList: '$1'
1945
1945
  }
1946
1946
  },
1947
- 'global roles \\[(.+?)\\] removed$': {
1947
+ 'global roles \\[(.+?)\\] removed': {
1948
1948
  gettext: gettext('global roles [{{globalRolesList}}] removed'),
1949
1949
  placeholders: {
1950
1950
  globalRolesList: '$1'
@@ -1993,7 +1993,7 @@ const MESSAGES = {
1993
1993
  '^You have reached devices limit. No more devices can be registered.$': {
1994
1994
  gettext: gettext('You reached devices limit. No more devices can be registered.')
1995
1995
  },
1996
- '^(.+) succeeded for volume "(.+)"': {
1996
+ '^(.+) succeeded for volume "(.+)"$': {
1997
1997
  gettext: gettext('Operation "{{operation}}" succeeded for volume "{{volume}}".'),
1998
1998
  placeholders: {
1999
1999
  operation: '$1',
@@ -2677,7 +2677,7 @@ const MESSAGES = {
2677
2677
  '^This command returns a list of shell commands with description that can be created for the Lwm2m device connector\\.$': {
2678
2678
  gettext: gettext('This command returns a list of shell commands with description that can be created for the LWM2M device connector.')
2679
2679
  },
2680
- '^The following operations are supported:': {
2680
+ '^The following operations are supported:$': {
2681
2681
  gettext: gettext('The following operations are supported:')
2682
2682
  },
2683
2683
  '^PSK template$': {
@@ -5111,7 +5111,7 @@ class Permissions {
5111
5111
  * Checks if the current user has write permissions for the given mo.
5112
5112
  * (either through global role, individual device permissions or via inventory roles).
5113
5113
  *
5114
- * @param {array} roleIds Array of roles which the current user should have.
5114
+ * @param roleIds The array of role ids to check if the current user have at least one of them.
5115
5115
  * @param {IManagedObject | IIdentified} mo The managed object for which we are checking whether the user has access.
5116
5116
  * @param {CanEditConfig} config A configuration object that can take the following values:
5117
5117
  * - `skipRolesCheck`: `boolean` - skips roles check,
@@ -5994,7 +5994,11 @@ class UserPreferencesService {
5994
5994
  return this.user.hasAllRoles(user, [
5995
5995
  Permissions.ROLE_INVENTORY_READ,
5996
5996
  Permissions.ROLE_INVENTORY_ADMIN
5997
- ])
5997
+ ]) ||
5998
+ this.user.hasAllRoles(user, [
5999
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
6000
+ Permissions.ROLE_MANAGED_OBJECT_READ
6001
+ ])
5998
6002
  ? this.storage.inventory
5999
6003
  : this.storage.local;
6000
6004
  }
@@ -6774,7 +6778,11 @@ class GlobalConfigService {
6774
6778
  c8y_Software: 'c8y_SoftwareAsGlobal',
6775
6779
  c8y_Firmware: 'c8y_FirmwareAsGlobal',
6776
6780
  c8y_ConfigurationDump: 'c8y_ConfigurationAsGlobal',
6777
- c8y_DeviceShellTemplate: 'c8y_ShellTemplateAsGlobal'
6781
+ c8y_DeviceShellTemplate: 'c8y_ShellTemplateAsGlobal',
6782
+ c8y_ModbusDeviceType: 'c8y_FieldbusAsGlobal',
6783
+ c8y_CANopenDeviceType: 'c8y_CANOpenAsGlobal',
6784
+ c8y_LoraDeviceType: 'c8y_LoraAsGlobal',
6785
+ c8y_SigfoxDeviceType: 'c8y_SigfoxAsGlobal'
6778
6786
  };
6779
6787
  this.cache = undefined;
6780
6788
  }