@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.
- package/core/common/global-config.service.d.ts +1 -1
- package/core/common/permissions.service.d.ts +2 -2
- package/core/i18n/pattern-messages.data.d.ts +20 -20
- package/esm2020/assets-navigator/asset-node.service.mjs +9 -3
- package/esm2020/context-dashboard/add-dashboard.factory.mjs +10 -3
- package/esm2020/context-dashboard/context-dashboard.service.mjs +11 -3
- package/esm2020/context-dashboard/dashboard-detail.component.mjs +7 -2
- package/esm2020/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +4 -2
- package/esm2020/core/common/global-config.service.mjs +6 -2
- package/esm2020/core/common/permissions.service.mjs +2 -2
- package/esm2020/core/common/user-preferences/user-preferences.service.mjs +6 -2
- package/esm2020/core/i18n/pattern-messages.data.mjs +21 -21
- package/esm2020/files-repository/files-repository.guard.mjs +6 -5
- package/esm2020/repository/configuration/device-tab/configuration-preview.component.mjs +11 -3
- package/esm2020/sub-assets/add-group/add-group.component.mjs +7 -2
- package/esm2020/sub-assets/groups.component.mjs +5 -2
- package/esm2020/sub-assets/sub-assets.component.mjs +7 -2
- package/esm2020/sub-assets/sub-assets.service.mjs +12 -6
- package/fesm2015/c8y-ngx-components-assets-navigator.mjs +8 -2
- package/fesm2015/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs +28 -6
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-files-repository.mjs +5 -4
- package/fesm2015/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-repository-configuration.mjs +10 -2
- package/fesm2015/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-sub-assets.mjs +27 -8
- package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +31 -23
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-assets-navigator.mjs +8 -2
- package/fesm2020/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs +28 -6
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-files-repository.mjs +5 -4
- package/fesm2020/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-repository-configuration.mjs +10 -2
- package/fesm2020/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-sub-assets.mjs +27 -8
- package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +31 -23
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- 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
|
|
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
|
}
|