@c8y/ng1-modules 1018.472.0 → 1018.475.0

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.
@@ -1,35 +1,44 @@
1
1
  <c8y-breadcrumbs-set>
2
2
  <c8y-breadcrumbs-item
3
+ icon="c8y-accounts"
3
4
  path="#roles"
4
5
  label="{{ 'Roles' | translate }}"
5
- icon="c8y-accounts"
6
6
  ></c8y-breadcrumbs-item>
7
7
  <c8y-breadcrumbs-item
8
- label="{{ 'Accounts' | translate }}"
9
8
  icon="c8y-accounts"
9
+ label="{{ 'Accounts' | translate }}"
10
10
  ></c8y-breadcrumbs-item>
11
11
  </c8y-breadcrumbs-set>
12
12
 
13
13
  <c8y-ui-action-bar-set>
14
- <li class="navbar-form hidden-xs" action-bar-position="left">
14
+ <li
15
+ class="navbar-form hidden-xs"
16
+ action-bar-position="left"
17
+ >
15
18
  <c8y-list-display-control
16
19
  list-length="vm.roles.length"
17
20
  on-list-class-change="vm.listClass = listClass"
18
21
  ></c8y-list-display-control>
19
22
  </li>
20
23
 
21
- <li class="navbar-form" action-bar-position="left">
24
+ <li
25
+ class="navbar-form"
26
+ action-bar-position="left"
27
+ >
22
28
  <div class="input-group input-group-search">
23
29
  <input
24
- title="{{ 'Filter roles' | translate }}"
25
- type="search"
26
30
  class="form-control"
31
+ title="{{ 'Filter roles' | translate }}"
32
+ id="filter"
27
33
  placeholder="{{ 'Filter' | translate }}…"
34
+ type="search"
28
35
  ng-model="vm.searchString"
29
- id="filter"
30
36
  />
31
37
  <span class="input-group-addon">
32
- <i c8y-icon="search" ng-if="vm.searchString.length === 0 || !vm.searchString"></i>
38
+ <i
39
+ c8y-icon="search"
40
+ ng-if="vm.searchString.length === 0 || !vm.searchString"
41
+ ></i>
33
42
  <i
34
43
  class="text-muted"
35
44
  c8y-icon="times"
@@ -37,15 +46,21 @@
37
46
  ng-click="vm.searchString = ''"
38
47
  ></i>
39
48
  </span>
40
- <span for="filter" class="sr-only" translate>Filter roles</span>
49
+ <span
50
+ class="sr-only"
51
+ for="filter"
52
+ translate
53
+ >
54
+ Filter roles
55
+ </span>
41
56
  </div>
42
57
  </li>
43
58
 
44
59
  <li action-bar-position="right">
45
60
  <button
61
+ class="btn btn-link"
46
62
  title="{{ 'Add inventory role' | translate }}"
47
63
  type="button"
48
- class="btn btn-link"
49
64
  ng-click="::vm.addRole()"
50
65
  ng-show="vm.roles[0].permissions"
51
66
  >
@@ -53,9 +68,9 @@
53
68
  <span translate>Add inventory role</span>
54
69
  </button>
55
70
  <button
71
+ class="btn btn-link"
56
72
  title="{{ 'Add global role' | translate }}"
57
73
  type="button"
58
- class="btn btn-link"
59
74
  ng-click="::vm.addRole()"
60
75
  ng-show="!vm.roles[0].permissions"
61
76
  >
@@ -69,10 +84,10 @@
69
84
 
70
85
  <!-- Empty state -->
71
86
  <c8y-ui-empty-state
72
- ng-if="vm.roles.length === 0"
73
87
  [icon]="'c8y-users'"
74
88
  [title]="'No roles to display.' | translate"
75
89
  [subtitle]="'Click below to add your first role.' | translate"
90
+ ng-if="vm.roles.length === 0"
76
91
  >
77
92
  <button
78
93
  class="btn btn-primary"
@@ -90,7 +105,10 @@
90
105
  >
91
106
  {{ 'Add global role' | translate }}
92
107
  </button>
93
- <p class="m-t-4" c8y-guide-docs>
108
+ <p
109
+ class="m-t-4"
110
+ c8y-guide-docs
111
+ >
94
112
  <small translate>
95
113
  Find out more in the
96
114
  <a c8y-guide-href="users-guide/administration/#managing-permissions">
@@ -101,8 +119,14 @@
101
119
  </p>
102
120
  </c8y-ui-empty-state>
103
121
 
104
- <div class="card-group" ng-class="vm.listClass">
105
- <div class="page-sticky-header hidden-xs" ng-if="vm.roles.length > 0">
122
+ <div
123
+ class="card-group"
124
+ ng-class="vm.listClass"
125
+ >
126
+ <div
127
+ class="page-sticky-header hidden-xs"
128
+ ng-if="vm.roles.length > 0"
129
+ >
106
130
  <div class="d-flex">
107
131
  <div class="card-header">
108
132
  <p translate>Name</p>
@@ -112,7 +136,10 @@
112
136
  <span translate>Description</span>
113
137
  </div>
114
138
  </div>
115
- <div class="card-footer card-column-30 m-r-8" ng-if="vm.roles[0].permissions">
139
+ <div
140
+ class="card-footer card-column-30 m-r-8"
141
+ ng-if="vm.roles[0].permissions"
142
+ >
116
143
  <span translate>Permissions</span>
117
144
  </div>
118
145
  </div>
@@ -122,22 +149,34 @@
122
149
  ng-repeat="role in vm.roles | filter:vm.searchString as filtered"
123
150
  ng-click="::vm.edit(role)"
124
151
  >
