diff --git a/translate/translate.json b/translate/translate.json
index bcd7e757..e4898004 100644
--- a/translate/translate.json
+++ b/translate/translate.json
@@ -29883,7 +29883,7 @@
"zh-cht": "編輯裝置標籤",
"xloc": [
"default.handlebars->47->776",
- "default3.handlebars->35->773"
+ "default3.handlebars->35->772"
]
},
{
@@ -81445,7 +81445,7 @@
"default.handlebars->47->1380",
"default.handlebars->47->775",
"default3.handlebars->35->1366",
- "default3.handlebars->35->772"
+ "default3.handlebars->35->773"
]
},
{
diff --git a/views/default3.handlebars b/views/default3.handlebars
index 4a26d25e..88d560f8 100644
--- a/views/default3.handlebars
+++ b/views/default3.handlebars
@@ -6628,17 +6628,29 @@
} else if (op == 107) {
// Edit tags
var x = "Perform batch device tag operation" + '
';
- x += addHtmlFormFloating("Operation", '');
- x += addHtmlFormFloating("Tags", '');
+ x += addHtmlFormFloating("Operation", '');
+ x += addHtmlFormFloating("Tags", ''
setModalContent('xxAddAgent', "Edit Device Tags", x);
+ $('#dp10devicevalue').select2({
+ theme: 'bootstrap-5',
+ width: $( this ).data( 'width' ) ? $( this ).data( 'width' ) : $( this ).hasClass( 'w-100' ) ? '100%' : 'style',
+ placeholder: "Tag1, Tag2, Tag3",
+ closeOnSelect: false,
+ allowClear: true,
+ tokenSeparators: [','],
+ tags: true
+ });
showModal('xxAddAgentModal', 'idx_dlgOkButton', () => d2groupActionFunctionTagsExec());
} else if (op == 108) {
// Device notification
@@ -6718,12 +6730,13 @@
}
function d2groupActionFunctionTagsExec() {
- var chkNodeIds = getCheckedDevices(), op = Q('d2deviceop').value, optags = Q('dp10devicevalue').value;
+ var chkNodeIds = getCheckedDevices(), op = Q('d2deviceop').value, optags = [];
+ var tt = $('#dp10devicevalue').select2('data');
+ for (var i in tt) { optags.push(tt[i]['text'].trim()); }
if (op == 2) { // Set tags
- for (var i in chkNodeIds) { meshserver.send({ action: 'changedevice', nodeid: chkNodeIds[i], tags: optags }); }
+ for (var i in chkNodeIds) { meshserver.send({ action: 'changedevice', nodeid: chkNodeIds[i], tags: optags.join(',') }); }
} else {
var taggroup = [];
- optags = optags.split(',');
for (var i in optags) { var tname = optags[i].trim(); if ((tname.length > 0) && (tname.length < 64) && (taggroup.indexOf(tname) == -1)) { taggroup.push(tname); } }
for (var i in chkNodeIds) {
var nodeTags = null, tagChanges = false, n = getNodeFromId(chkNodeIds[i]);
@@ -9826,13 +9839,12 @@
if (v == null) v = '';
if (mode == 3) {
// Get a list of all possible device tags
- x = '