@c8y/ng1-modules 1018.0.152 → 1018.0.160

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/NOTICES CHANGED
@@ -2342,7 +2342,7 @@ SOFTWARE
2342
2342
 
2343
2343
  -----
2344
2344
 
2345
- The following software may be included in this product: @types/babel__core, @types/babel__generator, @types/babel__template, @types/babel__traverse, @types/body-parser, @types/bonjour, @types/connect, @types/connect-history-api-fallback, @types/cron, @types/eslint, @types/eslint-scope, @types/estree, @types/express, @types/express-serve-static-core, @types/file-saver, @types/fs-extra, @types/geojson, @types/graceful-fs, @types/html-minifier-terser, @types/http-proxy, @types/istanbul-lib-coverage, @types/istanbul-reports, @types/jest, @types/jsdom, @types/json-schema, @types/jsonfile, @types/leaflet, @types/marked, @types/mime, @types/node, @types/parse5, @types/prettier, @types/qs, @types/range-parser, @types/resolve, @types/semver, @types/serve-index, @types/serve-static, @types/sinonjs__fake-timers, @types/sizzle, @types/sockjs, @types/stack-utils, @types/three, @types/tough-cookie, @types/webpack, @types/webpack-dev-server, @types/webxr, @types/ws, @types/yargs, @types/yargs-parser, @types/yauzl. A copy of the source code may be downloaded from https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__core), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__generator), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__template), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__traverse), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/body-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/bonjour), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/connect), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/connect-history-api-fallback), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/cron), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/eslint), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/eslint-scope), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/estree), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/express), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/express-serve-static-core), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/file-saver), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/fs-extra), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/geojson), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/graceful-fs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/html-minifier-terser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/http-proxy), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/istanbul-lib-coverage), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/istanbul-reports), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jest), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jsdom), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/json-schema), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jsonfile), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/leaflet), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/marked), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/mime), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/node), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/parse5), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/prettier), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/qs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/range-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/resolve), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/semver), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/serve-index), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/serve-static), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sinonjs__fake-timers), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sizzle), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sockjs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/stack-utils), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/three), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/tough-cookie), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/webpack), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/webxr), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/ws), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yargs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yargs-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yauzl). This software contains the following license and notice below:
2345
+ The following software may be included in this product: @types/babel__core, @types/babel__generator, @types/babel__template, @types/babel__traverse, @types/body-parser, @types/bonjour, @types/cometd, @types/connect, @types/connect-history-api-fallback, @types/cron, @types/eslint, @types/eslint-scope, @types/estree, @types/express, @types/express-serve-static-core, @types/file-saver, @types/fs-extra, @types/geojson, @types/graceful-fs, @types/html-minifier-terser, @types/http-proxy, @types/istanbul-lib-coverage, @types/istanbul-reports, @types/jest, @types/jsdom, @types/json-schema, @types/jsonfile, @types/leaflet, @types/marked, @types/mime, @types/node, @types/parse5, @types/prettier, @types/qs, @types/range-parser, @types/resolve, @types/semver, @types/serve-index, @types/serve-static, @types/sinonjs__fake-timers, @types/sizzle, @types/sockjs, @types/stack-utils, @types/three, @types/tough-cookie, @types/webpack, @types/webpack-dev-server, @types/webxr, @types/ws, @types/yargs, @types/yargs-parser, @types/yauzl. A copy of the source code may be downloaded from https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__core), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__generator), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__template), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/babel__traverse), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/body-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/bonjour), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/cometd), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/connect), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/connect-history-api-fallback), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/cron), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/eslint), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/eslint-scope), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/estree), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/express), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/express-serve-static-core), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/file-saver), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/fs-extra), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/geojson), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/graceful-fs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/html-minifier-terser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/http-proxy), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/istanbul-lib-coverage), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/istanbul-reports), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jest), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jsdom), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/json-schema), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/jsonfile), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/leaflet), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/marked), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/mime), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/node), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/parse5), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/prettier), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/qs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/range-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/resolve), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/semver), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/serve-index), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/serve-static), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sinonjs__fake-timers), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sizzle), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/sockjs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/stack-utils), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/three), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/tough-cookie), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/webpack), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/webxr), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/ws), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yargs), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yargs-parser), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/yauzl). This software contains the following license and notice below:
2346
2346
 
2347
2347
  MIT License
2348
2348
 
@@ -16646,6 +16646,9 @@ msgstr "Gerätetyp"
16646
16646
  msgid "devices selected"
16647
16647
  msgstr "Geräte ausgewählt"
16648
16648
 
16649
+ msgid "e-commerce`icons-category`"
16650
+ msgstr "E-Commerce"
16651
+
16649
16652
  msgid "e.g."
16650
16653
  msgstr "z. B."
16651
16654
 
@@ -20,6 +20,9 @@ msgstr "ACKNOWLEDGED by: {{ackBy}} {{ackTimeFromNow}}"
20
20
  msgid "ACTIVE`alarm`: triggered {{alarmTimeFromNow}}"
21
21
  msgstr "ACTIVE: triggered {{alarmTimeFromNow}}"
22
22
 
23
+ msgid "Accepted`data broker subscription`"
24
+ msgstr "Accepted"
25
+
23
26
  msgid "Activate all visible`children`"
24
27
  msgstr "Activate all visible"
25
28
 
@@ -32,10 +35,10 @@ msgstr "Active"
32
35
  msgid "Active`auto scanning`"
33
36
  msgstr "Active"
34
37
 
35
- msgid "Active`rule`"
38
+ msgid "Active`data broker subscription`"
36
39
  msgstr "Active"
37
40
 
38
- msgid "Active`subscription`"
41
+ msgid "Active`rule`"
39
42
  msgstr "Active"
40
43
 
41
44
  msgid "Active`switch`"
@@ -86,6 +89,9 @@ msgstr "Add next"
86
89
  msgid "All children active`assets`"
87
90
  msgstr "All children active"
88
91
 
92
+ msgid "All`icons-category`"
93
+ msgstr "All"
94
+
89
95
  msgid "And before`date`"
90
96
  msgstr "And before"
91
97
 
@@ -95,6 +101,12 @@ msgstr "Apply"
95
101
  msgid "Apply`selection`"
96
102
  msgstr "Apply"
97
103
 
104
+ msgid "Arrow`icons-category`"
105
+ msgstr "Arrow"
106
+
107
+ msgid "Blocked`data broker subscription`"
108
+ msgstr "Blocked"
109
+
98
110
  msgid "Border`style`"
99
111
  msgstr "Border"
100
112
 
@@ -220,6 +232,12 @@ msgstr "Dark"
220
232
  msgid "Dark`theme`"
221
233
  msgstr "Dark"
222
234
 
235
+ msgid "Data`icons-category`"
236
+ msgstr "Data"
237
+
238
+ msgid "Date and time`icons-category`"
239
+ msgstr "Date and time"
240
+
223
241
  msgid "Deactivate all visible`children`"
224
242
  msgstr "Deactivate all visible"
225
243
 
@@ -229,8 +247,8 @@ msgstr "Delete"
229
247
  msgid "Delete`tenant`"
230
248
  msgstr "Delete"
231
249
 
232
- msgid "Device integration tutorial`KEEP_ORIGINAL`"
233
- msgstr "Device integration tutorial"
250
+ msgid "Device integration guide`KEEP_ORIGINAL`"
251
+ msgstr "Device integration guide"
234
252
 
235
253
  msgid "Devices and sensors`icons-category`"
236
254
  msgstr "Devices and sensors"
@@ -256,6 +274,9 @@ msgstr "Download"
256
274
  msgid "Edit`tenant`"
257
275
  msgstr "Edit"
258
276
 
277
+ msgid "Editing`icons-category`"
278
+ msgstr "Editing"
279
+
259
280
  msgid "Enable`owner`"
260
281
  msgstr "Enable"
261
282
 
@@ -268,9 +289,15 @@ msgstr "Enabled"
268
289
  msgid "External`application`"
269
290
  msgstr "External"
270
291
 
292
+ msgid "Files and folders`icons-category`"
293
+ msgstr "Files and folders"
294
+
271
295
  msgid "Fill`verb, image fitting option`"
272
296
  msgstr "Fill"
273
297
 
298
+ msgid "Finance`icons-category`"
299
+ msgstr "Finance"
300
+
274
301
  msgid ""
275
302
  "Find out more about available applications in the\n"
276
303
  " <a c8y-guide-href=\"users-guide/administration/#managing-applications\"></a>\n"
@@ -526,16 +553,19 @@ msgstr "Full width"
526
553
  msgid "HH`HOURS`"
527
554
  msgstr "HH"
528
555
 
556
+ msgid "Hands`icons-category`"
557
+ msgstr "Hands"
558
+
529
559
  msgid "Hidden`style`"
530
560
  msgstr "Hidden"
531
561
 
532
562
  msgid "Inactive`auto scanning`"
533
563
  msgstr "Inactive"
534
564
 
535
- msgid "Inactive`rule`"
565
+ msgid "Inactive`data broker subscription`"
536
566
  msgstr "Inactive"
537
567
 
538
- msgid "Inactive`subscription`"
568
+ msgid "Inactive`rule`"
539
569
  msgstr "Inactive"
540
570
 
541
571
  msgid "Inactive`switch`"
@@ -556,6 +586,9 @@ msgstr "Installations"
556
586
  msgid "Installed`plugins`"
557
587
  msgstr "Installed"
558
588
 
589
+ msgid "Introspection`Method of validating access token from external IAM system`"
590
+ msgstr "Introspection"
591
+
559
592
  msgid "Keep unchanged`version`"
560
593
  msgstr "Keep unchanged"
