Dmitriymush table columns assignment gateway (#2429)

* added: import of gateway value

* expressions changed

* fixed refactor rename

* changed key and value for translating

* feature/: description added to the list of columns assingment and could be imported/exported from now

* Delete package-lock.json

* Revert package-lock

Co-authored-by: Dmitriy Mushat <54553744+Dmitriymush@users.noreply.github.com>
This commit is contained in:
Igor Kulikov 2020-02-19 15:19:48 +02:00 committed by GitHub
parent ec2c435db2
commit 7c9f8d755f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 3603 additions and 6096 deletions

9638
ui/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1177,8 +1177,19 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device
let newEntity = { let newEntity = {
name: entityParameters.name, name: entityParameters.name,
type: entityParameters.type, type: entityParameters.type,
label: entityParameters.label label: entityParameters.label,
additionalInfo: {
description: entityParameters.description
}
}; };
if (entityType === types.entityType.device && entityParameters.gateway !== null) {
newEntity.additionalInfo = {
...newEntity.additionalInfo,
gateway: entityParameters.gateway
};
}
let saveEntityPromise = getEntitySavePromise(entityType, newEntity, config); let saveEntityPromise = getEntitySavePromise(entityType, newEntity, config);
saveEntityPromise.then(function success(response) { saveEntityPromise.then(function success(response) {

View File

@ -397,6 +397,14 @@ export default angular.module('thingsboard.types', [])
accessToken: { accessToken: {
name: 'import.column-type.access-token', name: 'import.column-type.access-token',
value: 'ACCESS_TOKEN' value: 'ACCESS_TOKEN'
},
isGateway: {
name: 'import.column-type.isgateway',
value: 'gateway'
},
description: {
name: 'import.column-type.description',
value: 'description'
} }
}, },
aliasEntityType: { aliasEntityType: {

View File

@ -122,10 +122,13 @@ export default function ImportDialogCsvController($scope, $mdDialog, toast, impo
ignoreErrors: true, ignoreErrors: true,
resendRequest: true resendRequest: true
}; };
for (var i = 0; i < importData.rows.length; i++) { for (var i = 0; i < importData.rows.length; i++) {
var entityData = { var entityData = {
name: "", name: "",
type: "", type: "",
description: "",
gateway: null,
label: "", label: "",
accessToken: "", accessToken: "",
attributes: { attributes: {
@ -166,6 +169,12 @@ export default function ImportDialogCsvController($scope, $mdDialog, toast, impo
case types.importEntityColumnType.label.value: case types.importEntityColumnType.label.value:
entityData.label = importData.rows[i][j]; entityData.label = importData.rows[i][j];
break; break;
case types.importEntityColumnType.isGateway.value:
entityData.gateway = importData.rows[i][j];
break;
case types.importEntityColumnType.description.value:
entityData.description = importData.rows[i][j];
break;
} }
} }
entitiesData.push(entityData); entitiesData.push(entityData);

View File

@ -44,6 +44,7 @@ function TableColumnsAssignmentController($scope, types, $timeout) {
vm.columnTypes.name = types.importEntityColumnType.name; vm.columnTypes.name = types.importEntityColumnType.name;
vm.columnTypes.type = types.importEntityColumnType.type; vm.columnTypes.type = types.importEntityColumnType.type;
vm.columnTypes.label = types.importEntityColumnType.label; vm.columnTypes.label = types.importEntityColumnType.label;
vm.columnTypes.description = types.importEntityColumnType.description;
switch (vm.entityType) { switch (vm.entityType) {
case types.entityType.device: case types.entityType.device:
@ -51,6 +52,7 @@ function TableColumnsAssignmentController($scope, types, $timeout) {
vm.columnTypes.serverAttribute = types.importEntityColumnType.serverAttribute; vm.columnTypes.serverAttribute = types.importEntityColumnType.serverAttribute;
vm.columnTypes.timeseries = types.importEntityColumnType.timeseries; vm.columnTypes.timeseries = types.importEntityColumnType.timeseries;
vm.columnTypes.accessToken = types.importEntityColumnType.accessToken; vm.columnTypes.accessToken = types.importEntityColumnType.accessToken;
vm.columnTypes.gateway = types.importEntityColumnType.isGateway;
break; break;
case types.entityType.asset: case types.entityType.asset:
vm.columnTypes.serverAttribute = types.importEntityColumnType.serverAttribute; vm.columnTypes.serverAttribute = types.importEntityColumnType.serverAttribute;
@ -58,12 +60,23 @@ function TableColumnsAssignmentController($scope, types, $timeout) {
break; break;
} }
$scope.isColumnTypeDiffers = function(columnType) {
return columnType !== types.importEntityColumnType.name.value &&
columnType !== types.importEntityColumnType.type.value &&
columnType !== types.importEntityColumnType.label.value &&
columnType !== types.importEntityColumnType.accessToken.value&&
columnType !== types.importEntityColumnType.isGateway.value&&
columnType !== types.importEntityColumnType.description.value;
};
$scope.$watch('vm.columns', function(newVal){ $scope.$watch('vm.columns', function(newVal){
if (newVal) { if (newVal) {
var isSelectName = false; var isSelectName = false;
var isSelectType = false; var isSelectType = false;
var isSelectLabel = false; var isSelectLabel = false;
var isSelectCredentials = false; var isSelectCredentials = false;
var isSelectGateway = false;
var isSelectDescription = false;
for (var i = 0; i < newVal.length; i++) { for (var i = 0; i < newVal.length; i++) {
switch (newVal[i].type) { switch (newVal[i].type) {
case types.importEntityColumnType.name.value: case types.importEntityColumnType.name.value:
@ -78,9 +91,14 @@ function TableColumnsAssignmentController($scope, types, $timeout) {
case types.importEntityColumnType.accessToken.value: case types.importEntityColumnType.accessToken.value:
isSelectCredentials = true; isSelectCredentials = true;
break; break;
case types.importEntityColumnType.isGateway.value:
isSelectGateway = true;
break;
case types.importEntityColumnType.description.value:
isSelectDescription = true;
} }
} }
if(isSelectName && isSelectType) { if (isSelectName && isSelectType) {
vm.theForm.$setDirty(); vm.theForm.$setDirty();
} else { } else {
vm.theForm.$setPristine(); vm.theForm.$setPristine();
@ -89,6 +107,8 @@ function TableColumnsAssignmentController($scope, types, $timeout) {
vm.columnTypes.name.disable = isSelectName; vm.columnTypes.name.disable = isSelectName;
vm.columnTypes.type.disable = isSelectType; vm.columnTypes.type.disable = isSelectType;
vm.columnTypes.label.disable = isSelectLabel; vm.columnTypes.label.disable = isSelectLabel;
vm.columnTypes.gateway.disable = isSelectGateway;
vm.columnTypes.description.disable = isSelectDescription;
if (angular.isDefined(vm.columnTypes.accessToken)) { if (angular.isDefined(vm.columnTypes.accessToken)) {
vm.columnTypes.accessToken.disable = isSelectCredentials; vm.columnTypes.accessToken.disable = isSelectCredentials;
} }

View File

@ -39,10 +39,7 @@
</td> </td>
<td md-cell> <td md-cell>
<md-input-container md-no-float <md-input-container md-no-float
ng-if="column.type != vm.columnTypes.name.value && ng-if="isColumnTypeDiffers(column.type)">
column.type != vm.columnTypes.type.value &&
column.type != vm.columnTypes.label.value &&
column.type != vm.columnTypes.accessToken.value">
<input required name="columnKeyName" <input required name="columnKeyName"
placeholder="{{ 'import.column-value' | translate }}" placeholder="{{ 'import.column-value' | translate }}"
ng-model="column.key" ng-model="column.key"

View File

@ -1247,7 +1247,9 @@
"server-attribute": "Server attribute", "server-attribute": "Server attribute",
"timeseries": "Timeseries", "timeseries": "Timeseries",
"entity-field": "Entity field", "entity-field": "Entity field",
"access-token": "Access token" "access-token": "Access token",
"isgateway": "Is Gateway",
"description": "Description"
}, },
"stepper-text":{ "stepper-text":{
"select-file": "Select a file", "select-file": "Select a file",