@c8y/ng1-modules 1016.247.0 → 1016.253.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.
- package/NOTICES +92 -808
- package/commandTemplates/views/commandTemplates.html +2 -2
- package/connectivityV2/connectivityV2.html +37 -36
- package/connectivityV2/sms.html +10 -7
- package/connectivityV2/status.html +2 -1
- package/core/locales/de.po +179 -6
- package/core/ui/header/rightDrawer.html +1 -1
- package/core/ui/views/binaryInputModal.html +6 -3
- package/dataBroker/subscriptions/subscriptions.html +1 -1
- package/device-protocol-lwm2m/cumulocity.json +1 -3
- package/device-protocol-lwm2m/module.js +1 -1
- package/devicemanagement-aclManagement/controllers/aclManagementCtrl.js +1 -1
- package/devicemanagement-logViewer/views/index.html +12 -5
- package/generic-ui/generic-ui.html +19 -17
- package/measurements/views/iconBar.html +1 -1
- package/package.json +1 -1
- package/remoteAccess/remoteAccessEndpointModal/remoteAccessEndpointModal.html +2 -3
- package/remoteAccess/remoteAccessUI.provider.js +1 -1
- package/smartRules/views/add.html +59 -56
- package/device-protocol-lwm2m/postOperations/lwm2mPostOperations.component.js +0 -1
- package/device-protocol-lwm2m/postOperations/lwm2mPostOperations.html +0 -68
- package/device-protocol-lwm2m/postOperations/lwm2mPostOperationsUi.provider.js +0 -1
|
@@ -145,7 +145,12 @@
|
|
|
145
145
|
<div class="c8y-list__item__body">
|
|
146
146
|
<div class="row">
|
|
147
147
|
<div class="col-sm-5">
|
|
148
|
-
<button
|
|
148
|
+
<button
|
|
149
|
+
class="btn-clean"
|
|
150
|
+
type="button"
|
|
151
|
+
ng-class="{ 'no-pointer': !hasLogFile(op) }"
|
|
152
|
+
ng-click="selectLogfile(op)"
|
|
153
|
+
>
|
|
149
154
|
{{ getOperationDesc(op) | translate }}
|
|
150
155
|
</button>
|
|
151
156
|
</div>
|
|
@@ -165,11 +170,12 @@
|
|
|
165
170
|
<button
|
|
166
171
|
ng-if="!hasLogFile(op) && isPending(op)"
|
|
167
172
|
class="btn btn-dot a-s-center"
|
|
173
|
+
type="button"
|
|
168
174
|
uib-tooltip="{{ 'Cancel operation' | translate }}"
|
|
169
175
|
aria-label="{{ 'Cancel operation' | translate }}"
|
|
170
|
-
type="button"
|
|
171
176
|
tooltip-popup-delay="500"
|
|
172
177
|
popover-trigger="'mouseenter focus'"
|
|
178
|
+
tooltip-placement="left"
|
|
173
179
|
ng-click="cancel(op)"
|
|
174
180
|
>
|
|
175
181
|
<i c8y-icon="times-circle"></i>
|
|
@@ -178,10 +184,11 @@
|
|
|
178
184
|
ng-if="!hasLogFile(op) && isFailed(op)"
|
|
179
185
|
class="btn btn-dot btn-dot--danger a-s-center"
|
|
180
186
|
type="button"
|
|
181
|
-
tooltip-popup-delay="500"
|
|
182
|
-
popover-trigger="'mouseenter focus'"
|
|
183
187
|
uib-tooltip="{{ 'Delete operation' | translate }}"
|
|
184
188
|
aria-label="{{ 'Delete operation' | translate }}"
|
|
189
|
+
tooltip-popup-delay="500"
|
|
190
|
+
popover-trigger="'mouseenter focus'"
|
|
191
|
+
tooltip-placement="left"
|
|
185
192
|
ng-click="remove(op)"
|
|
186
193
|
>
|
|
187
194
|
<i c8y-icon="delete"></i>
|
|
@@ -236,7 +243,7 @@
|
|
|
236
243
|
</span>
|
|
237
244
|
</div>
|
|
238
245
|
</div>
|
|
239
|
-
<div class="collapse" uib-collapse="!op===selectedLog">
|
|
246
|
+
<div class="collapse" uib-collapse="!(op === selectedLog)">
|
|
240
247
|
<div class="c8y-list__collapse__container">
|
|
241
248
|
<div class="row" ng-show="op === selectedLog">
|
|
242
249
|
<div class="col-sm-3">
|
|
@@ -4,31 +4,33 @@
|
|
|
4
4
|
</div>
|
|
5
5
|
<div class="inner-scroll split-view__list">
|
|
6
6
|
<div class="bg-level-1 flex-grow">
|
|
7
|
-
<
|
|
8
|
-
<
|
|
7
|
+
<ul class="c8y-nav-stacked">
|
|
8
|
+
<li
|
|
9
9
|
class="c8y-stacked-item removable"
|
|
10
|
-
type="button"
|
|
11
10
|
ng-repeat="object in vm.objects"
|
|
12
|
-
ng-click="vm.select(object)"
|
|
13
11
|
ng-class="{ active: vm.isSelected(object) }"
|
|
14
12
|
>
|
|
15
13
|
<div class="d-flex flex-grow a-i-center">
|
|
16
|
-
<
|
|
14
|
+
<button
|
|
15
|
+
class="text-truncate btn-clean flex-grow"
|
|
16
|
+
title="{{ object.title | translate }}"
|
|
17
|
+
ng-click="vm.select(object)"
|
|
18
|
+
>
|
|
17
19
|
<i c8y-icon="portraits"></i>
|
|
18
20
|
<span ng-bind="object.title | translate"></span>
|
|
19
|
-
</
|
|
20
|
-
|
|
21
|
-
<c8y-generic-ui-inventory
|
|
22
|
-
path="object.key"
|
|
23
|
-
data-title="object.title"
|
|
24
|
-
schema="object.schema"
|
|
25
|
-
context="object.managedObject"
|
|
26
|
-
only-basic-operations="true"
|
|
27
|
-
class="m-l-auto m-r-24"
|
|
28
|
-
></c8y-generic-ui-inventory>
|
|
21
|
+
</button>
|
|
29
22
|
</div>
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
|
|
24
|
+
<c8y-generic-ui-inventory
|
|
25
|
+
path="object.key"
|
|
26
|
+
data-title="object.title"
|
|
27
|
+
schema="object.schema"
|
|
28
|
+
context="object.managedObject"
|
|
29
|
+
only-basic-operations="true"
|
|
30
|
+
class="m-l-auto m-r-24"
|
|
31
|
+
></c8y-generic-ui-inventory>
|
|
32
|
+
</li>
|
|
33
|
+
</ul>
|
|
32
34
|
</div>
|
|
33
35
|
</div>
|
|
34
36
|
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
type="button"
|
|
43
43
|
class="btn-help btn-help--sm"
|
|
44
44
|
aria-label="{{ 'Help' | translate }}"
|
|
45
|
-
uib-popover-html="'Drag x-axis to move time.<br>Select time period to zoom.<br>Double click to zoom out.<br>Values in the y-axis may be truncated, hover over the values or the circle in the bottom to display whole values.' | translate"
|
|
45
|
+
uib-popover-html="'Drag x-axis to the left or right to move time.<br>Select time period to zoom.<br>Double click to zoom out.<br>Values in the y-axis may be truncated, hover over the values or the circle in the bottom to display whole values.' | translate"
|
|
46
46
|
popover-placement="right"
|
|
47
47
|
popover-trigger="'focus'"
|
|
48
48
|
popover-append-to-body="true"
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<div class="modal-header dialog-header">
|
|
2
2
|
<i c8y-icon="laptop"></i>
|
|
3
|
-
<h4 translate>Remote access endpoint</
|
|
3
|
+
<h1 id="modal-title" class="h4 text-uppercase" translate>Remote access endpoint</h1>
|
|
4
4
|
</div>
|
|
5
5
|
<div class="modal-inner-scroll">
|
|
6
|
-
<div class="modal-body">
|
|
6
|
+
<div class="modal-body" id="modal-body">
|
|
7
7
|
<form name="endpointForm" novalidate>
|
|
8
8
|
<div class="form-group">
|
|
9
9
|
<label for="name" translate>Name</label>
|
|
@@ -77,7 +77,6 @@
|
|
|
77
77
|
{{ vm.identifiedType | translate }}
|
|
78
78
|
</span>
|
|
79
79
|
<input
|
|
80
|
-
aria-label="{{ 'Host address' | translate }}"
|
|
81
80
|
id="hostname"
|
|
82
81
|
name="hostname"
|
|
83
82
|
class="form-control"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(){function e(n,t,
|
|
1
|
+
"use strict";!function(){function e(n,t,y){r.$inject=["$q","$interval","$window","c8yRemoteAccess","$uibModal","c8yModal","c8yAlert","c8yBase","c8yInventory","c8yDevices","gettextCatalog"],i.$inject=["$routeParams","c8yBase","c8yDevices","c8yRemoteAccess"],c.$inject=["$routeParams"];var e="device/:deviceId",o={name:y("Remote access"),icon:"window-restore",template:'<c8y-remote-access-endpoints-list device="vm.id"></c8y-remote-access-endpoints-list>',controllerAs:"vm",controller:c,showIf:i};function c(e){this.id=e.deviceId}function i(e,n,t,o){var c=e.deviceId;return t.detail(c).then(n.getResData).then(function(e){return t.supportsOperation(e,"c8y_RemoteAccessConnect")}).then(function(e){return e&&o.isMicroServiceAvailable(c)})}function r(o,i,r,a,c,s,d,n,t,u,l){return{getSuggestedIPAddresses:function(e){var t=[{label:"localhost",ipAddress:a.DEFAULT_HOST}];return v(e).then(function(e){var n=_.map(e,function(e){return{label:u.properName(e),ipAddress:u.getIPAddress(e)}});return _.filter(t.concat(n),"ipAddress")})},getChildDevices:v,getEndpoints:p,addEndpoint:function(e){var n=g(e).then(function(e){return c.open({size:"sm",component:"c8yRemoteAccessEndpointModal",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",resolve:{rootDevice:_.constant(_.cloneDeep(e))}}).result});return n.then(function(){return d.success(y("Endpoint saved."))})},editEndpoint:function(n){var e=o.all({deviceDetails:g(n.device),endpointDetails:p(n.device).then(function(e){return _.find(e,function(e){return e.config.id===n.config.id})})}).then(function(e){var n=e.deviceDetails,t=e.endpointDetails;return c.open({size:"sm",component:"c8yRemoteAccessEndpointModal",ariaLabelledBy:"modal-title",ariaDescribedBy:"modal-body",resolve:{rootDevice:_.constant(_.cloneDeep(n)),endpoint:_.constant(_.cloneDeep(t))}}).result});return e.then(function(){return d.success(y("Endpoint saved."))})},removeEndpoint:function(e){var n={title:y("Delete endpoint"),body:l.getString('You are about to delete endpoint "{{config.name}}" from device "{{device.name}}". Do you want to proceed?',e),labels:{ok:y("Delete")},status:"danger"},t=s(n);return t.then(function(){return a.remove(e.device,e.config)}).then(function(){return d.success(y("Endpoint deleted."))})},connectEndpoint:function(c){return a.getConnectionParams(c.device,c.config).then(function(e){var n=m(c);r.localStorage.setItem(n,JSON.stringify(e));var t="".concat(e.protocol.clientWindowPath,"?paramsId=").concat(n),o=r.open(t,n,e.protocol.clientWindowParams);return o.opener=null,f(o,n,e),_.assign(e,{paramsId:n,clientWindow:o})})},isLocalEndpoint:function(e){return _.includes(["localhost",a.DEFAULT_HOST],e.config.hostname)},resumeMonitoring:function(e){var n=m(e);if(r.localStorage.getItem(n)){var t=r.open("",n);if(t.opener=null,t)return function(e,n,t){return a.getConnectionParams(e.device,e.config).then(function(e){return f(n,t,e),_.assign(e,{paramsId:t,clientWindow:n})})}(e,t,n)}return o.resolve()}};function v(e){return t.childDevices(e)}function p(e){return g(e).then(function(n){return a.list(n).then(function(e){return _.map(e,function(e){return{device:n,config:e}})})})}function f(e,t,o){var c=i(function(){var n;try{n=JSON.parse(r.localStorage.getItem(t))}catch(e){n={}}_.assign(o,n),e.closed&&(i.cancel(c),r.localStorage.removeItem(t),o.status=void 0,o.clientWindow=void 0)},1e3)}function m(e){return"remoteConnection_".concat(e.device.id,"_").concat(e.config.id)}function g(e){return _.isObjectLike(e)?o.when(e):t.detail(e).then(n.getResData)}}return{$get:r,provideSettingsPage:function(){function e(e){return e.isAvailable({name:"cloud-remote-access",type:"MICROSERVICE"})}e.$inject=["c8yApplication"],t.addNavigation({parent:y("Settings"),name:y("Remote access"),path:"remoteAccessSettings",icon:"key",priority:2e3,showIf:e}),n.when("/remoteAccessSettings",{template:"<c8y-remote-access-settings />"})},provideDeviceTab:function(){n.when("/".concat(e),o)}}}e.$inject=["c8yViewsProvider","c8yNavigatorProvider","gettext"],angular.module("c8y.remoteAccess").provider("c8yRemoteAccessUI",e)}();
|
|
@@ -1,64 +1,67 @@
|
|
|
1
1
|
<div class="viewport-modal">
|
|
2
|
-
<div class="modal-header text-center separator">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
</div>
|
|
8
|
-
|
|
9
|
-
<div class="inner-scroll" id="modal-body">
|
|
10
|
-
<div
|
|
11
|
-
class="alert alert-warning"
|
|
12
|
-
ng-show="ruleTemplates.length == 0 && !loading.loading"
|
|
13
|
-
translate
|
|
14
|
-
>
|
|
15
|
-
No matching smart rules available.
|
|
2
|
+
<div class="modal-header text-center separator">
|
|
3
|
+
<h1 id="modal-title" class="h3">
|
|
4
|
+
<i class="c8y-icon c8y-icon-smart-rules c8y-icon-duocolor"></i>
|
|
5
|
+
{{ title | translate }}
|
|
6
|
+
</h1>
|
|
16
7
|
</div>
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
|
|
9
|
+
<div class="inner-scroll" id="modal-body">
|
|
10
|
+
<div
|
|
11
|
+
class="alert alert-warning"
|
|
12
|
+
ng-show="ruleTemplates.length == 0 && !loading.loading"
|
|
13
|
+
translate
|
|
14
|
+
>
|
|
15
|
+
No matching smart rules available.
|
|
16
|
+
</div>
|
|
17
|
+
<div class="d-flex a-i-center j-c-center" ng-show="loading.loading">
|
|
18
|
+
<c8y-loading></c8y-loading>
|
|
19
|
+
</div>
|
|
20
|
+
<div class="card-group-block smart-rule-templates-list interact-grid">
|
|
21
|
+
<button
|
|
22
|
+
ng-repeat="ruleTemplate in ruleTemplates"
|
|
23
|
+
class="col-md-4 col-sm-6 col-xs-12 card btn-clean"
|
|
24
|
+
ng-class="{ 'not-active': !ruleTemplate._active, interact: ruleTemplate._active }"
|
|
25
|
+
ng-click="createInstance(ruleTemplate)"
|
|
26
|
+
>
|
|
27
|
+
<div class="card-block text-center">
|
|
28
|
+
<div class="smart-list-icon-label">
|
|
29
|
+
<span class="dot"><i c8y-icon="{{ ruleTemplate.paramGroups.input.icon }}"></i></span>
|
|
30
|
+
<i c8y-icon="arrow-right"></i>
|
|
31
|
+
<span class="dot"><i c8y-icon="{{ ruleTemplate.paramGroups.output.icon }}"></i></span>
|
|
32
|
+
</div>
|
|
33
|
+
<div ng-if="ruleTemplate.label.full" class="text-pre-normal">
|
|
34
|
+
<span class="caption" title="{{ ruleTemplate.label.full | translate }}">
|
|
35
|
+
{{ ruleTemplate.label.full | translate }}
|
|
36
|
+
</span>
|
|
37
|
+
</div>
|
|
38
|
+
<div ng-if="!ruleTemplate.label.full" class="text-pre-normal">
|
|
39
|
+
<span class="caption caption-input" title="{{ ruleTemplate.label.input | translate }}">
|
|
40
|
+
{{ ruleTemplate.label.input | translate }}
|
|
41
|
+
</span>
|
|
42
|
+
<span
|
|
43
|
+
class="caption caption-output"
|
|
44
|
+
title="{{ ruleTemplate.label.output | translate }}"
|
|
45
|
+
>
|
|
46
|
+
{{ ruleTemplate.label.output | translate }}
|
|
47
|
+
</span>
|
|
48
|
+
</div>
|
|
49
|
+
<small class="text-muted text-pre-normal">
|
|
50
|
+
{{ ruleTemplate.description | translate }}
|
|
51
|
+
</small>
|
|
52
|
+
</div>
|
|
53
|
+
</button>
|
|
54
|
+
</div>
|
|
19
55
|
</div>
|
|
20
|
-
|
|
56
|
+
|
|
57
|
+
<div class="modal-footer">
|
|
21
58
|
<button
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
ng-click="
|
|
59
|
+
title="{{ 'Cancel' | translate }}"
|
|
60
|
+
type="button"
|
|
61
|
+
class="btn btn-default"
|
|
62
|
+
ng-click="cancel()"
|
|
26
63
|
>
|
|
27
|
-
|
|
28
|
-
<div class="smart-list-icon-label">
|
|
29
|
-
<span class="dot"><i c8y-icon="{{ ruleTemplate.paramGroups.input.icon }}"></i></span>
|
|
30
|
-
<i c8y-icon="arrow-right"></i>
|
|
31
|
-
<span class="dot"><i c8y-icon="{{ ruleTemplate.paramGroups.output.icon }}"></i></span>
|
|
32
|
-
</div>
|
|
33
|
-
<div ng-if="ruleTemplate.label.full" class="text-pre-normal">
|
|
34
|
-
<span class="caption" title="{{ ruleTemplate.label.full | translate }}">
|
|
35
|
-
{{ ruleTemplate.label.full | translate }}
|
|
36
|
-
</span>
|
|
37
|
-
</div>
|
|
38
|
-
<div ng-if="!ruleTemplate.label.full" class="text-pre-normal">
|
|
39
|
-
<span class="caption caption-input" title="{{ ruleTemplate.label.input | translate }}">
|
|
40
|
-
{{ ruleTemplate.label.input | translate }}
|
|
41
|
-
</span>
|
|
42
|
-
<span class="caption caption-output" title="{{ ruleTemplate.label.output | translate }}">
|
|
43
|
-
{{ ruleTemplate.label.output | translate }}
|
|
44
|
-
</span>
|
|
45
|
-
</div>
|
|
46
|
-
<small class="text-muted text-pre-normal">
|
|
47
|
-
{{ ruleTemplate.description | translate }}
|
|
48
|
-
</small>
|
|
49
|
-
</div>
|
|
64
|
+
{{ 'Cancel' | translate }}
|
|
50
65
|
</button>
|
|
51
66
|
</div>
|
|
52
67
|
</div>
|
|
53
|
-
|
|
54
|
-
<div class="modal-footer">
|
|
55
|
-
<button
|
|
56
|
-
title="{{ 'Cancel' | translate }}"
|
|
57
|
-
type="button"
|
|
58
|
-
class="btn btn-default"
|
|
59
|
-
ng-click="cancel()"
|
|
60
|
-
>
|
|
61
|
-
{{ 'Cancel' | translate }}
|
|
62
|
-
</button>
|
|
63
|
-
</div>
|
|
64
|
-
</div>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";!function(){function e(t,e,o,s){var n=this;function r(e){e.$blockScrolling=1/0}_.assign(n,{$onInit:function(){t.getPostRegistrationOptions().then(function(e){n.postRegistrationOptions=e}),e.changeTitle({title:o("LWM2M post-operations")}),n.aceEditorOptions={useWrapMode:!0,showGutter:!0,onLoad:r},n.EXAMPLE_COMMANDS=[{command:"discover",resource:"<objectId>",description:o("Discover all resources of Object 3300, the generic sensor.")},{command:"read",resource:"<objectId>/<objectInstanceId>/<resourceId>",description:o("Read maximum sensor value")},{command:"write",resource:"<objectId>/<objectInstanceId>/<resourceId> <applicationType>",description:o('Write application type "CO2" to device')},{command:"execute",resource:"<objectId>/<objectInstanceId>/<resourceId>",description:o("Reset min and max values")},{command:"observe",resource:"<objectId>/<objectInstanceId>/<resourceId>",description:o("Observe sensor value. Causes device to send every new sensor value")},{command:"writeattr",resource:"<objectId>/<objectInstanceId>/<resourceId> greater=<value>",description:o("Only send observations if sensor value is higher than 100")}]},setPostRegistrationOptions:function(e){t.setPostRegistrationOptions(e).then(function(){return s.success(o("Post-operations saved."))}).catch(function(){return s.danger(o("There was an error processing the post-operations."))})}})}e.$inject=["c8yLwm2m","c8yTitle","gettext","c8yAlert"],angular.module("c8y.lwm2m").component("c8yLwm2mPostOperations",{templateUrl:":::PLUGIN_PATH:::/postOperations/lwm2mPostOperations.html",controller:e,controllerAs:"vm"})}();
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
<c8y-breadcrumbs-set>
|
|
2
|
-
<c8y-breadcrumbs-item
|
|
3
|
-
label="{{ 'LWM2M post-operations' | translate }}"
|
|
4
|
-
icon="terminal"
|
|
5
|
-
></c8y-breadcrumbs-item>
|
|
6
|
-
<c8y-breadcrumbs-item
|
|
7
|
-
label="{{ 'Device types' | translate }}"
|
|
8
|
-
icon="c8y-device-protocols"
|
|
9
|
-
></c8y-breadcrumbs-item>
|
|
10
|
-
</c8y-breadcrumbs-set>
|
|
11
|
-
|
|
12
|
-
<div class="card content-fullpage card--grid grid__col--7-5--md grid__row--auto-min-content">
|
|
13
|
-
<div class="inner-scroll d-flex d-col bg-component">
|
|
14
|
-
<div class="card-header separator large-padding sticky-top">
|
|
15
|
-
<div class="card-title">
|
|
16
|
-
{{ 'Commands' | translate }}
|
|
17
|
-
</div>
|
|
18
|
-
<button
|
|
19
|
-
class="btn-help btn-help--sm m-l-4"
|
|
20
|
-
aria-label="{{ 'Help' | translate }}"
|
|
21
|
-
type="button"
|
|
22
|
-
uib-popover="{{
|
|
23
|
-
'You can enter a set of LWM2M shell commands. Each of them will be sent to every newly registered LWM2M device.'
|
|
24
|
-
| translate
|
|
25
|
-
}}"
|
|
26
|
-
popover-append-to-body="true"
|
|
27
|
-
popover-trigger="'focus'"
|
|
28
|
-
popover-placement="right"
|
|
29
|
-
></button>
|
|
30
|
-
</div>
|
|
31
|
-
<form name="optionsForm" novalidate class="d-flex d-col flex-grow">
|
|
32
|
-
<div
|
|
33
|
-
class="form-control fit-h"
|
|
34
|
-
ui-ace="vm.aceEditorOptions"
|
|
35
|
-
ng-model="vm.postRegistrationOptions.commands"
|
|
36
|
-
></div>
|
|
37
|
-
</form>
|
|
38
|
-
</div>
|
|
39
|
-
|
|
40
|
-
<div class="inner-scroll bg-level-1">
|
|
41
|
-
<div class="card-block p-t-56 large-padding">
|
|
42
|
-
<p class="m-b-16" translate>
|
|
43
|
-
You may use the following syntax for specifying post-registration actions:
|
|
44
|
-
</p>
|
|
45
|
-
<pre class="bg-level-0 text-pre-normal m-b-0">
|
|
46
|
-
<ul class="list-unstyled m-b-0">
|
|
47
|
-
<li class="m-16" ng-repeat="c in vm.EXAMPLE_COMMANDS">
|
|
48
|
-
<p class="text-muted"># {{c.description | translate}}</p>
|
|
49
|
-
<span class="text-danger">{{c.command}}</span>
|
|
50
|
-
<span class="text-muted">{{c.resource}}</span>
|
|
51
|
-
</li>
|
|
52
|
-
</ul>
|
|
53
|
-
</pre>
|
|
54
|
-
</div>
|
|
55
|
-
</div>
|
|
56
|
-
|
|
57
|
-
<div class="card-footer large-padding separator grid__col--fullspan">
|
|
58
|
-
<button
|
|
59
|
-
class="btn btn-primary"
|
|
60
|
-
title="{{ 'Save' | translate }}"
|
|
61
|
-
type="button"
|
|
62
|
-
ng-click="vm.setPostRegistrationOptions(vm.postRegistrationOptions.commands)"
|
|
63
|
-
ng-disabled="optionsForm.$invalid || optionsForm.$pristine"
|
|
64
|
-
>
|
|
65
|
-
{{ 'Save' | translate }}
|
|
66
|
-
</button>
|
|
67
|
-
</div>
|
|
68
|
-
</div>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";!function(){function t(t,o,n){var e="postoperations",i={parent:t("Device types"),name:t("LWM2M post-operations"),path:e,icon:"terminal",showIf:["c8yLwm2m",function(t){return t.showIf()}]},r={template:"<c8y-lwm2m-post-operations></c8y-lwm2m-post-operations>"};return{$get:function(){},initUi:function(){o.when("/".concat(e),r),n.addNavigation(i)}}}t.$inject=["gettext","c8yViewsProvider","c8yNavigatorProvider"],angular.module("c8y.lwm2m").provider("c8yLwm2mPostOperationsUi",t)}();
|