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

9606
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 = {
name: entityParameters.name,
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);
saveEntityPromise.then(function success(response) {

View File

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

View File

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

View File

@ -44,6 +44,7 @@ function TableColumnsAssignmentController($scope, types, $timeout) {
vm.columnTypes.name = types.importEntityColumnType.name;
vm.columnTypes.type = types.importEntityColumnType.type;
vm.columnTypes.label = types.importEntityColumnType.label;
vm.columnTypes.description = types.importEntityColumnType.description;
switch (vm.entityType) {
case types.entityType.device:
@ -51,6 +52,7 @@ function TableColumnsAssignmentController($scope, types, $timeout) {
vm.columnTypes.serverAttribute = types.importEntityColumnType.serverAttribute;
vm.columnTypes.timeseries = types.importEntityColumnType.timeseries;
vm.columnTypes.accessToken = types.importEntityColumnType.accessToken;
vm.columnTypes.gateway = types.importEntityColumnType.isGateway;
break;
case types.entityType.asset:
vm.columnTypes.serverAttribute = types.importEntityColumnType.serverAttribute;
@ -58,12 +60,23 @@ function TableColumnsAssignmentController($scope, types, $timeout) {
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){
if (newVal) {
var isSelectName = false;
var isSelectType = false;
var isSelectLabel = false;
var isSelectCredentials = false;
var isSelectGateway = false;
var isSelectDescription = false;
for (var i = 0; i < newVal.length; i++) {
switch (newVal[i].type) {
case types.importEntityColumnType.name.value:
@ -78,6 +91,11 @@ function TableColumnsAssignmentController($scope, types, $timeout) {
case types.importEntityColumnType.accessToken.value:
isSelectCredentials = true;
break;
case types.importEntityColumnType.isGateway.value:
isSelectGateway = true;
break;
case types.importEntityColumnType.description.value:
isSelectDescription = true;
}
}
if (isSelectName && isSelectType) {
@ -89,6 +107,8 @@ function TableColumnsAssignmentController($scope, types, $timeout) {
vm.columnTypes.name.disable = isSelectName;
vm.columnTypes.type.disable = isSelectType;
vm.columnTypes.label.disable = isSelectLabel;
vm.columnTypes.gateway.disable = isSelectGateway;
vm.columnTypes.description.disable = isSelectDescription;
if (angular.isDefined(vm.columnTypes.accessToken)) {
vm.columnTypes.accessToken.disable = isSelectCredentials;
}

View File

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

View File

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