125
- <div class="card card--d-col" ng-click="vm.edit(role)">
126
- <div class="card-actions" ng-click="$event.stopPropagation()">
127
- <div class="dropdown settings" uib-dropdown>
152
+ <div
153
+ class="card card--d-col"
154
+ ng-click="vm.edit(role)"
155
+ >
156
+ <div
157
+ class="card-actions"
158
+ ng-click="$event.stopPropagation()"
159
+ >
160
+ <div
161
+ class="dropdown settings"
162
+ uib-dropdown
163
+ >
128
164
  <button
129
- type="button"
130
- title="{{ 'Actions' | translate }}"
131
165
  class="dropdown-toggle c8y-dropdown"
132
- uib-dropdown-toggle
166
+ title="{{ 'Actions' | translate }}"
133
167
  aria-haspopup="true"
168
+ type="button"
169
+ uib-dropdown-toggle
134
170
  ng-click="::$event.stopPropagation()"
135
171
  >
136
172
  <span>
137
173
  <i c8y-icon="ellipsis-v"></i>
138
174
  </span>
139
175
  </button>
140
- <ul class="dropdown-menu dropdown-menu-right" uib-dropdown-menu>
176
+ <ul
177
+ class="dropdown-menu dropdown-menu-right"
178
+ uib-dropdown-menu
179
+ >
141
180
  <li>
142
181
  <button
143
182
  title="{{ 'Edit' | translate }}"
@@ -175,15 +214,30 @@
175
214
 
176
215
  <div class="card-header separator">
177
216
  <div class="card-icon">
178
- <i c8y-icon="connected-people" class="text-gray-darker" ng-if="role.customProperties"></i>
179
- <i c8y-icon="insurance-agent" class="text-gray-darker" ng-if="!role.customProperties"></i>
217
+ <i
218
+ class="text-gray-darker"
219
+ c8y-icon="connected-people"
220
+ ng-if="role.customProperties"
221
+ ></i>
222
+ <i
223
+ class="text-gray-darker"
224
+ c8y-icon="insurance-agent"
225
+ ng-if="!role.customProperties"
226
+ ></i>
180
227
  </div>
181
- <div class="card-title text-truncate" title="{{::role.name | translate}}">
228
+ <div
229
+ class="card-title text-truncate"
230
+ title="{{::role.name | translate}}"
231
+ >
182
232
  <span>{{::role.name | translate}}</span>
183
233
  </div>
184
234
  </div>
185
235
  <div class="card-block card-column-70">
186
- <span class="text-label-small" title="{{ connector.description }}" translate>
236
+ <span
237
+ class="text-label-small"
238
+ title="{{ connector.description }}"
239
+ translate
240
+ >
187
241
  Description
188
242
  </span>
189
243
  <small ng-show="role.description">
@@ -195,8 +249,14 @@
195
249
  </small>
196
250
  </span>
197
251
  </div>
198
- <div class="card-footer separator card-column-30" ng-if="role.permissions">
199
- <span class="badge badge-info" ng-bind="::role.permissions.length"></span>
252
+ <div
253
+ class="card-footer separator card-column-30"
254
+ ng-if="role.permissions"
255
+ >
256
+ <span
257
+ class="badge badge-info"
258
+ ng-bind="::role.permissions.length"
259
+ ></span>
200
260
  <span
201
261
  class="text-label-small"
202
262
  translate
@@ -212,10 +272,10 @@
212
272
 
213
273
  <!-- no results empty state -->
214
274
  <c8y-ui-empty-state
215
- ng-if="filtered.length === 0 && vm.searchString.length > 0"
216
275
  [icon]="'search'"
217
276
  [title]="'No results to display.' | translate"
218
277
  [subtitle]="'Refine your search terms or check your spelling.' | translate"
278
+ ng-if="filtered.length === 0 && vm.searchString.length > 0"
219
279
  ></c8y-ui-empty-state>
220
280
 
221
281
  <c8y-load-more></c8y-load-more>
@@ -1,33 +1,52 @@
1
1
  <div class="bg-level-1 flex-grow">
2
- <ul class="c8y-nav-stacked" ui-sortable="vm.uiSortableOptions" ng-model="vm.instructions">
2
+ <ul
3
+ class="c8y-nav-stacked"
4
+ ui-sortable="vm.uiSortableOptions"
5
+ ng-model="vm.instructions"
6
+ >
3
7
  <li
4
8
  class="c8y-stacked-item"
5
- ng-repeat="instruction in vm.instructions"
6
- ng-style="vm.checkClickable(instruction)"
7
9
  ng-class="{ active: vm.isInstructionSelected(instruction) }"
10
+ ng-style="vm.checkClickable(instruction)"
11
+ ng-repeat="instruction in vm.instructions"
8
12
  >
9
13
  <i
14
+ class="text-muted showOnHover handle"
10
15
  c8y-icon="reorder"
11
- ng-show="vm.canDrag(instruction)"
12
16
  title="{{ 'Drag to reorder' | translate }}"
13
- class="text-muted showOnHover handle"
17
+ ng-show="vm.canDrag(instruction)"
14
18
  ></i>
15
19
  <button
16
20
  class="btn-clean d-flex fit-w text-truncate"
17
21
  type="button"
18
22
  ng-click="vm.select(instruction)"
19
23
  >
20
- <i c8y-icon="{{ vm.icons[instruction.type] }}" class="icon-20 m-r-4"></i>
21
- <span class="text-truncate" title="{{ vm.title(instruction) | translate }}">
24
+ <i
25
+ class="icon-20 m-r-4"
26
+ c8y-icon="{{ vm.icons[instruction.type] }}"
27
+ ></i>
28
+ <span
29
+ class="text-truncate"
30
+ title="{{ vm.title(instruction) | translate }}"
31
+ >
22
32
  <span ng-bind="vm.title(instruction) | translate"></span>
