@c8y/ng1-modules 1017.0.346 → 1017.0.357

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
@@ -2304,7 +2304,7 @@ SOFTWARE
2304
2304
 
2305
2305
  -----
2306
2306
 
2307
- The following software may be included in this product: @types/acorn, @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/glob, @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/marked, @types/mime, @types/minimatch, @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/tough-cookie, @types/webpack, @types/webpack-dev-server, @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/acorn), 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/glob), 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/marked), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/mime), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/minimatch), 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/tough-cookie), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/webpack), 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:
2307
+ The following software may be included in this product: @types/acorn, @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/glob, @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/marked, @types/mime, @types/minimatch, @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/tough-cookie, @types/webpack, @types/webpack-dev-server, @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/acorn), 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/glob), 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/marked), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/mime), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/minimatch), 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/tough-cookie), https://github.com/DefinitelyTyped/DefinitelyTyped.git (@types/webpack), 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:
2308
2308
 
2309
2309
  MIT License
2310
2310
 
@@ -160,12 +160,6 @@ msgstr "Clone"
160
160
  msgid "Clone`package`"
161
161
  msgstr "Clone"
162
162
 
163
- msgid "Cloud connectivity"
164
- msgstr "Cloud Connectivity"
165
-
166
- msgid "Cloud connectivity software"
167
- msgstr "Cloud Connectivity-Software"
168
-
169
163
  msgid "Complete`proof of possession`"
170
164
  msgstr "Complete"
171
165
 
@@ -223,8 +217,8 @@ msgstr "Delete"
223
217
  msgid "Delete`tenant`"
224
218
  msgstr "Delete"
225
219
 
226
- msgid "Device integration tutorial`KEEP_ORIGINAL`"
227
- msgstr "Device integration tutorial"
220
+ msgid "Device integration guide`KEEP_ORIGINAL`"
221
+ msgstr "Device integration guide"
228
222
 
229
223
  msgid "Devices and sensors`icons-category`"
230
224
  msgstr "Devices and sensors"
@@ -324,10 +318,12 @@ msgstr ""
324
318
 
325
319
  msgid ""
326
320
  "Find out more in the\n"
327
- " <a c8y-guide-href=\"concepts/applications/\">Concepts guide`KEEP_ORIGINAL`</a>."
321
+ " <a c8y-guide-href=\"concepts/applications/\">Concepts guide`KEEP_ORIGINAL`</a>\n"
322
+ " ."
328
323
  msgstr ""
329
324
  "Find out more in the\n"
330
- " <a c8y-guide-href=\"concepts/applications/\">Concepts guide</a>."
325
+ " <a c8y-guide-href=\"concepts/applications/\">Concepts guide</a>\n"
326
+ " ."
331
327
 
332
328
  msgid ""
333
329
  "Find out more in the\n"
@@ -660,7 +656,7 @@ msgstr "Reboot (password protected)"
660
656
  msgid "Reference guide`KEEP_ORIGINAL`"
661
657
  msgstr "Reference guide"
662
658
 
663
- msgid "Regenerate`unsigned verification code`"
659
+ msgid "Regenerate`verification code`"
664
660
  msgstr "Regenerate"
665
661
 
666
662
  msgid "Regular`style`"
@@ -732,6 +728,9 @@ msgstr "Suspend"
732
728
  msgid "Suspended`tenant`"
733
729
  msgstr "Suspended"
734
730
 
731
+ msgid "The \"contextPath`KEEP_ORIGINAL`\" or \"key`KEEP_ORIGINAL`\" of the uploaded archive do not match with the existing application."
732
+ msgstr "The \"contextPath\" or \"key\" of the uploaded archive do not match with the existing application."
733
+
735
734
  msgid "To`date`"
736
735
  msgstr "To"
737
736
 
@@ -900,7 +899,7 @@ msgid ""
900
899
  " critical`KEEP_ORIGINAL`, for example:"
901
900
  msgstr ""
902
901
  "takes the alarm status object and returns a CSS class that can be used for styling:\n"
903
- " none,\n"
902
+ " none, warning, minor, major,\n"
904
903
  " critical, for example:"
905
904
 
906
905
  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")}}();
