iobroker.telegram-menu 2.2.3 → 2.3.0
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 +13 -1
- package/admin/build/index.js +49 -49
- package/admin/build/index.js.map +3 -3
- package/admin/css/button.css +3 -0
- package/admin/css/row-editor.css +1 -1
- package/admin/css/style.css +46 -25
- package/admin/css/textarea.css +7 -11
- package/admin/i18n/de/translations.json +124 -123
- package/admin/i18n/en/translations.json +3 -2
- package/admin/i18n/es/translations.json +3 -2
- package/admin/i18n/fr/translations.json +3 -2
- package/admin/i18n/it/translations.json +3 -2
- package/admin/i18n/nl/translations.json +3 -2
- package/admin/i18n/pl/translations.json +3 -2
- package/admin/i18n/pt/translations.json +3 -2
- package/admin/i18n/ru/translations.json +3 -2
- package/admin/i18n/uk/translations.json +3 -2
- package/admin/i18n/zh-cn/translations.json +3 -2
- package/admin/words.js +3 -1
- package/build/admin/src/config/helper.js +178 -0
- package/build/admin/src/config/helper.js.map +1 -0
- package/build/admin/src/lib/Utils.js +64 -0
- package/build/admin/src/lib/Utils.js.map +1 -0
- package/build/admin/src/types/event.js +3 -0
- package/build/admin/src/types/event.js.map +1 -0
- package/build/app/action.js +270 -0
- package/build/app/action.js.map +7 -0
- package/build/app/adapterManager.js +36 -0
- package/build/app/adapterManager.js.map +7 -0
- package/build/app/adapterStartMenuSend.js +59 -0
- package/build/app/adapterStartMenuSend.js.map +7 -0
- package/build/app/backMenu.js +110 -0
- package/build/app/backMenu.js.map +7 -0
- package/build/app/botAction.js +47 -0
- package/build/app/botAction.js.map +7 -0
- package/build/app/configVariables.js +56 -0
- package/build/app/configVariables.js.map +7 -0
- package/build/app/connection.js +42 -0
- package/build/app/connection.js.map +7 -0
- package/build/app/createState.js +42 -0
- package/build/app/createState.js.map +7 -0
- package/build/app/dynamicSwitch.js +69 -0
- package/build/app/dynamicSwitch.js.map +7 -0
- package/build/app/dynamicSwitchMenu.js +69 -0
- package/build/app/dynamicSwitchMenu.js.map +7 -0
- package/build/app/dynamicValue.js +80 -0
- package/build/app/dynamicValue.js.map +7 -0
- package/build/app/echarts.js +60 -0
- package/build/app/echarts.js.map +7 -0
- package/build/app/getstate.js +148 -0
- package/build/app/getstate.js.map +7 -0
- package/build/app/global.js +2 -0
- package/build/app/global.js.map +7 -0
- package/build/app/httpRequest.js +84 -0
- package/build/app/httpRequest.js.map +7 -0
- package/build/app/jsonTable.js +158 -0
- package/build/app/jsonTable.js.map +7 -0
- package/build/app/logging.js +46 -0
- package/build/app/logging.js.map +7 -0
- package/build/app/messageIds.js +116 -0
- package/build/app/messageIds.js.map +7 -0
- package/build/app/processData.js +198 -0
- package/build/app/processData.js.map +7 -0
- package/build/app/sendNav.js +49 -0
- package/build/app/sendNav.js.map +7 -0
- package/build/app/sendpic.js +95 -0
- package/build/app/sendpic.js.map +7 -0
- package/build/app/sentry.js +43 -0
- package/build/app/sentry.js.map +7 -0
- package/build/app/setStateIdsToListenTo.js +42 -0
- package/build/app/setStateIdsToListenTo.js.map +7 -0
- package/build/app/setstate.js +145 -0
- package/build/app/setstate.js.map +7 -0
- package/build/app/shoppingList.js +97 -0
- package/build/app/shoppingList.js.map +7 -0
- package/build/app/subMenu.js +281 -0
- package/build/app/subMenu.js.map +7 -0
- package/build/app/subscribeStates.js +41 -0
- package/build/app/subscribeStates.js.map +7 -0
- package/build/app/telegram.js +131 -0
- package/build/app/telegram.js.map +7 -0
- package/build/app/validateMenus.js +64 -0
- package/build/app/validateMenus.js.map +7 -0
- package/build/build/src/app/action.js +447 -0
- package/build/build/src/app/adapterStartMenuSend.js +37 -0
- package/build/build/src/app/backMenu.js +70 -0
- package/build/build/src/app/botAction.js +25 -0
- package/build/build/src/app/connection.js +19 -0
- package/build/build/src/app/createState.js +19 -0
- package/build/build/src/app/dynamicSwitch.js +51 -0
- package/build/build/src/app/dynamicValue.js +64 -0
- package/build/build/src/app/echarts.js +45 -0
- package/build/build/src/app/getstate.js +157 -0
- package/build/build/src/app/global.js +59 -0
- package/build/build/src/app/httpRequest.js +64 -0
- package/build/build/src/app/jsonTable.js +147 -0
- package/build/build/src/app/logging.js +13 -0
- package/build/build/src/app/messageIds.js +88 -0
- package/build/build/src/app/processData.js +208 -0
- package/build/build/src/app/sendNav.js +30 -0
- package/build/build/src/app/sendpic.js +69 -0
- package/build/build/src/app/setstate.js +126 -0
- package/build/build/src/app/shoppingList.js +72 -0
- package/build/build/src/app/subMenu.js +361 -0
- package/build/build/src/app/subscribeStates.js +25 -0
- package/build/build/src/app/telegram.js +101 -0
- package/build/build/src/lib/string.js +28 -0
- package/build/build/src/lib/time.js +23 -0
- package/build/build/src/lib/utilities.js +263 -0
- package/build/build/src/lib/utils.js +13 -0
- package/build/build/src/main.js +402 -0
- package/build/config/config.js +134 -0
- package/build/config/config.js.map +7 -0
- package/build/io-package.json +87 -87
- package/build/lib/action.js +22 -27
- package/build/lib/action.js.map +2 -2
- package/build/lib/adapterStartMenuSend.js +6 -6
- package/build/lib/adapterStartMenuSend.js.map +2 -2
- package/build/lib/appUtils.js +158 -0
- package/build/lib/appUtils.js.map +7 -0
- package/build/lib/appUtilsString.js +37 -0
- package/build/lib/appUtilsString.js.map +7 -0
- package/build/lib/backMenu.js +6 -6
- package/build/lib/backMenu.js.map +2 -2
- package/build/lib/botAction.js.map +1 -1
- package/build/lib/dynamicSwitch.js +10 -10
- package/build/lib/dynamicSwitch.js.map +2 -2
- package/build/lib/dynamicValue.js +6 -6
- package/build/lib/dynamicValue.js.map +2 -2
- package/build/lib/echarts.js +5 -6
- package/build/lib/echarts.js.map +2 -2
- package/build/lib/getstate.js +29 -30
- package/build/lib/getstate.js.map +2 -2
- package/build/lib/global.js +13 -0
- package/build/lib/global.js.map +2 -2
- package/build/lib/httpRequest.js +6 -7
- package/build/lib/httpRequest.js.map +2 -2
- package/build/lib/json.js +54 -0
- package/build/lib/json.js.map +7 -0
- package/build/lib/jsonTable.js +12 -15
- package/build/lib/jsonTable.js.map +2 -2
- package/build/lib/math.js +41 -0
- package/build/lib/math.js.map +7 -0
- package/build/lib/messageIds.js.map +1 -1
- package/build/lib/object.js +35 -0
- package/build/lib/object.js.map +7 -0
- package/build/lib/processData.js +22 -33
- package/build/lib/processData.js.map +3 -3
- package/build/lib/sendNav.js +7 -7
- package/build/lib/sendNav.js.map +2 -2
- package/build/lib/sendpic.js +23 -22
- package/build/lib/sendpic.js.map +2 -2
- package/build/lib/setstate.js +8 -8
- package/build/lib/setstate.js.map +2 -2
- package/build/lib/shoppingList.js +6 -6
- package/build/lib/shoppingList.js.map +2 -2
- package/build/lib/splitValues.js +63 -0
- package/build/lib/splitValues.js.map +7 -0
- package/build/lib/string.js +125 -3
- package/build/lib/string.js.map +2 -2
- package/build/lib/subMenu.js +66 -50
- package/build/lib/subMenu.js.map +2 -2
- package/build/lib/subscribeStates.js.map +1 -1
- package/build/lib/telegram.js +11 -2
- package/build/lib/telegram.js.map +2 -2
- package/build/lib/time.js +93 -0
- package/build/lib/time.js.map +7 -0
- package/build/lib/utilities.js +85 -281
- package/build/lib/utilities.js.map +3 -3
- package/build/lib/utils.js +66 -0
- package/build/lib/utils.js.map +7 -0
- package/build/main.js +154 -234
- package/build/main.js.map +3 -3
- package/build/src/app/action.js +239 -0
- package/build/src/app/action.js.map +1 -0
- package/build/src/app/adapterManager.js +12 -0
- package/build/src/app/adapterManager.js.map +1 -0
- package/build/src/app/adapterStartMenuSend.js +36 -0
- package/build/src/app/adapterStartMenuSend.js.map +1 -0
- package/build/src/app/backMenu.js +81 -0
- package/build/src/app/backMenu.js.map +1 -0
- package/build/src/app/botAction.js +25 -0
- package/build/src/app/botAction.js.map +1 -0
- package/build/src/app/configVariables.js +32 -0
- package/build/src/app/configVariables.js.map +1 -0
- package/build/src/app/connection.js +20 -0
- package/build/src/app/connection.js.map +1 -0
- package/build/src/app/createState.js +19 -0
- package/build/src/app/createState.js.map +1 -0
- package/build/src/app/dynamicSwitch.js +52 -0
- package/build/src/app/dynamicSwitch.js.map +1 -0
- package/build/src/app/dynamicSwitchMenu.js +52 -0
- package/build/src/app/dynamicSwitchMenu.js.map +1 -0
- package/build/src/app/dynamicValue.js +52 -0
- package/build/src/app/dynamicValue.js.map +1 -0
- package/build/src/app/echarts.js +33 -0
- package/build/src/app/echarts.js.map +1 -0
- package/build/src/app/getstate.js +122 -0
- package/build/src/app/getstate.js.map +1 -0
- package/build/src/app/global.js +8 -0
- package/build/src/app/global.js.map +1 -0
- package/build/src/app/httpRequest.js +55 -0
- package/build/src/app/httpRequest.js.map +1 -0
- package/build/src/app/jsonTable.js +147 -0
- package/build/src/app/jsonTable.js.map +1 -0
- package/build/src/app/logging.js +22 -0
- package/build/src/app/logging.js.map +1 -0
- package/build/src/app/messageIds.js +89 -0
- package/build/src/app/messageIds.js.map +1 -0
- package/build/src/app/processData.js +153 -0
- package/build/src/app/processData.js.map +1 -0
- package/build/src/app/sendNav.js +26 -0
- package/build/src/app/sendNav.js.map +1 -0
- package/build/src/app/sendpic.js +66 -0
- package/build/src/app/sendpic.js.map +1 -0
- package/build/src/app/sentry.js +18 -0
- package/build/src/app/sentry.js.map +1 -0
- package/build/src/app/setStateIdsToListenTo.js +17 -0
- package/build/src/app/setStateIdsToListenTo.js.map +1 -0
- package/build/src/app/setstate.js +114 -0
- package/build/src/app/setstate.js.map +1 -0
- package/build/src/app/shoppingList.js +74 -0
- package/build/src/app/shoppingList.js.map +1 -0
- package/build/src/app/subMenu.js +237 -0
- package/build/src/app/subMenu.js.map +1 -0
- package/build/src/app/subscribeStates.js +17 -0
- package/build/src/app/subscribeStates.js.map +1 -0
- package/build/src/app/telegram.js +83 -0
- package/build/src/app/telegram.js.map +1 -0
- package/build/src/app/validateMenus.js +30 -0
- package/build/src/app/validateMenus.js.map +1 -0
- package/build/src/config/config.js +100 -0
- package/build/src/config/config.js.map +1 -0
- package/build/src/lib/appUtils.js +126 -0
- package/build/src/lib/appUtils.js.map +1 -0
- package/build/src/lib/appUtilsString.js +13 -0
- package/build/src/lib/appUtilsString.js.map +1 -0
- package/build/src/lib/json.js +37 -0
- package/build/src/lib/json.js.map +1 -0
- package/build/src/lib/math.js +17 -0
- package/build/src/lib/math.js.map +1 -0
- package/build/src/lib/object.js +10 -0
- package/build/src/lib/object.js.map +1 -0
- package/build/src/lib/splitValues.js +35 -0
- package/build/src/lib/splitValues.js.map +1 -0
- package/build/src/lib/string.js +121 -0
- package/build/src/lib/string.js.map +1 -0
- package/build/src/lib/time.js +57 -0
- package/build/src/lib/time.js.map +1 -0
- package/build/src/lib/utilities.js +111 -0
- package/build/src/lib/utilities.js.map +1 -0
- package/build/src/lib/utils.js +37 -0
- package/build/src/lib/utils.js.map +1 -0
- package/build/src/main.js +332 -0
- package/build/src/main.js.map +1 -0
- package/build/src/test/setup.js +12 -0
- package/build/src/test/setup.js.map +1 -0
- package/build/src/types/types.js +3 -0
- package/build/src/types/types.js.map +1 -0
- package/build/test/integration.js +0 -1
- package/build/test/integration.js.map +1 -1
- package/build/test/mocha.setup.js +0 -1
- package/build/test/mocha.setup.js.map +1 -1
- package/build/test/package.js +0 -1
- package/build/test/package.js.map +1 -1
- package/build/test/setup.js +12 -0
- package/build/test/setup.js.map +1 -0
- package/build/test/test/appUtils.test.js +507 -0
- package/build/test/test/appUtils.test.js.map +1 -0
- package/build/test/test/appUtilsString.test.js +16 -0
- package/build/test/test/appUtilsString.test.js.map +1 -0
- package/build/test/test/math.test.js +33 -0
- package/build/test/test/math.test.js.map +1 -0
- package/build/test/test/object.test.js +54 -0
- package/build/test/test/object.test.js.map +1 -0
- package/build/test/test/string.test.js +361 -0
- package/build/test/test/string.test.js.map +1 -0
- package/build/test/test/time.test.js +201 -0
- package/build/test/test/time.test.js.map +1 -0
- package/build/test/test/utils.test.js +115 -0
- package/build/test/test/utils.test.js.map +1 -0
- package/build/types/types.js +17 -0
- package/build/types/types.js.map +7 -0
- package/io-package.json +32 -27
- package/package.json +14 -10
- package/build/main.test.js +0 -24
- package/build/main.test.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/shoppingList.ts"],
|
|
4
|
-
"sourcesContent": ["import { deleteMessageIds } from './messageIds.js';\nimport { createKeyboardFromJson } from './jsonTable.js';\nimport { sendToTelegramSubmenu, sendToTelegram } from './telegram.js';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates.js';\nimport { debug, error } from './logging.js';\nimport TelegramMenu from '../main.js';\nimport type { UserListWithChatId } from '
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAiC;AACjC,uBAAuC;AACvC,sBAAsD;AACtD,6BAA2D;AAC3D,qBAA6B;AAC7B,kBAAyB;AAQzB,MAAM,UAAsB,CAAC;AAE7B,IAAI,eAAe;AAEnB,eAAe,wCACX,KACA,kBACA,oBACA,iBACA,mBACa;AACb,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,QAAI,OAAO,MAAM,QAAQ,UAAU,QAAQ;AAC3C,QAAI,OAAO,MAAM;AACb,cAAQ,IAAI,MAAM,GAAG;AACrB,aAAO,MAAM,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,UAAU,EAAE;AACrD,eAAS,MAAM,CAAC;AAChB,iBAAW,MAAM,CAAC;AAClB,eAAS,MAAM,CAAC;AAChB,YAAM,MAAM,MAAM,sBAAsB,UAAU,QAAQ,8BAA8B,MAAM,EAAE;AAEhG,UAAI,KAAK;AACL,gBAAQ,IAAI,IAAI,EAAE,OAAe;AACjC,kCAAM,CAAC,EAAE,MAAM,uBAAuB,KAAK,OAAO,CAAC,CAAC;AACpD,YAAI,CAAC,cAAc;AACf,oBAAM,mEAA2C,EAAE,IAAI,sBAAsB,MAAM,GAAG,CAAC;AACvF,yBAAe;AAAA,QACnB;AACA,cAAM,MAAM;AAAA,UACR,UAAU,QAAQ,8BAA8B,MAAM;AAAA,UACtD;AAAA,UACA;AAAA,QACJ;AACA;AAAA,MACJ;AACA,gBAAM;AAAA,
|
|
4
|
+
"sourcesContent": ["import { deleteMessageIds } from './messageIds.js';\nimport { createKeyboardFromJson } from './jsonTable.js';\nimport { sendToTelegramSubmenu, sendToTelegram } from './telegram.js';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates.js';\nimport { debug, error } from './logging.js';\nimport TelegramMenu from '../main.js';\nimport type { UserListWithChatId } from '../types/types.js';\n\ninterface ObjectData {\n [key: string]: {\n idList: string;\n };\n}\nconst objData: ObjectData = {};\n\nlet isSubscribed = false;\n\nasync function shoppingListSubscribeStateAndDeleteItem(\n val: string | null,\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n let array, user, idList, instance, idItem, res;\n if (val != null) {\n array = val.split(':');\n user = array[0].replace('[', '').replace(']sList', '');\n idList = array[1];\n instance = array[2];\n idItem = array[3];\n res = await _this.getForeignObjectAsync(`alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}`);\n\n if (res) {\n objData[user] = { idList: idList };\n debug([{ text: 'alexa-shoppinglist.', val: idList }]);\n if (!isSubscribed) {\n await _subscribeAndUnSubscribeForeignStatesAsync({ id: `alexa-shoppinglist.${idList}` });\n isSubscribed = true;\n }\n await _this.setForeignStateAsync(\n `alexa2.${instance}.Lists.SHOPPING_LIST.items.${idItem}.#delete`,\n true,\n false,\n );\n return;\n }\n await sendToTelegram({\n user: user,\n textToSend: 'Cannot delete the Item',\n keyboard: undefined,\n instance: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n parse_mode: 'true',\n });\n debug([{ text: 'Cannot delete the Item' }]);\n return;\n }\n } catch (e: any) {\n error([\n { text: 'Error shoppingList:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nasync function deleteMessageAndSendNewShoppingList(\n instanceTelegram: string,\n userListWithChatID: UserListWithChatId[],\n userToSend: string,\n): Promise<void> {\n const _this = TelegramMenu.getInstance();\n try {\n const user = userToSend;\n const idList = objData[user].idList;\n await _subscribeAndUnSubscribeForeignStatesAsync({ id: `alexa-shoppinglist.${idList}` });\n await deleteMessageIds(user, userListWithChatID, instanceTelegram, 'last');\n\n const result = await _this.getForeignStateAsync(`alexa-shoppinglist.${idList}`);\n if (result && result.val) {\n debug([{ text: 'Result from Shoppinglist:', val: result }]);\n const newId = `alexa-shoppinglist.${idList}`;\n const resultJson = createKeyboardFromJson(result.val as string, null, newId, user);\n if (resultJson && resultJson.text && resultJson.keyboard) {\n sendToTelegramSubmenu(\n user,\n resultJson.text,\n resultJson.keyboard,\n instanceTelegram,\n userListWithChatID,\n 'true',\n );\n }\n }\n } catch (e: any) {\n error([\n { text: 'Error deleteMessageAndSendNewShoppingList:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nexport { shoppingListSubscribeStateAndDeleteItem, deleteMessageAndSendNewShoppingList };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAiC;AACjC,uBAAuC;AACvC,sBAAsD;AACtD,6BAA2D;AAC3D,qBAA6B;AAC7B,kBAAyB;AAQzB,MAAM,UAAsB,CAAC;AAE7B,IAAI,eAAe;AAEnB,eAAe,wCACX,KACA,kBACA,oBACA,iBACA,mBACa;AACb,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,QAAI,OAAO,MAAM,QAAQ,UAAU,QAAQ;AAC3C,QAAI,OAAO,MAAM;AACb,cAAQ,IAAI,MAAM,GAAG;AACrB,aAAO,MAAM,CAAC,EAAE,QAAQ,KAAK,EAAE,EAAE,QAAQ,UAAU,EAAE;AACrD,eAAS,MAAM,CAAC;AAChB,iBAAW,MAAM,CAAC;AAClB,eAAS,MAAM,CAAC;AAChB,YAAM,MAAM,MAAM,sBAAsB,UAAU,QAAQ,8BAA8B,MAAM,EAAE;AAEhG,UAAI,KAAK;AACL,gBAAQ,IAAI,IAAI,EAAE,OAAe;AACjC,kCAAM,CAAC,EAAE,MAAM,uBAAuB,KAAK,OAAO,CAAC,CAAC;AACpD,YAAI,CAAC,cAAc;AACf,oBAAM,mEAA2C,EAAE,IAAI,sBAAsB,MAAM,GAAG,CAAC;AACvF,yBAAe;AAAA,QACnB;AACA,cAAM,MAAM;AAAA,UACR,UAAU,QAAQ,8BAA8B,MAAM;AAAA,UACtD;AAAA,UACA;AAAA,QACJ;AACA;AAAA,MACJ;AACA,gBAAM,gCAAe;AAAA,QACjB;AAAA,QACA,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY;AAAA,MAChB,CAAC;AACD,gCAAM,CAAC,EAAE,MAAM,yBAAyB,CAAC,CAAC;AAC1C;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,uBAAuB,KAAK,EAAE,QAAQ;AAAA,MAC9C,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;AAEA,eAAe,oCACX,kBACA,oBACA,YACa;AACb,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI;AACA,UAAM,OAAO;AACb,UAAM,SAAS,QAAQ,IAAI,EAAE;AAC7B,cAAM,mEAA2C,EAAE,IAAI,sBAAsB,MAAM,GAAG,CAAC;AACvF,cAAM,oCAAiB,MAAM,oBAAoB,kBAAkB,MAAM;AAEzE,UAAM,SAAS,MAAM,MAAM,qBAAqB,sBAAsB,MAAM,EAAE;AAC9E,QAAI,UAAU,OAAO,KAAK;AACtB,gCAAM,CAAC,EAAE,MAAM,6BAA6B,KAAK,OAAO,CAAC,CAAC;AAC1D,YAAM,QAAQ,sBAAsB,MAAM;AAC1C,YAAM,iBAAa,yCAAuB,OAAO,KAAe,MAAM,OAAO,IAAI;AACjF,UAAI,cAAc,WAAW,QAAQ,WAAW,UAAU;AACtD;AAAA,UACI;AAAA,UACA,WAAW;AAAA,UACX,WAAW;AAAA,UACX;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,SAAS,GAAQ;AACb,8BAAM;AAAA,MACF,EAAE,MAAM,8CAA8C,KAAK,EAAE,QAAQ;AAAA,MACrE,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM;AAAA,IACnC,CAAC;AAAA,EACL;AACJ;",
|
|
6
6
|
"names": ["TelegramMenu"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var splitValues_exports = {};
|
|
20
|
+
__export(splitValues_exports, {
|
|
21
|
+
getBindingValues: () => getBindingValues,
|
|
22
|
+
getEchartsValues: () => getEchartsValues,
|
|
23
|
+
getMenuValues: () => getMenuValues,
|
|
24
|
+
getProcessTimeValues: () => getProcessTimeValues,
|
|
25
|
+
getSubmenuNumberValues: () => getSubmenuNumberValues
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(splitValues_exports);
|
|
28
|
+
var import_string = require("./string");
|
|
29
|
+
var import_appUtils = require("./appUtils");
|
|
30
|
+
const getMenuValues = (str) => {
|
|
31
|
+
const splitText = str.split(":");
|
|
32
|
+
return { cbData: splitText[1], menuToHandle: splitText[2], val: splitText[3] };
|
|
33
|
+
};
|
|
34
|
+
function getProcessTimeValues(substringExcludeSearch) {
|
|
35
|
+
var _a, _b;
|
|
36
|
+
const array = substringExcludeSearch.split(",");
|
|
37
|
+
return {
|
|
38
|
+
typeofTimestamp: (0, import_appUtils.getTypeofTimestamp)(array[0]),
|
|
39
|
+
timeString: (_a = array[1]) != null ? _a : "",
|
|
40
|
+
idString: (0, import_string.replaceAllItems)((_b = array[2]) != null ? _b : "", ["id:", "}", "'"])
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function getBindingValues(item) {
|
|
44
|
+
const array = item.split(":");
|
|
45
|
+
return { key: array[0], id: array[1] };
|
|
46
|
+
}
|
|
47
|
+
const getSubmenuNumberValues = (str) => {
|
|
48
|
+
const splitText = str.split(":");
|
|
49
|
+
return { callbackData: splitText[1], device: splitText[2], value: parseFloat(splitText[3]) };
|
|
50
|
+
};
|
|
51
|
+
const getEchartsValues = (preset) => {
|
|
52
|
+
const splitPreset = preset.split(".");
|
|
53
|
+
return `${splitPreset[0]}.${splitPreset[1]}`;
|
|
54
|
+
};
|
|
55
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
56
|
+
0 && (module.exports = {
|
|
57
|
+
getBindingValues,
|
|
58
|
+
getEchartsValues,
|
|
59
|
+
getMenuValues,
|
|
60
|
+
getProcessTimeValues,
|
|
61
|
+
getSubmenuNumberValues
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=splitValues.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/lib/splitValues.ts"],
|
|
4
|
+
"sourcesContent": ["import { replaceAllItems } from './string';\nimport { getTypeofTimestamp } from './appUtils';\n\nexport const getMenuValues = (str: string): { cbData: string; menuToHandle?: string; val?: string } => {\n const splitText = str.split(':');\n return { cbData: splitText[1], menuToHandle: splitText[2], val: splitText[3] };\n};\n\nexport function getProcessTimeValues(substringExcludeSearch: string): {\n typeofTimestamp: 'lc' | 'ts';\n timeString: string;\n idString: string;\n} {\n const array = substringExcludeSearch.split(','); //[\"lc\",\"(DD MM YYYY hh:mm:ss:sss)\",\"id:'ID'\"]\n return {\n typeofTimestamp: getTypeofTimestamp(array[0]),\n timeString: array[1] ?? '',\n idString: replaceAllItems(array[2] ?? '', ['id:', '}', \"'\"]),\n };\n}\n\nexport function getBindingValues(item: string): { key: string; id?: string } {\n const array = item.split(':');\n\n return { key: array[0], id: array[1] };\n}\n\nexport const getSubmenuNumberValues = (str: string): { callbackData: string; device: string; value: number } => {\n const splitText = str.split(':'); // submenu:number2-8-1-\u00B0C:SetMenuNumber:3\n return { callbackData: splitText[1], device: splitText[2], value: parseFloat(splitText[3]) };\n};\n\nexport const getEchartsValues = (preset: string): string => {\n const splitPreset = preset.split('.');\n return `${splitPreset[0]}.${splitPreset[1]}`;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgC;AAChC,sBAAmC;AAE5B,MAAM,gBAAgB,CAAC,QAAyE;AACnG,QAAM,YAAY,IAAI,MAAM,GAAG;AAC/B,SAAO,EAAE,QAAQ,UAAU,CAAC,GAAG,cAAc,UAAU,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE;AACjF;AAEO,SAAS,qBAAqB,wBAInC;AAZF;AAaI,QAAM,QAAQ,uBAAuB,MAAM,GAAG;AAC9C,SAAO;AAAA,IACH,qBAAiB,oCAAmB,MAAM,CAAC,CAAC;AAAA,IAC5C,aAAY,WAAM,CAAC,MAAP,YAAY;AAAA,IACxB,cAAU,gCAAgB,WAAM,CAAC,MAAP,YAAY,IAAI,CAAC,OAAO,KAAK,GAAG,CAAC;AAAA,EAC/D;AACJ;AAEO,SAAS,iBAAiB,MAA4C;AACzE,QAAM,QAAQ,KAAK,MAAM,GAAG;AAE5B,SAAO,EAAE,KAAK,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;AACzC;AAEO,MAAM,yBAAyB,CAAC,QAAyE;AAC5G,QAAM,YAAY,IAAI,MAAM,GAAG;AAC/B,SAAO,EAAE,cAAc,UAAU,CAAC,GAAG,QAAQ,UAAU,CAAC,GAAG,OAAO,WAAW,UAAU,CAAC,CAAC,EAAE;AAC/F;AAEO,MAAM,mBAAmB,CAAC,WAA2B;AACxD,QAAM,cAAc,OAAO,MAAM,GAAG;AACpC,SAAO,GAAG,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC;AAC9C;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/build/lib/string.js
CHANGED
|
@@ -18,12 +18,134 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var string_exports = {};
|
|
20
20
|
__export(string_exports, {
|
|
21
|
-
|
|
21
|
+
cleanUpString: () => cleanUpString,
|
|
22
|
+
decomposeText: () => decomposeText,
|
|
23
|
+
getNewline: () => getNewline,
|
|
24
|
+
getValueToExchange: () => getValueToExchange,
|
|
25
|
+
isBooleanString: () => isBooleanString,
|
|
26
|
+
isEmptyString: () => isEmptyString,
|
|
27
|
+
isNonEmptyString: () => isNonEmptyString,
|
|
28
|
+
isString: () => isString,
|
|
29
|
+
jsonString: () => jsonString,
|
|
30
|
+
pad: () => pad,
|
|
31
|
+
parseJSON: () => parseJSON,
|
|
32
|
+
removeQuotes: () => removeQuotes,
|
|
33
|
+
replaceAll: () => replaceAll,
|
|
34
|
+
replaceAllItems: () => replaceAllItems,
|
|
35
|
+
stringReplacer: () => stringReplacer
|
|
22
36
|
});
|
|
23
37
|
module.exports = __toCommonJS(string_exports);
|
|
24
|
-
|
|
38
|
+
var import_config = require("../config/config");
|
|
39
|
+
var import_utils = require("./utils");
|
|
40
|
+
var import_logging = require("../app/logging");
|
|
41
|
+
const jsonString = (val) => JSON.stringify(val);
|
|
42
|
+
function parseJSON(val, adapter) {
|
|
43
|
+
try {
|
|
44
|
+
return { json: JSON.parse(val), isValidJson: true };
|
|
45
|
+
} catch (e) {
|
|
46
|
+
if (adapter) {
|
|
47
|
+
(0, import_logging.errorLogger)("Error parseJSON:", e, adapter);
|
|
48
|
+
}
|
|
49
|
+
return { json: val, isValidJson: false };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const replaceAll = (text, searchValue, replaceValue) => {
|
|
53
|
+
const escapedSearchValue = searchValue.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
54
|
+
return text.replace(new RegExp(escapedSearchValue, "g"), replaceValue);
|
|
55
|
+
};
|
|
56
|
+
const replaceAllItems = (text, searched) => {
|
|
57
|
+
searched.forEach((item) => {
|
|
58
|
+
if (typeof item === "string") {
|
|
59
|
+
text = replaceAll(text, item, "");
|
|
60
|
+
} else {
|
|
61
|
+
text = replaceAll(text, item.search, item.val);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
return text;
|
|
65
|
+
};
|
|
66
|
+
const removeQuotes = (text) => text.replace(/['"]/g, "");
|
|
67
|
+
const cleanUpString = (text) => {
|
|
68
|
+
if (!text) {
|
|
69
|
+
return "";
|
|
70
|
+
}
|
|
71
|
+
return text.replace(/^['"]|['"]$/g, "").replace(/\\n/g, "\n").replace(/ \\\n/g, "\n").replace(/\\(?!n)/g, "");
|
|
72
|
+
};
|
|
73
|
+
function decomposeText(text, firstSearch, secondSearch) {
|
|
74
|
+
const startindex = text.indexOf(firstSearch);
|
|
75
|
+
const endindex = text.indexOf(secondSearch, startindex);
|
|
76
|
+
const substring = text.substring(startindex, endindex + secondSearch.length);
|
|
77
|
+
const substringExcludedSearch = stringReplacer(substring, [firstSearch, secondSearch]);
|
|
78
|
+
const textWithoutSubstring = text.replace(substring, "").trim();
|
|
79
|
+
return {
|
|
80
|
+
startindex,
|
|
81
|
+
endindex,
|
|
82
|
+
substring,
|
|
83
|
+
textExcludeSubstring: textWithoutSubstring,
|
|
84
|
+
substringExcludeSearch: substringExcludedSearch
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
const getValueToExchange = (adapter, textToSend, val) => {
|
|
88
|
+
var _a;
|
|
89
|
+
if (textToSend.includes(import_config.config.change.start)) {
|
|
90
|
+
const { start, end, command } = import_config.config.change;
|
|
91
|
+
const { startindex, endindex, substring } = decomposeText(textToSend, start, end);
|
|
92
|
+
const modifiedString = replaceAll(substring, "'", '"').replace(command, "");
|
|
93
|
+
const { json, isValidJson } = parseJSON(modifiedString);
|
|
94
|
+
if (isValidJson) {
|
|
95
|
+
return {
|
|
96
|
+
newValue: (_a = json[String(val)]) != null ? _a : val,
|
|
97
|
+
textToSend: textToSend.substring(0, startindex) + textToSend.substring(endindex + 1),
|
|
98
|
+
error: false
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
adapter.log.error(`There is a error in your input: ${modifiedString}`);
|
|
102
|
+
return { newValue: val, textToSend, error: true };
|
|
103
|
+
}
|
|
104
|
+
return { textToSend, newValue: val, error: false };
|
|
105
|
+
};
|
|
106
|
+
const isString = (value) => typeof value === "string";
|
|
107
|
+
function stringReplacer(substring, valueToReplace) {
|
|
108
|
+
if (typeof valueToReplace[0] === "string") {
|
|
109
|
+
valueToReplace.forEach((item) => {
|
|
110
|
+
substring = substring.replace(item, "");
|
|
111
|
+
});
|
|
112
|
+
return substring;
|
|
113
|
+
}
|
|
114
|
+
valueToReplace.forEach(({ val, newValue }) => {
|
|
115
|
+
substring = substring.replace(val, newValue);
|
|
116
|
+
});
|
|
117
|
+
return substring;
|
|
118
|
+
}
|
|
119
|
+
const pad = (value, length = 2) => {
|
|
120
|
+
if (value < 0) {
|
|
121
|
+
return `-${(value * -1).toString().padStart(length - 1, "0")}`;
|
|
122
|
+
}
|
|
123
|
+
return value.toString().padStart(length, "0");
|
|
124
|
+
};
|
|
125
|
+
function getNewline(newline) {
|
|
126
|
+
return (0, import_utils.isTruthy)(newline) ? "\n" : "";
|
|
127
|
+
}
|
|
128
|
+
function isBooleanString(str) {
|
|
129
|
+
return str === "true" || str === "false";
|
|
130
|
+
}
|
|
131
|
+
const isNonEmptyString = (str) => str.trim() !== "";
|
|
132
|
+
const isEmptyString = (str) => str.trim() === "";
|
|
25
133
|
// Annotate the CommonJS export names for ESM import in node:
|
|
26
134
|
0 && (module.exports = {
|
|
27
|
-
|
|
135
|
+
cleanUpString,
|
|
136
|
+
decomposeText,
|
|
137
|
+
getNewline,
|
|
138
|
+
getValueToExchange,
|
|
139
|
+
isBooleanString,
|
|
140
|
+
isEmptyString,
|
|
141
|
+
isNonEmptyString,
|
|
142
|
+
isString,
|
|
143
|
+
jsonString,
|
|
144
|
+
pad,
|
|
145
|
+
parseJSON,
|
|
146
|
+
removeQuotes,
|
|
147
|
+
replaceAll,
|
|
148
|
+
replaceAllItems,
|
|
149
|
+
stringReplacer
|
|
28
150
|
});
|
|
29
151
|
//# sourceMappingURL=string.js.map
|
package/build/lib/string.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/string.ts"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import { config } from '../config/config';\nimport type {\n Adapter,\n BooleanString,\n DecomposeTextReturnType,\n ExchangeValueReturn,\n PrimitiveType,\n StringReplacerObj,\n} from '../types/types';\nimport { isTruthy } from './utils';\nimport { errorLogger } from '../app/logging';\n\nexport const jsonString = (val?: string | number | boolean | object | null): string => JSON.stringify(val);\n\nexport function parseJSON<T>(\n val: string,\n adapter?: Adapter,\n): { json: string; isValidJson: false } | { json: T; isValidJson: true } {\n try {\n return { json: JSON.parse(val) as T, isValidJson: true };\n } catch (e) {\n if (adapter) {\n errorLogger('Error parseJSON:', e, adapter);\n }\n return { json: val, isValidJson: false };\n }\n}\n\nexport const replaceAll = (text: string, searchValue: string, replaceValue: string): string => {\n const escapedSearchValue = searchValue.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'); // Escape-Sonderzeichen\n return text.replace(new RegExp(escapedSearchValue, 'g'), replaceValue);\n};\n\nexport const replaceAllItems = (text: string, searched: (string | { search: string; val: string })[]): string => {\n searched.forEach(item => {\n if (typeof item === 'string') {\n text = replaceAll(text, item, '');\n } else {\n text = replaceAll(text, item.search, item.val);\n }\n });\n return text;\n};\n\nexport const removeQuotes = (text: string): string => text.replace(/['\"]/g, '');\n\nexport const cleanUpString = (text?: string): string => {\n if (!text) {\n return '';\n }\n return text\n .replace(/^['\"]|['\"]$/g, '') // Entferne Anf\u00FChrungszeichen am Anfang/Ende\n .replace(/\\\\n/g, '\\n') // Ersetze \\n durch einen echten Zeilenumbruch\n .replace(/ \\\\\\n/g, '\\n') // Ersetze \\n mit Leerzeichen davor durch einen echten Zeilenumbruch\n .replace(/\\\\(?!n)/g, ''); // Entferne alle Backslashes, die nicht von einem 'n' gefolgt werden\n};\n\nexport function decomposeText(text: string, firstSearch: string, secondSearch: string): DecomposeTextReturnType {\n const startindex = text.indexOf(firstSearch);\n const endindex = text.indexOf(secondSearch, startindex);\n const substring = text.substring(startindex, endindex + secondSearch.length);\n const substringExcludedSearch = stringReplacer(substring, [firstSearch, secondSearch]);\n const textWithoutSubstring = text.replace(substring, '').trim();\n return {\n startindex,\n endindex,\n substring,\n textExcludeSubstring: textWithoutSubstring,\n substringExcludeSearch: substringExcludedSearch,\n };\n}\n// TODO : Move to utils\nexport const getValueToExchange = (adapter: Adapter, textToSend: string, val: PrimitiveType): ExchangeValueReturn => {\n //TODO Use JSON => change{\"true\":\"W\u00E4rmepumpe ist verbunden\",\"false\":\"W\u00E4rmepumpe ist nicht verbunden\"}\n if (textToSend.includes(config.change.start)) {\n const { start, end, command } = config.change;\n const { startindex, endindex, substring } = decomposeText(textToSend, start, end); // change{\"true\":\"an\",\"false\":\"aus\"}\n\n const modifiedString = replaceAll(substring, \"'\", '\"').replace(command, ''); // {\"true\":\"an\",\"false\":\"aus\"}\n\n const { json, isValidJson } = parseJSON<Record<string, string>>(modifiedString);\n\n if (isValidJson) {\n return {\n newValue: json[String(val)] ?? val,\n textToSend: textToSend.substring(0, startindex) + textToSend.substring(endindex + 1),\n error: false,\n };\n }\n adapter.log.error(`There is a error in your input: ${modifiedString}`);\n return { newValue: val, textToSend, error: true };\n }\n return { textToSend, newValue: val, error: false };\n};\n\nexport const isString = (value: unknown): value is string => typeof value === 'string';\n\nexport function stringReplacer(substring: string, valueToReplace: string[] | StringReplacerObj[]): string {\n if (typeof valueToReplace[0] === 'string') {\n (valueToReplace as string[]).forEach(item => {\n substring = substring.replace(item, '');\n });\n return substring;\n }\n\n (valueToReplace as StringReplacerObj[]).forEach(({ val, newValue }) => {\n substring = substring.replace(val, newValue);\n });\n return substring;\n}\n\nexport const pad = (value: number, length: number = 2): string => {\n if (value < 0) {\n return `-${(value * -1).toString().padStart(length - 1, '0')}`;\n }\n return value.toString().padStart(length, '0');\n};\n\nexport function getNewline(newline: BooleanString): '' | '\\n' {\n return isTruthy(newline) ? '\\n' : '';\n}\n\nexport function isBooleanString(str: string): boolean {\n return str === 'true' || str === 'false';\n}\n\nexport const isNonEmptyString = (str: string): boolean => str.trim() !== '';\nexport const isEmptyString = (str: string): boolean => str.trim() === '';\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/lib/subMenu.js
CHANGED
|
@@ -31,17 +31,14 @@ var import_messageIds = require("./messageIds");
|
|
|
31
31
|
var import_dynamicSwitch = require("./dynamicSwitch");
|
|
32
32
|
var import_logging = require("./logging");
|
|
33
33
|
var import_console = require("console");
|
|
34
|
+
var import_global = require("./global");
|
|
35
|
+
var import_main = require("../main");
|
|
34
36
|
let step = 0;
|
|
35
37
|
let returnIDToListenTo = [];
|
|
36
38
|
let splittedData = [];
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
splittedText = obj.calledValue.split(`"`)[1].split(":");
|
|
41
|
-
} else {
|
|
42
|
-
splittedText = obj.calledValue.split(":");
|
|
43
|
-
}
|
|
44
|
-
return { callbackData: splittedText[1], device: splittedText[2], val: splittedText[3] };
|
|
39
|
+
const getMenuValues = (obj) => {
|
|
40
|
+
const splitText = obj[0].split(":");
|
|
41
|
+
return { callbackData: splitText[1], device: splitText[2], val: splitText[3] };
|
|
45
42
|
};
|
|
46
43
|
const deleteMessages = async (obj) => {
|
|
47
44
|
const navToGoBack = obj.device2Switch;
|
|
@@ -73,8 +70,7 @@ const setDynamicValue = async (obj) => {
|
|
|
73
70
|
};
|
|
74
71
|
};
|
|
75
72
|
const createSubmenuPercent = (obj) => {
|
|
76
|
-
const callbackData = obj
|
|
77
|
-
const device2Switch = obj.device2Switch;
|
|
73
|
+
const { callbackData, device2Switch } = obj;
|
|
78
74
|
step = parseFloat(callbackData.replace("percent", ""));
|
|
79
75
|
let rowEntries = 0;
|
|
80
76
|
let menu = [];
|
|
@@ -102,11 +98,11 @@ const createSubmenuPercent = (obj) => {
|
|
|
102
98
|
if (rowEntries != 0) {
|
|
103
99
|
keyboard.inline_keyboard.push(menu);
|
|
104
100
|
}
|
|
105
|
-
return { text: obj.text, keyboard
|
|
101
|
+
return { text: obj.text, keyboard, device: device2Switch };
|
|
106
102
|
};
|
|
107
103
|
const setFirstMenuValue = async (obj) => {
|
|
108
104
|
let val;
|
|
109
|
-
(0, import_logging.debug)([{ text: "
|
|
105
|
+
(0, import_logging.debug)([{ text: "SplitData:", val: splittedData }]);
|
|
110
106
|
if (splittedData[1].split(".")[1] == "false") {
|
|
111
107
|
val = false;
|
|
112
108
|
} else if (splittedData[1].split(".")[1] == "true") {
|
|
@@ -214,26 +210,30 @@ const createSubmenuNumber = (obj) => {
|
|
|
214
210
|
if (rowEntries != 0) {
|
|
215
211
|
keyboard.inline_keyboard.push(menu);
|
|
216
212
|
}
|
|
217
|
-
(0, import_logging.debug)([{ text: "keyboard:", val: keyboard
|
|
218
|
-
return { text: obj.text, keyboard
|
|
213
|
+
(0, import_logging.debug)([{ text: "keyboard:", val: keyboard }]);
|
|
214
|
+
return { text: obj.text, keyboard, device: device2Switch };
|
|
219
215
|
};
|
|
220
|
-
const createSwitchMenu = (
|
|
221
|
-
|
|
216
|
+
const createSwitchMenu = ({
|
|
217
|
+
device2Switch,
|
|
218
|
+
callbackData,
|
|
219
|
+
text
|
|
220
|
+
}) => {
|
|
221
|
+
splittedData = callbackData.split("-");
|
|
222
222
|
const keyboard = {
|
|
223
223
|
inline_keyboard: [
|
|
224
224
|
[
|
|
225
225
|
{
|
|
226
226
|
text: splittedData[1].split(".")[0],
|
|
227
|
-
callback_data: `menu:first:${
|
|
227
|
+
callback_data: `menu:first:${device2Switch}`
|
|
228
228
|
},
|
|
229
229
|
{
|
|
230
230
|
text: splittedData[2].split(".")[0],
|
|
231
|
-
callback_data: `menu:second:${
|
|
231
|
+
callback_data: `menu:second:${device2Switch}`
|
|
232
232
|
}
|
|
233
233
|
]
|
|
234
234
|
]
|
|
235
235
|
};
|
|
236
|
-
return { text
|
|
236
|
+
return { text, keyboard, device: device2Switch };
|
|
237
237
|
};
|
|
238
238
|
const setValueForSubmenuPercent = async (obj) => {
|
|
239
239
|
const value = parseInt(obj.calledValue.split(":")[1].split(",")[1]);
|
|
@@ -274,24 +274,22 @@ const setValueForSubmenuNumber = async (obj) => {
|
|
|
274
274
|
const back = async (obj) => {
|
|
275
275
|
const result = await (0, import_backMenu.switchBack)(obj.userToSend, obj.allMenusWithData, obj.menus);
|
|
276
276
|
if (result) {
|
|
277
|
-
await (0, import_telegram.sendToTelegram)(
|
|
278
|
-
obj.userToSend,
|
|
279
|
-
result.texttosend,
|
|
280
|
-
result.menuToSend,
|
|
281
|
-
obj.instanceTelegram,
|
|
282
|
-
obj.resize_keyboard,
|
|
283
|
-
obj.one_time_keyboard,
|
|
284
|
-
obj.userListWithChatID,
|
|
285
|
-
result.parseMode
|
|
286
|
-
);
|
|
277
|
+
await (0, import_telegram.sendToTelegram)({
|
|
278
|
+
user: obj.userToSend,
|
|
279
|
+
textToSend: result.texttosend,
|
|
280
|
+
keyboard: result.menuToSend,
|
|
281
|
+
instance: obj.instanceTelegram,
|
|
282
|
+
resize_keyboard: obj.resize_keyboard,
|
|
283
|
+
one_time_keyboard: obj.one_time_keyboard,
|
|
284
|
+
userListWithChatID: obj.userListWithChatID,
|
|
285
|
+
parse_mode: result.parseMode
|
|
286
|
+
});
|
|
287
287
|
}
|
|
288
288
|
};
|
|
289
|
-
async function callSubMenu(
|
|
289
|
+
async function callSubMenu(jsonStringNav, newObjectNavStructure, userToSend, instanceTelegram, resize_keyboard, one_time_keyboard, userListWithChatID, part, allMenusWithData, menus, setStateIdsToListenTo, navObj) {
|
|
290
290
|
try {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
calledValue,
|
|
294
|
-
newObjectNavStructure,
|
|
291
|
+
const obj = await subMenu({
|
|
292
|
+
jsonStringNav,
|
|
295
293
|
userToSend,
|
|
296
294
|
instanceTelegram,
|
|
297
295
|
resize_keyboard,
|
|
@@ -299,14 +297,18 @@ async function callSubMenu(calledValue, newObjectNavStructure, userToSend, insta
|
|
|
299
297
|
userListWithChatID,
|
|
300
298
|
part,
|
|
301
299
|
allMenusWithData,
|
|
302
|
-
menus
|
|
303
|
-
|
|
304
|
-
|
|
300
|
+
menus,
|
|
301
|
+
navObj
|
|
302
|
+
});
|
|
303
|
+
(0, import_logging.debug)([{ text: "Submenu data:", val: obj == null ? void 0 : obj.text }]);
|
|
304
|
+
(0, import_logging.debug)([{ text: "Submenu data:", val: obj == null ? void 0 : obj.keyboard }]);
|
|
305
|
+
(0, import_logging.debug)([{ text: "Submenu data:", val: obj == null ? void 0 : obj.device }]);
|
|
306
|
+
(0, import_logging.debug)([{ text: "Submenu data:", val: obj == null ? void 0 : obj.navToGoBack }]);
|
|
305
307
|
if (obj == null ? void 0 : obj.returnIds) {
|
|
306
308
|
setStateIdsToListenTo = obj.returnIds;
|
|
307
309
|
await (0, import_subscribeStates._subscribeAndUnSubscribeForeignStatesAsync)({ array: obj.returnIds });
|
|
308
310
|
}
|
|
309
|
-
if (obj
|
|
311
|
+
if ((obj == null ? void 0 : obj.text) && (obj == null ? void 0 : obj.keyboard)) {
|
|
310
312
|
(0, import_telegram.sendToTelegramSubmenu)(
|
|
311
313
|
userToSend,
|
|
312
314
|
obj.text,
|
|
@@ -326,15 +328,29 @@ async function callSubMenu(calledValue, newObjectNavStructure, userToSend, insta
|
|
|
326
328
|
});
|
|
327
329
|
}
|
|
328
330
|
}
|
|
329
|
-
async function subMenu(
|
|
331
|
+
async function subMenu({
|
|
332
|
+
jsonStringNav,
|
|
333
|
+
userToSend,
|
|
334
|
+
instanceTelegram,
|
|
335
|
+
resize_keyboard,
|
|
336
|
+
one_time_keyboard,
|
|
337
|
+
userListWithChatID,
|
|
338
|
+
part,
|
|
339
|
+
allMenusWithData,
|
|
340
|
+
menus,
|
|
341
|
+
navObj
|
|
342
|
+
}) {
|
|
330
343
|
try {
|
|
331
|
-
|
|
344
|
+
import_main._this.log.debug(`Menu : ${navObj[0][0]}`);
|
|
332
345
|
let text = "";
|
|
333
|
-
if (part
|
|
346
|
+
if ((part == null ? void 0 : part.text) && part.text != "") {
|
|
334
347
|
text = await (0, import_utilities.checkStatusInfo)(part.text);
|
|
335
348
|
}
|
|
336
|
-
const
|
|
337
|
-
|
|
349
|
+
const called = (0, import_global.parseJSON)(jsonStringNav);
|
|
350
|
+
if (!(called == null ? void 0 : called.length)) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
const { callbackData, device: device2Switch, val } = getMenuValues(called[0]);
|
|
338
354
|
if (callbackData.includes("delete")) {
|
|
339
355
|
return await deleteMessages({
|
|
340
356
|
userToSend,
|
|
@@ -364,7 +380,7 @@ async function subMenu(calledValue, menuData, userToSend, instanceTelegram, resi
|
|
|
364
380
|
userListWithChatID
|
|
365
381
|
});
|
|
366
382
|
} else if (callbackData.includes("dynSwitch")) {
|
|
367
|
-
return (0, import_dynamicSwitch.dynamicSwitch)(
|
|
383
|
+
return (0, import_dynamicSwitch.dynamicSwitch)(jsonStringNav, device2Switch, text);
|
|
368
384
|
} else if (callbackData.includes("dynS")) {
|
|
369
385
|
return await setDynamicValue({
|
|
370
386
|
val,
|
|
@@ -375,12 +391,12 @@ async function subMenu(calledValue, menuData, userToSend, instanceTelegram, resi
|
|
|
375
391
|
userListWithChatID,
|
|
376
392
|
part
|
|
377
393
|
});
|
|
378
|
-
} else if (!
|
|
394
|
+
} else if (!jsonStringNav.includes("submenu") && callbackData.includes("percent")) {
|
|
379
395
|
return createSubmenuPercent({ callbackData, text, device2Switch });
|
|
380
|
-
} else if (
|
|
396
|
+
} else if (jsonStringNav.includes(`submenu:percent${step}`)) {
|
|
381
397
|
return await setValueForSubmenuPercent({
|
|
382
398
|
callbackData,
|
|
383
|
-
calledValue,
|
|
399
|
+
calledValue: jsonStringNav,
|
|
384
400
|
userToSend,
|
|
385
401
|
instanceTelegram,
|
|
386
402
|
resize_keyboard,
|
|
@@ -390,12 +406,12 @@ async function subMenu(calledValue, menuData, userToSend, instanceTelegram, resi
|
|
|
390
406
|
allMenusWithData,
|
|
391
407
|
menus
|
|
392
408
|
});
|
|
393
|
-
} else if (!
|
|
409
|
+
} else if (!jsonStringNav.includes("submenu") && callbackData.includes("number")) {
|
|
394
410
|
return createSubmenuNumber({ callbackData, text, device2Switch });
|
|
395
|
-
} else if (
|
|
411
|
+
} else if (jsonStringNav.includes(`submenu:${callbackData}`)) {
|
|
396
412
|
const result = await setValueForSubmenuNumber({
|
|
397
413
|
callbackData,
|
|
398
|
-
calledValue,
|
|
414
|
+
calledValue: jsonStringNav,
|
|
399
415
|
userToSend,
|
|
400
416
|
instanceTelegram,
|
|
401
417
|
resize_keyboard,
|
package/build/lib/subMenu.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/subMenu.ts"],
|
|
4
|
-
"sourcesContent": ["import { switchBack } from './backMenu';\nimport { setState } from './setstate';\nimport { sendToTelegram, sendToTelegramSubmenu } from './telegram';\nimport { checkStatusInfo } from './utilities';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates';\nimport { deleteMessageIds } from './messageIds';\nimport { dynamicSwitch } from './dynamicSwitch';\nimport { debug } from './logging';\nimport { error } from 'console';\nimport type {\n SetStateIds,\n SplittedData,\n SplitText,\n DeleteMessageIds,\n SetDynamicValueType,\n CreateSubmenuPercent,\n ArrayOfEntriesDynamicSwitch,\n Keyboard,\n SetFirstMenuValue,\n SetSecondMenuValue,\n CreateSubmenuNumber,\n CreateSwitchMenu,\n SetValueForSubmenuPercent,\n SetValueForSubmenuNumber,\n BackMenuType,\n NewObjectNavStructure,\n UserListWithChatId,\n Part,\n} from './telegram-menu';\n\nlet step = 0;\nlet returnIDToListenTo: SetStateIds[] = [];\nlet splittedData: SplittedData = [];\n\nconst splitText = (obj: SplitText): { callbackData: string; device: string; val: string } => {\n let splittedText: string[];\n if (obj.calledValue.includes('\"')) {\n splittedText = obj.calledValue.split(`\"`)[1].split(':');\n } else {\n splittedText = obj.calledValue.split(':');\n }\n return { callbackData: splittedText[1], device: splittedText[2], val: splittedText[3] };\n};\n\nconst deleteMessages = async (obj: DeleteMessageIds): Promise<{ navToGoBack: string } | undefined> => {\n const navToGoBack = obj.device2Switch;\n if (obj.callbackData.includes('deleteAll')) {\n await deleteMessageIds(obj.userToSend, obj.userListWithChatID, obj.instanceTelegram, 'all');\n }\n if (navToGoBack && navToGoBack != '') {\n return { navToGoBack: navToGoBack };\n }\n return;\n};\n\nconst setDynamicValue = async (obj: SetDynamicValueType): Promise<{ returnIds: SetStateIds[] }> => {\n debug([{ text: 'SplittedData:', val: obj.val }]);\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n obj.val,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return {\n returnIds: returnIDToListenTo,\n };\n};\n\nconst createSubmenuPercent = (\n obj: CreateSubmenuPercent,\n): { text: string | undefined; keyboard: string; device: string } => {\n const callbackData = obj.callbackData;\n const device2Switch = obj.device2Switch;\n step = parseFloat(callbackData.replace('percent', ''));\n let rowEntries = 0;\n let menu: ArrayOfEntriesDynamicSwitch[] = [];\n const keyboard: Keyboard = {\n inline_keyboard: [],\n };\n for (let i = 100; i >= 0; i -= step) {\n menu.push({\n text: `${i}%`,\n callback_data: `submenu:percent${step},${i}:${device2Switch}`,\n });\n if (i != 0 && i - step < 0) {\n menu.push({\n text: `0%`,\n callback_data: `submenu:percent${step},${0}:${device2Switch}`,\n });\n }\n rowEntries++;\n if (rowEntries == 8) {\n keyboard.inline_keyboard.push(menu);\n menu = [];\n rowEntries = 0;\n }\n }\n\n if (rowEntries != 0) {\n keyboard.inline_keyboard.push(menu);\n }\n return { text: obj.text, keyboard: JSON.stringify(keyboard), device: device2Switch };\n};\n\nconst setFirstMenuValue = async (obj: SetFirstMenuValue): Promise<{ returnIds: SetStateIds[] }> => {\n let val;\n debug([{ text: 'SplittedData:', val: splittedData }]);\n if (splittedData[1].split('.')[1] == 'false') {\n val = false;\n } else if (splittedData[1].split('.')[1] == 'true') {\n val = true;\n } else {\n val = splittedData[1].split('.')[1];\n }\n const result = await setState(\n obj.part,\n obj.userToSend,\n val as string,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst setSecondMenuValue = async (obj: SetSecondMenuValue): Promise<{ returnIds: SetStateIds[] }> => {\n let val;\n if (splittedData[2].split('.')[1] == 'false') {\n val = false;\n } else if (splittedData[2].split('.')[1] == 'true') {\n val = true;\n } else {\n val = splittedData[2].split('.')[1];\n }\n const result = await setState(\n obj.part,\n obj.userToSend,\n val as string,\n true,\n obj.instanceTelegram,\n obj.one_time_keyboard,\n obj.resize_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst createSubmenuNumber = (\n obj: CreateSubmenuNumber,\n): { text: string | undefined; keyboard: string; device: string } => {\n let callbackData = obj.callbackData;\n const device2Switch = obj.device2Switch;\n\n if (callbackData.includes('(-)')) {\n callbackData = callbackData.replace('(-)', 'negativ');\n }\n const splittedData = callbackData.replace('number', '').split('-');\n let rowEntries = 0;\n let menu: { text: string; callback_data: string }[] = [];\n const keyboard = {\n inline_keyboard: [] as any[],\n };\n let unit = '';\n if (splittedData[3] != '') {\n unit = splittedData[3];\n }\n let start: number, end: number;\n const firstValueInText = parseFloat(\n splittedData[0].includes('negativ') ? splittedData[0].replace('negativ', '-') : splittedData[0],\n );\n const secondValueInText = parseFloat(\n splittedData[1].includes('negativ') ? splittedData[1].replace('negativ', '-') : splittedData[1],\n );\n\n if (firstValueInText < secondValueInText) {\n start = secondValueInText;\n end = firstValueInText;\n } else {\n start = firstValueInText;\n end = secondValueInText;\n }\n let index = -1;\n\n let maxEntriesPerRow = 8;\n const step = parseFloat(\n splittedData[2].includes('negativ') ? splittedData[2].replace('negativ', '-') : splittedData[2],\n );\n if (step < 1) {\n maxEntriesPerRow = 6;\n }\n\n for (let i = start; i >= end; i -= step) {\n // Zahlen umdrehen\n if (parseFloat(splittedData[0]) < parseFloat(splittedData[1])) {\n if (i === start) {\n index = end - step;\n }\n index = index + step;\n } else {\n index = i;\n }\n menu.push({\n text: `${index}${unit}`,\n callback_data: `submenu:${callbackData}:${device2Switch}:${index}`,\n });\n rowEntries++;\n if (rowEntries == maxEntriesPerRow) {\n keyboard.inline_keyboard.push(menu);\n menu = [];\n rowEntries = 0;\n }\n }\n\n if (rowEntries != 0) {\n keyboard.inline_keyboard.push(menu);\n }\n debug([{ text: 'keyboard:', val: keyboard.inline_keyboard }]);\n return { text: obj.text, keyboard: JSON.stringify(keyboard), device: device2Switch };\n};\n\nconst createSwitchMenu = (obj: CreateSwitchMenu): { text: string | undefined; keyboard: string; device: string } => {\n splittedData = obj.callbackData.split('-');\n const keyboard = {\n inline_keyboard: [\n [\n {\n text: splittedData[1].split('.')[0],\n callback_data: `menu:first:${obj.device2Switch}`,\n },\n {\n text: splittedData[2].split('.')[0],\n callback_data: `menu:second:${obj.device2Switch}`,\n },\n ],\n ],\n };\n return { text: obj.text, keyboard: JSON.stringify(keyboard), device: obj.device2Switch };\n};\n\nconst setValueForSubmenuPercent = async (obj: SetValueForSubmenuPercent): Promise<{ returnIds: SetStateIds[] }> => {\n const value = parseInt(obj.calledValue.split(':')[1].split(',')[1]);\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n value,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst setValueForSubmenuNumber = async (\n obj: SetValueForSubmenuNumber,\n): Promise<{ returnIds: SetStateIds[]; device2Switch: string }> => {\n debug([{ text: 'CallbackData:', val: obj.callbackData }]);\n\n const value = parseFloat(obj.calledValue.split(':')[3]);\n const device2Switch = obj.calledValue.split(':')[2];\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n value,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo, device2Switch };\n};\n\nconst back = async (obj: BackMenuType): Promise<void> => {\n const result = await switchBack(obj.userToSend, obj.allMenusWithData, obj.menus);\n if (result) {\n await sendToTelegram(\n obj.userToSend,\n result.texttosend as string,\n result.menuToSend,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n result.parseMode,\n );\n }\n};\nasync function callSubMenu(\n calledValue: string,\n newObjectNavStructure: NewObjectNavStructure,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n part: Part,\n allMenusWithData: { [key: string]: NewObjectNavStructure },\n menus: string[],\n setStateIdsToListenTo: SetStateIds[] | null,\n): Promise<{ setStateIdsToListenTo: SetStateIds[] | null; newNav: string | undefined } | undefined> {\n try {\n debug([{ text: 'Type of:', val: typeof calledValue }]);\n const obj = await subMenu(\n calledValue,\n newObjectNavStructure,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n );\n debug([{ text: 'Submenu data:', val: obj }]);\n\n if (obj?.returnIds) {\n setStateIdsToListenTo = obj.returnIds;\n\n await _subscribeAndUnSubscribeForeignStatesAsync({ array: obj.returnIds });\n }\n\n if (obj && typeof obj.text == 'string' && obj.text && typeof obj.keyboard == 'string') {\n sendToTelegramSubmenu(\n userToSend,\n obj.text,\n obj.keyboard,\n instanceTelegram,\n userListWithChatID,\n part.parse_mode || 'false',\n );\n }\n return { setStateIdsToListenTo: setStateIdsToListenTo, newNav: obj?.navToGoBack };\n } catch (e: any) {\n error({\n array: [\n { text: 'Error callSubMenu:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ],\n });\n }\n}\n\nasync function subMenu(\n calledValue: string,\n menuData: NewObjectNavStructure,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n part: Part,\n allMenusWithData: { [key: string]: NewObjectNavStructure },\n menus: string[],\n): Promise<\n { text?: string; keyboard?: string; device?: string; returnIds?: SetStateIds[]; navToGoBack?: string } | undefined\n> {\n try {\n debug([{ text: 'CalledValue:', val: calledValue }]);\n let text: string | undefined = '';\n if (part && part.text && part.text != '') {\n text = await checkStatusInfo(part.text);\n }\n const { callbackData, device, val } = splitText({ calledValue });\n const device2Switch = device;\n\n if (callbackData.includes('delete')) {\n return await deleteMessages({\n userToSend,\n userListWithChatID,\n instanceTelegram,\n device2Switch,\n callbackData,\n });\n } else if (callbackData.includes('switch')) {\n return createSwitchMenu({ callbackData, text, device2Switch });\n } else if (callbackData.includes('first')) {\n return await setFirstMenuValue({\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n } else if (callbackData.includes('second')) {\n return await setSecondMenuValue({\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n } else if (callbackData.includes('dynSwitch')) {\n return dynamicSwitch(calledValue, device2Switch, text as string);\n } else if (callbackData.includes('dynS')) {\n return await setDynamicValue({\n val,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n });\n } else if (!calledValue.includes('submenu') && callbackData.includes('percent')) {\n return createSubmenuPercent({ callbackData, text, device2Switch });\n } else if (calledValue.includes(`submenu:percent${step}`)) {\n return await setValueForSubmenuPercent({\n callbackData,\n calledValue,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n });\n } else if (!calledValue.includes('submenu') && callbackData.includes('number')) {\n return createSubmenuNumber({ callbackData, text, device2Switch });\n } else if (calledValue.includes(`submenu:${callbackData}`)) {\n const result = await setValueForSubmenuNumber({\n callbackData,\n calledValue,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n });\n // device2Switch = result.device2Switch;\n return result.returnIds ? { returnIds: result.returnIds } : undefined;\n } else if (callbackData === 'back') {\n await back({\n userToSend,\n allMenusWithData,\n menus,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n }\n return;\n } catch (error: any) {\n error([\n { text: 'Error subMenu:', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n}\n\nexport { subMenu, callSubMenu };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA2B;AAC3B,sBAAyB;AACzB,sBAAsD;AACtD,uBAAgC;AAChC,6BAA2D;AAC3D,wBAAiC;AACjC,2BAA8B;AAC9B,qBAAsB;AACtB,qBAAsB;
|
|
4
|
+
"sourcesContent": ["import { switchBack } from './backMenu';\nimport { setState } from './setstate';\nimport { sendToTelegram, sendToTelegramSubmenu } from './telegram';\nimport { checkStatusInfo } from './utilities';\nimport { _subscribeAndUnSubscribeForeignStatesAsync } from './subscribeStates';\nimport { deleteMessageIds } from './messageIds';\nimport { dynamicSwitch } from './dynamicSwitch';\nimport { debug } from './logging';\nimport { error } from 'console';\nimport type {\n SetStateIds,\n SplittedData,\n DeleteMessageIds,\n SetDynamicValueType,\n KeyboardItems,\n SetFirstMenuValue,\n SetSecondMenuValue,\n CreateMenu,\n SetValueForSubmenuPercent,\n SetValueForSubmenuNumber,\n BackMenuType,\n NewObjectNavStructure,\n UserListWithChatId,\n Part,\n NavPart,\n Keyboard,\n} from '../types/types';\nimport { parseJSON } from './global';\nimport { _this } from '../main';\n\nlet step = 0;\nlet returnIDToListenTo: SetStateIds[] = [];\nlet splittedData: SplittedData = [];\n\nconst getMenuValues = (obj: string[]): { callbackData: string; device: string; val: string } => {\n const splitText = obj[0].split(':');\n\n return { callbackData: splitText[1], device: splitText[2], val: splitText[3] };\n};\n\nconst deleteMessages = async (obj: DeleteMessageIds): Promise<{ navToGoBack: string } | undefined> => {\n const navToGoBack = obj.device2Switch;\n if (obj.callbackData.includes('deleteAll')) {\n await deleteMessageIds(obj.userToSend, obj.userListWithChatID, obj.instanceTelegram, 'all');\n }\n if (navToGoBack && navToGoBack != '') {\n return { navToGoBack: navToGoBack };\n }\n return;\n};\n\nconst setDynamicValue = async (obj: SetDynamicValueType): Promise<{ returnIds: SetStateIds[] }> => {\n debug([{ text: 'SplittedData:', val: obj.val }]);\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n obj.val,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return {\n returnIds: returnIDToListenTo,\n };\n};\n\nconst createSubmenuPercent = (obj: CreateMenu): { text?: string; keyboard: Keyboard; device: string } => {\n const { callbackData, device2Switch } = obj;\n\n step = parseFloat(callbackData.replace('percent', ''));\n let rowEntries = 0;\n let menu: KeyboardItems[] = [];\n const keyboard: Keyboard = {\n inline_keyboard: [],\n };\n for (let i = 100; i >= 0; i -= step) {\n menu.push({\n text: `${i}%`,\n callback_data: `submenu:percent${step},${i}:${device2Switch}`,\n });\n if (i != 0 && i - step < 0) {\n menu.push({\n text: `0%`,\n callback_data: `submenu:percent${step},${0}:${device2Switch}`,\n });\n }\n rowEntries++;\n if (rowEntries == 8) {\n keyboard.inline_keyboard.push(menu);\n menu = [];\n rowEntries = 0;\n }\n }\n\n if (rowEntries != 0) {\n keyboard.inline_keyboard.push(menu);\n }\n return { text: obj.text, keyboard: keyboard, device: device2Switch };\n};\n\nconst setFirstMenuValue = async (obj: SetFirstMenuValue): Promise<{ returnIds: SetStateIds[] }> => {\n let val;\n debug([{ text: 'SplitData:', val: splittedData }]);\n if (splittedData[1].split('.')[1] == 'false') {\n val = false;\n } else if (splittedData[1].split('.')[1] == 'true') {\n val = true;\n } else {\n val = splittedData[1].split('.')[1];\n }\n const result = await setState(\n obj.part,\n obj.userToSend,\n val as string,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst setSecondMenuValue = async (obj: SetSecondMenuValue): Promise<{ returnIds: SetStateIds[] }> => {\n let val;\n if (splittedData[2].split('.')[1] == 'false') {\n val = false;\n } else if (splittedData[2].split('.')[1] == 'true') {\n val = true;\n } else {\n val = splittedData[2].split('.')[1];\n }\n const result = await setState(\n obj.part,\n obj.userToSend,\n val as string,\n true,\n obj.instanceTelegram,\n obj.one_time_keyboard,\n obj.resize_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst createSubmenuNumber = (obj: CreateMenu): { text?: string; keyboard: Keyboard; device: string } => {\n let callbackData = obj.callbackData;\n const device2Switch = obj.device2Switch;\n\n if (callbackData.includes('(-)')) {\n callbackData = callbackData.replace('(-)', 'negativ');\n }\n const splittedData = callbackData.replace('number', '').split('-');\n let rowEntries = 0;\n let menu: { text: string; callback_data: string }[] = [];\n const keyboard: Keyboard = {\n inline_keyboard: [],\n };\n let unit = '';\n if (splittedData[3] != '') {\n unit = splittedData[3];\n }\n let start: number, end: number;\n const firstValueInText = parseFloat(\n splittedData[0].includes('negativ') ? splittedData[0].replace('negativ', '-') : splittedData[0],\n );\n const secondValueInText = parseFloat(\n splittedData[1].includes('negativ') ? splittedData[1].replace('negativ', '-') : splittedData[1],\n );\n\n if (firstValueInText < secondValueInText) {\n start = secondValueInText;\n end = firstValueInText;\n } else {\n start = firstValueInText;\n end = secondValueInText;\n }\n let index = -1;\n\n let maxEntriesPerRow = 8;\n const step = parseFloat(\n splittedData[2].includes('negativ') ? splittedData[2].replace('negativ', '-') : splittedData[2],\n );\n if (step < 1) {\n maxEntriesPerRow = 6;\n }\n\n for (let i = start; i >= end; i -= step) {\n // Zahlen umdrehen\n if (parseFloat(splittedData[0]) < parseFloat(splittedData[1])) {\n if (i === start) {\n index = end - step;\n }\n index = index + step;\n } else {\n index = i;\n }\n menu.push({\n text: `${index}${unit}`,\n callback_data: `submenu:${callbackData}:${device2Switch}:${index}`,\n });\n rowEntries++;\n if (rowEntries == maxEntriesPerRow) {\n keyboard.inline_keyboard.push(menu);\n menu = [];\n rowEntries = 0;\n }\n }\n\n if (rowEntries != 0) {\n keyboard.inline_keyboard.push(menu);\n }\n debug([{ text: 'keyboard:', val: keyboard }]);\n return { text: obj.text, keyboard, device: device2Switch };\n};\n\nconst createSwitchMenu = ({\n device2Switch,\n callbackData,\n text,\n}: CreateMenu): { text?: string; keyboard: Keyboard; device: string } => {\n splittedData = callbackData.split('-');\n const keyboard = {\n inline_keyboard: [\n [\n {\n text: splittedData[1].split('.')[0],\n callback_data: `menu:first:${device2Switch}`,\n },\n {\n text: splittedData[2].split('.')[0],\n callback_data: `menu:second:${device2Switch}`,\n },\n ],\n ],\n };\n return { text: text, keyboard, device: device2Switch };\n};\n\nconst setValueForSubmenuPercent = async (obj: SetValueForSubmenuPercent): Promise<{ returnIds: SetStateIds[] }> => {\n const value = parseInt(obj.calledValue.split(':')[1].split(',')[1]);\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n value,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo };\n};\n\nconst setValueForSubmenuNumber = async (\n obj: SetValueForSubmenuNumber,\n): Promise<{ returnIds: SetStateIds[]; device2Switch: string }> => {\n debug([{ text: 'CallbackData:', val: obj.callbackData }]);\n\n const value = parseFloat(obj.calledValue.split(':')[3]);\n const device2Switch = obj.calledValue.split(':')[2];\n\n const result = await setState(\n obj.part,\n obj.userToSend,\n value,\n true,\n obj.instanceTelegram,\n obj.resize_keyboard,\n obj.one_time_keyboard,\n obj.userListWithChatID,\n );\n if (Array.isArray(result)) {\n returnIDToListenTo = result;\n }\n return { returnIds: returnIDToListenTo, device2Switch };\n};\n\nconst back = async (obj: BackMenuType): Promise<void> => {\n const result = await switchBack(obj.userToSend, obj.allMenusWithData, obj.menus);\n if (result) {\n await sendToTelegram({\n user: obj.userToSend,\n textToSend: result.texttosend as string,\n keyboard: result.menuToSend,\n instance: obj.instanceTelegram,\n resize_keyboard: obj.resize_keyboard,\n one_time_keyboard: obj.one_time_keyboard,\n userListWithChatID: obj.userListWithChatID,\n parse_mode: result.parseMode,\n });\n }\n};\nasync function callSubMenu(\n jsonStringNav: string,\n newObjectNavStructure: NewObjectNavStructure,\n userToSend: string,\n instanceTelegram: string,\n resize_keyboard: boolean,\n one_time_keyboard: boolean,\n userListWithChatID: UserListWithChatId[],\n part: Part,\n allMenusWithData: { [key: string]: NewObjectNavStructure },\n menus: string[],\n setStateIdsToListenTo: SetStateIds[] | null,\n navObj: NavPart,\n): Promise<{ setStateIdsToListenTo: SetStateIds[] | null; newNav: string | undefined } | undefined> {\n try {\n const obj = await subMenu({\n jsonStringNav: jsonStringNav,\n userToSend: userToSend,\n instanceTelegram: instanceTelegram,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n userListWithChatID: userListWithChatID,\n part,\n allMenusWithData: allMenusWithData,\n menus,\n navObj,\n });\n debug([{ text: 'Submenu data:', val: obj?.text }]);\n debug([{ text: 'Submenu data:', val: obj?.keyboard }]);\n debug([{ text: 'Submenu data:', val: obj?.device }]);\n debug([{ text: 'Submenu data:', val: obj?.navToGoBack }]);\n\n if (obj?.returnIds) {\n setStateIdsToListenTo = obj.returnIds;\n\n await _subscribeAndUnSubscribeForeignStatesAsync({ array: obj.returnIds });\n }\n\n if (obj?.text && obj?.keyboard) {\n sendToTelegramSubmenu(\n userToSend,\n obj.text,\n obj.keyboard,\n instanceTelegram,\n userListWithChatID,\n part.parse_mode || 'false',\n );\n }\n return { setStateIdsToListenTo: setStateIdsToListenTo, newNav: obj?.navToGoBack };\n } catch (e: any) {\n error({\n array: [\n { text: 'Error callSubMenu:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ],\n });\n }\n}\n\nasync function subMenu({\n jsonStringNav,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n navObj,\n}: {\n jsonStringNav: string;\n userToSend: string;\n instanceTelegram: string;\n resize_keyboard: boolean;\n one_time_keyboard: boolean;\n userListWithChatID: UserListWithChatId[];\n part: Part;\n allMenusWithData: { [p: string]: NewObjectNavStructure };\n menus: string[];\n navObj: NavPart;\n}): Promise<\n { text?: string; keyboard?: Keyboard; device?: string; returnIds?: SetStateIds[]; navToGoBack?: string } | undefined\n> {\n try {\n _this.log.debug(`Menu : ${navObj[0][0]}`);\n\n let text: string | undefined = '';\n if (part?.text && part.text != '') {\n text = await checkStatusInfo(part.text);\n }\n\n const called = parseJSON<NavPart>(jsonStringNav);\n if (!called?.length) {\n return;\n }\n const { callbackData, device: device2Switch, val } = getMenuValues(called[0]);\n\n if (callbackData.includes('delete')) {\n return await deleteMessages({\n userToSend,\n userListWithChatID,\n instanceTelegram,\n device2Switch,\n callbackData,\n });\n } else if (callbackData.includes('switch')) {\n return createSwitchMenu({ callbackData, text, device2Switch });\n } else if (callbackData.includes('first')) {\n return await setFirstMenuValue({\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n } else if (callbackData.includes('second')) {\n return await setSecondMenuValue({\n part,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n } else if (callbackData.includes('dynSwitch')) {\n return dynamicSwitch(jsonStringNav, device2Switch, text as string);\n } else if (callbackData.includes('dynS')) {\n return await setDynamicValue({\n val,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n });\n } else if (!jsonStringNav.includes('submenu') && callbackData.includes('percent')) {\n return createSubmenuPercent({ callbackData, text, device2Switch });\n } else if (jsonStringNav.includes(`submenu:percent${step}`)) {\n return await setValueForSubmenuPercent({\n callbackData,\n calledValue: jsonStringNav,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n allMenusWithData,\n menus,\n });\n } else if (!jsonStringNav.includes('submenu') && callbackData.includes('number')) {\n return createSubmenuNumber({ callbackData, text, device2Switch });\n } else if (jsonStringNav.includes(`submenu:${callbackData}`)) {\n const result = await setValueForSubmenuNumber({\n callbackData,\n calledValue: jsonStringNav,\n userToSend,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n part,\n });\n // device2Switch = result.device2Switch;\n return result.returnIds ? { returnIds: result.returnIds } : undefined;\n } else if (callbackData === 'back') {\n await back({\n userToSend,\n allMenusWithData,\n menus,\n instanceTelegram,\n resize_keyboard,\n one_time_keyboard,\n userListWithChatID,\n });\n }\n return;\n } catch (error: any) {\n error([\n { text: 'Error subMenu:', val: error.message },\n { text: 'Stack', val: error.stack },\n ]);\n }\n}\n\nexport { subMenu, callSubMenu };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["splittedData", "step", "error"]
|
|
7
7
|
}
|