561
594
 
@@ -592,18 +625,27 @@ msgstr "Match UI"
592
625
  msgid "Match dashboard`style`"
593
626
  msgstr "Match dashboard"
594
627
 
628
+ msgid "Messaging`icons-category`"
629
+ msgstr "Messaging"
630
+
595
631
  msgid "Microservice SDK guide`KEEP_ORIGINAL`"
596
632
  msgstr "Microservice SDK guide"
597
633
 
598
634
  msgid "More`details`"
599
635
  msgstr "More"
600
636
 
637
+ msgid "Multimedia`icons-category`"
638
+ msgstr "Multimedia"
639
+
601
640
  msgid "My device`DEVICE_NAME`"
602
641
  msgstr "My device"
603
642
 
604
643
  msgid "MyType`DEVICE_TYPE`"
605
644
  msgstr "MyType"
606
645
 
646
+ msgid "Network`icons-category`"
647
+ msgstr "Network"
648
+
607
649
  msgid "Next`page`"
608
650
  msgstr "Next"
609
651
 
@@ -644,6 +686,15 @@ msgstr "Operator"
644
686
  msgid "Overlay`style`"
645
687
  msgstr "Overlay"
646
688
 
689
+ msgid "Pending acceptance`data broker subscription`"
690
+ msgstr "Pending acceptance"
691
+
692
+ msgid "People`icons-category`"
693
+ msgstr "People"
694
+
695
+ msgid "Platform`icons-category`"
696
+ msgstr "Platform"
697
+
647
698
  msgid "Possible values: \"true`KEEP_ORIGINAL`\", \"false`KEEP_ORIGINAL`\", or a specific date until the user should remain active, for example, \"{{ exampleDate }}\". Leaving it blank, will set the value to \"true`KEEP_ORIGINAL`\"."
648
699
  msgstr "Possible values: \"true\", \"false\", or a specific date until the user should remain active, for example, \"{{ exampleDate }}\". Leaving it blank, will set the value to \"true\"."
649
700
 
@@ -656,6 +707,9 @@ msgstr "Previous"
656
707
  msgid "Private`package availability`"
657
708
  msgstr "Private"
658
709
 
710
+ msgid "Programming`icons-category`"
711
+ msgstr "Programming"
712
+
659
713
  msgid "REVOKED`plugin status`"
660
714
  msgstr "REVOKED"
661
715
 
@@ -671,7 +725,7 @@ msgstr "Reboot (password protected)"
671
725
  msgid "Reference guide`KEEP_ORIGINAL`"
672
726
  msgstr "Reference guide"
673
727
 
674
- msgid "Regenerate`unsigned verification code`"
728
+ msgid "Regenerate`verification code`"
675
729
  msgstr "Regenerate"
676
730
 
677
731
  msgid "Regular`style`"
@@ -743,6 +797,9 @@ msgstr "Suspend"
743
797
  msgid "Suspended`tenant`"
744
798
  msgstr "Suspended"
745
799
 
800
+ msgid "The \"contextPath`KEEP_ORIGINAL`\" or \"key`KEEP_ORIGINAL`\" of the uploaded archive do not match with the existing application."
801
+ msgstr "The \"contextPath\" or \"key\" of the uploaded archive do not match with the existing application."
802
+
746
803
  msgid "To`date`"
747
804
  msgstr "To"
748
805
 
@@ -776,6 +833,9 @@ msgstr "Update"
776
833
  msgid "User guide`KEEP_ORIGINAL`"
777
834
  msgstr "User guide"
778
835
 
836
+ msgid "User info`Method of validating access token from external IAM system`"
837
+ msgstr "User info"
838
+
779
839
  msgid "User interface`icons-category`"
780
840
  msgstr "User interface"
781
841
 
@@ -788,6 +848,12 @@ msgstr "Value for inactive"
788
848
  msgid "Verify`signed verification code`"
789
849
  msgstr "Verify"
790
850
 
851
+ msgid "Waiting for connection`data broker subscription`"
852
+ msgstr "Waiting for connection"
853
+
854
+ msgid "Waiting`data broker subscription`"
855
+ msgstr "Waiting"
856
+
791
857
  msgid "Weather`icons-category`"
792
858
  msgstr "Weather"
793
859
 
@@ -821,12 +887,18 @@ msgstr "center"
821
887
  msgid "daemon`SERVICE_NAME`"
822
888
  msgstr "daemon"
823
889
 
890
+ msgid "e-commerce`icons-category`"
891
+ msgstr "e-commerce"
892
+
824
893
  msgid "e.g. +49 9 876 543 210`LOCALIZE`"
825
894
  msgstr "e.g. +49 9 876 543 210"
826
895
 
827
896
  msgid "e.g. +495434323210`LOCALIZE`"
828
897
  msgstr "e.g. +495434323210"
829
898
 
899
+ msgid "e.g. Doe`LOCALIZE`"
900
+ msgstr "e.g. Doe"
901
+
830
902
  msgid "e.g. Europe.Nokia`LOCALIZE`"
831
903
  msgstr "e.g. Europe.Nokia"
832
904
 
@@ -914,7 +986,7 @@ msgid ""
914
986
  " critical`KEEP_ORIGINAL`, for example:"
915
987
  msgstr ""
916
988
  "takes the alarm status object and returns a CSS class that can be used for styling:\n"
917
- " none,\n"
989
+ " none, warning, minor, major,\n"
918
990
  " critical, for example:"
919
991
 
920
992
  msgid "to`date`"
