iobroker.javascript 9.0.9 → 9.0.11

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.
Files changed (31) hide show
  1. package/README.md +8 -6
  2. package/admin/assets/{OpenAiDialog-CDDsvlCe.js → OpenAiDialog-BYXyaWDU.js} +1 -1
  3. package/admin/assets/{Save-D3ZQadHC.js → Save--0ldNXLf.js} +1 -1
  4. package/admin/assets/{ScriptEditor-Ciz-_SvX.js → ScriptEditor-CpRWvDSw.js} +1 -1
  5. package/admin/assets/{ScriptEditorVanillaMonaco-Cs6PL8eZ.js → ScriptEditorVanillaMonaco-BWe9MiKn.js} +1 -1
  6. package/admin/assets/{createSvgIcon-BDXN8whp.js → createSvgIcon-C_ElRFrf.js} +1 -1
  7. package/admin/assets/index-BLZa2V1g.js +1 -0
  8. package/admin/assets/{index-quKi7QsD.js → index-BUU5hWiL.js} +95 -95
  9. package/admin/assets/{index-DOeHpve2.js → index-CMttI-gM.js} +4 -4
  10. package/admin/assets/index-DeFm7TiX.js +5 -0
  11. package/admin/assets/{index-PhbDiVdG.js → index-T5pCS60x.js} +1 -1
  12. package/admin/assets/index-fhg5Z_KX.js +930 -0
  13. package/admin/assets/{inheritsLoose-BLb-YnoJ.js → inheritsLoose-CLw44UEv.js} +1 -1
  14. package/admin/assets/useTheme-CpAj0H76.js +1 -0
  15. package/admin/custom/assets/index-DsPFm5o5.js +904 -0
  16. package/admin/custom/customComponents.js +2 -2
  17. package/admin/google-blockly/own/blocks_procedures.js +162 -0
  18. package/admin/google-blockly/own/blocks_system.js +1 -1
  19. package/admin/mf-manifest.json +1 -1
  20. package/admin/remoteEntry.js +2 -2
  21. package/admin/tab.html +4 -4
  22. package/build-backend/lib/javascript.d.ts +1504 -147
  23. package/build-backend/lib/protectFs.js +111 -104
  24. package/build-backend/lib/protectFs.js.map +1 -1
  25. package/io-package.json +14 -14
  26. package/package.json +3 -3
  27. package/admin/assets/index-BZGWELt0.js +0 -930
  28. package/admin/assets/index-BxkzUxCi.js +0 -27
  29. package/admin/assets/index-DsS-er0h.js +0 -5
  30. package/admin/assets/useTheme-BbFVG4-1.js +0 -1
  31. package/admin/custom/assets/index-FOcWxrRT.js +0 -904
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-Co3YA5NW.js","./assets/_commonjsHelpers-D6-XlEtG.js","./assets/index-ClFSKKDu.js","./assets/ConfigCustomJavascriptSet__loadShare__react__loadShare__-B_YWmFeG.js","./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-Cib3-eWa.js","./assets/jsx-runtime-lE4rOet2.js","./assets/createSvgIcon-BxCMHFh5.js","./assets/DefaultPropsProvider-B41fRCEO.js","./assets/defaultTheme-C_aSR-NR.js","./assets/createTheme-Ajie0adn.js","./assets/DefaultPropsProvider-CfXkmG16.js","./assets/Tabs-DjdFNknI.js","./assets/useTheme-DWmRkwMP.js","./assets/FilledInput-BGGUNS4j.js","./assets/useEnhancedEffect-DSK35Rma.js","./assets/index-7YkEnLQM.js","./assets/useTheme-CpiJlUE9.js","./assets/ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DYzjQQsF.js","./assets/index-B2rBO0oC.js","./assets/index-UhQfKbTz.js","./assets/ThemeProvider-Uan4kCQd.js","./assets/index-FOcWxrRT.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-WrqdT1Hz.js","./assets/index-BkKMt4bp.js","./assets/index-Bw5ZKbIF.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-BHJt30My.js","./assets/preload-helper-Dp1pzeXC.js","./assets/index-bxilEzdP.js","./assets/leaflet-src-A2ZHl6nF.js","./assets/index-DXg_kRe6.js"])))=>i.map(i=>d[i]);
2
- import{i as d,C as p}from"./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-Cib3-eWa.js";import s from"./assets/virtualExposes-4pgHXHfp.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const n={react:async()=>await a(()=>import("./assets/index-Co3YA5NW.js").then(t=>t.i),__vite__mapDeps([0,1]),import.meta.url),"@mui/x-date-pickers":async()=>await a(()=>import("./assets/index-ClFSKKDu.js"),__vite__mapDeps([2,3,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-UhQfKbTz.js"),__vite__mapDeps([19,9,3,1,4,7,8,10,5,11,12,13,14,15,16,6,17,18,20]),import.meta.url),"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-FOcWxrRT.js"),__vite__mapDeps([21,9,3,1,4,22,23,18,16,8,12]),import.meta.url),"@iobroker/json-config":async()=>await a(()=>import("./assets/index-Bw5ZKbIF.js"),__vite__mapDeps([24,3,1,4,22,23,18,25,17,13,7,8,9,10,5,14,12,26]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-bxilEzdP.js").then(t=>t.i),__vite__mapDeps([27,1,3,4]),import.meta.url),leaflet:async()=>await a(()=>import("./assets/leaflet-src-A2ZHl6nF.js").then(t=>t.l),__vite__mapDeps([28,1]),import.meta.url),"@mui/icons-material":async()=>await a(()=>import("./assets/index-DXg_kRe6.js"),__vite__mapDeps([29,5,3,1,4,6,7,8,9,10]),import.meta.url)},o={react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.react.loaded=!0;const{react:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/x-date-pickers":{name:"@mui/x-date-pickers",version:"7.29.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/x-date-pickers"].loaded=!0;const{"@mui/x-date-pickers":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.6.20",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/json-config":{name:"@iobroker/json-config",version:"7.6.20",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/json-config"].loaded=!0;const{"@iobroker/json-config":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},leaflet:{name:"leaflet",version:"1.9.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.leaflet.loaded=!0;const{leaflet:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/icons-material":{name:"@mui/icons-material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/icons-material"].loaded=!0;const{"@mui/icons-material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},f=[],u={},l="default",c="ConfigCustomJavascriptSet";async function k(e={},t=[]){const r=d({name:c,remotes:f,shared:o,plugins:[],shareStrategy:"version-first"});var i=u[l];if(i||(i=u[l]={from:c}),!(t.indexOf(i)>=0)){t.push(i),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(m){console.error(m)}return p.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-Co3YA5NW.js","./assets/_commonjsHelpers-D6-XlEtG.js","./assets/index-ClFSKKDu.js","./assets/ConfigCustomJavascriptSet__loadShare__react__loadShare__-B_YWmFeG.js","./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-Cib3-eWa.js","./assets/jsx-runtime-lE4rOet2.js","./assets/createSvgIcon-BxCMHFh5.js","./assets/DefaultPropsProvider-B41fRCEO.js","./assets/defaultTheme-C_aSR-NR.js","./assets/createTheme-Ajie0adn.js","./assets/DefaultPropsProvider-CfXkmG16.js","./assets/Tabs-DjdFNknI.js","./assets/useTheme-DWmRkwMP.js","./assets/FilledInput-BGGUNS4j.js","./assets/useEnhancedEffect-DSK35Rma.js","./assets/index-7YkEnLQM.js","./assets/useTheme-CpiJlUE9.js","./assets/ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DYzjQQsF.js","./assets/index-B2rBO0oC.js","./assets/index-UhQfKbTz.js","./assets/ThemeProvider-Uan4kCQd.js","./assets/index-DsPFm5o5.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-WrqdT1Hz.js","./assets/index-BkKMt4bp.js","./assets/index-Bw5ZKbIF.js","./assets/ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-BHJt30My.js","./assets/preload-helper-Dp1pzeXC.js","./assets/index-bxilEzdP.js","./assets/leaflet-src-A2ZHl6nF.js","./assets/index-DXg_kRe6.js"])))=>i.map(i=>d[i]);
2
+ import{i as d,C as p}from"./assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-Cib3-eWa.js";import s from"./assets/virtualExposes-4pgHXHfp.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const n={react:async()=>await a(()=>import("./assets/index-Co3YA5NW.js").then(t=>t.i),__vite__mapDeps([0,1]),import.meta.url),"@mui/x-date-pickers":async()=>await a(()=>import("./assets/index-ClFSKKDu.js"),__vite__mapDeps([2,3,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-UhQfKbTz.js"),__vite__mapDeps([19,9,3,1,4,7,8,10,5,11,12,13,14,15,16,6,17,18,20]),import.meta.url),"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-DsPFm5o5.js"),__vite__mapDeps([21,9,3,1,4,22,23,18,16,8,12]),import.meta.url),"@iobroker/json-config":async()=>await a(()=>import("./assets/index-Bw5ZKbIF.js"),__vite__mapDeps([24,3,1,4,22,23,18,25,17,13,7,8,9,10,5,14,12,26]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-bxilEzdP.js").then(t=>t.i),__vite__mapDeps([27,1,3,4]),import.meta.url),leaflet:async()=>await a(()=>import("./assets/leaflet-src-A2ZHl6nF.js").then(t=>t.l),__vite__mapDeps([28,1]),import.meta.url),"@mui/icons-material":async()=>await a(()=>import("./assets/index-DXg_kRe6.js"),__vite__mapDeps([29,5,3,1,4,6,7,8,9,10]),import.meta.url)},o={react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.react.loaded=!0;const{react:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/x-date-pickers":{name:"@mui/x-date-pickers",version:"7.29.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/x-date-pickers"].loaded=!0;const{"@mui/x-date-pickers":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.6.20",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@iobroker/json-config":{name:"@iobroker/json-config",version:"7.6.20",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@iobroker/json-config"].loaded=!0;const{"@iobroker/json-config":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},leaflet:{name:"leaflet",version:"1.9.4",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o.leaflet.loaded=!0;const{leaflet:e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/icons-material":{name:"@mui/icons-material",version:"6.5.0",scope:["default"],loaded:!1,from:"ConfigCustomJavascriptSet",async get(){o["@mui/icons-material"].loaded=!0;const{"@mui/icons-material":e}=n,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},f=[],u={},l="default",c="ConfigCustomJavascriptSet";async function k(e={},t=[]){const r=d({name:c,remotes:f,shared:o,plugins:[],shareStrategy:"version-first"});var i=u[l];if(i||(i=u[l]={from:c}),!(t.indexOf(i)>=0)){t.push(i),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(m){console.error(m)}return p.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init};
@@ -95,6 +95,14 @@ Blockly.Procedures.flyoutCategoryNew = function (workspace) {
95
95
 
96
96
  xmlList.push(block);
97
97
  }
98
+ if (Blockly.Blocks['procedures_return']) {
99
+ // <block type="procedures_ifreturn" gap="16"></block>
100
+ const block = utils.createElement('block');
101
+ block.setAttribute('type', 'procedures_return');
102
+ block.setAttribute('gap', '16');
103
+
104
+ xmlList.push(block);
105
+ }
98
106
  if (Blockly.Blocks['procedures_defcustomnoreturn']) {
99
107
  // <block type="procedures_defcustomnoreturn" gap="16">
100
108
  // <field name="NAME">do something</field>
@@ -440,6 +448,26 @@ Blockly.Blocks['procedures_callcustomreturn'] = {
440
448
  Blockly.JavaScript.forBlock['procedures_callcustomreturn'] = Blockly.JavaScript.forBlock['procedures_callreturn'];
441
449
 
442
450
  // ---------------------- custom function with no return ------------------------------
451
+ // This was modified, so the shadow condition block is created in the init function
452
+ Blockly.Blocks['procedures_ifreturn'].init = function () {
453
+ const __input = this.appendValueInput('CONDITION')
454
+ .setCheck('Boolean')
455
+ .appendField(Blockly.Msg['CONTROLS_IF_MSG_IF']);
456
+
457
+ const _shadow = this.workspace.newBlock('logic_boolean');
458
+ _shadow.setShadow(true);
459
+ _shadow.setFieldValue('TRUE', 'BOOL');
460
+ _shadow.outputConnection.connect(__input.connection);
461
+
462
+ this.appendValueInput('VALUE').appendField(Blockly.Msg['PROCEDURES_DEFRETURN_RETURN']);
463
+ this.setInputsInline(true);
464
+ this.setPreviousStatement(true);
465
+ this.setNextStatement(true);
466
+ this.setStyle('procedure_blocks');
467
+ this.setTooltip(Blockly.Msg['PROCEDURES_IFRETURN_TOOLTIP']);
468
+ this.setHelpUrl(Blockly.Msg['PROCEDURES_IFRETURN_HELPURL']);
469
+ this.hasReturnValue_ = true;
470
+ };
443
471
 
444
472
  Blockly.Blocks['procedures_defcustomnoreturn'] = {
445
473
  getProcedureModel() {
@@ -523,4 +551,138 @@ Blockly.JavaScript.forBlock['procedures_callcustomnoreturn'] = function (block)
523
551
  // function call as a value, with the addition of line ending.
524
552
  const tuple = Blockly.JavaScript.forBlock['procedures_callcustomreturn'](block);
525
553
  return tuple[0] + ';\n';
554
+ };
555
+
556
+ Blockly.Blocks['procedures_return'] = {
557
+ /**
558
+ * Block for conditionally returning a value from a procedure.
559
+ */
560
+ init: function () {
561
+ this.appendValueInput('VALUE').appendField(
562
+ Blockly.Msg['PROCEDURES_DEFRETURN_RETURN'],
563
+ );
564
+ this.setInputsInline(true);
565
+ this.setPreviousStatement(true);
566
+ this.setNextStatement(true);
567
+ this.setStyle('procedure_blocks');
568
+ this.setTooltip(Blockly.Msg['PROCEDURES_IFRETURN_TOOLTIP']);
569
+ this.setHelpUrl(Blockly.Msg['PROCEDURES_IFRETURN_HELPURL']);
570
+ this.hasReturnValue_ = true;
571
+ },
572
+ /**
573
+ * Create XML to represent whether this block has a return value.
574
+ *
575
+ * @returns XML storage element.
576
+ */
577
+ mutationToDom: function () {
578
+ const utils = Blockly.Xml.utils ? Blockly.Xml.utils : Blockly.utils.xml;
579
+ const container = utils.createElement('mutation');
580
+ container.setAttribute('value', String(Number(this.hasReturnValue_)));
581
+ return container;
582
+ },
583
+ /**
584
+ * Parse XML to restore whether this block has a return value.
585
+ *
586
+ * @param xmlElement XML storage element.
587
+ */
588
+ domToMutation: function (xmlElement) {
589
+ const value = xmlElement.getAttribute('value');
590
+ this.hasReturnValue_ = value === '1';
591
+ if (!this.hasReturnValue_) {
592
+ this.removeInput('VALUE');
593
+ this.appendDummyInput('VALUE').appendField(
594
+ Blockly.Msg['PROCEDURES_DEFRETURN_RETURN'],
595
+ );
596
+ }
597
+ },
598
+
599
+ // This block does not need JSO serialization hooks (saveExtraState and
600
+ // loadExtraState) because the state of this block is already encoded in the
601
+ // block's position in the workspace.
602
+ // XML hooks are kept for backwards compatibility.
603
+
604
+ /**
605
+ * Called whenever anything on the workspace changes.
606
+ * Add warning if this flow block is not nested inside a loop.
607
+ *
608
+ * @param e Move event.
609
+ */
610
+ onchange: function (e) {
611
+ if (
612
+ (this.workspace.isDragging && this.workspace.isDragging()) ||
613
+ (e.type !== 'move' && e.type !== 'create')
614
+ ) {
615
+ return; // Don't change state at the start of a drag.
616
+ }
617
+ let legal = false;
618
+ // Is the block nested in a procedure?
619
+ let block = this; // eslint-disable-line @typescript-eslint/no-this-alias
620
+ do {
621
+ if (this.FUNCTION_TYPES.includes(block.type)) {
622
+ legal = true;
623
+ break;
624
+ }
625
+ block = block.getSurroundParent();
626
+ } while (block);
627
+ if (legal) {
628
+ // If needed, toggle whether this block has a return value.
629
+ if (block.type === 'procedures_defnoreturn' && this.hasReturnValue_) {
630
+ this.removeInput('VALUE');
631
+ this.appendDummyInput('VALUE').appendField(
632
+ Blockly.Msg['PROCEDURES_DEFRETURN_RETURN'],
633
+ );
634
+ this.hasReturnValue_ = false;
635
+ } else if (
636
+ block.type === 'procedures_defreturn' &&
637
+ !this.hasReturnValue_
638
+ ) {
639
+ this.removeInput('VALUE');
640
+ this.appendValueInput('VALUE').appendField(
641
+ Blockly.Msg['PROCEDURES_DEFRETURN_RETURN'],
642
+ );
643
+ this.hasReturnValue_ = true;
644
+ }
645
+ this.setWarningText(null);
646
+ } else {
647
+ this.setWarningText(Blockly.Msg['PROCEDURES_IFRETURN_WARNING']);
648
+ }
649
+
650
+ if (!this.isInFlyout) {
651
+ // const utils = Blockly.Xml.utils ? Blockly.Xml.utils : Blockly.utils.xml;
652
+ try {
653
+ // There is no need to record the enable/disable change on the undo/redo
654
+ // list since the change will be automatically recreated when replayed.
655
+ //utils.setRecordUndo(false);
656
+ this.setDisabledReason(!legal, 'UNPARENTED_IFRETURN');
657
+ } finally {
658
+ //utils.setRecordUndo(true);
659
+ }
660
+ }
661
+ },
662
+ /**
663
+ * List of block types that are functions and thus do not need warnings.
664
+ * To add a new function type add this to your code:
665
+ * Blocks['procedures_ifreturn'].FUNCTION_TYPES.push('custom_func');
666
+ */
667
+ FUNCTION_TYPES: ['procedures_defnoreturn', 'procedures_defreturn', 'procedures_defcustomreturn', 'procedures_defcustomnoreturn'],
668
+ };
669
+
670
+ Blockly.JavaScript.forBlock['procedures_return'] = function (block, generator) {
671
+ // Conditionally return value from a procedure.
672
+ let code = '';
673
+ if (generator.STATEMENT_SUFFIX) {
674
+ // Inject any statement suffix here since the regular one at the end
675
+ // will not get executed if the return is triggered.
676
+ code += generator.prefixLines(
677
+ generator.injectId(generator.STATEMENT_SUFFIX, block),
678
+ generator.INDENT,
679
+ );
680
+ }
681
+ if (block.hasReturnValue_) {
682
+ const value = generator.valueToCode(block, 'VALUE', 99 /* Order.NONE */) || 'null';
683
+ code += generator.INDENT + 'return ' + value + ';\n';
684
+ } else {
685
+ code += generator.INDENT + 'return;\n';
686
+ }
687
+ return code;
526
688
  };
@@ -586,7 +586,7 @@ Blockly.JavaScript.forBlock['control_ex'] = function (block) {
586
586
  fType = fType === true || fType === 'true' || fType === 'TRUE';
587
587
 
588
588
  let expire = '';
589
- if (vExpire > 0) {
589
+ if (vExpire) {
590
590
  expire = `, expire: ${vExpire}`;
591
591
  }
592
592
 
@@ -1 +1 @@
1
- {"id":"iobroker_javascript","name":"iobroker_javascript","metaData":{"name":"iobroker_javascript","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"iobroker_javascript"},"remoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"iobroker_javascript","pluginVersion":"0.2.5","publicPath":"./"},"shared":[{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"7.7.2","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-BZGWELt0.js","assets/createSvgIcon-BDXN8whp.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","assets/index-DsS-er0h.js","assets/Save-D3ZQadHC.js","assets/useTheme-BbFVG4-1.js","assets/index-BompUVvy.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.5.0","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DOeHpve2.js","assets/createSvgIcon-BDXN8whp.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","assets/inheritsLoose-BLb-YnoJ.js","assets/useTheme-BbFVG4-1.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DmpUKunr.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Do-nCdWy.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DQiceR5U.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]}
1
+ {"id":"iobroker_javascript","name":"iobroker_javascript","metaData":{"name":"iobroker_javascript","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"iobroker_javascript"},"remoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"iobroker_javascript","pluginVersion":"0.2.5","publicPath":"./"},"shared":[{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"7.7.2","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-fhg5Z_KX.js","assets/createSvgIcon-C_ElRFrf.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","assets/index-DeFm7TiX.js","assets/Save--0ldNXLf.js","assets/useTheme-CpAj0H76.js","assets/index-BompUVvy.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.5.0","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-CMttI-gM.js","assets/createSvgIcon-C_ElRFrf.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","assets/inheritsLoose-CLw44UEv.js","assets/useTheme-CpAj0H76.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DmpUKunr.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Do-nCdWy.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DQiceR5U.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]}
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-BZGWELt0.js","./assets/createSvgIcon-BDXN8whp.js","./assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","./assets/_commonjsHelpers-Cpj98o6Y.js","./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","./assets/index-DsS-er0h.js","./assets/Save-D3ZQadHC.js","./assets/useTheme-BbFVG4-1.js","./assets/index-BompUVvy.js","./assets/index-DOeHpve2.js","./assets/inheritsLoose-BLb-YnoJ.js","./assets/index-DmpUKunr.js","./assets/index-Do-nCdWy.js","./assets/index-DQiceR5U.js"])))=>i.map(i=>d[i]);
2
- import{i as d,a as m}from"./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js";import s from"./assets/virtualExposes-BIHI7g3E.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const i={"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-BZGWELt0.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-DOeHpve2.js"),__vite__mapDeps([9,1,2,3,4,10,7]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-DmpUKunr.js").then(t=>t.i),__vite__mapDeps([11,3,2,4]),import.meta.url),react:async()=>await a(()=>import("./assets/index-Do-nCdWy.js").then(t=>t.i),__vite__mapDeps([12,3]),import.meta.url),"prop-types":async()=>await a(()=>import("./assets/index-DQiceR5U.js").then(t=>t.i),__vite__mapDeps([13,3]),import.meta.url)},o={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.7.2",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o.react.loaded=!0;const{react:e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"prop-types":{name:"prop-types",version:"15.8.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["prop-types"].loaded=!0;const{"prop-types":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},_=[],u={},p="default",c="iobroker_javascript";async function k(e={},t=[]){const r=d({name:c,remotes:_,shared:o,plugins:[],shareStrategy:"version-first"});var n=u[p];if(n||(n=u[p]={from:c}),!(t.indexOf(n)>=0)){t.push(n),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(l){console.error(l)}return m.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-fhg5Z_KX.js","./assets/createSvgIcon-C_ElRFrf.js","./assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","./assets/_commonjsHelpers-Cpj98o6Y.js","./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","./assets/index-DeFm7TiX.js","./assets/Save--0ldNXLf.js","./assets/useTheme-CpAj0H76.js","./assets/index-BompUVvy.js","./assets/index-CMttI-gM.js","./assets/inheritsLoose-CLw44UEv.js","./assets/index-DmpUKunr.js","./assets/index-Do-nCdWy.js","./assets/index-DQiceR5U.js"])))=>i.map(i=>d[i]);
2
+ import{i as d,a as m}from"./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js";import s from"./assets/virtualExposes-BIHI7g3E.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const i={"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-fhg5Z_KX.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-CMttI-gM.js"),__vite__mapDeps([9,1,2,3,4,10,7]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-DmpUKunr.js").then(t=>t.i),__vite__mapDeps([11,3,2,4]),import.meta.url),react:async()=>await a(()=>import("./assets/index-Do-nCdWy.js").then(t=>t.i),__vite__mapDeps([12,3]),import.meta.url),"prop-types":async()=>await a(()=>import("./assets/index-DQiceR5U.js").then(t=>t.i),__vite__mapDeps([13,3]),import.meta.url)},o={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.7.2",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o.react.loaded=!0;const{react:e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"prop-types":{name:"prop-types",version:"15.8.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["prop-types"].loaded=!0;const{"prop-types":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},_=[],u={},p="default",c="iobroker_javascript";async function k(e={},t=[]){const r=d({name:c,remotes:_,shared:o,plugins:[],shareStrategy:"version-first"});var n=u[p];if(n||(n=u[p]={from:c}),!(t.indexOf(n)>=0)){t.push(n),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(l){console.error(l)}return m.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init};
package/admin/tab.html CHANGED
@@ -115,13 +115,13 @@
115
115
  type="text/javascript"
116
116
  src="google-blockly/own/blocks_object.js"
117
117
  ></script>
118
- <script type="module" crossorigin src="./assets/index-quKi7QsD.js"></script>
118
+ <script type="module" crossorigin src="./assets/index-BUU5hWiL.js"></script>
119
119
  <link rel="modulepreload" crossorigin href="./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js">
120
120
  <link rel="modulepreload" crossorigin href="./assets/_commonjsHelpers-Cpj98o6Y.js">
121
121
  <link rel="modulepreload" crossorigin href="./assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js">
122
- <link rel="modulepreload" crossorigin href="./assets/createSvgIcon-BDXN8whp.js">
123
- <link rel="modulepreload" crossorigin href="./assets/inheritsLoose-BLb-YnoJ.js">
124
- <link rel="modulepreload" crossorigin href="./assets/index-DsS-er0h.js">
122
+ <link rel="modulepreload" crossorigin href="./assets/createSvgIcon-C_ElRFrf.js">
123
+ <link rel="modulepreload" crossorigin href="./assets/inheritsLoose-CLw44UEv.js">
124
+ <link rel="modulepreload" crossorigin href="./assets/index-DeFm7TiX.js">
125
125
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-Dp1pzeXC.js">
126
126
  <link rel="stylesheet" crossorigin href="./assets/index-Dr_ZFwru.css">
127
127
  </head>