@@ -5,48 +5,16 @@
5
5
  style="height: calc(100vh - 422px);"
6
6
  >
7
7
  <div class="col-md-5 bg-level-1 a-s-stretch inner-scroll">
8
- <div class="p-l-24 bg-inherit p-t-8">
8
+ <div class="p-l-24 bg-inherit p-t-8 m-b-0">
9
9
  <div class="form-group m-b-0 p-b-16 separator-bottom">
10
- <label for="dateSelection">
11
- {{ 'Date selection' | translate }}
12
- <button
13
- type="button"
14
- class="btn-help btn-help--sm"
15
- aria-label="{{ 'Help' | translate }}"
16
- uib-popover-html="dateSelectionHelpPopoverText | translate"
17
- popover-placement="right"
18
- popover-trigger="'focus'"
19
- popover-append-to-body="true"
20
- ></button>
10
+ <label
11
+ title="{{ 'Show date selection' | translate }}"
12
+ class="checkbox-inline c8y-checkbox m-t-16"
13
+ >
14
+ <input type="checkbox" ng-model="data.displayDateSelection" />
15
+ <span></span>
16
+ <span>{{ 'Show date selection' | translate }}</span>
21
17
  </label>
22
- <div class="c8y-select-wrapper">
23
- <select
24
- id="dateSelection"
25
- class="form-control"
26
- title="{{ 'Date selection' | translate }}"
27
- aria-label="{{ 'Date selection' | translate }}"
28
- ng-model="dateSelection"
29
- >
30
- <option
31
- title="{{ 'Widget configuration' | translate }}"
32
- value="{{ 'config' }}"
33
- >
34
- {{ 'Widget configuration' | translate }}
35
- </option>
36
- <option
37
- title="{{ 'Widget and widget configuration' | translate }}"
38
- value="{{ 'view_and_config' }}"
39
- >
40
- {{ 'Widget and widget configuration' | translate }}
41
- </option>
42
- <option
43
- title="{{ 'Dashboard time range' | translate }}"
44
- value="{{ 'dashboard_context' }}"
45
- >
46
- {{ 'Dashboard time range' | translate }}
47
- </option>
48
- </select>
49
- </div>
50
18
  </div>
51
19
 
52
20
  <c8y-data-point-list
@@ -56,7 +24,7 @@
56
24
  no-target
57
25
  no-yellow-range
58
26
  no-red-range
59
- class="bg-inherit separator-bottom"
27
+ class="bg-inherit separator-bottom m-t-16"
60
28
  ></c8y-data-point-list>
61
29
  <c8y-alarms-events-timelines-config
62
30
  configs="data.alarmsEventsConfigs"
@@ -75,7 +43,6 @@
75
43
  >
76
44
  <div class="m-b-4 m-t-4 d-flex j-c-end gap-8">
77
45
  <c8y-realtime-button
78
- ng-show="!data.widgetInstanceGlobalTimeContext"
79
46
  class="top-right-control"
80
47
  channel="{{ channel }}"
81
48
  state="data.realtime"
@@ -103,7 +70,6 @@
103
70
  auto="true"
104
71
  ></c8y-aggregation>
105
72
  <c8y-interval
106
- ng-show="!data.widgetInstanceGlobalTimeContext"
107
73
  class="top-right-control"
108
74
  date-from="data.dateFrom"
109
75
  date-to="data.dateTo"
@@ -112,7 +78,7 @@
112
78
  </div>
113
79
  <div
114
80
  class="c8yGraphFill"
115
- style="height: calc(100vh - 520px);"
81
+ style="height: calc(100vh - 530px);"
116
82
  >
117
83
  <c8y-chart
118
84
  datapoints="data.graphDataPoints"
@@ -120,7 +86,6 @@
120
86
  date-to="data.dateTo"
121
87
  realtime="data.realtime"
122
88
  aggregation="data.aggregation"
123
- show-time="!data.widgetInstanceGlobalTimeContext"
124
89
  on-data="(onData)"
125
90
  on-update-dates="onUpdateDates($dateFrom, $dateTo)"
126
91
  on-update-displayed-dates="onUpdateDisplayedDates($dateFrom, $dateTo)"
