iobroker.javascript 8.7.7 → 8.8.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 +4 -4
- package/admin/asset-manifest.json +5 -5
- package/admin/custom/customComponents.js +1 -1
- package/admin/custom/customComponents.js.map +1 -1
- package/admin/custom/static/js/{main.c5430a4c.js → main.2777482b.js} +2 -2
- package/admin/custom/static/js/{main.c5430a4c.js.map → main.2777482b.js.map} +1 -1
- package/admin/custom/static/js/{vendors-node_modules_leaflet_dist_leaflet_css-node_modules_iobroker_json-config_build_index_j-7fd384.a73f1f18.chunk.js → vendors-node_modules_leaflet_dist_leaflet_css-node_modules_iobroker_json-config_build_index_j-7fd384.9905725e.chunk.js} +7 -7
- package/admin/google-blockly/own/blocks_sendto.js +4 -6
- package/admin/static/js/253.22103681.chunk.js +2 -0
- package/admin/static/js/253.22103681.chunk.js.map +1 -0
- package/admin/static/js/{253.e26d7376.chunk.js → 253.2e3257d9.chunk.js} +2 -2
- package/admin/static/js/{253.e26d7376.chunk.js.map → 253.2e3257d9.chunk.js.map} +1 -1
- package/admin/static/js/{main.95b47fd0.js → main.4b1da50f.js} +2 -2
- package/admin/static/js/{main.6ad9d3fc.js.map → main.4b1da50f.js.map} +1 -1
- package/admin/static/js/{main.6ad9d3fc.js → main.a0dad369.js} +2 -2
- package/admin/static/js/{main.95b47fd0.js.map → main.a0dad369.js.map} +1 -1
- package/admin/static/js/main.d79356b6.js +2 -0
- package/admin/static/js/main.d79356b6.js.map +1 -0
- package/admin/tab.html +1 -1
- package/docs/en/javascript.md +36 -9
- package/io-package.json +113 -16
- package/lib/javascript.d.ts +7 -0
- package/lib/sandbox.js +7 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/js/main.d79356b6.js","mappings":"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","sources":["index.jsx","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/sharing","../webpack/runtime/publicPath","../webpack/runtime/consumes","../webpack/runtime/css loading","../webpack/runtime/jsonp chunk loading","../webpack/runtime/nonce","../webpack/startup"],"sourcesContent":["import('./bootstrap');\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + chunkId + \".\" + {\"43\":\"67f9143e\",\"61\":\"913ccfa8\",\"117\":\"4d3ae554\",\"160\":\"207f86ee\",\"173\":\"4e774f7f\",\"232\":\"739c176a\",\"253\":\"22103681\",\"437\":\"f62ffe40\",\"479\":\"227a12ec\",\"498\":\"79fdd20e\",\"530\":\"66657347\",\"577\":\"48df0cd2\",\"586\":\"cfd14ef3\",\"715\":\"936617df\",\"845\":\"dbd3dcab\",\"846\":\"7353c3b4\",\"950\":\"394dda0b\",\"973\":\"14576775\",\"998\":\"86398cde\"}[chunkId] + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + chunkId + \".\" + \"d364a287\" + \".chunk.css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"js:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = \"js\";\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"@iobroker/adapter-react-v5\", \"6.1.6\", () => (Promise.all([__webpack_require__.e(232), __webpack_require__.e(998), __webpack_require__.e(530), __webpack_require__.e(845), __webpack_require__.e(437), __webpack_require__.e(973), __webpack_require__.e(715), __webpack_require__.e(498)]).then(() => (() => (__webpack_require__(65963))))));\n\t\t\tregister(\"@mui/icons-material\", \"5.16.5\", () => (Promise.all([__webpack_require__.e(232), __webpack_require__.e(61), __webpack_require__.e(437), __webpack_require__.e(973)]).then(() => (() => (__webpack_require__(15061))))));\n\t\t\tregister(\"@mui/material\", \"5.16.5\", () => (Promise.all([__webpack_require__.e(232), __webpack_require__.e(998), __webpack_require__.e(846), __webpack_require__.e(437), __webpack_require__.e(973), __webpack_require__.e(479), __webpack_require__.e(160)]).then(() => (() => (__webpack_require__(32846))))));\n\t\t\tregister(\"prop-types\", \"15.7.2\", () => (__webpack_require__.e(586).then(() => (() => (__webpack_require__(586))))));\n\t\t\tregister(\"prop-types\", \"15.8.1\", () => (__webpack_require__.e(173).then(() => (() => (__webpack_require__(65173))))));\n\t\t\tregister(\"react-dom\", \"18.3.1\", () => (Promise.all([__webpack_require__.e(950), __webpack_require__.e(437)]).then(() => (() => (__webpack_require__(97950))))));\n\t\t\tregister(\"react\", \"18.3.1\", () => (__webpack_require__.e(43).then(() => (() => (__webpack_require__(65043))))));\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","var parseVersion = (str) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=p=>{return p.split(\".\").map((p=>{return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = (a, b) => {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r<b.length&&\"u\"!=(typeof b[r])[0];var e=a[r],n=(typeof e)[0];if(r>=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e<t;r++}\n}\nvar rangeToString = (range) => {\n\t// see webpack/lib/util/semver.js for original code\n\tvar r=range[0],n=\"\";if(1===range.length)return\"*\";if(r+.5){n+=0==r?\">=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a<range.length;a++){e--,n+=\"u\"==(typeof(t=range[a]))[0]?\"-\":(e>0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a<range.length;a++){var t=range[a];g.push(0===t?\"not(\"+o()+\")\":1===t?\"(\"+o()+\" || \"+o()+\")\":2===t?g.pop()+\" \"+g.pop():rangeToString(t))}return o();function o(){return g.pop().replace(/^\\((.+)\\)$/,\"$1\")}\n}\nvar satisfy = (range, version) => {\n\t// see webpack/lib/util/semver.js for original code\n\tif(0 in range){version=parseVersion(version);var e=range[0],r=e<0;r&&(e=-e-1);for(var n=0,i=1,a=!0;;i++,n++){var f,s,g=i<range.length?(typeof range[i])[0]:\"\";if(n>=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f<range[i])return!1;f!=range[i]&&(a=!1)}else if(\"s\"!=g&&\"n\"!=g){if(r||i<=e)return!1;a=!1,i--}else{if(i<=e||s<g!=r)return!1;a=!1}else\"s\"!=g&&\"n\"!=g&&(a=!1,i--)}}var t=[],o=t.pop.bind(t);for(n=1;n<range.length;n++){var u=range[n];t.push(1==u?o()|o():2==u?o()&o():u?satisfy(u,version):!o())}return!!o();\n}\nvar ensureExistence = (scopeName, key) => {\n\tvar scope = __webpack_require__.S[scopeName];\n\tif(!scope || !__webpack_require__.o(scope, key)) throw new Error(\"Shared module \" + key + \" doesn't exist in shared scope \" + scopeName);\n\treturn scope;\n};\nvar findVersion = (scope, key) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar findSingletonVersionKey = (scope, key) => {\n\tvar versions = scope[key];\n\treturn Object.keys(versions).reduce((a, b) => {\n\t\treturn !a || (!versions[a].loaded && versionLt(a, b)) ? b : a;\n\t}, 0);\n};\nvar getInvalidSingletonVersionMessage = (scope, key, version, requiredVersion) => {\n\treturn \"Unsatisfied version \" + version + \" from \" + (version && scope[key][version].from) + \" of shared singleton module \" + key + \" (required \" + rangeToString(requiredVersion) + \")\"\n};\nvar getSingleton = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\treturn get(scope[key][version]);\n};\nvar getSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) warn(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar getStrictSingletonVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar version = findSingletonVersionKey(scope, key);\n\tif (!satisfy(requiredVersion, version)) throw new Error(getInvalidSingletonVersionMessage(scope, key, version, requiredVersion));\n\treturn get(scope[key][version]);\n};\nvar findValidVersion = (scope, key, requiredVersion) => {\n\tvar versions = scope[key];\n\tvar key = Object.keys(versions).reduce((a, b) => {\n\t\tif (!satisfy(requiredVersion, b)) return a;\n\t\treturn !a || versionLt(a, b) ? b : a;\n\t}, 0);\n\treturn key && versions[key]\n};\nvar getInvalidVersionMessage = (scope, scopeName, key, requiredVersion) => {\n\tvar versions = scope[key];\n\treturn \"No satisfying version (\" + rangeToString(requiredVersion) + \") of shared module \" + key + \" found in shared scope \" + scopeName + \".\\n\" +\n\t\t\"Available versions: \" + Object.keys(versions).map((key) => {\n\t\treturn key + \" from \" + versions[key].from;\n\t}).join(\", \");\n};\nvar getValidVersion = (scope, scopeName, key, requiredVersion) => {\n\tvar entry = findValidVersion(scope, key, requiredVersion);\n\tif(entry) return get(entry);\n\tthrow new Error(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar warn = (msg) => {\n\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n};\nvar warnInvalidVersion = (scope, scopeName, key, requiredVersion) => {\n\twarn(getInvalidVersionMessage(scope, scopeName, key, requiredVersion));\n};\nvar get = (entry) => {\n\tentry.loaded = 1;\n\treturn entry.get()\n};\nvar init = (fn) => (function(scopeName, a, b, c) {\n\tvar promise = __webpack_require__.I(scopeName);\n\tif (promise && promise.then) return promise.then(fn.bind(fn, scopeName, __webpack_require__.S[scopeName], a, b, c));\n\treturn fn(scopeName, __webpack_require__.S[scopeName], a, b, c);\n});\n\nvar load = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn get(findVersion(scope, key));\n});\nvar loadFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\treturn scope && __webpack_require__.o(scope, key) ? get(findVersion(scope, key)) : fallback();\n});\nvar loadVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingleton = /*#__PURE__*/ init((scopeName, scope, key) => {\n\tensureExistence(scopeName, key);\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getValidVersion(scope, scopeName, key, version);\n});\nvar loadStrictSingletonVersionCheck = /*#__PURE__*/ init((scopeName, scope, key, version) => {\n\tensureExistence(scopeName, key);\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar loadVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn get(findValidVersion(scope, key, version) || warnInvalidVersion(scope, scopeName, key, version) || findVersion(scope, key));\n});\nvar loadSingletonFallback = /*#__PURE__*/ init((scopeName, scope, key, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingleton(scope, scopeName, key);\n});\nvar loadSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getSingletonVersion(scope, scopeName, key, version);\n});\nvar loadStrictVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tvar entry = scope && __webpack_require__.o(scope, key) && findValidVersion(scope, key, version);\n\treturn entry ? get(entry) : fallback();\n});\nvar loadStrictSingletonVersionCheckFallback = /*#__PURE__*/ init((scopeName, scope, key, version, fallback) => {\n\tif(!scope || !__webpack_require__.o(scope, key)) return fallback();\n\treturn getStrictSingletonVersion(scope, scopeName, key, version);\n});\nvar installedModules = {};\nvar moduleToHandlerMapping = {\n\t28437: () => (loadSingletonVersionCheckFallback(\"default\", \"react\", [0], () => (__webpack_require__.e(43).then(() => (() => (__webpack_require__(65043))))))),\n\t95973: () => (loadSingletonVersionCheckFallback(\"default\", \"prop-types\", [0], () => (__webpack_require__.e(173).then(() => (() => (__webpack_require__(65173))))))),\n\t23479: () => (loadSingletonVersionCheckFallback(\"default\", \"react-dom\", [0], () => (__webpack_require__.e(950).then(() => (() => (__webpack_require__(97950))))))),\n\t21839: () => (loadSingletonVersionCheckFallback(\"default\", \"@mui/icons-material\", [0], () => (__webpack_require__.e(61).then(() => (() => (__webpack_require__(15061))))))),\n\t67085: () => (loadSingletonVersionCheckFallback(\"default\", \"@mui/material\", [0], () => (Promise.all([__webpack_require__.e(998), __webpack_require__.e(846), __webpack_require__.e(479)]).then(() => (() => (__webpack_require__(32846))))))),\n\t16372: () => (loadSingletonVersionCheckFallback(\"default\", \"prop-types\", [0], () => (__webpack_require__.e(586).then(() => (() => (__webpack_require__(586))))))),\n\t37449: () => (loadSingletonVersionCheckFallback(\"default\", \"@iobroker/adapter-react-v5\", [0], () => (Promise.all([__webpack_require__.e(998), __webpack_require__.e(530), __webpack_require__.e(117)]).then(() => (() => (__webpack_require__(65963)))))))\n};\n// no consumes in initial chunks\nvar chunkMapping = {\n\t\"253\": [\n\t\t16372,\n\t\t37449\n\t],\n\t\"437\": [\n\t\t28437\n\t],\n\t\"479\": [\n\t\t23479\n\t],\n\t\"715\": [\n\t\t21839,\n\t\t67085\n\t],\n\t\"973\": [\n\t\t95973\n\t]\n};\nvar startedInstallModules = {};\n__webpack_require__.f.consumes = (chunkId, promises) => {\n\tif(__webpack_require__.o(chunkMapping, chunkId)) {\n\t\tchunkMapping[chunkId].forEach((id) => {\n\t\t\tif(__webpack_require__.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\t\tif(!startedInstallModules[id]) {\n\t\t\tvar onFactory = (factory) => {\n\t\t\t\tinstalledModules[id] = 0;\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tmodule.exports = factory();\n\t\t\t\t}\n\t\t\t};\n\t\t\tstartedInstallModules[id] = true;\n\t\t\tvar onError = (error) => {\n\t\t\t\tdelete installedModules[id];\n\t\t\t\t__webpack_require__.m[id] = (module) => {\n\t\t\t\t\tdelete __webpack_require__.c[id];\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tvar promise = moduleToHandlerMapping[id]();\n\t\t\t\tif(promise.then) {\n\t\t\t\t\tpromises.push(installedModules[id] = promise.then(onFactory)['catch'](onError));\n\t\t\t\t} else onFactory(promise);\n\t\t\t} catch(e) { onError(e); }\n\t\t\t}\n\t\t});\n\t}\n}","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"253\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(437|479|715|973)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjs\"] = self[\"webpackChunkjs\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(27868);\n"],"names":["__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","c","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","f","e","chunkId","Promise","all","keys","reduce","promises","u","miniCssF","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","inProgress","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","fn","setTimeout","bind","type","target","head","appendChild","r","Symbol","toStringTag","value","nmd","paths","children","S","initPromises","initTokens","I","name","initScope","initToken","indexOf","scope","register","version","factory","eager","versions","activeVersion","from","then","scriptUrl","importScripts","location","currentScript","test","Error","replace","p","parseVersion","str","split","map","exec","apply","versionLt","b","t","rangeToString","range","pop","satisfy","findSingletonVersionKey","getInvalidSingletonVersionMessage","requiredVersion","getSingletonVersion","scopeName","warn","msg","console","entry","init","promise","loadSingletonVersionCheckFallback","fallback","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","consumes","onFactory","onError","error","loadStylesheet","resolve","reject","href","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","oldTag","linkTag","nonce","errorType","realHref","err","code","request","insertBefore","nextSibling","createStylesheet","installedCssChunks","miniCss","installedChunks","j","installedChunkData","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","self"],"sourceRoot":""}
|
package/admin/tab.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"><link rel="shortcut icon" href="./favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="manifest" href="./manifest.json" crossorigin="use-credentials"/><script type="text/javascript" src="_socket/info.js"></script><script type="text/javascript" onerror="setTimeout(function(){window.location.reload()}, 5000)" src="./../../lib/js/socket.io.js"></script><title>Scripts</title><script type="text/javascript" src="google-blockly/blockly_compressed.js"></script><script type="text/javascript" src="google-blockly/msg/js/en.js"></script><script type="text/javascript" src="google-blockly/blocks_compressed.js"></script><script type="text/javascript" src="google-blockly/javascript_compressed.js"></script><script type="text/javascript" src="google-blockly/own/blocks_words.js"></script><script type="text/javascript" src="google-blockly/own/blocks_procedures.js"></script><script type="text/javascript" src="google-blockly/own/blocks_logic.js"></script><script type="text/javascript" src="google-blockly/own/blocks_switch.js"></script><script type="text/javascript" src="google-blockly/own/blocks_text.js"></script><script type="text/javascript" src="google-blockly/own/blocks_number.js"></script><script type="text/javascript" src="google-blockly/own/field_oid.js"></script><script type="text/javascript" src="google-blockly/own/field_cron.js"></script><script type="text/javascript" src="google-blockly/own/field_script.js"></script><script type="text/javascript" src="google-blockly/own/blocks_system.js"></script><script type="text/javascript" src="google-blockly/own/blocks_action.js"></script><script type="text/javascript" src="google-blockly/own/blocks_sendto.js"></script><script type="text/javascript" src="google-blockly/own/blocks_time.js"></script><script type="text/javascript" src="google-blockly/own/blocks_convert.js"></script><script type="text/javascript" src="google-blockly/own/blocks_trigger.js"></script><script type="text/javascript" src="google-blockly/own/blocks_timeout.js"></script><script type="text/javascript" src="google-blockly/own/blocks_object.js"></script><script defer="defer" src="static/js/main.95b47fd0.js"></script></head><body><noscript>You need to enable JavaScript to run this app.</noscript><script>"dark"===(window.localStorage&&window.localStorage.getItem("App.theme"))&&(window.document.body.style.background="black"),window.Blockly&&(window.Blockly.Constants=window.Blockly.Constants||{},window.Blockly.Constants.Loops=window.Blockly.Constants.Loops||{},window.Blockly.Constants.Variables=window.Blockly.Constants.Variables||{},window.Blockly.Constants.Variables.HUE="rgb(165, 91, 128)",window.Blockly.Constants.Logic=window.Blockly.Constants.Logic||{},window.Blockly.Constants.Logic.HUE="rgb(91, 128, 165)",window.Blockly.Constants.Math=window.Blockly.Constants.Logic||{},window.Blockly.Constants.Math.HUE="rgb(91, 103, 165)")</script><div id="root"></div><script></script><xml id="toolbox" style="display:none"><category><block>%%CUSTOM_BLOCKS%%</block></category><sep></sep><category name="{catLogic}" colour="210"><block type="controls_if"></block><block type="logic_compare"></block><block type="logic_multi_and"><mutation items="2"></mutation></block><sep gap="5"></sep><block type="logic_multi_or"><mutation items="2"></mutation></block><sep gap="5"></sep><block type="logic_operation"></block><block type="logic_boolean"></block><sep gap="5"></sep><block type="logic_null"></block><sep gap="5"></sep><block type="logic_negate"></block><block type="logic_ternary"></block><block type="logic_switch_case"><value name="CONDITION"></value><value name="CASECONDITION0"></value><value name="CASE0"></value><mutation with_statement="false" items="parameter1"></mutation></block><block type="logic_between"><value name="MIN"><block type="math_number"><field name="NUM">0</field></block></value><field name="MIN_OPERATOR">LE</field><value name="VALUE"><shadow type="math_number"><field name="NUM">42</field></shadow></value><field name="MAX_OPERATOR">LE</field><value name="MAX"><block type="math_number"><field name="NUM">100</field></block></value></block><block type="logic_ifempty"><value name="VALUE"></value><value name="DEFLT"></value></block></category><category name="{catLoops}" colour="120"><block type="controls_repeat_ext"><value name="TIMES"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="controls_whileUntil"></block><block type="controls_for"><value name="FROM"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number"><field name="NUM">10</field></shadow></value><value name="BY"><shadow type="math_number"><field name="NUM">1</field></shadow></value></block><block type="controls_forEach"></block><block type="controls_flow_statements"></block></category><category name="{catMath}" colour="230"><block type="math_number"></block><block type="math_arithmetic"><value name="A"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="B"><shadow type="math_number"><field name="NUM">1</field></shadow></value></block><block type="math_single"><value name="NUM"><shadow type="math_number"><field name="NUM">9</field></shadow></value></block><block type="math_trig"><value name="NUM"><shadow type="math_number"><field name="NUM">45</field></shadow></value></block><block type="math_constant"></block><block type="math_number_property"><value name="NUMBER_TO_CHECK"><shadow type="math_number"><field name="NUM">0</field></shadow></value></block><block type="math_change"><value name="DELTA"><shadow type="math_number"><field name="NUM">1</field></shadow></value></block><block type="math_round"><value name="NUM"><shadow type="math_number"><field name="NUM">3.1</field></shadow></value></block><block type="math_rndfixed"><field name="n">2</field><value name="x"><shadow type="math_number"><field name="NUM">3.1234</field></shadow></value></block><block type="math_on_list"></block><block type="math_modulo"><value name="DIVIDEND"><shadow type="math_number"><field name="NUM">64</field></shadow></value><value name="DIVISOR"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="math_constrain"><value name="VALUE"><shadow type="math_number"><field name="NUM">50</field></shadow></value><value name="LOW"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="HIGH"><shadow type="math_number"><field name="NUM">100</field></shadow></value></block><block type="math_random_int"><value name="FROM"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number"><field name="NUM">100</field></shadow></value></block><block type="math_random_float"></block></category><category name="{catText}" colour="160"><block type="text"></block><block type="text_multiline"></block><block type="text_newline"><field name="Type">\n</field></block><block type="text_join"></block><block type="text_append"><value name="TEXT"><shadow type="text"></shadow></value></block><block type="text_length"><value name="VALUE"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_isEmpty"><value name="VALUE"><shadow type="text"><field name="TEXT"></field></shadow></value></block><block type="text_contains"><value name="VALUE"><block type="variables_get"><field name="VAR">text</field></block></value><value name="FIND"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_indexOf"><value name="VALUE"><block type="variables_get"><field name="VAR">{textVariable}</field></block></value><value name="FIND"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_charAt"><value name="VALUE"><block type="variables_get"><field name="VAR">{textVariable}</field></block></value></block><block type="text_getSubstring"><value name="STRING"><block type="variables_get"><field name="VAR">{textVariable}</field></block></value></block><block type="text_changeCase"><value name="TEXT"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_trim"><value name="TEXT"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_count"><value name="SUB"><shadow type="text"></shadow></value><value name="TEXT"><shadow type="text"></shadow></value></block><block type="text_replace"><value name="FROM"><shadow type="text"><field name="TEXT">x</field></shadow></value><value name="TO"><shadow type="text"><field name="TEXT">y</field></shadow></value><value name="TEXT"><shadow type="text"><field name="TEXT">text</field></shadow></value></block><block type="text_reverse"><value name="TEXT"><shadow type="text">text</shadow></value></block></category><category name="{catLists}" colour="260"><block type="lists_create_with"><mutation items="0"></mutation></block><block type="lists_create_with"></block><block type="lists_repeat"><value name="NUM"><shadow type="math_number"><field name="NUM">5</field></shadow></value></block><block type="lists_length"></block><block type="lists_isEmpty"></block><block type="lists_indexOf"><value name="VALUE"><block type="variables_get"><field name="VAR">{listVariable}</field></block></value></block><block type="lists_getIndex"><value name="VALUE"><block type="variables_get"><field name="VAR">{listVariable}</field></block></value></block><block type="lists_setIndex"><value name="LIST"><block type="variables_get"><field name="VAR">{listVariable}</field></block></value></block><block type="lists_getSublist"><value name="LIST"><block type="variables_get"><field name="VAR">{listVariable}</field></block></value></block><block type="lists_split"><value name="DELIM"><shadow type="text"><field name="TEXT">,</field></shadow></value></block><block type="lists_sort"></block><block type="lists_reverse"></block></category><category name="{catColour}" colour="20"><block type="colour_picker"></block><block type="colour_random"></block><block type="colour_rgb"><value name="RED"><shadow type="math_number"><field name="NUM">100</field></shadow></value><value name="GREEN"><shadow type="math_number"><field name="NUM">50</field></shadow></value><value name="BLUE"><shadow type="math_number"><field name="NUM">0</field></shadow></value></block><block type="colour_blend"><value name="COLOUR1"><shadow type="colour_picker"><field name="COLOUR">#ff0000</field></shadow></value><value name="COLOUR2"><shadow type="colour_picker"><field name="COLOUR">#3333ff</field></shadow></value><value name="RATIO"><shadow type="math_number"><field name="NUM">0.5</field></shadow></value></block></category><sep></sep><category name="{catVariables}" colour="330" custom="VARIABLE"></category><category name="{catFunctions}" colour="290" custom="PROCEDURE"></category></xml><script type="text/javascript" src="vs/loader.js"></script><script type="text/javascript" src="vs/configure.js"></script></body></html>
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"><link rel="shortcut icon" href="./favicon.ico"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="manifest" href="./manifest.json" crossorigin="use-credentials"/><script type="text/javascript" src="_socket/info.js"></script><script type="text/javascript" onerror="setTimeout(function(){window.location.reload()}, 5000)" src="./../../lib/js/socket.io.js"></script><title>Scripts</title><script type="text/javascript" src="google-blockly/blockly_compressed.js"></script><script type="text/javascript" src="google-blockly/msg/js/en.js"></script><script type="text/javascript" src="google-blockly/blocks_compressed.js"></script><script type="text/javascript" src="google-blockly/javascript_compressed.js"></script><script type="text/javascript" src="google-blockly/own/blocks_words.js"></script><script type="text/javascript" src="google-blockly/own/blocks_procedures.js"></script><script type="text/javascript" src="google-blockly/own/blocks_logic.js"></script><script type="text/javascript" src="google-blockly/own/blocks_switch.js"></script><script type="text/javascript" src="google-blockly/own/blocks_text.js"></script><script type="text/javascript" src="google-blockly/own/blocks_number.js"></script><script type="text/javascript" src="google-blockly/own/field_oid.js"></script><script type="text/javascript" src="google-blockly/own/field_cron.js"></script><script type="text/javascript" src="google-blockly/own/field_script.js"></script><script type="text/javascript" src="google-blockly/own/blocks_system.js"></script><script type="text/javascript" src="google-blockly/own/blocks_action.js"></script><script type="text/javascript" src="google-blockly/own/blocks_sendto.js"></script><script type="text/javascript" src="google-blockly/own/blocks_time.js"></script><script type="text/javascript" src="google-blockly/own/blocks_convert.js"></script><script type="text/javascript" src="google-blockly/own/blocks_trigger.js"></script><script type="text/javascript" src="google-blockly/own/blocks_timeout.js"></script><script type="text/javascript" src="google-blockly/own/blocks_object.js"></script><script defer="defer" src="static/js/main.4b1da50f.js"></script></head><body><noscript>You need to enable JavaScript to run this app.</noscript><script>"dark"===(window.localStorage&&window.localStorage.getItem("App.theme"))&&(window.document.body.style.background="black"),window.Blockly&&(window.Blockly.Constants=window.Blockly.Constants||{},window.Blockly.Constants.Loops=window.Blockly.Constants.Loops||{},window.Blockly.Constants.Variables=window.Blockly.Constants.Variables||{},window.Blockly.Constants.Variables.HUE="rgb(165, 91, 128)",window.Blockly.Constants.Logic=window.Blockly.Constants.Logic||{},window.Blockly.Constants.Logic.HUE="rgb(91, 128, 165)",window.Blockly.Constants.Math=window.Blockly.Constants.Logic||{},window.Blockly.Constants.Math.HUE="rgb(91, 103, 165)")</script><div id="root"></div><script></script><xml id="toolbox" style="display:none"><category><block>%%CUSTOM_BLOCKS%%</block></category><sep></sep><category name="{catLogic}" colour="210"><block type="controls_if"></block><block type="logic_compare"></block><block type="logic_multi_and"><mutation items="2"></mutation></block><sep gap="5"></sep><block type="logic_multi_or"><mutation items="2"></mutation></block><sep gap="5"></sep><block type="logic_operation"></block><block type="logic_boolean"></block><sep gap="5"></sep><block type="logic_null"></block><sep gap="5"></sep><block type="logic_negate"></block><block type="logic_ternary"></block><block type="logic_switch_case"><value name="CONDITION"></value><value name="CASECONDITION0"></value><value name="CASE0"></value><mutation with_statement="false" items="parameter1"></mutation></block><block type="logic_between"><value name="MIN"><block type="math_number"><field name="NUM">0</field></block></value><field name="MIN_OPERATOR">LE</field><value name="VALUE"><shadow type="math_number"><field name="NUM">42</field></shadow></value><field name="MAX_OPERATOR">LE</field><value name="MAX"><block type="math_number"><field name="NUM">100</field></block></value></block><block type="logic_ifempty"><value name="VALUE"></value><value name="DEFLT"></value></block></category><category name="{catLoops}" colour="120"><block type="controls_repeat_ext"><value name="TIMES"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="controls_whileUntil"></block><block type="controls_for"><value name="FROM"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number"><field name="NUM">10</field></shadow></value><value name="BY"><shadow type="math_number"><field name="NUM">1</field></shadow></value></block><block type="controls_forEach"></block><block type="controls_flow_statements"></block></category><category name="{catMath}" colour="230"><block type="math_number"></block><block type="math_arithmetic"><value name="A"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="B"><shadow type="math_number"><field name="NUM">1</field></shadow></value></block><block type="math_single"><value name="NUM"><shadow type="math_number"><field name="NUM">9</field></shadow></value></block><block type="math_trig"><value name="NUM"><shadow type="math_number"><field name="NUM">45</field></shadow></value></block><block type="math_constant"></block><block type="math_number_property"><value name="NUMBER_TO_CHECK"><shadow type="math_number"><field name="NUM">0</field></shadow></value></block><block type="math_change"><value name="DELTA"><shadow type="math_number"><field name="NUM">1</field></shadow></value></block><block type="math_round"><value name="NUM"><shadow type="math_number"><field name="NUM">3.1</field></shadow></value></block><block type="math_rndfixed"><field name="n">2</field><value name="x"><shadow type="math_number"><field name="NUM">3.1234</field></shadow></value></block><block type="math_on_list"></block><block type="math_modulo"><value name="DIVIDEND"><shadow type="math_number"><field name="NUM">64</field></shadow></value><value name="DIVISOR"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="math_constrain"><value name="VALUE"><shadow type="math_number"><field name="NUM">50</field></shadow></value><value name="LOW"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="HIGH"><shadow type="math_number"><field name="NUM">100</field></shadow></value></block><block type="math_random_int"><value name="FROM"><shadow type="math_number"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number"><field name="NUM">100</field></shadow></value></block><block type="math_random_float"></block></category><category name="{catText}" colour="160"><block type="text"></block><block type="text_multiline"></block><block type="text_newline"><field name="Type">\n</field></block><block type="text_join"></block><block type="text_append"><value name="TEXT"><shadow type="text"></shadow></value></block><block type="text_length"><value name="VALUE"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_isEmpty"><value name="VALUE"><shadow type="text"><field name="TEXT"></field></shadow></value></block><block type="text_contains"><value name="VALUE"><block type="variables_get"><field name="VAR">text</field></block></value><value name="FIND"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_indexOf"><value name="VALUE"><block type="variables_get"><field name="VAR">{textVariable}</field></block></value><value name="FIND"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_charAt"><value name="VALUE"><block type="variables_get"><field name="VAR">{textVariable}</field></block></value></block><block type="text_getSubstring"><value name="STRING"><block type="variables_get"><field name="VAR">{textVariable}</field></block></value></block><block type="text_changeCase"><value name="TEXT"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_trim"><value name="TEXT"><shadow type="text"><field name="TEXT">abc</field></shadow></value></block><block type="text_count"><value name="SUB"><shadow type="text"></shadow></value><value name="TEXT"><shadow type="text"></shadow></value></block><block type="text_replace"><value name="FROM"><shadow type="text"><field name="TEXT">x</field></shadow></value><value name="TO"><shadow type="text"><field name="TEXT">y</field></shadow></value><value name="TEXT"><shadow type="text"><field name="TEXT">text</field></shadow></value></block><block type="text_reverse"><value name="TEXT"><shadow type="text">text</shadow></value></block></category><category name="{catLists}" colour="260"><block type="lists_create_with"><mutation items="0"></mutation></block><block type="lists_create_with"></block><block type="lists_repeat"><value name="NUM"><shadow type="math_number"><field name="NUM">5</field></shadow></value></block><block type="lists_length"></block><block type="lists_isEmpty"></block><block type="lists_indexOf"><value name="VALUE"><block type="variables_get"><field name="VAR">{listVariable}</field></block></value></block><block type="lists_getIndex"><value name="VALUE"><block type="variables_get"><field name="VAR">{listVariable}</field></block></value></block><block type="lists_setIndex"><value name="LIST"><block type="variables_get"><field name="VAR">{listVariable}</field></block></value></block><block type="lists_getSublist"><value name="LIST"><block type="variables_get"><field name="VAR">{listVariable}</field></block></value></block><block type="lists_split"><value name="DELIM"><shadow type="text"><field name="TEXT">,</field></shadow></value></block><block type="lists_sort"></block><block type="lists_reverse"></block></category><category name="{catColour}" colour="20"><block type="colour_picker"></block><block type="colour_random"></block><block type="colour_rgb"><value name="RED"><shadow type="math_number"><field name="NUM">100</field></shadow></value><value name="GREEN"><shadow type="math_number"><field name="NUM">50</field></shadow></value><value name="BLUE"><shadow type="math_number"><field name="NUM">0</field></shadow></value></block><block type="colour_blend"><value name="COLOUR1"><shadow type="colour_picker"><field name="COLOUR">#ff0000</field></shadow></value><value name="COLOUR2"><shadow type="colour_picker"><field name="COLOUR">#3333ff</field></shadow></value><value name="RATIO"><shadow type="math_number"><field name="NUM">0.5</field></shadow></value></block></category><sep></sep><category name="{catVariables}" colour="330" custom="VARIABLE"></category><category name="{catFunctions}" colour="290" custom="PROCEDURE"></category></xml><script type="text/javascript" src="vs/loader.js"></script><script type="text/javascript" src="vs/configure.js"></script></body></html>
|
package/docs/en/javascript.md
CHANGED
|
@@ -86,6 +86,7 @@
|
|
|
86
86
|
- [httpGet](#httpget)
|
|
87
87
|
- [httpPost](#httppost)
|
|
88
88
|
- [createTempFile](#createtempfile)
|
|
89
|
+
- [registerNotification](#registerNotification)
|
|
89
90
|
|
|
90
91
|
- [Scripts activity](#scripts-activity)
|
|
91
92
|
- [Changelog](#changelog)
|
|
@@ -1160,15 +1161,32 @@ sendToHost(hostName, command, message, callback);
|
|
|
1160
1161
|
Send a message to controller instance.
|
|
1161
1162
|
|
|
1162
1163
|
The following commands are supported:
|
|
1163
|
-
- `
|
|
1164
|
-
- `
|
|
1165
|
-
- `
|
|
1166
|
-
- `
|
|
1167
|
-
- `
|
|
1168
|
-
- `
|
|
1169
|
-
- `
|
|
1170
|
-
- `
|
|
1171
|
-
- `
|
|
1164
|
+
- `'cmdExec'`
|
|
1165
|
+
- `'getRepository'`
|
|
1166
|
+
- `'getInstalled'`
|
|
1167
|
+
- `'getVersion'`
|
|
1168
|
+
- `'getDiagData'`
|
|
1169
|
+
- `'getLocationOnDisk'`
|
|
1170
|
+
- `'getDevList'`
|
|
1171
|
+
- `'getLogs'`
|
|
1172
|
+
- `'getLogFile'`
|
|
1173
|
+
- `'getLogFiles'`
|
|
1174
|
+
- `'delLogs'`
|
|
1175
|
+
- `'getHostInfo'`
|
|
1176
|
+
- `'getHostInfoShort'`
|
|
1177
|
+
- `'updateMultihost'`
|
|
1178
|
+
- `'upgradeController'` - Upgrade js-controller to newest version
|
|
1179
|
+
- `'getInterfaces'` - Returns all available network interfaces of the system
|
|
1180
|
+
- `'getInterfaces'` - Starts an adapter upload
|
|
1181
|
+
- `'rebuildAdapter'`
|
|
1182
|
+
- `'readBaseSettings'`
|
|
1183
|
+
- `'writeBaseSettings'`
|
|
1184
|
+
- `'addNotification'`
|
|
1185
|
+
- `'clearNotifications'`
|
|
1186
|
+
- `'getNotifications'`
|
|
1187
|
+
- `'updateLicenses'` - read licenses from iobroker.net
|
|
1188
|
+
- `'upgradeOsPackages'`
|
|
1189
|
+
- `'restartController'`
|
|
1172
1190
|
|
|
1173
1191
|
It is rather specific commands and are not required often.
|
|
1174
1192
|
|
|
@@ -1994,6 +2012,15 @@ readFile('0_userdata.0', 'test.jpg', (err, data, mimeType) => {
|
|
|
1994
2012
|
});
|
|
1995
2013
|
```
|
|
1996
2014
|
|
|
2015
|
+
## registerNotification
|
|
2016
|
+
|
|
2017
|
+
*Requires version >= 8.8.0*
|
|
2018
|
+
|
|
2019
|
+
```js
|
|
2020
|
+
registerNotification('This is just an information'); // Notify
|
|
2021
|
+
registerNotification('This is an important message!', true); // Alert
|
|
2022
|
+
```
|
|
2023
|
+
|
|
1997
2024
|
## Global script variables
|
|
1998
2025
|
### scriptName
|
|
1999
2026
|
`scriptName` - The name of the script.
|
package/io-package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "javascript",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.8.0",
|
|
5
5
|
"blockedVersions": [
|
|
6
6
|
"8.0.0",
|
|
7
7
|
"8.0.1"
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"it": "Motore di script",
|
|
17
17
|
"es": "Motor de script",
|
|
18
18
|
"pl": "Silnik skryptowy",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
19
|
+
"uk": "Механізм сценаріїв",
|
|
20
|
+
"zh-cn": "脚本引擎"
|
|
21
21
|
},
|
|
22
22
|
"desc": {
|
|
23
23
|
"en": "Javascript/Blockly Script Engine for ioBroker",
|
|
@@ -40,6 +40,19 @@
|
|
|
40
40
|
"Matthias Kleine <info@haus-automatisierung.com>"
|
|
41
41
|
],
|
|
42
42
|
"news": {
|
|
43
|
+
"8.8.0": {
|
|
44
|
+
"en": "Added option to register notifications via scripts\nFixed sendTo block with empty name list",
|
|
45
|
+
"de": "Option hinzugefügt, um Benachrichtigungen über Skripte zu registrieren\nFester Versand Blockieren mit leerer Namensliste",
|
|
46
|
+
"ru": "Добавлена возможность регистрации уведомлений через скрипты\nFixed send Заблокировать с пустым списком имен",
|
|
47
|
+
"pt": "Opção adicionada para registrar notificações via scripts\nEnviar fixo Para bloquear com lista de nomes vazia",
|
|
48
|
+
"nl": "Toegevoegd optie om meldingen te registreren via scripts\nVaste verzending Te blokkeren met lege naamlijst",
|
|
49
|
+
"fr": "Ajout d'une option pour enregistrer les notifications via des scripts\nEnvoi fixe Pour bloquer avec la liste des noms vides",
|
|
50
|
+
"it": "Aggiunta opzione per registrare le notifiche tramite script\nInviato fisso Per bloccare con l'elenco dei nomi vuoti",
|
|
51
|
+
"es": "Opción agregada para registrar notificaciones a través de scripts\nEnvío fijo Para bloquear con lista de nombres vacía",
|
|
52
|
+
"pl": "Dodano opcję rejestracji powiadomień za pomocą skryptów\nPoprawiono wysyłanie Blokowanie z pustą listą nazw",
|
|
53
|
+
"uk": "Додано опцію для реєстрації повідомлень через скрипти\nВиправлена відправка Заблокувати список порожніх імен",
|
|
54
|
+
"zh-cn": "添加通过脚本注册通知的选项\n固定发送 以空名称列表屏蔽"
|
|
55
|
+
},
|
|
43
56
|
"8.7.7": {
|
|
44
57
|
"en": "Fixed import scripts dialog\nAllow to remove all custom packages (empty list)",
|
|
45
58
|
"de": "Feste Importskripte Dialog\nLassen Sie alle benutzerdefinierte Pakete entfernen (leere Liste)",
|
|
@@ -117,19 +130,6 @@
|
|
|
117
130
|
"pl": "import stałych podścieżek ze sterownikiem v6 (wymaga sterownika js- controller v6.0.9)",
|
|
118
131
|
"uk": "фіксований підпатовий імпорт з контролером v6 (без js-controller v6.0.9)",
|
|
119
132
|
"zh-cn": "带有控制器 v6( 需要 js- controller v6. 0.9) 的固定子路径导入"
|
|
120
|
-
},
|
|
121
|
-
"8.7.1": {
|
|
122
|
-
"en": "load correct typings for TypeScript scripts with js-controller v6 (needs js-controller v6.0.9)",
|
|
123
|
-
"de": "laden korrekte Eingaben für TypeScript-Skripte mit js-controller v6 (needs js-controller v6.0.9)",
|
|
124
|
-
"ru": "погрузочно-корректные типографии для скриптов TypeScript с js-controller v6 (needs js-controller v6.0.9)",
|
|
125
|
-
"pt": "carregar digitações corretas para scripts TypeScript com js-controller v6 (needs js-controller v6.0.9)",
|
|
126
|
-
"nl": "load correct typeringen voor TypeScript scripts met js-controller v6 ( needs js-controller v6.0.9)",
|
|
127
|
-
"fr": "chargez les typages corrects pour les scripts TypeScript avec js-controller v6 (besoins js-controller v6.0.9)",
|
|
128
|
-
"it": "digitazioni corrette di carico per script TypeScript con js-controller v6 (needs js-controller v6.0.9)",
|
|
129
|
-
"es": "cargar correctos tipeos para scripts TipoScript con js-controller v6 (necesidades js-controller v6.0.9)",
|
|
130
|
-
"pl": "wczytanie poprawnych napisów skryptów TypeScript ze sterownikiem js- v6 (wymaga kontrolera js- v6.0.9)",
|
|
131
|
-
"uk": "навантаження правильного друку для сценаріїв TypeScript з js-controller v6 (needs js-controller v6.0.9)",
|
|
132
|
-
"zh-cn": "用 js 控制器 v6 装入 TypeScript 脚本的正确打字( 需要 js 控制器 v 6. 0.9)"
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
135
|
"platform": "Javascript/Node.js",
|
|
@@ -383,6 +383,103 @@
|
|
|
383
383
|
}
|
|
384
384
|
]
|
|
385
385
|
},
|
|
386
|
+
"notifications": [
|
|
387
|
+
{
|
|
388
|
+
"scope": "javascript",
|
|
389
|
+
"name": {
|
|
390
|
+
"en": "Script Engine",
|
|
391
|
+
"de": "Skriptausführung",
|
|
392
|
+
"ru": "Скрипты",
|
|
393
|
+
"pt": "Script Engine",
|
|
394
|
+
"nl": "Script-engine",
|
|
395
|
+
"fr": "Moteur de script",
|
|
396
|
+
"it": "Motore di script",
|
|
397
|
+
"es": "Motor de script",
|
|
398
|
+
"pl": "Silnik skryptowy",
|
|
399
|
+
"uk": "Механізм сценаріїв",
|
|
400
|
+
"zh-cn": "脚本引擎"
|
|
401
|
+
},
|
|
402
|
+
"description": {
|
|
403
|
+
"en": "Notifications generated by the script engine",
|
|
404
|
+
"de": "Benachrichtigungen, welche von der Skript-Engine generiert werden",
|
|
405
|
+
"ru": "Уведомления, генерируемые скриптовым двигателем",
|
|
406
|
+
"pt": "Notificações geradas pelo mecanismo de script",
|
|
407
|
+
"nl": "Door de script-engine gegenereerde meldingen",
|
|
408
|
+
"fr": "Notifications générées par le moteur de script",
|
|
409
|
+
"it": "Notifiche generate dal motore di script",
|
|
410
|
+
"es": "Notificaciones generadas por el motor script",
|
|
411
|
+
"pl": "Powiadomienia generowane przez silnik skryptu",
|
|
412
|
+
"uk": "Повідомлення, що генеруються двигуном скрипта",
|
|
413
|
+
"zh-cn": "脚本引擎生成的通知"
|
|
414
|
+
},
|
|
415
|
+
"categories": [
|
|
416
|
+
{
|
|
417
|
+
"category": "scriptMessage",
|
|
418
|
+
"name": {
|
|
419
|
+
"en": "Message from script",
|
|
420
|
+
"de": "Nachricht von Skript",
|
|
421
|
+
"ru": "Сообщение от скрипта",
|
|
422
|
+
"pt": "Mensagem do script",
|
|
423
|
+
"nl": "Bericht van script",
|
|
424
|
+
"fr": "Message du script",
|
|
425
|
+
"it": "Messaggio dallo script",
|
|
426
|
+
"es": "Mensaje del script",
|
|
427
|
+
"pl": "Wiadomość ze skryptu",
|
|
428
|
+
"uk": "Повідомлення з сценарію",
|
|
429
|
+
"zh-cn": "来自脚本的信件"
|
|
430
|
+
},
|
|
431
|
+
"severity": "notify",
|
|
432
|
+
"description": {
|
|
433
|
+
"en": "Custom message from scripts",
|
|
434
|
+
"de": "Benutzerdefinierte Nachricht von Skript",
|
|
435
|
+
"ru": "Пользовательское сообщение из скриптов",
|
|
436
|
+
"pt": "Mensagem personalizada de scripts",
|
|
437
|
+
"nl": "Aangepast bericht van scripts",
|
|
438
|
+
"fr": "Message personnalisé à partir de scripts",
|
|
439
|
+
"it": "Messaggi personalizzati da script",
|
|
440
|
+
"es": "Mensaje personalizado de scripts",
|
|
441
|
+
"pl": "Niestandardowa wiadomość ze skryptów",
|
|
442
|
+
"uk": "Спеціальне повідомлення від сценаріїв",
|
|
443
|
+
"zh-cn": "自定义脚本中的消息"
|
|
444
|
+
},
|
|
445
|
+
"regex": [],
|
|
446
|
+
"limit": 100
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"category": "scriptAlert",
|
|
450
|
+
"name": {
|
|
451
|
+
"en": "Alert from script",
|
|
452
|
+
"de": "Alarm von Skript",
|
|
453
|
+
"ru": "Объявление по сценарию",
|
|
454
|
+
"pt": "Alerta do script",
|
|
455
|
+
"nl": "Waarschuwing van script",
|
|
456
|
+
"fr": "Alerte du script",
|
|
457
|
+
"it": "Avviso da script",
|
|
458
|
+
"es": "Alerta del script",
|
|
459
|
+
"pl": "Alarm ze skryptu",
|
|
460
|
+
"uk": "Вставте з скрипта",
|
|
461
|
+
"zh-cn": "从脚本发出警告"
|
|
462
|
+
},
|
|
463
|
+
"severity": "alert",
|
|
464
|
+
"description": {
|
|
465
|
+
"en": "Custom alert from scripts",
|
|
466
|
+
"de": "Benutzerdefinierte Warnung von Skript",
|
|
467
|
+
"ru": "Настраиваемое оповещение от скриптов",
|
|
468
|
+
"pt": "Alerta personalizado de scripts",
|
|
469
|
+
"nl": "Aangepaste waarschuwing van scripts",
|
|
470
|
+
"fr": "Alerte personnalisée des scripts",
|
|
471
|
+
"it": "Avviso personalizzato da script",
|
|
472
|
+
"es": "Alerta personalizada de scripts",
|
|
473
|
+
"pl": "Własny alarm ze skryptów",
|
|
474
|
+
"uk": "Користувальницькі сповіщення від сценаріїв",
|
|
475
|
+
"zh-cn": "自定义脚本提醒"
|
|
476
|
+
},
|
|
477
|
+
"regex": [],
|
|
478
|
+
"limit": 100
|
|
479
|
+
}
|
|
480
|
+
]
|
|
481
|
+
}
|
|
482
|
+
],
|
|
386
483
|
"native": {
|
|
387
484
|
"latitude": "",
|
|
388
485
|
"longitude": "",
|
package/lib/javascript.d.ts
CHANGED
|
@@ -1653,6 +1653,13 @@ declare global {
|
|
|
1653
1653
|
function sendToHost(host: string, command: string, message: string | object, callback?: iobJS.MessageCallback | iobJS.MessageCallbackInfo): void;
|
|
1654
1654
|
function sendToHostAsync(host: string, command: string, message: string | object): Promise<iobJS.MessageCallback | iobJS.MessageCallbackInfo>;
|
|
1655
1655
|
|
|
1656
|
+
/**
|
|
1657
|
+
* Creates a new notification (visible in admin adpter)
|
|
1658
|
+
* @param msg Message text
|
|
1659
|
+
*/
|
|
1660
|
+
function registerNotification(msg: string): void;
|
|
1661
|
+
function registerNotification(msg: string, isAlert: boolean): void;
|
|
1662
|
+
|
|
1656
1663
|
function setTimeout(callback: (args: void) => void, ms?: number): NodeJS.Timeout;
|
|
1657
1664
|
function clearTimeout(timeoutId: NodeJS.Timeout | string | number | undefined): void;
|
|
1658
1665
|
function setInterval(callback: (args: void) => void, ms?: number): NodeJS.Timeout;
|
package/lib/sandbox.js
CHANGED
|
@@ -3171,6 +3171,13 @@ function sandBox(script, name, verbose, debug, context) {
|
|
|
3171
3171
|
});
|
|
3172
3172
|
});
|
|
3173
3173
|
},
|
|
3174
|
+
registerNotification: function (msg, isAlert) {
|
|
3175
|
+
const category = !isAlert ? 'scriptMessage': 'scriptAlert';
|
|
3176
|
+
|
|
3177
|
+
sandbox.verbose && sandbox.log(`registerNotification(msg=${msg}, category=${category})`, 'info');
|
|
3178
|
+
|
|
3179
|
+
adapter.registerNotification('javascript', category, msg);
|
|
3180
|
+
},
|
|
3174
3181
|
setInterval: function (callback, ms, ...args) {
|
|
3175
3182
|
if (typeof callback === 'function') {
|
|
3176
3183
|
const int = setInterval(() => {
|