@@ -1 +1 @@
1
- "use strict";!function(){var e={};angular.module("c8y.ui").constant("c8yRolesUiStrings",e);var n=_.identity;e.ADMIN=n("Allows for CREATE, UPDATE and DELETE actions"),e.LINKS={},e.LINKS.ROLES_INVENTORY="users-guide/user-and-permissions-management/",e.PERMISSIONS_SCOPES={};var s=e.PERMISSIONS_SCOPES;s.MANAGED_OBJECT=n("Controls access to managed objects in inventory."),s.ALARM=n("Controls access to device alarms."),s.AUDIT=n("Controls access to audit logs."),s.EVENT=n("Controls access to events."),s.MEASUREMENT=n("Controls access to measurements."),s.OPERATION=n("Controls access to device operations."),s.SUPPORT=n("Controls access as a support user."),s["*"]=n("Controls access in all scopes."),e.PERMISSIONS_GLOBAL={},e.PERMISSIONS_GLOBAL.INVENTORY=n("Global inventory permissions override inventory role permissions. If you want to limit inventory access, grant it only via inventory roles."),e.PERMISSIONS_GLOBAL_LABELS={ACCOUNT:n("Account"),TENANT_MANAGEMENT:n("Tenant management"),TENANT_STATISTICS:n("Tenant statistics"),OPTION_MANAGEMENT:n("Option management"),APPLICATION_MANAGEMENT:n("Application management"),APPLICATION_MANAGEMENT_SUBSCRIPTIONS:n("Application subscriptions management"),USER_MANAGEMENT:n("User management"),USER_MANAGEMENT_OWN:n("Own user management"),USER_MANAGEMENT_PASSWORD_RESET:n("User management password reset"),IDENTITY:n("Identity"),INVENTORY:n("Inventory"),MEASUREMENT:n("Measurements"),EVENT:n("Events"),ALARM:n("Alarms"),AUDIT:n("Audits"),DEVICE_CONTROL:n("Device control"),CEP_MANAGEMENT:n("CEP management"),DEVICE:n("Device"),DEVICE_BOOTSTRAP:n("Device bootstrap"),RETENTION_RULE:n("Retention rules"),BULK_OPERATION:n("Bulk operations"),CONNECTIVITY:n("Connectivity"),SCHEDULE_REPORT:n("Schedule export"),SMARTRULE:n("Global smart rules"),DATAHUB_ADMINISTRATION:n("DataHub administration"),DATAHUB_MANAGEMENT:n("DataHub management"),DATAHUB_QUERY:n("DataHub query")}}();
1
+ "use strict";!function(){var e={};angular.module("c8y.ui").constant("c8yRolesUiStrings",e);var n=_.identity;e.ADMIN=n("Allows for CREATE, UPDATE and DELETE actions"),e.LINKS={},e.LINKS.ROLES_INVENTORY="users-guide/administration/#inventory-roles",e.PERMISSIONS_SCOPES={};var t=e.PERMISSIONS_SCOPES;t.MANAGED_OBJECT=n("Controls access to managed objects in inventory."),t.ALARM=n("Controls access to device alarms."),t.AUDIT=n("Controls access to audit logs."),t.EVENT=n("Controls access to events."),t.MEASUREMENT=n("Controls access to measurements."),t.OPERATION=n("Controls access to device operations."),t.SUPPORT=n("Controls access as a support user."),t["*"]=n("Controls access in all scopes."),e.PERMISSIONS_GLOBAL={},e.PERMISSIONS_GLOBAL.INVENTORY=n("Global inventory permissions override inventory role permissions. If you want to limit inventory access, grant it only via inventory roles."),e.PERMISSIONS_GLOBAL_LABELS={ACCOUNT:n("Account"),TENANT_MANAGEMENT:n("Tenant management"),TENANT_STATISTICS:n("Tenant statistics"),OPTION_MANAGEMENT:n("Option management"),APPLICATION_MANAGEMENT:n("Application management"),APPLICATION_MANAGEMENT_SUBSCRIPTIONS:n("Application subscriptions management"),USER_MANAGEMENT:n("User management"),USER_MANAGEMENT_OWN:n("Own user management"),USER_MANAGEMENT_PASSWORD_RESET:n("User management password reset"),IDENTITY:n("Identity"),INVENTORY:n("Inventory"),MEASUREMENT:n("Measurements"),EVENT:n("Events"),ALARM:n("Alarms"),AUDIT:n("Audits"),DEVICE_CONTROL:n("Device control"),CEP_MANAGEMENT:n("CEP management"),DEVICE:n("Device"),DEVICE_BOOTSTRAP:n("Device bootstrap"),RETENTION_RULE:n("Retention rules"),BULK_OPERATION:n("Bulk operations"),CONNECTIVITY:n("Connectivity"),SCHEDULE_REPORT:n("Schedule export"),SMARTRULE:n("Global smart rules"),DATAHUB_ADMINISTRATION:n("DataHub administration"),DATAHUB_MANAGEMENT:n("DataHub management"),DATAHUB_QUERY:n("DataHub query")}}();
@@ -1 +1 @@
1
- "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?Object(arguments[e]):{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&o.push.apply(o,Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),o.forEach(function(e){_defineProperty(t,e,r[e])})}return t}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);var o=r.call(e,t||"default");if("object"!==_typeof(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}!function(){function e(t,o,c){return{getDeviceTypeProtocolProvider:function(r,e){return{initUi:function(){(function(){var e={id:r.fieldbusType,name:r.label,service:r.serviceName};t.register(e)})(),function(){t.$inject=["$routeParams"];var e={path:u(r),template:'<c8y-device-type-detail id="vm.id"></c8y-device-type-detail>',controller:t,controllerAs:"vm"};function t(e){_.assign(this,e)}o.when(e.path,e)}()},$get:function(n,i){return["$injector","c8yBase","c8yInventory","c8yDeviceDatabase",function(e,r,t,o){return _objectSpread({flow:_.constant(["c8yDeviceTypeCreateStep"]),list:function(){return o.getAvailableDeviceTypes({fieldbusType:n.fieldbusType})},showIf:function(){return o.isDeviceTypeSupportedAsync({fieldbusType:n.fieldbusType})},detailPath:function(e){var t=r.getId(e);return u(n).replace(/:id$/,t)},getName:function(e){return e.name},listRowInfoComponent:"c8yDeviceTypeRowInfo",getListActions:function(){return[{label:c("Export"),icon:"download",execute:function(e){return o.exportDeviceTypeAndSaveAs(e.data)}}]},remove:t.remove},e.invoke(i))}]}(r,e)}},$get:function(){}};function u(e){return"/deviceprotocols/".concat(e.fieldbusType,"/:id")}}e.$inject=["c8yDeviceProtocolUiProvider","c8yViewsProvider","gettext"],angular.module("c8y.deviceProtocolForDeviceDatabase4").provider("c8yDeviceTypeProtocolBase",e)}();
1
+ "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?Object(arguments[e]):{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&o.push.apply(o,Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),o.forEach(function(e){_defineProperty(t,e,r[e])})}return t}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){var t=_toPrimitive(e,"string");return"symbol"===_typeof(t)?t:String(t)}function _toPrimitive(e,t){if("object"!==_typeof(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);var o=r.call(e,t||"default");if("object"!==_typeof(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}!function(){function e(r,e,c){return{getDeviceTypeProtocolProvider:function(t,e){return{initUi:function(){!function(){var e={id:t.fieldbusType,name:t.label,service:t.serviceName};r.register(e)}()},$get:function(n,i){return["$injector","c8yBase","c8yInventory","c8yDeviceDatabase",function(e,r,t,o){return _objectSpread({flow:_.constant(["c8yDeviceTypeCreateStep"]),list:function(){return o.getAvailableDeviceTypes({fieldbusType:n.fieldbusType})},showIf:function(){return o.isDeviceTypeSupportedAsync({fieldbusType:n.fieldbusType})},detailPath:function(e){var t=r.getId(e);return function(e){return"/deviceprotocols/".concat(e.fieldbusType,"/:id")}(n).replace(/:id$/,t)},getName:function(e){return e.name},listRowInfoComponent:"c8yDeviceTypeRowInfo",getListActions:function(){return[{label:c("Export"),icon:"download",execute:function(e){return o.exportDeviceTypeAndSaveAs(e.data)}}]},remove:t.remove},e.invoke(i))}]}(t,e)}},$get:function(){}}}e.$inject=["c8yDeviceProtocolUiProvider","c8yViewsProvider","gettext"],angular.module("c8y.deviceProtocolForDeviceDatabase4").provider("c8yDeviceTypeProtocolBase",e)}();
@@ -2,9 +2,7 @@
2
2
  "name": "Device type database",
3
3
  "description": "Allows for managing device types database",
4
4
  "category": "Device",
5
- "ngModules": [
6
- "c8y.deviceDatabase4"
7
- ],
5
+ "ngModules": ["c8y.deviceDatabase4"],
8
6
  "imports": [
9
7
  "core/device-protocols",
10
8
  "core/device-protocol-deviceDatabase4",
@@ -51,9 +49,7 @@
51
49
 
52
50
  "vendor/ini-legacy.js"
53
51
  ],