@@ -7,48 +7,16 @@
7
7
  <div class="col-md-5 bg-level-1 a-s-stretch inner-scroll">
8
8
  <div class="p-l-24 bg-inherit p-t-8">
9
9
  <div class="form-group m-b-0 p-b-16 separator-bottom">
10
- <label for="dateSelection">
11
- {{ 'Date selection' | translate }}
12
- <button
13
- type="button"
14
- class="btn-help btn-help--sm"
15
- aria-label="{{ 'Help' | translate }}"
16
- uib-popover-html="dateSelectionHelpPopoverText | translate"
17
- popover-placement="right"
18
- popover-trigger="'focus'"
19
- popover-append-to-body="true"
20
- ></button>
10
+ <label
11
+ title="{{ 'Show date selection' | translate }}"
12
+ class="checkbox-inline c8y-checkbox m-t-16"
13
+ >
14
+ <input type="checkbox" ng-model="data.displayDateSelection" />
15
+ <span></span>
16
+ <span>{{ 'Show date selection' | translate }}</span>
21
17
  </label>
22
- <div class="c8y-select-wrapper">
23
- <select
24
- id="dateSelection"
25
- class="form-control"
26
- title="{{ 'Date selection' | translate }}"
27
- aria-label="{{ 'Date selection' | translate }}"
28
- ng-model="dateSelection"
29
- >
30
- <option
31
- title="{{ 'Widget configuration' | translate }}"
32
- value="{{ 'config' }}"
33
- >
34
- {{ 'Widget configuration' | translate }}
35
- </option>
36
- <option
37
- title="{{ 'Widget and widget configuration' | translate }}"
38
- value="{{ 'view_and_config' }}"
39
- >
40
- {{ 'Widget and widget configuration' | translate }}
41
- </option>
42
- <option
43
- title="{{ 'Dashboard time range' | translate }}"
44
- value="{{ 'dashboard_context' }}"
45
- >
46
- {{ 'Dashboard time range' | translate }}
47
- </option>
48
- </select>
49
- </div>
50
18
  </div>
51
-
19
+
52
20
  <c8y-data-point-list
53
21
  datapoints="data.datapoints"
54
22
  allow-adding-data-points-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
@@ -66,7 +34,6 @@
66
34
  >
67
35
  <div class="m-b-4 m-t-4 d-flex j-c-end gap-8">
68
36
  <c8y-realtime-button
69
- ng-show="!data.widgetInstanceGlobalTimeContext"
70
37
  class="top-right-control"
71
38
  channel="{{ channel }}"
72
39
  state="data.realtime"
@@ -81,7 +48,6 @@
81
48
  auto="true"
82
49
  ></c8y-aggregation>
83
50
  <c8y-interval
84
- ng-show="!data.widgetInstanceGlobalTimeContext"
85
51
  class="top-right-control"
86
52
  date-from="data.dateFrom"
87
53
  date-to="data.dateTo"
@@ -98,7 +64,6 @@
98
64
  date-to="data.dateTo"
99
65
  realtime="data.realtime"
100
66
  aggregation="data.aggregation"
101
- show-time="!data.widgetInstanceGlobalTimeContext"
102
67
  on-data="(onData)"
103
68
  on-update-dates="onUpdateDates($dateFrom, $dateTo)"
104
69
  on-update-displayed-dates="onUpdateDisplayedDates($dateFrom, $dateTo)"
