6 changed files with 1 additions and 266 deletions
@ -1,18 +0,0 @@ |
|||
/** |
|||
* Copyright © 2016-2020 The Thingsboard Authors |
|||
* |
|||
* Licensed under the Apache License, Version 2.0 (the "License"); |
|||
* you may not use this file except in compliance with the License. |
|||
* You may obtain a copy of the License at |
|||
* |
|||
* http://www.apache.org/licenses/LICENSE-2.0 |
|||
* |
|||
* Unless required by applicable law or agreed to in writing, software |
|||
* distributed under the License is distributed on an "AS IS" BASIS, |
|||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
* See the License for the specific language governing permissions and |
|||
* limitations under the License. |
|||
*/ |
|||
.state-gateway-config-dialog { |
|||
width: 600px; |
|||
} |
|||
@ -1,52 +0,0 @@ |
|||
<!-- |
|||
|
|||
Copyright © 2016-2020 The Thingsboard Authors |
|||
|
|||
Licensed under the Apache License, Version 2.0 (the "License"); |
|||
you may not use this file except in compliance with the License. |
|||
You may obtain a copy of the License at |
|||
|
|||
http://www.apache.org/licenses/LICENSE-2.0 |
|||
|
|||
Unless required by applicable law or agreed to in writing, software |
|||
distributed under the License is distributed on an "AS IS" BASIS, |
|||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
See the License for the specific language governing permissions and |
|||
limitations under the License. |
|||
|
|||
--> |
|||
|
|||
<md-dialog class="state-gateway-config-dialog"> |
|||
<md-toolbar> |
|||
<div class="md-toolbar-tools"> |
|||
<h2 translate translate-values='{ typeName: "{{vm.typeName | translate}}" }'> |
|||
gateway.title-show-config |
|||
</h2> |
|||
<span flex></span> |
|||
<md-button class="md-icon-button" |
|||
ng-click="vm.cancel()" |
|||
aria-label="{{'action.close'|translate}}"> |
|||
<ng-md-icon icon="close" aria-label="Close"></ng-md-icon> |
|||
</md-button> |
|||
</div> |
|||
</md-toolbar> |
|||
<md-dialog-content> |
|||
<div class="md-dialog-content"> |
|||
<div tb-expand-fullscreen fullscreen-zindex="100" expand-button-id="expand-button" layout="column"> |
|||
<div layout="row" layout-align="start center" class="tb-json-toolbar"> |
|||
<label ng-if="vm.isReadOnly" class="tb-title no-padding" translate>gateway.read-only</label> |
|||
<label ng-if="!vm.isReadOnly" class="tb-title no-padding" translate>gateway.read-write</label> |
|||
<span flex></span> |
|||
<md-button id="expand-button" aria-label="Fullscreen" |
|||
class="md-icon-button tb-md-32 tb-fullscreen-button-style"></md-button> |
|||
</div> |
|||
<tb-gateway-form device-name = "vm.deviceName" |
|||
is-read-only="vm.isReadOnly" |
|||
is-state="vm.isState"> |
|||
</tb-gateway-form> |
|||
|
|||
</div> |
|||
</div> |
|||
</md-dialog-content> |
|||
</md-dialog> |
|||
|
|||
@ -1,149 +0,0 @@ |
|||
/* |
|||
* Copyright © 2016-2020 The Thingsboard Authors |
|||
* |
|||
* Licensed under the Apache License, Version 2.0 (the "License"); |
|||
* you may not use this file except in compliance with the License. |
|||
* You may obtain a copy of the License at |
|||
* |
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
|||
* |
|||
* Unless required by applicable law or agreed to in writing, software |
|||
* distributed under the License is distributed on an "AS IS" BASIS, |
|||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
* See the License for the specific language governing permissions and |
|||
* limitations under the License. |
|||
*/ |
|||
import './state-gateway-form.scss'; |
|||
import './state-gateway-dialog.scss'; |
|||
/* eslint-disable import/no-unresolved, import/default */ |
|||
|
|||
import stateGatewayFormTemplate from './state-gateway-form.tpl.html'; |
|||
import stateGatewayDialogTemplate from "./state-gateway-dialog.tpl.html"; |
|||
|
|||
/* eslint-enable import/no-unresolved, import/default */ |
|||
|
|||
export default angular.module('thingsboard.directives.stateGatewayForm', []) |
|||
.directive('tbStateGatewayForm', StateGatewayForm) |
|||
.name; |
|||
|
|||
/*@ngInject*/ |
|||
function StateGatewayForm() { |
|||
return { |
|||
restrict: "E", |
|||
scope: true, |
|||
bindToController: { |
|||
disabled: '=ngDisabled', |
|||
keyPlaceholderText: '@?', |
|||
valuePlaceholderText: '@?', |
|||
noDataText: '@?', |
|||
formId: '=', |
|||
ctx: '=', |
|||
theForm: '=' |
|||
}, |
|||
controller: StateGatewayFormController, |
|||
controllerAs: 'vm', |
|||
templateUrl: stateGatewayFormTemplate |
|||
}; |
|||
|
|||
} |
|||
|
|||
/*@ngInject*/ |
|||
function StateGatewayFormController($scope, $mdDialog, $injector, $document, $mdExpansionPanel, $translate, types, entityService, utils) { |
|||
$scope.$mdExpansionPanel = $mdExpansionPanel; |
|||
let vm = this; |
|||
vm.isReadOnly = false; |
|||
vm.isState = true; |
|||
vm.isDashboard = false; |
|||
|
|||
$scope.$watch('vm.ctx', function() { |
|||
if (vm.ctx && vm.ctx.defaultSubscription) { |
|||
vm.settings = vm.ctx.settings; |
|||
if (vm.ctx.datasources && vm.ctx.datasources.length) { |
|||
vm.deviceName = vm.ctx.datasources[0].name; |
|||
vm.isDashboard = vm.deviceName ? true : false; |
|||
if (vm.ctx.settings) { |
|||
vm.isReadOnly = vm.ctx.settings.readOnly; |
|||
} |
|||
initializeConfig(); |
|||
} |
|||
} |
|||
}); |
|||
|
|||
|
|||
function updateWidgetDisplaying() { |
|||
if (vm.ctx && vm.ctx.$container) { |
|||
vm.changeAlignment = (vm.ctx.$container[0].offsetWidth <= 425); |
|||
} |
|||
} |
|||
|
|||
function initWidgetSettings() { |
|||
if (vm.settings.stateGatewayTitle && vm.settings.stateGatewayTitle.length) { |
|||
vm.stateGatewayTitle = utils.customTranslation(vm.settings.stateGatewayTitle, vm.settings.stateGatewayTitle); |
|||
} else { |
|||
vm.stateGatewayTitle = $translate.instant('gateway.state-title'); |
|||
} |
|||
vm.ctx.widgetActions = [vm.showConfig]; |
|||
vm.ctx.widgetTitle = vm.stateGatewayTitle; |
|||
} |
|||
|
|||
|
|||
function initializeConfig() { |
|||
updateWidgetDisplaying(); |
|||
initWidgetSettings(); |
|||
} |
|||
|
|||
$scope.$on('state-gateway-form-resize', function (event, formId) { |
|||
if (vm.formId == formId) { |
|||
updateWidgetDisplaying(); |
|||
} |
|||
}); |
|||
|
|||
updateWidgetDisplaying(); |
|||
|
|||
|
|||
|
|||
vm.showConfig = { |
|||
name: "gateway.show-config-tip", |
|||
show: true, |
|||
onAction: function($event) { |
|||
vm.openShowConfigDialog($event) |
|||
}, |
|||
icon: "visibility" |
|||
}; |
|||
|
|||
vm.openShowConfigDialog =($event) => { |
|||
if ($event) { |
|||
$event.stopPropagation(); |
|||
} |
|||
$mdDialog.show({ |
|||
controller: StateGatewayDialogController, |
|||
controllerAs: 'vm', |
|||
templateUrl: stateGatewayDialogTemplate, |
|||
parent: angular.element($document[0].body), |
|||
locals: { |
|||
deviceName: vm.deviceName, |
|||
isReadOnly: vm.isReadOnly, |
|||
isState: vm.isState |
|||
}, |
|||
bindToController: true, |
|||
targetEvent: $event, |
|||
fullscreen: true, |
|||
multiple: true |
|||
}).then(function() { |
|||
}, function () { |
|||
}); |
|||
} |
|||
|
|||
} |
|||
|
|||
|
|||
/*@ngInject*/ |
|||
function StateGatewayDialogController($scope, $mdDialog, deviceName, isReadOnly, isState) { |
|||
let vm = this; |
|||
vm.deviceName = deviceName; |
|||
vm.isReadOnly = isReadOnly; |
|||
vm.isState = isState; |
|||
vm.cancel = () => { |
|||
$mdDialog.hide(); |
|||
}; |
|||
} |
|||
@ -1,18 +0,0 @@ |
|||
/** |
|||
* Copyright © 2016-2020 The Thingsboard Authors |
|||
* |
|||
* Licensed under the Apache License, Version 2.0 (the "License"); |
|||
* you may not use this file except in compliance with the License. |
|||
* You may obtain a copy of the License at |
|||
* |
|||
* http://www.apache.org/licenses/LICENSE-2.0 |
|||
* |
|||
* Unless required by applicable law or agreed to in writing, software |
|||
* distributed under the License is distributed on an "AS IS" BASIS, |
|||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
* See the License for the specific language governing permissions and |
|||
* limitations under the License. |
|||
*/ |
|||
.state-gateway-form { |
|||
padding: 5px 5px 0; |
|||
} |
|||
@ -1,28 +0,0 @@ |
|||
<!-- |
|||
|
|||
Copyright © 2016-2020 The Thingsboard Authors |
|||
|
|||
Licensed under the Apache License, Version 2.0 (the "License"); |
|||
you may not use this file except in compliance with the License. |
|||
You may obtain a copy of the License at |
|||
|
|||
http://www.apache.org/licenses/LICENSE-2.0 |
|||
|
|||
Unless required by applicable law or agreed to in writing, software |
|||
distributed under the License is distributed on an "AS IS" BASIS, |
|||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
See the License for the specific language governing permissions and |
|||
limitations under the License. |
|||
|
|||
--> |
|||
<form name="stateGatewayConfiguration" class="state-gateway-form"> |
|||
<md-input-container class="md-block"> |
|||
<label>{{'gateway.gateway-name' | translate }}</label> |
|||
<input ng-if="vm.isDashboard" ng-disabled="true" type="text" ng-model="vm.deviceName" name="gatewayName"/> |
|||
</md-input-container> |
|||
<!-- <md-switch ng-model="vm.isReadOnly"--> |
|||
<!-- aria-label="{{ 'gateway.read-only' | translate }}">--> |
|||
<!-- {{'gateway.read-only' | translate }}--> |
|||
<!-- </md-switch>--> |
|||
|
|||
</form> |
|||
Loading…
Reference in new issue