iobroker.telegram-menu 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/admin/css/style.css +5 -0
- package/admin/index_m.html +64 -69
- package/admin/js/component.js +2 -8
- package/admin/js/main.js +27 -7
- package/io-package.json +27 -27
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -33,6 +33,15 @@ You can create different groups with separate menus, and then assign users to th
|
|
|
33
33
|
Placeholder for the next version (at the beginning of the line):
|
|
34
34
|
### **WORK IN PROGRESS**
|
|
35
35
|
-->
|
|
36
|
+
### 0.6.2 (2023-08-14)
|
|
37
|
+
|
|
38
|
+
- Active Menu Output fixed
|
|
39
|
+
- change instance, user will be load from new instance
|
|
40
|
+
|
|
41
|
+
### 0.6.1 (2023-08-13)
|
|
42
|
+
|
|
43
|
+
- bug fixed style
|
|
44
|
+
|
|
36
45
|
### 0.6.0 (2023-08-13)
|
|
37
46
|
|
|
38
47
|
- checkbox for Telegram Users
|
package/admin/css/style.css
CHANGED
|
@@ -233,8 +233,13 @@ p[data-name="newline_checkbox"] {
|
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
.m p.description {
|
|
236
|
+
width: 100%;
|
|
236
237
|
margin: 0;
|
|
237
238
|
font-size: small;
|
|
238
239
|
text-decoration: underline;
|
|
239
240
|
color: #96d15a !important;
|
|
240
241
|
}
|
|
242
|
+
|
|
243
|
+
#group_UserInput div {
|
|
244
|
+
display: inline-block;
|
|
245
|
+
}
|
package/admin/index_m.html
CHANGED
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
<script type="text/javascript">
|
|
35
35
|
let _onChange
|
|
36
36
|
let menus;
|
|
37
|
-
let
|
|
37
|
+
let activeMenu;
|
|
38
38
|
let telegramInstance;
|
|
39
39
|
let userActiveCheckbox;
|
|
40
|
-
let
|
|
40
|
+
let usersInMenus = {}
|
|
41
41
|
let valUserFromTelegram
|
|
42
42
|
// This will be called by the admin adapter when the settings page loads
|
|
43
43
|
async function load(settings, onChange) {
|
|
@@ -45,25 +45,25 @@
|
|
|
45
45
|
if (!settings) return;
|
|
46
46
|
_onChange = onChange
|
|
47
47
|
menus = settings.users
|
|
48
|
-
|
|
48
|
+
activeMenu = settings.users[0]
|
|
49
49
|
userActiveCheckbox = settings.userActiveCheckbox
|
|
50
|
-
usersInGroup = settings.usersInGroup
|
|
50
|
+
if (settings.usersInGroup) usersInMenus = settings.usersInGroup
|
|
51
51
|
if (settings.instance) telegramInstance = settings.instance
|
|
52
52
|
else telegramInstance = "telegram.0"
|
|
53
53
|
console.log("Telegram Instance: " + settings.instance)
|
|
54
|
-
valUserFromTelegram = await getUsersFromTelegram(socket, this, telegramInstance,
|
|
54
|
+
valUserFromTelegram = await getUsersFromTelegram(socket, this, telegramInstance, usersInMenus)
|
|
55
55
|
|
|
56
|
-
createGroup("#group_list", settings.users,
|
|
56
|
+
createGroup("#group_list", settings.users, activeMenu, userActiveCheckbox, usersInMenus)
|
|
57
57
|
fillTable("#navigation", settings.data.nav, newTableRow_Nav, menus)
|
|
58
58
|
fillTableAction(settings.data.action)
|
|
59
|
-
showHideUserEntry(
|
|
59
|
+
showHideUserEntry(activeMenu)
|
|
60
60
|
setCheckbox(settings.checkbox)
|
|
61
|
-
generateSelectTrigger(
|
|
62
|
-
checkUpAndDownArrowBtn(
|
|
63
|
-
menuToSpan(
|
|
61
|
+
generateSelectTrigger(activeMenu)
|
|
62
|
+
checkUpAndDownArrowBtn(activeMenu)
|
|
63
|
+
menuToSpan(activeMenu)
|
|
64
64
|
disableEnableInputField("#checkboxNoValueFound", "#textNoEntry")
|
|
65
65
|
// When import from old Version import Username
|
|
66
|
-
buildUserSelection(valUserFromTelegram, menus,
|
|
66
|
+
buildUserSelection(valUserFromTelegram, menus, usersInMenus)
|
|
67
67
|
setInstanceSelect(telegramInstance)
|
|
68
68
|
translateAll()
|
|
69
69
|
|
|
@@ -116,20 +116,13 @@
|
|
|
116
116
|
$(".valCheckbox").each(function () {
|
|
117
117
|
var $this = $(this);
|
|
118
118
|
if ($this.attr('type') === 'checkbox') {
|
|
119
|
-
// obj.checkbox.push({ [$this.attr('id')]: $this.prop('checked') });
|
|
120
119
|
obj.checkbox[$this.attr('id')] = $this.prop('checked')
|
|
121
120
|
};
|
|
122
|
-
|
|
123
|
-
|
|
124
121
|
})
|
|
122
|
+
usersInMenus = {}
|
|
123
|
+
usersInMenus = getUserInMenus()
|
|
124
|
+
obj.usersInGroup = usersInMenus
|
|
125
125
|
|
|
126
|
-
const usersInGroup = {}
|
|
127
|
-
$("#group_UserInput input[type='checkbox']").each(function () {
|
|
128
|
-
const menu = $(this).parents().eq(2).attr("data-menu")
|
|
129
|
-
if (!usersInGroup[menu]) usersInGroup[menu] = []
|
|
130
|
-
if ($(this).prop("checked")) usersInGroup[menu].push($(this).attr("data-Menu"))
|
|
131
|
-
})
|
|
132
|
-
obj.usersInGroup = usersInGroup
|
|
133
126
|
const checkboxes = {}
|
|
134
127
|
$("#group_active_checkbox input").each(function () {
|
|
135
128
|
const user = $(this).attr("data-name")
|
|
@@ -138,12 +131,11 @@
|
|
|
138
131
|
obj.userActiveCheckbox = checkboxes
|
|
139
132
|
const tableDevices = table2Values(".saveTable");
|
|
140
133
|
if (isStringEmty(".isString")) {
|
|
141
|
-
|
|
142
134
|
obj.instance = $("#select_instance").val()
|
|
143
135
|
obj.data = tableDevices;
|
|
144
136
|
obj.users = menus
|
|
145
137
|
obj.startsides = generateStartside(menus)
|
|
146
|
-
generateSelectTrigger(
|
|
138
|
+
generateSelectTrigger(activeMenu)
|
|
147
139
|
console.log(obj)
|
|
148
140
|
callback(obj);
|
|
149
141
|
}
|
|
@@ -169,14 +161,14 @@
|
|
|
169
161
|
let newUser = $("#groupname").val().replace(" ", "_")
|
|
170
162
|
if (menus.indexOf(newUser) == -1) {
|
|
171
163
|
addNewGroup(menus, newUser, _onChange)
|
|
172
|
-
|
|
164
|
+
activeMenu = newUser
|
|
173
165
|
showUser(newUser, showHideUserCheckbox)
|
|
174
|
-
|
|
175
|
-
buildUserSelection(valUserFromTelegram, [newUser],
|
|
166
|
+
console.log(valUserFromTelegram)
|
|
167
|
+
buildUserSelection(valUserFromTelegram, [newUser], usersInMenus)
|
|
176
168
|
translateAll()
|
|
177
169
|
}
|
|
178
170
|
})
|
|
179
|
-
|
|
171
|
+
|
|
180
172
|
$(".adapter-container").on("change", ".userSelection", function () {
|
|
181
173
|
_onChange()
|
|
182
174
|
})
|
|
@@ -190,22 +182,21 @@
|
|
|
190
182
|
})
|
|
191
183
|
// Auf Confirm Group Ok reagieren
|
|
192
184
|
$("#dialog-confirm a.btn-set").on("click", function () {
|
|
193
|
-
let userdelete = $("#group_list .active").attr("name")
|
|
194
185
|
|
|
195
|
-
menus.splice(menus.indexOf(
|
|
186
|
+
menus.splice(menus.indexOf(activeMenu), 1)
|
|
196
187
|
$("#group_list .active").parent().remove()
|
|
197
|
-
$(`#tab-nav tbody[name="${
|
|
198
|
-
$(`#tab-action tbody[name="${
|
|
199
|
-
$(`#group_active_checkbox div.${
|
|
200
|
-
$(`#group_UserInput div.${
|
|
201
|
-
$(`#${
|
|
202
|
-
$(`.user_${
|
|
188
|
+
$(`#tab-nav tbody[name="${activeMenu}"]`).remove()
|
|
189
|
+
$(`#tab-action tbody[name="${activeMenu}"]`).remove()
|
|
190
|
+
$(`#group_active_checkbox div.${activeMenu}`).remove()
|
|
191
|
+
$(`#group_UserInput div.${activeMenu}`).remove()
|
|
192
|
+
$(`#${activeMenu}`).remove()
|
|
193
|
+
$(`.user_${activeMenu}`).remove()
|
|
203
194
|
|
|
204
195
|
// Nach dem Löschen den ersten User aktivieren
|
|
205
196
|
if (menus.length > 0) {
|
|
206
|
-
|
|
207
|
-
showUser(
|
|
208
|
-
}
|
|
197
|
+
activeMenu = menus[0]
|
|
198
|
+
showUser(activeMenu, showHideUserCheckbox)
|
|
199
|
+
} else menuToSpan("No User");
|
|
209
200
|
|
|
210
201
|
_onChange()
|
|
211
202
|
$("#dialog-confirm").hide()
|
|
@@ -215,18 +206,18 @@
|
|
|
215
206
|
})
|
|
216
207
|
// Click User, Show User Navigation, Action
|
|
217
208
|
$("#group_list").on("click", ".click_user", function () {
|
|
218
|
-
|
|
209
|
+
activeMenu = $(this).attr("name")
|
|
219
210
|
|
|
220
|
-
showUser(
|
|
211
|
+
showUser(activeMenu, showHideUserCheckbox)
|
|
221
212
|
// User active Button zeigen
|
|
222
|
-
showHideUserCheckbox(
|
|
223
|
-
generateSelectTrigger(
|
|
213
|
+
showHideUserCheckbox(activeMenu)
|
|
214
|
+
generateSelectTrigger(activeMenu)
|
|
224
215
|
})
|
|
225
216
|
|
|
226
217
|
// Edit Group
|
|
227
218
|
$("#editUser").click(function () {
|
|
228
219
|
$("#dialog-change-groupname").show()
|
|
229
|
-
$("#inputEditUser").val(
|
|
220
|
+
$("#inputEditUser").val(activeMenu)
|
|
230
221
|
})
|
|
231
222
|
// Check Group doesn´t exist
|
|
232
223
|
$("#inputEditUser").keyup(function () {
|
|
@@ -240,20 +231,20 @@
|
|
|
240
231
|
$("#dialog-change-groupname .btn-set").click(function () {
|
|
241
232
|
// ActiveUser aus der User List enfernen und die Änderung hinzufügen
|
|
242
233
|
menus = menus.filter(function (element) {
|
|
243
|
-
return element !=
|
|
234
|
+
return element != activeMenu
|
|
244
235
|
})
|
|
245
236
|
let renamedUser = $("#inputEditUser").val().replace(" ", "_")
|
|
246
|
-
$(`#group_list li a[name="${
|
|
247
|
-
$(`#table_nav tbody#${
|
|
248
|
-
$(`#tab-action div.user_${
|
|
249
|
-
$(`#group_UserInput div.${
|
|
250
|
-
$(`#group_UserInput input[name="${
|
|
251
|
-
$(`#group_active_checkbox div.${
|
|
252
|
-
$(`#group_active_checkbox div.${
|
|
253
|
-
$(`#group_active_checkbox input[data-name="${
|
|
254
|
-
$(`tbody[name="${
|
|
237
|
+
$(`#group_list li a[name="${activeMenu}"]`).html(renamedUser).attr("name", renamedUser)
|
|
238
|
+
$(`#table_nav tbody#${activeMenu}`).attr("id", renamedUser).attr("name", renamedUser).removeClass(`user_${activeMenu}`).addClass(`user_${renamedUser}`)
|
|
239
|
+
$(`#tab-action div.user_${activeMenu}`).removeClass(`user_${activeMenu}`).addClass(`user_${renamedUser}`)
|
|
240
|
+
$(`#group_UserInput div.${activeMenu}`).removeClass(activeMenu).addClass(renamedUser)
|
|
241
|
+
$(`#group_UserInput input[name="${activeMenu}"]`).attr("name", renamedUser)
|
|
242
|
+
$(`#group_active_checkbox div.${activeMenu}>span`).html(renamedUser + ' <span class="translate">activ</span>')
|
|
243
|
+
$(`#group_active_checkbox div.${activeMenu}`).removeClass(activeMenu).addClass(renamedUser)
|
|
244
|
+
$(`#group_active_checkbox input[data-name="${activeMenu}"]`).attr("data-name", renamedUser)
|
|
245
|
+
$(`tbody[name="${activeMenu}"]`).attr("name", renamedUser)
|
|
255
246
|
menus.push(renamedUser)
|
|
256
|
-
|
|
247
|
+
activeMenu = renamedUser
|
|
257
248
|
$("#dialog-change-groupname").hide()
|
|
258
249
|
_onChange()
|
|
259
250
|
})
|
|
@@ -274,7 +265,7 @@
|
|
|
274
265
|
} else if (activeBtn === "action") {
|
|
275
266
|
$("#btn_add_action").show()
|
|
276
267
|
$(".group_menu").show()
|
|
277
|
-
generateSelectTrigger(
|
|
268
|
+
generateSelectTrigger(activeMenu)
|
|
278
269
|
}
|
|
279
270
|
else {
|
|
280
271
|
$("#btn_add_action").hide()
|
|
@@ -284,8 +275,8 @@
|
|
|
284
275
|
})
|
|
285
276
|
//ANCHOR - New Row in Navigation
|
|
286
277
|
$(".adapter-container").on("click", ".btn_add_row", function () {
|
|
287
|
-
$(this).parent().parent().after(newTableRow_Nav(
|
|
288
|
-
checkUpAndDownArrowBtn(
|
|
278
|
+
$(this).parent().parent().after(newTableRow_Nav(activeMenu, menus))
|
|
279
|
+
checkUpAndDownArrowBtn(activeMenu)
|
|
289
280
|
})
|
|
290
281
|
|
|
291
282
|
|
|
@@ -299,7 +290,7 @@
|
|
|
299
290
|
//Delete Row
|
|
300
291
|
$(".adapter-container").on("click", ".deleteRow, .deleteEveryRow", function () {
|
|
301
292
|
$(this).parent().parent().remove()
|
|
302
|
-
checkUpAndDownArrowBtn(
|
|
293
|
+
checkUpAndDownArrowBtn(activeMenu)
|
|
303
294
|
_onChange()
|
|
304
295
|
generateNav()
|
|
305
296
|
})
|
|
@@ -308,10 +299,10 @@
|
|
|
308
299
|
// Change Events --------------------------------------------------------------------------------------
|
|
309
300
|
// Eventhandler for save change
|
|
310
301
|
$("#group_list").on("click", ".click-user", function () {
|
|
311
|
-
|
|
312
|
-
$("#btn-nav").attr("href", `#tab-nav-user-${
|
|
313
|
-
$("#btn_action").attr("href", `#tab-todo-user-${
|
|
314
|
-
$("adapter-container").load(`#tab-nav-user-${
|
|
302
|
+
activeMenu = $(this).attr("name")
|
|
303
|
+
$("#btn-nav").attr("href", `#tab-nav-user-${activeMenu}`)
|
|
304
|
+
$("#btn_action").attr("href", `#tab-todo-user-${activeMenu}`)
|
|
305
|
+
$("adapter-container").load(`#tab-nav-user-${activeMenu}`)
|
|
315
306
|
})
|
|
316
307
|
// update
|
|
317
308
|
$("#navigation").change(".value", function () {
|
|
@@ -454,7 +445,7 @@
|
|
|
454
445
|
result.picSendDelay.push($(this).val())
|
|
455
446
|
})
|
|
456
447
|
}
|
|
457
|
-
generatActionRow(
|
|
448
|
+
generatActionRow(activeMenu, action, result, rowToUpdate)
|
|
458
449
|
_onChange()
|
|
459
450
|
resetModal()
|
|
460
451
|
})
|
|
@@ -506,13 +497,13 @@
|
|
|
506
497
|
// Button Row up and down
|
|
507
498
|
$(".adapter-container").on("click", ".btn_up", function () {
|
|
508
499
|
$(this).parent().parent().insertBefore($(this).parent().parent().prev())
|
|
509
|
-
checkUpAndDownArrowBtn(
|
|
500
|
+
checkUpAndDownArrowBtn(activeMenu)
|
|
510
501
|
_onChange()
|
|
511
502
|
})
|
|
512
503
|
$(".adapter-container").on("click", ".btn_down", function (key) {
|
|
513
504
|
console.log("klick")
|
|
514
505
|
$(this).parent().parent().insertAfter($(this).parent().parent().next())
|
|
515
|
-
checkUpAndDownArrowBtn(
|
|
506
|
+
checkUpAndDownArrowBtn(activeMenu)
|
|
516
507
|
_onChange()
|
|
517
508
|
})
|
|
518
509
|
|
|
@@ -529,7 +520,7 @@
|
|
|
529
520
|
})
|
|
530
521
|
function findElementsToCopy(selektor, toDo) {
|
|
531
522
|
const $bodys = $(selektor).map((index, tbody) => {
|
|
532
|
-
if ($(tbody).attr("name") !=
|
|
523
|
+
if ($(tbody).attr("name") != activeMenu) return tbody
|
|
533
524
|
})
|
|
534
525
|
let tbody = $("<tbody>")
|
|
535
526
|
$bodys.each(function (index, $body) {
|
|
@@ -558,12 +549,12 @@
|
|
|
558
549
|
<td><a data-target="tab_action" class="editEntry modal-trigger btn-floating btn-small waves-effect waves-light green"><i class="material-icons">edit</i></a></td>`;
|
|
559
550
|
if (action == "nav") {
|
|
560
551
|
rowToCopy.append(buttonsNav)
|
|
561
|
-
$(`#${
|
|
562
|
-
checkUpAndDownArrowBtn(
|
|
552
|
+
$(`#${activeMenu}`).append(rowToCopy)
|
|
553
|
+
checkUpAndDownArrowBtn(activeMenu)
|
|
563
554
|
}
|
|
564
555
|
else {
|
|
565
556
|
rowToCopy.append(buttonsAction)
|
|
566
|
-
$(`#tab-action tbody[name="${
|
|
557
|
+
$(`#tab-action tbody[name="${activeMenu}"][data-name="${action}"]`).append(rowToCopy)
|
|
567
558
|
}
|
|
568
559
|
})
|
|
569
560
|
|
|
@@ -599,6 +590,10 @@
|
|
|
599
590
|
$(".adapter-container").on("click", ".click_user", function () {
|
|
600
591
|
$("#group_list").css("display", "none")
|
|
601
592
|
})
|
|
593
|
+
$(".adapter-container").on("change", "#select_instance", function () {
|
|
594
|
+
getNewValues(socket, this, $(this).val(), usersInMenus, menus)
|
|
595
|
+
_onChange()
|
|
596
|
+
})
|
|
602
597
|
})
|
|
603
598
|
</script>
|
|
604
599
|
</head>
|
package/admin/js/component.js
CHANGED
|
@@ -3,14 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
// Navigation----------------------------------------------------
|
|
5
5
|
//FIXME - Remove
|
|
6
|
-
function groupUserInput(menu
|
|
7
|
-
return /*html*/ `<div data-name="group" data-menu="${menu}" class="${menu} "
|
|
8
|
-
<!-- <label >
|
|
9
|
-
<input name="${menu}" spellcheck="false" type="text" value="${val}" class="isString" >
|
|
10
|
-
<span class="translate">Users for this Group, seperate with</span><span> ",".</span>
|
|
11
|
-
</label> -->
|
|
12
|
-
|
|
13
|
-
</div>`;
|
|
6
|
+
function groupUserInput(menu) {
|
|
7
|
+
return /*html*/ `<div data-name="group" data-menu="${menu}" class="${menu} "></div>`;
|
|
14
8
|
}
|
|
15
9
|
function userSelectionTelegram(user, menu) {
|
|
16
10
|
$(`#group_UserInput .${menu}`)
|
package/admin/js/main.js
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
|
-
/*global newUserBtn, ,navElement, userSelectionTelegram ,actionElement,createSelectTrigger,newTableRow_Action,newTableRow_Action,newTrInAction,userActivCheckbox,$, groupUserInput*/
|
|
1
|
+
/*global newUserBtn,getUsersFromTelegram ,navElement, userSelectionTelegram ,actionElement,createSelectTrigger,newTableRow_Action,newTableRow_Action,newTrInAction,userActivCheckbox,$, groupUserInput*/
|
|
2
2
|
/*eslint no-unused-vars: ["error", { "varsIgnorePattern": "disableEnableInputField|isStringEmty|generate|create|set|fill|reset|add|show|ins|table|get|new|show|checkValueModal|disable|checkUpAndDownArrowBtn|"}]*/
|
|
3
3
|
|
|
4
|
+
function getUserInMenus() {
|
|
5
|
+
const usersInMenus = {};
|
|
6
|
+
$("#group_UserInput input[type='checkbox']").each(function () {
|
|
7
|
+
let menu;
|
|
8
|
+
if (typeof $(this).parents().eq(2).attr("data-menu") === "string" && $(this).parents().eq(2).attr("data-menu"))
|
|
9
|
+
menu = $(this).parents().eq(2).attr("data-menu");
|
|
10
|
+
if (typeof menu == "string") {
|
|
11
|
+
if (!usersInMenus[menu]) usersInMenus[menu] = [];
|
|
12
|
+
if ($(this).prop("checked")) usersInMenus[menu].push($(this).attr("data-Menu"));
|
|
13
|
+
console.log(usersInMenus);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return usersInMenus;
|
|
17
|
+
}
|
|
18
|
+
async function getNewValues(socket, _this, telegramInstance, usersInGroup, menus) {
|
|
19
|
+
$(menus).each(function (key, menu) {
|
|
20
|
+
console.log(menu);
|
|
21
|
+
$(`#group_UserInput div[data-menu="${menu}"]`).empty();
|
|
22
|
+
});
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
const valUserFromTelegram = await getUsersFromTelegram(socket, _this, telegramInstance, usersInGroup);
|
|
25
|
+
|
|
26
|
+
const usersInMenus = getUserInMenus();
|
|
27
|
+
buildUserSelection(valUserFromTelegram, menus, usersInMenus);
|
|
28
|
+
}
|
|
4
29
|
function setInstanceSelect(instance) {
|
|
5
30
|
$("#select_instance").val(instance);
|
|
6
31
|
}
|
|
@@ -103,18 +128,13 @@ function createGroup(id, menu, activeGroup, userActiveCheckbox, usersInGroup) {
|
|
|
103
128
|
}
|
|
104
129
|
//ANCHOR - User von Telegram mit Checkbox
|
|
105
130
|
function buildUserSelection(state, menus, userinGroup) {
|
|
106
|
-
console.log("test");
|
|
107
131
|
const usersInTelegram = JSON.parse(state.val);
|
|
108
132
|
const userListe = [];
|
|
109
|
-
console.log(state);
|
|
110
|
-
console.log(menus);
|
|
111
133
|
for (const user in usersInTelegram) {
|
|
112
134
|
userListe.push(usersInTelegram[user]["firstName"]);
|
|
113
135
|
}
|
|
114
|
-
|
|
115
136
|
$(menus).each(function (key, menu) {
|
|
116
137
|
$(userListe).each(function (key, user) {
|
|
117
|
-
console.log(user, menu);
|
|
118
138
|
// @ts-ignore
|
|
119
139
|
userSelectionTelegram(user, menu);
|
|
120
140
|
});
|
|
@@ -125,7 +145,7 @@ function buildUserSelection(state, menus, userinGroup) {
|
|
|
125
145
|
function checkCheckbox(menu, userList, userinGroup) {
|
|
126
146
|
console.log(userinGroup);
|
|
127
147
|
$(userList).each(function (index, user) {
|
|
128
|
-
if (userinGroup[menu].includes(user)) {
|
|
148
|
+
if (userinGroup[menu] && userinGroup[menu].includes(user)) {
|
|
129
149
|
$(`#group_UserInput div.${menu} div[data-name="${user}"] input`).prop("checked", true);
|
|
130
150
|
}
|
|
131
151
|
});
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "telegram-menu",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.2",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.6.2": {
|
|
7
|
+
"en": "Active Menu Output fixed\nchange instance, user will be load from new instance",
|
|
8
|
+
"de": "Aktive Menüausgabe fest\nänderungsinstanz, benutzer wird aus neuer instanz geladen",
|
|
9
|
+
"ru": "Активное меню Выход фиксированный\nизменить пример, пользователь будет загружаться из нового экземпляра",
|
|
10
|
+
"pt": "Saída do menu ativo fixo\ninstância de mudança, o usuário será carregado de nova instância",
|
|
11
|
+
"nl": "Active Menu Output gerepareerd\nverandering instance, gebruiker zal worden geladen van nieuwe instanties",
|
|
12
|
+
"fr": "Active Menu Sortie fixe\nchangement d'instance, l'utilisateur sera chargé de la nouvelle instance",
|
|
13
|
+
"it": "Uscita menu attivo fisso\ncambiamento istanza, l'utente verrà caricato da nuova istanza",
|
|
14
|
+
"es": "Juego de menú activo\ninstancia de cambio, el usuario será cargado desde nueva instancia",
|
|
15
|
+
"pl": "Aktywny Menu Output\nna przykład, użytkownik może być obciążony nowymi instancjami",
|
|
16
|
+
"uk": "Активне меню Вихід фіксований\nзміна екземпляра, користувач буде завантажуватися з нового екземпляра",
|
|
17
|
+
"zh-cn": "积极产出\n例如,用户将从新情况中负荷"
|
|
18
|
+
},
|
|
19
|
+
"0.6.1": {
|
|
20
|
+
"en": "bug fixed style",
|
|
21
|
+
"de": "fehler behoben stil",
|
|
22
|
+
"ru": "баг фиксированный стиль",
|
|
23
|
+
"pt": "bug estilo fixo",
|
|
24
|
+
"nl": "quality over quantity (qoq) releases vertaling:",
|
|
25
|
+
"fr": "bug fixed style",
|
|
26
|
+
"it": "bug stile fisso",
|
|
27
|
+
"es": "estilo fijo",
|
|
28
|
+
"pl": "styl gry",
|
|
29
|
+
"uk": "виправлений стиль помилок",
|
|
30
|
+
"zh-cn": "b 固定格式"
|
|
31
|
+
},
|
|
6
32
|
"0.6.0": {
|
|
7
33
|
"en": "checkbox for Telegram Users\nstyling\nsmall fixes\nAdd Row Button in Nav for every Row\nMore Groups with the same User\nTrigger generates without saving",
|
|
8
34
|
"de": "checkbox für Telegram-Benutzer\nstyling\nkleine fixierungen\nFügen Sie Row Button in Nav für jede Row\nWeitere Gruppen mit demselben Benutzer\nTrigger erzeugt ohne Speicher",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "Powtórne teksty do podmenu poprawiły",
|
|
68
94
|
"uk": "Повернення тексту для підменю",
|
|
69
95
|
"zh-cn": "调整的分遣案文"
|
|
70
|
-
},
|
|
71
|
-
"0.4.0": {
|
|
72
|
-
"en": "change output value for getState\ncheckbox to disbale Text No Entry found in the settings #34\nsubmenu\n**changed!!!**, states are always set with ack false\nadapter does not restart when telegram restarts #35",
|
|
73
|
-
"de": "ausgabewert ändern für getState\ncheckbox zum Ausbalieren Text Kein Eintrag gefunden in den Einstellungen #34\nunterpositionen\ngeändert! zustände werden immer mit ack false gesetzt\nadapter startet nicht neu, wenn telegramm neu gestartet #35",
|
|
74
|
-
"ru": "изменить значение вывода для getState\ncheckbox на disbale Текст Не найдено записей в настройках #34\nподменю\nизменено! государства всегда установлены с ack false\nадаптер не перезапускается при перезагрузке телеграмм #35",
|
|
75
|
-
"pt": "mudar o valor de saída para getState\ncaixa de seleção para debalar Texto Nenhuma entrada encontrada nas configurações #34\nsubmenu\nmudou! estados são sempre definidos com ack false\nadaptador não reinicia quando o telegrama reinicia #35",
|
|
76
|
-
"nl": "veranderingswaarde voor het krijgen van\ncontrolebox om te disbaliseren Sms No Entry gevonden in de settings 34\nsubmenu\nverander. er zijn altijd valse staten\n#355",
|
|
77
|
-
"fr": "valeur de sortie de changement pour getState\ncheckbox to disbale Texte Aucune entrée trouvée dans les paramètres #34\nsous-menu\nchangé ! les états sont toujours fixés avec ack false\nadaptateur ne redémarre pas lorsque le télégramme redémarre #35",
|
|
78
|
-
"it": "cambio valore di uscita per getState\ncasella di controllo per sbilanciare Testo Nessuna Entrata trovata nelle impostazioni #34\nsottomenu\ncambiato! stati sono sempre impostati con ack falso\nadattatore non riavvia quando il telegramma riavvia #35",
|
|
79
|
-
"es": "cambio de valor de salida para getState\ncheckbox to disbale Texto No Entrada encontrada en la configuración #34\nsubmenú\n¡cambiado! estados siempre están establecidos con ack falso\nadaptador no se reinicia cuando el telegrama se reinicia #35",
|
|
80
|
-
"pl": "zmiana wartości wyjściowej\nskrzynia kontrolna Tekst No Entry znalazł się w ustawieniach #34\nsubmenu\nzmieniło się! wszystkie stany są zawsze ustawione jako fałszywe\nadaptacja nie rozpoczęła się, gdy telegram wznowił #35",
|
|
81
|
-
"uk": "змінити вихідне значення для getState\nчекбокс на дискбаль Текст No Entry знайдено в налаштуваннях #34\nсубмену\nзмінено! держави завжди встановлюються з невірним\nперехідник не перезавантажує при перезапусках телеграм #35",
|
|
82
|
-
"zh-cn": "b. 国家产出价值的变化\n核对箱 第34号活动\n分项\n改为: 各州总是有假肢。\n变通器在电图包中装有第35条时不会再接再厉。"
|
|
83
|
-
},
|
|
84
|
-
"0.3.0": {
|
|
85
|
-
"en": "add ack Flag\nCopy-Button to copy User-elements to activ User",
|
|
86
|
-
"de": "eine Seite hinzufügen\nCopy-Button zu kopieren Benutzerelemente zum Aktivieren",
|
|
87
|
-
"ru": "добавить ack Флаг\nCopy-Button для копирования Пользователи для активного пользователя",
|
|
88
|
-
"pt": "adicionar ack Flag\nCopiar botão para copiar Elementos de usuário para agir",
|
|
89
|
-
"nl": "ack Flag\nBegrepen. User-elements om User te acteren",
|
|
90
|
-
"fr": "ajouter le drapeau\nCopy-Button to copy Utilisateurs pour activer Utilisateur",
|
|
91
|
-
"it": "aggiungi una bandiera\nCopia pulsante per copiare Selezione utente per attivare l'Utente",
|
|
92
|
-
"es": "añadir ack Bandera\nCopiar-Button para copiar Elementos de usuario para activ Usuario",
|
|
93
|
-
"pl": "dodać flagę\nCopy-Button do kopienia Użytkowniki do aktywowania Użytkownicy",
|
|
94
|
-
"uk": "додати ack Прапор\nКопіювати кнопку Користувачі-елементи для активації Користувача",
|
|
95
|
-
"zh-cn": "增加包装滞后\n印本 使用器操作器"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|