@@ -1 +1 @@
1
- "use strict";function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?Object(arguments[e]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&r.push.apply(r,Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),r.forEach(function(e){_defineProperty(t,e,n[e])})}return t}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}!function(){function e(t,r,c){return{getDeviceTypeProtocolProvider:function(n,e){return{initUi:function(){(function(){var e={id:n.fieldbusType,name:n.label,service:n.serviceName};t.register(e)})(),function(){t.$inject=["$routeParams"];var e={path:u(n),template:'<c8y-device-type-detail id="vm.id"></c8y-device-type-detail>',controller:t,controllerAs:"vm"};function t(e){_.assign(this,e)}r.when(e.path,e)}()},$get:function(o,i){return["$injector","c8yBase","c8yInventory","c8yDeviceDatabase",function(e,n,t,r){return _objectSpread({flow:_.constant(["c8yDeviceTypeCreateStep"]),list:function(){return r.getAvailableDeviceTypes({fieldbusType:o.fieldbusType})},showIf:function(){return r.isDeviceTypeSupportedAsync({fieldbusType:o.fieldbusType})},detailPath:function(e){var t=n.getId(e);return u(o).replace(/:id$/,t)},getName:function(e){return e.name},listRowInfoComponent:"c8yDeviceTypeRowInfo",getListActions:function(){return[{label:c("Export"),icon:"download",execute:function(e){return r.exportDeviceTypeAndSaveAs(e.data)}}]},remove:t.remove},e.invoke(i))}]}(n,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 _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?Object(arguments[e]):{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&r.push.apply(r,Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),r.forEach(function(e){_defineProperty(t,e,n[e])})}return t}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}!function(){function e(n,e,c){return{getDeviceTypeProtocolProvider:function(t,e){return{initUi:function(){!function(){var e={id:t.fieldbusType,name:t.label,service:t.serviceName};n.register(e)}()},$get:function(o,i){return["$injector","c8yBase","c8yInventory","c8yDeviceDatabase",function(e,n,t,r){return _objectSpread({flow:_.constant(["c8yDeviceTypeCreateStep"]),list:function(){return r.getAvailableDeviceTypes({fieldbusType:o.fieldbusType})},showIf:function(){return r.isDeviceTypeSupportedAsync({fieldbusType:o.fieldbusType})},detailPath:function(e){var t=n.getId(e);return function(e){return"/deviceprotocols/".concat(e.fieldbusType,"/:id")}(o).replace(/:id$/,t)},getName:function(e){return e.name},listRowInfoComponent:"c8yDeviceTypeRowInfo",getListActions:function(){return[{label:c("Export"),icon:"download",execute:function(e){return r.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,l=e.hasOwnProperty,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 c(e,t,r,n){var i,a,c,u,o=t&&t.prototype instanceof d?t:d,s=Object.create(o.prototype),l=new T(n||[]);return s._invoke=(i=e,a=r,c=l,u="suspendedStart",function(e,t){if("executing"===u)throw new Error("Generator is already running");if("completed"===u){if("throw"===e)throw t;return E()}for(c.method=e,c.arg=t;;){var r=c.delegate;if(r){var n=_(r,c);if(n){if(n===f)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=p(i,a,c);if("normal"===o.type){if(u=c.done?"completed":"suspendedYield",o.arg===f)continue;return{value:o.arg,done:c.done}}"throw"===o.type&&(u="completed",c.method="throw",c.arg=o.arg)}}),s}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}a.wrap=c;var f={};function d(){}function u(){}function s(){}var y={};i(y,o,function(){return this});var g=Object.getPrototypeOf,h=g&&g(g(R([])));h&&h!==e&&l.call(h,o)&&(y=h);var v=s.prototype=d.prototype=Object.create(y);function m(e){["next","throw","return"].forEach(function(t){i(e,t,function(e){return this._invoke(t,e)})})}function w(u,s){var t;this._invoke=function(r,n){function e(){return new s(function(e,t){!function t(e,r,n,o){var i=p(u[e],u,r);if("throw"!==i.type){var a=i.arg,c=a.value;return c&&"object"==_typeof(c)&&l.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 _(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method))return f;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var n=p(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,f;var o=n.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,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}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 T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(b,this),this.reset(!0)}function R(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(l.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:E}}function E(){return{value:void 0,done:!0}}return i(v,"constructor",u.prototype=s),i(s,"constructor",u),u.displayName=i(s,n,"GeneratorFunction"),a.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===u||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,i(e,n,"GeneratorFunction")),e.prototype=Object.create(v),e},a.awrap=function(e){return{__await:e}},m(w.prototype),i(w.prototype,r,function(){return this}),a.AsyncIterator=w,a.async=function(e,t,r,n,o){void 0===o&&(o=Promise);var i=new w(c(e,t,r,n),o);return a.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},m(v),i(v,n,"Generator"),i(v,o,function(){return this}),i(v,"toString",function(){return"[object Generator]"}),a.keys=function(r){var n=[];for(var e in r)n.push(e);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,T.prototype={constructor:T,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)&&l.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=l.call(o,"catchLoc"),c=l.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&&l.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,f):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),f},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),f}},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:R(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},a}!function(){function e(a,e,n,o,i,c,t,u,s,l,p){var f=this,r=f.id,d=!0;function y(r){var n,o;return _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_regeneratorRuntime().awrap((t=r,g()?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},null,null,null,Promise)}function g(){return"new"===r}function h(){f.deviceType.name?t.changeTitle({title:f.deviceType.name},{skipTitleTranslation:!0}):t.changeTitle({title:l("New device type")})}function v(e){return x(e,c.addElementId(c.getEmptyDiscreteOutput()),f.deviceType.c8y_Coils)}function m(e){return x(e,c.addElementId(c.getEmptyDiscreteInput()),f.deviceType.c8y_Coils)}function w(e){return T(e,c.addElementId(c.getEmptyHoldingRegister(f.deviceType)),f.deviceType.c8y_Registers)}function b(e){return T(e,c.addElementId(c.getEmptyInputRegister()),f.deviceType.c8y_Registers)}function x(e,t,r){return R("DiscreteIO",e,t,r)}function T(e,t,r){return R("Register",e,t,r)}function R(t,r,n,o){var i;return _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,_regeneratorRuntime().awrap(c["edit".concat(t,"WithUI")](r||n,f.deviceType));case 3:i=e.sent,E(r,o,i),I(),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()}},null,null,[[0,8]],Promise)}function E(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 D(t,r,n){return _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,_regeneratorRuntime().awrap(u({title:l("Delete item"),body:p.getString(n,t),labels:{ok:l("Delete")},status:"danger"}));case 3:i.removeFromList(r,t),I(),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()}},null,null,[[0,7]],Promise)}function L(){var t,r;return _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,_regeneratorRuntime().awrap(u({title:l("Confirm device type change?"),body:p.getString("By changing device type, all changes will be lost. Do you really want to proceed?")}));case 3:return c.removeAllElements(f.deviceType),I(),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()}},null,null,[[0,10]],Promise)}function I(){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 _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_regeneratorRuntime().awrap(_regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_regeneratorRuntime().awrap(c.getFeaturesManifestsAsync());case 2:f.deviceTypesFeatures=e.sent,a.$apply();case 4:case"end":return e.stop()}},null,null,null,Promise));case 2:return e.next=4,_regeneratorRuntime().awrap(y(r));case 4:I(),h(),a.$apply();case 7:case"end":return e.stop()}},null,null,null,Promise)},isNew:g,isEmpty:_.isEmpty,editDiscreteOutput:v,editDiscreteInput:m,editHoldingRegister:w,editInputRegister:b,addDiscreteOutput:v,addDiscreteInput:m,addHoldingRegister:w,addInputRegister:b,removeDiscreteOutput:function(e){return D(e,f.deviceType.c8y_Coils,l('Do you really want to remove "{{name}}"?'))},removeDiscreteInput:function(e){return D(e,f.deviceType.c8y_Coils,l('Do you really want to remove "{{name}}"?'))},removeHoldingRegister:function(e){return D(e,f.deviceType.c8y_Registers,l('Do you really want to remove "{{name}}"?'))},removeInputRegister:function(e){return D(e,f.deviceType.c8y_Registers,l('Do you really want to remove "{{name}}"?'))},save:function(t){var r;return _regeneratorRuntime().async(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,_regeneratorRuntime().awrap(c.save(t));case 4:s.success(l("Device type saved.")),d=!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()}},null,null,[[1,9]],Promise)},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)!function(){var t;_regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_regeneratorRuntime().awrap(L());case 2:t=e.sent,f.features=_.find(f.deviceTypesFeatures,{fieldbusType:t}),a.$apply();case 5:case"end":return e.stop()}},null,null,null,Promise)}();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&&(d=!1)},!0),e.$on("$locationChangeStart",function(t,r){return _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:if(d){e.next=13;break}return t.preventDefault(),e.prev=2,e.next=5,_regeneratorRuntime().awrap(u({title:l("Discard changes"),body:l("You are about to leave this page and discard the changes made. Do you want to proceed?"),status:"warning",labels:{ok:l("Discard")}}));case 5:d=!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()}},null,null,[[2,10]],Promise)})}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,l=e.hasOwnProperty,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 c(e,t,r,n){var o,a,c,u,i=t&&t.prototype instanceof d?t:d,s=Object.create(i.prototype),l=new x(n||[]);return s._invoke=(o=e,a=r,c=l,u="suspendedStart",function(e,t){if("executing"===u)throw new Error("Generator is already running");if("completed"===u){if("throw"===e)throw t;return R()}for(c.method=e,c.arg=t;;){var r=c.delegate;if(r){var n=_(r,c);if(n){if(n===f)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=p(o,a,c);if("normal"===i.type){if(u=c.done?"completed":"suspendedYield",i.arg===f)continue;return{value:i.arg,done:c.done}}"throw"===i.type&&(u="completed",c.method="throw",c.arg=i.arg)}}),s}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}a.wrap=c;var f={};function d(){}function u(){}function s(){}var y={};o(y,i,function(){return this});var g=Object.getPrototypeOf,h=g&&g(g(E([])));h&&h!==e&&l.call(h,i)&&(y=h);var v=s.prototype=d.prototype=Object.create(y);function m(e){["next","throw","return"].forEach(function(t){o(e,t,function(e){return this._invoke(t,e)})})}function w(u,s){var t;this._invoke=function(r,n){function e(){return new s(function(e,t){!function t(e,r,n,i){var o=p(u[e],u,r);if("throw"!==o.type){var a=o.arg,c=a.value;return c&&"object"==_typeof(c)&&l.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 _(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method))return f;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var n=p(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,f;var i=n.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,f):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}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 T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(b,this),this.reset(!0)}function E(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(l.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:R}}function R(){return{value:void 0,done:!0}}return o(v,"constructor",u.prototype=s),o(s,"constructor",u),u.displayName=o(s,n,"GeneratorFunction"),a.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===u||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,o(e,n,"GeneratorFunction")),e.prototype=Object.create(v),e},a.awrap=function(e){return{__await:e}},m(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(c(e,t,r,n),i);return a.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})},m(v),o(v,n,"Generator"),o(v,i,function(){return this}),o(v,"toString",function(){return"[object Generator]"}),a.keys=function(r){var n=[];for(var e in r)n.push(e);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,x.prototype={constructor:x,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(T),!e)for(var t in this)"t"===t.charAt(0)&&l.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=l.call(i,"catchLoc"),c=l.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&&l.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,f):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),f},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),T(r),f}},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;T(r)}return i}}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),f}},a}!function(){function e(a,e,n,i,o,c,t,u,s,l,p){var f=this;function r(r){var n,i;return _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_regeneratorRuntime().awrap((t=r,d()?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},null,null,null,Promise)}function d(){return"new"===f.id}function y(){f.deviceType.name?t.changeTitle({title:f.deviceType.name},{skipTitleTranslation:!0}):t.changeTitle({title:l("New device type")})}function g(e){return w(e,c.addElementId(c.getEmptyDiscreteOutput()),f.deviceType.c8y_Coils)}function h(e){return w(e,c.addElementId(c.getEmptyDiscreteInput()),f.deviceType.c8y_Coils)}function v(e){return b(e,c.addElementId(c.getEmptyHoldingRegister(f.deviceType)),f.deviceType.c8y_Registers)}function m(e){return b(e,c.addElementId(c.getEmptyInputRegister()),f.deviceType.c8y_Registers)}function w(e,t,r){return T("DiscreteIO",e,t,r)}function b(e,t,r){return T("Register",e,t,r)}function T(t,r,n,i){var o;return _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,_regeneratorRuntime().awrap(c["edit".concat(t,"WithUI")](r||n,f.deviceType));case 3:o=e.sent,x(r,i,o),D(),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()}},null,null,[[0,8]],Promise)}function x(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 E(t,r,n){return _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,_regeneratorRuntime().awrap(u({title:l("Delete item"),body:p.getString(n,t),labels:{ok:l("Delete")},status:"danger"}));case 3:i.removeFromList(r,t),D(),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()}},null,null,[[0,7]],Promise)}function R(){var t,r;return _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,_regeneratorRuntime().awrap(u({title:l("Confirm device type change?"),body:p.getString("By changing device type, all changes will be lost. Do you really want to proceed?")}));case 3:return c.removeAllElements(f.deviceType),D(),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()}},null,null,[[0,10]],Promise)}function D(){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 _regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_regeneratorRuntime().awrap(_regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_regeneratorRuntime().awrap(c.getFeaturesManifestsAsync());case 2:f.deviceTypesFeatures=e.sent,a.$apply();case 4:case"end":return e.stop()}},null,null,null,Promise));case 2:return e.next=4,_regeneratorRuntime().awrap(r(f.id));case 4:D(),y(),a.$apply();case 7:case"end":return e.stop()}},null,null,null,Promise)},isNew:d,isEmpty:_.isEmpty,editDiscreteOutput:g,editDiscreteInput:h,editHoldingRegister:v,editInputRegister:m,addDiscreteOutput:g,addDiscreteInput:h,addHoldingRegister:v,addInputRegister:m,removeDiscreteOutput:function(e){return E(e,f.deviceType.c8y_Coils,l('Do you really want to remove "{{name}}"?'))},removeDiscreteInput:function(e){return E(e,f.deviceType.c8y_Coils,l('Do you really want to remove "{{name}}"?'))},removeHoldingRegister:function(e){return E(e,f.deviceType.c8y_Registers,l('Do you really want to remove "{{name}}"?'))},removeInputRegister:function(e){return E(e,f.deviceType.c8y_Registers,l('Do you really want to remove "{{name}}"?'))},save:function(t){var r;return _regeneratorRuntime().async(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,_regeneratorRuntime().awrap(c.save(t));case 4:s.success(l("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()}},null,null,[[1,9]],Promise)},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)!function(){var t;_regeneratorRuntime().async(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_regeneratorRuntime().awrap(R());case 2:t=e.sent,f.features=_.find(f.deviceTypesFeatures,{fieldbusType:t}),a.$apply();case 5:case"end":return e.stop()}},null,null,null,Promise)}();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(n){for(var r=[],t=function(t){var a=10*t,e=n.filter(function(t){return function(t,a){return a.percent<=t&&a.percent>t-10}(a,t)}).length;r.push([a,e])},a=0;a<=10;a++)t(a);return r}(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(n){for(var r=[],t=function(t){var a=10*t,e=n.filter(function(t){return function(t,a){return a.percent<=t&&a.percent>t-10}(a,t)}).length;r.push([a,e])},a=0;a<=10;a++)t(a);return r}(r)}]}(u,t.data)}))}t.$inject=["$scope","$routeParams","c8yBase","c8yAlarms","gettext","gettextCatalog"],angular.module("c8y.parts.availability").controller("availabilityReportCtrl",t)}();
@@ -1,38 +1,50 @@
1
1
  <div ng-form="infoGaugeForm" ng-controller="infoGaugeWidgetConfigController as vm">
2
- <div class="alert alert-info" role="alert" ng-hide="vm.atLeastOneActiveDatapoint" translate>
2
+ <div class="alert alert-info m-r-16 m-l-16 m-t-16" role="alert" ng-hide="vm.atLeastOneActiveDatapoint" translate>
3
3
  At least one data point for the labels or the gauge needs to be selected.
4
4
  </div>
5
- <h4 translate>Data point for gauge</h4>
6
- <c8y-data-point-list
7
- max-select-count="1"
8
- min-select-count="0"
9
- datapoints="config.datapointsGauge"
10
- dont-save="true"
11
- no-chart
12
- class="bg-level-0"
13
- allow-adding-data-points-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
14
- ></c8y-data-point-list>
15
- <h4 translate>Data point for labels</h4>
16
- <c8y-data-point-list
17
- min-select-count="0"
18
- datapoints="config.datapointsLabels"
19
- dont-save="true"
20
- no-chart
21
- class="bg-level-0"
22
- allow-adding-data-points-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
23
- ></c8y-data-point-list>
24
- <div class="form-group">
25
- <label translate>Decimal places</label>
26
- <input
27
- name="decimalPlaces"
28
- ng-model="config.fractionSize"
29
- type="number"
30
- ng-min="0"
31
- ng-max="10"
32
- step="1"
33
- c8y-model-options="{unsetWhenNull: true}"
34
- class="form-control"
35
- />
36
- <c8y-error-feedback field="infoGaugeForm.decimalPlaces"></c8y-error-feedback>
5
+ <div class="p-l-24 p-r-24 separator-bottom p-t-16">
6
+ <div class="row">
7
+ <div class="col-md-6">
8
+ <div class="form-group">
9
+ <label translate>Decimal places</label>
10
+ <input
11
+ name="decimalPlaces"
12
+ ng-model="config.fractionSize"
13
+ type="number"
14
+ ng-min="0"
15
+ ng-max="10"
16
+ step="1"
17
+ c8y-model-options="{unsetWhenNull: true}"
18
+ class="form-control"
19
+ />
20
+ <c8y-error-feedback field="infoGaugeForm.decimalPlaces"></c8y-error-feedback>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ <div class="row">
26
+ <div class="col-sm-6">
27
+ <p translate class="legend form-block p-l-16 p-r-16">Data point for gauge</p>
28
+ <c8y-data-point-list
29
+ max-select-count="1"
30
+ min-select-count="0"
31
+ datapoints="config.datapointsGauge"
32
+ dont-save="true"
33
+ no-chart
34
+ class="bg-level-0 d-block"
35
+ allow-adding-data-points-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
36
+ ></c8y-data-point-list>
37
+ </div>
38
+ <div class="col-sm-6">
39
+ <p translate class="legend form-block p-l-16 p-r-16">Data point for labels</p>
40
+ <c8y-data-point-list
41
+ min-select-count="0"
42
+ datapoints="config.datapointsLabels"
43
+ dont-save="true"
44
+ no-chart
45
+ class="bg-level-0 d-block"
46
+ allow-adding-data-points-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
47
+ ></c8y-data-point-list>
48
+ </div>
37
49
  </div>
38
50
  </div>
@@ -6,11 +6,13 @@
6
6
  dont-save="true"
7
7
  no-chart
8
8
  allow-adding-data-points-from-context-mo-only="dashboard.deviceType && dashboard.deviceTypeValue"
9
- class="bg-level-0">
9
+ class="bg-level-0 d-block">
10
10
  </c8y-data-point-list>
11
- <div class="form-group">
12
- <label translate>Decimal places</label>
13
- <input name="decimalPlaces" ng-model="config.fractionSize" type="number" ng-min="0" ng-max="10" step="1" c8y-model-options="{unsetWhenNull: true}" class="form-control">
14
- <c8y-error-feedback field="gaugeForm.decimalPlaces"></c8y-error-feedback>
11
+ <div class="p-16">
12
+ <div class="form-group">
13
+ <label translate>Decimal places</label>
14
+ <input name="decimalPlaces" ng-model="config.fractionSize" type="number" ng-min="0" ng-max="10" step="1" c8y-model-options="{unsetWhenNull: true}" class="form-control">
15
+ <c8y-error-feedback field="gaugeForm.decimalPlaces"></c8y-error-feedback>
16
+ </div>
15
17
  </div>
16
18
  </div>
@@ -1,9 +1,11 @@
1
- <div ng-controller="gaugeCtrl" class="p-16 fit-h d-flex d-col flex-center">
1
+ <div
2
+ class="p-t-40 p-l-16 p-r-16 p-b-16 fit-h d-flex d-col flex-center overflow-hidden"
3
+ ng-controller="gaugeCtrl"
4
+ >
2
5
  <c8y-linear-gauge
3
6
  dp="dataPoint"
4
7
  measurement="measurement"
5
8
  time="time"
6
9
  fraction-size="child.config.fractionSize"
7
- >
8
- </c8y-linear-gauge>
9
- </div>
10
+ ></c8y-linear-gauge>
11
+ </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c8y/ng1-modules",
3
- "version": "1017.0.346",
3
+ "version": "1017.0.357",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Cumulocity",
6
6
  "description": "AngularJS modules for Cumulocity IoT applications.",