23
33
 
24
- <span class="text-muted" ng-show="instruction.type === 'message'">
34
+ <span
35
+ class="text-muted"
36
+ ng-show="instruction.type === 'message'"
37
+ >
25
38
  {{ instruction.templateId }} / {{ instruction.messageId }}
26
39
  </span>
27
- <span class="text-muted" ng-show="instruction.type === 'builtin'">
40
+ <span
41
+ class="text-muted"
42
+ ng-show="instruction.type === 'builtin'"
43
+ >
28
44
  {{ instruction.messageId }}
29
45
  </span>
30
- <span class="text-muted" ng-show="instruction.type === 'sleep'">
46
+ <span
47
+ class="text-muted"
48
+ ng-show="instruction.type === 'sleep'"
49
+ >
31
50
  <em translate>{{ instruction.seconds }} seconds</em>
32
51
  </span>
33
52
  </span>
@@ -35,30 +54,36 @@
35
54
 
36
55
  <button
37
56
  class="m-l-auto btn btn-icon p-l-8 p-r-8 showOnHover"
38
- type="button"
39
57
  aria-label="{{ 'Remove' | translate }}"
40
58
  uib-tooltip="{{ 'Remove' | translate }}"
41
59
  tooltip-popup-delay="500"
42
60
  tooltip-trigger="'mouseenter'"
43
61
  tooltip-placement="left"
62
+ type="button"
44
63
  ng-click="vm.remove(instruction)"
45
64
  >
46
- <i c8y-icon="minus-circle" class="text-danger"></i>
65
+ <i
66
+ class="text-danger"
67
+ c8y-icon="minus-circle"
68
+ ></i>
47
69
  </button>
48
70
  </li>
49
71
 
50
72
  <li class="p-24">
51
73
  <c8y-ui-empty-state
52
- ng-show="vm.instructions.length === 0"
53
74
  [icon]="'installing-updates'"
54
75
  [title]="'No instructions.' | translate"
55
76
  [subtitle]="'Click below to add the first one.' | translate"
77
+ ng-show="vm.instructions.length === 0"
56
78
  >
57
- <small c8y-guide-docs translate>
79
+ <small
80
+ c8y-guide-docs
81
+ translate
82
+ >
58
83
  Find out more in the
59
84
  <a
60
- c8y-guide-href="users-guide/device-management/#simulator"
61
85
  target="_blank"
86
+ c8y-guide-href="users-guide/device-management/#simulator"
62
87
  rel="noopener noreferrer"
63
88
  >
64
89
  User guide`KEEP_ORIGINAL`
@@ -1,13 +1,19 @@
1
1
  <c8y-breadcrumbs-set>
2
2
  <c8y-breadcrumbs-item
3
- label="{{ 'Simulators' | translate }}"
4
3
  icon="c8y-simulator"
4
+ label="{{ 'Simulators' | translate }}"
5
+ ></c8y-breadcrumbs-item>
6
+ <c8y-breadcrumbs-item
7
+ icon="exchange"
8
+ label="{{ 'Devices' | translate }}"
5
9
  ></c8y-breadcrumbs-item>
6
- <c8y-breadcrumbs-item label="{{ 'Devices' | translate }}" icon="exchange"></c8y-breadcrumbs-item>
7
10
  </c8y-breadcrumbs-set>
8
11
 
9
12
  <c8y-ui-action-bar-set>
10
- <li class="navbar-form hidden-xs" action-bar-position="left">
13
+ <li
14
+ class="navbar-form hidden-xs"
15
+ action-bar-position="left"
16
+ >
11
17
  <c8y-list-display-control
12
18
  list-length="vm.simulators.length"
13
19
  on-list-class-change="vm.listClass = listClass"
@@ -23,7 +29,10 @@
23
29
  ng-click="vm.load()"
24
30
  ng-disabled="vm.loading"
25
31
  >
26
- <i c8y-icon="refresh" ng-class="{ 'icon-spin': vm.loading }"></i>
32
+ <i
33
+ ng-class="{ 'icon-spin': vm.loading }"
34
+ c8y-icon="refresh"
35
+ ></i>
27
36
  {{ 'Reload' | translate }}
28
37
  </button>
29
38
  </c8y-ui-action-bar-set>
@@ -32,10 +41,10 @@
32
41
 
33
42
  <!-- empty state -->
34
43
  <c8y-ui-empty-state
35
- ng-if="vm.simulators.length === 0"
36
44
  [icon]="'c8y-simulator'"
37
45
  [title]="'No simulators to display.' | translate"
38
46
  [subtitle]="'Click below to add your first simulator.' | translate"
47
+ ng-if="vm.simulators.length === 0"
39
48
  >
40
49
  <c8y-simulator-add on-added="vm.onSimulatorAdded(simulator)"></c8y-simulator-add>
41
50
 
@@ -48,8 +57,14 @@
48
57
  </p>
49
58
  </c8y-ui-empty-state>
50
59
 
51
- <div class="card-group" ng-class="vm.listClass">
52
- <div class="page-sticky-header hidden-xs" ng-if="vm.simulators.length > 0">
60
+ <div
61
+ class="card-group"
62
+ ng-class="vm.listClass"
63
+ >
64
+ <div
65
+ class="page-sticky-header hidden-xs"
66
+ ng-if="vm.simulators.length > 0"
67
+ >
53
68
  <div class="d-flex">
54
69
  <div class="card-actions"></div>
55
70
  <div class="card-header card-column-40">