54
- "css": [
55
- "styles.css"
56
- ],
52
+ "css": ["styles.css"],
57
53
  "webpackOverride": {
58
54
  "js": [
59
55
  "device-database-4.module.js",
@@ -1 +1 @@
1
- "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _regeneratorRuntime(){_regeneratorRuntime=function(){return a};var a={},e=Object.prototype,p=e.hasOwnProperty,c=Object.defineProperty||function(e,t,r){e[t]=r.value},t="function"==typeof Symbol?Symbol:{},o=t.iterator||"@@iterator",r=t.asyncIterator||"@@asyncIterator",n=t.toStringTag||"@@toStringTag";function i(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{i({},"")}catch(e){i=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var o=t&&t.prototype instanceof f?t:f,i=Object.create(o.prototype),a=new R(n||[]);return c(i,"_invoke",{value:function(i,a,c){var u="suspendedStart";return function(e,t){if("executing"===u)throw new Error("Generator is already running");if("completed"===u){if("throw"===e)throw t;return D()}for(c.method=e,c.arg=t;;){var r=c.delegate;if(r){var n=b(r,c);if(n){if(n===s)continue;return n}}if("next"===c.method)c.sent=c._sent=c.arg;else if("throw"===c.method){if("suspendedStart"===u)throw u="completed",c.arg;c.dispatchException(c.arg)}else"return"===c.method&&c.abrupt("return",c.arg);u="executing";var o=l(i,a,c);if("normal"===o.type){if(u=c.done?"completed":"suspendedYield",o.arg===s)continue;return{value:o.arg,done:c.done}}"throw"===o.type&&(u="completed",c.method="throw",c.arg=o.arg)}}}(e,r,a)}),i}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}a.wrap=u;var s={};function f(){}function y(){}function d(){}var h={};i(h,o,function(){return this});var v=Object.getPrototypeOf,g=v&&v(v(E([])));g&&g!==e&&p.call(g,o)&&(h=g);var m=d.prototype=f.prototype=Object.create(h);function w(e){["next","throw","return"].forEach(function(t){i(e,t,function(e){return this._invoke(t,e)})})}function _(u,s){var t;c(this,"_invoke",{value:function(r,n){function e(){return new s(function(e,t){!function t(e,r,n,o){var i=l(u[e],u,r);if("throw"!==i.type){var a=i.arg,c=a.value;return c&&"object"==_typeof(c)&&p.call(c,"__await")?s.resolve(c.__await).then(function(e){t("next",e,n,o)},function(e){t("throw",e,n,o)}):s.resolve(c).then(function(e){a.value=e,n(a)},function(e){return t("throw",e,n,o)})}o(i.arg)}(r,n,e,t)})}return t=t?t.then(e,e):e()}})}function b(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,b(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),s;var o=l(n,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,s;var i=o.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,s):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function R(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function E(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,n=function e(){for(;++r<t.length;)if(p.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:D}}function D(){return{value:void 0,done:!0}}return c(m,"constructor",{value:y.prototype=d,configurable:!0}),c(d,"constructor",{value:y,configurable:!0}),y.displayName=i(d,n,"GeneratorFunction"),a.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,i(e,n,"GeneratorFunction")),e.prototype=Object.create(m),e},a.awrap=function(e){return{__await:e}},w(_.prototype),i(_.prototype,r,function(){return this}),a.AsyncIterator=_,a.async=function(e,t,r,n,o){void 0===o&&(o=Promise);var i=new _(u(e,t,r,n),o);return a.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},w(m),i(m,n,"Generator"),i(m,o,function(){return this}),i(m,"toString",function(){return"[object Generator]"}),a.keys=function(e){var r=Object(e),n=[];for(var t in r)n.push(t);return n.reverse(),function e(){for(;n.length;){var t=n.pop();if(t in r)return e.value=t,e.done=!1,e}return e.done=!0,e}},a.values=E,R.prototype={constructor:R,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!e)for(var t in this)"t"===t.charAt(0)&&p.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function e(e,t){return i.type="throw",i.arg=r,n.next=e,t&&(n.method="next",n.arg=void 0),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var o=this.tryEntries[t],i=o.completion;if("root"===o.tryLoc)return e("end");if(o.tryLoc<=this.prev){var a=p.call(o,"catchLoc"),c=p.call(o,"finallyLoc");if(a&&c){if(this.prev<o.catchLoc)return e(o.catchLoc,!0);if(this.prev<o.finallyLoc)return e(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return e(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return e(o.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;0<=r;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&p.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,s):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),s},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),x(r),s}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:E(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},a}function asyncGeneratorStep(e,t,r,n,o,i,a){try{var c=e[i](a),u=c.value}catch(e){return void r(e)}c.done?t(u):Promise.resolve(u).then(n,o)}function _asyncToGenerator(c){return function(){var e=this,a=arguments;return new Promise(function(t,r){var n=c.apply(e,a);function o(e){asyncGeneratorStep(n,t,r,o,i,"next",e)}function i(e){asyncGeneratorStep(n,t,r,o,i,"throw",e)}o(void 0)})}}!function(){function e(a,e,n,o,i,c,t,u,s,p,l){var f=this,r=f.id,y=!0;function d(){return(d=_asyncToGenerator(_regeneratorRuntime().mark(function e(){return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h();case 2:return e.next=4,g(r);case 4:F(),b(),a.$apply();case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function h(){return v.apply(this,arguments)}function v(){return(v=_asyncToGenerator(_regeneratorRuntime().mark(function e(){return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c.getFeaturesManifestsAsync();case 2:f.deviceTypesFeatures=e.sent,a.$apply();case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function g(e){return m.apply(this,arguments)}function m(){return(m=_asyncToGenerator(_regeneratorRuntime().mark(function e(r){var n,o;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t=r,w()?c.getEmptyDeviceType():c.getDeviceType(t);case 2:n=e.sent,o=n.fieldbusType,_.assign(f,{deviceType:n,formValue:{fieldbusType:o},features:_.find(f.deviceTypesFeatures,{fieldbusType:o})}),a.$apply();case 6:case"end":return e.stop()}var t},e)}))).apply(this,arguments)}function w(){return"new"===r}function b(){f.deviceType.name?t.changeTitle({title:f.deviceType.name},{skipTitleTranslation:!0}):t.changeTitle({title:p("New device type")})}function T(e){return D(e,c.addElementId(c.getEmptyDiscreteOutput()),f.deviceType.c8y_Coils)}function x(e){return D(e,c.addElementId(c.getEmptyDiscreteInput()),f.deviceType.c8y_Coils)}function R(e){return L(e,c.addElementId(c.getEmptyHoldingRegister(f.deviceType)),f.deviceType.c8y_Registers)}function E(e){return L(e,c.addElementId(c.getEmptyInputRegister()),f.deviceType.c8y_Registers)}function D(e,t,r){return I("DiscreteIO",e,t,r)}function L(e,t,r){return I("Register",e,t,r)}function I(e,t,r,n){return k.apply(this,arguments)}function k(){return(k=_asyncToGenerator(_regeneratorRuntime().mark(function e(t,r,n,o){var i;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,c["edit".concat(t,"WithUI")](r||n,f.deviceType);case 3:i=e.sent,G(r,o,i),F(),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),e.t0&&"escape key press"!==e.t0&&s.danger(e.t0);case 11:a.$apply();case 12:case"end":return e.stop()}},e,null,[[0,8]])}))).apply(this,arguments)}function G(e,t,r){(_.get(f.features,"holdingRegisters.number.useHex",!1)&&!r.number.startsWith("0x")&&(r.number="0x".concat(r.number)),e)?t[_.indexOf(t,e)]=r:t.push(r)}function O(e,t,r){return S.apply(this,arguments)}function S(){return(S=_asyncToGenerator(_regeneratorRuntime().mark(function e(t,r,n){return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,u({title:p("Delete item"),body:l.getString(n,t),labels:{ok:p("Delete")},status:"danger"});case 3:i.removeFromList(r,t),F(),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),e.t0&&s.danger(e.t0);case 10:a.$apply();case 11:case"end":return e.stop()}},e,null,[[0,7]])}))).apply(this,arguments)}function C(){return(C=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var r;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return _.get(t,"c8y_MessageIdConfiguration.source")||(r=_.get(f.features.configuration,"messageIdConfiguration[0].value"),_.set(t,"c8y_MessageIdConfiguration.source",r)),e.prev=1,e.next=4,c.save(t);case 4:s.success(p("Device type saved.")),y=!0,o.path("/deviceprotocols"),e.next=12;break;case 9:e.prev=9,e.t0=e.catch(1),s.danger(e.t0.errorMessage);case 12:a.$apply();case 13:case"end":return e.stop()}},e,null,[[1,9]])}))).apply(this,arguments)}function $(){return j.apply(this,arguments)}function j(){return(j=_asyncToGenerator(_regeneratorRuntime().mark(function e(){var t,r;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,u({title:p("Confirm device type change?"),body:l.getString("By changing device type, all changes will be lost. Do you really want to proceed?")});case 3:return c.removeAllElements(f.deviceType),F(),t=f.formValue.fieldbusType,f.deviceType.fieldbusType=t,e.abrupt("return",t);case 10:return e.prev=10,e.t0=e.catch(0),r=f.deviceType.fieldbusType,f.formValue.fieldbusType=r,e.abrupt("return",r);case 15:case"end":return e.stop()}},e,null,[[0,10]])}))).apply(this,arguments)}function F(){var e=f.deviceType;_.assign(f,{discreteOutputsCategorized:c.getDiscreteOutputsCategorized(e),discreteInputsCategorized:c.getDiscreteInputsCategorized(e),holdingRegistersCategorized:c.getHoldingRegistersCategorized(e),inputRegistersCategorized:c.getInputRegistersCategorized(e)})}_.assign(f,{$onInit:function(){return d.apply(this,arguments)},isNew:w,isEmpty:_.isEmpty,editDiscreteOutput:T,editDiscreteInput:x,editHoldingRegister:R,editInputRegister:E,addDiscreteOutput:T,addDiscreteInput:x,addHoldingRegister:R,addInputRegister:E,removeDiscreteOutput:function(e){return O(e,f.deviceType.c8y_Coils,p('Do you really want to remove "{{name}}"?'))},removeDiscreteInput:function(e){return O(e,f.deviceType.c8y_Coils,p('Do you really want to remove "{{name}}"?'))},removeHoldingRegister:function(e){return O(e,f.deviceType.c8y_Registers,p('Do you really want to remove "{{name}}"?'))},removeInputRegister:function(e){return O(e,f.deviceType.c8y_Registers,p('Do you really want to remove "{{name}}"?'))},save:function(e){return C.apply(this,arguments)},saveDisabled:function(){var e=f.deviceType;return _.get(f,"deviceTypeForm.$invalid")||!e||_.isEmpty(e.c8y_Coils)&&_.isEmpty(e.c8y_Registers)},changeDeviceType:function(){if(f.deviceType.fieldbusType)_asyncToGenerator(_regeneratorRuntime().mark(function e(){var t;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,$();case 2:t=e.sent,f.features=_.find(f.deviceTypesFeatures,{fieldbusType:t}),a.$apply();case 5:case"end":return e.stop()}},e)}))();else{var e=f.formValue.fieldbusType;f.deviceType.fieldbusType=e,f.features=_.find(f.deviceTypesFeatures,{fieldbusType:e})}},messageIdSources:c.MessageIdSources,toggleMainEdit:function(){f.editingMain=!f.editingMain}}),e.$watch("vm.deviceType",function(e,t){t&&e!==t&&(y=!1)},!0),e.$on("$locationChangeStart",function(){var r=_asyncToGenerator(_regeneratorRuntime().mark(function e(t,r){return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(y){e.next=13;break}return t.preventDefault(),e.prev=2,e.next=5,u({title:p("Discard changes"),body:p("You are about to leave this page and discard the changes made. Do you want to proceed?"),status:"warning",labels:{ok:p("Discard")}});case 5:y=!0,n.location.href=r,a.$apply(),e.next=13;break;case 10:e.prev=10,e.t0=e.catch(2),e.t0&&s.danger(e.t0);case 13:case"end":return e.stop()}},e,null,[[2,10]])}));return function(e,t){return r.apply(this,arguments)}}())}e.$inject=["$rootScope","$scope","$window","$location","c8yBase","c8yDeviceDatabase","c8yTitle","c8yModal","c8yAlert","gettext","gettextCatalog"],angular.module("c8y.deviceDatabase4").component("c8yDeviceTypeDetail",{templateUrl:":::PLUGIN_PATH:::/detail/device-type-detail.html",bindings:{id:"<"},controllerAs:"vm",controller:e})}();
1
+ "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _regeneratorRuntime(){_regeneratorRuntime=function(){return a};var a={},e=Object.prototype,p=e.hasOwnProperty,c=Object.defineProperty||function(e,t,r){e[t]=r.value},t="function"==typeof Symbol?Symbol:{},i=t.iterator||"@@iterator",r=t.asyncIterator||"@@asyncIterator",n=t.toStringTag||"@@toStringTag";function o(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{o({},"")}catch(e){o=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var i=t&&t.prototype instanceof f?t:f,o=Object.create(i.prototype),a=new E(n||[]);return c(o,"_invoke",{value:function(o,a,c){var u="suspendedStart";return function(e,t){if("executing"===u)throw new Error("Generator is already running");if("completed"===u){if("throw"===e)throw t;return D()}for(c.method=e,c.arg=t;;){var r=c.delegate;if(r){var n=T(r,c);if(n){if(n===s)continue;return n}}if("next"===c.method)c.sent=c._sent=c.arg;else if("throw"===c.method){if("suspendedStart"===u)throw u="completed",c.arg;c.dispatchException(c.arg)}else"return"===c.method&&c.abrupt("return",c.arg);u="executing";var i=l(o,a,c);if("normal"===i.type){if(u=c.done?"completed":"suspendedYield",i.arg===s)continue;return{value:i.arg,done:c.done}}"throw"===i.type&&(u="completed",c.method="throw",c.arg=i.arg)}}}(e,r,a)}),o}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}a.wrap=u;var s={};function f(){}function y(){}function d(){}var h={};o(h,i,function(){return this});var v=Object.getPrototypeOf,g=v&&v(v(R([])));g&&g!==e&&p.call(g,i)&&(h=g);var m=d.prototype=f.prototype=Object.create(h);function _(e){["next","throw","return"].forEach(function(t){o(e,t,function(e){return this._invoke(t,e)})})}function w(u,s){var t;c(this,"_invoke",{value:function(r,n){function e(){return new s(function(e,t){!function t(e,r,n,i){var o=l(u[e],u,r);if("throw"!==o.type){var a=o.arg,c=a.value;return c&&"object"==_typeof(c)&&p.call(c,"__await")?s.resolve(c.__await).then(function(e){t("next",e,n,i)},function(e){t("throw",e,n,i)}):s.resolve(c).then(function(e){a.value=e,n(a)},function(e){return t("throw",e,n,i)})}i(o.arg)}(r,n,e,t)})}return t=t?t.then(e,e):e()}})}function T(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,T(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),s;var i=l(n,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,s;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,s):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function b(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(b,this),this.reset(!0)}function R(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,n=function e(){for(;++r<t.length;)if(p.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:D}}function D(){return{value:void 0,done:!0}}return c(m,"constructor",{value:y.prototype=d,configurable:!0}),c(d,"constructor",{value:y,configurable:!0}),y.displayName=o(d,n,"GeneratorFunction"),a.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,d):(e.__proto__=d,o(e,n,"GeneratorFunction")),e.prototype=Object.create(m),e},a.awrap=function(e){return{__await:e}},_(w.prototype),o(w.prototype,r,function(){return this}),a.AsyncIterator=w,a.async=function(e,t,r,n,i){void 0===i&&(i=Promise);var o=new w(u(e,t,r,n),i);return a.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})},_(m),o(m,n,"Generator"),o(m,i,function(){return this}),o(m,"toString",function(){return"[object Generator]"}),a.keys=function(e){var r=Object(e),n=[];for(var t in r)n.push(t);return n.reverse(),function e(){for(;n.length;){var t=n.pop();if(t in r)return e.value=t,e.done=!1,e}return e.done=!0,e}},a.values=R,E.prototype={constructor:E,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!e)for(var t in this)"t"===t.charAt(0)&&p.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function e(e,t){return o.type="throw",o.arg=r,n.next=e,t&&(n.method="next",n.arg=void 0),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var i=this.tryEntries[t],o=i.completion;if("root"===i.tryLoc)return e("end");if(i.tryLoc<=this.prev){var a=p.call(i,"catchLoc"),c=p.call(i,"finallyLoc");if(a&&c){if(this.prev<i.catchLoc)return e(i.catchLoc,!0);if(this.prev<i.finallyLoc)return e(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return e(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return e(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;0<=r;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&p.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,s):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),s},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),x(r),s}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;x(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:R(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},a}function asyncGeneratorStep(e,t,r,n,i,o,a){try{var c=e[o](a),u=c.value}catch(e){return void r(e)}c.done?t(u):Promise.resolve(u).then(n,i)}function _asyncToGenerator(c){return function(){var e=this,a=arguments;return new Promise(function(t,r){var n=c.apply(e,a);function i(e){asyncGeneratorStep(n,t,r,i,o,"next",e)}function o(e){asyncGeneratorStep(n,t,r,i,o,"throw",e)}i(void 0)})}}!function(){function e(a,e,n,i,o,c,t,u,s,p,l){var f=this;function r(){return(r=_asyncToGenerator(_regeneratorRuntime().mark(function e(){return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y();case 2:return e.next=4,h(f.id);case 4:j(),m(),a.$apply();case 7:case"end":return e.stop()}},e)}))).apply(this,arguments)}function y(){return d.apply(this,arguments)}function d(){return(d=_asyncToGenerator(_regeneratorRuntime().mark(function e(){return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c.getFeaturesManifestsAsync();case 2:f.deviceTypesFeatures=e.sent,a.$apply();case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function h(e){return v.apply(this,arguments)}function v(){return(v=_asyncToGenerator(_regeneratorRuntime().mark(function e(r){var n,i;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t=r,g()?c.getEmptyDeviceType():c.getDeviceType(t);case 2:n=e.sent,i=n.fieldbusType,_.assign(f,{deviceType:n,formValue:{fieldbusType:i},features:_.find(f.deviceTypesFeatures,{fieldbusType:i})}),a.$apply();case 6:case"end":return e.stop()}var t},e)}))).apply(this,arguments)}function g(){return"new"===f.id}function m(){f.deviceType.name?t.changeTitle({title:f.deviceType.name},{skipTitleTranslation:!0}):t.changeTitle({title:p("New device type")})}function w(e){return E(e,c.addElementId(c.getEmptyDiscreteOutput()),f.deviceType.c8y_Coils)}function T(e){return E(e,c.addElementId(c.getEmptyDiscreteInput()),f.deviceType.c8y_Coils)}function b(e){return R(e,c.addElementId(c.getEmptyHoldingRegister(f.deviceType)),f.deviceType.c8y_Registers)}function x(e){return R(e,c.addElementId(c.getEmptyInputRegister()),f.deviceType.c8y_Registers)}function E(e,t,r){return D("DiscreteIO",e,t,r)}function R(e,t,r){return D("Register",e,t,r)}function D(e,t,r,n){return L.apply(this,arguments)}function L(){return(L=_asyncToGenerator(_regeneratorRuntime().mark(function e(t,r,n,i){var o;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,c["edit".concat(t,"WithUI")](r||n,f.deviceType);case 3:o=e.sent,I(r,i,o),j(),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),e.t0&&"escape key press"!==e.t0&&s.danger(e.t0);case 11:a.$apply();case 12:case"end":return e.stop()}},e,null,[[0,8]])}))).apply(this,arguments)}function I(e,t,r){(_.get(f.features,"holdingRegisters.number.useHex",!1)&&!r.number.startsWith("0x")&&(r.number="0x".concat(r.number)),e)?t[_.indexOf(t,e)]=r:t.push(r)}function k(e,t,r){return O.apply(this,arguments)}function O(){return(O=_asyncToGenerator(_regeneratorRuntime().mark(function e(t,r,n){return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,u({title:p("Delete item"),body:l.getString(n,t),labels:{ok:p("Delete")},status:"danger"});case 3:i.removeFromList(r,t),j(),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),e.t0&&s.danger(e.t0);case 10:a.$apply();case 11:case"end":return e.stop()}},e,null,[[0,7]])}))).apply(this,arguments)}function G(){return(G=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var r;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return _.get(t,"c8y_MessageIdConfiguration.source")||(r=_.get(f.features.configuration,"messageIdConfiguration[0].value"),_.set(t,"c8y_MessageIdConfiguration.source",r)),e.prev=1,e.next=4,c.save(t);case 4:s.success(p("Device type saved.")),o.setIsDetailEdited(!1),n.path("/deviceprotocols"),e.next=12;break;case 9:e.prev=9,e.t0=e.catch(1),s.danger(e.t0.errorMessage);case 12:a.$apply();case 13:case"end":return e.stop()}},e,null,[[1,9]])}))).apply(this,arguments)}function S(){return C.apply(this,arguments)}function C(){return(C=_asyncToGenerator(_regeneratorRuntime().mark(function e(){var t,r;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,u({title:p("Confirm device type change?"),body:l.getString("By changing device type, all changes will be lost. Do you really want to proceed?")});case 3:return c.removeAllElements(f.deviceType),j(),t=f.formValue.fieldbusType,f.deviceType.fieldbusType=t,e.abrupt("return",t);case 10:return e.prev=10,e.t0=e.catch(0),r=f.deviceType.fieldbusType,f.formValue.fieldbusType=r,e.abrupt("return",r);case 15:case"end":return e.stop()}},e,null,[[0,10]])}))).apply(this,arguments)}function j(){var e=f.deviceType;_.assign(f,{discreteOutputsCategorized:c.getDiscreteOutputsCategorized(e),discreteInputsCategorized:c.getDiscreteInputsCategorized(e),holdingRegistersCategorized:c.getHoldingRegistersCategorized(e),inputRegistersCategorized:c.getInputRegistersCategorized(e)})}_.assign(f,{$onInit:function(){return r.apply(this,arguments)},isNew:g,isEmpty:_.isEmpty,editDiscreteOutput:w,editDiscreteInput:T,editHoldingRegister:b,editInputRegister:x,addDiscreteOutput:w,addDiscreteInput:T,addHoldingRegister:b,addInputRegister:x,removeDiscreteOutput:function(e){return k(e,f.deviceType.c8y_Coils,p('Do you really want to remove "{{name}}"?'))},removeDiscreteInput:function(e){return k(e,f.deviceType.c8y_Coils,p('Do you really want to remove "{{name}}"?'))},removeHoldingRegister:function(e){return k(e,f.deviceType.c8y_Registers,p('Do you really want to remove "{{name}}"?'))},removeInputRegister:function(e){return k(e,f.deviceType.c8y_Registers,p('Do you really want to remove "{{name}}"?'))},save:function(e){return G.apply(this,arguments)},saveDisabled:function(){var e=f.deviceType;return _.get(f,"deviceTypeForm.$invalid")||!e||_.isEmpty(e.c8y_Coils)&&_.isEmpty(e.c8y_Registers)},changeDeviceType:function(){if(f.deviceType.fieldbusType)_asyncToGenerator(_regeneratorRuntime().mark(function e(){var t;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,S();case 2:t=e.sent,f.features=_.find(f.deviceTypesFeatures,{fieldbusType:t}),a.$apply();case 5:case"end":return e.stop()}},e)}))();else{var e=f.formValue.fieldbusType;f.deviceType.fieldbusType=e,f.features=_.find(f.deviceTypesFeatures,{fieldbusType:e})}},messageIdSources:c.MessageIdSources,toggleMainEdit:function(){f.editingMain=!f.editingMain}}),e.$watch("vm.deviceType",function(e,t){t&&e!==t&&o.setIsDetailEdited(!0)},!0)}e.$inject=["$rootScope","$scope","$location","c8yBase","c8yDeviceTypeDetailEdited","c8yDeviceDatabase","c8yTitle","c8yModal","c8yAlert","gettext","gettextCatalog"],angular.module("c8y.deviceDatabase4").component("c8yDeviceTypeDetail",{templateUrl:":::PLUGIN_PATH:::/detail/device-type-detail.html",bindings:{id:"<"},controllerAs:"vm",controller:e})}();
@@ -1 +1 @@
1
- "use strict";!function(){function t(i,t,r,n,a,o){var e,u,l=t.deviceId,c={},d=a("Availability percentage is based on the number of critical alarms raised and cleared."),m=a("Operability chart displays how many devices had their average availability on particular level in the last month."),v=r.createEnum([{name:"DAY",value:"day",label:a("Last 24 hours availability")},{name:"WEEK",value:"week",label:a("Last 7 days availability")},{name:"MONTH",value:"month",label:a("Last 30 days availability")}]),f=r.createEnum([{name:"DOWNTIME",value:"downtime",label:a("Downtime"),color:"#d9534f"},{name:"UPTIME",value:"uptime",label:a("Uptime"),color:"#5cb85c"}]);function s(a){var e=function(t){var a=moment().add(1,"day"),e=moment().subtract(1,t.value),n=r.dateFullFormat;return{dateFrom:e.format(n),dateTo:a.format(n),id:l}}(a);return(e.id?n.reports.downtimeDuration(e):n.reports.downtimeDurationAggregation(e)).then(function(t){return function(t,a,e){var n=e.downtimeDuration,r=y(a,e)-n;c[t.name]={name:t.name,label:t.label,order:t.ordinal,data:[{key:f.DOWNTIME.value,val:n},{key:f.UPTIME.value,val:r}]}}(a,e,t.data)})}function y(t){var a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=moment(t.dateFrom),n=moment(t.dateTo),r=1;return"number"==typeof a.deviceCount?r=a.deviceCount:Array.isArray(a.availabilityStats)&&(r=a.availabilityStats.length),n.diff(e,"seconds")*(r||1)}function p(t){var a=_.find(t,{key:f.UPTIME.value}).val;return a/(a+_.find(t,{key:f.DOWNTIME.value}).val)*100}_.assign(i,{intervalsData:c,availabilityTooltip:d,operabilityTooltip:m,x:function(){return function(t){return t.key}},y:function(){return function(t){return t.val}},xGraph:function(){return function(t){return t[0]}},yGraph:function(){return function(t){return t[1]}},xTickFormat:function(){return function(t){return"".concat(t,"%")}},color:function(){return function(t){return _.find(f,{value:t.data.key}).color}},colorGraph:function(){return function(){return f.UPTIME.color}},tooltip:function(){return function(t){return o.getString(_.find(f,{value:t}).label)}},tooltipGraph:function(){return function(t,a,e){var n=Math.round(e);return o.getPlural(n,"1 device","{{$count}} devices",{})}},percentage:p,percentageClass:function(t){return 50<p(t)?"text-success":"text-danger"}}),v.values().forEach(s),l||(e=r.dateFullFormat,u={dateFrom:moment().subtract(1,"month").format(e),dateTo:moment().add(1,"day").format(e)},n.reports.downtimeDuration(u).then(function(t){return function(t,a){var e=a.availabilityStats,n=y(t),r=e.map(function(t){var a=t.downtimeDuration;return t.percent=100*(n-a)/n,t});i.graphData=[{key:"operability",values:function(e){for(var n=[],t=function(){var a=10*r,t=e.filter(function(t){return function(t,a){return a.percent<=t&&a.percent>t-10}(a,t)}).length;n.push([a,t])},r=0;r<=10;r++)t();return n}(r)}]}(u,t.data)}))}t.$inject=["$scope","$routeParams","c8yBase","c8yAlarms","gettext","gettextCatalog"],angular.module("c8y.parts.availability").controller("availabilityReportCtrl",t)}();
1
+ "use strict";!function(){function t(i,t,r,n,a,o){var e,u,l=t.deviceId,c={},d=a("Availability percentage is based on the number of critical alarms raised and cleared."),v=a("Operability chart displays how many devices had their average availability on particular level in the last 30 days."),f=r.createEnum([{name:"DAY",value:"day",label:a("Last 24 hours availability")},{name:"WEEK",value:"week",label:a("Last 7 days availability")},{name:"MONTH",value:"month",label:a("Last 30 days availability")}]),m=r.createEnum([{name:"DOWNTIME",value:"downtime",label:a("Downtime"),color:"#d9534f"},{name:"UPTIME",value:"uptime",label:a("Uptime"),color:"#5cb85c"}]);function s(a){var e=function(t){var a=moment(),e=moment().subtract(1,t.value),n=r.dateFullFormat;return{dateFrom:e.format(n),dateTo:a.format(n),id:l}}(a);return(e.id?n.reports.downtimeDuration(e):n.reports.downtimeDurationAggregation(e)).then(function(t){return function(t,a,e){var n=e.downtimeDuration,r=y(a,e)-n;c[t.name]={name:t.name,label:t.label,order:t.ordinal,data:[{key:m.DOWNTIME.value,val:n},{key:m.UPTIME.value,val:r}]}}(a,e,t.data)})}function y(t){var a=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=moment(t.dateFrom),n=moment(t.dateTo),r=1;return"number"==typeof a.deviceCount?r=a.deviceCount:Array.isArray(a.availabilityStats)&&(r=a.availabilityStats.length),n.diff(e,"seconds")*(r||1)}function p(t){var a=_.find(t,{key:m.UPTIME.value}).val;return a/(a+_.find(t,{key:m.DOWNTIME.value}).val)*100}_.assign(i,{intervalsData:c,availabilityTooltip:d,operabilityTooltip:v,x:function(){return function(t){return t.key}},y:function(){return function(t){return t.val}},xGraph:function(){return function(t){return t[0]}},yGraph:function(){return function(t){return t[1]}},xTickFormat:function(){return function(t){return"".concat(t,"%")}},color:function(){return function(t){return _.find(m,{value:t.data.key}).color}},colorGraph:function(){return function(){return m.UPTIME.color}},tooltip:function(){return function(t){return o.getString(_.find(m,{value:t}).label)}},tooltipGraph:function(){return function(t,a,e){var n=Math.round(e);return o.getPlural(n,"1 device","{{$count}} devices",{})}},percentage:p,percentageClass:function(t){return 50<p(t)?"text-success":"text-danger"}}),f.values().forEach(s),l||(e=r.dateFullFormat,u={dateFrom:moment().subtract(30,"day").format(e),dateTo:moment().format(e)},n.reports.downtimeDuration(u).then(function(t){return function(t,a){var e=a.availabilityStats,n=y(t),r=e.map(function(t){var a=t.downtimeDuration;return t.percent=100*(n-a)/n,t});i.graphData=[{key:"operability",values:function(e){for(var n=[],t=function(){var a=10*r,t=e.filter(function(t){return function(t,a){return a.percent<=t&&a.percent>t-10}(a,t)}).length;n.push([a,t])},r=0;r<=10;r++)t();return n}(r)}]}(u,t.data)}))}t.$inject=["$scope","$routeParams","c8yBase","c8yAlarms","gettext","gettextCatalog"],angular.module("c8y.parts.availability").controller("availabilityReportCtrl",t)}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ng1-modules",
3
- "version": "1018.0.152",
3
+ "version": "1018.0.160",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Cumulocity",
6
6
  "description": "AngularJS modules for Cumulocity IoT applications.",
@@ -1 +1 @@
1
- "use strict";!function(){function e(c,t,o,a,i,n,r,d,f,s){var u=this,g="",e={c8y_Global:{}};function l(n){return u.svgFile={name:n.name,size:n.length},n instanceof Blob?i.readDataUri(n).then(i.decodeDataUri).then(p):i.downloadAsDataUri(n).then(i.decodeDataUri).then(function(e){return new File([e],n.name,{type:n.type})}).then(function(e){return s.sanitizeFileByLevel(e,c.config.sanitization)}).then(function(e){return i.readDataUri(e)}).then(i.decodeDataUri).then(p)}function p(e){return u.svgFile.data=e,function(){if(!u.svgFile)return;var n=c.config.mapping||{},i=c.config.deviceIds||{},t=c.config.device&&c.config.device.id;c.config.mapping={},c.config.deviceIds={},_.forEach(function(e){var n=[],i=/{{\s*([$\w]+?)\s*}}/g,t=i.exec(e);for(;null!==t;)n.push(t[1]),t=i.exec(e);return n}(u.svgFile.data),function(e){c.config.mapping[e]=n[e]?n[e]:null,c.config.deviceIds[e]=i[e]?i[e]:t||null}),function(e,c){if(!e||!c)return;_.forOwn(e,function(e,i){var n=v(e),t=d.generatePaths(n);f.list().then(function(e){var n=_.sortBy(e,function(e){return e.keyPath.length}).reverse();null===c[i]&&(_.forEach(n,function(e){_.last(e.keyPath).toUpperCase()===i.toUpperCase()&&(c[i]=e)}),_.forEach(t,function(e){_.last(e).toUpperCase()===i.toUpperCase()&&(c[i]=d.createProperty(e))}))})})}(c.config.deviceIds,c.config.mapping)}(),e}function v(n){return _.find(u.devices,function(e){return n===e.id})}function h(e,n){u.device&&u.device.id!==n.id||_.assign(u.device,n)}function m(){var e=function(e){return _(e).values().uniq().value().sort(function(e,n){return e-n}).join(",")}(c.config.deviceIds);e!==g&&(g.length&&n.stop(c.$id,"/managedobjects/".concat(g)),e.length&&(n.addListener(c.$id,"/managedobjects/".concat(e),"UPDATE",h),n.start(c.$id,"/managedobjects/".concat(e)),c.$on("$destroy",_.partial(n.stop,c.$id,"/managedobjects/".concat(e)))),g=e)}this.deviceDetail=function(e,n){var i=!_.isEqual(e,n);e&&a.detail(e.id).then(function(e){u.device=e.data;var n=_.union([u.device.id],_.map(_.union(u.device.childAssets.references,u.device.childDevices.references),function(e){return e.managedObject.id}));_.remove(n,_.isUndefined),t.all(_.map(n,function(e){return a.detail(e)})).then(function(e){u.devices=_.map(e,function(e){var n=e.data;return _.assign({},n,{name:o("truncate")(n.name)})}),function(i){_.forOwn(c.config.mapping,function(e,n){(1===u.devices.length||i)&&(c.config.deviceIds[n]=c.config.device.id),c.config.deviceIds[n]=c.config.deviceIds[n]||c.config.device.id})}(i),u.updateComputedProperties(c.config.deviceIds,c.config.mapping)})})},this.onSelectFile=function(n){u.loading=!0,i.upload(n,e).then(function(e){u.binaryFile=e.data,c.config.binaryId=e.data.id,l(n),c.forms.componentForm.$setDirty()}).finally(function(){u.loading=!1})},this.updateComputedProperties=function(e,c){_.isEmpty(e)||_.isEmpty(c)||_.forOwn(e,function(e,n){var i=[c[n]];if(c[n]){var t=v(e);r.attach(t,_.filter(i,function(e){return _.isObjectLike(e)}))}})},this.onMappingChange=function(){u.updateComputedProperties(c.config.deviceIds,c.config.mapping)},this.onDeviceIdsChange=function(){u.updateComputedProperties(c.config.deviceIds,c.config.mapping),m()},u.binaryFile={},c.config.mapping=c.config.mapping||{},c.config.deviceIds=c.config.deviceIds||{},c.config.devices&&delete c.config.devices,c.config.binaryId?(u.loading=!0,c.config.sanitization||(c.config.sanitization="none"),i.detail(c.config.binaryId).then(function(e){u.binaryFile=e.data,l(u.binaryFile),u.loading=!1}).then(function(){var e=[];e.push({file:u.svgFile}),u.files=e})):t.when(),m(),c.$watch("config.device",this.deviceDetail,!0),c.$watch("config.mapping",this.onMappingChange,!0),c.$on("$destroy",function(){_.forEach(c.config.deviceIds,function(e){r.detach(v(e))})})}e.$inject=["$scope","$q","$filter","c8yDevices","c8yBinary","c8yRealtime","c8yComputedProperties","fieldbusPropertyGenerator","c8yPropertiesLibrary","c8ySanitizeHtml"],angular.module("c8y.parts.scadaWidget").controller("ScadaWidgetConfigCtrl",e)}();
1
+ "use strict";!function(){function e(c,t,a,o,i,n,r,d,f,s){var u=this,g="",e={c8y_Global:{}};function l(e){return u.svgFile.data=e,function(){if(!u.svgFile)return;var n=c.config.mapping||{},i=c.config.deviceIds||{},t=c.config.device&&c.config.device.id;c.config.mapping={},c.config.deviceIds={},_.forEach(function(e){var n=[],i=/{{\s*([$\w]+?)\s*}}/g,t=i.exec(e);for(;null!==t;)n.push(t[1]),t=i.exec(e);return n}(u.svgFile.data),function(e){c.config.mapping[e]=n[e]?n[e]:null,c.config.deviceIds[e]=i[e]?i[e]:t||null}),function(e,c){if(!e||!c)return;_.forOwn(e,function(e,i){var n=p(e),t=d.generatePaths(n);f.list().then(function(e){var n=_.sortBy(e,function(e){return e.keyPath.length}).reverse();null===c[i]&&(_.forEach(n,function(e){_.last(e.keyPath).toUpperCase()===i.toUpperCase()&&(c[i]=e)}),_.forEach(t,function(e){_.last(e).toUpperCase()===i.toUpperCase()&&(c[i]=d.createProperty(e))}))})})}(c.config.deviceIds,c.config.mapping)}(),e}function p(n){return _.find(u.devices,function(e){return n===e.id})}function v(e,n){u.device&&u.device.id!==n.id||_.assign(u.device,n)}function h(){var e=function(e){return _(e).values().uniq().value().sort(function(e,n){return e-n}).join(",")}(c.config.deviceIds);e!==g&&(g.length&&n.stop(c.$id,"/managedobjects/".concat(g)),e.length&&(n.addListener(c.$id,"/managedobjects/".concat(e),"UPDATE",v),n.start(c.$id,"/managedobjects/".concat(e)),c.$on("$destroy",_.partial(n.stop,c.$id,"/managedobjects/".concat(e)))),g=e)}this.deviceDetail=function(e,n){var i=!_.isEqual(e,n);e&&o.detail(e.id).then(function(e){u.device=e.data;var n=_.union([u.device.id],_.map(_.union(u.device.childAssets.references,u.device.childDevices.references),function(e){return e.managedObject.id}));_.remove(n,_.isUndefined),t.all(_.map(n,function(e){return o.detail(e)})).then(function(e){u.devices=_.map(e,function(e){var n=e.data;return _.assign({},n,{name:a("truncate")(n.name)})}),function(i){_.forOwn(c.config.mapping,function(e,n){(1===u.devices.length||i)&&(c.config.deviceIds[n]=c.config.device.id),c.config.deviceIds[n]=c.config.deviceIds[n]||c.config.device.id})}(i),u.updateComputedProperties(c.config.deviceIds,c.config.mapping)})})},this.onSelectFile=function(n){u.loading=!0,i.upload(n,e).then(function(e){u.binaryFile=e.data,c.config.binaryId=e.data.id,u.retrieveSvgData(n),c.forms.componentForm.$setDirty()}).finally(function(){u.loading=!1})},this.updateComputedProperties=function(e,c){_.isEmpty(e)||_.isEmpty(c)||_.forOwn(e,function(e,n){var i=[c[n]];if(c[n]){var t=p(e);r.attach(t,_.filter(i,function(e){return _.isObjectLike(e)}))}})},this.onMappingChange=function(){u.updateComputedProperties(c.config.deviceIds,c.config.mapping)},this.onDeviceIdsChange=function(){u.updateComputedProperties(c.config.deviceIds,c.config.mapping),h()},this.retrieveSvgData=function(n){u.svgFile={name:n.name,size:n.length},(n instanceof Blob?i.readDataUri(n):i.downloadAsDataUri(n)).then(i.decodeDataUri).then(function(e){return new File([e],n.name,{type:n.type})}).then(function(e){return s.sanitizeFileByLevel(e,c.config.sanitization)}).then(function(e){return i.readDataUri(e)}).then(i.decodeDataUri).then(l)},u.binaryFile={},c.config.mapping=c.config.mapping||{},c.config.deviceIds=c.config.deviceIds||{},c.config.devices&&delete c.config.devices,c.config.binaryId?(u.loading=!0,c.config.sanitization||(c.config.sanitization="none"),i.detail(c.config.binaryId).then(function(e){u.binaryFile=e.data,u.retrieveSvgData(u.binaryFile),u.loading=!1}).then(function(){var e=[];e.push({file:u.svgFile}),u.files=e})):t.when(),h(),c.$watch("config.device",this.deviceDetail,!0),c.$watch("config.mapping",this.onMappingChange,!0),c.$on("$destroy",function(){_.forEach(c.config.deviceIds,function(e){r.detach(p(e))})})}e.$inject=["$scope","$q","$filter","c8yDevices","c8yBinary","c8yRealtime","c8yComputedProperties","fieldbusPropertyGenerator","c8yPropertiesLibrary","c8ySanitizeHtml"],angular.module("c8y.parts.scadaWidget").controller("ScadaWidgetConfigCtrl",e)}();
@@ -72,6 +72,7 @@
72
72
  id="sanitization"
73
73
  ng-model="config.sanitization"
74
74
  ng-init="config.sanitization = config.sanitization || 'strict'"
75
+ ng-change="ctrl.retrieveSvgData(ctrl.binaryFile)"
75
76
  >
76
77
  <option
77
78
  value="strict"
@@ -103,6 +104,7 @@
103
104
  <span
104
105
  id="helpBlock"
105
106
  class="help-block m-b-8"
107
+ ng-if="config.sanitization !== 'none'"
106
108
  translate
107
109
  >SVG content will be sanitized.</span>
108
110
  <span
@@ -1 +1 @@
1
- "use strict";!function(){function i(e,n,c,t,d,a,o){var r=this;function u(n){return _.find(r.devices,function(i){return n===i.id})}this.init=function(){e.child.config.deviceIds||(e.child.config.deviceIds={},_.forOwn(e.child.config.mapping,function(i,n){e.child.config.deviceIds[n]=e.child.config.device.id}));var i=_(e.child.config.deviceIds).values().uniq().map(function(i){return d.detailRealtime(i,e,function(i){i.name=c("truncate")(i.name)})}).value();n.all(i).then(function(i){r.devices=i,r.updateComputedProperties(e.child.config.deviceIds,e.child.config.mapping)}),t.detail(e.child.config.binaryId).then(function(i){r.svgFile=i.data,t.downloadAsDataUri(r.svgFile).then(t.decodeDataUri).then(function(i){r.svgFile.data=o.sanitizeString(i)})})},this.updateComputedProperties=function(i,c){i&&c&&_.forOwn(i,function(i,n){var e=[c[n]];e.length&&a.attach(u(i),e)})},e.$watch("child.config",this.init,!0),e.$on("$destroy",function(){var i=_.uniq(_.values(e.child.config.deviceIds));_.forEach(i,function(i){a.detach(u(i))})})}i.$inject=["$scope","$q","$filter","c8yBinary","c8yDevices","c8yComputedProperties","c8ySanitizeHtml"],angular.module("c8y.parts.scadaWidget").controller("ScadaWidgetCtrl",i)}();
1
+ "use strict";!function(){function i(e,n,t,c,d,a,o){var r=this;function u(n){return _.find(r.devices,function(i){return n===i.id})}this.init=function(){e.child.config.deviceIds||(e.child.config.deviceIds={},_.forOwn(e.child.config.mapping,function(i,n){e.child.config.deviceIds[n]=e.child.config.device.id}));var i=_(e.child.config.deviceIds).values().uniq().map(function(i){return d.detailRealtime(i,e,function(i){i.name=t("truncate")(i.name)})}).value();n.all(i).then(function(i){r.devices=i,r.updateComputedProperties(e.child.config.deviceIds,e.child.config.mapping)}),c.detail(e.child.config.binaryId).then(function(i){r.svgFile=i.data,c.downloadAsDataUri(r.svgFile).then(c.decodeDataUri).then(function(i){return new File([i],r.svgFile.name,{type:r.svgFile.type})}).then(function(i){return o.sanitizeFileByLevel(i,e.child.config.sanitization)}).then(function(i){return c.readDataUri(i)}).then(c.decodeDataUri).then(function(i){r.svgFile.data=i})})},this.updateComputedProperties=function(i,t){i&&t&&_.forOwn(i,function(i,n){var e=[t[n]];e.length&&a.attach(u(i),e)})},e.$watch("child.config",this.init,!0),e.$on("$destroy",function(){var i=_.uniq(_.values(e.child.config.deviceIds));_.forEach(i,function(i){a.detach(u(i))})})}i.$inject=["$scope","$q","$filter","c8yBinary","c8yDevices","c8yComputedProperties","c8ySanitizeHtml"],angular.module("c8y.parts.scadaWidget").controller("ScadaWidgetCtrl",i)}();
@@ -1 +1 @@
1
- "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _objectSpread(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?Object(arguments[e]):{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&o.push.apply(o,Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.forEach(function(e){_defineProperty(n,e,t[e])})}return n}function _defineProperty(e,n,t){return(n=_toPropertyKey(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _toPropertyKey(e){var n=_toPrimitive(e,"string");return"symbol"===_typeof(n)?n:String(n)}function _toPrimitive(e,n){if("object"!==_typeof(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0===t)return("string"===n?String:Number)(e);var o=t.call(e,n||"default");if("object"!==_typeof(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}!function(){function e(e,n,t,r,s,o,i,l){var c=this;function u(){n.listInventoryRoles(c.userId).then(t.getResData).then(function(e){c.assignedRoles=_.keyBy(e.inventoryAssignments,"managedObject")}),n.detail(c.userId).then(t.getResData).then(function(e){c.user=e,c.user.owner?n.listInventoryRoles(c.user.owner).then(t.getResData).then(function(e){c.ownerAssignedRoles=_.keyBy(e.inventoryAssignments,"managedObject"),_.isEmpty(c.ownerAssignedRoles)&&(c.displayNoOwnerRolesAlert=!0),c.failedToFetchOwnerInventoryRoles=!1}).catch(function(){c.failedToFetchOwnerInventoryRoles=!0}):c.failedToFetchOwnerInventoryRoles=!1})}function a(){u(),i.success(l.getPlural(y(),"Inventory role updated","Inventory roles updated",{}))}function y(){return _.filter(c.assignedRoles,"isModified").length}function f(e){var n="replace"===e.process,t=e.roles,o=_.map(c.assignedRoles);return r.copyUserRoles(t,o,c.userId,n).then(u).then(s.successUserRolesCopy)}_.assign(c,{$onChange:function(e){e.user&&u()},onChangeRoles:function(e,n){c.assignedRoles[n]=c.assignedRoles[n]||{},_.assign(c.assignedRoles[n],{managedObject:n,roles:e,isModified:!0}),c.assignedRoles=_objectSpread({},c.assignedRoles)},onSaveInventoryRoles:function(){r.onSaveInventoryRoles(c.userId,c.assignedRoles).then(a)},copyRoles:function(){s.copyFromUserDialog(c.userId).then(f)},loadAssignedRoles:u,isUnchanged:function(){return 0===y()},helpLink:o.getUserGuideLink(_.get(s.STRINGS,"LINKS.ROLES_INVENTORY")),displayNoOwnerRolesAlert:!1,failedToFetchOwnerInventoryRoles:null}),u()}e.$inject=["$q","c8yUser","c8yBase","c8yUserInventoryRoles","c8yUserRolesUi","c8yDocs","c8yAlert","gettextCatalog"],angular.module("c8y.userRoles").component("c8yUserInventoryRolesTab",{templateUrl:":::PLUGIN_PATH:::/inventoryRolesTab/inventoryRolesTab.html",controllerAs:"vm",controller:e,bindings:{userId:"<"}})}();
1
+ "use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _objectSpread(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?Object(arguments[e]):{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&o.push.apply(o,Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),o.forEach(function(e){_defineProperty(n,e,t[e])})}return n}function _defineProperty(e,n,t){return(n=_toPropertyKey(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _toPropertyKey(e){var n=_toPrimitive(e,"string");return"symbol"===_typeof(n)?n:String(n)}function _toPrimitive(e,n){if("object"!==_typeof(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0===t)return("string"===n?String:Number)(e);var o=t.call(e,n||"default");if("object"!==_typeof(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}!function(){function e(e,n,t,r,s,o,i,l){var a=this;function c(){n.listInventoryRoles(a.userId).then(t.getResData).then(function(e){a.assignedRoles=_.keyBy(e.inventoryAssignments,"managedObject")}),n.detail(a.userId).then(t.getResData).then(function(e){a.user=e,a.user.owner?n.listInventoryRoles(a.user.owner).then(t.getResData).then(function(e){a.ownerAssignedRoles=_.keyBy(e.inventoryAssignments,"managedObject"),_.isEmpty(a.ownerAssignedRoles)&&(a.displayNoOwnerRolesAlert=!0),a.failedToFetchOwnerInventoryRoles=!1}).catch(function(){a.failedToFetchOwnerInventoryRoles=!0}):a.failedToFetchOwnerInventoryRoles=!1})}function u(){c(),i.success(l.getPlural(y(),"Inventory role updated","Inventory roles updated",{}))}function y(){return _.filter(a.assignedRoles,"isModified").length}function f(e){var n="replace"===e.process,t=e.roles,o=_.map(a.assignedRoles);return r.copyUserRoles(t,o,a.userId,n).then(c).then(s.successUserRolesCopy)}_.assign(a,{$onChange:function(e){e.user&&c()},onChangeRoles:function(e,n){a.assignedRoles[n]=a.assignedRoles[n]||{},_.assign(a.assignedRoles[n],{managedObject:n,roles:e,isModified:!0}),a.assignedRoles=_objectSpread({},a.assignedRoles)},onSaveInventoryRoles:function(){r.onSaveInventoryRoles(a.userId,a.assignedRoles).then(u)},copyRoles:function(){s.copyFromUserDialog(a.userId).then(f)},loadAssignedRoles:c,isUnchanged:function(){return 0===y()},helpLink:o.getUserGuideLink(_.get(s.STRINGS,"LINKS.ROLES_INVENTORY")),stopEventPropagation:function(e){e.stopPropagation()},displayNoOwnerRolesAlert:!1,failedToFetchOwnerInventoryRoles:null}),c()}e.$inject=["$q","c8yUser","c8yBase","c8yUserInventoryRoles","c8yUserRolesUi","c8yDocs","c8yAlert","gettextCatalog"],angular.module("c8y.userRoles").component("c8yUserInventoryRolesTab",{templateUrl:":::PLUGIN_PATH:::/inventoryRolesTab/inventoryRolesTab.html",controllerAs:"vm",controller:e,bindings:{userId:"<"}})}();
@@ -168,16 +168,22 @@
168
168
  You can also copy inventory roles from another user or replace this user's roles with the
169
169
  roles of another user.
170
170
  </p>
171
- <small ng-show="::vm.helpLink">
172
- <a
173
- title="{{ 'Help &amp; documentation' | translate }}"
174
- ng-href="{{::vm.helpLink}}"
175
- target="_blank"
176
- rel="noopener noreferrer"
171
+ <span
172
+ ng-click="vm.stopEventPropagation($event)"
173
+ >
174
+ <small
175
+ ng-show="::vm.helpLink"
177
176
  >
178
- <i c8y-icon="question-circle-o" class="text-info"></i>
179
- <span translate>Help &amp; documentation</span>
180
- </a>
181
- </small>
177
+ <a
178
+ title="{{ 'Help &amp; documentation' | translate }}"
179
+ ng-href="{{::vm.helpLink}}"
180
+ target="_blank"
181
+ rel="noopener noreferrer"
182
+ >
183
+ <i c8y-icon="question-circle-o" class="text-info"></i>
184
+ <span translate>Help &amp; documentation</span>
185
+ </a>
186
+ </small>
187
+ </span>
182
188
  </div>
183
189
  </script>