diff --git a/ui-ngx/src/app/shared/components/queue/queue-autocomplete.component.scss b/ui-ngx/src/app/shared/components/queue/queue-autocomplete.component.scss
new file mode 100644
index 0000000000..45a4ab9808
--- /dev/null
+++ b/ui-ngx/src/app/shared/components/queue/queue-autocomplete.component.scss
@@ -0,0 +1,29 @@
+/**
+ * Copyright © 2016-2022 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.
+ */
+
+::ng-deep {
+ .queue-option {
+ .mat-option-text {
+ display: inline;
+ }
+ .queue-option-description {
+ display: block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+ }
+}
diff --git a/ui-ngx/src/app/shared/components/queue/queue-autocomplete.component.ts b/ui-ngx/src/app/shared/components/queue/queue-autocomplete.component.ts
index 0caa487d66..897e041649 100644
--- a/ui-ngx/src/app/shared/components/queue/queue-autocomplete.component.ts
+++ b/ui-ngx/src/app/shared/components/queue/queue-autocomplete.component.ts
@@ -36,7 +36,7 @@ import { emptyPageData } from '@shared/models/page/page-data';
@Component({
selector: 'tb-queue-autocomplete',
templateUrl: './queue-autocomplete.component.html',
- styleUrls: [],
+ styleUrls: ['./queue-autocomplete.component.scss'],
providers: [{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => QueueAutocompleteComponent),
@@ -207,7 +207,10 @@ export class QueueAutocompleteComponent implements ControlValueAccessor, OnInit
getDescription(value) {
return value.additionalInfo?.description ? value.additionalInfo.description :
- `Submit Strategy: ${value.submitStrategy.type}, Processing Strategy: ${value.processingStrategy.type}`;
+ this.translate.instant(
+ 'queue.alt-description',
+ {submitStrategy: value.submitStrategy.type, processingStrategy: value.processingStrategy.type}
+ );
}
clear() {
diff --git a/ui-ngx/src/app/shared/models/queue.models.ts b/ui-ngx/src/app/shared/models/queue.models.ts
index 86bd99a19d..6c67b4db1b 100644
--- a/ui-ngx/src/app/shared/models/queue.models.ts
+++ b/ui-ngx/src/app/shared/models/queue.models.ts
@@ -43,6 +43,7 @@ export enum QueueProcessingStrategyTypes {
}
export interface QueueInfo extends BaseData {
+ generatedId?: string;
name: string;
packProcessingTimeout: number;
partitions: number;
diff --git a/ui-ngx/src/app/shared/models/tenant.model.ts b/ui-ngx/src/app/shared/models/tenant.model.ts
index 14c0d232df..33d1367c01 100644
--- a/ui-ngx/src/app/shared/models/tenant.model.ts
+++ b/ui-ngx/src/app/shared/models/tenant.model.ts
@@ -98,7 +98,7 @@ export function createTenantProfileConfiguration(type: TenantProfileType): Tenan
export interface TenantProfileData {
configuration: TenantProfileConfiguration;
- queueConfiguration?: QueueInfo;
+ queueConfiguration?: Array;
}
export interface TenantProfile extends BaseData {
diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json
index 93e1afe006..ff1f85b1f0 100644
--- a/ui-ngx/src/assets/locale/locale.constant-en_US.json
+++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json
@@ -2773,6 +2773,7 @@
"select-name": "Select queue name",
"name": "Name",
"name-required": "Queue name is required!",
+ "name-unique": "Queue name is not unique!",
"queue-required": "Queue is required!",
"topic-required": "Queue topic is required!",
"poll-interval-required": "Poll interval is required!",
@@ -2819,7 +2820,8 @@
"delete": "Delete queue",
"copyId": "Copy queue Id",
"idCopiedMessage": "Queue Id has been copied to clipboard",
- "description": "Description"
+ "description": "Description",
+ "alt-description": "Submit Strategy: {{submitStrategy}}, Processing Strategy: {{processingStrategy}}"
},
"tenant": {
"tenant": "Tenant",