@@ -75,20 +90,29 @@
75
90
  class="col-xs-12 col-sm-6 col-md-4 col-lg-3"
76
91
  ng-repeat="simulator in vm.simulators | orderBy:'name'"
77
92
  >
78
- <div class="card" ng-click="vm.edit(simulator)">
93
+ <div
94
+ class="card"
95
+ ng-click="vm.edit(simulator)"
96
+ >
79
97
  <div class="card-actions">
80
- <div class="dropdown settings" uib-dropdown>
98
+ <div
99
+ class="dropdown settings"
100
+ uib-dropdown
101
+ >
81
102
  <button
82
103
  class="dropdown-toggle c8y-dropdown"
83
- type="button"
84
104
  title="{{ 'Actions' | translate }}"
85
- uib-dropdown-toggle
86
105
  aria-haspopup="true"
106
+ type="button"
107
+ uib-dropdown-toggle
87
108
  ng-click="$event.stopPropagation()"
88
109
  >
89
110
  <span><i c8y-icon="ellipsis-v"></i></span>
90
111
  </button>
91
- <ul class="dropdown-menu dropdown-menu-right" uib-dropdown-menu>
112
+ <ul
113
+ class="dropdown-menu dropdown-menu-right"
114
+ uib-dropdown-menu
115
+ >
92
116
  <li>
93
117
  <button
94
118
  title="{{ 'Edit' | translate }}"
@@ -127,7 +151,10 @@
127
151
  <div class="card-icon">
128
152
  <i c8y-icon="c8y-simulator c8y-icon-duocolor"></i>
129
153
  </div>
130
- <div class="text-truncate card-title" title="{{ simulator.name }}">
154
+ <div
155
+ class="text-truncate card-title"
156
+ title="{{ simulator.name }}"
157
+ >
131
158
  {{ simulator.name }}
132
159
  </div>
133
160
  </div>
@@ -135,8 +162,8 @@
135
162
  <div class="card-block card-column-30 m-r-0">
136
163
  <div ng-switch="simulator.state">
137
164
  <label
138
- title="{{ 'Toggle simulator state' | translate }}"
139
165
  class="c8y-switch c8y-switch--inline"
166
+ title="{{ 'Toggle simulator state' | translate }}"
140
167
  ng-click="$event.stopPropagation()"
141
168
  >
142
169
  <input
@@ -147,8 +174,8 @@
147
174
  <span></span>
148
175
  <span
149
176
  class="text-capitalize"
150
- ng-switch-default
151
177
  title="{{ simulator.state | translate | lowercase }}"
178
+ ng-switch-default
152
179
  >
153
180
  {{ simulator.state.toLowerCase() | translate }}
154
181
  </span>
@@ -159,14 +186,24 @@
159
186
  <div class="card-footer separator card-column-30">
160
187
  <div class="d-flex fit-w">
161
188
  <div class="card-column-50 flex-grow">
162
- <span class="text-label-small" translate>Instances</span>
189
+ <span
190
+ class="text-label-small"
191
+ translate
192
+ >
193
+ Instances
194
+ </span>
163
195
  <span title=" {{ simulator.instances }} {{ 'Instances' | translate }}">
164
196
  <i c8y-icon="{{ vm.icons.simulator }}"></i>
165
197
  {{ simulator.instances }}
166
198
  </span>
167
199
  </div>
168
200
  <div class="card-column-50">
169
- <span class="text-label-small" translate>Instructions</span>
201
+ <span
202
+ class="text-label-small"
203
+ translate
204
+ >
205
+ Instructions
206
+ </span>
170
207
  <span title="{{ simulator.commandQueue.length }} {{ 'Instructions' | translate }}">
171
208
  <i c8y-icon="{{ vm.icons.instruction }}"></i>
172
209
  {{ simulator.commandQueue.length }}
@@ -1 +1 @@
1
- "use strict";!function(){function e(n,i,e){return{getTenantNameColumn:function(){return n.getColumn({name:"tenantName",header:e("Tenant"),cell:{template:'<a ng-href="#{{getTenantDetails(item)}}">\n {{item.tenantCompany}}\n </a>',scopeExtensions:{getTenantDetails:function(e){return"/tenants/".concat(e.tenantId)}}},filteringByPattern:{itemProperty:"tenantCompany"},sortingByPath:{itemProperty:"tenantCompany"},getCsvHeaders:function(){return[e("Tenant")]},getCsvValues:function(e){return[e.tenantCompany]}})},getTenantIdColumn:function(){return n.getColumn({name:"tenantId",header:e("ID"),cell:{template:"{{item.tenantId}}"},filteringByPattern:{itemProperty:"tenantId"},sortingByPath:{itemProperty:"tenantId"},getCsvValues:function(e){return[e.tenantId]}})},getTenantDomainColumn:function(){return n.getColumn({name:"tenantDomain",header:e("Domain"),cell:{template:'<a \n ng-href="{{getTenantUrl(item)}}"\n target="_blank"\n rel="noopener noreferrer"\n >\n {{item.tenantDomain}}\n </a>',scopeExtensions:{getTenantUrl:function(e){return"https://".concat(e.tenantDomain)}}},filteringByPattern:{itemProperty:"tenantDomain"},sortingByPath:{itemProperty:"tenantDomain"},getCsvHeaders:function(){return[e("Domain")]},getCsvValues:function(e){return[e.tenantDomain]}})},getCustomPropertyColumn:function(r){var e=r.key,t=["tenantCustomProperties",e],e={name:e,priority:_.startsWith(e,"limit.")?-1e3:0,header:r.title,cell:{template:"<div\n ng-bind=\"getValue(item, '".concat(e,"') |\n formatBySchema:getSchema(tenantCustomProperties, '").concat(e,"')\">\n </div>"),scopeExtensions:{getValue:function(e,t){return _.get(e,["tenantCustomProperties",t])},getSchema:function(e,t){return _.get(e,[t,"schema"])}}},getCsvHeaders:function(){return[r.title]},getCsvValues:function(e){return[(e=e,t=r,n=_.get(t,"schema.default"),_.get(e,["tenantCustomProperties",t.key],n))];var t,n}};return _.merge(e,function(e){var t=i.getType(e).filteringKey,e={itemProperty:["tenantCustomProperties",e.key]},n={};return _.set(n,t,e),_.set(n,"sortingByPath",e),n}(r)),_.set(e.cell.scopeExtensions,t,r),n.getColumn(e)},getApiRequestsColumn:function(){return n.getColumn({name:"requestCount",header:e("API requests"),cell:{template:"{{item.requestCount}}"},filteringByMinMax:{itemProperty:"requestCount"},sortingByPath:{itemProperty:"requestCount"},getCsvValues:function(e){return[e.requestCount]}})},getDeviceApiRequestsColumn:function(){return n.getColumn({name:"deviceRequestCount",header:e("Device API requests"),cell:{template:"{{item.deviceRequestCount}}"},filteringByMinMax:{itemProperty:"deviceRequestCount"},sortingByPath:{itemProperty:"deviceRequestCount"},getCsvValues:function(e){return[e.deviceRequestCount]}})},getStorageQuotaColumn:function(){return n.getColumn({name:"storageQuota",header:e("Storage quota (MB)"),cell:{template:'<span ng-if="item.storageLimitPerDevice">{{item.storageQuota}}</span>'},filteringByMinMax:{itemProperty:"storageQuota"},sortingByPath:{itemProperty:"storageQuota"},getCsvValues:function(e){return[e.storageQuota||""]}})},getStorageSizeColumn:function(){return n.getColumn({name:"storageSize",header:e("Storage (MB)"),cell:{template:"{{item.storageSize}}"},filteringByMinMax:{itemProperty:"storageSize"},getCsvValues:function(e){return[e.storageSize]}})},getPeakStorageSizeColumn:function(){return n.getColumn({name:"peakStorageSize",header:e("Peak storage (MB)"),cell:{template:"{{item.peakStorageSize}}"},filteringByMinMax:{itemProperty:"peakStorageSize"},getCsvValues:function(e){return[e.peakStorageSize]}})},getRootDevicesColumn:function(){return n.getColumn({name:"deviceCount",header:{text:e("Root devices"),tooltip:{icon:"question-circle-o",text:e("Number of root devices, excluding child devices")}},cell:{template:"{{item.deviceCount}}"},filteringByMinMax:{itemProperty:"deviceCount"},sortingByPath:{itemProperty:"deviceCount"},getCsvValues:function(e){return[e.deviceCount]}})},getPeakRootDevicesColumn:function(){return n.getColumn({name:"peakDeviceCount",header:{text:e("Peak root devices"),tooltip:{icon:"question-circle-o",text:e("Peak number of root devices, excluding child devices")}},cell:{template:"{{item.peakDeviceCount}}"},filteringByMinMax:{itemProperty:"peakDeviceCount"},sortingByPath:{itemProperty:"peakDeviceCount"},getCsvValues:function(e){return[e.peakDeviceCount]}})},getDevicesColumn:function(){return n.getColumn({name:"deviceWithChildrenCount",header:{text:e("Devices"),tooltip:{icon:"question-circle-o",text:e("Number of devices, including child devices")}},cell:{template:"{{item.deviceWithChildrenCount}}"},filteringByMinMax:{itemProperty:"deviceWithChildrenCount"},sortingByPath:{itemProperty:"deviceWithChildrenCount"},getCsvValues:function(e){return[e.deviceWithChildrenCount]}})},getPeakDevicesColumn:function(){return n.getColumn({name:"peakDeviceWithChildrenCount",header:{text:e("Peak devices"),tooltip:{icon:"question-circle-o",text:e("Peak number of devices, including child devices")}},cell:{template:"{{item.peakDeviceWithChildrenCount}}"},filteringByMinMax:{itemProperty:"peakDeviceWithChildrenCount"},sortingByPath:{itemProperty:"peakDeviceWithChildrenCount"},getCsvValues:function(e){return[e.peakDeviceWithChildrenCount]}})},getSubscribedApplicationsColumn:function(){return n.getColumn({name:"subscribedApplications",header:e("Subscribed applications"),cell:{template:"{{(item.subscribedApplications || []).length}}"},filteringByMinMax:{itemProperty:"subscribedApplications.length"},sortingByPath:{itemProperty:"subscribedApplications.length"},getCsvValues:function(e){return[_.join(e.subscribedApplications," ")]}})},getCreationTimeColumn:function(){return n.getColumn({name:"creationTime",header:e("Creation time"),cell:{template:"{{item.creationTime | absoluteDate}}"},filteringByMinMaxDate:{itemProperty:"creationTime"},sortingByPath:{itemProperty:"creationTime"},getCsvValues:function(e){return[e.creationTime&&moment(e.creationTime).format("L")]}})},getParentTenantIdColumn:function(){return n.getColumn({name:"parentTenantId",header:e("Parent tenant"),cell:{template:"{{item.parentTenantId}}"},filteringByPattern:{itemProperty:"parentTenantId"},sortingByPath:{itemProperty:"parentTenantId"},getCsvValues:function(e){return[e.parentTenantId]}})},getDeviceEndpointCountColumn:function(){return n.getColumn({name:"deviceEndpointCount",header:{text:e("Endpoint devices"),tooltip:{icon:"question-circle-o",text:e("Leaf machines (without gateways and edges)")}},cell:{template:"{{item.deviceEndpointCount}}"},filteringByPattern:{itemProperty:"deviceEndpointCount"},sortingByPath:{itemProperty:"deviceEndpointCount"},getCsvValues:function(e){return[e.deviceEndpointCount]}})},getAlarmsCreatedCountColumn:function(){return n.getColumn({name:"alarmsCreated",header:e("Alarms created"),cell:{template:"{{item.alarmsCreatedCount}}"},filteringByPattern:{itemProperty:"alarmsCreatedCount"},sortingByPath:{itemProperty:"alarmsCreatedCount"},getCsvValues:function(e){return[e.alarmsCreatedCount]}})},getAlarmsUpdatedCountColumn:function(){return n.getColumn({name:"alarmsUpdated",header:e("Alarms updated"),cell:{template:"{{item.alarmsUpdatedCount}}"},filteringByPattern:{itemProperty:"alarmsUpdatedCount"},sortingByPath:{itemProperty:"alarmsUpdatedCount"},getCsvValues:function(e){return[e.alarmsUpdatedCount]}})},getInventoriesCreatedCountColumn:function(){return n.getColumn({name:"inventoriesCreated",header:e("Inventories created"),cell:{template:"{{item.inventoriesCreatedCount}}"},filteringByPattern:{itemProperty:"inventoriesCreatedCount"},sortingByPath:{itemProperty:"inventoriesCreatedCount"},getCsvValues:function(e){return[e.inventoriesCreatedCount]}})},getInventoriesUpdatedCountColumn:function(){return n.getColumn({name:"inventoriesUpdated",header:e("Inventories updated"),cell:{template:"{{item.inventoriesUpdatedCount}}"},filteringByPattern:{itemProperty:"inventoriesUpdatedCount"},sortingByPath:{itemProperty:"inventoriesUpdatedCount"},getCsvValues:function(e){return[e.inventoriesUpdatedCount]}})},getEventsCreatedCountColumn:function(){return n.getColumn({name:"eventsCreated",header:e("Events created"),cell:{template:"{{item.eventsCreatedCount}}"},filteringByPattern:{itemProperty:"eventsCreatedCount"},sortingByPath:{itemProperty:"eventsCreatedCount"},getCsvValues:function(e){return[e.eventsCreatedCount]}})},getEventsUpdatedCountColumn:function(){return n.getColumn({name:"eventsUpdated",header:e("Events updated"),cell:{template:"{{item.eventsUpdatedCount}}"},filteringByPattern:{itemProperty:"eventsUpdatedCount"},sortingByPath:{itemProperty:"eventsUpdatedCount"},getCsvValues:function(e){return[e.eventsUpdatedCount]}})},getMeasurementsCreatedCountColumn:function(){return n.getColumn({name:"measurementsCreated",header:e("Measurements created"),cell:{template:"{{item.measurementsCreatedCount}}"},filteringByPattern:{itemProperty:"measurementsCreatedCount"},sortingByPath:{itemProperty:"measurementsCreatedCount"},getCsvValues:function(e){return[e.measurementsCreatedCount]}})},getTotalInboundTransferColumn:function(){return n.getColumn({name:"totalInboundTransfer",header:e("Total inbound transfer"),cell:{template:"{{item.totalResourceCreateAndUpdateCount}}"},filteringByPattern:{itemProperty:"totalResourceCreateAndUpdateCount"},sortingByPath:{itemProperty:"totalResourceCreateAndUpdateCount"},getCsvValues:function(e){return[e.totalResourceCreateAndUpdateCount]}})},getCpuUsageColumn:function(){return n.getColumn({name:"cpuUsage",header:{text:e("CPU (m)"),tooltip:{icon:"question-circle-o",text:e("Sum of CPU daily usage in CPU milliseconds")}},cell:{template:"{{item.resources.cpu}}"},filteringByPattern:{itemProperty:"resources.cpu"},sortingByPath:{itemProperty:"resources.cpu"},getCsvValues:function(e){return[_.get(e,"resources.cpu")]}})},getMemoryUsageColumn:function(){return n.getColumn({name:"memoryUsage",header:{text:e("Memory (MB)"),tooltip:{icon:"question-circle-o",text:e("Sum of memory daily usage")}},cell:{template:"{{item.resources.memory}}"},filteringByPattern:{itemProperty:"resources.memory"},sortingByPath:{itemProperty:"resources.memory"},getCsvValues:function(e){return[_.get(e,"resources.memory")]}})}}}e.$inject=["c8yFilteringSortingCollections","SchemaPropertiesSvc","gettext"],angular.module("c8y.tenantStatistics").factory("c8yTenantStatisticsColumns",e)}();
1
+ "use strict";!function(){function e(n,i,e){return{getTenantNameColumn:function(){return n.getColumn({name:"tenantName",header:e("Tenant"),cell:{template:'<a ng-href="#{{getTenantDetails(item)}}">\n {{item.tenantCompany}}\n </a>',scopeExtensions:{getTenantDetails:function(e){return"/tenants/".concat(e.tenantId)}}},filteringByPattern:{itemProperty:"tenantCompany"},sortingByPath:{itemProperty:"tenantCompany"},getCsvHeaders:function(){return[e("Tenant")]},getCsvValues:function(e){return[e.tenantCompany]}})},getTenantIdColumn:function(){return n.getColumn({name:"tenantId",header:e("ID"),cell:{template:"{{item.tenantId}}"},filteringByPattern:{itemProperty:"tenantId"},sortingByPath:{itemProperty:"tenantId"},getCsvValues:function(e){return[e.tenantId]}})},getTenantDomainColumn:function(){return n.getColumn({name:"tenantDomain",header:e("Domain"),cell:{template:'<a\n ng-href="{{getTenantUrl(item)}}"\n target="_blank"\n rel="noopener noreferrer"\n >\n {{item.tenantDomain}}\n </a>',scopeExtensions:{getTenantUrl:function(e){return"https://".concat(e.tenantDomain)}}},filteringByPattern:{itemProperty:"tenantDomain"},sortingByPath:{itemProperty:"tenantDomain"},getCsvHeaders:function(){return[e("Domain")]},getCsvValues:function(e){return[e.tenantDomain]}})},getCustomPropertyColumn:function(r){var e=r.key,t=["tenantCustomProperties",e],e={name:e,priority:_.startsWith(e,"limit.")?-1e3:0,header:r.title,cell:{template:"<div\n ng-bind=\"getValue(item, '".concat(e,"') |\n formatBySchema:getSchema(tenantCustomProperties, '").concat(e,"')\">\n </div>"),scopeExtensions:{getValue:function(e,t){return _.get(e,["tenantCustomProperties",t])},getSchema:function(e,t){return _.get(e,[t,"schema"])}}},getCsvHeaders:function(){return[r.title]},getCsvValues:function(e){return[(e=e,t=r,n=_.get(t,"schema.default"),_.get(e,["tenantCustomProperties",t.key],n))];var t,n}};return _.merge(e,function(e){var t=i.getType(e).filteringKey,e={itemProperty:["tenantCustomProperties",e.key]},n={};return _.set(n,t,e),_.set(n,"sortingByPath",e),n}(r)),_.set(e.cell.scopeExtensions,t,r),n.getColumn(e)},getApiRequestsColumn:function(){return n.getColumn({name:"requestCount",header:e("API requests"),cell:{template:"{{item.requestCount}}"},filteringByMinMax:{itemProperty:"requestCount"},sortingByPath:{itemProperty:"requestCount"},getCsvValues:function(e){return[e.requestCount]}})},getDeviceApiRequestsColumn:function(){return n.getColumn({name:"deviceRequestCount",header:e("Device API requests"),cell:{template:"{{item.deviceRequestCount}}"},filteringByMinMax:{itemProperty:"deviceRequestCount"},sortingByPath:{itemProperty:"deviceRequestCount"},getCsvValues:function(e){return[e.deviceRequestCount]}})},getStorageQuotaColumn:function(){return n.getColumn({name:"storageQuota",header:e("Storage quota (MB)"),cell:{template:'<span ng-if="item.storageLimitPerDevice">{{item.storageQuota}}</span>'},filteringByMinMax:{itemProperty:"storageQuota"},sortingByPath:{itemProperty:"storageQuota"},getCsvValues:function(e){return[e.storageQuota||""]}})},getStorageSizeColumn:function(){return n.getColumn({name:"storageSize",header:e("Storage (MB)"),cell:{template:"{{item.storageSize}}"},filteringByMinMax:{itemProperty:"storageSize"},getCsvValues:function(e){return[e.storageSize]}})},getPeakStorageSizeColumn:function(){return n.getColumn({name:"peakStorageSize",header:e("Peak storage (MB)"),cell:{template:"{{item.peakStorageSize}}"},filteringByMinMax:{itemProperty:"peakStorageSize"},getCsvValues:function(e){return[e.peakStorageSize]}})},getRootDevicesColumn:function(){return n.getColumn({name:"deviceCount",header:{text:e("Root devices"),tooltip:{icon:"question-circle-o",text:e("Number of root devices, excluding child devices")}},cell:{template:"{{item.deviceCount}}"},filteringByMinMax:{itemProperty:"deviceCount"},sortingByPath:{itemProperty:"deviceCount"},getCsvValues:function(e){return[e.deviceCount]}})},getPeakRootDevicesColumn:function(){return n.getColumn({name:"peakDeviceCount",header:{text:e("Peak root devices"),tooltip:{icon:"question-circle-o",text:e("Peak number of root devices, excluding child devices")}},cell:{template:"{{item.peakDeviceCount}}"},filteringByMinMax:{itemProperty:"peakDeviceCount"},sortingByPath:{itemProperty:"peakDeviceCount"},getCsvValues:function(e){return[e.peakDeviceCount]}})},getDevicesColumn:function(){return n.getColumn({name:"deviceWithChildrenCount",header:{text:e("Devices"),tooltip:{icon:"question-circle-o",text:e("Number of devices, including child devices")}},cell:{template:"{{item.deviceWithChildrenCount}}"},filteringByMinMax:{itemProperty:"deviceWithChildrenCount"},sortingByPath:{itemProperty:"deviceWithChildrenCount"},getCsvValues:function(e){return[e.deviceWithChildrenCount]}})},getPeakDevicesColumn:function(){return n.getColumn({name:"peakDeviceWithChildrenCount",header:{text:e("Peak devices"),tooltip:{icon:"question-circle-o",text:e("Peak number of devices, including child devices")}},cell:{template:"{{item.peakDeviceWithChildrenCount}}"},filteringByMinMax:{itemProperty:"peakDeviceWithChildrenCount"},sortingByPath:{itemProperty:"peakDeviceWithChildrenCount"},getCsvValues:function(e){return[e.peakDeviceWithChildrenCount]}})},getSubscribedApplicationsColumn:function(){return n.getColumn({name:"subscribedApplications",header:e("Subscribed applications"),cell:{template:"{{(item.subscribedApplications || []).length}}"},filteringByMinMax:{itemProperty:"subscribedApplications.length"},sortingByPath:{itemProperty:"subscribedApplications.length"},getCsvValues:function(e){return[_.join(e.subscribedApplications," ")]}})},getCreationTimeColumn:function(){return n.getColumn({name:"creationTime",header:e("Creation time"),cell:{template:"{{item.creationTime | absoluteDate}}"},filteringByMinMaxDate:{itemProperty:"creationTime"},sortingByPath:{itemProperty:"creationTime"},getCsvValues:function(e){return[e.creationTime&&moment(e.creationTime).format("L")]}})},getParentTenantIdColumn:function(){return n.getColumn({name:"parentTenantId",header:e("Parent tenant"),cell:{template:"{{item.parentTenantId}}"},filteringByPattern:{itemProperty:"parentTenantId"},sortingByPath:{itemProperty:"parentTenantId"},getCsvValues:function(e){return[e.parentTenantId]}})},getDeviceEndpointCountColumn:function(){return n.getColumn({name:"deviceEndpointCount",header:{text:e("Endpoint devices"),tooltip:{icon:"question-circle-o",text:e("Leaf machines (without gateways and edges)")}},cell:{template:"{{item.deviceEndpointCount}}"},filteringByPattern:{itemProperty:"deviceEndpointCount"},sortingByPath:{itemProperty:"deviceEndpointCount"},getCsvValues:function(e){return[e.deviceEndpointCount]}})},getAlarmsCreatedCountColumn:function(){return n.getColumn({name:"alarmsCreated",header:e("Alarms created"),cell:{template:"{{item.alarmsCreatedCount}}"},filteringByPattern:{itemProperty:"alarmsCreatedCount"},sortingByPath:{itemProperty:"alarmsCreatedCount"},getCsvValues:function(e){return[e.alarmsCreatedCount]}})},getAlarmsUpdatedCountColumn:function(){return n.getColumn({name:"alarmsUpdated",header:e("Alarms updated"),cell:{template:"{{item.alarmsUpdatedCount}}"},filteringByPattern:{itemProperty:"alarmsUpdatedCount"},sortingByPath:{itemProperty:"alarmsUpdatedCount"},getCsvValues:function(e){return[e.alarmsUpdatedCount]}})},getInventoriesCreatedCountColumn:function(){return n.getColumn({name:"inventoriesCreated",header:e("Inventories created"),cell:{template:"{{item.inventoriesCreatedCount}}"},filteringByPattern:{itemProperty:"inventoriesCreatedCount"},sortingByPath:{itemProperty:"inventoriesCreatedCount"},getCsvValues:function(e){return[e.inventoriesCreatedCount]}})},getInventoriesUpdatedCountColumn:function(){return n.getColumn({name:"inventoriesUpdated",header:e("Inventories updated"),cell:{template:"{{item.inventoriesUpdatedCount}}"},filteringByPattern:{itemProperty:"inventoriesUpdatedCount"},sortingByPath:{itemProperty:"inventoriesUpdatedCount"},getCsvValues:function(e){return[e.inventoriesUpdatedCount]}})},getEventsCreatedCountColumn:function(){return n.getColumn({name:"eventsCreated",header:e("Events created"),cell:{template:"{{item.eventsCreatedCount}}"},filteringByPattern:{itemProperty:"eventsCreatedCount"},sortingByPath:{itemProperty:"eventsCreatedCount"},getCsvValues:function(e){return[e.eventsCreatedCount]}})},getEventsUpdatedCountColumn:function(){return n.getColumn({name:"eventsUpdated",header:e("Events updated"),cell:{template:"{{item.eventsUpdatedCount}}"},filteringByPattern:{itemProperty:"eventsUpdatedCount"},sortingByPath:{itemProperty:"eventsUpdatedCount"},getCsvValues:function(e){return[e.eventsUpdatedCount]}})},getMeasurementsCreatedCountColumn:function(){return n.getColumn({name:"measurementsCreated",header:e("Measurements created"),cell:{template:"{{item.measurementsCreatedCount}}"},filteringByPattern:{itemProperty:"measurementsCreatedCount"},sortingByPath:{itemProperty:"measurementsCreatedCount"},getCsvValues:function(e){return[e.measurementsCreatedCount]}})},getTotalInboundTransferColumn:function(){return n.getColumn({name:"totalInboundTransfer",header:e("Total inbound transfer"),cell:{template:"{{item.totalResourceCreateAndUpdateCount}}"},filteringByPattern:{itemProperty:"totalResourceCreateAndUpdateCount"},sortingByPath:{itemProperty:"totalResourceCreateAndUpdateCount"},getCsvValues:function(e){return[e.totalResourceCreateAndUpdateCount]}})},getCpuUsageColumn:function(){return n.getColumn({name:"cpuUsage",header:{text:e("CPU (m)"),tooltip:{icon:"question-circle-o",text:e("Sum of CPU daily usage in CPU millicores")}},cell:{template:"{{item.resources.cpu}}"},filteringByPattern:{itemProperty:"resources.cpu"},sortingByPath:{itemProperty:"resources.cpu"},getCsvValues:function(e){return[_.get(e,"resources.cpu")]}})},getMemoryUsageColumn:function(){return n.getColumn({name:"memoryUsage",header:{text:e("Memory (MB)"),tooltip:{icon:"question-circle-o",text:e("Sum of memory daily usage")}},cell:{template:"{{item.resources.memory}}"},filteringByPattern:{itemProperty:"resources.memory"},sortingByPath:{itemProperty:"resources.memory"},getCsvValues:function(e){return[_.get(e,"resources.memory")]}})}}}e.$inject=["c8yFilteringSortingCollections","SchemaPropertiesSvc","gettext"],angular.module("c8y.tenantStatistics").factory("c8yTenantStatisticsColumns",e)}();