diff --git a/CHANGELOG_OLD.md b/CHANGELOG_OLD.md index 1c1833350..d0165d3b6 100644 --- a/CHANGELOG_OLD.md +++ b/CHANGELOG_OLD.md @@ -1,5 +1,11 @@ The newest change log is in README.md +## 4.9.7 (2020-10-28) +* (Apollon77) Fix possible crash case (Sentry IOBROKER-JAVASCRIPT-47, IOBROKER-JAVASCRIPT-44) +* (AlCalzone) pass ID as the result, not the error to the callback of createState +* (AlCalzone) update the editor's type declarations when switching scripts +* (AlCalzone) The corrections for typescript were added + ## 4.9.4 (2020-10-19) * (AlCalzone) corrected the crash IOBROKER-JAVASCRIPT-40 * (AlCalzone) corrected typescript for async/await diff --git a/README.md b/README.md index b49812cf0..a234dd5e3 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,9 @@ And then call "npm run build". --> ## Changelog +### 4.10.5 (2020-11-15) +* (bluefox) null timeouts are checked now + ### 4.10.4 (2020-11-09) * (bluefox) null timeouts are checked now * (AlCalzone) Correction for the typescript with async functions @@ -60,12 +63,6 @@ And then call "npm run build". ### 4.9.8 (2020-11-01) * (bluefox) Corrected search in blockly -### 4.9.7 (2020-10-28) -* (Apollon77) Fix possible crash case (Sentry IOBROKER-JAVASCRIPT-47, IOBROKER-JAVASCRIPT-44) -* (AlCalzone) pass ID as the result, not the error to the callback of createState -* (AlCalzone) update the editor's type declarations when switching scripts -* (AlCalzone) The corrections for typescript were added - ## License The MIT License (MIT) diff --git a/admin/asset-manifest.json b/admin/asset-manifest.json index 9166544bf..026a25341 100644 --- a/admin/asset-manifest.json +++ b/admin/asset-manifest.json @@ -1,26 +1,26 @@ { "files": { "main.css": "/static/css/main.ec63fb86.chunk.css", - "main.js": "/static/js/main.74fb53f3.chunk.js", - "main.js.map": "/static/js/main.74fb53f3.chunk.js.map", + "main.js": "/static/js/main.805d303a.chunk.js", + "main.js.map": "/static/js/main.805d303a.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.36ac425a.js", "runtime-main.js.map": "/static/js/runtime-main.36ac425a.js.map", "static/css/2.a45507c4.chunk.css": "/static/css/2.a45507c4.chunk.css", "static/js/2.df5a5b09.chunk.js": "/static/js/2.df5a5b09.chunk.js", "static/js/2.df5a5b09.chunk.js.map": "/static/js/2.df5a5b09.chunk.js.map", "index.html": "/index.html", - "precache-manifest.93ab6e4207269e1677bf84492d79be6c.js": "/precache-manifest.93ab6e4207269e1677bf84492d79be6c.js", + "precache-manifest.a2cae4031fba9993e3cd556791b3ff1b.js": "/precache-manifest.a2cae4031fba9993e3cd556791b3ff1b.js", "service-worker.js": "/service-worker.js", "static/css/2.a45507c4.chunk.css.map": "/static/css/2.a45507c4.chunk.css.map", "static/css/main.ec63fb86.chunk.css.map": "/static/css/main.ec63fb86.chunk.css.map", "static/js/2.df5a5b09.chunk.js.LICENSE.txt": "/static/js/2.df5a5b09.chunk.js.LICENSE.txt", - "static/js/main.74fb53f3.chunk.js.LICENSE.txt": "/static/js/main.74fb53f3.chunk.js.LICENSE.txt" + "static/js/main.805d303a.chunk.js.LICENSE.txt": "/static/js/main.805d303a.chunk.js.LICENSE.txt" }, "entrypoints": [ "static/js/runtime-main.36ac425a.js", "static/css/2.a45507c4.chunk.css", "static/js/2.df5a5b09.chunk.js", "static/css/main.ec63fb86.chunk.css", - "static/js/main.74fb53f3.chunk.js" + "static/js/main.805d303a.chunk.js" ] } \ No newline at end of file diff --git a/admin/precache-manifest.93ab6e4207269e1677bf84492d79be6c.js b/admin/precache-manifest.a2cae4031fba9993e3cd556791b3ff1b.js similarity index 72% rename from admin/precache-manifest.93ab6e4207269e1677bf84492d79be6c.js rename to admin/precache-manifest.a2cae4031fba9993e3cd556791b3ff1b.js index 7903abc2b..2e84f9f03 100644 --- a/admin/precache-manifest.93ab6e4207269e1677bf84492d79be6c.js +++ b/admin/precache-manifest.a2cae4031fba9993e3cd556791b3ff1b.js @@ -1,6 +1,6 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ { - "revision": "f362cd440c9e22c7ec6124ff514da842", + "revision": "700a02b27936a75e51660d11a0641684", "url": "/index.html" }, { @@ -8,7 +8,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/2.a45507c4.chunk.css" }, { - "revision": "702b06a9141f862c361f", + "revision": "5402a3ef6429bc8f75f3", "url": "/static/css/main.ec63fb86.chunk.css" }, { @@ -20,12 +20,12 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/2.df5a5b09.chunk.js.LICENSE.txt" }, { - "revision": "702b06a9141f862c361f", - "url": "/static/js/main.74fb53f3.chunk.js" + "revision": "5402a3ef6429bc8f75f3", + "url": "/static/js/main.805d303a.chunk.js" }, { "revision": "578fa69920ac4a551e6d340a37256bed", - "url": "/static/js/main.74fb53f3.chunk.js.LICENSE.txt" + "url": "/static/js/main.805d303a.chunk.js.LICENSE.txt" }, { "revision": "0bb40a41b8abfdf8d583", diff --git a/admin/service-worker.js b/admin/service-worker.js index 36702d38a..71c139e4a 100644 --- a/admin/service-worker.js +++ b/admin/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/precache-manifest.93ab6e4207269e1677bf84492d79be6c.js" + "/precache-manifest.a2cae4031fba9993e3cd556791b3ff1b.js" ); self.addEventListener('message', (event) => { diff --git a/admin/static/js/main.74fb53f3.chunk.js b/admin/static/js/main.805d303a.chunk.js similarity index 99% rename from admin/static/js/main.74fb53f3.chunk.js rename to admin/static/js/main.805d303a.chunk.js index 1cc64a1af..da82a03a9 100644 --- a/admin/static/js/main.74fb53f3.chunk.js +++ b/admin/static/js/main.805d303a.chunk.js @@ -1,3 +1,3 @@ -/*! For license information please see main.74fb53f3.chunk.js.LICENSE.txt */ -(this.webpackJsonpjs=this.webpackJsonpjs||[]).push([[0],{130:function(e,t){e.exports="data:image/png;base64,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"},131:function(e,t){e.exports="data:image/png;base64,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"},161:function(e){e.exports=JSON.parse('{"a":"4.10.4"}')},208:function(e,t){e.exports="data:image/png;base64,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"},209:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM0AAABkCAIAAACqzSMYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAWGSURBVHhe7d3La1xlHMbxttKKdCVUVMSdSxFX/gG6cdF/wo0bV+JCqK03Qq3gQgvdiBcUVyIUi6iICoKIStObljbG0pttsGlsU5tOJjc99fyIwzczc97zm/POeWfO8/DZPO15L5z+oKFpkk2bdh0WiY5dJAZ2kRjYRWJgF4mBXSQGdpEY2EViYBeJgV0kBnaRGNhFYmAXiYFdJAZ2kRjYRWJgF4mBXSQGdpEY2EViYJcGePL93947PPvTxZtTs60TM7e+mp7f/8OfT7x7Go9Vib3Z/kk4860V3LaUj45etY3CMvHtZewwEPZms3ecZP5edM6ZrfcGuzmxN5u92iSz0F7FbQvZyoGzuraGnUtjbzZ7r0mmtVRizu7de8yWVRccUQ57s9kbTTLtldA5+3r6uq2pOlt3T+KsUOzNZq8zySyvBv3ldebqLVsQJ5s3nBiEvdnsXSaZkA+SdkwctadjBocGYW82e5FJZi1gzuzR+MG5xdibzd5iqsFtwR4aVnB6AfZms1eYanDbTtv2TNpDw8rOD6dxh37Ym81eYarBbTvZE0PMoVN/4Q79sDebvcJUg9t2sidK5uDJa2//fOXs3KL14OD0YuzN9uj+kz5LK2v2J1AULCwFt12377sZ2z0s23Zzh9xjB07ZE73TWi79aYnb2MVlcXnV/hyKgoWVsK3DgrUb2XPdgidLYBeXUZkzLOzFnu7I9cH+t4jmrBpjNmcZW/Bf8Fse7OIyEnMW/hnSzN2v3v7UwsyNJfy6E7u4jMScnZlbxMLhYReXkZizuYVlLBwednEZv4/PKsYuLpqzAuziMipzlgVrh4RdXEZozrJg+TCwi0u9c9YOPn09OyaOYZO42MWl3jnL2O4l4/xP2A7s4jKic5bn/teOY7fqsYtL7XO284NpO8Cb57+4gD2rxC4utc9Zxg4YLIFfVVUau7ikMGfbXz5iZ1QRbD4odnFJYc4ydkZ1wf5+7OKSyJxl7JjqEvL1fMXYxSWdOcvYSZXm+MwCTimHXVySmrOMHVZ1cEoJ7OKS2pxl7Lyq8/25GzgoCLu4JDhnmac+OWunVhrPR2zs4pLmnOXs4KqDUwqwi0vKc5az4ysNjuiHXVzSn7PM5qqnbWq2hSN6YheXkZizdXaVKoKde2IXl9Gas1wr+M79g227YxeXUZyz3IEfr9jNvMGG3bGLy+jOWe6Bfcftfq5gty7YxWXU5yz34OvOacM+XbCLy3jMWe7LqdLfFn7Lhk2IXVzGac5ydt2w/H616B842MVl/OYsYzcOC9YSu7iM5ZwdvbRglw4I1hK7uIzlnGXs0gHBQmIXl9TmLDuokq/NzO8cEiwkdnFJZ87W1v7/jsz4LQfbKCBYSOziksKcPfPpeTujI3imLNslIFhI7OJS75zd8ULPgfhjvo2HS7FdAoKFxC4uNc6Z7ds75685v13oymroD0XIgrXELi61zNm11rJtWpRsYrC20D0lf8QilhO7uAx/zmy7MsEOfXx8Ys7WhKX4Z4qxi8tIzFme7S8dwVadHn9nyp4rE2zSBbu41PL3pu04QK7cXDoxs3Dxetu6N7hYF+ziUsucDT4fleThN3/FxbpgF5da5ixjm9YaXKk7dnGpa84ytm9N2bp7Evfpjl1capyzjG099Cy0g3+IHbu41DtnW3p/PiBqcI1+2MWl3jnL2QHDCk4vwC4uKcxZxs6IHH0fl9okMmeZO/dM2klx8shbPX9Mez/s4pLOnOWePnjOzqs0OKUEdnFJbc5yD73xi506WByfhid2cUlzztY9+9kFO75k7nox7J/HCrHLuLtv77HnPr9wevaWjVJHLs+3X/nmEp6vBrtIDOwiMbCLxMAuEgO7SAzsIjGwi8TALhIDu0gM7CKV23X4X+z2cWDXCRtHAAAAAElFTkSuQmCC"},210:function(e,t){e.exports="data:image/png;base64,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"},213:function(e,t){e.exports="data:image/png;base64,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"},240:function(e,t,s){e.exports=s(321)},245:function(e,t,s){},310:function(e){e.exports=JSON.parse('{"-":"-","Add":"Add","Add new script":"Add new script","All files will be accepted":"All files will be accepted","April":"April","Are you sure?":"Are you sure?","August":"August","Blockly description":"Creating rules by graphic blocks","Cancel":"Cancel","Cannot delete non empty item!":"Cannot delete non empty item!","Change layout":"Change layout","Check blocks":"Check blocks","Check is not active, because javascript adapter is disabled":"Check is not active, because Javascript adapter is disabled","Clear search input":"Clear search input","Click on this icon":"Click on this icon","Close":"Close","Close all but current":"Close all but current","Collapse all":"Collapse all","Configuration not saved.":"Configuration not saved.","Convert blockly to javascript for ever.":"Instantly convert blockly to Javascript.","Copy script":"Copy script","Copy to clipboard":"Copy to clipboard","Create new":"Create new","Create new folder":"Create new folder","Create new script":"Create new script","Create or edit CRON or time wizard":"Create or edit CRON or time wizard","Dark Theme":"Dark theme","Dark style":"Dark style","Debug options":"Debug options","December":"December","Define cron...":"Define cron...","Define schedule...":"Define schedule...","Delete":"Delete","Delete %s":"Delete %s...","Delete folder":"Delete folder","Delete script":"Delete script","Deselect all":"Deselect all","Discard changes for %s":"Discard changes for %s","Done":"Done","Drop some files here or click...":"Drop some files here or click...","Edit script or just double click":"Edit script or just double click","End search mode":"End search mode","Error":"Error","Error was found":"Error was found","Existing scripts will be overwritten.":"Existing scripts will be overwritten.","Expand all":"Expand all","Expert mode":"Expert mode","Export":"Export","Export all scripts":"Export all scripts","Export blocks":"Export blocks","Export selected blocks":"Export selected blocks","February":"February","Folder":"Folder","Friday":"Friday","Function editor":"Function editor","ID":"ID","Import":"Import","Import blocks":"Import blocks","Import error":"Import error","Import scripts":"Import scripts","Insert object ID":"Insert object ID","Instance":"Instance","Instance is disabled":"Instance is disabled","Invalid CRON":"Invalid CRON","It will not be possible to revert this operation.":"It will not be possible to revert this operation.","JS description":"Creating rules by writing Javascript","January":"January","July":"July","June":"June","Learn More":"Learn More","Light style":"Light style","Locate file":"Locate file","Log outputs":"Log outputs","March":"March","May":"May","Menu":"Menu","Message":"Message","Monday":"Monday","Name":"Name","No active host found":"No active host found","November":"November","October":"October","Ok":"Ok","On weekdays":"On weekdays","Pause script":"Pause script","Please select object ID...":"Please select object ID...","Rename":"Rename","Reorder scripts in folders":"Reorder scripts in folders","Repeat":"Repeat","Restart":"Restart","Root folder":"Root folder","Run script":"Run script","Saturday":"Saturday","Save":"Save","Script":"Script","Script %s was modified on disk":"Script %s was modified on disk","Script is not running":"Script is not running","Search in scripts":"Search in scripts","Search...":"Search...","Select all":"Select all","September":"September","Show javascript code":"Show Javascript code","Show only paused scripts":"Show only paused scripts","Show only running scripts":"Show only running scripts","Show only scripts with problems":"Show only scripts with problems","Some files will be rejected":"Some files will be rejected","Sunday":"Sunday","TS description":"Creating rules by writing Typescript","Thursday":"Thursday","Tuesday":"Tuesday","Unknown error":"Unknown error","Unknown error!":"Unknown error!","Wednesday":"Wednesday","Yet exists!":"Yet exists!","copy":"copy","file reading has failed: %s":"file reading has failed: %s","file reading was aborted":"file reading was aborted","filter_func":"Function","filter_id":"ID","filter_name":"Name","filter_role":"Role","filter_room":"Room","for edit or create script":"for edit or create a new script","no blocks found":"No blocks found","no group":"NO GROUP","not properly connected":"This block is not properly connected to other blocks.","sc_cron":"CRON","sc_date":"Date","sc_dates":"Dates","sc_dows":"Day of week","sc_every":"Every","sc_everyN_dates":"every N days","sc_everyN_dows":"every N day of week","sc_everyN_hours":"every N hours","sc_everyN_minutes":"every N minutes","sc_everyN_months":"every N months","sc_everyN_seconds":"every N seconds","sc_every_dates":"every day","sc_every_dows":"every day of the week","sc_every_hours":"every hour","sc_every_minutes":"every minute","sc_every_months":"every month","sc_every_seconds":"every second","sc_from":"From","sc_hours":"Hours","sc_interval":"Interval","sc_intervalBetween":"Interval between","sc_minutes":"Minutes","sc_months":"months","sc_once":"Once","sc_period":"Period","sc_seconds":"Seconds","sc_simple":"Simple","sc_specific":"Specific time","sc_specific_dates":"specific dates","sc_specific_dows":"specific day of weeks","sc_specific_hours":"specific hours","sc_specific_minutes":"specific minutes","sc_specific_months":"specific months","sc_specific_seconds":"specific seconds","sc_time":"Time","sc_to":"To","sc_wizard":"Wizard","sch_all":"all","sch_astroDay":"Astro day","sch_astroNight":"Astro night","sch_astro_dawn":"Dawn","sch_astro_dusk":"Dusk","sch_astro_goldenHour":"Golden hour","sch_astro_goldenHourEnd":"Golden hour end","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Nautical dawn","sch_astro_nauticalDusk":"Nautical dusk","sch_astro_night":"Night","sch_astro_nightEnd":"Night end","sch_astro_solarNoon":"Solar noon","sch_astro_sunrise":"Sunrise","sch_astro_sunriseEnd":"Sunrise end","sch_astro_sunset":"Sunset","sch_astro_sunsetStart":"Sunset start","sch_at":"at","sch_desc_atTime":"at %s","sch_desc_everyDay":"every day","sch_desc_everyHour":"every hour","sch_desc_everyMinute":"every minute","sch_desc_everyMonth":"every month","sch_desc_everyNDay":"every %s day","sch_desc_everyNHours":"every %s hours","sch_desc_everyNMinutes":"every %s minutes","sch_desc_everyNMonths":"every %s months","sch_desc_everyNWeeks":"every %s weeks","sch_desc_everyNYears":"every %s years","sch_desc_everyWeek":"every week","sch_desc_everyYear":"every year","sch_desc_intervalFromTo":"from %s to %s","sch_desc_never":"never","sch_desc_onDate":"on %s of %s","sch_desc_onDates":"on %s and %s of","sch_desc_onEveryDate":"on every date of","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s and %s","sch_desc_onWeekday":"on %s","sch_desc_onWeekdays":"on %s and %s","sch_desc_onWeekends":"on weekends","sch_desc_onWorkdays":"on working days","sch_desc_onceInPast":"will ne be not executed any more, because start is in the past","sch_desc_once_on":"on %s","sch_desc_validFrom":"from %s","sch_desc_validFromTo":"Execute from to","sch_desc_validTo":"to %s","sch_every":"every","sch_exactTime":"Specific time","sch_from":"from","sch_fromTo":"From-to","sch_intervalTime":"Interval time","sch_invert":"invert","sch_no_one":"none","sch_on":"on","sch_period":"Period","sch_periodDaily":"Daily","sch_periodDates":"Dates","sch_periodDay":"Day","sch_periodEvery":"Every","sch_periodEveryDay":"Every day","sch_periodEveryMonth":"Every month","sch_periodEveryWeek":"Every week","sch_periodEveryYear":"Every year","sch_periodHours":"Hours","sch_periodMinutes":"Minutes","sch_periodMonth":"month","sch_periodMonthly":"Monthly","sch_periodOnce":"Once","sch_periodSpecificMonths":"Specific months","sch_periodWeek":"Week","sch_periodWeekdays":"Weekdays","sch_periodWeekend":"Weekend","sch_periodWeekly":"Weekly","sch_periodWorkdays":"Workdays","sch_periodYear":"Year","sch_periodYearly":"Yearly","sch_specificTime":"Specific time","sch_time":"Time","sch_to":"to","sch_valid":"Valid","sch_validFrom":"from","sch_validTo":"to","sch_wholeDay":"Whole day","sch_yearEveryMonth":"every month","tooltip_ack":"Acknowledge","tooltip_from":"From","tooltip_lc":"Last changed","tooltip_quality":"Quality","tooltip_ts":"Timestamp","tooltip_user":"User","tooltip_value":"Value","use seconds":"use seconds","Save all":"Save all","Change theme (actual \\"%s\\")":"Change theme (now - \\"%s\\")"}')},311:function(e){e.exports=JSON.parse('{"-":"-","Add":"Hinzuf\xfcgen","Add new script":"Neues Skript hinzuf\xfcgen","All files will be accepted":"Alle Dateien werden akzeptiert","April":"April","Are you sure?":"Sind Sie sicher?","August":"August","Blockly description":"Erstellen von Regeln durch Grafikbl\xf6cke","Cancel":"Abbrechen","Cannot delete non empty item!":"Kann nicht gel\xf6scht werden, weil noch einige Elementen sind drin!","Change layout":"Layout \xe4ndern","Check blocks":"Bl\xf6cke pr\xfcfen","Check is not active, because javascript adapter is disabled":"Syntax-Check ist nicht aktiv, weil Javascript adapter l\xe4uft nicht.","Clear search input":"Sucheingabe l\xf6schen","Click on this icon":"Klicken Sie auf dieses Symbol","Close":"Schlie\xdfen","Close all but current":"Schlie\xdfen Sie alle au\xdfer aktuell","Collapse all":"Alles einklappen","Configuration not saved.":"Konfiguration nicht gespeichert","Convert blockly to javascript for ever.":"Blockly in Javascript f\xfcr immer konvertieren.","Copy script":"Skript kopieren","Copy to clipboard":"In die Zwischenablage kopieren","Create new":"Erstelle neu","Create new folder":"Neuen Ordner erstellen","Create new script":"Neues Skript erstellen","Create or edit CRON or time wizard":"Erstellen oder bearbeiten Sie den CRON- oder Zeit-Assistenten","Dark Theme":"Dunkles Thema","Dark style":"Dunkler Stil","Debug options":"Debug-Optionen","December":"Dezember","Define cron...":"Cron definieren ...","Define schedule...":"Zeitplan definieren ...","Delete":"L\xf6schen","Delete %s":"L\xf6schen %s...","Delete folder":"Verzeichnis l\xf6schen","Delete script":"Skript l\xf6schen","Deselect all":"Alle abw\xe4hlen","Discard changes for %s":"verwerfen Sie die \xc4nderungen f\xfcr %s","Done":"Erledigt","Drop some files here or click...":"Legen Sie einige Dateien hier ab oder klicken Sie ...","Edit script or just double click":"Skript bearbeiten oder einfach doppelklicken","End search mode":"Suchmodus beenden","Error":"Fehler","Error was found":"Fehler wurde gefunden","Existing scripts will be overwritten.":"Vorhandene Skripte werden \xfcberschrieben.","Expand all":"Alle erweitern","Expert mode":"Expertenmodus","Export":"Export","Export all scripts":"Exportieren Sie alle Skripte","Export blocks":"Bl\xf6cke exportieren","Export selected blocks":"Ausgew\xe4hlte Bl\xf6cke exportieren","February":"Februar","Folder":"Mappe","Friday":"Freitag","Function editor":"Funktion-Editor","ID":"ID","Import":"Importieren","Import blocks":"Bl\xf6cke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripts importieren","Insert object ID":"Objekt-ID einf\xfcgen","Instance":"Instanz","Instance is disabled":"Instanz ist deaktiviert","Invalid CRON":"Ung\xfcltiger CRON","It will not be possible to revert this operation.":"Dieser Vorgang kann nicht r\xfcckg\xe4ngig gemacht werden.","JS description":"Regeln erstellen, indem Sie Javascript schreiben","January":"Januar","July":"Juli","June":"Juni","Learn More":"Mehr erfahren","Light style":"Heller Stil","Locate file":"Datei zeigen","Log outputs":"Protokoll","March":"M\xe4rz","May":"Mai","Menu":"Menu","Message":"Meldung","Monday":"Montag","Name":"Name","No active host found":"Kein aktiver Host gefunden","November":"November","October":"Oktober","Ok":"Ok","On weekdays":"An Wochentagen","Pause script":"Skript anhalten","Please select object ID...":"Bitte Objekt-ID ausw\xe4hlen ...","Rename":"Umbenennen","Reorder scripts in folders":"Skripte in Ordnern neu ordnen","Repeat":"Wiederholen","Restart":"Neustart","Root folder":"Root-Verzeichnis","Run script":"Skript ausf\xfchren","Saturday":"Samstag","Save":"Speichern","Script":"Skript","Script %s was modified on disk":"Skript \\"%s\\" wurde auf der Festplatte ge\xe4ndert","Script is not running":"Skript l\xe4uft nicht","Search in scripts":"Suche in Skripten","Search...":"Suche...","Select all":"W\xe4hlen Sie Alle","September":"September","Show javascript code":"Javascript-Code anzeigen","Show only paused scripts":"Nur angehaltene Skripte anzeigen","Show only running scripts":"Nur laufende Skripte anzeigen","Show only scripts with problems":"Zeige nur Skripte mit Problemen","Some files will be rejected":"Einige Dateien werden abgelehnt","Sunday":"Sonntag","TS description":"Regeln erstellen, indem Sie Typescript schreiben","Thursday":"Donnerstag","Tuesday":"Dienstag","Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","Wednesday":"Mittwoch","Yet exists!":"Name existiert schon!","copy":"Kopie","file reading has failed: %s":"Das Lesen der Datei ist fehlgeschlagen: %s","file reading was aborted":"Das Lesen der Datei wurde abgebrochen","filter_func":"Funktion","filter_id":"ID","filter_name":"Name","filter_role":"Rolle","filter_room":"Zimmer","for edit or create script":"zum Bearbeiten oder Erstellen Sie ein neues Skript","no blocks found":"Keine Bl\xf6cke gefunden","no group":"KEINE GRUPPE","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.","sc_cron":"CRON","sc_date":"Datum","sc_dates":"Tage","sc_dows":"Wochentage","sc_every":"Jeden","sc_everyN_dates":"alle N Tage","sc_everyN_dows":"alle N Wochentage","sc_everyN_hours":"alle N Stunden","sc_everyN_minutes":"alle N Minuten","sc_everyN_months":"alle N Monate","sc_everyN_seconds":"alle N Sekunden","sc_every_dates":"jeden Tag","sc_every_dows":"jeden tag der woche","sc_every_hours":"jede Stunde","sc_every_minutes":"jede Minute","sc_every_months":"jeden Monat","sc_every_seconds":"jede Sekunde","sc_from":"Von","sc_hours":"Stunden","sc_interval":"Intervall","sc_intervalBetween":"Intervall zwischen","sc_minutes":"Minuten","sc_months":"Monate","sc_once":"Einmal","sc_period":"Zeitraum","sc_seconds":"Sekunden","sc_simple":"Einfach","sc_specific":"Bestimmte Zeit","sc_specific_dates":"bestimmte Tage","sc_specific_dows":"bestimmten Wochentag","sc_specific_hours":"bestimmte Stunden","sc_specific_minutes":"bestimmte Minuten","sc_specific_months":"bestimmte Monate","sc_specific_seconds":"bestimmte Sekunden","sc_time":"Zeit","sc_to":"Bis","sc_wizard":"Wizard","sch_all":"alle","sch_astroDay":"Tag","sch_astroNight":"Nachts","sch_astro_dawn":"Morgend\xe4mmerung","sch_astro_dusk":"Abendd\xe4mmerung","sch_astro_goldenHour":"Goldene Stunde","sch_astro_goldenHourEnd":"Goldenes Stundenende","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Nautische Morgend\xe4mmerung","sch_astro_nauticalDusk":"Nautische Abendd\xe4mmerung","sch_astro_night":"Nacht","sch_astro_nightEnd":"Nachtsende","sch_astro_solarNoon":"Sonnenmittag","sch_astro_sunrise":"Sonnenaufgang","sch_astro_sunriseEnd":"Sonnenaufgangende","sch_astro_sunset":"Sonnenuntergang","sch_astro_sunsetStart":"Sonnenuntergangstart","sch_at":"am","sch_desc_atTime":"um %s","sch_desc_everyDay":"jeden Tag","sch_desc_everyHour":"jede Stunde","sch_desc_everyMinute":"jede Minute","sch_desc_everyMonth":"jeden Monat","sch_desc_everyNDay":"jeden %s Tag","sch_desc_everyNHours":"alle %s Stunden","sch_desc_everyNMinutes":"alle %s Minuten","sch_desc_everyNMonths":"alle %s Monate","sch_desc_everyNWeeks":"alle %s Wochen","sch_desc_everyNYears":"alle %s Jahre","sch_desc_everyWeek":"jede Woche","sch_desc_everyYear":"jedes Jahr","sch_desc_intervalFromTo":"von %s bis %s","sch_desc_never":"noch nie","sch_desc_onDate":"am %s von %s","sch_desc_onDates":"am %s und %s von","sch_desc_onEveryDate":"an jedem Datum von","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s und %s","sch_desc_onWeekday":"auf %s","sch_desc_onWeekdays":"auf %s und %s","sch_desc_onWeekends":"an Wochenenden","sch_desc_onWorkdays":"an Werktagen","sch_desc_onceInPast":"wird ne nicht mehr ausgef\xfchrt, weil start in der vergangenheit ist","sch_desc_once_on":"auf %s","sch_desc_validFrom":"von %s","sch_desc_validFromTo":"Ausf\xfchren von bis","sch_desc_validTo":"bis %s","sch_every":"jeden","sch_exactTime":"Bestimmte Zeit","sch_from":"von","sch_fromTo":"Von bis","sch_intervalTime":"Zeitintervall","sch_invert":"umkehren","sch_no_one":"keiner","sch_on":"am","sch_period":"Zeitraum","sch_periodDaily":"T\xe4glich","sch_periodDates":"Daten","sch_periodDay":"Tag","sch_periodEvery":"Jeden","sch_periodEveryDay":"Jeden Tag","sch_periodEveryMonth":"Jeden Monat","sch_periodEveryWeek":"Jede Woche","sch_periodEveryYear":"Jedes Jahr","sch_periodHours":"Std","sch_periodMinutes":"Protokoll","sch_periodMonth":"Monat","sch_periodMonthly":"Monatlich","sch_periodOnce":"Einmal","sch_periodSpecificMonths":"Bestimmte Monate","sch_periodWeek":"Woche","sch_periodWeekdays":"Wochentage","sch_periodWeekend":"Wochenende","sch_periodWeekly":"W\xf6chentlich","sch_periodWorkdays":"Arbeitstage","sch_periodYear":"Jahr","sch_periodYearly":"J\xe4hrlich","sch_specificTime":"Bestimmte Zeit","sch_time":"Zeit","sch_to":"zu","sch_valid":"G\xfcltigkeit","sch_validFrom":"von","sch_validTo":"bis","sch_wholeDay":"Ganzer Tag","sch_yearEveryMonth":"jeden Monat","tooltip_ack":"Best\xe4tigen","tooltip_from":"Von","tooltip_lc":"Zuletzt ge\xe4ndert","tooltip_quality":"Qualit\xe4t","tooltip_ts":"Zeitstempel","tooltip_user":"Benutzer","tooltip_value":"Wert","use seconds":"Sekunden verwenden","Save all":"Alle speichern","Change theme (actual \\"%s\\")":"Thema \xe4ndern (jetzt - \\"%s\\")"}')},312:function(e){e.exports=JSON.parse('{"-":"-","Add":"A\xf1adir","Add new script":"Agregar nuevo script","All files will be accepted":"Todos los archivos ser\xe1n aceptados.","April":"abril","Are you sure?":"\xbfEst\xe1s seguro?","August":"agosto","Blockly description":"Crear reglas por bloques gr\xe1ficos","Cancel":"Cancelar","Cannot delete non empty item!":"\xa1No se puede eliminar un elemento no vac\xedo!","Change layout":"Cambia el dise\xf1o","Check blocks":"Comprobar bloques","Check is not active, because javascript adapter is disabled":"La comprobaci\xf3n no est\xe1 activa porque el adaptador Javascript est\xe1 desactivado","Clear search input":"Borrar entrada de b\xfasqueda","Click on this icon":"Haga clic en este \xedcono","Close":"Cerrar","Close all but current":"Cerrar todo menos el actual","Collapse all":"Desplegar todo","Configuration not saved.":"Configuraci\xf3n no guardada.","Convert blockly to javascript for ever.":"Convierta instant\xe1neamente en bloque a Javascript.","Copy script":"Copiar guion","Copy to clipboard":"Copiar al portapapeles","Create new":"Crear nuevo","Create new folder":"Crear nueva carpeta","Create new script":"Crear nuevo script","Create or edit CRON or time wizard":"Crear o editar CRON o asistente de tiempo","Dark Theme":"Tema oscuro","Dark style":"Estilo oscuro","Debug options":"Opciones de depuraci\xf3n","December":"diciembre","Define cron...":"Definir cron ...","Define schedule...":"Definir horario ...","Delete":"Eliminar","Delete %s":"Eliminar %s ...","Delete folder":"Eliminar carpeta","Delete script":"Eliminar gui\xf3n","Deselect all":"Deseleccionar todo","Discard changes for %s":"Descartar cambios para %s","Done":"Hecho","Drop some files here or click...":"Suelta algunos archivos aqu\xed o haz clic ...","Edit script or just double click":"Editar gui\xf3n o simplemente hacer doble clic","End search mode":"Fin del modo de b\xfasqueda","Error":"Error","Error was found":"Error encontrado","Existing scripts will be overwritten.":"Los guiones existentes se sobrescribir\xe1n.","Expand all":"Expandir todo","Expert mode":"Modo experto","Export":"Exportar","Export all scripts":"Exportar todos los scripts","Export blocks":"Exportar bloques","Export selected blocks":"Exportar bloques seleccionados","February":"febrero","Folder":"Carpeta","Friday":"viernes","Function editor":"Editor de funciones","ID":"CARN\xc9 DE IDENTIDAD","Import":"Importar","Import blocks":"Importar bloques","Import error":"Error de importaci\xf3n","Import scripts":"Importar guiones","Insert object ID":"Insertar ID de objeto","Instance":"Ejemplo","Instance is disabled":"La instancia est\xe1 deshabilitada","Invalid CRON":"CRON inv\xe1lido","It will not be possible to revert this operation.":"No ser\xe1 posible revertir esta operaci\xf3n.","JS description":"Crear reglas escribiendo Javascript","January":"enero","July":"julio","June":"junio","Learn More":"Aprende m\xe1s","Light style":"Estilo ligero","Locate file":"Localizar el archivo","Log outputs":"Salidas de registro","March":"marzo","May":"Mayo","Menu":"Men\xfa","Message":"Mensaje","Monday":"lunes","Name":"Nombre","No active host found":"No se encontr\xf3 un host activo","November":"noviembre","October":"octubre","Ok":"Okay","On weekdays":"De lunes a viernes","Pause script":"Pausar guion","Please select object ID...":"Por favor, seleccione la ID del objeto ...","Rename":"Rebautizar","Reorder scripts in folders":"Reordenar guiones en carpetas","Repeat":"Repetir","Restart":"Reiniciar","Root folder":"Carpeta ra\xedz","Run script":"Ejecutar gui\xf3n","Saturday":"s\xe1bado","Save":"Salvar","Script":"Gui\xf3n","Script %s was modified on disk":"El script %s fue modificado en el disco","Script is not running":"El script no se est\xe1 ejecutando","Search in scripts":"Buscar en guiones","Search...":"Buscar...","Select all":"Seleccionar todo","September":"septiembre","Show javascript code":"Mostrar c\xf3digo Javascript","Show only paused scripts":"Mostrar solo secuencias de comandos pausadas","Show only running scripts":"Mostrar solo scripts en ejecuci\xf3n","Show only scripts with problems":"Mostrar solo guiones con problemas","Some files will be rejected":"Algunos archivos ser\xe1n rechazados","Sunday":"domingo","TS description":"Crear reglas escribiendo el mecanografiado","Thursday":"jueves","Tuesday":"martes","Unknown error":"Error desconocido","Unknown error!":"\xa1Error desconocido!","Wednesday":"mi\xe9rcoles","Yet exists!":"\xa1Sin embargo existe!","copy":"Copiar","file reading has failed: %s":"la lectura del archivo ha fallado: %s","file reading was aborted":"la lectura del archivo fue abortada","filter_func":"Funci\xf3n","filter_id":"CARN\xc9 DE IDENTIDAD","filter_name":"Nombre","filter_role":"Papel","filter_room":"Habitaci\xf3n","for edit or create script":"para editar o crear un nuevo script","no blocks found":"No se encontraron bloques","no group":"NO GRUPO","not properly connected":"Este bloque no est\xe1 conectado correctamente a otros bloques.","sc_cron":"CRON","sc_date":"Fecha","sc_dates":"fechas","sc_dows":"D\xeda de la semana","sc_every":"Cada","sc_everyN_dates":"cada N d\xedas","sc_everyN_dows":"cada N d\xeda de la semana","sc_everyN_hours":"cada N horas","sc_everyN_minutes":"cada N minutos","sc_everyN_months":"cada N meses","sc_everyN_seconds":"cada N segundos","sc_every_dates":"cada d\xeda","sc_every_dows":"Cada d\xeda de la semana","sc_every_hours":"cada hora","sc_every_minutes":"cada minuto","sc_every_months":"cada mes","sc_every_seconds":"cada segundo","sc_from":"De","sc_hours":"Horas","sc_interval":"Intervalo","sc_intervalBetween":"Intervalo entre","sc_minutes":"Minutos","sc_months":"meses","sc_once":"Una vez","sc_period":"Per\xedodo","sc_seconds":"Segundos","sc_simple":"Sencillo","sc_specific":"Tiempo espec\xedfico","sc_specific_dates":"fechas especificas","sc_specific_dows":"d\xeda espec\xedfico de semanas","sc_specific_hours":"horas espec\xedficas","sc_specific_minutes":"minutos espec\xedficos","sc_specific_months":"meses espec\xedficos","sc_specific_seconds":"segundos espec\xedficos","sc_time":"Hora","sc_to":"A","sc_wizard":"Mago","sch_all":"todas","sch_astroDay":"D\xeda astro","sch_astroNight":"Noche astro","sch_astro_dawn":"Amanecer","sch_astro_dusk":"Oscuridad","sch_astro_goldenHour":"hora dorada","sch_astro_goldenHourEnd":"Fin de la hora dorada","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Amanecer n\xe1utico","sch_astro_nauticalDusk":"Anochecer n\xe1utico","sch_astro_night":"Noche","sch_astro_nightEnd":"Fin de la noche","sch_astro_solarNoon":"Mediod\xeda solar","sch_astro_sunrise":"amanecer","sch_astro_sunriseEnd":"Fin del amanecer","sch_astro_sunset":"Puesta de sol","sch_astro_sunsetStart":"Puesta de sol","sch_at":"a","sch_desc_atTime":"en %s","sch_desc_everyDay":"cada d\xeda","sch_desc_everyHour":"cada hora","sch_desc_everyMinute":"cada minuto","sch_desc_everyMonth":"cada mes","sch_desc_everyNDay":"cada %s d\xedas","sch_desc_everyNHours":"cada %s horas","sch_desc_everyNMinutes":"cada %s minutos","sch_desc_everyNMonths":"cada %s meses","sch_desc_everyNWeeks":"cada %s semanas","sch_desc_everyNYears":"cada %s a\xf1os","sch_desc_everyWeek":"cada semana","sch_desc_everyYear":"todos los a\xf1os","sch_desc_intervalFromTo":"de %s a %s","sch_desc_never":"Nunca","sch_desc_onDate":"en %s de %s","sch_desc_onDates":"en %s y %s de","sch_desc_onEveryDate":"en cada fecha de","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s y %s","sch_desc_onWeekday":"en %s","sch_desc_onWeekdays":"en %s y %s","sch_desc_onWeekends":"en los fines de semana","sch_desc_onWorkdays":"en d\xedas laborables","sch_desc_onceInPast":"ya no se ejecutar\xe1 m\xe1s, porque el inicio est\xe1 en el pasado","sch_desc_once_on":"en %s","sch_desc_validFrom":"de %s","sch_desc_validFromTo":"Ejecutar desde hasta","sch_desc_validTo":"a %s","sch_every":"cada","sch_exactTime":"Tiempo espec\xedfico","sch_from":"de","sch_fromTo":"De-a","sch_intervalTime":"Tiempo de intervalo","sch_invert":"invertir; poner boca abajo o en la posici\xf3n opuesta, orden o arreglo; Boca abajo","sch_no_one":"ninguna","sch_on":"en","sch_period":"Per\xedodo","sch_periodDaily":"Diario","sch_periodDates":"fechas","sch_periodDay":"D\xeda","sch_periodEvery":"Cada","sch_periodEveryDay":"Cada d\xeda","sch_periodEveryMonth":"Cada mes","sch_periodEveryWeek":"Cada semana","sch_periodEveryYear":"Todos los a\xf1os","sch_periodHours":"Horas","sch_periodMinutes":"Minutos","sch_periodMonth":"mes","sch_periodMonthly":"Mensual","sch_periodOnce":"Una vez","sch_periodSpecificMonths":"Meses espec\xedficos","sch_periodWeek":"Semana","sch_periodWeekdays":"D\xedas laborables","sch_periodWeekend":"Fin de semana","sch_periodWeekly":"Semanal","sch_periodWorkdays":"D\xedas laborables","sch_periodYear":"A\xf1o","sch_periodYearly":"Anual","sch_specificTime":"Tiempo espec\xedfico","sch_time":"Hora","sch_to":"a","sch_valid":"V\xe1lido","sch_validFrom":"de","sch_validTo":"a","sch_wholeDay":"Todo el dia","sch_yearEveryMonth":"cada mes","tooltip_ack":"Reconocer","tooltip_from":"De","tooltip_lc":"\xdaltimo cambio","tooltip_quality":"Calidad","tooltip_ts":"Marca de tiempo","tooltip_user":"Usuario","tooltip_value":"Valor","use seconds":"usar segundos","Save all":"Salvar a todos","Change theme (actual \\"%s\\")":"Cambiar tema (ahora - \\"%s\\")"}')},313:function(e){e.exports=JSON.parse('{"-":"-","Add":"Ajouter","Add new script":"Ajouter un nouveau script","All files will be accepted":"Tous les fichiers seront accept\xe9s","April":"avril","Are you sure?":"\xcates-vous s\xfbr?","August":"ao\xfbt","Blockly description":"Cr\xe9ation de r\xe8gles par blocs graphiques","Cancel":"Annuler","Cannot delete non empty item!":"Impossible de supprimer un \xe9l\xe9ment non vide!","Change layout":"Changer la disposition","Check blocks":"V\xe9rifier les blocs","Check is not active, because javascript adapter is disabled":"La v\xe9rification n\'est pas active, car l\'adaptateur Javascript est d\xe9sactiv\xe9","Clear search input":"Effacer la recherche","Click on this icon":"Cliquez sur cette ic\xf4ne","Close":"proche","Close all but current":"Ferme tout sauf courant","Collapse all":"R\xe9duire tout","Configuration not saved.":"Configuration non enregistr\xe9e.","Convert blockly to javascript for ever.":"Convertissez instantan\xe9ment en Javascript.","Copy script":"Copier le script","Copy to clipboard":"Copier dans le presse-papier","Create new":"Cr\xe9er un nouveau","Create new folder":"Cr\xe9er un nouveau dossier","Create new script":"Cr\xe9er un nouveau script","Create or edit CRON or time wizard":"Cr\xe9er ou \xe9diter CRON ou un assistant de temps","Dark Theme":"Th\xe8me sombre","Dark style":"Style sombre","Debug options":"Options de d\xe9bogage","December":"d\xe9cembre","Define cron...":"D\xe9finir le cron ...","Define schedule...":"D\xe9finir le calendrier ...","Delete":"Effacer","Delete %s":"Supprimer %s ...","Delete folder":"Supprimer le dossier","Delete script":"Supprimer le script","Deselect all":"Tout d\xe9selectionner","Discard changes for %s":"Ignorer les modifications pour %s","Done":"Termin\xe9","Drop some files here or click...":"D\xe9poser des fichiers ici ou cliquez sur ...","Edit script or just double click":"Modifiez le script ou double-cliquez simplement sur","End search mode":"Fin du mode de recherche","Error":"Erreur","Error was found":"Une erreur a \xe9t\xe9 trouv\xe9e","Existing scripts will be overwritten.":"Les scripts existants seront \xe9cras\xe9s.","Expand all":"D\xe9velopper tout","Expert mode":"Mode expert","Export":"Exportation","Export all scripts":"Exporter tous les scripts","Export blocks":"Blocs d\'exportation","Export selected blocks":"Exporter les blocs s\xe9lectionn\xe9s","February":"f\xe9vrier","Folder":"Dossier","Friday":"Vendredi","Function editor":"\xc9diteur de fonction","ID":"ID","Import":"Importation","Import blocks":"Blocs d\'importation","Import error":"Erreur d\'importation","Import scripts":"Importer des scripts","Insert object ID":"Ins\xe9rer un identifiant d\'objet","Instance":"Exemple","Instance is disabled":"L\'instance est d\xe9sactiv\xe9e","Invalid CRON":"CRON invalide","It will not be possible to revert this operation.":"Il ne sera pas possible de revenir sur cette op\xe9ration.","JS description":"Cr\xe9er des r\xe8gles en \xe9crivant du Javascript","January":"janvier","July":"juillet","June":"juin","Learn More":"Apprendre encore plus","Light style":"Style de lumi\xe8re","Locate file":"Localiser le fichier","Log outputs":"Journal des sorties","March":"Mars","May":"Mai","Menu":"M e n u","Message":"Message","Monday":"Lundi","Name":"Nom","No active host found":"Aucun h\xf4te actif trouv\xe9","November":"novembre","October":"octobre","Ok":"D\'accord","On weekdays":"En semaine","Pause script":"Script de pause","Please select object ID...":"Veuillez s\xe9lectionner l\'ID d\'objet ...","Rename":"Renommer","Reorder scripts in folders":"R\xe9organiser les scripts dans des dossiers","Repeat":"R\xe9p\xe9ter","Restart":"Red\xe9marrer","Root folder":"Dossier racine","Run script":"Script de lancement","Saturday":"samedi","Save":"sauver","Script":"Sc\xe9nario","Script %s was modified on disk":"Le script %s a \xe9t\xe9 modifi\xe9 sur le disque","Script is not running":"Le script n\'est pas en cours d\'ex\xe9cution","Search in scripts":"Rechercher dans les scripts","Search...":"Chercher...","Select all":"Tout s\xe9lectionner","September":"septembre","Show javascript code":"Afficher le code Javascript","Show only paused scripts":"Afficher uniquement les scripts en pause","Show only running scripts":"Afficher uniquement les scripts en cours d\'ex\xe9cution","Show only scripts with problems":"Afficher uniquement les scripts avec des probl\xe8mes","Some files will be rejected":"Certains fichiers seront rejet\xe9s","Sunday":"dimanche","TS description":"Cr\xe9er des r\xe8gles en \xe9crivant des caract\xe8res dactylographi\xe9s","Thursday":"Jeudi","Tuesday":"Mardi","Unknown error":"Erreur inconnue","Unknown error!":"Erreur inconnue!","Wednesday":"Mercredi","Yet exists!":"Pourtant existe!","copy":"copie","file reading has failed: %s":"La lecture du fichier a \xe9chou\xe9: %s","file reading was aborted":"la lecture du fichier a \xe9t\xe9 abandonn\xe9e","filter_func":"Une fonction","filter_id":"ID","filter_name":"Nom","filter_role":"R\xf4le","filter_room":"Pi\xe8ce","for edit or create script":"pour \xe9diter ou cr\xe9er un nouveau script","no blocks found":"Aucun bloc trouv\xe9","no group":"PAS DE GROUPE","not properly connected":"Ce bloc n\'est pas correctement connect\xe9 \xe0 d\'autres blocs.","sc_cron":"CRON","sc_date":"Date","sc_dates":"Rendez-vous","sc_dows":"Jour de la semaine","sc_every":"Chaque","sc_everyN_dates":"tous les N jours","sc_everyN_dows":"tous les N jours de la semaine","sc_everyN_hours":"toutes les N heures","sc_everyN_minutes":"toutes les N minutes","sc_everyN_months":"tous les N mois","sc_everyN_seconds":"toutes les N secondes","sc_every_dates":"tous les jours","sc_every_dows":"Chaque jour de la semaine","sc_every_hours":"Toutes les heures","sc_every_minutes":"chaque minute","sc_every_months":"chaque mois","sc_every_seconds":"chaque seconde","sc_from":"De","sc_hours":"Heures","sc_interval":"Intervalle","sc_intervalBetween":"Intervalle entre","sc_minutes":"Minutes","sc_months":"mois","sc_once":"Une fois que","sc_period":"P\xe9riode","sc_seconds":"Secondes","sc_simple":"Facile","sc_specific":"Temps sp\xe9cifique","sc_specific_dates":"dates sp\xe9cifiques","sc_specific_dows":"jour sp\xe9cifique de semaines","sc_specific_hours":"heures sp\xe9cifiques","sc_specific_minutes":"minutes sp\xe9cifiques","sc_specific_months":"mois sp\xe9cifiques","sc_specific_seconds":"secondes sp\xe9cifiques","sc_time":"Temps","sc_to":"\xc0","sc_wizard":"sorcier","sch_all":"tout","sch_astroDay":"Journ\xe9e astronomique","sch_astroNight":"Nuit astronomique","sch_astro_dawn":"Aube","sch_astro_dusk":"Cr\xe9puscule","sch_astro_goldenHour":"Heure d\'or","sch_astro_goldenHourEnd":"Fin de l\'heure d\'or","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Aube nautique","sch_astro_nauticalDusk":"Cr\xe9puscule nautique","sch_astro_night":"Nuit","sch_astro_nightEnd":"Fin de nuit","sch_astro_solarNoon":"Midi solaire","sch_astro_sunrise":"lever du soleil","sch_astro_sunriseEnd":"Fin du lever du soleil","sch_astro_sunset":"Le coucher du soleil","sch_astro_sunsetStart":"Coucher du soleil","sch_at":"\xe0","sch_desc_atTime":"\xe0 %s","sch_desc_everyDay":"tous les jours","sch_desc_everyHour":"Toutes les heures","sch_desc_everyMinute":"chaque minute","sch_desc_everyMonth":"chaque mois","sch_desc_everyNDay":"chaque %s jour","sch_desc_everyNHours":"chaque %s heures","sch_desc_everyNMinutes":"toutes les %s minutes","sch_desc_everyNMonths":"tous les %s mois","sch_desc_everyNWeeks":"chaque %s semaines","sch_desc_everyNYears":"tous les %s ans","sch_desc_everyWeek":"toutes les semaines","sch_desc_everyYear":"chaque ann\xe9e","sch_desc_intervalFromTo":"de %s \xe0 %s","sch_desc_never":"jamais","sch_desc_onDate":"sur %s de %s","sch_desc_onDates":"sur %s et %s de","sch_desc_onEveryDate":"\xe0 chaque date de","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s et %s","sch_desc_onWeekday":"sur %s","sch_desc_onWeekdays":"sur %s et %s","sch_desc_onWeekends":"les weekends","sch_desc_onWorkdays":"les jours ouvrables","sch_desc_onceInPast":"ne sera plus ex\xe9cut\xe9, car start est dans le pass\xe9","sch_desc_once_on":"sur %s","sch_desc_validFrom":"de %s","sch_desc_validFromTo":"Ex\xe9cuter de \xe0","sch_desc_validTo":"\xe0 %s","sch_every":"chaque","sch_exactTime":"Temps sp\xe9cifique","sch_from":"de","sch_fromTo":"De \xe0","sch_intervalTime":"Temps d\'interval","sch_invert":"inverser","sch_no_one":"aucun","sch_on":"sur","sch_period":"P\xe9riode","sch_periodDaily":"du quotidien","sch_periodDates":"Rendez-vous","sch_periodDay":"journ\xe9e","sch_periodEvery":"Chaque","sch_periodEveryDay":"Tous les jours","sch_periodEveryMonth":"Chaque mois","sch_periodEveryWeek":"Toutes les semaines","sch_periodEveryYear":"Chaque ann\xe9e","sch_periodHours":"Heures","sch_periodMinutes":"Minutes","sch_periodMonth":"mois","sch_periodMonthly":"Mensuel","sch_periodOnce":"Une fois que","sch_periodSpecificMonths":"Mois sp\xe9cifiques","sch_periodWeek":"La semaine","sch_periodWeekdays":"Jours de la semaine","sch_periodWeekend":"Weekend","sch_periodWeekly":"Hebdomadaire","sch_periodWorkdays":"Jours ouvrables","sch_periodYear":"Ann\xe9e","sch_periodYearly":"Annuel","sch_specificTime":"Temps sp\xe9cifique","sch_time":"Temps","sch_to":"\xe0","sch_valid":"Valide","sch_validFrom":"de","sch_validTo":"\xe0","sch_wholeDay":"Toute la journ\xe9e","sch_yearEveryMonth":"chaque mois","tooltip_ack":"Reconna\xeetre","tooltip_from":"De","tooltip_lc":"Derni\xe8re modification","tooltip_quality":"Qualit\xe9","tooltip_ts":"Horodatage","tooltip_user":"Utilisateur","tooltip_value":"Valeur","use seconds":"utiliser les secondes","Save all":"Sauver tous","Change theme (actual \\"%s\\")":"Changer de th\xe8me (maintenant - \\"%s\\")"}')},314:function(e){e.exports=JSON.parse('{"-":"-","Add":"Inserisci","Add new script":"Aggiungi nuovo script","All files will be accepted":"Tutti i file saranno accettati","April":"aprile","Are you sure?":"Sei sicuro?","August":"agosto","Blockly description":"Creazione di regole tramite blocchi grafici","Cancel":"Annulla","Cannot delete non empty item!":"Impossibile eliminare l\'elemento non vuoto!","Change layout":"Cambia layout","Check blocks":"Controlla i blocchi","Check is not active, because javascript adapter is disabled":"Il controllo non \xe8 attivo perch\xe9 l\'adattatore Javascript \xe8 disabilitato","Clear search input":"Cancella input di ricerca","Click on this icon":"Clicca su questa icona","Close":"Vicino","Close all but current":"Chiudi tutto tranne corrente","Collapse all":"Comprimi tutto","Configuration not saved.":"Configurazione non salvata.","Convert blockly to javascript for ever.":"Converti istantaneamente a blocchi in Javascript.","Copy script":"Copia script","Copy to clipboard":"Copia negli appunti","Create new":"Creare nuovo","Create new folder":"Crea una nuova cartella","Create new script":"Crea nuovo script","Create or edit CRON or time wizard":"Crea o modifica la procedura guidata CRON o time","Dark Theme":"Tema scuro","Dark style":"Stile scuro","Debug options":"Opzioni di debug","December":"dicembre","Define cron...":"Definisci cron ...","Define schedule...":"Definisci programma ...","Delete":"Elimina","Delete %s":"Elimina %s ...","Delete folder":"Elimina cartella","Delete script":"Elimina script","Deselect all":"Deselezionare tutto","Discard changes for %s":"Annulla modifiche per %s","Done":"Fatto","Drop some files here or click...":"Trascina alcuni file qui o fai clic su ...","Edit script or just double click":"Modifica lo script o fai doppio clic","End search mode":"Termina la modalit\xe0 di ricerca","Error":"Errore","Error was found":"Errore trovato","Existing scripts will be overwritten.":"Gli script esistenti verranno sovrascritti.","Expand all":"Espandi tutto","Expert mode":"Modalit\xe0 esperto","Export":"Esportare","Export all scripts":"Esporta tutti gli script","Export blocks":"Esporta blocchi","Export selected blocks":"Esporta i blocchi selezionati","February":"febbraio","Folder":"Cartella","Friday":"Venerd\xec","Function editor":"Editor di funzioni","ID":"ID","Import":"Importare","Import blocks":"Importa blocchi","Import error":"Errore di importazione","Import scripts":"Importa script","Insert object ID":"Inserisci l\'ID oggetto","Instance":"Esempio","Instance is disabled":"L\'istanza \xe8 disabilitata","Invalid CRON":"CRON non valido","It will not be possible to revert this operation.":"Non sar\xe0 possibile ripristinare questa operazione.","JS description":"Creare regole scrivendo Javascript","January":"gennaio","July":"luglio","June":"giugno","Learn More":"Per saperne di pi\xf9","Light style":"Stile leggero","Locate file":"Localizza file","Log outputs":"Registra le uscite","March":"marzo","May":"Maggio","Menu":"Menu","Message":"Messaggio","Monday":"Lunedi","Name":"Nome","No active host found":"Nessun host attivo trovato","November":"novembre","October":"ottobre","Ok":"Ok","On weekdays":"Nei giorni della settimana","Pause script":"Metti in pausa lo script","Please select object ID...":"Seleziona l\'ID oggetto ...","Rename":"Rinominare","Reorder scripts in folders":"Riordina gli script nelle cartelle","Repeat":"Ripetere","Restart":"Ricomincia","Root folder":"Cartella root","Run script":"Esegui script","Saturday":"Sabato","Save":"Salva","Script":"copione","Script %s was modified on disk":"Lo script %s \xe8 stato modificato sul disco","Script is not running":"Lo script non \xe8 in esecuzione","Search in scripts":"Cerca negli script","Search...":"Ricerca...","Select all":"Seleziona tutto","September":"settembre","Show javascript code":"Mostra codice Javascript","Show only paused scripts":"Mostra solo script in pausa","Show only running scripts":"Mostra solo gli script in esecuzione","Show only scripts with problems":"Mostra solo script con problemi","Some files will be rejected":"Alcuni file verranno rifiutati","Sunday":"Domenica","TS description":"Creare regole scrivendo dattiloscritto","Thursday":"giovedi","Tuesday":"marted\xec","Unknown error":"Errore sconosciuto","Unknown error!":"Errore sconosciuto!","Wednesday":"mercoled\xec","Yet exists!":"Esiste ancora!","copy":"copia","file reading has failed: %s":"lettura file non riuscita: %s","file reading was aborted":"la lettura del file \xe8 stata interrotta","filter_func":"Funzione","filter_id":"ID","filter_name":"Nome","filter_role":"Ruolo","filter_room":"Camera","for edit or create script":"per modificare o creare un nuovo script","no blocks found":"Nessun blocco trovato","no group":"NESSUN GRUPPO","not properly connected":"Questo blocco non \xe8 correttamente collegato ad altri blocchi.","sc_cron":"CRON","sc_date":"Data","sc_dates":"Date","sc_dows":"Giorno della settimana","sc_every":"Ogni","sc_everyN_dates":"ogni N giorni","sc_everyN_dows":"ogni N giorno della settimana","sc_everyN_hours":"ogni N ore","sc_everyN_minutes":"ogni N minuti","sc_everyN_months":"ogni N mesi","sc_everyN_seconds":"ogni N secondi","sc_every_dates":"ogni giorno","sc_every_dows":"Tutti i giorni della settimana","sc_every_hours":"ogni ora","sc_every_minutes":"ogni minuto","sc_every_months":"ogni mese","sc_every_seconds":"ogni secondo","sc_from":"A partire dal","sc_hours":"Ore","sc_interval":"Intervallo","sc_intervalBetween":"Intervallo tra","sc_minutes":"Minuti","sc_months":"mesi","sc_once":"Una volta","sc_period":"Periodo","sc_seconds":"secondi","sc_simple":"Semplice","sc_specific":"Orario preciso","sc_specific_dates":"date specifiche","sc_specific_dows":"giorno specifico delle settimane","sc_specific_hours":"orari specifici","sc_specific_minutes":"minuti specifici","sc_specific_months":"mesi specifici","sc_specific_seconds":"secondi specifici","sc_time":"Tempo","sc_to":"Per","sc_wizard":"procedura guidata","sch_all":"tutti","sch_astroDay":"Astro day","sch_astroNight":"Astro night","sch_astro_dawn":"Alba","sch_astro_dusk":"Crepuscolo","sch_astro_goldenHour":"Ora d\'oro","sch_astro_goldenHourEnd":"Fine dell\'ora d\'oro","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Alba nautica","sch_astro_nauticalDusk":"Crepuscolo nautico","sch_astro_night":"Notte","sch_astro_nightEnd":"Fine della notte","sch_astro_solarNoon":"Mezzogiorno solare","sch_astro_sunrise":"Alba","sch_astro_sunriseEnd":"Fine dell\'alba","sch_astro_sunset":"Tramonto","sch_astro_sunsetStart":"Inizio del tramonto","sch_at":"a","sch_desc_atTime":"a %s","sch_desc_everyDay":"ogni giorno","sch_desc_everyHour":"ogni ora","sch_desc_everyMinute":"ogni minuto","sch_desc_everyMonth":"ogni mese","sch_desc_everyNDay":"ogni %s giorno","sch_desc_everyNHours":"ogni %s ore","sch_desc_everyNMinutes":"ogni %s minuti","sch_desc_everyNMonths":"ogni %s mesi","sch_desc_everyNWeeks":"ogni %s settimane","sch_desc_everyNYears":"ogni %s anni","sch_desc_everyWeek":"ogni settimana","sch_desc_everyYear":"ogni anno","sch_desc_intervalFromTo":"da %s a %s","sch_desc_never":"mai","sch_desc_onDate":"su %s di %s","sch_desc_onDates":"su %s e %s di","sch_desc_onEveryDate":"in ogni data di","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s e %s","sch_desc_onWeekday":"su %s","sch_desc_onWeekdays":"su %s e %s","sch_desc_onWeekends":"nei finesettimana","sch_desc_onWorkdays":"nei giorni lavorativi","sch_desc_onceInPast":"non verr\xe0 pi\xf9 eseguito, perch\xe9 start \xe8 nel passato","sch_desc_once_on":"su %s","sch_desc_validFrom":"da %s","sch_desc_validFromTo":"Eseguire da a","sch_desc_validTo":"a %s","sch_every":"ogni","sch_exactTime":"Orario preciso","sch_from":"a partire dal","sch_fromTo":"Da A","sch_intervalTime":"Intervallo di tempo","sch_invert":"invertire","sch_no_one":"nessuna","sch_on":"sopra","sch_period":"Periodo","sch_periodDaily":"Quotidiano","sch_periodDates":"Date","sch_periodDay":"Giorno","sch_periodEvery":"Ogni","sch_periodEveryDay":"Ogni giorno","sch_periodEveryMonth":"Ogni mese","sch_periodEveryWeek":"Ogni settimana","sch_periodEveryYear":"Ogni anno","sch_periodHours":"Ore","sch_periodMinutes":"Minuti","sch_periodMonth":"mese","sch_periodMonthly":"Mensile","sch_periodOnce":"Una volta","sch_periodSpecificMonths":"Mesi specifici","sch_periodWeek":"Settimana","sch_periodWeekdays":"Giorni della settimana","sch_periodWeekend":"Fine settimana","sch_periodWeekly":"settimanalmente","sch_periodWorkdays":"giorni feriali","sch_periodYear":"Anno","sch_periodYearly":"Annuale","sch_specificTime":"Orario preciso","sch_time":"Tempo","sch_to":"per","sch_valid":"Valido","sch_validFrom":"a partire dal","sch_validTo":"per","sch_wholeDay":"Giorno intero","sch_yearEveryMonth":"ogni mese","tooltip_ack":"Riconoscere","tooltip_from":"A partire dal","tooltip_lc":"Ultima modifica","tooltip_quality":"Qualit\xe0","tooltip_ts":"timestamp","tooltip_user":"Utente","tooltip_value":"Valore","use seconds":"usa i secondi","Save all":"Salva tutto","Change theme (actual \\"%s\\")":"Cambia tema (ora - \\"%s\\")"}')},315:function(e){e.exports=JSON.parse('{"-":"-","Add":"Toevoegen","Add new script":"Nieuw script toevoegen","All files will be accepted":"Alle bestanden worden geaccepteerd","April":"april","Are you sure?":"Weet je zeker dat?","August":"augustus","Blockly description":"Regels maken door grafische blokken","Cancel":"annuleren","Cannot delete non empty item!":"Kan niet leeg item niet verwijderen!","Change layout":"Opmaak veranderen","Check blocks":"Controleer blokken","Check is not active, because javascript adapter is disabled":"Controle is niet actief, omdat Javascript-adapter is uitgeschakeld","Clear search input":"Zoekopdracht wissen","Click on this icon":"Klik op dit pictogram","Close":"Dichtbij","Close all but current":"Alles sluiten behalve huidig","Collapse all":"Alles inklappen","Configuration not saved.":"Configuratie niet opgeslagen.","Convert blockly to javascript for ever.":"Converteer direct blockly naar Javascript.","Copy script":"Kopieer script","Copy to clipboard":"Kopieer naar klembord","Create new":"Maak nieuw","Create new folder":"Maak een nieuwe map","Create new script":"Maak een nieuw script","Create or edit CRON or time wizard":"Cre\xeber of bewerk CRON of tijdwizard","Dark Theme":"Donker thema","Dark style":"Donkere stijl","Debug options":"Foutopsporingsopties","December":"december","Define cron...":"Definieer cron ...","Define schedule...":"Definieer schema ...","Delete":"Verwijder","Delete %s":"%s verwijderen ...","Delete folder":"Verwijder map","Delete script":"Script verwijderen","Deselect all":"Deselecteer alles","Discard changes for %s":"Wijzigingen voor %s annuleren","Done":"Gedaan","Drop some files here or click...":"Zet hier enkele bestanden neer of klik op ...","Edit script or just double click":"Bewerk het script of dubbelklik erop","End search mode":"Zoekmodus be\xebindigen","Error":"Fout","Error was found":"Er is een fout gevonden","Existing scripts will be overwritten.":"Bestaande scripts worden overschreven.","Expand all":"Alles uitvouwen","Expert mode":"Expert modus","Export":"Exporteren","Export all scripts":"Exporteer alle scripts","Export blocks":"Blokken exporteren","Export selected blocks":"Exporteer geselecteerde blokken","February":"februari","Folder":"Map","Friday":"vrijdag","Function editor":"Functie-editor","ID":"ID kaart","Import":"Importeren","Import blocks":"Blokken importeren","Import error":"Importfout","Import scripts":"Scripts importeren","Insert object ID":"Object-ID invoegen","Instance":"Voorbeeld","Instance is disabled":"Exemplaar is uitgeschakeld","Invalid CRON":"Ongeldige CRON","It will not be possible to revert this operation.":"Het is niet mogelijk om deze bewerking terug te zetten.","JS description":"Regels maken door Javascript te schrijven","January":"januari","July":"juli","June":"juni","Learn More":"Leer meer","Light style":"Lichte stijl","Locate file":"Vind het bestand","Log outputs":"Log uitgangen","March":"maart","May":"mei","Menu":"Menu","Message":"Bericht","Monday":"maandag","Name":"Naam","No active host found":"Geen actieve host gevonden","November":"november","October":"oktober","Ok":"OK","On weekdays":"Op weekdagen","Pause script":"Pauzeer script","Please select object ID...":"Selecteer object-ID ...","Rename":"andere naam geven","Reorder scripts in folders":"Sorteer scripts in mappen opnieuw","Repeat":"Herhaling","Restart":"Herstarten","Root folder":"Hoofdmap","Run script":"Voer script uit","Saturday":"zaterdag","Save":"Opslaan","Script":"Script","Script %s was modified on disk":"Script %s is gewijzigd op schijf","Script is not running":"Script is niet actief","Search in scripts":"Zoeken in scripts","Search...":"Zoeken...","Select all":"Selecteer alles","September":"september","Show javascript code":"Javascript-code weergeven","Show only paused scripts":"Toon alleen onderbroken scripts","Show only running scripts":"Toon alleen actieve scripts","Show only scripts with problems":"Toon alleen scripts met problemen","Some files will be rejected":"Sommige bestanden worden geweigerd","Sunday":"zondag","TS description":"Regels maken door Typescript te schrijven","Thursday":"donderdag","Tuesday":"dinsdag","Unknown error":"Onbekende fout","Unknown error!":"Onbekende fout!","Wednesday":"woensdag","Yet exists!":"Toch bestaat!","copy":"kopi\xebren","file reading has failed: %s":"bestands lezen is mislukt: %s","file reading was aborted":"bestands lezen is afgebroken","filter_func":"Functie","filter_id":"ID kaart","filter_name":"Naam","filter_role":"Rol","filter_room":"Kamer","for edit or create script":"voor bewerken of een nieuw script maken","no blocks found":"Geen blokken gevonden","no group":"GEEN GROEP","not properly connected":"Dit blok is niet correct verbonden met andere blokken.","sc_cron":"CRON","sc_date":"Datum","sc_dates":"data","sc_dows":"Dag van de week","sc_every":"elk","sc_everyN_dates":"elke N dagen","sc_everyN_dows":"elke N dag van de week","sc_everyN_hours":"elke N uur","sc_everyN_minutes":"elke N minuten","sc_everyN_months":"elke N maanden","sc_everyN_seconds":"elke N seconden","sc_every_dates":"elke dag","sc_every_dows":"elke dag van de week","sc_every_hours":"elk uur","sc_every_minutes":"elke minuut","sc_every_months":"elke maand","sc_every_seconds":"elke seconde","sc_from":"Van","sc_hours":"uren","sc_interval":"Interval","sc_intervalBetween":"Interval tussen","sc_minutes":"Notulen","sc_months":"maanden","sc_once":"Een keer","sc_period":"Periode","sc_seconds":"seconden","sc_simple":"Gemakkelijk","sc_specific":"Specifieke tijd","sc_specific_dates":"specifieke data","sc_specific_dows":"specifieke dag van weken","sc_specific_hours":"specifieke uren","sc_specific_minutes":"specifieke minuten","sc_specific_months":"specifieke maanden","sc_specific_seconds":"specifieke seconden","sc_time":"Tijd","sc_to":"Naar","sc_wizard":"tovenaar","sch_all":"allemaal","sch_astroDay":"Astro-dag","sch_astroNight":"Astro-nacht","sch_astro_dawn":"Dageraad","sch_astro_dusk":"Schemer","sch_astro_goldenHour":"gouden uur","sch_astro_goldenHourEnd":"Gouden uur einde","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Nautische dageraad","sch_astro_nauticalDusk":"Nautische schemering","sch_astro_night":"Nacht","sch_astro_nightEnd":"Nacht einde","sch_astro_solarNoon":"Zonne middag","sch_astro_sunrise":"zonsopkomst","sch_astro_sunriseEnd":"Sunrise einde","sch_astro_sunset":"Zonsondergang","sch_astro_sunsetStart":"Zonsondergang start","sch_at":"Bij","sch_desc_atTime":"op %s","sch_desc_everyDay":"elke dag","sch_desc_everyHour":"elk uur","sch_desc_everyMinute":"elke minuut","sch_desc_everyMonth":"elke maand","sch_desc_everyNDay":"elke %s dag","sch_desc_everyNHours":"elke %s uur","sch_desc_everyNMinutes":"elke %s minuten","sch_desc_everyNMonths":"elke %s maanden","sch_desc_everyNWeeks":"elke %s weken","sch_desc_everyNYears":"elke %s jaar","sch_desc_everyWeek":"elke week","sch_desc_everyYear":"elk jaar","sch_desc_intervalFromTo":"van %s tot %s","sch_desc_never":"nooit","sch_desc_onDate":"op %s van %s","sch_desc_onDates":"op %s en %s van","sch_desc_onEveryDate":"op elke datum van","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s en %s","sch_desc_onWeekday":"op %s","sch_desc_onWeekdays":"op %s en %s","sch_desc_onWeekends":"in het weekend","sch_desc_onWorkdays":"op werkdagen","sch_desc_onceInPast":"zal niet meer worden uitgevoerd, omdat start verleden tijd is","sch_desc_once_on":"op %s","sch_desc_validFrom":"van %s","sch_desc_validFromTo":"Uitvoeren van tot","sch_desc_validTo":"tot %s","sch_every":"elk","sch_exactTime":"Specifieke tijd","sch_from":"van","sch_fromTo":"Van naar","sch_intervalTime":"Interval tijd","sch_invert":"omkeren","sch_no_one":"geen","sch_on":"Aan","sch_period":"Periode","sch_periodDaily":"Dagelijks","sch_periodDates":"data","sch_periodDay":"Dag","sch_periodEvery":"elk","sch_periodEveryDay":"Elke dag","sch_periodEveryMonth":"Elke maand","sch_periodEveryWeek":"Elke week","sch_periodEveryYear":"Elk jaar","sch_periodHours":"uren","sch_periodMinutes":"Notulen","sch_periodMonth":"maand","sch_periodMonthly":"Maandelijks","sch_periodOnce":"Een keer","sch_periodSpecificMonths":"Specifieke maanden","sch_periodWeek":"Week","sch_periodWeekdays":"Doordeweekse dagen","sch_periodWeekend":"Weekend","sch_periodWeekly":"Wekelijks","sch_periodWorkdays":"werkdagen","sch_periodYear":"Jaar","sch_periodYearly":"jaar-","sch_specificTime":"Specifieke tijd","sch_time":"Tijd","sch_to":"naar","sch_valid":"Geldig","sch_validFrom":"van","sch_validTo":"naar","sch_wholeDay":"Hele dag","sch_yearEveryMonth":"elke maand","tooltip_ack":"Erkennen","tooltip_from":"Van","tooltip_lc":"Laatst gewijzigd","tooltip_quality":"Kwaliteit","tooltip_ts":"tijdstempel","tooltip_user":"Gebruiker","tooltip_value":"Waarde","use seconds":"gebruik seconden","Save all":"Sla alles op","Change theme (actual \\"%s\\")":"Thema wijzigen (nu - \\"%s\\")"}')},316:function(e){e.exports=JSON.parse('{"-":"-","Add":"Dodaj","Add new script":"Dodaj nowy skrypt","All files will be accepted":"Wszystkie pliki zostan\u0105 zaakceptowane","April":"kwiecie\u0144","Are you sure?":"Jeste\u015b pewny?","August":"sierpie\u0144","Blockly description":"Tworzenie regu\u0142 za pomoc\u0105 blok\xf3w graficznych","Cancel":"anulowa\u0107","Cannot delete non empty item!":"Nie mo\u017cna usun\u0105\u0107 niepustego elementu!","Change layout":"Zmiana uk\u0142adu","Check blocks":"Sprawd\u017a bloki","Check is not active, because javascript adapter is disabled":"Sprawdzanie nie jest aktywne, poniewa\u017c adapter Javascript jest wy\u0142\u0105czony","Clear search input":"Wyczy\u015b\u0107 dane wyszukiwania","Click on this icon":"Kliknij t\u0119 ikon\u0119","Close":"Blisko","Close all but current":"Zamknij wszystkie opr\xf3cz bie\u017c\u0105cych","Collapse all":"Zwin\u0105\u0107 wszystkie","Configuration not saved.":"Konfiguracja nie zosta\u0142a zapisana.","Convert blockly to javascript for ever.":"Natychmiastowa konwersja blokowa do Javascript.","Copy script":"Skopiuj skrypt","Copy to clipboard":"Skopiuj do schowka","Create new":"Tworzy\u0107 nowe","Create new folder":"Stw\xf3rz nowy folder","Create new script":"Utw\xf3rz nowy skrypt","Create or edit CRON or time wizard":"Utw\xf3rz lub edytuj CRON lub kreator czasu","Dark Theme":"ciemny schemat","Dark style":"Ciemny styl","Debug options":"Opcje debugowania","December":"grudzie\u0144","Define cron...":"Zdefiniuj cron ...","Define schedule...":"Zdefiniuj harmonogram ...","Delete":"Usun\u0105\u0107","Delete %s":"Usu\u0144 %s ...","Delete folder":"Usuni\u0119ty folder","Delete script":"Usu\u0144 skrypt","Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzu\u0107 zmiany dla %s","Done":"Gotowy","Drop some files here or click...":"Upu\u015b\u0107 niekt\xf3re pliki tutaj lub kliknij ...","Edit script or just double click":"Edytuj skrypt lub po prostu kliknij dwukrotnie","End search mode":"Zako\u0144cz tryb wyszukiwania","Error":"B\u0142\u0105d","Error was found":"B\u0142\u0105d zosta\u0142 znaleziony","Existing scripts will be overwritten.":"Istniej\u0105ce skrypty zostan\u0105 zast\u0105pione.","Expand all":"Rozwi\u0144 wszystkie","Expert mode":"Tryb ekspercki","Export":"Eksport","Export all scripts":"Wyeksportuj wszystkie skrypty","Export blocks":"Eksportuj bloki","Export selected blocks":"Eksportuj wybrane bloki","February":"luty","Folder":"Teczka","Friday":"pi\u0105tek","Function editor":"Edytor funkcji","ID":"ID","Import":"Import","Import blocks":"Importuj bloki","Import error":"B\u0142\u0105d importowania","Import scripts":"Importuj skrypty","Insert object ID":"Wstaw identyfikator obiektu","Instance":"Instancja","Instance is disabled":"Instancja jest wy\u0142\u0105czona","Invalid CRON":"Nieprawid\u0142owy CRON","It will not be possible to revert this operation.":"Cofni\u0119cie tej operacji nie b\u0119dzie mo\u017cliwe.","JS description":"Tworzenie regu\u0142 przez pisanie Javascript","January":"stycze\u0144","July":"lipiec","June":"czerwiec","Learn More":"Ucz si\u0119 wi\u0119cej","Light style":"Lekki styl","Locate file":"Znajd\u017a plik","Log outputs":"Dane wyj\u015bciowe dziennika","March":"Marsz","May":"Mo\u017ce","Menu":"Menu","Message":"Wiadomo\u015b\u0107","Monday":"poniedzia\u0142ek","Name":"Imi\u0119","No active host found":"Nie znaleziono aktywnego hosta","November":"listopad","October":"pa\u017adziernik","Ok":"Dobrze","On weekdays":"W dni powszednie","Pause script":"Wstrzymaj skrypt","Please select object ID...":"Wybierz identyfikator obiektu ...","Rename":"Przemianowa\u0107","Reorder scripts in folders":"Zmie\u0144 kolejno\u015b\u0107 skrypt\xf3w w folderach","Repeat":"Powtarza\u0107","Restart":"Uruchom ponownie","Root folder":"Folder g\u0142\xf3wny","Run script":"Uruchom skrypt","Saturday":"sobota","Save":"Zapisa\u0107","Script":"Scenariusz","Script %s was modified on disk":"Skrypt %s zosta\u0142 zmodyfikowany na dysku","Script is not running":"Skrypt nie dzia\u0142a","Search in scripts":"Szukaj w skryptach","Search...":"Szukaj...","Select all":"Zaznacz wszystko","September":"wrzesie\u0144","Show javascript code":"Poka\u017c kod JavaScript","Show only paused scripts":"Poka\u017c tylko wstrzymane skrypty","Show only running scripts":"Poka\u017c tylko dzia\u0142aj\u0105ce skrypty","Show only scripts with problems":"Poka\u017c tylko skrypty z problemami","Some files will be rejected":"Niekt\xf3re pliki zostan\u0105 odrzucone","Sunday":"niedziela","TS description":"Tworzenie regu\u0142 przez pisanie maszynopisu","Thursday":"czwartek","Tuesday":"wtorek","Unknown error":"Nieznany b\u0142\u0105d","Unknown error!":"Nieznany b\u0142\u0105d!","Wednesday":"\u015broda","Yet exists!":"A jednak istnieje!","copy":"Kopiuj","file reading has failed: %s":"odczyt pliku nie powi\xf3d\u0142 si\u0119: %s","file reading was aborted":"odczyt pliku zosta\u0142 przerwany","filter_func":"Funkcjonowa\u0107","filter_id":"ID","filter_name":"Imi\u0119","filter_role":"Rola","filter_room":"Pok\xf3j","for edit or create script":"do edycji lub utw\xf3rz nowy skrypt","no blocks found":"Nie znaleziono blok\xf3w","no group":"BRAK GRUPY","not properly connected":"Ten blok nie jest poprawnie pod\u0142\u0105czony do innych blok\xf3w.","sc_cron":"CRON","sc_date":"Data","sc_dates":"Daktyle","sc_dows":"Dzie\u0144 tygodnia","sc_every":"Ka\u017cdy","sc_everyN_dates":"co N dni","sc_everyN_dows":"co N dnia tygodnia","sc_everyN_hours":"co N godzin","sc_everyN_minutes":"co N minut","sc_everyN_months":"co N miesi\u0119cy","sc_everyN_seconds":"co N sekund","sc_every_dates":"codziennie","sc_every_dows":"ka\u017cdy dzie\u0144 tygodnia","sc_every_hours":"co godzin\u0119","sc_every_minutes":"ka\u017cda minuta","sc_every_months":"ka\u017cdego miesi\u0105ca","sc_every_seconds":"ka\u017cda sekunda","sc_from":"Od","sc_hours":"godziny","sc_interval":"Interwa\u0142","sc_intervalBetween":"Interwa\u0142 mi\u0119dzy","sc_minutes":"Minuty","sc_months":"miesi\u0119cy","sc_once":"Pewnego razu","sc_period":"Kropka","sc_seconds":"sekundy","sc_simple":"Prosty","sc_specific":"Okre\u015blony czas","sc_specific_dates":"konkretne daty","sc_specific_dows":"okre\u015blony dzie\u0144 tygodni","sc_specific_hours":"okre\u015blone godziny","sc_specific_minutes":"okre\u015blone minuty","sc_specific_months":"okre\u015blone miesi\u0105ce","sc_specific_seconds":"okre\u015blone sekundy","sc_time":"Czas","sc_to":"Do","sc_wizard":"Czarodziej","sch_all":"wszystko","sch_astroDay":"Dzie\u0144 Astro","sch_astroNight":"Noc Astro","sch_astro_dawn":"\u015awit","sch_astro_dusk":"Zmierzch","sch_astro_goldenHour":"z\u0142ota godzina","sch_astro_goldenHourEnd":"Koniec z\u0142otej godziny","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Morski \u015bwit","sch_astro_nauticalDusk":"Morski zmierzch","sch_astro_night":"Noc","sch_astro_nightEnd":"Koniec nocy","sch_astro_solarNoon":"Po\u0142udnie s\u0142oneczne","sch_astro_sunrise":"wsch\xf3d s\u0142o\u0144ca","sch_astro_sunriseEnd":"Koniec wschodu s\u0142o\u0144ca","sch_astro_sunset":"Zach\xf3d s\u0142o\u0144ca","sch_astro_sunsetStart":"Pocz\u0105tek zachodu s\u0142o\u0144ca","sch_at":"w","sch_desc_atTime":"na %s","sch_desc_everyDay":"codziennie","sch_desc_everyHour":"co godzin\u0119","sch_desc_everyMinute":"ka\u017cda minuta","sch_desc_everyMonth":"ka\u017cdego miesi\u0105ca","sch_desc_everyNDay":"ka\u017cdego dnia %s","sch_desc_everyNHours":"co %s godzin","sch_desc_everyNMinutes":"co %s minut","sch_desc_everyNMonths":"co %s miesi\u0119cy","sch_desc_everyNWeeks":"co %s tygodni","sch_desc_everyNYears":"co %s lat","sch_desc_everyWeek":"co tydzie\u0144","sch_desc_everyYear":"ka\u017cdego roku","sch_desc_intervalFromTo":"od %s do %s","sch_desc_never":"nigdy","sch_desc_onDate":"na %s z %s","sch_desc_onDates":"na %s i %s z","sch_desc_onEveryDate":"w ka\u017cd\u0105 dat\u0119","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s i %s","sch_desc_onWeekday":"na %s","sch_desc_onWeekdays":"na %s i %s","sch_desc_onWeekends":"w weekendy","sch_desc_onWorkdays":"w dni robocze","sch_desc_onceInPast":"nie b\u0119dzie ju\u017c wykonywany, poniewa\u017c start jest w przesz\u0142o\u015bci","sch_desc_once_on":"na %s","sch_desc_validFrom":"z %s","sch_desc_validFromTo":"Wykonaj od do","sch_desc_validTo":"do %s","sch_every":"ka\u017cdy","sch_exactTime":"Okre\u015blony czas","sch_from":"od","sch_fromTo":"Od-do","sch_intervalTime":"Czas przerwy","sch_invert":"odwraca\u0107","sch_no_one":"\u017baden","sch_on":"na","sch_period":"Kropka","sch_periodDaily":"Codziennie","sch_periodDates":"Daktyle","sch_periodDay":"Dzie\u0144","sch_periodEvery":"Ka\u017cdy","sch_periodEveryDay":"Codziennie","sch_periodEveryMonth":"Ka\u017cdego miesi\u0105ca","sch_periodEveryWeek":"Co tydzie\u0144","sch_periodEveryYear":"Ka\u017cdego roku","sch_periodHours":"godziny","sch_periodMinutes":"Minuty","sch_periodMonth":"miesi\u0105c","sch_periodMonthly":"Miesi\u0119czny","sch_periodOnce":"Pewnego razu","sch_periodSpecificMonths":"Okre\u015blone miesi\u0105ce","sch_periodWeek":"Tydzie\u0144","sch_periodWeekdays":"Dni powszednie","sch_periodWeekend":"Weekend","sch_periodWeekly":"Co tydzie\u0144","sch_periodWorkdays":"Dni robocze","sch_periodYear":"Rok","sch_periodYearly":"Rocznie","sch_specificTime":"Okre\u015blony czas","sch_time":"Czas","sch_to":"do","sch_valid":"Wa\u017cny","sch_validFrom":"od","sch_validTo":"do","sch_wholeDay":"Ca\u0142y dzie\u0144","sch_yearEveryMonth":"ka\u017cdego miesi\u0105ca","tooltip_ack":"Uzna\u0107","tooltip_from":"Od","tooltip_lc":"Ostatnia zmiana","tooltip_quality":"Jako\u015b\u0107","tooltip_ts":"Znak czasu","tooltip_user":"U\u017cytkownik","tooltip_value":"Warto\u015b\u0107","use seconds":"u\u017cyj sekund","Save all":"Zapisz wszystko","Change theme (actual \\"%s\\")":"Zmie\u0144 motyw (teraz - \u201e%s\u201d)"}')},317:function(e){e.exports=JSON.parse('{"-":"-","Add":"Adicionar","Add new script":"Adicionar novo script","All files will be accepted":"Todos os arquivos ser\xe3o aceitos","April":"abril","Are you sure?":"Voc\xea tem certeza?","August":"agosto","Blockly description":"Criando regras por blocos gr\xe1ficos","Cancel":"Cancelar","Cannot delete non empty item!":"N\xe3o pode ser deletar, porque n\xe3o est\xe1 vazio!","Change layout":"Alterar layout","Check blocks":"Verificar blocos","Check is not active, because javascript adapter is disabled":"A verifica\xe7\xe3o de sintaxe n\xe3o est\xe1 ativa porque o adaptador javascript n\xe3o est\xe1 rodando.","Clear search input":"Limpar entrada de pesquisa","Click on this icon":"Clique neste \xedcone","Close":"Fechar","Close all but current":"Fechar tudo, menos atual","Collapse all":"Recolher todos","Configuration not saved.":"Configura\xe7\xe3o n\xe3o esta salva.","Convert blockly to javascript for ever.":"Converter Blockly em Javascript permanentemente.","Copy script":"Copiar script","Copy to clipboard":"Copiar para \xe1rea de transfer\xeancia","Create new":"Crie um novo","Create new folder":"Criar nova pasta","Create new script":"Criar novo script","Create or edit CRON or time wizard":"Criar ou editar o assistente cron ou o assistente de hor\xe1rio","Dark Theme":"Layout escuro","Dark style":"Estilo escuro","Debug options":"Op\xe7\xf5es de depura\xe7\xe3o","December":"dezembro","Define cron...":"Definir cron...","Define schedule...":"Definir agendamento ...","Delete":"Deletar","Delete %s":"Deletar %s...","Delete folder":"Deletar pasta","Delete script":"Deletar script","Deselect all":"Desmarcar todos","Discard changes for %s":"Descartar altera\xe7\xf5es para %s","Done":"Completo","Drop some files here or click...":"Solte alguns arquivos aqui ou clique em...","Edit script or just double click":"Edite o script ou clique duas vezes","End search mode":"Finalizar modo de pesquisa","Error":"Erro","Error was found":"Erro foi encontrado","Existing scripts will be overwritten.":"Os scripts existentes ser\xe3o substitu\xeddos.","Expand all":"Expandir todos","Expert mode":"Modo de especialista","Export":"Exporta\xe7\xe3o","Export all scripts":"Exportar todos os scripts","Export blocks":"Exportar blocos","Export selected blocks":"Exportar blocos selecionados","February":"fevereiro","Folder":"Pasta","Friday":"sexta","Function editor":"Editor de fun\xe7\xf5es","ID":"ID","Import":"Importar","Import blocks":"Importar blocos","Import error":"Erro de importa\xe7\xe3o","Import scripts":"Importar script","Insert object ID":"Inserir ID do objeto","Instance":"Inst\xe2ncia","Instance is disabled":"Inst\xe2ncia est\xe1 desativada","Invalid CRON":"CRON inv\xe1lido","It will not be possible to revert this operation.":"N\xe3o ser\xe1 poss\xedvel reverter esta opera\xe7\xe3o.","JS description":"Criando regras escrevendo Javascript","January":"janeiro","July":"julho","June":"junho","Learn More":"Aprender mais","Light style":"Estilo claro","Locate file":"Localize o arquivo","Log outputs":"Sa\xeddas de log","March":"mar\xe7o","May":"maio","Menu":"Menu","Message":"mensagem","Monday":"segunda","Name":"Nome","No active host found":"Nenhum host ativo encontrado","November":"novembro","October":"outubro","Ok":"Ok","On weekdays":"Nos dias \xfateis","Pause script":"Pausar script","Please select object ID...":"Selecione o ID do objeto...","Rename":"Renomear","Reorder scripts in folders":"Reordenar scripts em pastas","Repeat":"Repetir","Restart":"Reiniciar","Root folder":"Pasta principal","Run script":"Executar script","Saturday":"s\xe1bado","Save":"Salve","Script":"Script","Script %s was modified on disk":"O script \\"%s\\" foi modificado no disco r\xedgido","Script is not running":"Script n\xe3o est\xe1 sendo executado","Search in scripts":"Pesquisa em scripts","Search...":"Procurar...","Select all":"Selecionar tudo","September":"setembro","Show javascript code":"Mostrar c\xf3digo Javascript","Show only paused scripts":"Mostrar apenas scripts pausados","Show only running scripts":"Mostrar apenas scripts em execu\xe7\xe3o","Show only scripts with problems":"Mostrar apenas scripts com problemas","Some files will be rejected":"Alguns arquivos ser\xe3o rejeitados","Sunday":"domingo","TS description":"Criando regras escrevendo Typecript","Thursday":"quinta","Tuesday":"ter\xe7a","Unknown error":"Erro desconhecido","Unknown error!":"Erro desconhecido!","Wednesday":"quarta","Yet exists!":"Ainda existe!","copy":"copiar","file reading has failed: %s":"a leitura do arquivo falhou: %s","file reading was aborted":"a leitura do arquivo foi abortada","filter_func":"Fun\xe7\xe3o","filter_id":"ID","filter_name":"Nome","filter_role":"Tipo","filter_room":"Quarto","for edit or create script":"para editar ou criar um novo script","no blocks found":"Nenhum bloco encontrado","no group":"SEM GRUPO","not properly connected":"Este bloco n\xe3o est\xe1 conectado corretamente com outros blocos.","sc_cron":"CRON","sc_date":"Data","sc_dates":"Dias","sc_dows":"Dia da semana","sc_every":"todos","sc_everyN_dates":"a cada N dias","sc_everyN_dows":"todos os N dias da semana","sc_everyN_hours":"a cada N horas","sc_everyN_minutes":"a cada N minutos","sc_everyN_months":"a cada N meses","sc_everyN_seconds":"a cada N segundos","sc_every_dates":"todo dia","sc_every_dows":"todos os dias da semana","sc_every_hours":"toda hora","sc_every_minutes":"todo minuto","sc_every_months":"todo m\xeas","sc_every_seconds":"todo segundo","sc_from":"de","sc_hours":"horas","sc_interval":"intervalo","sc_intervalBetween":"intervalo entre","sc_minutes":"minutos","sc_months":"meses","sc_once":"uma vez","sc_period":"per\xedodo","sc_seconds":"segundos","sc_simple":"simples","sc_specific":"tempo espec\xedfico","sc_specific_dates":"datas espec\xedficas","sc_specific_dows":"dia espec\xedfico de semanas","sc_specific_hours":"horas espec\xedficas","sc_specific_minutes":"minutos espec\xedficos","sc_specific_months":"meses espec\xedficos","sc_specific_seconds":"segundos espec\xedficos","sc_time":"tempo","sc_to":"para","sc_wizard":"assistente","sch_all":"tudo","sch_astroDay":"dia astral","sch_astroNight":"noite astral","sch_astro_dawn":"amanhecer","sch_astro_dusk":"anoitecer","sch_astro_goldenHour":"hora dourada","sch_astro_goldenHourEnd":"Fim da hora dourada","sch_astro_nadir":"nadir","sch_astro_nauticalDawn":"Amanhecer n\xe1utico","sch_astro_nauticalDusk":"Anoitecer n\xe1utico","sch_astro_night":"noite","sch_astro_nightEnd":"fim da noite","sch_astro_solarNoon":"meio-dia solar","sch_astro_sunrise":"nascer do sol","sch_astro_sunriseEnd":"fim do nascer do sol","sch_astro_sunset":"p\xf4r do sol","sch_astro_sunsetStart":"in\xedcio do p\xf4r do sol","sch_at":"\xe0s","sch_desc_atTime":"em %s","sch_desc_everyDay":"todo dia","sch_desc_everyHour":"toda hora","sch_desc_everyMinute":"todo minuto","sch_desc_everyMonth":"todo m\xeas","sch_desc_everyNDay":"a cada %s dias","sch_desc_everyNHours":"a cada %s horas","sch_desc_everyNMinutes":"a cada %s minutos","sch_desc_everyNMonths":"a cada %s meses","sch_desc_everyNWeeks":"a cada %s semanas","sch_desc_everyNYears":"a cada %s anos","sch_desc_everyWeek":"toda semana","sch_desc_everyYear":"todo ano","sch_desc_intervalFromTo":"de %s para %s","sch_desc_never":"nunca","sch_desc_onDate":"em %s de %s","sch_desc_onDates":"em %s e %s de","sch_desc_onEveryDate":"em toda data de","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s e %s","sch_desc_onWeekday":"em %s","sch_desc_onWeekdays":"em %s e %s","sch_desc_onWeekends":"nos fins de semana","sch_desc_onWorkdays":"em dias \xfateis","sch_desc_onceInPast":"n\xe3o ser\xe1 mais executado, porque o come\xe7o est\xe1 no passado","sch_desc_once_on":"em %s","sch_desc_validFrom":"de %s","sch_desc_validFromTo":"Executar de at\xe9","sch_desc_validTo":"at\xe9 %s","sch_every":"cada","sch_exactTime":"tempo espec\xedfico","sch_from":"de","sch_fromTo":"de a\xb4t","sch_intervalTime":"tempo de intervalo","sch_invert":"invertido","sch_no_one":"nenhum","sch_on":"em","sch_period":"per\xedodo","sch_periodDaily":"diariamente","sch_periodDates":"datas","sch_periodDay":"dia","sch_periodEvery":"todos","sch_periodEveryDay":"todo dia","sch_periodEveryMonth":"todo m\xeas","sch_periodEveryWeek":"toda semana","sch_periodEveryYear":"todo ano","sch_periodHours":"horas","sch_periodMinutes":"minutos","sch_periodMonth":"m\xeas","sch_periodMonthly":"por m\xeas","sch_periodOnce":"uma vez","sch_periodSpecificMonths":"meses espec\xedficos","sch_periodWeek":"semana","sch_periodWeekdays":"dias \xfateis","sch_periodWeekend":"final de semana","sch_periodWeekly":"semanal","sch_periodWorkdays":"dias \xfateis","sch_periodYear":"ano","sch_periodYearly":"anual","sch_specificTime":"tempo espec\xedfico","sch_time":"tempo","sch_to":"para","sch_valid":"v\xe1lido","sch_validFrom":"de","sch_validTo":"para","sch_wholeDay":"dia inteiro","sch_yearEveryMonth":"todo m\xeas","tooltip_ack":"reconhecer","tooltip_from":"de","tooltip_lc":"\xdaltima altera\xe7\xe3o","tooltip_quality":"Qualidade","tooltip_ts":"timestamp","tooltip_user":"usu\xe1rio","tooltip_value":"valor","use seconds":"use segundos","Save all":"Salvar tudo","Change theme (actual \\"%s\\")":"Alterar tema (agora - \\"%s\\")"}')},318:function(e){e.exports=JSON.parse('{"-":"-","Add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c","Add new script":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","All files will be accepted":"\u0412\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043d\u044f\u0442\u044b","April":"\u0410\u043f\u0440\u0435\u043b\u044c","Are you sure?":"\u0423\u0432\u0435\u0440\u0435\u043d\u044b \u043b\u0438 \u0432\u044b?","August":"\u0410\u0432\u0433\u0443\u0441\u0442","Blockly description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438","Cancel":"\u041e\u0442\u043c\u0435\u043d\u0430","Cannot delete non empty item!":"\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043d\u0435\u043f\u0443\u0441\u0442\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442!","Change layout":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u043a\u0435\u0442","Check blocks":"\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Check is not active, because javascript adapter is disabled":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440 Javascript \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d","Clear search input":"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0432\u0432\u043e\u0434","Click on this icon":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0437\u043d\u0430\u0447\u043e\u043a","Close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","Close all but current":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435 \u043a\u0440\u043e\u043c\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e","Collapse all":"\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435","Configuration not saved.":"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430.","Convert blockly to javascript for ever.":"\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c blockly \u0432 Javascript \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430.","Copy script":"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Copy to clipboard":"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430","Create new":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439","Create new folder":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443","Create new script":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","Create or edit CRON or time wizard":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 CRON \u0438\u043b\u0438 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438","Dark Theme":"\u0422\u0451\u043c\u043d\u0430\u044f \u0442\u0435\u043c\u0430","Dark style":"\u0422\u0435\u043c\u043d\u044b\u0439 \u0441\u0442\u0438\u043b\u044c","Debug options":"\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043e\u0442\u043b\u0430\u0434\u043a\u0438","December":"\u0414\u0435\u043a\u0430\u0431\u0440\u044c","Define cron...":"\u0417\u0430\u0434\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u043e ...","Define schedule...":"\u0417\u0430\u0434\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435...","Delete":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c","Delete %s":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c %s...","Delete folder":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0430\u043f\u043a\u0443","Delete script":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Deselect all":"\u0423\u0431\u0440\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435","Discard changes for %s":"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f %s","Done":"\u0413\u043e\u0442\u043e\u0432\u043e","Drop some files here or click...":"\u041f\u0435\u0440\u0435\u0442\u044b\u0449\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u0444\u0430\u0439\u043b\u044b \u0438\u043b\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 ...","Edit script or just double click":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0432\u0430\u0436\u0434\u044b \u0449\u0435\u043b\u043a\u043d\u0443\u0442\u044c","End search mode":"\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a","Error":"\u041e\u0448\u0438\u0431\u043a\u0430","Error was found":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0431\u044b\u043b\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430","Existing scripts will be overwritten.":"\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b.","Expand all":"\u0420\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0432\u0441\u0435","Expert mode":"\u042d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c","Export":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442","Export all scripts":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432\u0441\u0435\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432","Export blocks":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Export selected blocks":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438","February":"\u0424\u0435\u0432\u0440\u0430\u043b\u044c","Folder":"\u041f\u0430\u043f\u043a\u0430","Friday":"\u043f\u044f\u0442\u043d\u0438\u0446\u0430","Function editor":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438","ID":"ID","Import":"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c","Import blocks":"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Import error":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0430","Import scripts":"\u0418\u043c\u043f\u043e\u0440\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432","Insert object ID":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430","Instance":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440","Instance is disabled":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d","Invalid CRON":"\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 CRON","It will not be possible to revert this operation.":"\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u044d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e.","JS description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u0443\u0442\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f Javascript","January":"\u042f\u043d\u0432\u0430\u0440\u044c","July":"\u0418\u044e\u043b\u044c","June":"\u0418\u044e\u043d\u044c","Learn More":"\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435","Light style":"\u0421\u0432\u0435\u0442\u043b\u044b\u0439 \u0441\u0442\u0438\u043b\u044c","Locate file":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0432 \u0434\u0435\u0440\u0435\u0432\u0435","Log outputs":"\u0416\u0443\u0440\u043d\u0430\u043b","March":"\u041c\u0430\u0440\u0442","May":"\u041c\u0430\u0439","Menu":"\u041c\u0435\u043d\u044e","Message":"\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435","Monday":"\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","Name":"\u0418\u043c\u044f","No active host found":"\u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0439 host \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d","November":"\u041d\u043e\u044f\u0431\u0440\u044c","October":"\u041e\u043a\u0442\u044f\u0431\u0440\u044c","Ok":"Ok","On weekdays":"\u041f\u043e \u0434\u043d\u044f\u043c \u043d\u0435\u0434\u0435\u043b\u0438","Pause script":"\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Please select object ID...":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430 ...","Rename":"\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c","Reorder scripts in folders":"\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432 \u043f\u0430\u043f\u043a\u0430\u0445","Repeat":"\u041f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435","Restart":"\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c","Root folder":"\u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u043f\u0430\u043f\u043a\u0430","Run script":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Saturday":"\u0441\u0443\u0431\u0431\u043e\u0442\u0430","Save":"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c","Script":"\u0441\u043a\u0440\u0438\u043f\u0442","Script %s was modified on disk":"\u0421\u043a\u0440\u0438\u043f\u0442 \\"%s\\" \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u043d\u0430 \u0434\u0438\u0441\u043a\u0435","Script is not running":"\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d","Search in scripts":"\u041f\u043e\u0438\u0441\u043a \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445","Search...":"\u041f\u043e\u0438\u0441\u043a...","Select all":"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435","September":"\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c","Show javascript code":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u0434 Javascript","Show only paused scripts":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438","Show only running scripts":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b","Show only scripts with problems":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438","Some files will be rejected":"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u044b","Sunday":"\u0412\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435","TS description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u0443\u0442\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f Typescript","Thursday":"\u0427\u0435\u0442\u0432\u0435\u0440\u0433","Tuesday":"\u0432\u0442\u043e\u0440\u043d\u0438\u043a","Unknown error":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430","Unknown error!":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430!","Wednesday":"\u0441\u0440\u0435\u0434\u0430","Yet exists!":"\u0418\u043c\u044f \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442!","copy":"\u043a\u043e\u043f\u0438\u044f","file reading has failed: %s":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430: %s","file reading was aborted":"\u0427\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e","filter_func":"\u0444\u0443\u043d\u043a\u0446\u0438\u044f","filter_id":"ID","filter_name":"\u0438\u043c\u044f","filter_role":"\u0440\u043e\u043b\u044c","filter_room":"\u043a\u043e\u043c\u043d\u0430\u0442\u0430","for edit or create script":"\u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","no blocks found":"\u0411\u043b\u043e\u043a\u043e\u0432 \u043d\u0435\u0442","no group":"\u041d\u0435\u0442 \u0433\u0440\u0443\u043f\u043f\u044b","not properly connected":"\u042d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0451\u043d \u0438\u043b\u0438 \u043d\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0451\u043d \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438","sc_cron":"CRON","sc_date":"\u0414\u0430\u0442\u0430","sc_dates":"\u0414\u0430\u0442\u044b","sc_dows":"\u0414\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_every":"\u043a\u0430\u0436\u0434\u044b\u0439(\u0443\u044e/\u044b\u0435)","sc_everyN_dates":"\u043a\u0430\u0436\u0434\u044b\u0439 N \u0434\u0435\u043d\u044c","sc_everyN_dows":"\u043a\u0430\u0436\u0434\u044b\u0439 N \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_everyN_hours":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u0447\u0430\u0441\u043e\u0432","sc_everyN_minutes":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u043c\u0438\u043d\u0443\u0442","sc_everyN_months":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u043c\u0435\u0441\u044f\u0446\u0435\u0432","sc_everyN_seconds":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u0441\u0435\u043a\u0443\u043d\u0434","sc_every_dates":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sc_every_dows":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_every_hours":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0430\u0441","sc_every_minutes":"\u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443","sc_every_months":"\u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","sc_every_seconds":"\u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0435\u043a\u0443\u043d\u0434\u0443","sc_from":"\u041e\u0442","sc_hours":"\u0447\u0430\u0441\u044b","sc_interval":"\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b","sc_intervalBetween":"\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043c\u0435\u0436\u0434\u0443","sc_minutes":"\u043c\u0438\u043d\u0443\u0442\u044b","sc_months":"\u041c\u0435\u0441\u044f\u0446\u044b","sc_once":"\u043e\u0434\u0438\u043d \u0440\u0430\u0437","sc_period":"\u041f\u0435\u0440\u0438\u043e\u0434","sc_seconds":"\u0441\u0435\u043a\u0443\u043d\u0434\u044b","sc_simple":"\u041f\u0440\u043e\u0441\u0442\u043e","sc_specific":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","sc_specific_dates":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u0442\u044b","sc_specific_dows":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_specific_hours":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0447\u0430\u0441\u044b","sc_specific_minutes":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043c\u0438\u043d\u0443\u0442\u044b","sc_specific_months":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043c\u0435\u0441\u044f\u0446\u044b","sc_specific_seconds":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u044b","sc_time":"\u0412\u0440\u0435\u043c\u044f","sc_to":"\u0414\u043e","sc_wizard":"\u0424\u043e\u0440\u043c\u0430","sch_all":"\u0432\u0441\u0435","sch_astroDay":"\u0434\u043d\u0451\u043c","sch_astroNight":"\u043d\u043e\u0447\u044c\u044e","sch_astro_dawn":"\u0420\u0430\u0441\u0441\u0432\u0435\u0442","sch_astro_dusk":"\u0421\u0443\u043c\u0435\u0440\u043a\u0438","sch_astro_goldenHour":"\u0417\u043e\u043b\u043e\u0442\u043e\u0439 \u0447\u0430\u0441","sch_astro_goldenHourEnd":"\u041a\u043e\u043d\u0435\u0446 \u0437\u043e\u043b\u043e\u0442\u043e\u0433\u043e \u0447\u0430\u0441\u0430","sch_astro_nadir":"\u041d\u0430\u0434\u0438\u0440","sch_astro_nauticalDawn":"\u041c\u043e\u0440\u0441\u043a\u043e\u0439 \u0440\u0430\u0441\u0441\u0432\u0435\u0442","sch_astro_nauticalDusk":"\u041c\u043e\u0440\u0441\u043a\u0438\u0435 \u0441\u0443\u043c\u0435\u0440\u043a\u0438","sch_astro_night":"\u041d\u043e\u0447\u044c","sch_astro_nightEnd":"\u041a\u043e\u043d\u0435\u0446 \u043d\u043e\u0447\u0438","sch_astro_solarNoon":"\u0421\u043e\u043b\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u0434\u0435\u043d\u044c","sch_astro_sunrise":"\u0412\u043e\u0441\u0445\u043e\u0434","sch_astro_sunriseEnd":"\u0412\u043e\u0441\u0445\u043e\u0434 \u0441\u043e\u043b\u043d\u0446\u0430","sch_astro_sunset":"\u0417\u0430\u0445\u043e\u0434 \u0441\u043e\u043b\u043d\u0446\u0430","sch_astro_sunsetStart":"\u041d\u0430\u0447\u0430\u043b\u043e \u0437\u0430\u043a\u0430\u0442\u0430","sch_at":"\u0434\u0430\u0442\u0430","sch_desc_atTime":"\u0432 %s","sch_desc_everyDay":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sch_desc_everyHour":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0430\u0441","sch_desc_everyMinute":"\u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443","sch_desc_everyMonth":"\u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","sch_desc_everyNDay":"\u043a\u0430\u0436\u0434\u044b\u0439 %s \u0434\u0435\u043d\u044c","sch_desc_everyNHours":"\u043a\u0430\u0436\u0434\u044b\u0439 %s \u0447\u0430\u0441\u043e\u0432","sch_desc_everyNMinutes":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043c\u0438\u043d\u0443\u0442","sch_desc_everyNMonths":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043c\u0435\u0441\u044f\u0446\u0435\u0432","sch_desc_everyNWeeks":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043d\u0435\u0434\u0435\u043b\u044c","sch_desc_everyNYears":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043b\u0435\u0442","sch_desc_everyWeek":"\u043a\u0430\u0436\u0434\u0443\u044e \u043d\u0435\u0434\u0435\u043b\u044e","sch_desc_everyYear":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434","sch_desc_intervalFromTo":"\u043e\u0442 %s \u0434\u043e %s","sch_desc_never":"\u043d\u0438\u043a\u043e\u0433\u0434\u0430","sch_desc_onDate":"%s %s","sch_desc_onDates":"%s \u0438 %s","sch_desc_onEveryDate":"\u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s \u0438 %s","sch_desc_onWeekday":"%s","sch_desc_onWeekdays":"%s \u0438 %s","sch_desc_onWeekends":"\u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445","sch_desc_onWorkdays":"\u0432 \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u0434\u043d\u0438","sch_desc_onceInPast":"\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u043e \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c","sch_desc_once_on":"%s","sch_desc_validFrom":"%s","sch_desc_validFromTo":"\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441","sch_desc_validTo":"%s","sch_every":"\u043a\u0430\u0436\u0434\u044b\u0439","sch_exactTime":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","sch_from":"\u043e\u0442","sch_fromTo":"\u041e\u0442 \u0438 \u0434\u043e","sch_intervalTime":"\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0432\u0440\u0435\u043c\u0435\u043d\u0438","sch_invert":"\u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c","sch_no_one":"\u043d\u0438\u043a\u0430\u043a\u043e\u0439","sch_on":"","sch_period":"\u043f\u0435\u0440\u0438\u043e\u0434","sch_periodDaily":"\u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e","sch_periodDates":"\u0414\u0430\u0442\u044b","sch_periodDay":"\u0414\u0435\u043d\u044c","sch_periodEvery":"\u043a\u0430\u0436\u0434\u044b\u0439","sch_periodEveryDay":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sch_periodEveryMonth":"\u041a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","sch_periodEveryWeek":"\u041a\u0430\u0436\u0434\u0443\u044e \u043d\u0435\u0434\u0435\u043b\u044e","sch_periodEveryYear":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434","sch_periodHours":"\u0447\u0430\u0441\u043e\u0432","sch_periodMinutes":"\u043c\u0438\u043d\u0443\u0442","sch_periodMonth":"\u043c\u0435\u0441\u044f\u0446","sch_periodMonthly":"\u0435\u0436\u0435\u043c\u0435\u0441\u044f\u0447\u043d\u043e","sch_periodOnce":"\u043e\u0434\u043d\u0430\u0436\u0434\u044b","sch_periodSpecificMonths":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043c\u0435\u0441\u044f\u0446\u044b","sch_periodWeek":"\u041d\u0435\u0434\u0435\u043b\u044e","sch_periodWeekdays":"\u0411\u0443\u0434\u043d\u0438\u0435 \u0434\u043d\u0438","sch_periodWeekend":"\u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435","sch_periodWeekly":"\u0435\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u043e","sch_periodWorkdays":"\u0420\u0430\u0431\u043e\u0447\u0438\u0435 \u0434\u043d\u0438","sch_periodYear":"\u0413\u043e\u0434","sch_periodYearly":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434","sch_specificTime":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","sch_time":"\u0412\u0440\u0435\u043c\u044f","sch_to":"\u0432","sch_valid":"\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439","sch_validFrom":"\u043e\u0442","sch_validTo":"\u0432","sch_wholeDay":"\u0412\u0435\u0441\u044c \u0434\u0435\u043d\u044c","sch_yearEveryMonth":"\u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","tooltip_ack":"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e","tooltip_from":"\u041e\u0442","tooltip_lc":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435","tooltip_quality":"\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e","tooltip_ts":"\u0412\u0440\u0435\u043c\u044f","tooltip_user":"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c","tooltip_value":"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435","use seconds":"\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u043a\u0443\u043d\u0434\u044b","Save all":"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435","Change theme (actual \\"%s\\")":"\u0421\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0435\u043c\u0443 (\u0441\u0435\u0439\u0447\u0430\u0441 - \\"%s\\")"}')},319:function(e){e.exports=JSON.parse('{"-":" -","Add":"\u6dfb\u52a0","Add new script":"\u6dfb\u52a0\u65b0\u811a\u672c","All files will be accepted":"\u6240\u6709\u6587\u4ef6\u90fd\u5c06\u88ab\u63a5\u53d7","April":"\u56db\u6708","Are you sure?":"\u4f60\u786e\u5b9a\u5417\uff1f","August":"\u516b\u6708","Blockly description":"\u6309\u56fe\u5f62\u5757\u521b\u5efa\u89c4\u5219","Cancel":"\u53d6\u6d88","Cannot delete non empty item!":"\u65e0\u6cd5\u5220\u9664\u975e\u7a7a\u9879\u76ee\uff01","Change layout":"\u53d8\u66f4\u7248\u9762","Check blocks":"\u68c0\u67e5\u5757","Check is not active, because javascript adapter is disabled":"\u68c0\u67e5\u672a\u6fc0\u6d3b\uff0c\u56e0\u4e3a\u7981\u7528\u4e86Javascript\u9002\u914d\u5668","Clear search input":"\u6e05\u9664\u641c\u7d22\u8f93\u5165","Click on this icon":"\u5355\u51fb\u6b64\u56fe\u6807","Close":"\u5173\u95ed","Close all but current":"\u5173\u95ed\u6240\u6709\uff08\u5f53\u524d\u9664\u5916\uff09","Collapse all":"\u5168\u90e8\u6536\u7f29","Configuration not saved.":"\u914d\u7f6e\u672a\u4fdd\u5b58\u3002","Convert blockly to javascript for ever.":"\u7acb\u5373\u5c06blockly\u8f6c\u6362\u4e3aJavascript\u3002","Copy script":"\u590d\u5236\u811a\u672c","Copy to clipboard":"\u590d\u5236\u5230\u526a\u8d34\u677f","Create new":"\u521b\u5efa\u65b0\u7684","Create new folder":"\u521b\u5efa\u65b0\u6587\u4ef6\u5939","Create new script":"\u521b\u5efa\u65b0\u811a\u672c","Create or edit CRON or time wizard":"\u521b\u5efa\u6216\u7f16\u8f91\u5468\u671f\u4efb\u52a1\u6216\u65f6\u95f4\u5411\u5bfc","Dark Theme":"\u6df1\u8272\u8c03\u4e3b\u9898","Dark style":"\u6df1\u8272\u8c03\u98ce\u683c","Debug options":"\u8c03\u8bd5\u9009\u9879","December":"\u5341\u4e8c\u6708","Define cron...":"\u5b9a\u4e49\u5468\u671f\u4efb\u52a1...","Define schedule...":"\u5b9a\u4e49\u8c03\u5ea6\u5668......","Delete":"\u5220\u9664","Delete %s":"\u5220\u9664%s...","Delete folder":"\u5220\u9664\u6587\u4ef6\u5939","Delete script":"\u5220\u9664\u811a\u672c","Deselect all":"\u53d6\u6d88\u5168\u9009","Discard changes for %s":"\u653e\u5f03%s\u7684\u66f4\u6539","Done":"\u5b8c\u6210","Drop some files here or click...":"\u5c06\u6587\u4ef6\u62d6\u62fd\u5230\u8fd9\u91cc\u6216\u5355\u51fb......","Edit script or just double click":"\u53cc\u51fb\u7f16\u8f91\u811a\u672c","End search mode":"\u7ed3\u675f\u641c\u7d22\u6a21\u5f0f","Error":"\u9519\u8bef","Error was found":"\u53d1\u73b0\u9519\u8bef","Existing scripts will be overwritten.":"\u73b0\u6709\u811a\u672c\u5c06\u88ab\u8986\u76d6\u3002","Expand all":"\u5c55\u5f00\u5168\u90e8","Expert mode":"\u4e13\u5bb6\u6a21\u5f0f","Export":"\u5bfc\u51fa","Export all scripts":"\u5bfc\u51fa\u6240\u6709\u811a\u672c","Export blocks":"\u5bfc\u51fa\u5757","Export selected blocks":"\u5bfc\u51fa\u9009\u5b9a\u7684\u5757","February":"\u4e8c\u6708","Folder":"\u6587\u4ef6\u5939","Friday":"\u661f\u671f\u4e94","Function editor":"\u529f\u80fd\u7f16\u8f91\u5668","ID":"ID","Import":"\u5bfc\u5165","Import blocks":"\u5bfc\u5165\u5757","Import error":"\u5bfc\u5165\u9519\u8bef","Import scripts":"\u5bfc\u5165\u811a\u672c","Insert object ID":"\u63d2\u5165\u5bf9\u8c61ID","Instance":"\u5b9e\u4f8b","Instance is disabled":"\u5b9e\u4f8b\u5df2\u7981\u7528","Invalid CRON":"\u65e0\u6548\u7684\u5468\u671f\u4efb\u52a1","It will not be possible to revert this operation.":"\u65e0\u6cd5\u6062\u590d\u6b64\u64cd\u4f5c\u3002","JS description":"\u901a\u8fc7\u7f16\u5199Javascript\u6765\u521b\u5efa\u89c4\u5219","January":"\u4e00\u6708","July":"\u4e03\u6708","June":"\u516d\u6708","Learn More":"\u4e86\u89e3\u66f4\u591a","Light style":"\u6d45\u8272\u8c03\u98ce\u683c","Locate file":"\u5b9a\u4f4d\u6587\u4ef6","Log outputs":"\u8bb0\u5f55\u8f93\u51fa","March":"\u4e09\u6708","May":"\u4e94\u6708","Menu":"\u83dc\u5355","Message":"\u4fe1\u606f","Monday":"\u661f\u671f\u4e00","Name":"\u540d\u5b57","No active host found":"\u627e\u4e0d\u5230\u6d3b\u52a8\u4e3b\u673a","November":"\u5341\u4e00\u6708","October":"\u5341\u6708","Ok":"\u786e\u5b9a","On weekdays":"\u5728\u5de5\u4f5c\u65e5","Pause script":"\u6682\u505c\u811a\u672c","Please select object ID...":"\u8bf7\u9009\u62e9\u5bf9\u8c61ID...","Rename":"\u91cd\u547d\u540d","Reorder scripts in folders":"\u91cd\u65b0\u6392\u5e8f\u6587\u4ef6\u5939\u4e2d\u7684\u811a\u672c","Repeat":"\u91cd\u590d","Restart":"\u91cd\u542f","Root folder":"\u6839\u6587\u4ef6\u5939","Run script":"\u8fd0\u884c\u811a\u672c","Saturday":"\u661f\u671f\u516d","Save":"\u4fdd\u5b58","Script":"\u811a\u672c","Script %s was modified on disk":"\u811a\u672c%s\u5df2\u5728\u78c1\u76d8\u4e0a\u4fee\u6539","Script is not running":"\u811a\u672c\u6ca1\u6709\u8fd0\u884c","Search in scripts":"\u5728\u811a\u672c\u4e2d\u641c\u7d22","Search...":"\u641c\u7d22...","Select all":"\u5168\u9009","September":"\u4e5d\u6708","Show javascript code":"\u663e\u793aJavascript\u4ee3\u7801","Show only paused scripts":"\u4ec5\u663e\u793a\u6682\u505c\u7684\u811a\u672c","Show only running scripts":"\u4ec5\u663e\u793a\u6b63\u5728\u8fd0\u884c\u7684\u811a\u672c","Show only scripts with problems":"\u4ec5\u663e\u793a\u6709\u95ee\u9898\u7684\u811a\u672c","Some files will be rejected":"\u6709\u4e9b\u6587\u4ef6\u5c06\u88ab\u62d2\u7edd","Sunday":"\u661f\u671f\u65e5","TS description":"\u901a\u8fc7\u7f16\u5199Typescript\u6765\u521b\u5efa\u89c4\u5219","Thursday":"\u661f\u671f\u56db","Tuesday":"\u661f\u671f\u4e8c","Unknown error":"\u672a\u77e5\u9519\u8bef","Unknown error!":"\u672a\u77e5\u9519\u8bef\uff01","Wednesday":"\u661f\u671f\u4e09","Yet exists!":"\u4e0d\u5b58\u5728\uff01","copy":"\u590d\u5236","file reading has failed: %s":"\u6587\u4ef6\u8bfb\u53d6\u5931\u8d25\uff1a%s","file reading was aborted":"\u6587\u4ef6\u8bfb\u53d6\u4e2d\u6b62","filter_func":"\u529f\u80fd","filter_id":"ID","filter_name":"\u540d\u5b57","filter_role":"\u89d2\u8272","filter_room":"\u623f\u95f4","for edit or create script":"\u7528\u4e8e\u7f16\u8f91\u6216\u521b\u5efa\u811a\u672c","no blocks found":"\u627e\u4e0d\u5230\u5757","no group":"\u6ca1\u6709\u7ec4","not properly connected":"\u6b64\u5757\u672a\u6b63\u786e\u8fde\u63a5\u5230\u5176\u4ed6\u5757\u3002","sc_cron":"\u5468\u671f\u4efb\u52a1","sc_date":"\u65e5\u671f","sc_dates":"\u65e5","sc_dows":"\u661f\u671f","sc_every":"\u6bcf","sc_everyN_dates":"\u6bcfN\u5929","sc_everyN_dows":"\u6bcf\u5468N\u5929","sc_everyN_hours":"\u6bcfN\u5c0f\u65f6\u4e00\u6b21","sc_everyN_minutes":"\u6bcfN\u5206\u949f","sc_everyN_months":"\u6bcfN\u4e2a\u6708","sc_everyN_seconds":"\u6bcfN\u79d2","sc_every_dates":"\u6bcf\u5929","sc_every_dows":"\u4e00\u5468\u7684\u6bcf\u4e00\u5929","sc_every_hours":"\u6bcf\u5c0f\u65f6","sc_every_minutes":"\u6bcf\u5206\u949f","sc_every_months":"\u6bcf\u6708","sc_every_seconds":"\u6bcf\u79d2","sc_from":"\u4ece","sc_hours":"\u5c0f\u65f6","sc_interval":"\u95f4\u9694","sc_intervalBetween":"\u95f4\u9694\u65f6\u95f4","sc_minutes":"\u5206\u949f","sc_months":"\u6708","sc_once":"\u4e00\u6b21","sc_period":"\u5468\u671f","sc_seconds":"\u79d2","sc_simple":"\u7b80\u5355\u6a21\u5f0f","sc_specific":"\u7279\u5b9a\u7684\u65f6\u95f4","sc_specific_dates":"\u7279\u5b9a\u7684\u65e5\u5b50","sc_specific_dows":"\u7279\u5b9a\u7684\u4e00\u5468","sc_specific_hours":"\u7279\u5b9a\u7684\u5c0f\u65f6","sc_specific_minutes":"\u7279\u5b9a\u7684\u5206\u949f","sc_specific_months":"\u7279\u5b9a\u7684\u6708\u4efd","sc_specific_seconds":"\u7279\u5b9a\u7684\u63cf\u8ff0","sc_time":"\u65f6\u95f4","sc_to":"\u81f3","sc_wizard":"\u5411\u5bfc\u6a21\u5f0f","sch_all":"\u5168\u9009","sch_astroDay":"\u5929\u6587\u767d\u5929","sch_astroNight":"\u5929\u6587\u591c\u665a","sch_astro_dawn":"\u9ece\u660e","sch_astro_dusk":"\u9ec4\u660f","sch_astro_goldenHour":"\u9ec4\u91d1\u65f6\u6bb5","sch_astro_goldenHourEnd":"\u9ec4\u91d1\u65f6\u6bb5\u7ed3\u675f","sch_astro_nadir":"\u5929\u5e95","sch_astro_nauticalDawn":"\u822a\u6d77\u9ece\u660e","sch_astro_nauticalDusk":"\u822a\u6d77\u9ec4\u660f","sch_astro_night":"\u591c\u665a","sch_astro_nightEnd":"\u591c\u665a\u7ed3\u675f","sch_astro_solarNoon":"\u6b63\u5348","sch_astro_sunrise":"\u65e5\u51fa","sch_astro_sunriseEnd":"\u65e5\u51fa\u7ed3\u675f","sch_astro_sunset":"\u65e5\u843d","sch_astro_sunsetStart":"\u65e5\u843d\u5f00\u59cb","sch_at":"\u5728","sch_desc_atTime":"\u7684%s","sch_desc_everyDay":"\u6bcf\u5929","sch_desc_everyHour":"\u6bcf\u5c0f\u65f6","sch_desc_everyMinute":"\u6bcf\u5206\u949f","sch_desc_everyMonth":"\u6bcf\u6708","sch_desc_everyNDay":"\u6bcf%s\u5929","sch_desc_everyNHours":"\u6bcf%s\u5c0f\u65f6","sch_desc_everyNMinutes":"\u6bcf%s\u5206\u949f","sch_desc_everyNMonths":"\u6bcf%s\u6708","sch_desc_everyNWeeks":"\u6bcf%s\u5468","sch_desc_everyNYears":"\u6bcf%s\u5e74","sch_desc_everyWeek":"\u6bcf\u5468","sch_desc_everyYear":"\u6bcf\u5e74","sch_desc_intervalFromTo":"\u4ece%s\u5230%s","sch_desc_never":"\u51b3\u4e0d","sch_desc_onDate":"\u5728%s\u7684%s\u4e0a","sch_desc_onDates":"\u5728%s\u548c%s\u4e0a","sch_desc_onEveryDate":"\u5728\u6bcf\u5929","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s\u548c%s","sch_desc_onWeekday":"\u5728%s\u4e0a","sch_desc_onWeekdays":"\u5728%s\u548c%s\u4e0a","sch_desc_onWeekends":"\u5728\u5468\u672b","sch_desc_onWorkdays":"\u5728\u5de5\u4f5c\u65e5","sch_desc_onceInPast":"\u5c06\u4e0d\u518d\u6267\u884c\uff0c\u56e0\u4e3a\u8d77\u59cb\u65f6\u95f4\u5df2\u7ecf\u662f\u8fc7\u53bb\u7684\u65f6\u95f4\u4e86\u3002","sch_desc_once_on":"\u5728%s\u4e0a","sch_desc_validFrom":"\u6765\u81ea%s","sch_desc_validFromTo":"\u4ece\u6267\u884c\u5230","sch_desc_validTo":"\u5230%s","sch_every":"\u6bcf","sch_exactTime":"\u7279\u5b9a\u7684\u65f6\u95f4","sch_from":"\u4ece","sch_fromTo":"\u4ece\u5230","sch_intervalTime":"\u95f4\u9694\u65f6\u95f4","sch_invert":"\u5012\u7f6e","sch_no_one":"\u53d6\u6d88\u5168\u9009","sch_on":"\u7684","sch_period":"\u5468\u671f","sch_periodDaily":"\u6bcf\u5929","sch_periodDates":"\u65e5\u671f","sch_periodDay":"\u5929","sch_periodEvery":"\u6bcf","sch_periodEveryDay":"\u6bcf\u5929","sch_periodEveryMonth":"\u6bcf\u6708","sch_periodEveryWeek":"\u6bcf\u5468","sch_periodEveryYear":"\u6bcf\u5e74","sch_periodHours":"\u5c0f\u65f6","sch_periodMinutes":"\u5206\u949f","sch_periodMonth":"\u6708","sch_periodMonthly":"\u6bcf\u6708\u4e00\u6b21","sch_periodOnce":"\u4e00\u6b21","sch_periodSpecificMonths":"\u7279\u5b9a\u7684\u6708\u4efd","sch_periodWeek":"\u5468","sch_periodWeekdays":"\u5de5\u4f5c\u65e5","sch_periodWeekend":"\u5468\u672b","sch_periodWeekly":"\u6bcf\u5468","sch_periodWorkdays":"\u5de5\u4f5c\u65e5","sch_periodYear":"\u5e74","sch_periodYearly":"\u6bcf\u5e74","sch_specificTime":"\u7279\u5b9a\u7684\u65f6\u95f4","sch_time":"\u65f6\u95f4","sch_to":"\u81f3","sch_valid":"\u751f\u6548","sch_validFrom":"\u4ece","sch_validTo":"\u81f3","sch_wholeDay":"\u4e00\u6574\u5929","sch_yearEveryMonth":"\u6bcf\u6708","tooltip_ack":"\u786e\u8ba4","tooltip_from":"\u4ece","tooltip_lc":"\u4e0a\u4e00\u6b21\u6539\u53d8","tooltip_quality":"\u8d28\u91cf","tooltip_ts":"\u65f6\u95f4\u6233","tooltip_user":"\u7528\u6237","tooltip_value":"\u503c","use seconds":"\u7cbe\u786e\u5230\u79d2","Save all":"\u4fdd\u5b58\u5168\u90e8","Change theme (actual \\"%s\\")":"\u66f4\u6539\u4e3b\u9898\uff08\u73b0\u5728\u4e3a\u201c%s\u201d\uff09"}')},321:function(e,t,s){"use strict";s.r(t);var a=s(1),n=s.n(a),r=s(21),o=s.n(r),i=s(383),c=s(382),l=s(367),d=(s(245),s(95)),p=s(17),h=s(18),u=s(20),m=s(19),g=s(8),y=s(157),f=s.n(y),v=s(9),k=(s(248),s(207)),_=s.n(k),b=s(155),S=s.n(b),w=s(3),E=s.n(w),C=s(128),N=s.n(C),D=s(129),A=s.n(D),O=s(59),I=s.n(O),x=s(63),T=s(163),M=s(4),j=s(391),B=s(375),J=s(191),z=s(156),R=s(193),W=s(195),F=s(194),L=s(152),P=s(387),U=s(388),H=s(376),Y=s(219),Z=s(221),Q=s(192),q=s(189),V=s(386),K=s(150),G=s.n(K),X=s(151),$=s.n(X),ee=s(211),te=s.n(ee),se=s(32),ae=s(92),ne=s.n(ae),re=s(130),oe=s.n(re),ie=s(131),ce=s.n(ie),le=s(178),de=s(183),pe=s(181),he=s(180),ue=s(179),me=s(206),ge=s(190),ye=s(203),fe=s(389),ve=s(31),ke=s.n(ve),_e=s(45),be=s.n(_e),Se=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).handleCancel=function(){a.props.onClose()},a.handleOk=function(){a.props.onRename(a.oldId,a.state.id,a.state.name,a.state.instance),a.props.onClose()},a.handleChange=function(e){a.setState({name:e,id:a.getId(e)})},a.state={name:e.name,id:e.id,instance:e.instance||0},a.isShowInstance=!e.folder&&e.instances&&(e.instance||e.instances[0]||e.instances.length>1),a.prefix=a.getPrefix(e.id),a.oldId=e.id,a}return Object(h.a)(s,[{key:"getPrefix",value:function(e){var t=(e||"").split(".");return t.pop(),t.join(".")}},{key:"getId",value:function(e){return e=(e||"").replace(/[\\/\][*,;'"`<>?\s]/g,"_"),this.prefix+"."+e}},{key:"componentWillReceiveProps",value:function(e){e.name!==this.props.name&&this.setState({name:e.name}),e.id!==this.props.id&&(this.prefix=this.getPrefix(e.id),this.setState({id:e.id}))}},{key:"render",value:function(){var e=this;return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title"},n.a.createElement(de.a,{id:"confirmation-dialog-title"},E.a.t("Rename")),n.a.createElement(pe.a,null,n.a.createElement("form",{noValidate:!0,autoComplete:"off"},n.a.createElement(me.a,{style:{width:"100%"},id:"standard-name",autoFocus:!0,label:E.a.t("Name"),value:this.state.name,onKeyPress:function(t){"Enter"===t.key&&(t.preventDefault(),setTimeout((function(){return e.handleOk()}),200))},onChange:function(t){return e.handleChange(t.target.value)},margin:"normal"}),n.a.createElement(me.a,{id:"standard-name-id",style:{width:"100%"},label:E.a.t("ID"),value:this.state.id,disabled:!0,margin:"normal"}),this.isShowInstance&&n.a.createElement(ge.a,null,n.a.createElement(fe.a,{htmlFor:"instance"},E.a.t("Instance")),n.a.createElement(ye.a,{value:this.state.instance,onChange:function(t){return e.setState({instance:parseInt(t.target.value,10)})},inputProps:{name:"instance",id:"instance"}},this.props.instances.map((function(e){return n.a.createElement(Q.a,{key:e,value:e},e||"0")})))))),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:this.handleOk,color:"primary"},n.a.createElement(be.a,{className:this.props.classes.buttonIcon}),E.a.t("Ok")),n.a.createElement(le.a,{onClick:this.handleCancel},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),E.a.t("Cancel"))))}}]),s}(n.a.Component),we=Object(g.a)((function(e){return{buttonIcon:{marginRight:e.spacing(1)}}}))(Se),Ee=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).handleCancel=function(){a.props.onClose(null)},a.handleOk=function(){a.props.onDelete(a.state.id),a.props.onClose(a.props.value)},a.state={name:e.name,id:e.id},a}return Object(h.a)(s,[{key:"componentWillReceiveProps",value:function(e){e.name!==this.props.name&&this.setState({name:e.name}),e.id!==this.props.id&&this.setState({id:e.id})}},{key:"render",value:function(){return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title"},n.a.createElement(de.a,{id:"confirmation-dialog-title"},E.a.t("Are you sure?")),n.a.createElement(pe.a,null,n.a.createElement(v.j,null),n.a.createElement("span",{style:{fontSize:14,fontWeight:"bold"}},E.a.t("Delete %s",this.state.name))),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:this.handleOk,color:"primary"},n.a.createElement(be.a,{className:this.props.classes.buttonIcon}),E.a.t("Ok")),n.a.createElement(le.a,{onClick:this.handleCancel},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),E.a.t("Cancel"))))}}]),s}(n.a.Component),Ce=Object(g.a)((function(e){return{buttonIcon:{marginRight:e.spacing(1)}}}))(Ee),Ne=s(370),De=s(371),Ae=s(374),Oe=s(373),Ie=s(372),xe=s(208),Te=s.n(xe),Me=s(209),je=s.n(Me),Be=s(210),Je=s.n(Be),ze=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(){var e;Object(p.a)(this,s);for(var a=arguments.length,n=new Array(a),r=0;r1),a}return Object(h.a)(s,[{key:"getId",value:function(e){return e=(e=e||this.state.name||"").replace(/[\\/\][.*,;'"`<>?\s]/g,"_"),(this.state?this.state.parent:this.props.parent)+"."+e}},{key:"componentWillReceiveProps",value:function(e){e.name!==this.props.name&&this.setState({name:e.name})}},{key:"render",value:function(){var e=this;return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title"},n.a.createElement(de.a,{id:"confirmation-dialog-title"},this.props.title||E.a.t("Create new")),n.a.createElement(pe.a,null,n.a.createElement("form",{noValidate:!0,autoComplete:"off"},n.a.createElement(me.a,{style:{width:"100%"},id:"standard-name",autoFocus:!0,error:!!this.state.error,label:E.a.t("Name"),value:this.state.name,helperText:this.state.error,onKeyPress:function(t){"Enter"===t.key&&(t.preventDefault(),setTimeout((function(){return e.handleOk()}),200))},onChange:function(t){return e.handleChange(t.target.value)},margin:"normal"}),n.a.createElement(ge.a,{style:{minWidth:100}},n.a.createElement(fe.a,{htmlFor:"parent"},E.a.t("Folder")),n.a.createElement(ye.a,{style:{width:"100%"},value:this.state.parent,onChange:function(t){return e.setState({parent:t.target.value})},inputProps:{name:"parent",id:"parent"}},this.props.parents.map((function(t){var s=t.id.split(".");s.splice(0,2);var a=[],r="script.js";return s.forEach((function(t,s){r+="."+t;var n=e.props.parents.find((function(e){return e.id===r}));n?a.push(n.name):a.push(t)})),a.length||a.push(t.name),n.a.createElement(Q.a,{key:t.id,value:t.id},a.join(" / "))})))),n.a.createElement(me.a,{id:"standard-name-id",style:{width:"100%"},label:E.a.t("ID"),value:this.getId(),disabled:!0,margin:"normal"}),this.isShowInstance&&n.a.createElement(ge.a,null,n.a.createElement(fe.a,{htmlFor:"instance"},E.a.t("Instance")),n.a.createElement(ye.a,{value:this.state.instance,onChange:function(t){return e.setState({instance:parseInt(t.target.value,10)})},inputProps:{name:"instance",id:"instance"}},this.props.instances.map((function(e){return n.a.createElement(Q.a,{key:"instance"+e,value:e},e||"0")})))))),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:this.handleOk,disabled:!!this.state.error,color:"primary"},n.a.createElement(be.a,{className:this.props.classes.buttonIcon}),E.a.t("Ok")),n.a.createElement(le.a,{onClick:this.handleCancel},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),E.a.t("Cancel"))))}}]),s}(n.a.Component),Fe=Object(g.a)((function(e){return{buttonIcon:{marginRight:e.spacing(1)}}}))(We),Le=s(182),Pe=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).handleOk=function(){a.props.onClose&&a.props.onClose()},console.log("Error created"),a}return Object(h.a)(s,[{key:"render",value:function(){var e=this;return n.a.createElement(ue.a,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:function(){return e.handleOk()},"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},n.a.createElement(de.a,{className:this.props.classes.titleBackground,classes:{root:this.props.classes.titleColor},id:"alert-dialog-title"},this.props.title||E.a.t("Error")),n.a.createElement(pe.a,null,n.a.createElement(Le.a,{id:"alert-dialog-description"},this.props.text||E.a.t("Unknown error!"))),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:function(){return e.handleOk()},color:"primary",autoFocus:!0},n.a.createElement(be.a,{className:this.props.classes.buttonIcon}),E.a.t("Ok"))))}}]),s}(n.a.Component),Ue=Object(g.a)((function(e){return{titleBackground:{background:e.palette.error.main},titleColor:{color:e.palette.error.contrastText,"&>h2":{color:e.palette.error.contrastText}},buttonIcon:{marginRight:e.spacing(1)}}}))(Pe),He=$.a[400],Ye=te.a[400],Ze=G.a[400],Qe="script.js",qe=Qe+".common",Ve=Qe+".global",Ke={background:"#164477",color:"white"},Ge={Blockly:oe.a,"Javascript/js":ne.a,def:ne.a,"TypeScript/ts":ce.a},Xe=function(e,t,s){return s=s||E.a.getLanguage(),t&&t.common&&t.common.name?"object"===typeof t.common.name?(t.common.name[s]||t.common.name.en||e.replace(/^script\.js./,"")).toString():t.common.name.toString():e.replace(/^script\.js./,"")},$e=function(e){for(var t,s=[{id:Qe,depth:0,index:0,parent:null,title:"root",type:"folder"}],a=Object.keys(e),n=0;n1?o.join("."):null,instance:r.common.engine?parseInt(r.common.engine.split(".").pop(),10)||0:null})}do{t=!1,s.forEach((function(e){if(e.parent&&!s.find((function(t){return t.id===e.parent}))){var a=e.parent.split(".");a.pop(),s.push({id:e.parent,title:e.parent.split(".").pop(),depth:a.length-1,type:"folder",parent:a.length>1?a.join("."):null}),t=!0}}))}while(t);return s.sort((function(e,t){var s=e.id.toLowerCase(),a=t.id.toLowerCase();return"folder"===e.type&&"folder"!==t.type?-1:"folder"===t.type&&"folder"!==e.type||s>a?1:s350?n.a.createElement(L.a,{key:"delete",title:E.a.t("Delete script"),disabled:e.id===Ve||e.id===qe,onClick:function(t){return s.onDelete(e,t)}},n.a.createElement(v.j,null)):null,n.a.createElement(L.a,{key:"openInEdit",title:E.a.t("Edit script or just double click"),onClick:function(t){return s.onEdit(e,t)}},n.a.createElement(v.q,null))]}return this.state.width>350?e.id===Qe||e.id===qe||e.id===Ve||t&&t.length?null:n.a.createElement(L.a,{key:"delete",title:E.a.t("Delete folder"),disabled:e.id===Ve||e.id===qe,onClick:function(t){return s.onDelete(e,t)}},n.a.createElement(v.j,null)):void 0}},{key:"onDelete",value:function(e,t){var s=this;return t&&t.stopPropagation(),new Promise((function(t){"object"!==typeof e?s.setState({deleting:e}):s.setState({deleting:e.id})}))}},{key:"onEdit",value:function(e,t){this.onClick(e,t),this.props.onEdit&&this.props.onEdit(e.id)}},{key:"getTextStyle",value:function(e){return this.state.reorder||"folder"===e.type?{whiteSpace:"nowrap",padding:"0 16px 0 0"}:{width:"calc(100% - ".concat(this.state.width>350?185:137,"px)"),overflow:"hidden",whiteSpace:"nowrap",flex:"none",padding:"0 16px 0 0"}}},{key:"onClick",value:function(e,t){if(t&&t.stopPropagation(),!this.state.reorder&&e){var s=this.ensureSelectedIsVisible(e),a={selected:e.id};s&&(a.expanded=s),this.setState(a),window.localStorage&&window.localStorage.setItem("SideMenu.selected",e.id)}}},{key:"onDblClick",value:function(e,t){t&&t.stopPropagation(),this.state.reorder||("folder"===e.type?this.onToggle(e.id):this.onEdit(e))}},{key:"isFilteredOut",value:function(e){return!(!e.filtered||e.filteredPartly)||(!(!this.state.typeFilter||"folder"===e.type||e.type===this.state.typeFilter)||(!(!this.state.statusFilter||"folder"===e.type||!("running"===this.state.statusFilter&&!e.enabled||"paused"===this.state.statusFilter&&e.enabled)&&("problems"!==this.state.statusFilter||e.enabled&&-1!==this.state.problems.indexOf(e.id)))||e.id===Ve&&!this.state.expertMode))}},{key:"renderListItem",value:function(e,t,s){var a=this;if(e.id===Qe&&!this.state.reorder)return null;var r=16*(this.state.reorder?e.depth:e.depth-1),o=e.title;if(this.state.searchText){var i=o.toLowerCase().indexOf(this.state.searchText.toLowerCase());-1!==i&&(o=[n.a.createElement("span",{key:"first"},o.substring(0,i)),n.a.createElement("span",{key:"second",style:{color:"orange"}},o.substring(i,i+this.state.searchText.length)),n.a.createElement("span",{key:"third"},o.substring(i+this.state.searchText.length))])}this.state.isAllZeroInstances||"folder"===e.type||(o=[n.a.createElement("span",{key:"instance",title:E.a.t("Instance"),className:this.props.classes.instances},"[",e.instance,"] "),n.a.createElement("span",{key:"title"},o)]);var c=Object.assign({marginLeft:r,cursor:"folder"===e.type&&this.state.reorder?"default":"inherit",width:"calc(100% - ".concat(r,"px)")},e.id!==this.state.selected||this.state.reorder?{}:Ke);this.state.reorder||(c.opacity=e.filteredPartly?.5:1),e.id===Ve&&e.id!==this.state.selected&&(c.color="#00a200");var l=e.id===Qe;!l&&t&&(l=this.state.expanded.includes(e.id));var d,p={};e.id===Ve?p.color="#356956":e.id===qe&&(p.color="#4899e1"),d="folder"===e.type?Object(M.a)(this.props.classes.folderIcon,this.state.reorder?this.props.classes.folderIconReorder:this.props.classes.folderIconNoReorder):Object(M.a)(this.props.classes.scriptIcon,this.state.reorder?this.props.classes.scriptIconReorder:this.props.classes.scriptIconNoReorder);var h=null;return(s&&s.length||t&&t.length)&&(h=n.a.createElement("span",{className:this.props.classes.childrenCount},s&&s.length!==t.length?"".concat(s.length,"(").concat(t.length,")"):t.length)),n.a.createElement(z.a,{key:e.id,style:c,className:Object(M.a)("folder"===e.type?this.props.classes.folder:this.props.classes.script,this.state.reorder&&"folder"===e.type&&"folder-reorder",this.state.reorder&&"folder"!==e.type&&"script-reorder",this.state.reorder&&this.props.classes.reorder,this.state.reorder&&"folder"!==e.type&&this.props.classes.scriptReorder,this.state.reorder&&"folder"===e.type&&this.props.classes.folderReorder),onClick:function(t){return a.onClick(e,t)},onDoubleClick:function(t){return a.onDblClick(e,t)}},n.a.createElement(R.a,{classes:{root:this.props.classes.listItemIcon}},"folder"===e.type?this.state.reorder||l?n.a.createElement(se.g,{className:d,style:p,onClick:function(t){return!a.state.reorder&&a.onToggle(e.id,t)}}):n.a.createElement(se.f,{className:d,style:p,onClick:function(t){return!a.state.reorder&&a.onToggle(e.id,t)}}):n.a.createElement("img",{className:d,alt:e.type,src:Ge[e.type]||Ge.def})),n.a.createElement(F.a,{classes:{primary:e.id!==this.state.selected||this.state.reorder?void 0:this.props.classes.selected},style:this.getTextStyle(e),primary:n.a.createElement("span",null,o,h)}),n.a.createElement(W.a,null,this.renderItemButtonsOnEnd(e,t)))}},{key:"onDragFinish",value:function(e,t){var s=t+"."+e.split(".").pop();s!==e&&(this.state.listItems.find((function(e){return e.id===s}))&&(s+="_"+E.a.t("copy")),this.props.onRename&&this.props.onRename(e,s))}},{key:"renderOneItem",value:function(e,t,s){var a=this,r=(this.state.statusFilter||this.state.typeFilter)&&e.filter((function(e){return e.parent===t.id&&!a.isFilteredOut(e)})),o=e.filter((function(e){return e.parent===t.id}));if(!this.isFilteredOut(t)&&("folder"!==t.type||!this.state.statusFilter&&!this.state.typeFilter||r.length)){var i,c=this.renderListItem(t,o,r),l=[];return o&&(this.state.reorder||this.state.expanded.includes(t.id)||t.id===Qe)&&(i=o.map((function(t){return a.renderOneItem(e,t)}))),this.state.reorder?"folder"===t.type?l.push(n.a.createElement(et,{key:"droppable_"+t.id,onDrop:function(e){return a.onDragFinish(e.name,t.id)}},n.a.createElement(tt,{key:"draggable_"+t.id,name:t.id},c),i||null)):l.push(n.a.createElement(tt,{key:"draggable_"+t.id,name:t.id},c,i||null)):(l.push(c),i&&i.forEach((function(e){return l.push(e)}))),l}}},{key:"renderAllItems",value:function(e){var t=this,s=e.filter((function(e){return!e.parent})).map((function(s){return t.renderOneItem(e,s)}));return n.a.createElement(J.a,{dense:!0,disablePadding:!0,className:this.props.classes.mainList},s)}},{key:"onAddNew",value:function(e){var t=this;e&&e.stopPropagation();for(var s=this.state.listItems.find((function(e){return e.id===t.state.selected})),a=Qe;s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({choosingType:!0})}},{key:"onCopy",value:function(e,t){e&&e.stopPropagation();for(var s=this.state.listItems.find((function(e){return e.id===t})),a=Qe;s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({copingScript:t})}},{key:"onAddNewFolder",value:function(e){var t=this;e&&e.stopPropagation();for(var s=this.state.listItems.find((function(e){return e.id===t.state.selected})),a=Qe;s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({creatingFolder:!0})}},{key:"onRename",value:function(e){e&&e.stopPropagation(),this.setState({renaming:this.state.selected})}},{key:"getUniqueName",value:function(e){var t=this,s=1,a=E.a.t("Script")+" ";if(e){var n=Xe(e,this.props.scripts[e]),r=n.match(/\d+$/);r?(a=n.replace(/\d+$/,""),s=parseInt(r[0],10)+1):a=n}for(;this.state.listItems.find((function(e){return e.id===t.parent+"."+a.replace(/\.\s/g,"_")+s}));)s++;return a+s}},{key:"getUniqueFolderName",value:function(){for(var e=this,t=1;this.state.listItems.find((function(s){return s.id===e.parent+"."+E.a.t("Folder")+"_"+t}));)t++;return E.a.t("Folder")+" "+t}},{key:"onCloseMenu",value:function(e){this.setState({menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null},e)}},{key:"getFilterBadge",value:function(){return[!0===this.state.statusFilter&&n.a.createElement(v.w,{className:this.props.classes.filterIcon,style:{color:He}}),!1===this.state.statusFilter&&n.a.createElement(v.u,{className:this.props.classes.filterIcon,style:{color:Ze}}),"Blockly"===this.state.typeFilter&&"Bl","Javascript/js"===this.state.typeFilter&&"JS","TypeScript/ts"===this.state.typeFilter&&"TS"]}},{key:"getMainMenu",value:function(e,t){var s=this;return n.a.createElement(Z.a,{key:"menu",id:"long-menu",anchorEl:this.state.menuAnchorEl,open:this.state.menuOpened,onClose:function(){return s.setState({menuOpened:!1,menuAnchorEl:null})},PaperProps:{style:{maxHeight:360}}},this.state.width<=350?n.a.createElement(Q.a,{key:"deleted",disabled:!this.state.selected||this.state.selected===Ve||this.state.selected===qe||e&&e.length,onClick:function(e){e.stopPropagation(),e.preventDefault(),s.state.listItems.find((function(e){return e.parent===s.state.selected}))?s.showError(E.a.t("Cannot delete non empty item!")):s.setState({menuOpened:!1,menuAnchorEl:null},(function(){return s.onDelete(s.state.selected).then((function(){}))}))}},n.a.createElement(v.j,{className:this.props.classes.iconDropdownMenu,style:{color:"red"}}),E.a.t("Delete")):null,n.a.createElement(Q.a,{key:"expertMode",selected:this.state.expertMode,onClick:function(e){e.stopPropagation(),e.preventDefault(),s.onCloseMenu((function(){return s.props.onExpertModeChange&&s.props.onExpertModeChange(!s.state.expertMode)}))}},n.a.createElement(v.v,{className:this.props.classes.iconDropdownMenu,style:{color:"orange"}}),E.a.t("Expert mode")),this.props.onExport&&n.a.createElement(Q.a,{key:"exportAll",onClick:function(e){e.stopPropagation(),e.preventDefault(),s.onCloseMenu((function(){return s.props.onExport()}))}},n.a.createElement(se.c,{className:this.props.classes.iconDropdownMenu}),E.a.t("Export all scripts")),this.props.onImport&&n.a.createElement(Q.a,{key:"import",onClick:function(e){e.stopPropagation(),e.preventDefault(),s.onCloseMenu((function(){return s.props.onImport()}))}},n.a.createElement(se.d,{className:this.props.classes.iconDropdownMenu}),E.a.t("Import scripts")),this.props.onThemeChange&&n.a.createElement(Q.a,{key:"dark",onClick:function(e){return s.onCloseMenu((function(){var e="dark"===s.state.themeName?"blue":"blue"===s.state.themeName?"colored":"colored"===s.state.themeName?"light":"light"===s.state.themeName?"dark":"colored";s.props.onThemeChange(e)}))}},n.a.createElement(v.t,{className:this.props.classes.iconDropdownMenu}),E.a.t('Change theme (actual "%s")',this.state.themeName)),this.props.onAddNew&&n.a.createElement(Q.a,{key:"copy",disabled:!this.state.selected||!t||"folder"===t.type,onClick:function(e){var t=s.state.selected;s.onCloseMenu((function(){return s.onCopy(e,t)}))}},n.a.createElement(v.h,{className:this.props.classes.iconDropdownMenu}),E.a.t("Copy script")))}},{key:"getToolbarButtons",value:function(){var e=this,t=[],s=this.props.classes;if(this.state.searchMode)t.push(n.a.createElement(V.a,{key:"searchInputRoof",rootRef:this.inputRef},n.a.createElement(q.a,{key:"searchInput",value:this.state.searchText,className:s.toolbarSearch,ref:this.inputRef,autoFocus:!0,placeholder:E.a.t("Search..."),onChange:function(t){e.setState({searchText:t.target.value}),e.filterTimer&&clearTimeout(e.filterTimer),e.filterTimer=setTimeout((function(){e.filterTimer=null,e.filterList(!0),e.props.onSearch&&e.props.onSearch(e.state.searchText)}),400)}}))),t.push(n.a.createElement(L.a,{key:"disableSearch",className:s.toolbarButtons,style:{float:"right"},title:E.a.t("End search mode"),onClick:function(t){t.stopPropagation(),e.filterList(!1,(function(){return e.props.onSearch&&e.props.onSearch(e.state.searchText)}))}},n.a.createElement(v.n,null))),this.state.searchText&&t.push(n.a.createElement(L.a,{key:"cleanSearch",mini:"true",title:E.a.t("Clear search input"),className:s.toolbarButtons,style:{marginTop:7,float:"right"},onClick:function(t){t.stopPropagation(),e.setState({searchText:""},(function(){e.filterList(!0),e.props.onSearch&&e.props.onSearch(e.state.searchText)}))}},n.a.createElement(v.g,{fontSize:"small"})));else{if(!this.state.reorder){t.push(n.a.createElement(L.a,{key:"menuButton","aria-label":"More","aria-owns":this.state.menuOpened?"long-menu":void 0,title:E.a.t("Menu"),"aria-haspopup":"true",onClick:function(t){t.stopPropagation(),t.preventDefault(),e.setState({menuOpened:!0,menuAnchorEl:t.currentTarget})}},n.a.createElement(v.s,null)));var a,r=this.state.listItems.find((function(t){return t.id===e.state.selected}));r&&this.state.width<=350&&"folder"===r.type&&(a=this.state.listItems.filter((function(t){return t.parent===e.state.selected}))),t.push(this.getMainMenu(a,r)),t.push(n.a.createElement(L.a,{key:"new-script",title:E.a.t("Create new script"),className:s.toolbarButtons,style:{color:this.state.reorder?"red":"inherit"},onClick:function(t){return e.onAddNew(t)}},n.a.createElement(v.a,null))),t.push(n.a.createElement(L.a,{key:"new-folder",title:E.a.t("Create new folder"),className:s.toolbarButtons,style:{color:this.state.reorder?"red":"inherit"},onClick:function(){return e.onAddNewFolder()}},n.a.createElement(v.i,null)))}t.push(n.a.createElement(L.a,{key:"search",disabled:this.state.reorder,className:s.toolbarButtons,title:E.a.t("Search in scripts"),style:{float:"right",opacity:this.state.reorder?0:1},onClick:function(t){t.stopPropagation(),e.setState({searchMode:!0})}},n.a.createElement(v.B,null))),t.push(n.a.createElement(L.a,{key:"reorder",title:E.a.t("Reorder scripts in folders"),className:s.toolbarButtons,style:{color:this.state.reorder?"red":"inherit",float:"right"},onClick:function(t){t.stopPropagation(),e.setState({reorder:!e.state.reorder})}},n.a.createElement(v.C,null))),!this.state.reorder&&this.state.selected&&this.state.selected!==Ve&&this.state.selected!==qe&&t.push(n.a.createElement(L.a,{className:s.toolbarButtons,title:E.a.t("Rename"),key:"rename",onClick:function(t){return e.onRename(t)}},n.a.createElement(v.l,null)))}return t}},{key:"getFolders",value:function(){var e=[{id:Qe,name:E.a.t("Root folder")}];return this.state.listItems.forEach((function(t){return"folder"===t.type&&e.push({id:t.id,name:t.title})})),e}},{key:"onCollapseAll",value:function(){this.setState({expanded:[]}),this.saveExpanded([])}},{key:"onExpandAll",value:function(){var e=this,t=[];this.state.listItems.forEach((function(s){return e.state.listItems.find((function(e){return e.parent===s.id}))&&t.push(s.id)})),this.setState({expanded:t}),this.saveExpanded(t)}},{key:"getBottomButtons",value:function(){var e=this;return this.state.reorder?null:[n.a.createElement(v.u,{key:"filterByRunning",className:this.props.classes.footerButtons,style:{color:He,opacity:"running"===this.state.statusFilter?1:.3,background:"running"===this.state.statusFilter?"gray":"inherit"},title:E.a.t("Show only running scripts"),onClick:function(t){t.stopPropagation(),t.preventDefault();var s="running"===e.state.statusFilter?"":"running";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),e.setState({statusFilter:s})}}),n.a.createElement(v.w,{key:"filterByPaused",title:E.a.t("Show only paused scripts"),className:this.props.classes.footerButtons,style:{color:Ze,opacity:"paused"===this.state.statusFilter?1:.3,background:"paused"===this.state.statusFilter?"gray":"inherit"},onClick:function(t){var s="paused"===e.state.statusFilter?"":"paused";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),e.setState({statusFilter:s})}}),n.a.createElement(v.u,{key:"filterByProblem",title:E.a.t("Show only scripts with problems"),className:this.props.classes.footerButtons,style:{color:Ye,opacity:"problems"===this.state.statusFilter?1:.3,background:"problems"===this.state.statusFilter?"gray":"inherit"},onClick:function(t){var s="problems"===e.state.statusFilter?"":"problems";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),e.setState({statusFilter:s})}}),n.a.createElement("img",{key:"filterBlockly",className:this.props.classes.footerButtons,alt:"Blockly",style:{opacity:"Blockly"===this.state.typeFilter?1:.3,background:"Blockly"===this.state.typeFilter?"gray":"inherit"},src:Ge.Blockly||Ge.def,onClick:function(t){var s="Blockly"===e.state.typeFilter?"":"Blockly";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),e.setState({typeFilter:s})}}),n.a.createElement("img",{key:"filterJS",className:this.props.classes.footerButtons,alt:"Javascript",style:{opacity:"Javascript/js"===this.state.typeFilter?1:.3,background:"Javascript/js"===this.state.typeFilter?"gray":"inherit"},src:Ge["Javascript/js"]||Ge.def,onClick:function(t){var s="Javascript/js"===e.state.typeFilter?"":"Javascript/js";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),e.setState({typeFilter:s})}}),n.a.createElement("img",{key:"filterTS",className:this.props.classes.footerButtons,alt:"TypeScript",style:{opacity:"TypeScript/ts"===this.state.typeFilter?1:.3,background:"TypeScript/ts"===this.state.typeFilter?"gray":"inherit"},src:Ge["TypeScript/ts"]||Ge.def,onClick:function(t){var s="TypeScript/ts"===e.state.typeFilter?"":"TypeScript/ts";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),e.setState({typeFilter:s})}}),n.a.createElement(v.E,{key:"expandAll",className:this.props.classes.footerButtons+" "+this.props.classes.footerButtonsRight,title:E.a.t("Expand all"),onClick:function(){return e.onExpandAll()}}),this.state.expanded.length?n.a.createElement(v.D,{key:"collapseAll",className:this.props.classes.footerButtons+" "+this.props.classes.footerButtonsRight,title:E.a.t("Collapse all"),onClick:function(){return e.onCollapseAll()}}):null]}},{key:"render",value:function(){var e=this,t=this.props.classes,s=this.state.renaming&&this.state.listItems.find((function(t){return t.id===e.state.renaming})),a=this.state.copingScript&&this.props.scripts[this.state.copingScript];return[n.a.createElement(j.a,{key:"drawer",variant:"permanent",className:t.menu,classes:{paper:t.drawerPaper},anchor:"left",onClick:function(){return e.onClick({id:""})}},n.a.createElement("div",{className:t.toolbar},this.getToolbarButtons()),n.a.createElement(B.a,null),n.a.createElement(H.a,{backend:Y.a},n.a.createElement("div",{className:t.innerMenu},this.renderAllItems(this.state.listItems))),n.a.createElement(B.a,null),n.a.createElement("div",{className:t.footer},this.getBottomButtons())),s?n.a.createElement(we,{key:"dialog-rename",name:s.title,title:E.a.t("Rename"),id:this.state.renaming,folder:"folder"===s.type,instance:s.instance,instances:this.props.instances,onClose:function(){return e.setState({renaming:!1})},onRename:function(t,s,a,n){return e.props.onRename&&e.props.onRename(t,s,a,n)}}):null,this.state.deleting?n.a.createElement(Ce,{key:"dialog-delete",name:this.state.listItems.find((function(t){return t.id===e.state.deleting})).title,id:this.state.deleting,onClose:function(){return e.setState({deleting:!1})},onDelete:function(t){return e.props.onDelete&&e.props.onDelete(t)}}):null,this.state.choosingType?n.a.createElement(Re,{key:"dialog-script-type",onClose:function(t){e.setState({choosingType:!1}),t&&e.setState({creatingScript:t})}}):null,this.state.creatingScript?n.a.createElement(Fe,{key:"dialog-new-script",onClose:function(){return e.setState({creatingScript:!1})},title:E.a.t("Create new script"),name:this.getUniqueName(),parents:this.getFolders(),folder:!1,existingItems:this.state.listItems.map((function(e){return e.id})),instance:this.props.instances[0]||0,instances:this.props.instances,type:this.state.creatingScript,parent:this.parent,onAdd:function(t,s,a,n){e.props.onAddNew&&e.props.onAddNew(t,s,!1,a,n)}}):null,this.state.copingScript?n.a.createElement(Fe,{key:"dialog-copy-script",onClose:function(){return e.setState({copingScript:""})},title:E.a.t("Copy script"),name:this.getUniqueName(this.state.copingScript),parents:this.getFolders(),folder:!1,instance:parseInt(a&&a.common&&a.common.engine&&a.common.engine.split(".").pop()||0,10),instances:this.props.instances,type:a&&a.common&&a.common.engineType||"Javascript/js",parent:this.parent,onAdd:function(t,s,a,n){var r=e.state.copingScript&&e.props.scripts[e.state.copingScript];r&&r.common&&(r.common.enabled=!1),e.props.onAddNew&&e.props.onAddNew(t,s,!1,a,n,r&&r.common&&r.common.source)}}):null,this.state.creatingFolder?n.a.createElement(Fe,{key:"dialog-new-folder",onClose:function(){return e.setState({creatingFolder:!1})},title:E.a.t("Create new folder"),parents:this.getFolders(),name:this.getUniqueFolderName(),parent:this.parent,onAdd:function(t,s){e.props.onAddNew&&e.props.onAddNew(t,s,!0)}}):null,this.state.errorText?n.a.createElement(Ue,{onClose:function(){return e.setState({errorText:""})},text:this.state.errorText}):null]}}],[{key:"filterListStatic",value:function(e,t,s,a,n){t=JSON.parse(JSON.stringify(t));var r=!1,o={listItems:t};if(!1!==e&&s&&a){var i=a.toLowerCase();if(t.forEach((function(e){var t=e.title.toLowerCase();e.filteredPartly=!1;var s=-1!==t.indexOf(i);if(!s&&n&&n[e.id]&&n[e.id].common&&n[e.id].common.source)if("Blockly"===n[e.id].common.engineType){var a=n[e.id].common.source.lastIndexOf("//");s=-1!==n[e.id].common.source.substring(0,a).toLowerCase().indexOf(i)}else s=-1!==n[e.id].common.source.toLowerCase().indexOf(i);s?e.filtered&&(e.filtered=!1,r=!0):e.filtered||(e.filtered=!0,r=!0)})),r)for(var c=t.length-1;c>=0;c--){var l=t[c];if(!l.filtered||l.filteredPartly){var d=l;do{d.parent&&t[d.parentIndex]&&(r=!0,t[d.parentIndex].filteredPartly=!0),d=d.parent&&t[d.parentIndex]?t[d.parentIndex]:null}while(d)}}}else t.forEach((function(e){(e.filtered||e.filteredPartly)&&(e.filtered=!1,e.filteredPartly=!1,r=!0)})),!1===e&&(o.searchText="",o.searchMode=!1,r=!0);return r?o:null}},{key:"ensureSelectedIsVisibleStatic",value:function(e,t,s){t=JSON.parse(JSON.stringify(t));var a=!1,n="object"===typeof e?e:s.find((function(t){return t.id===e}));do{(n=n&&n.parent&&s.find((function(e){return e.id===n.parent})))&&-1===t.indexOf(n.id)&&(t.push(n.id),a=!0)}while(n);return a&&t}},{key:"getDerivedStateFromProps",value:function(e,t){var a={},n=!1;if(t.expertMode!==e.expertMode&&(n=!0,a.expertMode=e.expertMode),t.scriptsHash!==e.scriptsHash&&e.scripts){var r=$e(e.scripts||{});if(a.listItems=r,t.searchText){var o=s.filterListStatic(!0,r,t.searchMode,t.searchText,e.scripts);o&&Object.assign(a,o)}var i=s.getIsAllZeroInstancesStatic(r,e.instances||[]),c=s.ensureSelectedIsVisibleStatic(t.selected,t.expanded,t.listItems);a.isAllZeroInstances=i,c&&(a.expanded=c),n=!0}if(t.width!==e.width&&(n=!0,a.width=e.width),t.themeName!==e.themeName&&(n=!0,a.themeName=e.themeName),e.selectId&&t.selected!==e.selectId){var l=t.listItems.find((function(t){return t.id===e.selectId}));if(!t.reorder&&l){var d=s.ensureSelectedIsVisibleStatic(l,t.expanded,t.listItems);a.selected=l.id,d&&(a.expanded=d),n=!0,window.localStorage&&window.localStorage.setItem("SideMenu.selected",l.id)}}return n?a:null}},{key:"getIsAllZeroInstancesStatic",value:function(e,t){var s=!t[0]&&t.length<=1;return s&&e.forEach((function(e){"folder"!==e.type&&0!==e.instance&&(s=!1)})),s}}]),s}(n.a.Component),at=Object(g.a)((function(e){return{drawerPaper:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},toolbar:{height:e.toolbar.height},toolbarButtons:{color:"dark"===e.palette.type?"white !important":"black !important"},toolbarSearch:{width:"calc(100% - 105px)",lineHeight:"34px",marginLeft:5},iconButtons:{width:32,height:32,padding:2},iconDropdownMenu:{paddingRight:5},iconOnTheRight:{position:"absolute",right:10,top:"calc(50% - 8px)"},menu:{width:"100%",height:"100%"},innerMenu:{width:"100%",height:"calc(100% - 76px)",overflowX:"hidden",overflowY:"auto"},listItemIcon:{minWidth:32},filterIcon:{width:18,height:18,borderRadius:2,marginRight:5},scriptIcon:{width:18,height:18,borderRadius:2,marginTop:4,marginBottom:4,marginLeft:8,marginRight:4},folder:{cursor:"pointer",padding:0,userSelect:"none"},folderReorder:{opacity:.3,transitionDuration:"0.5s",transitionProperty:"opacity"},folderIcon:{width:20,height:20},folderIconReorder:{paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},folderIconNoReorder:{cursor:"pointer",paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},script:{cursor:"pointer",padding:0,userSelect:"none"},scriptReorder:{opacity:1,transitionDuration:"0.5s",transitionProperty:"opacity"},reorder:{},expandButton:{width:37,height:37},selected:Ke,instances:{color:"gray",fontSize:"smaller"},childrenCount:{float:"right",marginRight:5,fontSize:10,opacity:.4},footer:{height:24},footerButtons:{"&:hover":{backgroundColor:"#dbdbdb"},color:"dark"===e.palette.type?"#ffffff":"#111111",cursor:"pointer",marginTop:1,marginRight:2,height:22,width:22},footerButtonsRight:{float:"right"},mainList:{"& .js-folder-dragover>div>li>.folder-reorder":{background:"#40adff"},"& .js-folder-dragging .folder-reorder":{opacity:1},"& .js-folder-dragging .script-reorder":{opacity:.3}}}}))(st),nt=s(133);var rt={},ot=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).state={lines:{},goBottom:!0,selected:null,editing:a.props.editing||[]},a.lastIndex=null,a.messagesEnd=n.a.createRef(),a.logHandlerBound=a.logHandler.bind(Object(x.a)(a)),a}return Object(h.a)(s,[{key:"generateLine",value:function(e){return n.a.createElement("tr",{key:"tr_"+e.ts+"_"+e.message.substr(-10),className:this.props.classes[e.severity]},n.a.createElement("td",{key:"tdTime",className:this.props.classes.trTime},function(e){var t,s=e.getHours();return s<10&&(s="0"+s.toString()),t=s+":",(s=e.getMinutes())<10&&(s="0"+s.toString()),t+=s+":",(s=e.getSeconds())<10&&(s="0"+s.toString()),t+=s+".",(s=e.getMilliseconds())<10?s="00"+s.toString():s<100&&(s="0"+s.toString()),t+=s}(new Date(e.ts))),n.a.createElement("td",{key:"tdSeverity",className:this.props.classes.trSeverity},e.severity),n.a.createElement("td",{key:"tdMessage"},e.message))}},{key:"scrollToBottom",value:function(){this.messagesEnd&&this.messagesEnd.current&&this.messagesEnd.current.scrollIntoView({behavior:"smooth"})}},{key:"logHandler",value:function(e){var t=this.state.lines,s=this.state.editing.find((function(t){return-1!==e.message.indexOf(t)}));if(s){var a=t[s]||[],n=rt[s]||[];a.push(this.generateLine(e));var r=e.severity;"info"!==r&&"warn"!==r||(r+=" ");var o,i=new Date(e.ts);n.push("".concat(i.toLocaleString(),".").concat((o=i.getMilliseconds(),o<10?"00"+o:o<100?"0"+o:o),"\t[").concat(r,"]: ").concat(e.message)),a.length>300&&(a.splice(0,a.length-300),n.splice(0,a.length-300)),rt[s]=n,t[s]=a,this.setState({lines:t})}}},{key:"componentDidMount",value:function(){this.props.socket.registerLogHandler(this.logHandlerBound)}},{key:"componentWillUnmount",value:function(){this.props.socket.unregisterLogHandler(this.logHandlerBound)}},{key:"componentDidUpdate",value:function(){this.state.goBottom&&this.scrollToBottom()}},{key:"onCopy",value:function(){!function(e){var t=window.document.createElement("textarea");t.value=e,window.document.body.appendChild(t),t.select(),window.document.execCommand("copy"),window.document.body.removeChild(t)}((rt[this.state.selected]||[]).join("\n"))}},{key:"clearLog",value:function(){var e=this.state.lines;e[this.state.selected]&&(e[this.state.selected]=[]),rt[this.state.selected]&&(rt[this.state.selected]=[]),this.setState({lines:e})}},{key:"render",value:function(){var e=this,t=this.state.selected&&this.state.lines[this.state.selected];return n.a.createElement("div",{className:this.props.classes.logBox},n.a.createElement("div",{className:this.props.classes.toolbox,key:"toolbox"},n.a.createElement(L.a,{className:this.props.classes.iconButtons,onClick:function(){return e.setState({goBottom:!e.state.goBottom})},color:this.state.goBottom?"secondary":""},n.a.createElement(v.F,null)),t&&t.length?n.a.createElement(L.a,{className:this.props.classes.iconButtons,onClick:function(){return e.clearLog()}},n.a.createElement(v.k,null)):null,t&&t.length?n.a.createElement(L.a,{className:this.props.classes.iconButtons,onClick:function(){return e.onCopy()}},n.a.createElement(v.h,null)):null,this.props.onLayoutChange?n.a.createElement(L.a,{className:this.props.classes.iconButtons,onClick:function(){return e.props.onLayoutChange()},title:E.a.t("Change layout")},n.a.createElement("img",{className:this.props.classes.layoutIcon,alt:"split",src:this.props.verticalLayout?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAACFJREFUeAFjAIJRwP////8PYIKWHCigNQdKj/pn1D+jAABTG16wVQqVpQAAAABJRU5ErkJggg==":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAABtJREFUeAFjAIJRwP8fCj7QkENn/4z6Z5QzCgBjbWaoyx1PqQAAAABJRU5ErkJggg=="})):null),this.state.selected&&t&&t.length?n.a.createElement("div",{className:this.props.classes.logBoxInner,key:"logList"},n.a.createElement("table",{key:"logTable",className:this.props.classes.table},n.a.createElement("tbody",null,t)),n.a.createElement("div",{key:"logScrollPoint",ref:this.messagesEnd,style:{float:"left",clear:"both"}})):n.a.createElement("div",{key:"logList",className:this.props.classes.logBoxInner,style:{paddingLeft:10}},E.a.t("Log outputs")))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var s=!1,a={};if(e.selected!==t.selected){var n=e.selected,r=t.lines;r[n]=r[n]||[],rt[n]=rt[n]||[],a.selected=n,s=!0}if(JSON.stringify(e.editing)!==JSON.stringify(t.editing)){var o=JSON.parse(JSON.stringify(e.editing)),i=t.lines;for(var c in rt)rt.hasOwnProperty(c)&&-1===o.indexOf(c)&&(delete rt[c],delete i[c]);a.editing=o}return s?a:null}}]),s}(n.a.Component),it=Object(nt.withStyles)((function(e){return{logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:{color:"dark"===e.palette.type?"white":"black",width:"calc(100% - ".concat(34,"px)"),height:"100%",marginLeft:34,overflow:"auto",position:"relative"},info:{background:"dark"===e.palette.type?"darkgrey":"lightgrey",color:(e.palette.type,"black")},error:{background:"#FF0000",color:"dark"===e.palette.type?"black":"white"},warn:{background:"#FF8000",color:"dark"===e.palette.type?"black":"white"},debug:{background:"gray",opacity:.8,color:"dark"===e.palette.type?"black":"white"},silly:{background:"gray",opacity:.6,color:"dark"===e.palette.type?"black":"white"},table:{fontFamily:"monospace",width:"100%"},toolbox:{position:"absolute",top:0,left:0,marginLeft:2,width:34,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4},layoutIcon:{width:24,height:24,background:"dark"===e.palette.type?"#9d9d9d":void 0,borderRadius:"dark"===e.palette.type?30:void 0}}}))(ot),ct=s(184),lt=s(384),dt=s(379),pt=s(197),ht=s(205),ut=s(204),mt=s(213),gt=s.n(mt),yt=s(186);function ft(e){return/^script\.js\.global\./.test(e)}var vt,kt=0,_t=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).state={name:"current",isDark:e.isDark||!1,language:e.language||"javascript",readOnly:e.readOnly||!1,alive:!0,check:!1,searchText:a.props.searchText||"",typingsLoaded:!1},a.runningInstancesStr=JSON.stringify(a.props.runningInstances),a.monacoDiv=null,a.editor=null,a.monaco=window.monaco,a.insert="",a.originalCode=e.code||"",a.typings={},a.lastSearch="",a}return Object(h.a)(s,[{key:"waitForMonaco",value:function(e){var t=this;if(this.monaco&&this.props.runningInstances)e&&e();else{if(this.monaco=window.monaco,this.monacoCounter=this.monacoCounter||0,this.monacoCounter++,!this.monaco&&this.monacoCounter<20)return console.log("wait for monaco loaded"),setTimeout((function(){return t.waitForMonaco(e)}),200);this.monacoCounter>=20&&console.error("Cannot load monaco!")}}},{key:"loadTypings",value:function(e){var t=this;if(this.editor){var s=(e=e||this.props.runningInstances)&&Object.keys(e).find((function(t){return e[t]}));s&&this.props.socket.sendTo(s.replace("system.adapter.",""),"loadTypings",null).then((function(e){t.setState({alive:!0,check:!0,typingsLoaded:!0}),t.setTypeCheck(!0),e.typings?(t.typings=e.typings,t.setEditorTypings(t.state.name)):console.error("failed to load typings: ".concat(e.error))}))}}},{key:"componentDidMount",value:function(){var e=this;if((!this.monaco||!this.props.runningInstances)&&(this.monaco=window.monaco,!this.monaco))return console.log("wait for monaco loaded"),this.waitForMonaco((function(){return e.componentDidMount()}));if(!this.editor){this.props.onRegisterSelect&&this.props.onRegisterSelect((function(){return e.editor.getModel().getValueInRange(e.editor.getSelection())}));var t=this.monaco.languages.typescript.typescriptDefaults.getCompilerOptions();t.target=this.monaco.languages.typescript.ScriptTarget.ES2015,t.allowJs=!0,t.checkJs=!1!==this.props.checkJs,t.noLib=!0,t.lib=[],t.moduleResolution=this.monaco.languages.typescript.ModuleResolutionKind.NodeJs,this.monaco.languages.typescript.typescriptDefaults.setCompilerOptions(t),this.setTypeCheck(!1),this.editor=this.monaco.editor.create(this.monacoDiv,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0}),this.editor.onDidChangeModelContent((function(t){return e.onChange(e.editor.getValue())})),this.loadTypings(),this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KEY_S,(function(){return e.onForceSave()})),setTimeout((function(){return e.highlightText(e.state.searchText)}))}var s={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(s),this.editor.focus(),this.editor.setValue(this.originalCode)}},{key:"setEditorOptions",value:function(e){e&&(e.language&&this.setEditorLanguage(e.language),void 0!==e.readOnly&&this.editor.updateOptions({readOnly:e.readOnly}),void 0!==e.lineWrap&&this.editor.updateOptions({wordWrap:e.lineWrap?"on":"off"}),void 0!==e.typeCheck&&this.setTypeCheck(e.typeCheck),void 0!==e.isDark&&this.monaco.editor.setTheme(e.isDark?"vs-dark":"vs"))}},{key:"componentWillUnmount",value:function(){this.editor&&(this.props.onRegisterSelect&&this.props.onRegisterSelect(null),this.editor.dispose(),this.editor=null)}},{key:"setEditorLanguage",value:function(e){var t=this.editor.getModel(),s=t.getValue(),a=t.uri.path,n="string"===typeof a&&a.indexOf(".")>-1?a.substr(0,a.lastIndexOf(".")):"index",r="javascript"===e?"js":"typescript"===e?"ts":"coffee"===e?"coffee":e;t.dispose();var o="javascript"===e||"typescript"===e?"typescript":e,i=this.monaco.editor.createModel(s,o,this.monaco.Uri.from({path:"".concat(n).concat(kt++,".").concat(r)}));this.editor.setModel(i)}},{key:"setTypeCheck",value:function(e){var t={noSemanticValidation:!this.state.alive||!e,noSyntaxValidation:!this.state.alive};this.monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions(t)}},{key:"setEditorTypings",value:function(){for(var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",s=ft(t),a="".concat(t,".d.ts"),n=[],r=0,o=Object.keys(this.typings);r=0;n--)if("//"===s[n].substring(0,2)){a=s[n].substring(2);break}if("'+e+"");var t=e.replace(/[\n\r]/g,"").match(/(.*)<\/variables>/);if(t){var s=this.Blockly.utils.xml.textToDomDocument(""+t[1]+"");if(s){var a=s.childNodes&&s.childNodes[0]&&s.childNodes[0].childNodes;if(a)for(var n=0;n.*<\/variables>/g,""),window.scripts.loading=!0;var r=this.Blockly.Xml.textToDom(e);if("xml"===r.nodeName)for(var o=0;o';window.scripts.loading=!0;var s=this.Blockly.Xml.textToDom(t);this.Blockly.Xml.domToWorkspace(s,this.blocklyWorkspace),window.scripts.loading=!1}catch(a){console.error(a),setTimeout((function(){return e.setState({error:E.a.t("Cannot extract Blockly code!")})}))}setTimeout((function(){return e.ignoreChanges=!1}),100)}}},{key:"onBlocklyChanged",value:function(){this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange()}},{key:"componentDidUpdate",value:function(){var e=this;if(this.blockly&&(this.didUpdate&&(clearTimeout(this.didUpdate),this.didUpdate=null),!this.blocklyWorkspace)){window.addEventListener("resize",this.onResizeBind,!1),Tt=Tt||this.getToolbox(),vt=vt||this.Blockly.Xml.textToDom(Tt),this.blocklyWorkspace=this.Blockly.inject(this.blockly,{media:"google-blockly/media/",toolbox:vt,zoom:{controls:!0,wheel:!1,startScale:1,maxScale:3,minScale:.3,scaleSpeed:1.2},move:{scrollbars:!0,drag:!0,wheel:!0},trashcan:!0,grid:{spacing:25,length:3,colour:"#ccc",snap:!0}}),window.scripts={blocklyWorkspace:this.blocklyWorkspace},this.blocklyWorkspace.addChangeListener((function(t){if(e.someSelected&&Date.now()-e.someSelectedTime>500){var s=e.blocklyWorkspace.getAllBlocks();e.someSelected=null,s.forEach((function(e){return e.removeSelect()}))}t.type!==e.Blockly.Events.UI&&t.type!==e.Blockly.Events.CREATE&&(e.ignoreChanges||(e.changeTimer&&clearTimeout(e.changeTimer),e.changeTimer=setTimeout((function(){e.changeTimer=null,e.onBlocklyChanged()}),200)))})),this.loadCode(),this.onResize();var t=document.getElementsByClassName("blocklyToolboxDiv")[0];this.blockly.appendChild(t),this.updateBackground(),setTimeout((function(){return e.searchId()}),200)}}},{key:"updateBackground",value:function(){var e=document.getElementsByClassName("blocklyMainBackground")[0];"dark"===this.state.themeType?(e._originalStyle||(e._originalStyle={stroke:e.style.stroke,fill:e.style.fill}),e.style.stroke="#3a3a3a",e.style.fill="#515151"):e._originalStyle&&(e.style.stroke=e._originalStyle.stroke,e.style.fill=e._originalStyle.fill)}},{key:"componentWillUnmount",value:function(){this.blocklyWorkspace&&(this.blocklyWorkspace.dispose(),this.blocklyWorkspace=null,this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=null,window.removeEventListener("resize",this.onResizeBind))}},{key:"onChange",value:function(){this.originalCode=this.blocklyCode2JSCode(),this.props.onChange&&this.props.onChange(this.originalCode)}},{key:"getToolbox",value:function(){var e=window.document.getElementById("toolbox").outerHTML;if(e=e.replace(/{(\w+)}/g,(function(e,t){return window.MSG[t]})),this.Blockly.CustomBlocks){for(var t="",s=E.a.getLanguage(),a=0;a',this.Blockly[n].blocks)this.Blockly[n].blocks.hasOwnProperty(r)&&(t+=this.Blockly[n].blocks[r]);t+=""}e=e.replace("%%CUSTOM_BLOCKS%%",t)}return e}},{key:"renderMessageDialog",value:function(){var e=this;return this.state.message?n.a.createElement(N.a,{key:"dialogMessage",text:"object"===typeof this.state.message?this.state.message.text:this.state.message,title:"object"===typeof this.state.message?this.state.message.title:"",onClose:function(){return e.setState({message:""})}}):null}},{key:"renderErrorDialog",value:function(){var e=this;return this.state.error?n.a.createElement(Ue,{key:"dialogError",text:"object"===typeof this.state.error?this.state.error.text.toString():this.state.error,title:"object"===typeof this.state.error?this.state.error.title:"",onClose:function(){e.blinkBlock&&(e.blocklyBlinkBlock(e.blinkBlock),e.blinkBlock=null),e.setState({error:""})}}):null}},{key:"renderExportDialog",value:function(){var e=this;return this.state.exportText?n.a.createElement(Dt,{key:"dialogExport",theme:this.state.themeType,onClose:function(){return e.setState({exportText:""})},text:this.state.exportText}):null}},{key:"renderImportDialog",value:function(){var e=this;return this.state.importText?n.a.createElement(Ot,{key:"dialogImport",onClose:function(t){e.setState({importText:!1}),e.onImportBlocks(t)}}):null}},{key:"render",value:function(){var e=this;return this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout((function(){e.didUpdate=null,e.componentDidUpdate()}),100),[n.a.createElement("div",{key:"blocklyDOM",ref:function(t){return e.blockly=t},style:{width:"100%",height:"100%",position:"relative"}}),this.renderMessageDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderImportDialog()]):null}}],[{key:"loadJS",value:function(e,t,s){var a=document.createElement("script");try{a.src=e,a.onload=t,a.onreadystatechange=t,a.onerror=t,(s||window.document.body).appendChild(a)}catch(n){console.error("Cannot load "+e+": "+n),t&&t()}}},{key:"loadScripts",value:function(e,t){if(!e||!e.length)return t&&t();var a=e.pop();-1===Mt.indexOf(a)?(Mt.push(a),s.loadJS("../../adapter/"+a+"/blockly.js",(function(){return setTimeout((function(){return s.loadScripts(e,t)}),0)}))):setTimeout((function(){return s.loadScripts(e,t)}),0)}},{key:"loadCustomBlockly",value:function(e,t){var a=[];for(var n in e)e.hasOwnProperty(n)&&e[n]&&n.match(/^system\.adapter\./)&&"adapter"===e[n].type&&e[n].common&&e[n].common.blockly&&(console.log("Detected custom blockly: "+e[n].common.name),a.push(e[n].common.name));s.loadScripts(a,t)}},{key:"loadXMLDoc",value:function(e){return(window.DOMParser?function(e){return(new window.DOMParser).parseFromString(e,"text/xml")}:"undefined"!=typeof window.ActiveXObject&&new window.ActiveXObject("Microsoft.XMLDOM")?function(e){var t=new window.ActiveXObject("Microsoft.XMLDOM");return t.async="false",t.loadXML(e),t}:function(){return null})(e)}}]),s}(n.a.Component),Bt=s(216),Jt=s.n(Bt),zt=s(385),Rt=s(201),Wt=s(378);var Ft=function(e,t,s){var a={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12,SUN:1,MON:2,TUE:3,WED:4,THU:5,FRI:6,SAT:7},n={"* * * * * *":"0/1 * * * * *","@YEARLY":"0 0 1 1 *","@ANNUALLY":"0 0 1 1 *","@MONTHLY":"0 0 1 * *","@WEEKLY":"0 0 * * 0","@DAILY":"0 0 * * *","@HOURLY":"0 * * * *"},r={s:[0,0,59],m:[1,0,59],h:[2,0,23],D:[3,1,31],M:[4,1,12],Y:[6,1970,2099],d:[5,1,7,1]};function o(e){var t=arguments.length<=1||void 0===arguments[1]?0:arguments[1],s=arguments.length<=2||void 0===arguments[2]?9999:arguments[2];return isNaN(e)?a[e]||null:Math.min(+e+t,s)}function i(e,t,s,a){var n=arguments.length<=4||void 0===arguments[4]?0:arguments[4],r=s;for(e[t]||(e[t]=[]);r<=a;)e[t].indexOf(r)<0&&e[t].push(r),r+=n||1;e[t].sort((function(e,t){return e-t}))}function c(e,t,s,a){(t.d&&!t.dc||t.dc&&t.dc.indexOf(a)<0)&&(e.push(function(e){var t,s={};for(t in e)"dc"!==t&&"d"!==t&&(s[t]=e[t].slice(0));return s}(t)),t=e[e.length-1]),i(t,"d",s,s),i(t,"dc",a,a)}function l(e,t,s,n,r,l){var d,p,h=t.schedules,u=h[h.length-1];"L"===e&&(e=(n-1).toString(10)),null!==(d=o(e,l,r))?i(u,s,d,d):null!==(d=o(e.replace("W",""),l,r))?function(e,t,s){var n={},r={};1===s?(i(t,"D",1,3),i(t,"d",a.MON,a.FRI),i(n,"D",2,2),i(n,"d",a.TUE,a.FRI),i(r,"D",3,3),i(r,"d",a.TUE,a.FRI)):(i(t,"D",s-1,s+1),i(t,"d",a.MON,a.FRI),i(n,"D",s-1,s-1),i(n,"d",a.MON,a.THU),i(r,"D",s+1,s+1),i(r,"d",a.TUE,a.FRI)),e.exceptions.push(n),e.exceptions.push(r)}(t,u,d):null!==(d=o(e.replace("L",""),l,r))?c(h,u,d,n-1):2===(p=e.split("#")).length?c(h,u,d=o(p[0],l,r),o(p[1])):function(e,t,s,a,n,r){var c=e.split("/"),l=+c[1],d=c[0];if("*"!==d&&"0"!==d){var p=d.split("-");a=o(p[0],r,n),n=o(p[1],r,n)||n}i(t,s,a,n,l)}(e,u,s,n,r,l)}function d(e){return e.indexOf("#")>-1||e.indexOf("L")>0}function p(e,t){return d(e)&&!d(t)?1:e-t}function h(e){var t,s=+e,a=0;return 0!==s&&isFinite(s)&&(a=(t=s)<0?Math.ceil(t):Math.floor(t)),a}function u(e){var t=e%10;return e+(1===h(e%100/10)?s.ORDINALS.th:1===t?s.ORDINALS.st:2===t?s.ORDINALS.nd:3===t?s.ORDINALS.rd:s.ORDINALS.th)}function m(e){if(e.length<2)return u(e);var t=e.pop();return e.join(", ")+" "+s.and+" "+u(t)}function g(e,t){return"dow"===t?s.DOW[e-1]:"mon"===t?s.MONTH[e-1]:void 0}function y(e,t){if(e.length<2)return g(""+e[0],t);for(var a,n=""+e.pop(),r="",o=0;a=e[o];o++)r.length>0&&(r+=", "),r+=g(a,t);return r+" "+s.and+" "+g(n,t)}function f(e){return e<10?"0"+e:e}return function(e,t){var a=s.Every+" ";if(e.h&&e.m&&e.h.length<=2&&e.m.length<=2&&t&&e.s&&e.s.length<=2){for(var n=[],r=0;r1)for(var c=parseInt(i[1],10),l=parseInt(i[0],10);l<=c;l++)s.push(l);else s.push(parseInt(r[o],10))}(s=s.map((function(e){return parseInt(e,10)}))).sort();for(var d=s.length-1;d>=0;d--)s[d]===s[d+1]&&s.splice(d+1,1);return s}function Qt(e,t){if("object"!==typeof e&&(e=[e]),e.length===t)return"*";var s=[];if(!e.length)return"-";(e=e.map((function(e){return parseInt(e,10)}))).sort((function(e,t){return e-t}));for(var a=e[0],n=e[0],r=1;r60&&(s.period=60),s.period<1&&(s.period=1),s.minutes>60&&(s.minutes=60),s.minutes<1&&(s.minutes=1),s.hours>24&&(s.hours=24),s.hours<1&&(s.hours=1),e.extended)t="".concat(s.minutes>1?"*/"+s.minutes:"*"," ").concat(s.hours>1?"*/"+s.hours:"*"," * * *");else switch(s.unit){case Gt.seconds:t="".concat(s.period>1?"*/"+s.period:"*"," * * * * *");break;case Gt.minutes:t="".concat(s.period>1?"*/"+s.period:"*"," * * * *")}}else if(e.mode===Kt.intervalBetween){var a,n=e.intervalBetween||{};switch(n.timeFrom=n.timeFrom||0,n.timeTo=void 0===n.timeTo?24:n.timeTo,a=0===n.timeFrom&&24===n.timeTo?"*":n.timeFrom!==n.timeTo?n.timeFrom+"-"+n.timeTo:"*",n.period>60&&(n.period=60),n.period<1&&(n.period=1),n.unit=n.unit||Gt.minutes,n.unit){case Gt.seconds:t="".concat(n.period>1?"*/"+n.period:"*"," * ").concat(a," * * ").concat(this.periodArray2text(n.weekdays));break;case Gt.minutes:t="".concat(n.period>1?"*/"+n.period:"*"," ").concat(a," * * ").concat(this.periodArray2text(n.weekdays))}}else if(e.mode===Kt.specific){var r=e.specific||{},o=(r.time||"00:00").split(":"),i=parseInt(o[1],10)||0;i>59&&(i=59),i<0&&(i=0);var c=parseInt(o[0],10)||0;c>23&&(c=59),c<0&&(c=0),t="".concat(i," ").concat(c," * * ").concat(this.periodArray2text(r.weekdays||[]))}else if(e.mode===Kt.once){var l=e.once||{};l.date||(l.date=(new Date).getDate()+"."+$t((new Date).getMonth()+1));var d=(l.time||"00:00").split(":"),p=l.date.split("."),h=parseInt(d[1],10)||0;h>59&&(h=59),h<0&&(h=0);var u=parseInt(d[0],10)||0;u>23&&(u=59),u<0&&(u=0);var m=parseInt(p[0],10)||1;m>31&&(m=31),m<1&&(u=1);var g=parseInt(p[1],10)||1;g>12&&(g=12),g<1&&(g=1),t="".concat(h," ").concat(u," ").concat(m," ").concat(g," *")}return t}}]),s}(n.a.Component),ss=Object(g.a)((function(e){return{mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}}}))(ts),as=(s(164),s(380)),ns=(s(160),["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]),rs=["January","February","March","April","May","June","July","August","September","October","November","December"],os="minutes",is="hours",cs=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function ls(e){return e<10?"0"+e:""+e}var ds={time:{exactTime:!1,start:"00:00",end:"23:59",mode:"hours",interval:1},period:{once:"",days:1,dows:"",dates:"",weeks:0,months:"",years:0,yearMonth:0,yearDate:0},valid:{from:"",to:""}};function ps(e){var t=e.split(".");if(3===t.length)return t[2]+"-"+t[1]+"-"+t[0]}var hs=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a,r;if(Object(p.a)(this,s),(a=t.call(this,e)).props.schedule&&"string"===typeof a.props.schedule&&"{"===a.props.schedule[0])try{r=JSON.parse(a.props.schedule)}catch(o){}return r&&Object.keys(r).length||!a.props.onChange||setTimeout((function(){return a.onChange(a.state.schedule,!0)}),200),r=r||{},(r=Object.assign({},ds,r)).valid.from=r.valid.from||a.now2string(),a.refFrom=n.a.createRef(),a.refTo=n.a.createRef(),a.refOnce=n.a.createRef(),a.state={schedule:r,desc:a.state2text(r)},JSON.stringify(r)!==a.props.schedule&&setTimeout((function(){return a.props.onChange&&a.props.onChange(JSON.stringify(r))}),100),a}return Object(h.a)(s,[{key:"onChange",value:function(e,t){var s=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(t||s){s&&this.setState({schedule:e,desc:this.state2text(e)});var a=JSON.parse(JSON.stringify(e));if(a.period.once){var n=a.period.once;delete a.period,a.period={once:n},delete a.valid}else if(a.period.days){var r=a.period.days,o=a.period.dows;delete a.period,a.period={days:r},o&&"[]"!==o&&(a.period.dows=o)}else if(a.period.weeks){var i=a.period.weeks,c=a.period.dows;delete a.period,a.period={weeks:i},c&&"[]"!==c&&(a.period.dows=c)}else if(a.period.months){var l=a.period.months,d=a.period.dates;delete a.period,a.period={months:l},d&&"[]"!==d&&(a.period.dates=d)}else if(a.period.years){var p=a.period.years,h=a.period.yearMonth,u=a.period.yearDate;delete a.period,a.period={years:p,yearDate:u},h&&(a.period.yearMonth=h)}if(a.time.exactTime?(delete a.time.end,delete a.time.mode,delete a.time.interval):delete a.time.exactTime,a.valid){if(a.valid.to||delete a.valid.to,1===a.period.days||1===a.period.weeks||1===a.period.months||1===a.period.years){var m=this.string2date(a.valid.from),g=new Date;g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0),m<=g&&delete a.valid.from}a.valid.from||a.valid.to||delete a.valid}this.props.onChange&&this.props.onChange(JSON.stringify(a))}}},{key:"state2text",value:function(e){var t=[],s=this.string2date(e.valid.from);if(e.period.once){var a=this.string2date(e.period.once),n=new Date;if(n.setMilliseconds(0),n.setSeconds(0),n.setMinutes(0),n.setHours(0),aDate.now()&&e.valid.to?t.push(E.a.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):s.getTime()>Date.now()?t.push(E.a.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&t.push(E.a.t("sch_desc_validTo",e.valid.to))),t.join(" ")}},{key:"getTimePeriodElements",value:function(){var e=this,t=this.state.schedule,s=!1,a=!1,r=!1,o=!0;return"00:00"===t.time.start&&"24:00"===t.time.end?(s=!0,o=!1):"sunrise"===t.time.start?(a=!0,o=!1):"sunset"===t.time.start&&(r=!0,o=!1),n.a.createElement("div",{key:"timePeriod",className:this.props.classes.rowDiv},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:!t.time.exactTime,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.exactTime=!1,e.onChange(t)}}),label:E.a.t("sch_intervalTime")})),n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement("div",{className:this.props.classes.settingsDiv},!t.time.exactTime&&n.a.createElement("div",null,n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:o,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="00:00",t.time.end="23:59",e.onChange(t)}}),label:o?"":E.a.t("sch_fromTo")}),o&&[n.a.createElement(me.a,{className:this.props.classes.inputTime,style:{marginRight:10},key:"exactTimeFrom",type:"time",value:this.state.schedule.time.start,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.start=t.target.value,e.onChange(s)},InputLabelProps:{shrink:!0},label:E.a.t("sch_from"),margin:"normal"}),n.a.createElement(me.a,{className:this.props.classes.inputTime,key:"exactTimeTo",type:"time",value:this.state.schedule.time.end,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.end=t.target.value,e.onChange(s)},InputLabelProps:{shrink:!0},label:E.a.t("sch_to"),margin:"normal"})])),!t.time.exactTime&&n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:s,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="00:00",t.time.end="24:00",e.onChange(t)}}),label:E.a.t("sch_wholeDay")})),!t.time.exactTime&&n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:a,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="sunrise",t.time.end="sunset",e.onChange(t)}}),label:E.a.t("sch_astroDay")})),!t.time.exactTime&&n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:r,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="sunset",t.time.end="sunrise",e.onChange(t)}}),label:E.a.t("sch_astroNight")}))),!t.time.exactTime&&this.getPeriodSettingsMinutes()))}},{key:"getTimeExactElements",value:function(){var e=this,t=-1!==cs.indexOf(this.state.schedule.time.start);return n.a.createElement("div",{key:"timeExact",className:this.props.classes.rowDiv},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:this.state.schedule.time.exactTime,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.exactTime=!0,e.onChange(t)}}),label:E.a.t("sch_exactTime")})),this.state.schedule.time.exactTime&&n.a.createElement(ye.a,{value:t?this.state.schedule.time.start:"00:00",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.start=t.target.value,e.onChange(s)}},n.a.createElement(Q.a,{key:"specific",value:"00:00"},E.a.t("sch_specificTime")),cs.map((function(e){return n.a.createElement(Q.a,{key:e,value:e},E.a.t("sch_astro_"+e))}))),this.state.schedule.time.exactTime&&!t&&n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement(me.a,{className:this.props.classes.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.start=t.target.value,e.onChange(s)},InputLabelProps:{shrink:!0},margin:"normal"})))}},{key:"getDivider",value:function(){return n.a.createElement("hr",{className:this.props.classes.hr})}},{key:"getPeriodModes",value:function(){var e=this,t=this.state.schedule,s=!t.period.dows&&!t.period.months&&!t.period.dates&&!t.period.years&&!t.period.days&&!t.period.weeks;return s&&!t.period.once&&(t.period.once=this.now2string(!0)),[n.a.createElement("div",{key:"once",className:this.props.classes.rowDiv+" "+this.props.classes.rowOnce},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:s,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.once=t.period.once||e.now2string(!0),t.period.dows="",t.period.months="",t.period.dates="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.days=0,e.onChange(t)}}),label:E.a.t("sch_periodOnce")})),s&&n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement(me.a,{className:this.props.classes.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:ps(t.period.once),onChange:function(t){e.timerOnce&&clearTimeout(e.timerOnce),e.refOnce.current.style.background="#ff000030",e.timerOnce=setTimeout((function(t){e.timerOnce=null,e.refOnce.current.style.background="";var s=JSON.parse(JSON.stringify(e.state.schedule)),a=e.string2date(t);"Invalid Date"!==a.toString()&&(s.period.once=ls(a.getDate())+"."+ls(a.getMonth()+1)+"."+a.getFullYear(),e.onChange(s))}),1500,t.target.value)},InputLabelProps:{shrink:!0},label:E.a.t("sch_at"),margin:"normal"}))),n.a.createElement("div",{key:"days",className:this.props.classes.rowDiv+" "+this.props.classes.rowDays},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:!!t.period.days,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.days=1,t.period.dows="",t.period.months="",t.period.dates="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.once="",e.onChange(t)}}),label:E.a.t("sch_periodDaily")})),n.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsDaily(),t.period.days?this.getPeriodSettingsWeekdays():null)),n.a.createElement("div",{key:"weeks",className:this.props.classes.rowDiv+" "+this.props.classes.rowDows},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:!!t.period.weeks,onClick:function(){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.weeks=t.period.weeks?0:1,s.period.dows=t.period.dows||"[0]",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.days=0,s.period.once="",e.onChange(s)}}),label:E.a.t("sch_periodWeekly")})),n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsWeekly()),n.a.createElement("div",{className:this.props.classes.settingsDiv+" "+this.props.classes.rowDowsDows},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),n.a.createElement("div",{key:"months",className:this.props.classes.rowDiv+" "+this.props.classes.rowMonths},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:!!t.period.months,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months=1,t.period.dows="",t.period.dates="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.days=0,t.period.once="",e.onChange(t)}}),label:E.a.t("sch_periodMonthly")})),n.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsMonthly(),t.period.months?n.a.createElement("div",null,n.a.createElement("div",{className:this.props.classes.settingsDiv+" "+this.props.classes.rowMonthsDates},n.a.createElement(Rt.a,{control:n.a.createElement(ut.a,{className:this.props.classes.inputRadio,checked:!!t.period.dates,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months=t.period.months||1;for(var s=[],a=1;a<=31;a++)s.push(a);t.period.dates=t.period.dates||JSON.stringify(s),t.period.dows="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.days=0,t.period.once="",e.onChange(t)}}),label:E.a.t("sch_periodDates")})),n.a.createElement("div",{className:this.props.classes.settingsDiv+" "+this.props.classes.rowMonthsDates},this.getPeriodSettingsDates())):null)),n.a.createElement("div",{key:"years",className:this.props.classes.rowDiv+" "+this.props.classes.rowYears},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:!!t.period.years,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.years=1,t.period.yearDate=1,t.period.yearMonth=1,t.period.dows="",t.period.months=0,t.period.dates="",t.period.weeks=0,t.period.days=0,t.period.once="",e.onChange(t)}}),label:E.a.t("sch_periodYearly")})),n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsYearly()),!!t.period.years&&n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement("span",null,E.a.t("sch_on")),n.a.createElement(q.a,{key:"input",value:this.state.schedule.period.yearDate,className:this.props.classes.inputEvery,type:"number",min:"1",max:"31",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.yearDate=parseInt(t.target.value,10),s.period.yearDate<1&&(s.period.yearDate=31),s.period.yearDate>31&&(s.period.yearDate=1),e.onChange(s)}}),n.a.createElement(ye.a,{value:t.period.yearMonth,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.yearMonth=t.target.value,e.onChange(s)}},n.a.createElement(Q.a,{key:"every",value:0},E.a.t("sch_yearEveryMonth")),rs.map((function(e,t){return n.a.createElement(Q.a,{key:e,value:t+1},E.a.t(e))}))))))]}},{key:"getPeriodSettingsMinutes",value:function(){var e=this;return n.a.createElement("div",{style:{display:"inline-block"}},n.a.createElement("label",null,E.a.t("sch_every")),n.a.createElement(q.a,{value:this.state.schedule.time.interval,style:{verticalAlign:"bottom"},className:this.props.classes.inputEvery,type:"number",min:"1",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.interval=parseInt(t.target.value,10),e.onChange(s)}}),n.a.createElement(ye.a,{value:this.state.schedule.time.mode,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.mode=t.target.value,e.onChange(s)}},n.a.createElement(Q.a,{value:os},E.a.t("sch_periodMinutes")),n.a.createElement(Q.a,{value:is},E.a.t("sch_periodHours"))))}},{key:"getPeriodSettingsWeekdays",value:function(){var e=this,t=this.state.schedule,s=t.period.dows&&"[1, 2, 3, 4, 5]"!==t.period.dows&&"[0, 6]"!==t.period.dows;return[n.a.createElement("div",{key:"workdays"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:"[1, 2, 3, 4, 5]"===t.period.dows,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.dows="[1, 2, 3, 4, 5]",t.period.days&&(t.period.days=1),e.onChange(t)}}),label:E.a.t("sch_periodWorkdays")})),n.a.createElement("div",{key:"weekend"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:"[0, 6]"===t.period.dows,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.dows="[0, 6]",t.period.days&&(t.period.days=1),e.onChange(t)}}),label:E.a.t("sch_periodWeekend")})),n.a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},n.a.createElement(Rt.a,{style:{verticalAlign:"top"},control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:s,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.dows="[0,1,2,3,4,5,6]",t.period.days&&(t.period.days=1),e.onChange(t)}}),label:E.a.t("sch_periodWeekdays")}),s&&(1===t.period.days||t.period.weeks)&&n.a.createElement(as.a,{row:!0,className:this.props.classes.inputGroup,style:{width:150}},[1,2,3,4,5,6,0].map((function(s){return n.a.createElement(Rt.a,{key:"specific_"+s,className:e.props.classes.inputGroupElement,control:n.a.createElement(ut.a,{className:e.props.classes.inputSmallCheck,checked:-1!==t.period.dows.indexOf(""+s),onChange:function(t){var a,n=JSON.parse(JSON.stringify(e.state.schedule));try{a=JSON.parse(n.period.dows)}catch(t){a=[]}t.target.checked&&-1===a.indexOf(s)?a.push(s):t.target.checked||-1===a.indexOf(s)||a.splice(a.indexOf(s),1),a.sort((function(e,t){return e-t})),n.period.dows=JSON.stringify(a),n.period.days&&(n.period.days=1),e.onChange(n)}}),label:E.a.t(ns[s])})}))))]}},{key:"getPeriodSettingsDaily",value:function(){var e=this;if(this.state.schedule.period.days){var t=this.state.schedule;return[n.a.createElement("div",{key:"every_day"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:1===t.period.days&&!t.period.dows,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.days=1,t.period.dows="",e.onChange(t)}}),label:E.a.t("sch_periodEveryDay")})),n.a.createElement("div",{key:"everyN_day"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:t.period.days>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.days=2,t.period.dows="",e.onChange(t)}}),label:E.a.t("sch_periodEvery")}),t.period.days>1&&[n.a.createElement(q.a,{key:"input",value:this.state.schedule.period.days,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.days=parseInt(t.target.value,10),s.period.dows="",e.onChange(s)}}),n.a.createElement("span",{key:"span",style:{paddingRight:10}},E.a.t("sch_periodDay"))])]}}},{key:"getPeriodSettingsWeekly",value:function(){var e=this;if(this.state.schedule.period.weeks){var t=this.state.schedule;return[n.a.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:1===t.period.weeks,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.weeks=1,e.onChange(t)}}),label:E.a.t("sch_periodEveryWeek")})),n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:t.period.weeks>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.weeks=2,e.onChange(t)}}),label:E.a.t("sch_periodEvery")}),t.period.weeks>1&&[n.a.createElement(q.a,{value:this.state.schedule.period.weeks,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.weeks=parseInt(t.target.value,10),e.onChange(s)}}),n.a.createElement("span",null,E.a.t("sch_periodWeek"))]))]}}},{key:"getPeriodSettingsDates",value:function(){var e=this;if(this.state.schedule.period.dates){for(var t=this.state.schedule,s=[],a=1;a<=31;a++)s.push(a);var r=JSON.parse(t.period.dates);return n.a.createElement(as.a,{row:!0,className:this.props.classes.inputGroup,style:{maxWidth:620}},n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:31===r.length,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],n=1;n<=31;n++)a.push(n);s.period.dates=JSON.stringify(a),e.onChange(s)}}),label:E.a.t("sch_all")}),n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:!r.length,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.dates="[]",e.onChange(s)}}),label:E.a.t("sch_no_one")}),31!==r.length&&!!r.length&&n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:!1,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],n=JSON.parse(s.period.dates),r=1;r<=31;r++)-1===n.indexOf(r)&&a.push(r);a.sort((function(e,t){return e-t})),s.period.dates=JSON.stringify(a),e.onChange(s)}}),label:E.a.t("sch_invert")}),n.a.createElement("div",null),s.map((function(s){return n.a.createElement(Rt.a,{key:"date_"+s,className:e.props.classes.inputDateDay,style:s?{}:{opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:n.a.createElement(ut.a,{className:e.props.classes.inputDateDayCheck,checked:-1!==JSON.parse(t.period.dates).indexOf(s),onChange:function(t){var a,n=JSON.parse(JSON.stringify(e.state.schedule));try{a=JSON.parse(n.period.dates)}catch(t){a=[]}t.target.checked&&-1===a.indexOf(s)?a.push(s):t.target.checked||-1===a.indexOf(s)||a.splice(a.indexOf(s),1),a.sort((function(e,t){return e-t})),n.period.dates=JSON.stringify(a),e.onChange(n)}}),label:s<10?[n.a.createElement("span",{key:"0",style:{opacity:0}},"0"),n.a.createElement("span",{key:"num"},s)]:s})})))}}},{key:"getPeriodSettingsMonthly",value:function(){var e=this;if(this.state.schedule.period.months){var t=this.state.schedule,s="string"===typeof t.period.months?JSON.parse(t.period.months):[];return[n.a.createElement("div",{key:"every"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:"number"===typeof t.period.months&&1===t.period.months,onClick:function(){JSON.parse(JSON.stringify(e.state.schedule)).period.months=1,e.onChange(t)}}),label:E.a.t("sch_periodEveryMonth")})),n.a.createElement("div",{key:"everyN"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:"number"===typeof t.period.months&&t.period.months>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months=2,e.onChange(t)}}),label:E.a.t("sch_periodEvery")}),"number"===typeof t.period.months&&t.period.months>1&&[n.a.createElement(q.a,{value:t.period.months,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.months=parseInt(t.target.value,10),s.period.months<1&&(s.period.months=1),e.onChange(s)}}),n.a.createElement("span",null,E.a.t("sch_periodMonth"))]),n.a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},n.a.createElement(Rt.a,{style:{verticalAlign:"top"},control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:"string"===typeof t.period.months,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",e.onChange(t)}}),label:E.a.t("sch_periodSpecificMonths")}),"string"===typeof t.period.months&&n.a.createElement(as.a,{row:!0,className:this.props.classes.inputGroup},n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:12===s.length,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],n=1;n<=12;n++)a.push(n);s.period.months=JSON.stringify(a),e.onChange(s)}}),label:E.a.t("sch_all")}),n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:!s.length,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.months="[]",e.onChange(s)}}),label:E.a.t("sch_no_one")}),12!==s.length&&!!s.length&&n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:!1,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],n=JSON.parse(s.period.months),r=1;r<=12;r++)-1===n.indexOf(r)&&a.push(r);a.sort((function(e,t){return e-t})),s.period.months=JSON.stringify(a),e.onChange(s)}}),label:E.a.t("sch_invert")}),n.a.createElement("div",null),rs.map((function(s,a){return n.a.createElement(Rt.a,{className:e.props.classes.inputGroupElement,control:n.a.createElement(ut.a,{className:e.props.classes.inputSmallCheck,checked:-1!==JSON.parse(t.period.months).indexOf(a+1),onChange:function(t){var s,n=JSON.parse(JSON.stringify(e.state.schedule));try{s=JSON.parse(n.period.months)}catch(t){s=[]}t.target.checked&&-1===s.indexOf(a+1)?s.push(a+1):t.target.checked||-1===s.indexOf(a+1)||s.splice(s.indexOf(a+1),1),s.sort((function(e,t){return e-t})),n.period.months=JSON.stringify(s),e.onChange(n)}}),label:E.a.t(s)})}))))]}}},{key:"getPeriodSettingsYearly",value:function(){var e=this;if(this.state.schedule.period.years){var t=this.state.schedule;return[n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:1===t.period.years,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.years=1,e.onChange(t)}}),label:E.a.t("sch_periodEveryYear")})),n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:t.period.years>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.years=2,e.onChange(t)}}),label:E.a.t("sch_periodEvery")}),t.period.years>1&&[n.a.createElement(q.a,{value:this.state.schedule.period.years,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.years=parseInt(t.target.value,10),s.period.years<1&&(s.period.years=1),e.onChange(s)}}),n.a.createElement("span",null,E.a.t("sch_periodYear"))])]}}},{key:"now2string",value:function(e){var t=new Date;return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),e&&(t.setDate(t.getDate()+2),t.setMilliseconds(t.getMilliseconds()-1)),ls(t.getDate())+"."+ls(t.getMonth()+1)+"."+ls(t.getFullYear())}},{key:"string2date",value:function(e){var t=e.split(".");return 1===t.length?(t=e.split("-"),new Date(parseInt(t[0],10),parseInt(t[1],10)-1,parseInt(t[2],10))):new Date(parseInt(t[2],10),parseInt(t[1],10)-1,parseInt(t[0],10))}},{key:"getValidSettings",value:function(){var e=this,t=this.state.schedule;return n.a.createElement("div",{className:this.props.classes.rowDiv},n.a.createElement("div",{className:this.props.classes.modeDiv,style:{verticalAlign:"middle"}},n.a.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},E.a.t("sch_valid")),n.a.createElement("span",null,E.a.t("sch_validFrom"))),n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement(me.a,{className:this.props.classes.inputDate,style:{marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:ps(t.valid.from),type:"date",onChange:function(t){e.timerFrom&&clearTimeout(e.timerFrom),e.refFrom.current.style.background="#ff000030",e.timerFrom=setTimeout((function(t){e.timerFrom=null,e.refFrom.current.style.background="";var s=JSON.parse(JSON.stringify(e.state.schedule)),a=e.string2date(t);"Invalid Date"!==a.toString()&&(s.valid.from=ls(a.getDate())+"."+ls(a.getMonth()+1)+"."+a.getFullYear(),e.onChange(s))}),1500,t.target.value)},InputLabelProps:{shrink:!0},margin:"normal"}),n.a.createElement(Rt.a,{control:n.a.createElement(ut.a,{className:this.props.classes.inputRadio,checked:!!t.valid.to,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.valid.to=t.valid.to?"":e.now2string(!0),e.onChange(t)}}),label:E.a.t("sch_validTo")}),!!t.valid.to&&n.a.createElement(me.a,{inputRef:this.refTo,className:this.props.classes.inputDate,style:{marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:ps(t.valid.to),onChange:function(t){e.timerTo&&clearTimeout(e.timerTo),e.refTo.current.style.background="#ff000030",e.timerTo=setTimeout((function(t){e.timerTo=null,e.refTo.current.style.background="";var s=JSON.parse(JSON.stringify(e.state.schedule)),a=e.string2date(t);"Invalid Date"!==a.toString()&&(s.valid.to=ls(a.getDate())+"."+ls(a.getMonth()+1)+"."+a.getFullYear(),e.onChange(s))}),1500,t.target.value)},InputLabelProps:{shrink:!0},margin:"normal"})))}},{key:"render",value:function(){return n.a.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},n.a.createElement("div",null,this.state.desc),n.a.createElement("div",{className:this.props.classes.scrollWindow},n.a.createElement("h5",null,E.a.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),this.getDivider(),n.a.createElement("h5",null,E.a.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&this.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}]),s}(n.a.Component),us=Object(g.a)((function(e){return{hr:{border:0,borderTop:"1px solid gray"},scrollWindow:{width:"100%",overflow:"auto",height:"calc(100% - 22px)"},rowDiv:{width:"100%"},modeDiv:{width:200,display:"inline-block",verticalAlign:"top"},settingsDiv:{display:"inline-block",verticalAlign:"top"},inputTime:{width:90,marginTop:0,marginLeft:5},inputDate:{width:140,marginTop:0,marginLeft:5},inputEvery:{width:40,marginLeft:5,marginRight:5},inputRadio:{padding:"4px 12px",verticalAlign:"top"},inputGroup:{maxWidth:400,display:"inline-block"},inputGroupElement:{width:120},inputDateDay:{width:60},inputDateDayCheck:{padding:4},inputSmallCheck:{padding:0},rowOnce:{},rowDays:{background:"dark"!==e.palette.type?"#ddeaff":"#4b5057"},rowDows:{background:"dark"!==e.palette.type?"#DDFFDD":"#52646c"},rowDates:{background:"dark"!==e.palette.type?"#DDDDFF":"#747a86"},rowWeeks:{background:"dark"!==e.palette.type?"#DDDDFF":"#717680"},rowMonths:{background:"dark"!==e.palette.type?"#DDFFFF":"#1f5557"},rowMonthsDates:{background:"dark"!==e.palette.type?"#EEFFFF":"#3c5737",maxWidth:600},rowYears:{background:"dark"!==e.palette.type?"#fbffdd":"#574b33"},rowDaysDows:{background:"dark"!==e.palette.type?"#EEEAFF":"#573544",paddingLeft:10,paddingBottom:10},rowDowsDows:{background:"dark"!==e.palette.type?"#EEFFEE":"#3d4c54",paddingLeft:10,paddingBottom:10}}}))(hs),ms=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a,n;return Object(p.a)(this,s),(a=t.call(this,e)).props.cron&&"string"===typeof a.props.cron&&"{"!==a.props.cron.replace(/^["']/,"")[0]?n=a.props.cron.replace(/['"]/g,"").trim():"string"===typeof(n=a.props.cron||"{}")&&(n=n.replace(/^["']/,"").replace(/["']\n?$/,"")),a.state={cron:n,mode:a.props.simple?"simple":"object"===typeof n||"{"===n[0]?"wizard":ss.cron2state(a.props.cron||"* * * * *")?"simple":"complex"},a}return Object(h.a)(s,[{key:"handleCancel",value:function(){this.props.onClose()}},{key:"handleOk",value:function(){this.props.onOk(this.state.cron),this.props.onClose()}},{key:"setMode",value:function(e){this.setState({mode:e})}},{key:"render",value:function(){var e=this;return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,classes:{paper:this.props.classes.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},n.a.createElement(de.a,{id:"cron-dialog-title"},this.props.title||E.a.t("Define schedule...")),n.a.createElement(pe.a,{style:{height:"100%",overflow:"hidden"}},!this.props.simple&&n.a.createElement("div",null,n.a.createElement(zt.a,{key:"wizard",checked:"wizard"===this.state.mode,onChange:function(t){return e.setMode("wizard")}}),n.a.createElement("label",{onClick:function(t){return e.setMode("wizard")},style:"wizard"!==this.state.mode?{color:"lightgrey"}:{}},E.a.t("sc_wizard")),n.a.createElement(zt.a,{key:"simple",checked:"simple"===this.state.mode,onChange:function(t){return e.setMode("simple")}}),n.a.createElement("label",{onClick:function(t){return e.setMode("simple")},style:"simple"!==this.state.mode?{color:"lightgrey"}:{}},E.a.t("sc_simple")),n.a.createElement(zt.a,{key:"complex",checked:"complex"===this.state.mode,onChange:function(t){return e.setMode("complex")}}),n.a.createElement("label",{onClick:function(t){return e.setMode("complex")},style:"complex"!==this.state.mode?{color:"lightgrey"}:{}},E.a.t("sc_cron"))),"simple"===this.state.mode&&n.a.createElement(ss,{cronExpression:this.state.cron,onChange:function(t){return e.setState({cron:t})},language:E.a.getLanguage()}),"wizard"===this.state.mode&&n.a.createElement(us,{schedule:this.state.cron,onChange:function(t){return e.setState({cron:t})},language:E.a.getLanguage()}),"complex"===this.state.mode&&n.a.createElement(Vt,{cronExpression:this.state.cron,onChange:function(t){return e.setState({cron:t})},language:E.a.getLanguage()})),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:function(){return e.handleOk()},color:"primary"},n.a.createElement(be.a,{className:this.props.classes.buttonIcon}),this.props.ok||E.a.t("Ok")),n.a.createElement(le.a,{onClick:function(){return e.handleCancel()}},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),this.props.cancel||E.a.t("Cancel"))))}}]),s}(n.a.Component),gs=Object(nt.withStyles)((function(e){return{headerID:{fontWeight:"bold",fontStyle:"italic"},radio:{display:"inline-block"},dialogPaper:{height:"calc(100% - 96px)"},buttonIcon:{marginRight:e.spacing(1)}}}))(ms),ys=s(153),fs=s.n(ys),vs=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).state={source:a.props.source},!a.state.source&&a.props.isReturn&&(a.state.source="\nreturn false"),a}return Object(h.a)(s,[{key:"componentDidMount",value:function(){setTimeout((function(){try{window.document.getElementById("source-text-area").focus()}catch(e){}}),100)}},{key:"handleCancel",value:function(){this.props.onClose(!1)}},{key:"handleOk",value:function(){this.props.isReturn&&-1===this.state.source.indexOf("return ")||this.props.onClose(this.state.source)}},{key:"onChange",value:function(e){this.setState({source:e})}},{key:"render",value:function(){var e=this,t=this.props.classes;return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"lg",classes:{paper:t.dialog},fullWidth:!0,open:!0,"aria-labelledby":"source-dialog-title"},n.a.createElement(de.a,{id:"source-dialog-title"},E.a.t("Function editor")),n.a.createElement(pe.a,{className:t.fullHeight},this.props.args&&n.a.createElement("div",{key:"arguments",className:t.args},n.a.createElement("span",{className:t.argsTitle},E.a.t("function (")),this.props.args,n.a.createElement("span",{className:t.argsTitle},")")),n.a.createElement(_t,{adapterName:this.props.adapterName,runningInstances:this.props.runningInstances,className:t.textArea,style:{height:this.props.args?"calc(100% - 30px)":"100%"},key:"scriptEditor",name:"blockly",socket:this.props.socket,readOnly:!1,checkJs:!1,code:this.state.source,isDark:"dark"===this.props.themeType,onChange:function(t){return e.onChange(t)},language:"javascript"})),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:function(){return e.handleOk()},color:"primary"},n.a.createElement(fs.a,{className:this.props.classes.buttonIcon}),E.a.t("Save")),n.a.createElement(le.a,{onClick:function(){return e.handleCancel()}},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),E.a.t("Cancel"))))}}]),s}(n.a.Component),ks=Object(g.a)((function(e){return{textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:{color:"dark"===e.palette.type?"white":"black",height:30,width:"100%",fontSize:16},argsTitle:{color:"dark"===e.palette.type?"white":"black",fontWeight:"bold"},buttonIcon:{marginRight:e.spacing(1)}}}))(vs),_s={Blockly:oe.a,"Javascript/js":ne.a,def:ne.a,"TypeScript/ts":ce.a},bs=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;Object(p.a)(this,s),(a=t.call(this,e)).onInstanceChanged=function(e,t){if(e)if(!t&&window.main.instances.includes[e]){delete window.main.objects[e];var s=window.main.instances.indexOf(e);window.main.instances.splice(s,1)}else t&&"instance"===t.type&&(window.main.instances.includes(e)||(window.main.instances.push(e),window.main.instances.sort()),window.main.objects[e]=t)},a.onBrowserClose=function(e){var t=Object.keys(a.scripts).find((function(e){return JSON.stringify(a.scripts[e])!==JSON.stringify(a.props.objects[e].common)}));if(t){console.log("Script "+console.log("Script "+JSON.stringify(a.scripts[t])));var s=E.a.t("Configuration not saved.");return(e=e||window.event)&&(e.returnValue=s),s}};var r=window.localStorage.getItem("Editor.selected")||"",o=window.localStorage.getItem("Editor.editing")||"[]";try{o=JSON.parse(o)}catch(i){o=[]}return r&&-1===o.indexOf(r)&&o.push(r),a.tabsRef=n.a.createRef(),a.state={selected:r,editing:o,changed:{},blockly:null,debugEnabled:!1,verboseEnabled:!1,showBlocklyCode:!1,showSelectId:!1,showCron:!1,showScript:!1,insert:"",searchText:"",themeType:a.props.themeType,visible:e.visible,cmdToBlockly:"",menuOpened:!!a.props.menuOpened,menuTabsOpened:!1,menuTabsAnchorEl:null,runningInstances:a.props.runningInstances||{},showDebugMenu:!1,toast:"",instancesLoaded:!1},a.setChangedInAdmin(),a.selectId={initValue:null,callback:null},a.cron={initValue:null,callback:null},a.scriptDialog={initValue:null,callback:null,args:null,isReturn:!1},window.systemLang=E.a.getLanguage(),window.main={objects:{},getObject:function(e,t){return a.props.socket.getObject(e).then((function(e){return t&&t(null,e)})).catch((function(e){return t&&t(e)}))},instances:[],selectIdDialog:function(e,t){a.selectId.callback=t,a.selectId.initValue=e,a.setState({showSelectId:!0})},cronDialog:function(e,t){a.cron.callback=t,a.cron.initValue=e,a.setState({showCron:!0})},showScriptDialog:function(e,t,s,n){a.scriptDialog.callback=n,a.scriptDialog.initValue=e,a.scriptDialog.args=t,a.scriptDialog.isReturn=s||!1,a.setState({showScript:!0})}},a.objects=e.objects,a.scripts={},!a.state.selected&&a.state.editing.length&&(a.state.selected=a.state.editing[0]),a.getAllAdapterInstances().then((function(){a.props.onSelectedChange&&a.state.selected&&setTimeout((function(){return a.props.onSelectedChange(a.state.selected,a.state.editing)}),100)})),a}return Object(h.a)(s,[{key:"getAllAdapterInstances",value:function(){var e=this;return this.props.socket.getAdapterInstances(!0).then((function(t){var s={},a=t.map((function(e){return s[e._id]=e,e._id}));window.main.objects=s,window.main.instances=a,e.setState({instancesLoaded:!0})}))}},{key:"setChangedInAdmin",value:function(){var e=this,t=Object.keys(this.state.changed).find((function(t){return e.state.changed[t]}));"undefined"!==typeof window.parent&&window.parent&&(window.parent.configNotSaved=t)}},{key:"componentDidMount",value:function(){window.addEventListener("beforeunload",this.onBrowserClose,!1),this.props.socket.subscribeObject("system.adapter.*",this.onInstanceChanged)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("beforeunload",this.onBrowserClose),this.props.socket.unsubscribeObject("system.adapter.*",this.onInstanceChanged)}},{key:"removeNonExistingScripts",value:function(e,t){e=e||this.props,t=t||{};var s=!1;if(this.state.editing&&this.state.editing.find((function(t){return!e.objects[t]}))){for(var a=JSON.parse(JSON.stringify(this.state.editing)),n=a.length-1;n>=0;n--)this.objects[a[n]]||(s=!0,a.splice(n,1));s&&(t.editing=a),this.state.selected&&!this.objects[this.state.selected]&&(s=!0,t.selected=a[0]||"",this.scripts[t.selected]&&(this.state.blockly!==("Blockly"===this.scripts[t.selected].engineType)&&(t.blockly="Blockly"===this.scripts[t.selected].engineType,s=!0),this.state.verboseEnabled!==this.scripts[t.selected].verbose&&(t.verboseEnabled=this.scripts[t.selected].verbose,s=!0),this.state.debugEnabled!==this.scripts[t.selected].debug&&(t.debugEnabled=this.scripts[t.selected].debug,s=!0)))}return s}},{key:"UNSAFE_componentWillReceiveProps",value:function(e){var t=this,s={},a=!1;if(JSON.stringify(e.runningInstances)!==JSON.stringify(this.state.runningInstances)&&(a=!0,s.runningInstances=e.runningInstances),this.state.menuOpened!==e.menuOpened&&(s.menuOpened=e.menuOpened,a=!0),this.state.themeType!==e.themeType&&(s.themeType=e.themeType,a=!0),this.removeNonExistingScripts(e,s)&&(a=!0),this.state.searchText!==e.searchText&&(s.searchText=e.searchText,a=!0),this.objects!==e.objects){this.objects=e.objects,window.main.objects=e.objects,Object.keys(this.scripts).forEach((function(e){var s=t.scripts[e].source;t.scripts[e]=JSON.parse(JSON.stringify(t.objects[e].common)),t.scripts[e].source=s})),this.state.selected&&this.objects[this.state.selected]&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.objects[this.state.selected].common)),this.state.blockly!==("Blockly"===this.scripts[this.state.selected].engineType)&&(s.blockly="Blockly"===this.scripts[this.state.selected].engineType,a=!0),this.state.verboseEnabled!==this.scripts[this.state.selected].verbose&&(s.verboseEnabled=this.scripts[this.state.selected].verbose,a=!0),this.state.debugEnabled!==this.scripts[this.state.selected].debug&&(s.debugEnabled=this.scripts[this.state.selected].debug,a=!0));for(var n=JSON.parse(JSON.stringify(this.state.editing)),r=n.length-1;r>=0;r--)this.objects[n[r]]||(a=!0,n.splice(r,1),void 0!==this.state.changed[n[r]]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),delete s.changed[n[r]]));this.state.selected&&!this.objects[this.state.selected]&&(s.selected=n[0]||""),a&&(s.editing=n)}else for(var o in this.scripts)if(this.scripts.hasOwnProperty(o))if(this.objects[o]&&this.objects[o].common){var i=this.scripts[o].source,c=JSON.parse(JSON.stringify(this.scripts[o]));c.source=this.objects[o].common.source,JSON.stringify(c)!==JSON.stringify(this.objects[o].common)&&(this.scripts[o]=JSON.parse(JSON.stringify(this.objects[o].common)),this.scripts[o].source=i),i!==this.objects[o].common.source?this.state.changed[o]?this.objects[o].from&&this.objects[o].from.startsWith("system.adapter.javascript.")&&(this.objects[o].from="system.adapter.admin.0",this.setState({toast:E.a.t("Script %s was modified on disk.",o.split(".").pop())})):this.scripts[o].source=this.objects[o].common.source:this.state.changed[o]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed[o]=!1,a=!0)}else if(delete this.scripts[o],this.state.selected===o){if(-1!==this.state.editing.indexOf(o)){var l=JSON.parse(JSON.stringify(this.state.editing)),d=l.indexOf(o);-1!==d&&(l.splice(d,1),s.editing=l,a=!0)}s.selected=this.state.editing[0]||"",a=!0}if(this.state.selected!==e.selected&&e.selected){e.selected&&(this.scripts[e.selected]=this.scripts[e.selected]||JSON.parse(JSON.stringify(this.props.objects[e.selected].common)));var p=this.props.objects[e.selected]&&this.props.objects[e.selected].common,h=p&&JSON.stringify(this.scripts[e.selected])!==JSON.stringify(p),u=JSON.parse(JSON.stringify(this.state.editing));e.selected&&-1===u.indexOf(e.selected)&&(u.push(e.selected),this.props.onSelectedChange(e.selected,u),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(u))),a=!0,s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed[e.selected]=h,s.editing=u,s.selected=e.selected,s.blockly="Blockly"===this.scripts[e.selected].engineType,s.verboseEnabled=this.scripts[e.selected].verbose,s.debugEnabled=this.scripts[e.selected].debug,s.showBlocklyCode=!1}this.state.visible!==e.visible&&(a=!0,s.visible=e.visible),a&&this.setState(s,(function(){return t.setChangedInAdmin()}))}},{key:"onRestart",value:function(){this.props.onRestart&&this.props.onRestart(this.state.selected)}},{key:"onSave",value:function(){var e=this;if(this.state.changed[this.state.selected]){var t=JSON.parse(JSON.stringify(this.state.changed));t[this.state.selected]=!1,this.setState({changed:t},(function(){e.setChangedInAdmin(),e.props.onChange&&e.props.onChange(e.state.selected,e.scripts[e.state.selected])}))}}},{key:"onSaveAll",value:function(){var e=this,t=JSON.parse(JSON.stringify(this.state.changed));Object.keys(t).forEach((function(s){t[s]&&(t[s]=!1,e.props.onChange&&e.props.onChange(s,e.scripts[s]))})),this.setState({changed:t},(function(){return e.setChangedInAdmin()}))}},{key:"onCancel",value:function(){var e=this;this.scripts[this.state.selected]=JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));var t=JSON.parse(JSON.stringify(this.state.changed));t[this.state.selected]=!1,this.setState({changed:t},(function(){return e.setChangedInAdmin()}))}},{key:"onRegisterSelect",value:function(e){this.getSelect=e}},{key:"onConvert2JS",value:function(){var e=this;this.showConfirmDialog(E.a.t("It will not be possible to revert this operation."),(function(t){if(t){e.scripts[e.state.selected].engineType="Javascript/js";var s=e.scripts[e.state.selected].source.split("\n");s.pop(),e.scripts[e.state.selected].source=s.join("\n");var a=e.state.selected,n=JSON.parse(JSON.stringify(e.state.changed));n[e.state.selected]=!0,e.setState({changed:n,blockly:!1,selected:""},(function(){e.setChangedInAdmin(),setTimeout((function(){return e.setState({selected:a})}),100)}))}}))}},{key:"onChange",value:function(e){var t=this;void 0!==(e=e||{}).script&&(this.scripts[this.state.selected].source=e.script),void 0!==e.debug&&(this.scripts[this.state.selected].debug=e.debug),void 0!==e.verbose&&(this.scripts[this.state.selected].verbose=e.verbose);var s=JSON.stringify(this.scripts[this.state.selected])!==JSON.stringify(this.props.objects[this.state.selected].common);if(s!==(this.state.changed[this.state.selected]||!1)){var a=JSON.parse(JSON.stringify(this.state.changed));a[this.state.selected]=s,this.objects[this.state.selected].from="system.adapter.admin.0",this.setState({changed:a},(function(){return t.setChangedInAdmin()}))}}},{key:"onTabChange",value:function(e,t){window.localStorage&&window.localStorage.setItem("Editor.selected",t);var s=this.scripts[t]||this.props.objects[t]&&this.props.objects[t].common;this.setState({selected:t,blockly:"Blockly"===s.engineType,showBlocklyCode:!1,verboseEnabled:s.verbose,debugEnabled:s.debug}),this.props.onSelectedChange&&this.props.onSelectedChange(t,this.state.editing)}},{key:"isScriptChanged",value:function(e){return this.scripts[e]&&this.props.objects[e]&&JSON.stringify(this.scripts[e])!==JSON.stringify(this.props.objects[e].common)}},{key:"onTabClose",value:function(e,t){var s=this;t&&t.stopPropagation();var a=this.state.editing.indexOf(e);if(-1!==this.state.editing.indexOf(e))if(this.isScriptChanged(e))this.showConfirmDialog(E.a.t("Discard changes for %s",this.props.objects[e].common.name),(function(t){t&&(delete s.scripts[e],s.onTabClose(e))}));else{var n=JSON.parse(JSON.stringify(this.state.editing));n.splice(a,1);var r={editing:n};if(e===this.state.selected?n.length?0===a||1===n.length?r.selected=n[0]:r.selected=n[a-1]:r.selected="":this.state.selected&&!n.length&&(r.selected=""),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(n)),void 0!==r.selected){r.changed=r.changed||JSON.parse(JSON.stringify(this.state.changed)),r.changed[r.selected]=this.isScriptChanged(r.selected);var o=r.selected&&(this.scripts[r.selected]||this.props.objects[r.selected]&&this.props.objects[r.selected].common);r.blockly=!!o&&"Blockly"===o.engineType,r.verboseEnabled=!!o&&o.verbose,r.debugEnabled=!!o&&o.debug,r.showBlocklyCode=!1}this.setState(r,(function(){s.setChangedInAdmin(),void 0!==r.selected?(s.props.onSelectedChange&&s.props.onSelectedChange(r.selected,s.state.editing),window.localStorage&&window.localStorage.setItem("Editor.selected",r.selected)):s.props.onSelectedChange&&s.props.onSelectedChange(s.state.selected,s.state.editing)}))}}},{key:"showConfirmDialog",value:function(e,t){this.confirmCallback=t,this.setState({confirm:e})}},{key:"sendCommandToBlockly",value:function(e){var t=this;this.setState({cmdToBlockly:e},(function(){return setTimeout((function(){return t.setState({cmdToBlockly:""})}),200)}))}},{key:"getTabs",value:function(){var e=this;return this.state.editing.length?[n.a.createElement(lt.a,{component:"div",key:"tabs1",value:this.state.selected,onChange:function(t,s){return e.onTabChange(t,s)},indicatorColor:"primary",style:{position:"relative",width:this.state.editing.length>1?"calc(100% - 50px)":"100%",display:"inline-block"},textColor:"primary",variant:"scrollable",scrollButtons:"auto"},this.state.editing.map((function(t){if(e.props.objects[t]){var s=e.props.objects[t].common.name,a="";s.length>18&&(a=s,s=s.substring(0,15)+"...");var r=e.props.objects[t].common&&e.scripts[t]&&e.props.objects[t].common.source!==e.scripts[t].source,o=[n.a.createElement("img",{key:"icon",alt:"",src:_s[e.props.objects[t].common.engineType]||_s.def,className:e.props.classes.tabIcon}),n.a.createElement("div",{key:"text",className:Object(M.a)(e.props.classes.tabText,e.isScriptChanged(t)&&e.props.classes.tabChanged)},s),r?n.a.createElement("span",{key:"changedSign",className:e.props.classes.tabChangedIcon},"\u25a3"):null,n.a.createElement("span",{key:"icon2",className:e.props.classes.closeButton},n.a.createElement(v.g,{key:"close",onClick:function(s){return e.onTabClose(t,s)},fontSize:"small"}))];return n.a.createElement(dt.a,{wrapped:!0,component:"div",href:"#"+t,key:t,label:o,className:e.props.classes.tabButton,value:t,title:a,classes:{wrapper:e.props.classes.tabButtonWrapper}})}var i=[n.a.createElement("div",{key:"text",className:e.props.classes.tabText+" "+(e.isScriptChanged(t)?e.props.classes.tabChanged:"")},t.split(".").pop()),n.a.createElement("span",{key:"icon",className:e.props.classes.closeButton},n.a.createElement(v.g,{key:"close",onClick:function(s){return e.onTabClose(t,s)},fontSize:"small"}))];return n.a.createElement(dt.a,{wrapped:!0,component:"div",href:"#"+t,key:t,label:i,value:t,classes:{wrapper:e.props.classes.tabButtonWrapper}})}))),this.state.editing.length>1?n.a.createElement(L.a,{key:"menuButton",href:"#","aria-label":"Close all but current",className:this.props.classes.tabMenuButton,title:E.a.t("Close all but current"),"aria-haspopup":"false",onClick:function(t){var s=[e.state.selected];Object.keys(e.scripts).forEach((function(t){return t!==e.state.selected&&JSON.stringify(e.scripts[t])!==JSON.stringify(e.props.objects[t].common)&&s.push(t)})),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(s)),e.setState({menuTabsOpened:!1,menuTabsAnchorEl:null,editing:s})}},n.a.createElement(v.f,null)):null]:n.a.createElement("div",{key:"tabs2",className:this.props.classes.toolbar},n.a.createElement(le.a,{key:"select1",disabled:!0,className:this.props.classes.hintButton,href:""},n.a.createElement("span",{key:"select2"},E.a.t("Click on this icon")),n.a.createElement(v.q,{key:"select3",className:this.props.classes.hintIcon}),n.a.createElement("span",{key:"select4"},E.a.t("for edit or create script"))))}},{key:"getDebugMenu",value:function(){var e=this;return this.state.showDebugMenu?n.a.createElement(Z.a,{key:"menuDebug",id:"menu-debug",anchorEl:this.state.menuDebugAnchorEl,open:this.state.showDebugMenu,onClose:function(){return e.setState({showDebugMenu:!1,menuDebugAnchorEl:null})},PaperProps:{style:{maxHeight:360}}},n.a.createElement(Q.a,{key:"debugEnabled",title:E.a.t("debug_help"),onClick:function(t){t.stopPropagation(),t.preventDefault(),e.setState({showDebugMenu:!1,menuDebugAnchorEl:null,debugEnabled:!e.state.debugEnabled},(function(){return e.onChange({debug:e.state.debugEnabled})}))}},n.a.createElement(ut.a,{checked:this.state.debugEnabled}),n.a.createElement(v.c,{className:this.props.classes.menuIcon,style:{color:"#02a102"}}),E.a.t("debug")),n.a.createElement(Q.a,{key:"verboseEnabled",title:E.a.t("verbose_help"),onClick:function(t){t.stopPropagation(),t.preventDefault(),e.setState({showDebugMenu:!1,menuDebugAnchorEl:null,verboseEnabled:!e.state.verboseEnabled},(function(){return e.onChange({verbose:e.state.verboseEnabled})}))}},n.a.createElement(ut.a,{checked:this.state.verboseEnabled}),n.a.createElement(v.x,{className:this.props.classes.menuIcon,style:{color:"#70aae9"}}),E.a.t("verbose"))):null}},{key:"getDebugBadge",value:function(){return[this.state.debugEnabled&&this.state.verboseEnabled&&n.a.createElement(v.c,{key:"DebugVerbose",className:this.props.classes.menuIcon,style:{color:"#70aae9"}}),this.state.debugEnabled&&!this.state.verboseEnabled&&n.a.createElement(v.c,{key:"DebugNoVerbose",className:this.props.classes.menuIcon,style:{color:"#02a102"}}),!this.state.debugEnabled&&this.state.verboseEnabled&&n.a.createElement(v.x,{key:"noDebugVerbose",className:this.props.classes.menuIcon,style:{color:"#70aae9"}})]}},{key:"getToolbar",value:function(){var e=this,t=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine],s=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].enabled;if(this.state.selected){var a=Object.keys(this.state.changed).filter((function(t){return e.state.changed[t]})).length,r=this.state.changed[this.state.selected];return n.a.createElement(ct.a,{variant:"dense",className:this.props.classes.toolbar,key:"toolbar1"},this.state.menuOpened&&this.props.onLocate&&n.a.createElement(L.a,{className:this.props.classes.toolbarButtons,key:"locate",title:E.a.t("Locate file"),onClick:function(){return e.props.onLocate(e.state.selected)}},n.a.createElement(v.p,null)),!r&&t&&n.a.createElement(L.a,{key:"restart",variant:"contained",className:this.props.classes.toolbarButtons,onClick:function(){return e.onRestart()},title:E.a.t("Restart")},n.a.createElement(v.z,null)),!r&&!s&&n.a.createElement("span",{className:this.props.classes.notRunning},E.a.t("Script is not running")),!r&&s&&!t&&n.a.createElement("span",{className:this.props.classes.notRunning},E.a.t("Instance is disabled")),r&&n.a.createElement(le.a,{key:"save",variant:"contained",className:Object(M.a)(this.props.classes.textButton,this.props.classes.saveButton),onClick:function(){return e.onSave()}},E.a.t("Save"),n.a.createElement(v.A,{className:this.props.classes.textIcon})),(a>1||1===a&&!r)&&n.a.createElement(le.a,{key:"saveall",variant:"contained",className:this.props.classes.textButton,onClick:function(){return e.onSaveAll()}},E.a.t("Save all"),n.a.createElement(v.A,{className:this.props.classes.textIcon})),r&&n.a.createElement(le.a,{key:"cancel",variant:"contained",className:this.props.classes.textButton,onClick:function(){return e.onCancel()}},E.a.t("Cancel"),n.a.createElement(v.e,{className:this.props.classes.textIcon})),n.a.createElement("div",{style:{flex:2}}),this.state.blockly&&!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"export","aria-label":"Export Blocks",title:E.a.t("Export blocks"),className:this.props.classes.toolbarButtons,onClick:function(){return e.sendCommandToBlockly("export")}},n.a.createElement(se.c,null)),this.state.blockly&&!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"import","aria-label":"Import Blocks",title:E.a.t("Import blocks"),className:this.props.classes.toolbarButtons,onClick:function(){return e.sendCommandToBlockly("import")}},n.a.createElement(se.d,null)),this.state.blockly&&!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"check","aria-label":"Check code",title:E.a.t("Check blocks"),className:this.props.classes.toolbarButtons,onClick:function(){return e.sendCommandToBlockly("check")}},n.a.createElement(se.e,null)),!this.state.blockly&&!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"select-cron","aria-label":"create CRON",title:E.a.t("Create or edit CRON or time wizard"),className:this.props.classes.toolbarButtons,onClick:function(){return e.setState({showCron:!0})}},n.a.createElement(se.b,null)),!this.state.blockly&&!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"select-id","aria-label":"select ID",title:E.a.t("Insert object ID"),className:this.props.classes.toolbarButtons,onClick:function(){return e.setState({showSelectId:!0})}},n.a.createElement(se.a,null)),this.state.blockly&&this.state.showBlocklyCode&&n.a.createElement(le.a,{key:"convert2js","aria-label":"convert to javascript",title:E.a.t("Convert blockly to javascript for ever."),onClick:function(){return e.onConvert2JS()}},"Blockly=>JS"),this.state.blockly&&n.a.createElement(le.a,{key:"blockly-code","aria-label":"blockly",title:E.a.t("Show javascript code"),className:this.props.classes.toolbarButtons,color:this.state.showBlocklyCode?"secondary":"inherit",style:{padding:"0 5px"},onClick:function(){return e.setState({showBlocklyCode:!e.state.showBlocklyCode})}},n.a.createElement("img",{alt:"blockly2js",src:gt.a})),!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"debug","aria-label":"Debug menu",title:E.a.t("Debug options"),className:this.props.classes.toolbarButtons,onClick:function(t){return e.setState({showDebugMenu:!0,menuDebugAnchorEl:t.currentTarget})}},n.a.createElement(pt.a,{className:this.props.classes.badgeMargin,badgeContent:this.getDebugBadge()},n.a.createElement(v.d,null))))}return null}},{key:"getScriptEditor",value:function(){var e=this;return this.state.selected&&this.props.objects[this.state.selected]&&null!==this.state.blockly&&(!this.state.blockly||this.state.showBlocklyCode)?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),n.a.createElement("div",{className:this.props.classes.editorDiv,key:"scriptEditorDiv"},n.a.createElement(_t,{key:"scriptEditor1",name:this.state.selected,adapterName:this.props.adapterName,insert:this.state.insert,onInserted:function(){return e.setState({insert:""})},onForceSave:function(){return e.onSave()},searchText:this.state.searchText,onRegisterSelect:function(t){return e.onRegisterSelect(t)},readOnly:this.state.showBlocklyCode,changed:this.state.changed[this.state.selected],code:this.scripts[this.state.selected].source||"",isDark:"dark"===this.state.themeType,socket:this.props.socket,runningInstances:this.state.runningInstances,onChange:function(t){return e.onChange({script:t})},language:"TypeScript/ts"===this.scripts[this.state.selected].engineType?"typescript":"javascript"}))):null}},{key:"getBlocklyEditor",value:function(){var e=this;return this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly&&!this.state.showBlocklyCode&&this.state.visible?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),n.a.createElement("div",{className:this.props.classes.editorDiv,key:"blocklyEditorDiv"},n.a.createElement(jt,{command:this.state.cmdToBlockly,key:"BlocklyEditor",themeType:this.state.themeType,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",onChange:function(t){return e.onChange({script:t})}}))):null}},{key:"getConfirmDialog",value:function(){var e=this;return this.state.confirm?n.a.createElement(A.a,{key:"dialogConfirm1",text:this.state.confirm,onClose:function(t){if(e.confirmCallback){var s=e.confirmCallback;e.confirmCallback=null,s(t)}e.setState({confirm:""})}}):null}},{key:"getSelectIdDialog",value:function(){var e=this;if(this.state.showSelectId){var t=this.selectId.callback?this.selectId.initValue||"":this.getSelect?this.getSelect():"",s=t.indexOf("/*");-1!==s&&(t=t.substring(0,s)),-1!==(s=t.indexOf("//"))&&(t=t.substring(0,s));var a=t.match(/"([^"]+)"/);return a&&(t=a[1]),(a=t.match(/'([^']+)'/))&&(t=a[1]),n.a.createElement(Jt.a,{key:"dialogSelectID1",imagePrefix:"../..",themeName:this.props.themeName,themeType:this.state.themeType,socket:this.props.socket,selected:t,statesOnly:!0,onClose:function(){e.setState({showSelectId:!1}),e.selectId.callback&&(e.selectId.callback=null)},onOk:function(t,s){e.selectId.initValue=null,e.selectId.callback?(e.selectId.callback(t),e.selectId.callback=null):e.setState({insert:"'".concat(t,"'/*").concat(s,"*/")})}})}return null}},{key:"getCronDialog",value:function(){var e=this;return this.state.showCron?n.a.createElement(gs,{key:"dialogCron1",cron:this.cron.callback?this.cron.initValue||"":this.getSelect?this.getSelect():"* * * * *",onClose:function(){return e.setState({showCron:!1})},onOk:function(t){e.cron.initValue=null,e.cron.callback?(e.cron.callback(t),e.cron.callback=null):e.setState({insert:"'".concat(t,"'")})}}):null}},{key:"getEditorDialog",value:function(){var e=this;return this.state.showScript?n.a.createElement(ks,{key:"scriptEditorDialog",adapterName:this.props.adapterName,source:this.scriptDialog.initValue,args:this.scriptDialog.args?this.scriptDialog.args.join(", "):"",isReturn:this.scriptDialog.isReturn,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:function(t){e.scriptDialog.initValue=null,e.scriptDialog.callback&&(!1!==t&&e.scriptDialog.callback(t||""),e.scriptDialog.callback=null),e.setState({showScript:!1})}}):null}},{key:"getToast",value:function(){var e=this;return n.a.createElement(ht.a,{key:"toast",anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!!this.state.toast,autoHideDuration:6e3,onClose:function(){return e.setState({toast:""})},ContentProps:{"aria-describedby":"message-id"},message:n.a.createElement("span",{id:"message-id"},this.state.toast),action:[n.a.createElement(L.a,{key:"close","aria-label":"close",color:"inherit",className:this.props.classes.closeToast,onClick:function(){return e.setState({toast:""})}},n.a.createElement(v.g,null))]})}},{key:"render",value:function(){var e=this;return this.state.selected&&this.props.objects[this.state.selected]&&null===this.state.blockly&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),setTimeout((function(){var t={blockly:"Blockly"===e.scripts[e.state.selected].engineType,showBlocklyCode:!1,debugEnabled:e.scripts[e.state.selected].debug,verboseEnabled:e.scripts[e.state.selected].verbose};e.removeNonExistingScripts(null,t),e.setState(t)}),100)),[this.getTabs(),this.getToolbar(),this.getScriptEditor(),this.getBlocklyEditor(),this.getConfirmDialog(),this.getSelectIdDialog(),this.getCronDialog(),this.getEditorDialog(),this.getDebugMenu(),this.getToast()]}}]),s}(n.a.Component),Ss=Object(g.a)((function(e){return{toolbar:{minHeight:38,boxShadow:"0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)"},toolbarButtons:{padding:4,marginLeft:4},editorDiv:{height:"calc(100% - ".concat(e.toolbar.height+38+5,"px)"),width:"100%",overflow:"hidden",position:"relative"},textButton:{marginRight:10,minHeight:24,padding:"6px 16px"},saveButton:{background:"#ff9900"},textIcon:{marginLeft:e.spacing(1)},tabIcon:{width:24,height:24,verticalAlign:"middle",marginBottom:2,marginRight:2,borderRadius:3},hintIcon:{padding:"0 8px 0 8px"},hintText:{},hintButton:{marginTop:8,marginLeft:20},tabMenuButton:{position:"absolute",top:0,right:0},tabChanged:{color:e.palette.secondary.main},tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},tabChangedIcon:{color:"#FF0000",fontSize:16},closeButton:{position:"absolute",top:8,right:0,zIndex:10,padding:8,cursor:"pointer"},notRunning:{color:"#ffbc00",marginRight:e.spacing(1)},tabButton:{},tabButtonWrapper:{display:"inline-block"},menuIcon:{width:18,height:18,borderRadius:2,marginRight:5}}}))(bs),ws=s(220),Es=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).state={error:"",imageStatus:""},a}return Object(h.a)(s,[{key:"componentDidMount",value:function(){setTimeout((function(){try{window.document.getElementById("import-text-area").focus()}catch(e){}}),100)}},{key:"handleCancel",value:function(){this.props.onClose()}},{key:"onChange",value:function(e){this.setState({text:e.target.value})}},{key:"handleDropFile",value:function(e){var t=this;if(e&&e.hasOwnProperty("target")&&(e=e.target.files),e||e.length){var a=e[e.length-1];a&&s.readFileDataUrl(a,(function(e,s){e?t.setState({error:e}):t.props.onClose(s&&s.data)}))}}},{key:"render",value:function(){var e=this,t=this.props.classes,s=t.dropzone+" "+("accepted"===this.state.imageStatus?t.dropzoneAccepted:"rejected"===this.state.imageStatus?t.dropzoneRejected:"");return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"lg",classes:{paper:t.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title"},n.a.createElement(de.a,{id:"import-dialog-title"},E.a.t("Import scripts")),n.a.createElement(pe.a,{className:t.fullHeight},n.a.createElement(ws.a,{key:"image-drop",maxSize:5e7,acceptClassName:t.dropzoneAccepted,rejectClassName:t.dropzoneRejected,onDrop:function(t){return e.handleDropFile(t)},multiple:!1,accept:"application/zip,application/x-zip-compressed",className:s},(function(t){var s=t.getRootProps,a=t.getInputProps,r=t.isDragActive;return t.isDragReject?("rejected"!==e.state.imageStatus&&e.setState({imageStatus:"rejected"}),n.a.createElement("div",Object.assign({className:e.props.classes.dropzoneDiv},s()),n.a.createElement("input",a()),n.a.createElement("span",{key:"text",className:e.props.classes.text},E.a.t("Some files will be rejected")),n.a.createElement(v.e,{key:"icon",className:e.props.classes.icon+" "+e.props.classes.iconError}))):r?("accepted"!==e.state.imageStatus&&e.setState({imageStatus:"accepted"}),n.a.createElement("div",Object.assign({className:e.props.classes.dropzoneDiv},s()),n.a.createElement("input",a()),n.a.createElement("span",{key:"text",className:e.props.classes.text},E.a.t("All files will be accepted")),n.a.createElement(v.y,{key:"icon",className:e.props.classes.icon+" "+e.props.classes.iconOk}))):("wait"!==e.state.imageStatus&&e.setState({imageStatus:"wait"}),n.a.createElement("div",Object.assign({className:e.props.classes.dropzoneDiv},s()),n.a.createElement("input",a()),n.a.createElement("span",{key:"text",className:e.props.classes.text},E.a.t("Drop some files here or click...")),n.a.createElement(v.m,{key:"icon",className:e.props.classes.icon})))})),this.state.error?n.a.createElement(Ue,{text:this.state.error,onClose:function(){return e.setState({error:""})}}):null),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:function(){return e.handleCancel()}},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),E.a.t("Close"))))}}],[{key:"readFileDataUrl",value:function(e,t){var s=new FileReader;s.onload=function(){t(null,{data:s.result,name:e.name})},s.onabort=function(){console.error("file reading was aborted"),t(E.a.t("file reading was aborted"))},s.onerror=function(e){console.error("file reading has failed"),t(E.a.t("file reading has failed: %s",e))},s.readAsDataURL(e)}}]),s}(n.a.Component),Cs=Object(g.a)((function(e){return{dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"100%"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"30%",width:"30%",color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1},buttonIcon:{marginRight:e.spacing(1)}}}))(Es),Ns=function(e){Object(u.a)(a,e);var t=Object(m.a)(a);function a(e){var n;return Object(p.a)(this,a),(n=t.call(this,e,{translations:{en:s(310),de:s(311),es:s(312),fr:s(313),it:s(314),nl:s(315),pl:s(316),pt:s(317),ru:s(318),"zh-cn":s(319)},bottomButtons:!1,socket:{autoSubscribeLog:!0}})).onScriptsChanged=function(e,t){if(e){var s=!1,a={};e.startsWith("script.js.")&&(t?JSON.stringify(n.scripts[e])!==JSON.stringify(t)&&(n.scripts[e]=t,s=!0,a.scriptsHash=n.state.scriptsHash+1):n.scripts[e]&&(delete n.scripts[e],s=!0,a.scriptsHash=n.state.scriptsHash+1)),s&&n.setState(a)}},n.onInstanceChanged=function(e,t){if(e){var s=!1,a={};if(e.match(/^system\.adapter\.[-_\w\d]+\$/)){if(e.startsWith("system.adapter."+n.adapterName+"."))if(t&&"instance"===t.type)n.state.instances.includes(e)||(a.instances=Object(d.a)(n.state.instances),a.instances.push(e),a.instances.sort(),s=!0,n.socket.subscribeState(t._id+".alive",n.onInstanceAliveChange()));else if(!t&&n.state.instances.includes(e)){n.socket.unsubscribeState(e+".alive",n.onInstanceAliveChange()),a.instances=Object(d.a)(n.state.instances);var r=a.instances.indexOf(e);a.instances.splice(r,1),s=!0}t&&t[e].common&&t[e].common.blockly&&(n.confirmCallback=function(e){return e&&window.location.reload()},a.confirm=E.a.t("Some blocks were updated. Reload admin?"),s=!0)}s&&n.setState(a)}},n.onHostChanged=function(e,t){if(e){if(e.startsWith("system.host."))if(t&&"host"===t.type)n.hosts.includes(e)||(n.hosts.push(e),n.hosts.sort());else if(!t&&n.hosts.includes(e)){var s=n.hosts.indexOf(e);n.hosts.splice(s,1)}}},n.onInstanceAliveChange=function(e,t){if(e&&(e=e&&e.substring(0,e.length-6),n.state.runningInstances[e]!==(!!t&&t.val))){var s=JSON.parse(JSON.stringify(n.state.runningInstances));s[e]=!!t&&t.val,n.setState({runningInstances:s})}},n.logSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.logSize"))||150,n.menuSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.menuSize"))||500,n.hosts=[],n.importFile=null,n.scripts={},window.alert=function(e){console.error(e),n.showError(e.toString())},n}return Object(h.a)(a,[{key:"onConnectionReady",value:function(){var e=this;window.systemLang=this.socket.systemLang,this.setState({ready:!1,updateScripts:0,scriptsHash:0,instances:[],updating:!1,resizing:!1,selected:null,logMessage:{},editing:[],menuOpened:!window.localStorage||"false"!==window.localStorage.getItem("App.menuOpened"),menuSelectId:"",expertMode:!!window.localStorage&&"true"===window.localStorage.getItem("App.expertMode"),logHorzLayout:!!window.localStorage&&"true"===window.localStorage.getItem("App.logHorzLayout"),runningInstances:{},confirm:"",importFile:!1,message:"",searchText:""});var t={};this.subscribeOnInstances().then((function(s){return t.instances=s.instances,t.runningInstances=s.runningInstances,e.readAdaptersWithBlockly()})).then((function(){return e.socket.getHosts()})).then((function(t){return e.hosts=t.map((function(e){return e._id})),e.readAllScripts()})).then((function(s){window.localStorage&&"true"!==window.localStorage.getItem("App.expertMode")&&"false"!==window.localStorage.getItem("App.expertMode")&&Object.keys(s).find((function(e){return e.startsWith("script.js.global.")&&"script"===s.type}))&&(t.expertMode=!0),e.scripts=s;var a=e.state.scriptsHash;e.compareScripts(s)&&a++,t.scriptsHash=a,t.ready=!0,e.socket.subscribeObject("script.*",e.onScriptsChanged),e.socket.subscribeObject("system.adapter.*",e.onInstanceChanged),e.socket.subscribeObject("system.host.*",e.onHostChanged),e.setState(t)}))}},{key:"subscribeOnInstances",value:function(){var e=this;return this.socket.getAdapterInstances(this.adapterName).then((function(t){var s=t.map((function(e){return parseInt(e._id.split(".").pop())})).sort(),a={};s.forEach((function(t){return a["system.adapter."+e.adapterName+"."+t]=!1}));var n=[];return s.forEach((function(t){var s="system.adapter.".concat(e.adapterName,".").concat(t),r="".concat(s,".alive");n.push(e.socket.getState(r).then((function(t){a[s]=!!t&&t.val,e.socket.subscribeState(r,e.onInstanceAliveChange)})))})),Promise.all(n).then((function(){return{instances:s,runningInstances:a}}))}))}},{key:"readAllScripts",value:function(){var e=this;return this.socket.getObjectView("script.js.","script.js.\u9999","channel").then((function(t){return e.socket.getObjectView("script.js.","script.js.\u9999","script").then((function(e){return Object.keys(e).forEach((function(s){return t[s]=e[s]})),t}))}))}},{key:"readAdaptersWithBlockly",value:function(){return this.socket.getObjectView("system.adapter.","system.adapter.\u9999","adapter").then((function(e){return new Promise((function(t){return jt.loadCustomBlockly(e,(function(){return t()}))}))}))}},{key:"compareScripts",value:function(e){var t=Object.keys(this.scripts),s=Object.keys(e);if(t.length!==s.length)return this.scripts=this.newScripts,!0;if(JSON.stringify(t)!==JSON.stringify(s))return this.scripts=this.newScripts,!0;for(var a=0;a ").concat(t)),this.setState({updating:!0}),this.scripts[e]&&"script"===this.scripts[e].type){var o=JSON.parse(JSON.stringify(this.scripts[e].common));o.name=s||o.name,void 0!==a&&(o.engine="system.adapter.javascript."+a);var i=t.split(".");i.pop();var c=i.join(".");this.scripts[c]&&"script"===this.scripts[c].type&&(i.pop(),t=i.join(".")+"."+t.split(".").pop()),n=this.updateScript(e,t,o)}else n=this.renameGroup(e,t,s);n.then((function(){return r.setState({updating:!1})})).catch((function(e){return"canceled"!==e&&r.showError(e)}))}},{key:"renameGroup",value:function(e,t,s,a){var n=this;if(a){if(a.length){var r=a.pop();return this.socket.getObject(r).then((function(o){return n.socket.delObject(r).catch((function(){})).then((function(){return r=t+r.substring(e.length),o._id=r,n.socket.setObject(r,o)})).then((function(){return n.renameGroup(e,t,s,a)}))}))}return Promise.resolve()}return a=[],a=Object.keys(this.scripts).filter((function(t){return t.startsWith(e+".")})),this.socket.getObject(e).then((function(r){(r=r||{common:{}}).common.name=s||r.common.name||e.split(".").pop(),r._id=t,n.socket.delObject(e).catch((function(){})).then((function(){return n.socket.setObject(t,r)})).then((function(){return n.renameGroup(e,t,s,a)})).catch((function(e){console.log(e)}))})).catch((function(r){console.log(r);var o={_id:t,type:"channel",common:{name:s||e.split(".").pop()},native:{}};return n.socket.setObject(t,o).then((function(){return n.renameGroup(e,t,s,a)}))}))}},{key:"onUpdateScript",value:function(e,t){var s=this;this.scripts[e]&&"script"===this.scripts[e].type&&this.updateScript(e,e,t).then((function(){})).catch((function(e){return"canceled"!==e&&s.showError(e)}))}},{key:"onSelect",value:function(e){var t=this;this.scripts[e]&&this.scripts[e].common&&"script"===this.scripts[e].type&&this.setState({selected:e,menuSelectId:e},(function(){return setTimeout((function(){return t.setState({menuSelectId:""})}))}),300)}},{key:"onExpertModeChange",value:function(e){this.state.expertMode!==e&&(window.localStorage&&window.localStorage.setItem("App.expertMode",e?"true":"false"),this.setState({expertMode:e}))}},{key:"showError",value:function(e){this.setState({errorText:e?e.toString():""})}},{key:"showMessage",value:function(e){this.setState({message:e?e.toString():""})}},{key:"onDelete",value:function(e){var t=this;this.socket.delObject(e).then((function(){})).catch((function(e){return t.showError(e)}))}},{key:"onEdit",value:function(e){this.state.selected!==e&&this.setState({selected:e})}},{key:"onAddNew",value:function(e,t,s,a,n,r){var o=this,i=new RegExp("^".concat(e,"\\."));if(Object.keys(this.scripts).find((function(t){return e===t||i.test(e)})))return this.showError(E.a.t("Yet exists!"));s?this.socket.setObject(e,{common:{name:t,expert:!0},type:"channel"}).then((function(){return setTimeout((function(){return o.setState({menuSelectId:e},(function(){return setTimeout((function(){return o.setState({menuSelectId:""})}))}),300)}),1e3)})).catch((function(e){return o.showError(e)})):this.socket.setObject(e,{common:{name:t,expert:!0,engineType:n,engine:"system.adapter.javascript."+(a||0),source:r||"",debug:!1,verbose:!1},type:"script"}).then((function(){return setTimeout((function(){return o.onSelect(e)}),1e3)})).catch((function(e){return o.showError(e)}))}},{key:"updateScript",value:function(e,t,s){var a=this;return this.socket.getObject(e).then((function(n){var r={common:{}};return void 0!==s.engine&&(r.common.engine=s.engine),void 0!==s.enabled&&(r.common.enabled=s.enabled),void 0!==s.source&&(r.common.source=s.source),void 0!==s.debug&&(r.common.debug=s.debug),void 0!==s.verbose&&(r.common.verbose=s.verbose),r.from="system.adapter.admin.0",e===t&&n&&n.common&&s.name===n.common.name?(s.engineType&&s.engineType===n.common.engineType||void 0!==s.engineType&&(r.common.engineType=s.engineType||"Javascript/js"),new Promise((function(t,s){return a.socket.getRawSocket().emit("extendObject",e,r,(function(e){return e?s(e):t()}))}))):n&&n.common?(n.common.engineType=s.engineType||n.common.engineType||"Javascript/js",a.socket.delObject(e).then((function(){void 0!==r.common.engine&&(n.common.engine=r.common.engine),void 0!==r.common.enabled&&(n.common.enabled=r.common.enabled),void 0!==r.common.source&&(n.common.source=r.common.source),void 0!==r.common.name&&(n.common.name=r.common.name),void 0!==r.common.debug&&(n.common.debug=r.common.debug),void 0!==r.common.verbose&&(n.common.verbose=r.common.verbose),delete n._rev,n.common.name=s.name,n._id=t,a.socket.setObject(t,n)}))):((n=r).common.name=s.name,n._id=t,a.socket.setObject(t,n))}))}},{key:"onEnableDisable",value:function(e,t){var s=this;if(this.scripts[e]&&"script"===this.scripts[e].type){var a=this.scripts[e].common;a.enabled=t,a.expert=!0,this.updateScript(e,e,a).catch((function(e){return"canceled"!==e&&s.showError(e)}))}}},{key:"getLiveHost",value:function(e,t){var s=this;if(t||(t=this.hosts?Object(d.a)(this.hosts):[]),t.length){var a=t.shift();this.socket.getState(a+".alive").then((function(n){n&&n.val?e(a):setTimeout((function(){return s.getLiveHost(e,t)}))}))}else e()}},{key:"onExport",value:function(){var e=this;this.getLiveHost((function(t){if(!t)return e.showError(E.a.t("No active host found"));var s=new Date,a=s.getFullYear(),n=s.getMonth()+1;n<10&&(n="0"+n),a+="-"+n,(n=s.getDate())<10&&(n="0"+n),a+="-"+n+"-",e.socket.getRawSocket().emit("sendToHost",t,"readObjectsAsZip",{adapter:"javascript",id:"script.js",link:a+"scripts.zip"},(function(t){if("string"===typeof t){var s=document.createElement("a"),n=t.split(".zip.");s.href="/zip/"+n[0]+"/"+n[1],document.body.appendChild(s),s.click(),s.remove()}else if(t.error&&e.showError(t.error),t.data){var r=document.createElement("a");r.href="data: application/zip;base64,"+t.data,r.download=a+"scripts.zip",document.body.appendChild(r),r.click(),r.remove()}}))}))}},{key:"onImport",value:function(e){this.importFile=e,e?(this.confirmCallback=this.onImportConfirmed.bind(this),this.setState({importFile:!1,confirm:E.a.t("Existing scripts will be overwritten.")})):this.setState({importFile:!1})}},{key:"onImportConfirmed",value:function(e){var t=this,s=this.importFile;this.importFile=null,e&&s&&(s=s.split(",")[1],this.getLiveHost((function(e){e?t.socket.getRawSocket().emit("sendToHost",e,"writeObjectsAsZip",{data:s,adapter:"javascript",id:"script.js"},(function(e){"permissionError"===e?t.showError(E.a.t(e)):!e||e.error?t.showError(e?E.a.t(e.error):E.a.t("Unknown error")):t.showMessage(E.a.t("Done"))})):t.showError(E.a.t("No active host found"))})))}},{key:"toggleLogLayout",value:function(){window.localStorage&&window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}},{key:"renderMain",value:function(){var e=this,t=this.props.classes,s=this.state.errorText?n.a.createElement(Ue,{key:"dialogError",onClose:function(){return e.setState({errorText:""})},text:this.state.errorText}):null;return[this.state.message?n.a.createElement(N.a,{key:"dialogMessage",onClose:function(){return e.setState({message:""})},text:this.state.message}):null,s,this.state.importFile?n.a.createElement(Cs,{key:"dialogImportFile",onClose:function(t){return e.onImport(t)}}):null,this.state.confirm?n.a.createElement(A.a,{key:"dialogConfirm",onClose:function(t){e.state.confirm&&e.setState({confirm:""}),e.confirmCallback&&e.confirmCallback(t),e.confirmCallback=null},text:this.state.confirm}):null,n.a.createElement("div",{className:t.content+" iobVerticalSplitter",key:"main"},n.a.createElement("div",{key:"closeMenu",className:t.menuOpenCloseButton,onClick:function(){window.localStorage&&window.localStorage.setItem("App.menuOpened",e.state.menuOpened?"false":"true"),e.setState({menuOpened:!e.state.menuOpened,resizing:!0}),setTimeout((function(){return e.setState({resizing:!1})}),300)}},this.state.menuOpened?n.a.createElement(v.b,null):n.a.createElement(v.r,null)),n.a.createElement(f.a,{key:"splitterLayout",vertical:!this.state.logHorzLayout,primaryMinSize:100,secondaryInitialSize:this.logSize,onDragStart:function(){return e.setState({resizing:!0})},onSecondaryPaneSizeChange:function(t){return e.logSize=parseFloat(t)},onDragEnd:function(){e.setState({resizing:!1}),window.localStorage&&window.localStorage.setItem("App.logSize",e.logSize.toString())}},n.a.createElement(Ss,{key:"editor",visible:!this.state.resizing,socket:this.socket,adapterName:this.adapterName,onLocate:function(t){return e.setState({menuSelectId:t})},runningInstances:this.state.runningInstances,menuOpened:this.state.menuOpened,searchText:this.state.searchText,themeType:this.state.themeType,themeName:this.state.themeName,onChange:function(t,s){return e.onUpdateScript(t,s)},onSelectedChange:function(t,s){var a={},n=!1;t!==e.state.selected&&(n=!0,a.selected=t),JSON.stringify(s)!==JSON.stringify(e.state.editing)&&(n=!0,a.editing=JSON.parse(JSON.stringify(s))),n&&e.setState(a)},onRestart:function(t){return e.socket.extendObject(t,{common:{enabled:!0}})},selected:this.state.selected&&this.scripts[this.state.selected]&&"script"===this.scripts[this.state.selected].type?this.state.selected:"",objects:this.scripts,instances:this.state.instances}),n.a.createElement(it,{key:"log",verticalLayout:!this.state.logHorzLayout,onLayoutChange:function(){return e.toggleLogLayout()},editing:this.state.editing,socket:this.socket,selected:this.state.selected})))]}},{key:"render",value:function(){var e=this,t=this.props.classes;return this.state.ready?n.a.createElement("div",{className:t.root},n.a.createElement(f.a,{key:"menuSplitter",vertical:!1,primaryMinSize:300,primaryIndex:1,secondaryMinSize:300,secondaryInitialSize:this.menuSize,customClassName:t.splitterDivs+" "+(this.state.menuOpened?"":t.menuDivWithoutMenu),onDragStart:function(){return e.setState({resizing:!0})},onSecondaryPaneSizeChange:function(t){return e.menuSize=parseFloat(t)},onDragEnd:function(){e.setState({resizing:!1}),window.localStorage&&window.localStorage.setItem("App.menuSize",e.menuSize.toString())}},n.a.createElement("div",{className:t.mainDiv,key:"menu"},n.a.createElement(at,{key:"sidemenu",scripts:this.scripts,scriptsHash:this.state.scriptsHash,instances:this.state.instances,update:this.state.updateScripts,onRename:this.onRename.bind(this),onSelect:this.onSelect.bind(this),socket:this.socket,selectId:this.state.menuSelectId,onEdit:this.onEdit.bind(this),expertMode:this.state.expertMode,themeType:this.state.themeType,themeName:this.state.themeName,onThemeChange:function(t){I.a.setThemeName(t);var s=I.a.getThemeType(t);e.setState({themeName:t,themeType:s},(function(){return e.props.onThemeChange(t)}))},runningInstances:this.state.runningInstances,onExpertModeChange:this.onExpertModeChange.bind(this),onDelete:this.onDelete.bind(this),onAddNew:this.onAddNew.bind(this),onEnableDisable:this.onEnableDisable.bind(this),onExport:this.onExport.bind(this),width:this.menuSize,onImport:function(){return e.setState({importFile:!0})},onSearch:function(t){return e.setState({searchText:t})}})),this.renderMain())):n.a.createElement(S.a,{theme:this.state.themeType})}}]),a}(_.a),Ds=Object(g.a)((function(e){return{root:{flexGrow:1,display:"flex",width:"100%",height:"100%"},menuDiv:{overflow:"hidden"},splitterDivs:{"&>div":{overflow:"hidden",width:"100%",height:"100%"},"& .layout-splitter":{background:"dark"===e.palette.type?"#595858":"#ccc;"}},mainDiv:{width:"100%",height:"100%",overflow:"hidden"},content:{width:"100%",height:"100%",backgroundColor:e.palette.background&&e.palette.background.default,position:"relative"},splitterDivWithMenu:{width:"calc(100% - 300px)",height:"100%"},menuDivWithoutMenu:{"&>div:first-child":{display:"none"},"&>.layout-splitter":{display:"none"}},progress:{margin:100},menuOpenCloseButton:{position:"absolute",left:0,borderRadius:"0 5px 5px 0",top:6,paddingTop:8,cursor:"pointer",zIndex:1,height:25,width:20,background:e.palette.secondary.main,color:e.palette.primary.main,paddingLeft:3,"&:hover":{color:"white"}}}}))(Ns);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));var As=s(161),Os=s(154),Is=s.n(Os);window.adapterName="javascript";var xs=I.a.getThemeName();console.log("iobroker."+window.adapterName+"@"+As.a+' using theme "'+xs+'"'),"localhost:3000"!==window.location.host&&i.a({dsn:"https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56",release:"iobroker."+window.adapterName+"@"+As.a,integrations:[new c.a]}),function e(){return"undefined"===typeof Map&&console.log("Something is wrong"),o.a.render(n.a.createElement(l.a,{theme:Is()(xs)},n.a.createElement(Ds,{onThemeChange:function(t){xs=t,e()}})),document.getElementById("root"))}(),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))},92:function(e,t){e.exports="data:image/png;base64,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"}},[[240,1,2]]]); -//# sourceMappingURL=main.74fb53f3.chunk.js.map \ No newline at end of file +/*! For license information please see main.805d303a.chunk.js.LICENSE.txt */ +(this.webpackJsonpjs=this.webpackJsonpjs||[]).push([[0],{130:function(e,t){e.exports="data:image/png;base64,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"},131:function(e,t){e.exports="data:image/png;base64,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"},161:function(e){e.exports=JSON.parse('{"a":"4.10.5"}')},208:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM0AAABkCAYAAAAlr7RPAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAB1RJREFUeF7tnWtv2zYUhvdz+lP2/4q0w74V277t0qZthq3Yl+7Sot2AFRuGYmuxYXM7N7YTK74kjp2j6TBk4HiyzSNSFGW+B3hQNLEpMTqPSIkU9V7+7EYOALAH0gAgBNIAIATSACAE0gAgBNIAIATSACAE0gAgBNIAIATSACAE0gAgBNIAIATSACAE0gAgBNIAIATSACAE0gAgBNIAIATSACAE0oA4efF+nnduboc/V/b9GoE0KWKbkGXUlaRL+0Rvbs/z0z+HuU2cvc3o3zuT2vdvCUiTIr17fZ1y8uDELCuzKloWOno001twCsqeTqhmeSBNisQgjZHl5MeRLtlr0Hw4qqvlgTQp0rQ0RSJT/2CuS6w16OT52Lc4kCZFmpSGhRn/eqJLCxK0mF5e83iSB9KkSFPSsDCL0ViXFD4OP/MiDqRJkSakYWFm3UyX0lx4EAfSpEhoaViY0c+1XPBXCscuJqRJkZDSsDC9u6S/HUUUAp+4tDaQJkVCSsOfjzCod4+qigNpUiSUNNzKDL72MmhZS1TspkGaFAklTaStDIe6KYGWBljTMmlo+nqYdz8a5d07E/6Xpq+c7sJR/8EC1zRARiBp6O2HTl0zyp6N1fZWE5z/X/ycBg9Fswpo9i4rLU8IpEmRENJwYl6cnupvycNmPIV/z5+zCU8DmwykSZEQ0vDnKoZqEWwTfIs4qmvnoXVZBtKkSOTSWG/DsEYc6u1f+JTFAGlSZNekYQo51NhLETR5mdX5TA2kSZFdlIZhcTp7lQctbYE0KbKr0gQC0qRI7DcC+vVci/gC0qRI7C0NR8StDaRJkRZIo9YOiLS1gTQpEkIaviifvHSb7sKDo7y9yOSBNCkSQhrGsbUxQdkTr8/4uwJpUqRl0phQa6NFIA+kSZFQ0nAX7bznfeUZOutcTrxsSCBIkyKhpGH48zWGmioTWB5IkyIhpeHWZnZY+zpndPx4GkoeSJMiIaUpUPPAAgWd/FTbcrQGSJMigaVRrU2gZWhN0KC+mwaQJkVCS8OwOOPfgi8WSP2Hc9/iQJoUaUIahsWZ/B5enHk29vmoAKRJkaakYVSL80vQBdCvwnFBDQOkSZEmpWFYnP6DoNc4JtQbCxzFgTQp0rQ0DCfu4ee60LChuogO4kCaFIlBGoYTl8s7+uZMlx4siN/pWVEcSJMisUhjMPIcfzvVWwkSNCy2V0EcSJMisUlj0PKoRQIDRZWF0CFNisQqjcHI4+mNz1tDWCdIkyKxS2Mw3TYW6LxX2/gODQ5EA6CQJkXaIs0yRVLzAGVtg6OCekGaFGmjNAbTdfP93htIAzbSZmkMRp7hd17uuNFRIaFlFw3SpMguSGPgRLd9c8C2sKwbpEmRXZKGMa3OzPFmAaQBa9k1aQy8by4BacBadlWaosWhwVfnek/lAWnAOqj/8FCniTxcpNHdqLz7yUneu39oe+EtgsuvGOqNA2VlrgBp2oRJusHBu8oJx2fj2dvqff8q0uj9psGX1x8H6N/38nzLNVykeXN7UVrmCpCmDZiky55O9PHNqXe32ntYHJIqn2dj8TaLz1NvwyMAHt+FqXCSZu+itMwVIE3sqKTbv9DH9XpwgpR9ZxMu0mRPOqVllsEisOinfw31t9dHlXqsw6V+lvsBaWKFZencJFpMrlqX1aDh9xPpWZo6t9Qr9qoEHX56XFbmNYwswx/W7vdq0Nk/Tg+FXcF/s+mr2ruekCY2rpLO7tkS6n1h301zTCq1OEVZuQbej4oDjbQYj1XS2tZlFYdtXwWkaSGc1KsXyzZh80wIl92/X97Ns41NScXlc+I7hlo7QCoPf5ZnKrsGpGkRnHBFt4kWo8pJp7pDfNCXE47/1T9TXTnX2JRU/DuPQfwItN73/wm0XK/OrQsfy96q8Z3V7awB0sSA74Q7/Tujo0ddmnW9TaNXT1NuSqrid95nHuug+fGIevs96t6ZUPfjUS2PB/AxKKtXCZAmBjjhRi+aWQvMMujNre23Y7kei6l7i9ZEQJoW4rm18R62SRV7PUpCuk4ApIkFPkvznbAIQ40T2SYV14NXsmxJqPd6CoRhIE1McMJ5vA7xFoKui4KTsIG1zKrE1tvoJUCa2Iise1N5ug6fAPh1FxGHev1HhbpBmtjgg+jrSUTHUN2sKsIYWJzjx6e6uKiCsufyeXQaSBMjEYiz9RazLSzOpgmbDYR0yaZVIE2s8EEtump03g9+K1oNlPoQxmDqMnvX+PWaZBBzHZAmdooDbDsPzUv4nqq/DJfbUAvKL3ZS14se6gZp2gCLw2fqycvaztTq2sNTUm2Ey+e68ANoAYLnw/FUG5/1gjRtwiScx2kkaiZCCFlWMXVhpq+9nwzU36imekGaNqIT7jLpPpirATrLoMVoQp29C/P94LKUsVQfVafpH2KJ6KxzKYmhxnpBml1gJek2EoMk25DUxxCwXpAGACGQBgAhkAYAIZAGACGQBgAhkAYAIZAGACGQBgAhkAYAIZAGABE38v8Aj0qLiUXOUdYAAAAASUVORK5CYII="},209:function(e,t){e.exports="data:image/png;base64,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"},210:function(e,t){e.exports="data:image/png;base64,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"},213:function(e,t){e.exports="data:image/png;base64,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"},240:function(e,t,s){e.exports=s(321)},245:function(e,t,s){},310:function(e){e.exports=JSON.parse('{"-":"-","Add":"Add","Add new script":"Add new script","All files will be accepted":"All files will be accepted","April":"April","Are you sure?":"Are you sure?","August":"August","Blockly description":"Creating rules by graphic blocks","Cancel":"Cancel","Cannot delete non empty item!":"Cannot delete non empty item!","Change layout":"Change layout","Check blocks":"Check blocks","Check is not active, because javascript adapter is disabled":"Check is not active, because Javascript adapter is disabled","Clear search input":"Clear search input","Click on this icon":"Click on this icon","Close":"Close","Close all but current":"Close all but current","Collapse all":"Collapse all","Configuration not saved.":"Configuration not saved.","Convert blockly to javascript for ever.":"Instantly convert blockly to Javascript.","Copy script":"Copy script","Copy to clipboard":"Copy to clipboard","Create new":"Create new","Create new folder":"Create new folder","Create new script":"Create new script","Create or edit CRON or time wizard":"Create or edit CRON or time wizard","Dark Theme":"Dark theme","Dark style":"Dark style","Debug options":"Debug options","December":"December","Define cron...":"Define cron...","Define schedule...":"Define schedule...","Delete":"Delete","Delete %s":"Delete %s...","Delete folder":"Delete folder","Delete script":"Delete script","Deselect all":"Deselect all","Discard changes for %s":"Discard changes for %s","Done":"Done","Drop some files here or click...":"Drop some files here or click...","Edit script or just double click":"Edit script or just double click","End search mode":"End search mode","Error":"Error","Error was found":"Error was found","Existing scripts will be overwritten.":"Existing scripts will be overwritten.","Expand all":"Expand all","Expert mode":"Expert mode","Export":"Export","Export all scripts":"Export all scripts","Export blocks":"Export blocks","Export selected blocks":"Export selected blocks","February":"February","Folder":"Folder","Friday":"Friday","Function editor":"Function editor","ID":"ID","Import":"Import","Import blocks":"Import blocks","Import error":"Import error","Import scripts":"Import scripts","Insert object ID":"Insert object ID","Instance":"Instance","Instance is disabled":"Instance is disabled","Invalid CRON":"Invalid CRON","It will not be possible to revert this operation.":"It will not be possible to revert this operation.","JS description":"Creating rules by writing Javascript","January":"January","July":"July","June":"June","Learn More":"Learn More","Light style":"Light style","Locate file":"Locate file","Log outputs":"Log outputs","March":"March","May":"May","Menu":"Menu","Message":"Message","Monday":"Monday","Name":"Name","No active host found":"No active host found","November":"November","October":"October","Ok":"Ok","On weekdays":"On weekdays","Pause script":"Pause script","Please select object ID...":"Please select object ID...","Rename":"Rename","Reorder scripts in folders":"Reorder scripts in folders","Repeat":"Repeat","Restart":"Restart","Root folder":"Root folder","Run script":"Run script","Saturday":"Saturday","Save":"Save","Script":"Script","Script %s was modified on disk":"Script %s was modified on disk","Script is not running":"Script is not running","Search in scripts":"Search in scripts","Search...":"Search...","Select all":"Select all","September":"September","Show javascript code":"Show Javascript code","Show only paused scripts":"Show only paused scripts","Show only running scripts":"Show only running scripts","Show only scripts with problems":"Show only scripts with problems","Some files will be rejected":"Some files will be rejected","Sunday":"Sunday","TS description":"Creating rules by writing Typescript","Thursday":"Thursday","Tuesday":"Tuesday","Unknown error":"Unknown error","Unknown error!":"Unknown error!","Wednesday":"Wednesday","Yet exists!":"Yet exists!","copy":"copy","file reading has failed: %s":"file reading has failed: %s","file reading was aborted":"file reading was aborted","filter_func":"Function","filter_id":"ID","filter_name":"Name","filter_role":"Role","filter_room":"Room","for edit or create script":"for edit or create a new script","no blocks found":"No blocks found","no group":"NO GROUP","not properly connected":"This block is not properly connected to other blocks.","sc_cron":"CRON","sc_date":"Date","sc_dates":"Dates","sc_dows":"Day of week","sc_every":"Every","sc_everyN_dates":"every N days","sc_everyN_dows":"every N day of week","sc_everyN_hours":"every N hours","sc_everyN_minutes":"every N minutes","sc_everyN_months":"every N months","sc_everyN_seconds":"every N seconds","sc_every_dates":"every day","sc_every_dows":"every day of the week","sc_every_hours":"every hour","sc_every_minutes":"every minute","sc_every_months":"every month","sc_every_seconds":"every second","sc_from":"From","sc_hours":"Hours","sc_interval":"Interval","sc_intervalBetween":"Interval between","sc_minutes":"Minutes","sc_months":"months","sc_once":"Once","sc_period":"Period","sc_seconds":"Seconds","sc_simple":"Simple","sc_specific":"Specific time","sc_specific_dates":"specific dates","sc_specific_dows":"specific day of weeks","sc_specific_hours":"specific hours","sc_specific_minutes":"specific minutes","sc_specific_months":"specific months","sc_specific_seconds":"specific seconds","sc_time":"Time","sc_to":"To","sc_wizard":"Wizard","sch_all":"all","sch_astroDay":"Astro day","sch_astroNight":"Astro night","sch_astro_dawn":"Dawn","sch_astro_dusk":"Dusk","sch_astro_goldenHour":"Golden hour","sch_astro_goldenHourEnd":"Golden hour end","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Nautical dawn","sch_astro_nauticalDusk":"Nautical dusk","sch_astro_night":"Night","sch_astro_nightEnd":"Night end","sch_astro_solarNoon":"Solar noon","sch_astro_sunrise":"Sunrise","sch_astro_sunriseEnd":"Sunrise end","sch_astro_sunset":"Sunset","sch_astro_sunsetStart":"Sunset start","sch_at":"at","sch_desc_atTime":"at %s","sch_desc_everyDay":"every day","sch_desc_everyHour":"every hour","sch_desc_everyMinute":"every minute","sch_desc_everyMonth":"every month","sch_desc_everyNDay":"every %s day","sch_desc_everyNHours":"every %s hours","sch_desc_everyNMinutes":"every %s minutes","sch_desc_everyNMonths":"every %s months","sch_desc_everyNWeeks":"every %s weeks","sch_desc_everyNYears":"every %s years","sch_desc_everyWeek":"every week","sch_desc_everyYear":"every year","sch_desc_intervalFromTo":"from %s to %s","sch_desc_never":"never","sch_desc_onDate":"on %s of %s","sch_desc_onDates":"on %s and %s of","sch_desc_onEveryDate":"on every date of","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s and %s","sch_desc_onWeekday":"on %s","sch_desc_onWeekdays":"on %s and %s","sch_desc_onWeekends":"on weekends","sch_desc_onWorkdays":"on working days","sch_desc_onceInPast":"will ne be not executed any more, because start is in the past","sch_desc_once_on":"on %s","sch_desc_validFrom":"from %s","sch_desc_validFromTo":"Execute from to","sch_desc_validTo":"to %s","sch_every":"every","sch_exactTime":"Specific time","sch_from":"from","sch_fromTo":"From-to","sch_intervalTime":"Interval time","sch_invert":"invert","sch_no_one":"none","sch_on":"on","sch_period":"Period","sch_periodDaily":"Daily","sch_periodDates":"Dates","sch_periodDay":"Day","sch_periodEvery":"Every","sch_periodEveryDay":"Every day","sch_periodEveryMonth":"Every month","sch_periodEveryWeek":"Every week","sch_periodEveryYear":"Every year","sch_periodHours":"Hours","sch_periodMinutes":"Minutes","sch_periodMonth":"month","sch_periodMonthly":"Monthly","sch_periodOnce":"Once","sch_periodSpecificMonths":"Specific months","sch_periodWeek":"Week","sch_periodWeekdays":"Weekdays","sch_periodWeekend":"Weekend","sch_periodWeekly":"Weekly","sch_periodWorkdays":"Workdays","sch_periodYear":"Year","sch_periodYearly":"Yearly","sch_specificTime":"Specific time","sch_time":"Time","sch_to":"to","sch_valid":"Valid","sch_validFrom":"from","sch_validTo":"to","sch_wholeDay":"Whole day","sch_yearEveryMonth":"every month","tooltip_ack":"Acknowledge","tooltip_from":"From","tooltip_lc":"Last changed","tooltip_quality":"Quality","tooltip_ts":"Timestamp","tooltip_user":"User","tooltip_value":"Value","use seconds":"use seconds","Save all":"Save all","Change theme (actual \\"%s\\")":"Change theme (now - \\"%s\\")"}')},311:function(e){e.exports=JSON.parse('{"-":"-","Add":"Hinzuf\xfcgen","Add new script":"Neues Skript hinzuf\xfcgen","All files will be accepted":"Alle Dateien werden akzeptiert","April":"April","Are you sure?":"Sind Sie sicher?","August":"August","Blockly description":"Erstellen von Regeln durch Grafikbl\xf6cke","Cancel":"Abbrechen","Cannot delete non empty item!":"Kann nicht gel\xf6scht werden, weil noch einige Elementen sind drin!","Change layout":"Layout \xe4ndern","Check blocks":"Bl\xf6cke pr\xfcfen","Check is not active, because javascript adapter is disabled":"Syntax-Check ist nicht aktiv, weil Javascript adapter l\xe4uft nicht.","Clear search input":"Sucheingabe l\xf6schen","Click on this icon":"Klicken Sie auf dieses Symbol","Close":"Schlie\xdfen","Close all but current":"Schlie\xdfen Sie alle au\xdfer aktuell","Collapse all":"Alles einklappen","Configuration not saved.":"Konfiguration nicht gespeichert","Convert blockly to javascript for ever.":"Blockly in Javascript f\xfcr immer konvertieren.","Copy script":"Skript kopieren","Copy to clipboard":"In die Zwischenablage kopieren","Create new":"Erstelle neu","Create new folder":"Neuen Ordner erstellen","Create new script":"Neues Skript erstellen","Create or edit CRON or time wizard":"Erstellen oder bearbeiten Sie den CRON- oder Zeit-Assistenten","Dark Theme":"Dunkles Thema","Dark style":"Dunkler Stil","Debug options":"Debug-Optionen","December":"Dezember","Define cron...":"Cron definieren ...","Define schedule...":"Zeitplan definieren ...","Delete":"L\xf6schen","Delete %s":"L\xf6schen %s...","Delete folder":"Verzeichnis l\xf6schen","Delete script":"Skript l\xf6schen","Deselect all":"Alle abw\xe4hlen","Discard changes for %s":"verwerfen Sie die \xc4nderungen f\xfcr %s","Done":"Erledigt","Drop some files here or click...":"Legen Sie einige Dateien hier ab oder klicken Sie ...","Edit script or just double click":"Skript bearbeiten oder einfach doppelklicken","End search mode":"Suchmodus beenden","Error":"Fehler","Error was found":"Fehler wurde gefunden","Existing scripts will be overwritten.":"Vorhandene Skripte werden \xfcberschrieben.","Expand all":"Alle erweitern","Expert mode":"Expertenmodus","Export":"Export","Export all scripts":"Exportieren Sie alle Skripte","Export blocks":"Bl\xf6cke exportieren","Export selected blocks":"Ausgew\xe4hlte Bl\xf6cke exportieren","February":"Februar","Folder":"Mappe","Friday":"Freitag","Function editor":"Funktion-Editor","ID":"ID","Import":"Importieren","Import blocks":"Bl\xf6cke importieren","Import error":"Fehler beim Importieren","Import scripts":"Skripts importieren","Insert object ID":"Objekt-ID einf\xfcgen","Instance":"Instanz","Instance is disabled":"Instanz ist deaktiviert","Invalid CRON":"Ung\xfcltiger CRON","It will not be possible to revert this operation.":"Dieser Vorgang kann nicht r\xfcckg\xe4ngig gemacht werden.","JS description":"Regeln erstellen, indem Sie Javascript schreiben","January":"Januar","July":"Juli","June":"Juni","Learn More":"Mehr erfahren","Light style":"Heller Stil","Locate file":"Datei zeigen","Log outputs":"Protokoll","March":"M\xe4rz","May":"Mai","Menu":"Menu","Message":"Meldung","Monday":"Montag","Name":"Name","No active host found":"Kein aktiver Host gefunden","November":"November","October":"Oktober","Ok":"Ok","On weekdays":"An Wochentagen","Pause script":"Skript anhalten","Please select object ID...":"Bitte Objekt-ID ausw\xe4hlen ...","Rename":"Umbenennen","Reorder scripts in folders":"Skripte in Ordnern neu ordnen","Repeat":"Wiederholen","Restart":"Neustart","Root folder":"Root-Verzeichnis","Run script":"Skript ausf\xfchren","Saturday":"Samstag","Save":"Speichern","Script":"Skript","Script %s was modified on disk":"Skript \\"%s\\" wurde auf der Festplatte ge\xe4ndert","Script is not running":"Skript l\xe4uft nicht","Search in scripts":"Suche in Skripten","Search...":"Suche...","Select all":"W\xe4hlen Sie Alle","September":"September","Show javascript code":"Javascript-Code anzeigen","Show only paused scripts":"Nur angehaltene Skripte anzeigen","Show only running scripts":"Nur laufende Skripte anzeigen","Show only scripts with problems":"Zeige nur Skripte mit Problemen","Some files will be rejected":"Einige Dateien werden abgelehnt","Sunday":"Sonntag","TS description":"Regeln erstellen, indem Sie Typescript schreiben","Thursday":"Donnerstag","Tuesday":"Dienstag","Unknown error":"Unbekannter Fehler","Unknown error!":"Unbekannter Fehler!","Wednesday":"Mittwoch","Yet exists!":"Name existiert schon!","copy":"Kopie","file reading has failed: %s":"Das Lesen der Datei ist fehlgeschlagen: %s","file reading was aborted":"Das Lesen der Datei wurde abgebrochen","filter_func":"Funktion","filter_id":"ID","filter_name":"Name","filter_role":"Rolle","filter_room":"Zimmer","for edit or create script":"zum Bearbeiten oder Erstellen Sie ein neues Skript","no blocks found":"Keine Bl\xf6cke gefunden","no group":"KEINE GRUPPE","not properly connected":"Dieser Block ist mit anderen nicht richtig verbunden.","sc_cron":"CRON","sc_date":"Datum","sc_dates":"Tage","sc_dows":"Wochentage","sc_every":"Jeden","sc_everyN_dates":"alle N Tage","sc_everyN_dows":"alle N Wochentage","sc_everyN_hours":"alle N Stunden","sc_everyN_minutes":"alle N Minuten","sc_everyN_months":"alle N Monate","sc_everyN_seconds":"alle N Sekunden","sc_every_dates":"jeden Tag","sc_every_dows":"jeden tag der woche","sc_every_hours":"jede Stunde","sc_every_minutes":"jede Minute","sc_every_months":"jeden Monat","sc_every_seconds":"jede Sekunde","sc_from":"Von","sc_hours":"Stunden","sc_interval":"Intervall","sc_intervalBetween":"Intervall zwischen","sc_minutes":"Minuten","sc_months":"Monate","sc_once":"Einmal","sc_period":"Zeitraum","sc_seconds":"Sekunden","sc_simple":"Einfach","sc_specific":"Bestimmte Zeit","sc_specific_dates":"bestimmte Tage","sc_specific_dows":"bestimmten Wochentag","sc_specific_hours":"bestimmte Stunden","sc_specific_minutes":"bestimmte Minuten","sc_specific_months":"bestimmte Monate","sc_specific_seconds":"bestimmte Sekunden","sc_time":"Zeit","sc_to":"Bis","sc_wizard":"Wizard","sch_all":"alle","sch_astroDay":"Tag","sch_astroNight":"Nachts","sch_astro_dawn":"Morgend\xe4mmerung","sch_astro_dusk":"Abendd\xe4mmerung","sch_astro_goldenHour":"Goldene Stunde","sch_astro_goldenHourEnd":"Goldenes Stundenende","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Nautische Morgend\xe4mmerung","sch_astro_nauticalDusk":"Nautische Abendd\xe4mmerung","sch_astro_night":"Nacht","sch_astro_nightEnd":"Nachtsende","sch_astro_solarNoon":"Sonnenmittag","sch_astro_sunrise":"Sonnenaufgang","sch_astro_sunriseEnd":"Sonnenaufgangende","sch_astro_sunset":"Sonnenuntergang","sch_astro_sunsetStart":"Sonnenuntergangstart","sch_at":"am","sch_desc_atTime":"um %s","sch_desc_everyDay":"jeden Tag","sch_desc_everyHour":"jede Stunde","sch_desc_everyMinute":"jede Minute","sch_desc_everyMonth":"jeden Monat","sch_desc_everyNDay":"jeden %s Tag","sch_desc_everyNHours":"alle %s Stunden","sch_desc_everyNMinutes":"alle %s Minuten","sch_desc_everyNMonths":"alle %s Monate","sch_desc_everyNWeeks":"alle %s Wochen","sch_desc_everyNYears":"alle %s Jahre","sch_desc_everyWeek":"jede Woche","sch_desc_everyYear":"jedes Jahr","sch_desc_intervalFromTo":"von %s bis %s","sch_desc_never":"noch nie","sch_desc_onDate":"am %s von %s","sch_desc_onDates":"am %s und %s von","sch_desc_onEveryDate":"an jedem Datum von","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s und %s","sch_desc_onWeekday":"auf %s","sch_desc_onWeekdays":"auf %s und %s","sch_desc_onWeekends":"an Wochenenden","sch_desc_onWorkdays":"an Werktagen","sch_desc_onceInPast":"wird ne nicht mehr ausgef\xfchrt, weil start in der vergangenheit ist","sch_desc_once_on":"auf %s","sch_desc_validFrom":"von %s","sch_desc_validFromTo":"Ausf\xfchren von bis","sch_desc_validTo":"bis %s","sch_every":"jeden","sch_exactTime":"Bestimmte Zeit","sch_from":"von","sch_fromTo":"Von bis","sch_intervalTime":"Zeitintervall","sch_invert":"umkehren","sch_no_one":"keiner","sch_on":"am","sch_period":"Zeitraum","sch_periodDaily":"T\xe4glich","sch_periodDates":"Daten","sch_periodDay":"Tag","sch_periodEvery":"Jeden","sch_periodEveryDay":"Jeden Tag","sch_periodEveryMonth":"Jeden Monat","sch_periodEveryWeek":"Jede Woche","sch_periodEveryYear":"Jedes Jahr","sch_periodHours":"Std","sch_periodMinutes":"Protokoll","sch_periodMonth":"Monat","sch_periodMonthly":"Monatlich","sch_periodOnce":"Einmal","sch_periodSpecificMonths":"Bestimmte Monate","sch_periodWeek":"Woche","sch_periodWeekdays":"Wochentage","sch_periodWeekend":"Wochenende","sch_periodWeekly":"W\xf6chentlich","sch_periodWorkdays":"Arbeitstage","sch_periodYear":"Jahr","sch_periodYearly":"J\xe4hrlich","sch_specificTime":"Bestimmte Zeit","sch_time":"Zeit","sch_to":"zu","sch_valid":"G\xfcltigkeit","sch_validFrom":"von","sch_validTo":"bis","sch_wholeDay":"Ganzer Tag","sch_yearEveryMonth":"jeden Monat","tooltip_ack":"Best\xe4tigen","tooltip_from":"Von","tooltip_lc":"Zuletzt ge\xe4ndert","tooltip_quality":"Qualit\xe4t","tooltip_ts":"Zeitstempel","tooltip_user":"Benutzer","tooltip_value":"Wert","use seconds":"Sekunden verwenden","Save all":"Alle speichern","Change theme (actual \\"%s\\")":"Thema \xe4ndern (jetzt - \\"%s\\")"}')},312:function(e){e.exports=JSON.parse('{"-":"-","Add":"A\xf1adir","Add new script":"Agregar nuevo script","All files will be accepted":"Todos los archivos ser\xe1n aceptados.","April":"abril","Are you sure?":"\xbfEst\xe1s seguro?","August":"agosto","Blockly description":"Crear reglas por bloques gr\xe1ficos","Cancel":"Cancelar","Cannot delete non empty item!":"\xa1No se puede eliminar un elemento no vac\xedo!","Change layout":"Cambia el dise\xf1o","Check blocks":"Comprobar bloques","Check is not active, because javascript adapter is disabled":"La comprobaci\xf3n no est\xe1 activa porque el adaptador Javascript est\xe1 desactivado","Clear search input":"Borrar entrada de b\xfasqueda","Click on this icon":"Haga clic en este \xedcono","Close":"Cerrar","Close all but current":"Cerrar todo menos el actual","Collapse all":"Desplegar todo","Configuration not saved.":"Configuraci\xf3n no guardada.","Convert blockly to javascript for ever.":"Convierta instant\xe1neamente en bloque a Javascript.","Copy script":"Copiar guion","Copy to clipboard":"Copiar al portapapeles","Create new":"Crear nuevo","Create new folder":"Crear nueva carpeta","Create new script":"Crear nuevo script","Create or edit CRON or time wizard":"Crear o editar CRON o asistente de tiempo","Dark Theme":"Tema oscuro","Dark style":"Estilo oscuro","Debug options":"Opciones de depuraci\xf3n","December":"diciembre","Define cron...":"Definir cron ...","Define schedule...":"Definir horario ...","Delete":"Eliminar","Delete %s":"Eliminar %s ...","Delete folder":"Eliminar carpeta","Delete script":"Eliminar gui\xf3n","Deselect all":"Deseleccionar todo","Discard changes for %s":"Descartar cambios para %s","Done":"Hecho","Drop some files here or click...":"Suelta algunos archivos aqu\xed o haz clic ...","Edit script or just double click":"Editar gui\xf3n o simplemente hacer doble clic","End search mode":"Fin del modo de b\xfasqueda","Error":"Error","Error was found":"Error encontrado","Existing scripts will be overwritten.":"Los guiones existentes se sobrescribir\xe1n.","Expand all":"Expandir todo","Expert mode":"Modo experto","Export":"Exportar","Export all scripts":"Exportar todos los scripts","Export blocks":"Exportar bloques","Export selected blocks":"Exportar bloques seleccionados","February":"febrero","Folder":"Carpeta","Friday":"viernes","Function editor":"Editor de funciones","ID":"CARN\xc9 DE IDENTIDAD","Import":"Importar","Import blocks":"Importar bloques","Import error":"Error de importaci\xf3n","Import scripts":"Importar guiones","Insert object ID":"Insertar ID de objeto","Instance":"Ejemplo","Instance is disabled":"La instancia est\xe1 deshabilitada","Invalid CRON":"CRON inv\xe1lido","It will not be possible to revert this operation.":"No ser\xe1 posible revertir esta operaci\xf3n.","JS description":"Crear reglas escribiendo Javascript","January":"enero","July":"julio","June":"junio","Learn More":"Aprende m\xe1s","Light style":"Estilo ligero","Locate file":"Localizar el archivo","Log outputs":"Salidas de registro","March":"marzo","May":"Mayo","Menu":"Men\xfa","Message":"Mensaje","Monday":"lunes","Name":"Nombre","No active host found":"No se encontr\xf3 un host activo","November":"noviembre","October":"octubre","Ok":"Okay","On weekdays":"De lunes a viernes","Pause script":"Pausar guion","Please select object ID...":"Por favor, seleccione la ID del objeto ...","Rename":"Rebautizar","Reorder scripts in folders":"Reordenar guiones en carpetas","Repeat":"Repetir","Restart":"Reiniciar","Root folder":"Carpeta ra\xedz","Run script":"Ejecutar gui\xf3n","Saturday":"s\xe1bado","Save":"Salvar","Script":"Gui\xf3n","Script %s was modified on disk":"El script %s fue modificado en el disco","Script is not running":"El script no se est\xe1 ejecutando","Search in scripts":"Buscar en guiones","Search...":"Buscar...","Select all":"Seleccionar todo","September":"septiembre","Show javascript code":"Mostrar c\xf3digo Javascript","Show only paused scripts":"Mostrar solo secuencias de comandos pausadas","Show only running scripts":"Mostrar solo scripts en ejecuci\xf3n","Show only scripts with problems":"Mostrar solo guiones con problemas","Some files will be rejected":"Algunos archivos ser\xe1n rechazados","Sunday":"domingo","TS description":"Crear reglas escribiendo el mecanografiado","Thursday":"jueves","Tuesday":"martes","Unknown error":"Error desconocido","Unknown error!":"\xa1Error desconocido!","Wednesday":"mi\xe9rcoles","Yet exists!":"\xa1Sin embargo existe!","copy":"Copiar","file reading has failed: %s":"la lectura del archivo ha fallado: %s","file reading was aborted":"la lectura del archivo fue abortada","filter_func":"Funci\xf3n","filter_id":"CARN\xc9 DE IDENTIDAD","filter_name":"Nombre","filter_role":"Papel","filter_room":"Habitaci\xf3n","for edit or create script":"para editar o crear un nuevo script","no blocks found":"No se encontraron bloques","no group":"NO GRUPO","not properly connected":"Este bloque no est\xe1 conectado correctamente a otros bloques.","sc_cron":"CRON","sc_date":"Fecha","sc_dates":"fechas","sc_dows":"D\xeda de la semana","sc_every":"Cada","sc_everyN_dates":"cada N d\xedas","sc_everyN_dows":"cada N d\xeda de la semana","sc_everyN_hours":"cada N horas","sc_everyN_minutes":"cada N minutos","sc_everyN_months":"cada N meses","sc_everyN_seconds":"cada N segundos","sc_every_dates":"cada d\xeda","sc_every_dows":"Cada d\xeda de la semana","sc_every_hours":"cada hora","sc_every_minutes":"cada minuto","sc_every_months":"cada mes","sc_every_seconds":"cada segundo","sc_from":"De","sc_hours":"Horas","sc_interval":"Intervalo","sc_intervalBetween":"Intervalo entre","sc_minutes":"Minutos","sc_months":"meses","sc_once":"Una vez","sc_period":"Per\xedodo","sc_seconds":"Segundos","sc_simple":"Sencillo","sc_specific":"Tiempo espec\xedfico","sc_specific_dates":"fechas especificas","sc_specific_dows":"d\xeda espec\xedfico de semanas","sc_specific_hours":"horas espec\xedficas","sc_specific_minutes":"minutos espec\xedficos","sc_specific_months":"meses espec\xedficos","sc_specific_seconds":"segundos espec\xedficos","sc_time":"Hora","sc_to":"A","sc_wizard":"Mago","sch_all":"todas","sch_astroDay":"D\xeda astro","sch_astroNight":"Noche astro","sch_astro_dawn":"Amanecer","sch_astro_dusk":"Oscuridad","sch_astro_goldenHour":"hora dorada","sch_astro_goldenHourEnd":"Fin de la hora dorada","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Amanecer n\xe1utico","sch_astro_nauticalDusk":"Anochecer n\xe1utico","sch_astro_night":"Noche","sch_astro_nightEnd":"Fin de la noche","sch_astro_solarNoon":"Mediod\xeda solar","sch_astro_sunrise":"amanecer","sch_astro_sunriseEnd":"Fin del amanecer","sch_astro_sunset":"Puesta de sol","sch_astro_sunsetStart":"Puesta de sol","sch_at":"a","sch_desc_atTime":"en %s","sch_desc_everyDay":"cada d\xeda","sch_desc_everyHour":"cada hora","sch_desc_everyMinute":"cada minuto","sch_desc_everyMonth":"cada mes","sch_desc_everyNDay":"cada %s d\xedas","sch_desc_everyNHours":"cada %s horas","sch_desc_everyNMinutes":"cada %s minutos","sch_desc_everyNMonths":"cada %s meses","sch_desc_everyNWeeks":"cada %s semanas","sch_desc_everyNYears":"cada %s a\xf1os","sch_desc_everyWeek":"cada semana","sch_desc_everyYear":"todos los a\xf1os","sch_desc_intervalFromTo":"de %s a %s","sch_desc_never":"Nunca","sch_desc_onDate":"en %s de %s","sch_desc_onDates":"en %s y %s de","sch_desc_onEveryDate":"en cada fecha de","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s y %s","sch_desc_onWeekday":"en %s","sch_desc_onWeekdays":"en %s y %s","sch_desc_onWeekends":"en los fines de semana","sch_desc_onWorkdays":"en d\xedas laborables","sch_desc_onceInPast":"ya no se ejecutar\xe1 m\xe1s, porque el inicio est\xe1 en el pasado","sch_desc_once_on":"en %s","sch_desc_validFrom":"de %s","sch_desc_validFromTo":"Ejecutar desde hasta","sch_desc_validTo":"a %s","sch_every":"cada","sch_exactTime":"Tiempo espec\xedfico","sch_from":"de","sch_fromTo":"De-a","sch_intervalTime":"Tiempo de intervalo","sch_invert":"invertir; poner boca abajo o en la posici\xf3n opuesta, orden o arreglo; Boca abajo","sch_no_one":"ninguna","sch_on":"en","sch_period":"Per\xedodo","sch_periodDaily":"Diario","sch_periodDates":"fechas","sch_periodDay":"D\xeda","sch_periodEvery":"Cada","sch_periodEveryDay":"Cada d\xeda","sch_periodEveryMonth":"Cada mes","sch_periodEveryWeek":"Cada semana","sch_periodEveryYear":"Todos los a\xf1os","sch_periodHours":"Horas","sch_periodMinutes":"Minutos","sch_periodMonth":"mes","sch_periodMonthly":"Mensual","sch_periodOnce":"Una vez","sch_periodSpecificMonths":"Meses espec\xedficos","sch_periodWeek":"Semana","sch_periodWeekdays":"D\xedas laborables","sch_periodWeekend":"Fin de semana","sch_periodWeekly":"Semanal","sch_periodWorkdays":"D\xedas laborables","sch_periodYear":"A\xf1o","sch_periodYearly":"Anual","sch_specificTime":"Tiempo espec\xedfico","sch_time":"Hora","sch_to":"a","sch_valid":"V\xe1lido","sch_validFrom":"de","sch_validTo":"a","sch_wholeDay":"Todo el dia","sch_yearEveryMonth":"cada mes","tooltip_ack":"Reconocer","tooltip_from":"De","tooltip_lc":"\xdaltimo cambio","tooltip_quality":"Calidad","tooltip_ts":"Marca de tiempo","tooltip_user":"Usuario","tooltip_value":"Valor","use seconds":"usar segundos","Save all":"Salvar a todos","Change theme (actual \\"%s\\")":"Cambiar tema (ahora - \\"%s\\")"}')},313:function(e){e.exports=JSON.parse('{"-":"-","Add":"Ajouter","Add new script":"Ajouter un nouveau script","All files will be accepted":"Tous les fichiers seront accept\xe9s","April":"avril","Are you sure?":"\xcates-vous s\xfbr?","August":"ao\xfbt","Blockly description":"Cr\xe9ation de r\xe8gles par blocs graphiques","Cancel":"Annuler","Cannot delete non empty item!":"Impossible de supprimer un \xe9l\xe9ment non vide!","Change layout":"Changer la disposition","Check blocks":"V\xe9rifier les blocs","Check is not active, because javascript adapter is disabled":"La v\xe9rification n\'est pas active, car l\'adaptateur Javascript est d\xe9sactiv\xe9","Clear search input":"Effacer la recherche","Click on this icon":"Cliquez sur cette ic\xf4ne","Close":"proche","Close all but current":"Ferme tout sauf courant","Collapse all":"R\xe9duire tout","Configuration not saved.":"Configuration non enregistr\xe9e.","Convert blockly to javascript for ever.":"Convertissez instantan\xe9ment en Javascript.","Copy script":"Copier le script","Copy to clipboard":"Copier dans le presse-papier","Create new":"Cr\xe9er un nouveau","Create new folder":"Cr\xe9er un nouveau dossier","Create new script":"Cr\xe9er un nouveau script","Create or edit CRON or time wizard":"Cr\xe9er ou \xe9diter CRON ou un assistant de temps","Dark Theme":"Th\xe8me sombre","Dark style":"Style sombre","Debug options":"Options de d\xe9bogage","December":"d\xe9cembre","Define cron...":"D\xe9finir le cron ...","Define schedule...":"D\xe9finir le calendrier ...","Delete":"Effacer","Delete %s":"Supprimer %s ...","Delete folder":"Supprimer le dossier","Delete script":"Supprimer le script","Deselect all":"Tout d\xe9selectionner","Discard changes for %s":"Ignorer les modifications pour %s","Done":"Termin\xe9","Drop some files here or click...":"D\xe9poser des fichiers ici ou cliquez sur ...","Edit script or just double click":"Modifiez le script ou double-cliquez simplement sur","End search mode":"Fin du mode de recherche","Error":"Erreur","Error was found":"Une erreur a \xe9t\xe9 trouv\xe9e","Existing scripts will be overwritten.":"Les scripts existants seront \xe9cras\xe9s.","Expand all":"D\xe9velopper tout","Expert mode":"Mode expert","Export":"Exportation","Export all scripts":"Exporter tous les scripts","Export blocks":"Blocs d\'exportation","Export selected blocks":"Exporter les blocs s\xe9lectionn\xe9s","February":"f\xe9vrier","Folder":"Dossier","Friday":"Vendredi","Function editor":"\xc9diteur de fonction","ID":"ID","Import":"Importation","Import blocks":"Blocs d\'importation","Import error":"Erreur d\'importation","Import scripts":"Importer des scripts","Insert object ID":"Ins\xe9rer un identifiant d\'objet","Instance":"Exemple","Instance is disabled":"L\'instance est d\xe9sactiv\xe9e","Invalid CRON":"CRON invalide","It will not be possible to revert this operation.":"Il ne sera pas possible de revenir sur cette op\xe9ration.","JS description":"Cr\xe9er des r\xe8gles en \xe9crivant du Javascript","January":"janvier","July":"juillet","June":"juin","Learn More":"Apprendre encore plus","Light style":"Style de lumi\xe8re","Locate file":"Localiser le fichier","Log outputs":"Journal des sorties","March":"Mars","May":"Mai","Menu":"M e n u","Message":"Message","Monday":"Lundi","Name":"Nom","No active host found":"Aucun h\xf4te actif trouv\xe9","November":"novembre","October":"octobre","Ok":"D\'accord","On weekdays":"En semaine","Pause script":"Script de pause","Please select object ID...":"Veuillez s\xe9lectionner l\'ID d\'objet ...","Rename":"Renommer","Reorder scripts in folders":"R\xe9organiser les scripts dans des dossiers","Repeat":"R\xe9p\xe9ter","Restart":"Red\xe9marrer","Root folder":"Dossier racine","Run script":"Script de lancement","Saturday":"samedi","Save":"sauver","Script":"Sc\xe9nario","Script %s was modified on disk":"Le script %s a \xe9t\xe9 modifi\xe9 sur le disque","Script is not running":"Le script n\'est pas en cours d\'ex\xe9cution","Search in scripts":"Rechercher dans les scripts","Search...":"Chercher...","Select all":"Tout s\xe9lectionner","September":"septembre","Show javascript code":"Afficher le code Javascript","Show only paused scripts":"Afficher uniquement les scripts en pause","Show only running scripts":"Afficher uniquement les scripts en cours d\'ex\xe9cution","Show only scripts with problems":"Afficher uniquement les scripts avec des probl\xe8mes","Some files will be rejected":"Certains fichiers seront rejet\xe9s","Sunday":"dimanche","TS description":"Cr\xe9er des r\xe8gles en \xe9crivant des caract\xe8res dactylographi\xe9s","Thursday":"Jeudi","Tuesday":"Mardi","Unknown error":"Erreur inconnue","Unknown error!":"Erreur inconnue!","Wednesday":"Mercredi","Yet exists!":"Pourtant existe!","copy":"copie","file reading has failed: %s":"La lecture du fichier a \xe9chou\xe9: %s","file reading was aborted":"la lecture du fichier a \xe9t\xe9 abandonn\xe9e","filter_func":"Une fonction","filter_id":"ID","filter_name":"Nom","filter_role":"R\xf4le","filter_room":"Pi\xe8ce","for edit or create script":"pour \xe9diter ou cr\xe9er un nouveau script","no blocks found":"Aucun bloc trouv\xe9","no group":"PAS DE GROUPE","not properly connected":"Ce bloc n\'est pas correctement connect\xe9 \xe0 d\'autres blocs.","sc_cron":"CRON","sc_date":"Date","sc_dates":"Rendez-vous","sc_dows":"Jour de la semaine","sc_every":"Chaque","sc_everyN_dates":"tous les N jours","sc_everyN_dows":"tous les N jours de la semaine","sc_everyN_hours":"toutes les N heures","sc_everyN_minutes":"toutes les N minutes","sc_everyN_months":"tous les N mois","sc_everyN_seconds":"toutes les N secondes","sc_every_dates":"tous les jours","sc_every_dows":"Chaque jour de la semaine","sc_every_hours":"Toutes les heures","sc_every_minutes":"chaque minute","sc_every_months":"chaque mois","sc_every_seconds":"chaque seconde","sc_from":"De","sc_hours":"Heures","sc_interval":"Intervalle","sc_intervalBetween":"Intervalle entre","sc_minutes":"Minutes","sc_months":"mois","sc_once":"Une fois que","sc_period":"P\xe9riode","sc_seconds":"Secondes","sc_simple":"Facile","sc_specific":"Temps sp\xe9cifique","sc_specific_dates":"dates sp\xe9cifiques","sc_specific_dows":"jour sp\xe9cifique de semaines","sc_specific_hours":"heures sp\xe9cifiques","sc_specific_minutes":"minutes sp\xe9cifiques","sc_specific_months":"mois sp\xe9cifiques","sc_specific_seconds":"secondes sp\xe9cifiques","sc_time":"Temps","sc_to":"\xc0","sc_wizard":"sorcier","sch_all":"tout","sch_astroDay":"Journ\xe9e astronomique","sch_astroNight":"Nuit astronomique","sch_astro_dawn":"Aube","sch_astro_dusk":"Cr\xe9puscule","sch_astro_goldenHour":"Heure d\'or","sch_astro_goldenHourEnd":"Fin de l\'heure d\'or","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Aube nautique","sch_astro_nauticalDusk":"Cr\xe9puscule nautique","sch_astro_night":"Nuit","sch_astro_nightEnd":"Fin de nuit","sch_astro_solarNoon":"Midi solaire","sch_astro_sunrise":"lever du soleil","sch_astro_sunriseEnd":"Fin du lever du soleil","sch_astro_sunset":"Le coucher du soleil","sch_astro_sunsetStart":"Coucher du soleil","sch_at":"\xe0","sch_desc_atTime":"\xe0 %s","sch_desc_everyDay":"tous les jours","sch_desc_everyHour":"Toutes les heures","sch_desc_everyMinute":"chaque minute","sch_desc_everyMonth":"chaque mois","sch_desc_everyNDay":"chaque %s jour","sch_desc_everyNHours":"chaque %s heures","sch_desc_everyNMinutes":"toutes les %s minutes","sch_desc_everyNMonths":"tous les %s mois","sch_desc_everyNWeeks":"chaque %s semaines","sch_desc_everyNYears":"tous les %s ans","sch_desc_everyWeek":"toutes les semaines","sch_desc_everyYear":"chaque ann\xe9e","sch_desc_intervalFromTo":"de %s \xe0 %s","sch_desc_never":"jamais","sch_desc_onDate":"sur %s de %s","sch_desc_onDates":"sur %s et %s de","sch_desc_onEveryDate":"\xe0 chaque date de","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s et %s","sch_desc_onWeekday":"sur %s","sch_desc_onWeekdays":"sur %s et %s","sch_desc_onWeekends":"les weekends","sch_desc_onWorkdays":"les jours ouvrables","sch_desc_onceInPast":"ne sera plus ex\xe9cut\xe9, car start est dans le pass\xe9","sch_desc_once_on":"sur %s","sch_desc_validFrom":"de %s","sch_desc_validFromTo":"Ex\xe9cuter de \xe0","sch_desc_validTo":"\xe0 %s","sch_every":"chaque","sch_exactTime":"Temps sp\xe9cifique","sch_from":"de","sch_fromTo":"De \xe0","sch_intervalTime":"Temps d\'interval","sch_invert":"inverser","sch_no_one":"aucun","sch_on":"sur","sch_period":"P\xe9riode","sch_periodDaily":"du quotidien","sch_periodDates":"Rendez-vous","sch_periodDay":"journ\xe9e","sch_periodEvery":"Chaque","sch_periodEveryDay":"Tous les jours","sch_periodEveryMonth":"Chaque mois","sch_periodEveryWeek":"Toutes les semaines","sch_periodEveryYear":"Chaque ann\xe9e","sch_periodHours":"Heures","sch_periodMinutes":"Minutes","sch_periodMonth":"mois","sch_periodMonthly":"Mensuel","sch_periodOnce":"Une fois que","sch_periodSpecificMonths":"Mois sp\xe9cifiques","sch_periodWeek":"La semaine","sch_periodWeekdays":"Jours de la semaine","sch_periodWeekend":"Weekend","sch_periodWeekly":"Hebdomadaire","sch_periodWorkdays":"Jours ouvrables","sch_periodYear":"Ann\xe9e","sch_periodYearly":"Annuel","sch_specificTime":"Temps sp\xe9cifique","sch_time":"Temps","sch_to":"\xe0","sch_valid":"Valide","sch_validFrom":"de","sch_validTo":"\xe0","sch_wholeDay":"Toute la journ\xe9e","sch_yearEveryMonth":"chaque mois","tooltip_ack":"Reconna\xeetre","tooltip_from":"De","tooltip_lc":"Derni\xe8re modification","tooltip_quality":"Qualit\xe9","tooltip_ts":"Horodatage","tooltip_user":"Utilisateur","tooltip_value":"Valeur","use seconds":"utiliser les secondes","Save all":"Sauver tous","Change theme (actual \\"%s\\")":"Changer de th\xe8me (maintenant - \\"%s\\")"}')},314:function(e){e.exports=JSON.parse('{"-":"-","Add":"Inserisci","Add new script":"Aggiungi nuovo script","All files will be accepted":"Tutti i file saranno accettati","April":"aprile","Are you sure?":"Sei sicuro?","August":"agosto","Blockly description":"Creazione di regole tramite blocchi grafici","Cancel":"Annulla","Cannot delete non empty item!":"Impossibile eliminare l\'elemento non vuoto!","Change layout":"Cambia layout","Check blocks":"Controlla i blocchi","Check is not active, because javascript adapter is disabled":"Il controllo non \xe8 attivo perch\xe9 l\'adattatore Javascript \xe8 disabilitato","Clear search input":"Cancella input di ricerca","Click on this icon":"Clicca su questa icona","Close":"Vicino","Close all but current":"Chiudi tutto tranne corrente","Collapse all":"Comprimi tutto","Configuration not saved.":"Configurazione non salvata.","Convert blockly to javascript for ever.":"Converti istantaneamente a blocchi in Javascript.","Copy script":"Copia script","Copy to clipboard":"Copia negli appunti","Create new":"Creare nuovo","Create new folder":"Crea una nuova cartella","Create new script":"Crea nuovo script","Create or edit CRON or time wizard":"Crea o modifica la procedura guidata CRON o time","Dark Theme":"Tema scuro","Dark style":"Stile scuro","Debug options":"Opzioni di debug","December":"dicembre","Define cron...":"Definisci cron ...","Define schedule...":"Definisci programma ...","Delete":"Elimina","Delete %s":"Elimina %s ...","Delete folder":"Elimina cartella","Delete script":"Elimina script","Deselect all":"Deselezionare tutto","Discard changes for %s":"Annulla modifiche per %s","Done":"Fatto","Drop some files here or click...":"Trascina alcuni file qui o fai clic su ...","Edit script or just double click":"Modifica lo script o fai doppio clic","End search mode":"Termina la modalit\xe0 di ricerca","Error":"Errore","Error was found":"Errore trovato","Existing scripts will be overwritten.":"Gli script esistenti verranno sovrascritti.","Expand all":"Espandi tutto","Expert mode":"Modalit\xe0 esperto","Export":"Esportare","Export all scripts":"Esporta tutti gli script","Export blocks":"Esporta blocchi","Export selected blocks":"Esporta i blocchi selezionati","February":"febbraio","Folder":"Cartella","Friday":"Venerd\xec","Function editor":"Editor di funzioni","ID":"ID","Import":"Importare","Import blocks":"Importa blocchi","Import error":"Errore di importazione","Import scripts":"Importa script","Insert object ID":"Inserisci l\'ID oggetto","Instance":"Esempio","Instance is disabled":"L\'istanza \xe8 disabilitata","Invalid CRON":"CRON non valido","It will not be possible to revert this operation.":"Non sar\xe0 possibile ripristinare questa operazione.","JS description":"Creare regole scrivendo Javascript","January":"gennaio","July":"luglio","June":"giugno","Learn More":"Per saperne di pi\xf9","Light style":"Stile leggero","Locate file":"Localizza file","Log outputs":"Registra le uscite","March":"marzo","May":"Maggio","Menu":"Menu","Message":"Messaggio","Monday":"Lunedi","Name":"Nome","No active host found":"Nessun host attivo trovato","November":"novembre","October":"ottobre","Ok":"Ok","On weekdays":"Nei giorni della settimana","Pause script":"Metti in pausa lo script","Please select object ID...":"Seleziona l\'ID oggetto ...","Rename":"Rinominare","Reorder scripts in folders":"Riordina gli script nelle cartelle","Repeat":"Ripetere","Restart":"Ricomincia","Root folder":"Cartella root","Run script":"Esegui script","Saturday":"Sabato","Save":"Salva","Script":"copione","Script %s was modified on disk":"Lo script %s \xe8 stato modificato sul disco","Script is not running":"Lo script non \xe8 in esecuzione","Search in scripts":"Cerca negli script","Search...":"Ricerca...","Select all":"Seleziona tutto","September":"settembre","Show javascript code":"Mostra codice Javascript","Show only paused scripts":"Mostra solo script in pausa","Show only running scripts":"Mostra solo gli script in esecuzione","Show only scripts with problems":"Mostra solo script con problemi","Some files will be rejected":"Alcuni file verranno rifiutati","Sunday":"Domenica","TS description":"Creare regole scrivendo dattiloscritto","Thursday":"giovedi","Tuesday":"marted\xec","Unknown error":"Errore sconosciuto","Unknown error!":"Errore sconosciuto!","Wednesday":"mercoled\xec","Yet exists!":"Esiste ancora!","copy":"copia","file reading has failed: %s":"lettura file non riuscita: %s","file reading was aborted":"la lettura del file \xe8 stata interrotta","filter_func":"Funzione","filter_id":"ID","filter_name":"Nome","filter_role":"Ruolo","filter_room":"Camera","for edit or create script":"per modificare o creare un nuovo script","no blocks found":"Nessun blocco trovato","no group":"NESSUN GRUPPO","not properly connected":"Questo blocco non \xe8 correttamente collegato ad altri blocchi.","sc_cron":"CRON","sc_date":"Data","sc_dates":"Date","sc_dows":"Giorno della settimana","sc_every":"Ogni","sc_everyN_dates":"ogni N giorni","sc_everyN_dows":"ogni N giorno della settimana","sc_everyN_hours":"ogni N ore","sc_everyN_minutes":"ogni N minuti","sc_everyN_months":"ogni N mesi","sc_everyN_seconds":"ogni N secondi","sc_every_dates":"ogni giorno","sc_every_dows":"Tutti i giorni della settimana","sc_every_hours":"ogni ora","sc_every_minutes":"ogni minuto","sc_every_months":"ogni mese","sc_every_seconds":"ogni secondo","sc_from":"A partire dal","sc_hours":"Ore","sc_interval":"Intervallo","sc_intervalBetween":"Intervallo tra","sc_minutes":"Minuti","sc_months":"mesi","sc_once":"Una volta","sc_period":"Periodo","sc_seconds":"secondi","sc_simple":"Semplice","sc_specific":"Orario preciso","sc_specific_dates":"date specifiche","sc_specific_dows":"giorno specifico delle settimane","sc_specific_hours":"orari specifici","sc_specific_minutes":"minuti specifici","sc_specific_months":"mesi specifici","sc_specific_seconds":"secondi specifici","sc_time":"Tempo","sc_to":"Per","sc_wizard":"procedura guidata","sch_all":"tutti","sch_astroDay":"Astro day","sch_astroNight":"Astro night","sch_astro_dawn":"Alba","sch_astro_dusk":"Crepuscolo","sch_astro_goldenHour":"Ora d\'oro","sch_astro_goldenHourEnd":"Fine dell\'ora d\'oro","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Alba nautica","sch_astro_nauticalDusk":"Crepuscolo nautico","sch_astro_night":"Notte","sch_astro_nightEnd":"Fine della notte","sch_astro_solarNoon":"Mezzogiorno solare","sch_astro_sunrise":"Alba","sch_astro_sunriseEnd":"Fine dell\'alba","sch_astro_sunset":"Tramonto","sch_astro_sunsetStart":"Inizio del tramonto","sch_at":"a","sch_desc_atTime":"a %s","sch_desc_everyDay":"ogni giorno","sch_desc_everyHour":"ogni ora","sch_desc_everyMinute":"ogni minuto","sch_desc_everyMonth":"ogni mese","sch_desc_everyNDay":"ogni %s giorno","sch_desc_everyNHours":"ogni %s ore","sch_desc_everyNMinutes":"ogni %s minuti","sch_desc_everyNMonths":"ogni %s mesi","sch_desc_everyNWeeks":"ogni %s settimane","sch_desc_everyNYears":"ogni %s anni","sch_desc_everyWeek":"ogni settimana","sch_desc_everyYear":"ogni anno","sch_desc_intervalFromTo":"da %s a %s","sch_desc_never":"mai","sch_desc_onDate":"su %s di %s","sch_desc_onDates":"su %s e %s di","sch_desc_onEveryDate":"in ogni data di","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s e %s","sch_desc_onWeekday":"su %s","sch_desc_onWeekdays":"su %s e %s","sch_desc_onWeekends":"nei finesettimana","sch_desc_onWorkdays":"nei giorni lavorativi","sch_desc_onceInPast":"non verr\xe0 pi\xf9 eseguito, perch\xe9 start \xe8 nel passato","sch_desc_once_on":"su %s","sch_desc_validFrom":"da %s","sch_desc_validFromTo":"Eseguire da a","sch_desc_validTo":"a %s","sch_every":"ogni","sch_exactTime":"Orario preciso","sch_from":"a partire dal","sch_fromTo":"Da A","sch_intervalTime":"Intervallo di tempo","sch_invert":"invertire","sch_no_one":"nessuna","sch_on":"sopra","sch_period":"Periodo","sch_periodDaily":"Quotidiano","sch_periodDates":"Date","sch_periodDay":"Giorno","sch_periodEvery":"Ogni","sch_periodEveryDay":"Ogni giorno","sch_periodEveryMonth":"Ogni mese","sch_periodEveryWeek":"Ogni settimana","sch_periodEveryYear":"Ogni anno","sch_periodHours":"Ore","sch_periodMinutes":"Minuti","sch_periodMonth":"mese","sch_periodMonthly":"Mensile","sch_periodOnce":"Una volta","sch_periodSpecificMonths":"Mesi specifici","sch_periodWeek":"Settimana","sch_periodWeekdays":"Giorni della settimana","sch_periodWeekend":"Fine settimana","sch_periodWeekly":"settimanalmente","sch_periodWorkdays":"giorni feriali","sch_periodYear":"Anno","sch_periodYearly":"Annuale","sch_specificTime":"Orario preciso","sch_time":"Tempo","sch_to":"per","sch_valid":"Valido","sch_validFrom":"a partire dal","sch_validTo":"per","sch_wholeDay":"Giorno intero","sch_yearEveryMonth":"ogni mese","tooltip_ack":"Riconoscere","tooltip_from":"A partire dal","tooltip_lc":"Ultima modifica","tooltip_quality":"Qualit\xe0","tooltip_ts":"timestamp","tooltip_user":"Utente","tooltip_value":"Valore","use seconds":"usa i secondi","Save all":"Salva tutto","Change theme (actual \\"%s\\")":"Cambia tema (ora - \\"%s\\")"}')},315:function(e){e.exports=JSON.parse('{"-":"-","Add":"Toevoegen","Add new script":"Nieuw script toevoegen","All files will be accepted":"Alle bestanden worden geaccepteerd","April":"april","Are you sure?":"Weet je zeker dat?","August":"augustus","Blockly description":"Regels maken door grafische blokken","Cancel":"annuleren","Cannot delete non empty item!":"Kan niet leeg item niet verwijderen!","Change layout":"Opmaak veranderen","Check blocks":"Controleer blokken","Check is not active, because javascript adapter is disabled":"Controle is niet actief, omdat Javascript-adapter is uitgeschakeld","Clear search input":"Zoekopdracht wissen","Click on this icon":"Klik op dit pictogram","Close":"Dichtbij","Close all but current":"Alles sluiten behalve huidig","Collapse all":"Alles inklappen","Configuration not saved.":"Configuratie niet opgeslagen.","Convert blockly to javascript for ever.":"Converteer direct blockly naar Javascript.","Copy script":"Kopieer script","Copy to clipboard":"Kopieer naar klembord","Create new":"Maak nieuw","Create new folder":"Maak een nieuwe map","Create new script":"Maak een nieuw script","Create or edit CRON or time wizard":"Cre\xeber of bewerk CRON of tijdwizard","Dark Theme":"Donker thema","Dark style":"Donkere stijl","Debug options":"Foutopsporingsopties","December":"december","Define cron...":"Definieer cron ...","Define schedule...":"Definieer schema ...","Delete":"Verwijder","Delete %s":"%s verwijderen ...","Delete folder":"Verwijder map","Delete script":"Script verwijderen","Deselect all":"Deselecteer alles","Discard changes for %s":"Wijzigingen voor %s annuleren","Done":"Gedaan","Drop some files here or click...":"Zet hier enkele bestanden neer of klik op ...","Edit script or just double click":"Bewerk het script of dubbelklik erop","End search mode":"Zoekmodus be\xebindigen","Error":"Fout","Error was found":"Er is een fout gevonden","Existing scripts will be overwritten.":"Bestaande scripts worden overschreven.","Expand all":"Alles uitvouwen","Expert mode":"Expert modus","Export":"Exporteren","Export all scripts":"Exporteer alle scripts","Export blocks":"Blokken exporteren","Export selected blocks":"Exporteer geselecteerde blokken","February":"februari","Folder":"Map","Friday":"vrijdag","Function editor":"Functie-editor","ID":"ID kaart","Import":"Importeren","Import blocks":"Blokken importeren","Import error":"Importfout","Import scripts":"Scripts importeren","Insert object ID":"Object-ID invoegen","Instance":"Voorbeeld","Instance is disabled":"Exemplaar is uitgeschakeld","Invalid CRON":"Ongeldige CRON","It will not be possible to revert this operation.":"Het is niet mogelijk om deze bewerking terug te zetten.","JS description":"Regels maken door Javascript te schrijven","January":"januari","July":"juli","June":"juni","Learn More":"Leer meer","Light style":"Lichte stijl","Locate file":"Vind het bestand","Log outputs":"Log uitgangen","March":"maart","May":"mei","Menu":"Menu","Message":"Bericht","Monday":"maandag","Name":"Naam","No active host found":"Geen actieve host gevonden","November":"november","October":"oktober","Ok":"OK","On weekdays":"Op weekdagen","Pause script":"Pauzeer script","Please select object ID...":"Selecteer object-ID ...","Rename":"andere naam geven","Reorder scripts in folders":"Sorteer scripts in mappen opnieuw","Repeat":"Herhaling","Restart":"Herstarten","Root folder":"Hoofdmap","Run script":"Voer script uit","Saturday":"zaterdag","Save":"Opslaan","Script":"Script","Script %s was modified on disk":"Script %s is gewijzigd op schijf","Script is not running":"Script is niet actief","Search in scripts":"Zoeken in scripts","Search...":"Zoeken...","Select all":"Selecteer alles","September":"september","Show javascript code":"Javascript-code weergeven","Show only paused scripts":"Toon alleen onderbroken scripts","Show only running scripts":"Toon alleen actieve scripts","Show only scripts with problems":"Toon alleen scripts met problemen","Some files will be rejected":"Sommige bestanden worden geweigerd","Sunday":"zondag","TS description":"Regels maken door Typescript te schrijven","Thursday":"donderdag","Tuesday":"dinsdag","Unknown error":"Onbekende fout","Unknown error!":"Onbekende fout!","Wednesday":"woensdag","Yet exists!":"Toch bestaat!","copy":"kopi\xebren","file reading has failed: %s":"bestands lezen is mislukt: %s","file reading was aborted":"bestands lezen is afgebroken","filter_func":"Functie","filter_id":"ID kaart","filter_name":"Naam","filter_role":"Rol","filter_room":"Kamer","for edit or create script":"voor bewerken of een nieuw script maken","no blocks found":"Geen blokken gevonden","no group":"GEEN GROEP","not properly connected":"Dit blok is niet correct verbonden met andere blokken.","sc_cron":"CRON","sc_date":"Datum","sc_dates":"data","sc_dows":"Dag van de week","sc_every":"elk","sc_everyN_dates":"elke N dagen","sc_everyN_dows":"elke N dag van de week","sc_everyN_hours":"elke N uur","sc_everyN_minutes":"elke N minuten","sc_everyN_months":"elke N maanden","sc_everyN_seconds":"elke N seconden","sc_every_dates":"elke dag","sc_every_dows":"elke dag van de week","sc_every_hours":"elk uur","sc_every_minutes":"elke minuut","sc_every_months":"elke maand","sc_every_seconds":"elke seconde","sc_from":"Van","sc_hours":"uren","sc_interval":"Interval","sc_intervalBetween":"Interval tussen","sc_minutes":"Notulen","sc_months":"maanden","sc_once":"Een keer","sc_period":"Periode","sc_seconds":"seconden","sc_simple":"Gemakkelijk","sc_specific":"Specifieke tijd","sc_specific_dates":"specifieke data","sc_specific_dows":"specifieke dag van weken","sc_specific_hours":"specifieke uren","sc_specific_minutes":"specifieke minuten","sc_specific_months":"specifieke maanden","sc_specific_seconds":"specifieke seconden","sc_time":"Tijd","sc_to":"Naar","sc_wizard":"tovenaar","sch_all":"allemaal","sch_astroDay":"Astro-dag","sch_astroNight":"Astro-nacht","sch_astro_dawn":"Dageraad","sch_astro_dusk":"Schemer","sch_astro_goldenHour":"gouden uur","sch_astro_goldenHourEnd":"Gouden uur einde","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Nautische dageraad","sch_astro_nauticalDusk":"Nautische schemering","sch_astro_night":"Nacht","sch_astro_nightEnd":"Nacht einde","sch_astro_solarNoon":"Zonne middag","sch_astro_sunrise":"zonsopkomst","sch_astro_sunriseEnd":"Sunrise einde","sch_astro_sunset":"Zonsondergang","sch_astro_sunsetStart":"Zonsondergang start","sch_at":"Bij","sch_desc_atTime":"op %s","sch_desc_everyDay":"elke dag","sch_desc_everyHour":"elk uur","sch_desc_everyMinute":"elke minuut","sch_desc_everyMonth":"elke maand","sch_desc_everyNDay":"elke %s dag","sch_desc_everyNHours":"elke %s uur","sch_desc_everyNMinutes":"elke %s minuten","sch_desc_everyNMonths":"elke %s maanden","sch_desc_everyNWeeks":"elke %s weken","sch_desc_everyNYears":"elke %s jaar","sch_desc_everyWeek":"elke week","sch_desc_everyYear":"elk jaar","sch_desc_intervalFromTo":"van %s tot %s","sch_desc_never":"nooit","sch_desc_onDate":"op %s van %s","sch_desc_onDates":"op %s en %s van","sch_desc_onEveryDate":"op elke datum van","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s en %s","sch_desc_onWeekday":"op %s","sch_desc_onWeekdays":"op %s en %s","sch_desc_onWeekends":"in het weekend","sch_desc_onWorkdays":"op werkdagen","sch_desc_onceInPast":"zal niet meer worden uitgevoerd, omdat start verleden tijd is","sch_desc_once_on":"op %s","sch_desc_validFrom":"van %s","sch_desc_validFromTo":"Uitvoeren van tot","sch_desc_validTo":"tot %s","sch_every":"elk","sch_exactTime":"Specifieke tijd","sch_from":"van","sch_fromTo":"Van naar","sch_intervalTime":"Interval tijd","sch_invert":"omkeren","sch_no_one":"geen","sch_on":"Aan","sch_period":"Periode","sch_periodDaily":"Dagelijks","sch_periodDates":"data","sch_periodDay":"Dag","sch_periodEvery":"elk","sch_periodEveryDay":"Elke dag","sch_periodEveryMonth":"Elke maand","sch_periodEveryWeek":"Elke week","sch_periodEveryYear":"Elk jaar","sch_periodHours":"uren","sch_periodMinutes":"Notulen","sch_periodMonth":"maand","sch_periodMonthly":"Maandelijks","sch_periodOnce":"Een keer","sch_periodSpecificMonths":"Specifieke maanden","sch_periodWeek":"Week","sch_periodWeekdays":"Doordeweekse dagen","sch_periodWeekend":"Weekend","sch_periodWeekly":"Wekelijks","sch_periodWorkdays":"werkdagen","sch_periodYear":"Jaar","sch_periodYearly":"jaar-","sch_specificTime":"Specifieke tijd","sch_time":"Tijd","sch_to":"naar","sch_valid":"Geldig","sch_validFrom":"van","sch_validTo":"naar","sch_wholeDay":"Hele dag","sch_yearEveryMonth":"elke maand","tooltip_ack":"Erkennen","tooltip_from":"Van","tooltip_lc":"Laatst gewijzigd","tooltip_quality":"Kwaliteit","tooltip_ts":"tijdstempel","tooltip_user":"Gebruiker","tooltip_value":"Waarde","use seconds":"gebruik seconden","Save all":"Sla alles op","Change theme (actual \\"%s\\")":"Thema wijzigen (nu - \\"%s\\")"}')},316:function(e){e.exports=JSON.parse('{"-":"-","Add":"Dodaj","Add new script":"Dodaj nowy skrypt","All files will be accepted":"Wszystkie pliki zostan\u0105 zaakceptowane","April":"kwiecie\u0144","Are you sure?":"Jeste\u015b pewny?","August":"sierpie\u0144","Blockly description":"Tworzenie regu\u0142 za pomoc\u0105 blok\xf3w graficznych","Cancel":"anulowa\u0107","Cannot delete non empty item!":"Nie mo\u017cna usun\u0105\u0107 niepustego elementu!","Change layout":"Zmiana uk\u0142adu","Check blocks":"Sprawd\u017a bloki","Check is not active, because javascript adapter is disabled":"Sprawdzanie nie jest aktywne, poniewa\u017c adapter Javascript jest wy\u0142\u0105czony","Clear search input":"Wyczy\u015b\u0107 dane wyszukiwania","Click on this icon":"Kliknij t\u0119 ikon\u0119","Close":"Blisko","Close all but current":"Zamknij wszystkie opr\xf3cz bie\u017c\u0105cych","Collapse all":"Zwin\u0105\u0107 wszystkie","Configuration not saved.":"Konfiguracja nie zosta\u0142a zapisana.","Convert blockly to javascript for ever.":"Natychmiastowa konwersja blokowa do Javascript.","Copy script":"Skopiuj skrypt","Copy to clipboard":"Skopiuj do schowka","Create new":"Tworzy\u0107 nowe","Create new folder":"Stw\xf3rz nowy folder","Create new script":"Utw\xf3rz nowy skrypt","Create or edit CRON or time wizard":"Utw\xf3rz lub edytuj CRON lub kreator czasu","Dark Theme":"ciemny schemat","Dark style":"Ciemny styl","Debug options":"Opcje debugowania","December":"grudzie\u0144","Define cron...":"Zdefiniuj cron ...","Define schedule...":"Zdefiniuj harmonogram ...","Delete":"Usun\u0105\u0107","Delete %s":"Usu\u0144 %s ...","Delete folder":"Usuni\u0119ty folder","Delete script":"Usu\u0144 skrypt","Deselect all":"Odznacz wszystkie","Discard changes for %s":"Odrzu\u0107 zmiany dla %s","Done":"Gotowy","Drop some files here or click...":"Upu\u015b\u0107 niekt\xf3re pliki tutaj lub kliknij ...","Edit script or just double click":"Edytuj skrypt lub po prostu kliknij dwukrotnie","End search mode":"Zako\u0144cz tryb wyszukiwania","Error":"B\u0142\u0105d","Error was found":"B\u0142\u0105d zosta\u0142 znaleziony","Existing scripts will be overwritten.":"Istniej\u0105ce skrypty zostan\u0105 zast\u0105pione.","Expand all":"Rozwi\u0144 wszystkie","Expert mode":"Tryb ekspercki","Export":"Eksport","Export all scripts":"Wyeksportuj wszystkie skrypty","Export blocks":"Eksportuj bloki","Export selected blocks":"Eksportuj wybrane bloki","February":"luty","Folder":"Teczka","Friday":"pi\u0105tek","Function editor":"Edytor funkcji","ID":"ID","Import":"Import","Import blocks":"Importuj bloki","Import error":"B\u0142\u0105d importowania","Import scripts":"Importuj skrypty","Insert object ID":"Wstaw identyfikator obiektu","Instance":"Instancja","Instance is disabled":"Instancja jest wy\u0142\u0105czona","Invalid CRON":"Nieprawid\u0142owy CRON","It will not be possible to revert this operation.":"Cofni\u0119cie tej operacji nie b\u0119dzie mo\u017cliwe.","JS description":"Tworzenie regu\u0142 przez pisanie Javascript","January":"stycze\u0144","July":"lipiec","June":"czerwiec","Learn More":"Ucz si\u0119 wi\u0119cej","Light style":"Lekki styl","Locate file":"Znajd\u017a plik","Log outputs":"Dane wyj\u015bciowe dziennika","March":"Marsz","May":"Mo\u017ce","Menu":"Menu","Message":"Wiadomo\u015b\u0107","Monday":"poniedzia\u0142ek","Name":"Imi\u0119","No active host found":"Nie znaleziono aktywnego hosta","November":"listopad","October":"pa\u017adziernik","Ok":"Dobrze","On weekdays":"W dni powszednie","Pause script":"Wstrzymaj skrypt","Please select object ID...":"Wybierz identyfikator obiektu ...","Rename":"Przemianowa\u0107","Reorder scripts in folders":"Zmie\u0144 kolejno\u015b\u0107 skrypt\xf3w w folderach","Repeat":"Powtarza\u0107","Restart":"Uruchom ponownie","Root folder":"Folder g\u0142\xf3wny","Run script":"Uruchom skrypt","Saturday":"sobota","Save":"Zapisa\u0107","Script":"Scenariusz","Script %s was modified on disk":"Skrypt %s zosta\u0142 zmodyfikowany na dysku","Script is not running":"Skrypt nie dzia\u0142a","Search in scripts":"Szukaj w skryptach","Search...":"Szukaj...","Select all":"Zaznacz wszystko","September":"wrzesie\u0144","Show javascript code":"Poka\u017c kod JavaScript","Show only paused scripts":"Poka\u017c tylko wstrzymane skrypty","Show only running scripts":"Poka\u017c tylko dzia\u0142aj\u0105ce skrypty","Show only scripts with problems":"Poka\u017c tylko skrypty z problemami","Some files will be rejected":"Niekt\xf3re pliki zostan\u0105 odrzucone","Sunday":"niedziela","TS description":"Tworzenie regu\u0142 przez pisanie maszynopisu","Thursday":"czwartek","Tuesday":"wtorek","Unknown error":"Nieznany b\u0142\u0105d","Unknown error!":"Nieznany b\u0142\u0105d!","Wednesday":"\u015broda","Yet exists!":"A jednak istnieje!","copy":"Kopiuj","file reading has failed: %s":"odczyt pliku nie powi\xf3d\u0142 si\u0119: %s","file reading was aborted":"odczyt pliku zosta\u0142 przerwany","filter_func":"Funkcjonowa\u0107","filter_id":"ID","filter_name":"Imi\u0119","filter_role":"Rola","filter_room":"Pok\xf3j","for edit or create script":"do edycji lub utw\xf3rz nowy skrypt","no blocks found":"Nie znaleziono blok\xf3w","no group":"BRAK GRUPY","not properly connected":"Ten blok nie jest poprawnie pod\u0142\u0105czony do innych blok\xf3w.","sc_cron":"CRON","sc_date":"Data","sc_dates":"Daktyle","sc_dows":"Dzie\u0144 tygodnia","sc_every":"Ka\u017cdy","sc_everyN_dates":"co N dni","sc_everyN_dows":"co N dnia tygodnia","sc_everyN_hours":"co N godzin","sc_everyN_minutes":"co N minut","sc_everyN_months":"co N miesi\u0119cy","sc_everyN_seconds":"co N sekund","sc_every_dates":"codziennie","sc_every_dows":"ka\u017cdy dzie\u0144 tygodnia","sc_every_hours":"co godzin\u0119","sc_every_minutes":"ka\u017cda minuta","sc_every_months":"ka\u017cdego miesi\u0105ca","sc_every_seconds":"ka\u017cda sekunda","sc_from":"Od","sc_hours":"godziny","sc_interval":"Interwa\u0142","sc_intervalBetween":"Interwa\u0142 mi\u0119dzy","sc_minutes":"Minuty","sc_months":"miesi\u0119cy","sc_once":"Pewnego razu","sc_period":"Kropka","sc_seconds":"sekundy","sc_simple":"Prosty","sc_specific":"Okre\u015blony czas","sc_specific_dates":"konkretne daty","sc_specific_dows":"okre\u015blony dzie\u0144 tygodni","sc_specific_hours":"okre\u015blone godziny","sc_specific_minutes":"okre\u015blone minuty","sc_specific_months":"okre\u015blone miesi\u0105ce","sc_specific_seconds":"okre\u015blone sekundy","sc_time":"Czas","sc_to":"Do","sc_wizard":"Czarodziej","sch_all":"wszystko","sch_astroDay":"Dzie\u0144 Astro","sch_astroNight":"Noc Astro","sch_astro_dawn":"\u015awit","sch_astro_dusk":"Zmierzch","sch_astro_goldenHour":"z\u0142ota godzina","sch_astro_goldenHourEnd":"Koniec z\u0142otej godziny","sch_astro_nadir":"Nadir","sch_astro_nauticalDawn":"Morski \u015bwit","sch_astro_nauticalDusk":"Morski zmierzch","sch_astro_night":"Noc","sch_astro_nightEnd":"Koniec nocy","sch_astro_solarNoon":"Po\u0142udnie s\u0142oneczne","sch_astro_sunrise":"wsch\xf3d s\u0142o\u0144ca","sch_astro_sunriseEnd":"Koniec wschodu s\u0142o\u0144ca","sch_astro_sunset":"Zach\xf3d s\u0142o\u0144ca","sch_astro_sunsetStart":"Pocz\u0105tek zachodu s\u0142o\u0144ca","sch_at":"w","sch_desc_atTime":"na %s","sch_desc_everyDay":"codziennie","sch_desc_everyHour":"co godzin\u0119","sch_desc_everyMinute":"ka\u017cda minuta","sch_desc_everyMonth":"ka\u017cdego miesi\u0105ca","sch_desc_everyNDay":"ka\u017cdego dnia %s","sch_desc_everyNHours":"co %s godzin","sch_desc_everyNMinutes":"co %s minut","sch_desc_everyNMonths":"co %s miesi\u0119cy","sch_desc_everyNWeeks":"co %s tygodni","sch_desc_everyNYears":"co %s lat","sch_desc_everyWeek":"co tydzie\u0144","sch_desc_everyYear":"ka\u017cdego roku","sch_desc_intervalFromTo":"od %s do %s","sch_desc_never":"nigdy","sch_desc_onDate":"na %s z %s","sch_desc_onDates":"na %s i %s z","sch_desc_onEveryDate":"w ka\u017cd\u0105 dat\u0119","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s i %s","sch_desc_onWeekday":"na %s","sch_desc_onWeekdays":"na %s i %s","sch_desc_onWeekends":"w weekendy","sch_desc_onWorkdays":"w dni robocze","sch_desc_onceInPast":"nie b\u0119dzie ju\u017c wykonywany, poniewa\u017c start jest w przesz\u0142o\u015bci","sch_desc_once_on":"na %s","sch_desc_validFrom":"z %s","sch_desc_validFromTo":"Wykonaj od do","sch_desc_validTo":"do %s","sch_every":"ka\u017cdy","sch_exactTime":"Okre\u015blony czas","sch_from":"od","sch_fromTo":"Od-do","sch_intervalTime":"Czas przerwy","sch_invert":"odwraca\u0107","sch_no_one":"\u017baden","sch_on":"na","sch_period":"Kropka","sch_periodDaily":"Codziennie","sch_periodDates":"Daktyle","sch_periodDay":"Dzie\u0144","sch_periodEvery":"Ka\u017cdy","sch_periodEveryDay":"Codziennie","sch_periodEveryMonth":"Ka\u017cdego miesi\u0105ca","sch_periodEveryWeek":"Co tydzie\u0144","sch_periodEveryYear":"Ka\u017cdego roku","sch_periodHours":"godziny","sch_periodMinutes":"Minuty","sch_periodMonth":"miesi\u0105c","sch_periodMonthly":"Miesi\u0119czny","sch_periodOnce":"Pewnego razu","sch_periodSpecificMonths":"Okre\u015blone miesi\u0105ce","sch_periodWeek":"Tydzie\u0144","sch_periodWeekdays":"Dni powszednie","sch_periodWeekend":"Weekend","sch_periodWeekly":"Co tydzie\u0144","sch_periodWorkdays":"Dni robocze","sch_periodYear":"Rok","sch_periodYearly":"Rocznie","sch_specificTime":"Okre\u015blony czas","sch_time":"Czas","sch_to":"do","sch_valid":"Wa\u017cny","sch_validFrom":"od","sch_validTo":"do","sch_wholeDay":"Ca\u0142y dzie\u0144","sch_yearEveryMonth":"ka\u017cdego miesi\u0105ca","tooltip_ack":"Uzna\u0107","tooltip_from":"Od","tooltip_lc":"Ostatnia zmiana","tooltip_quality":"Jako\u015b\u0107","tooltip_ts":"Znak czasu","tooltip_user":"U\u017cytkownik","tooltip_value":"Warto\u015b\u0107","use seconds":"u\u017cyj sekund","Save all":"Zapisz wszystko","Change theme (actual \\"%s\\")":"Zmie\u0144 motyw (teraz - \u201e%s\u201d)"}')},317:function(e){e.exports=JSON.parse('{"-":"-","Add":"Adicionar","Add new script":"Adicionar novo script","All files will be accepted":"Todos os arquivos ser\xe3o aceitos","April":"abril","Are you sure?":"Voc\xea tem certeza?","August":"agosto","Blockly description":"Criando regras por blocos gr\xe1ficos","Cancel":"Cancelar","Cannot delete non empty item!":"N\xe3o pode ser deletar, porque n\xe3o est\xe1 vazio!","Change layout":"Alterar layout","Check blocks":"Verificar blocos","Check is not active, because javascript adapter is disabled":"A verifica\xe7\xe3o de sintaxe n\xe3o est\xe1 ativa porque o adaptador javascript n\xe3o est\xe1 rodando.","Clear search input":"Limpar entrada de pesquisa","Click on this icon":"Clique neste \xedcone","Close":"Fechar","Close all but current":"Fechar tudo, menos atual","Collapse all":"Recolher todos","Configuration not saved.":"Configura\xe7\xe3o n\xe3o esta salva.","Convert blockly to javascript for ever.":"Converter Blockly em Javascript permanentemente.","Copy script":"Copiar script","Copy to clipboard":"Copiar para \xe1rea de transfer\xeancia","Create new":"Crie um novo","Create new folder":"Criar nova pasta","Create new script":"Criar novo script","Create or edit CRON or time wizard":"Criar ou editar o assistente cron ou o assistente de hor\xe1rio","Dark Theme":"Layout escuro","Dark style":"Estilo escuro","Debug options":"Op\xe7\xf5es de depura\xe7\xe3o","December":"dezembro","Define cron...":"Definir cron...","Define schedule...":"Definir agendamento ...","Delete":"Deletar","Delete %s":"Deletar %s...","Delete folder":"Deletar pasta","Delete script":"Deletar script","Deselect all":"Desmarcar todos","Discard changes for %s":"Descartar altera\xe7\xf5es para %s","Done":"Completo","Drop some files here or click...":"Solte alguns arquivos aqui ou clique em...","Edit script or just double click":"Edite o script ou clique duas vezes","End search mode":"Finalizar modo de pesquisa","Error":"Erro","Error was found":"Erro foi encontrado","Existing scripts will be overwritten.":"Os scripts existentes ser\xe3o substitu\xeddos.","Expand all":"Expandir todos","Expert mode":"Modo de especialista","Export":"Exporta\xe7\xe3o","Export all scripts":"Exportar todos os scripts","Export blocks":"Exportar blocos","Export selected blocks":"Exportar blocos selecionados","February":"fevereiro","Folder":"Pasta","Friday":"sexta","Function editor":"Editor de fun\xe7\xf5es","ID":"ID","Import":"Importar","Import blocks":"Importar blocos","Import error":"Erro de importa\xe7\xe3o","Import scripts":"Importar script","Insert object ID":"Inserir ID do objeto","Instance":"Inst\xe2ncia","Instance is disabled":"Inst\xe2ncia est\xe1 desativada","Invalid CRON":"CRON inv\xe1lido","It will not be possible to revert this operation.":"N\xe3o ser\xe1 poss\xedvel reverter esta opera\xe7\xe3o.","JS description":"Criando regras escrevendo Javascript","January":"janeiro","July":"julho","June":"junho","Learn More":"Aprender mais","Light style":"Estilo claro","Locate file":"Localize o arquivo","Log outputs":"Sa\xeddas de log","March":"mar\xe7o","May":"maio","Menu":"Menu","Message":"mensagem","Monday":"segunda","Name":"Nome","No active host found":"Nenhum host ativo encontrado","November":"novembro","October":"outubro","Ok":"Ok","On weekdays":"Nos dias \xfateis","Pause script":"Pausar script","Please select object ID...":"Selecione o ID do objeto...","Rename":"Renomear","Reorder scripts in folders":"Reordenar scripts em pastas","Repeat":"Repetir","Restart":"Reiniciar","Root folder":"Pasta principal","Run script":"Executar script","Saturday":"s\xe1bado","Save":"Salve","Script":"Script","Script %s was modified on disk":"O script \\"%s\\" foi modificado no disco r\xedgido","Script is not running":"Script n\xe3o est\xe1 sendo executado","Search in scripts":"Pesquisa em scripts","Search...":"Procurar...","Select all":"Selecionar tudo","September":"setembro","Show javascript code":"Mostrar c\xf3digo Javascript","Show only paused scripts":"Mostrar apenas scripts pausados","Show only running scripts":"Mostrar apenas scripts em execu\xe7\xe3o","Show only scripts with problems":"Mostrar apenas scripts com problemas","Some files will be rejected":"Alguns arquivos ser\xe3o rejeitados","Sunday":"domingo","TS description":"Criando regras escrevendo Typecript","Thursday":"quinta","Tuesday":"ter\xe7a","Unknown error":"Erro desconhecido","Unknown error!":"Erro desconhecido!","Wednesday":"quarta","Yet exists!":"Ainda existe!","copy":"copiar","file reading has failed: %s":"a leitura do arquivo falhou: %s","file reading was aborted":"a leitura do arquivo foi abortada","filter_func":"Fun\xe7\xe3o","filter_id":"ID","filter_name":"Nome","filter_role":"Tipo","filter_room":"Quarto","for edit or create script":"para editar ou criar um novo script","no blocks found":"Nenhum bloco encontrado","no group":"SEM GRUPO","not properly connected":"Este bloco n\xe3o est\xe1 conectado corretamente com outros blocos.","sc_cron":"CRON","sc_date":"Data","sc_dates":"Dias","sc_dows":"Dia da semana","sc_every":"todos","sc_everyN_dates":"a cada N dias","sc_everyN_dows":"todos os N dias da semana","sc_everyN_hours":"a cada N horas","sc_everyN_minutes":"a cada N minutos","sc_everyN_months":"a cada N meses","sc_everyN_seconds":"a cada N segundos","sc_every_dates":"todo dia","sc_every_dows":"todos os dias da semana","sc_every_hours":"toda hora","sc_every_minutes":"todo minuto","sc_every_months":"todo m\xeas","sc_every_seconds":"todo segundo","sc_from":"de","sc_hours":"horas","sc_interval":"intervalo","sc_intervalBetween":"intervalo entre","sc_minutes":"minutos","sc_months":"meses","sc_once":"uma vez","sc_period":"per\xedodo","sc_seconds":"segundos","sc_simple":"simples","sc_specific":"tempo espec\xedfico","sc_specific_dates":"datas espec\xedficas","sc_specific_dows":"dia espec\xedfico de semanas","sc_specific_hours":"horas espec\xedficas","sc_specific_minutes":"minutos espec\xedficos","sc_specific_months":"meses espec\xedficos","sc_specific_seconds":"segundos espec\xedficos","sc_time":"tempo","sc_to":"para","sc_wizard":"assistente","sch_all":"tudo","sch_astroDay":"dia astral","sch_astroNight":"noite astral","sch_astro_dawn":"amanhecer","sch_astro_dusk":"anoitecer","sch_astro_goldenHour":"hora dourada","sch_astro_goldenHourEnd":"Fim da hora dourada","sch_astro_nadir":"nadir","sch_astro_nauticalDawn":"Amanhecer n\xe1utico","sch_astro_nauticalDusk":"Anoitecer n\xe1utico","sch_astro_night":"noite","sch_astro_nightEnd":"fim da noite","sch_astro_solarNoon":"meio-dia solar","sch_astro_sunrise":"nascer do sol","sch_astro_sunriseEnd":"fim do nascer do sol","sch_astro_sunset":"p\xf4r do sol","sch_astro_sunsetStart":"in\xedcio do p\xf4r do sol","sch_at":"\xe0s","sch_desc_atTime":"em %s","sch_desc_everyDay":"todo dia","sch_desc_everyHour":"toda hora","sch_desc_everyMinute":"todo minuto","sch_desc_everyMonth":"todo m\xeas","sch_desc_everyNDay":"a cada %s dias","sch_desc_everyNHours":"a cada %s horas","sch_desc_everyNMinutes":"a cada %s minutos","sch_desc_everyNMonths":"a cada %s meses","sch_desc_everyNWeeks":"a cada %s semanas","sch_desc_everyNYears":"a cada %s anos","sch_desc_everyWeek":"toda semana","sch_desc_everyYear":"todo ano","sch_desc_intervalFromTo":"de %s para %s","sch_desc_never":"nunca","sch_desc_onDate":"em %s de %s","sch_desc_onDates":"em %s e %s de","sch_desc_onEveryDate":"em toda data de","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s e %s","sch_desc_onWeekday":"em %s","sch_desc_onWeekdays":"em %s e %s","sch_desc_onWeekends":"nos fins de semana","sch_desc_onWorkdays":"em dias \xfateis","sch_desc_onceInPast":"n\xe3o ser\xe1 mais executado, porque o come\xe7o est\xe1 no passado","sch_desc_once_on":"em %s","sch_desc_validFrom":"de %s","sch_desc_validFromTo":"Executar de at\xe9","sch_desc_validTo":"at\xe9 %s","sch_every":"cada","sch_exactTime":"tempo espec\xedfico","sch_from":"de","sch_fromTo":"de a\xb4t","sch_intervalTime":"tempo de intervalo","sch_invert":"invertido","sch_no_one":"nenhum","sch_on":"em","sch_period":"per\xedodo","sch_periodDaily":"diariamente","sch_periodDates":"datas","sch_periodDay":"dia","sch_periodEvery":"todos","sch_periodEveryDay":"todo dia","sch_periodEveryMonth":"todo m\xeas","sch_periodEveryWeek":"toda semana","sch_periodEveryYear":"todo ano","sch_periodHours":"horas","sch_periodMinutes":"minutos","sch_periodMonth":"m\xeas","sch_periodMonthly":"por m\xeas","sch_periodOnce":"uma vez","sch_periodSpecificMonths":"meses espec\xedficos","sch_periodWeek":"semana","sch_periodWeekdays":"dias \xfateis","sch_periodWeekend":"final de semana","sch_periodWeekly":"semanal","sch_periodWorkdays":"dias \xfateis","sch_periodYear":"ano","sch_periodYearly":"anual","sch_specificTime":"tempo espec\xedfico","sch_time":"tempo","sch_to":"para","sch_valid":"v\xe1lido","sch_validFrom":"de","sch_validTo":"para","sch_wholeDay":"dia inteiro","sch_yearEveryMonth":"todo m\xeas","tooltip_ack":"reconhecer","tooltip_from":"de","tooltip_lc":"\xdaltima altera\xe7\xe3o","tooltip_quality":"Qualidade","tooltip_ts":"timestamp","tooltip_user":"usu\xe1rio","tooltip_value":"valor","use seconds":"use segundos","Save all":"Salvar tudo","Change theme (actual \\"%s\\")":"Alterar tema (agora - \\"%s\\")"}')},318:function(e){e.exports=JSON.parse('{"-":"-","Add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c","Add new script":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","All files will be accepted":"\u0412\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u043d\u044f\u0442\u044b","April":"\u0410\u043f\u0440\u0435\u043b\u044c","Are you sure?":"\u0423\u0432\u0435\u0440\u0435\u043d\u044b \u043b\u0438 \u0432\u044b?","August":"\u0410\u0432\u0433\u0443\u0441\u0442","Blockly description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438","Cancel":"\u041e\u0442\u043c\u0435\u043d\u0430","Cannot delete non empty item!":"\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043d\u0435\u043f\u0443\u0441\u0442\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442!","Change layout":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u043a\u0435\u0442","Check blocks":"\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Check is not active, because javascript adapter is disabled":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0430\u0434\u0430\u043f\u0442\u0435\u0440 Javascript \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d","Clear search input":"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0432\u0432\u043e\u0434","Click on this icon":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0437\u043d\u0430\u0447\u043e\u043a","Close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","Close all but current":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0432\u0441\u0435 \u043a\u0440\u043e\u043c\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e","Collapse all":"\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435","Configuration not saved.":"\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430.","Convert blockly to javascript for ever.":"\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c blockly \u0432 Javascript \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430.","Copy script":"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Copy to clipboard":"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430","Create new":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439","Create new folder":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u0430\u043f\u043a\u0443","Create new script":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","Create or edit CRON or time wizard":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043b\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 CRON \u0438\u043b\u0438 \u043c\u0430\u0441\u0442\u0435\u0440\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438","Dark Theme":"\u0422\u0451\u043c\u043d\u0430\u044f \u0442\u0435\u043c\u0430","Dark style":"\u0422\u0435\u043c\u043d\u044b\u0439 \u0441\u0442\u0438\u043b\u044c","Debug options":"\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043e\u0442\u043b\u0430\u0434\u043a\u0438","December":"\u0414\u0435\u043a\u0430\u0431\u0440\u044c","Define cron...":"\u0417\u0430\u0434\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u043e ...","Define schedule...":"\u0417\u0430\u0434\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435...","Delete":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c","Delete %s":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c %s...","Delete folder":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0430\u043f\u043a\u0443","Delete script":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Deselect all":"\u0423\u0431\u0440\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435","Discard changes for %s":"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f %s","Done":"\u0413\u043e\u0442\u043e\u0432\u043e","Drop some files here or click...":"\u041f\u0435\u0440\u0435\u0442\u044b\u0449\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u0444\u0430\u0439\u043b\u044b \u0438\u043b\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 ...","Edit script or just double click":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0432\u0430\u0436\u0434\u044b \u0449\u0435\u043b\u043a\u043d\u0443\u0442\u044c","End search mode":"\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a","Error":"\u041e\u0448\u0438\u0431\u043a\u0430","Error was found":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0431\u044b\u043b\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430","Existing scripts will be overwritten.":"\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b.","Expand all":"\u0420\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0432\u0441\u0435","Expert mode":"\u042d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c","Export":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442","Export all scripts":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432\u0441\u0435\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432","Export blocks":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Export selected blocks":"\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438","February":"\u0424\u0435\u0432\u0440\u0430\u043b\u044c","Folder":"\u041f\u0430\u043f\u043a\u0430","Friday":"\u043f\u044f\u0442\u043d\u0438\u0446\u0430","Function editor":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0438","ID":"ID","Import":"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c","Import blocks":"\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438","Import error":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u0430","Import scripts":"\u0418\u043c\u043f\u043e\u0440\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432","Insert object ID":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430","Instance":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440","Instance is disabled":"\u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d","Invalid CRON":"\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 CRON","It will not be possible to revert this operation.":"\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u044d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e.","JS description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u0443\u0442\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f Javascript","January":"\u042f\u043d\u0432\u0430\u0440\u044c","July":"\u0418\u044e\u043b\u044c","June":"\u0418\u044e\u043d\u044c","Learn More":"\u0423\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435","Light style":"\u0421\u0432\u0435\u0442\u043b\u044b\u0439 \u0441\u0442\u0438\u043b\u044c","Locate file":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u0432 \u0434\u0435\u0440\u0435\u0432\u0435","Log outputs":"\u0416\u0443\u0440\u043d\u0430\u043b","March":"\u041c\u0430\u0440\u0442","May":"\u041c\u0430\u0439","Menu":"\u041c\u0435\u043d\u044e","Message":"\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435","Monday":"\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","Name":"\u0418\u043c\u044f","No active host found":"\u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0439 host \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d","November":"\u041d\u043e\u044f\u0431\u0440\u044c","October":"\u041e\u043a\u0442\u044f\u0431\u0440\u044c","Ok":"Ok","On weekdays":"\u041f\u043e \u0434\u043d\u044f\u043c \u043d\u0435\u0434\u0435\u043b\u0438","Pause script":"\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Please select object ID...":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430 ...","Rename":"\u041f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c","Reorder scripts in folders":"\u0421\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432 \u043f\u0430\u043f\u043a\u0430\u0445","Repeat":"\u041f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0435","Restart":"\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c","Root folder":"\u041a\u043e\u0440\u043d\u0435\u0432\u0430\u044f \u043f\u0430\u043f\u043a\u0430","Run script":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442","Saturday":"\u0441\u0443\u0431\u0431\u043e\u0442\u0430","Save":"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c","Script":"\u0441\u043a\u0440\u0438\u043f\u0442","Script %s was modified on disk":"\u0421\u043a\u0440\u0438\u043f\u0442 \\"%s\\" \u0431\u044b\u043b \u0438\u0437\u043c\u0435\u043d\u0435\u043d \u043d\u0430 \u0434\u0438\u0441\u043a\u0435","Script is not running":"\u0421\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d","Search in scripts":"\u041f\u043e\u0438\u0441\u043a \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445","Search...":"\u041f\u043e\u0438\u0441\u043a...","Select all":"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435","September":"\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c","Show javascript code":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u0434 Javascript","Show only paused scripts":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438","Show only running scripts":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b","Show only scripts with problems":"\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438","Some files will be rejected":"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u044b","Sunday":"\u0412\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435","TS description":"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0430\u0432\u0438\u043b \u043f\u0443\u0442\u0451\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f Typescript","Thursday":"\u0427\u0435\u0442\u0432\u0435\u0440\u0433","Tuesday":"\u0432\u0442\u043e\u0440\u043d\u0438\u043a","Unknown error":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430","Unknown error!":"\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430!","Wednesday":"\u0441\u0440\u0435\u0434\u0430","Yet exists!":"\u0418\u043c\u044f \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442!","copy":"\u043a\u043e\u043f\u0438\u044f","file reading has failed: %s":"\u041e\u0448\u0438\u0431\u043a\u0430 \u0447\u0442\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430: %s","file reading was aborted":"\u0427\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e","filter_func":"\u0444\u0443\u043d\u043a\u0446\u0438\u044f","filter_id":"ID","filter_name":"\u0438\u043c\u044f","filter_role":"\u0440\u043e\u043b\u044c","filter_room":"\u043a\u043e\u043c\u043d\u0430\u0442\u0430","for edit or create script":"\u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442","no blocks found":"\u0411\u043b\u043e\u043a\u043e\u0432 \u043d\u0435\u0442","no group":"\u041d\u0435\u0442 \u0433\u0440\u0443\u043f\u043f\u044b","not properly connected":"\u042d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0451\u043d \u0438\u043b\u0438 \u043d\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0451\u043d \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0431\u043b\u043e\u043a\u0430\u043c\u0438","sc_cron":"CRON","sc_date":"\u0414\u0430\u0442\u0430","sc_dates":"\u0414\u0430\u0442\u044b","sc_dows":"\u0414\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_every":"\u043a\u0430\u0436\u0434\u044b\u0439(\u0443\u044e/\u044b\u0435)","sc_everyN_dates":"\u043a\u0430\u0436\u0434\u044b\u0439 N \u0434\u0435\u043d\u044c","sc_everyN_dows":"\u043a\u0430\u0436\u0434\u044b\u0439 N \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_everyN_hours":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u0447\u0430\u0441\u043e\u0432","sc_everyN_minutes":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u043c\u0438\u043d\u0443\u0442","sc_everyN_months":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u043c\u0435\u0441\u044f\u0446\u0435\u0432","sc_everyN_seconds":"\u043a\u0430\u0436\u0434\u044b\u0435 N \u0441\u0435\u043a\u0443\u043d\u0434","sc_every_dates":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sc_every_dows":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_every_hours":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0430\u0441","sc_every_minutes":"\u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443","sc_every_months":"\u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","sc_every_seconds":"\u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0435\u043a\u0443\u043d\u0434\u0443","sc_from":"\u041e\u0442","sc_hours":"\u0447\u0430\u0441\u044b","sc_interval":"\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b","sc_intervalBetween":"\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043c\u0435\u0436\u0434\u0443","sc_minutes":"\u043c\u0438\u043d\u0443\u0442\u044b","sc_months":"\u041c\u0435\u0441\u044f\u0446\u044b","sc_once":"\u043e\u0434\u0438\u043d \u0440\u0430\u0437","sc_period":"\u041f\u0435\u0440\u0438\u043e\u0434","sc_seconds":"\u0441\u0435\u043a\u0443\u043d\u0434\u044b","sc_simple":"\u041f\u0440\u043e\u0441\u0442\u043e","sc_specific":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","sc_specific_dates":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0434\u0430\u0442\u044b","sc_specific_dows":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0434\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","sc_specific_hours":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0447\u0430\u0441\u044b","sc_specific_minutes":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043c\u0438\u043d\u0443\u0442\u044b","sc_specific_months":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043c\u0435\u0441\u044f\u0446\u044b","sc_specific_seconds":"\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0441\u0435\u043a\u0443\u043d\u0434\u044b","sc_time":"\u0412\u0440\u0435\u043c\u044f","sc_to":"\u0414\u043e","sc_wizard":"\u0424\u043e\u0440\u043c\u0430","sch_all":"\u0432\u0441\u0435","sch_astroDay":"\u0434\u043d\u0451\u043c","sch_astroNight":"\u043d\u043e\u0447\u044c\u044e","sch_astro_dawn":"\u0420\u0430\u0441\u0441\u0432\u0435\u0442","sch_astro_dusk":"\u0421\u0443\u043c\u0435\u0440\u043a\u0438","sch_astro_goldenHour":"\u0417\u043e\u043b\u043e\u0442\u043e\u0439 \u0447\u0430\u0441","sch_astro_goldenHourEnd":"\u041a\u043e\u043d\u0435\u0446 \u0437\u043e\u043b\u043e\u0442\u043e\u0433\u043e \u0447\u0430\u0441\u0430","sch_astro_nadir":"\u041d\u0430\u0434\u0438\u0440","sch_astro_nauticalDawn":"\u041c\u043e\u0440\u0441\u043a\u043e\u0439 \u0440\u0430\u0441\u0441\u0432\u0435\u0442","sch_astro_nauticalDusk":"\u041c\u043e\u0440\u0441\u043a\u0438\u0435 \u0441\u0443\u043c\u0435\u0440\u043a\u0438","sch_astro_night":"\u041d\u043e\u0447\u044c","sch_astro_nightEnd":"\u041a\u043e\u043d\u0435\u0446 \u043d\u043e\u0447\u0438","sch_astro_solarNoon":"\u0421\u043e\u043b\u043d\u0435\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u0434\u0435\u043d\u044c","sch_astro_sunrise":"\u0412\u043e\u0441\u0445\u043e\u0434","sch_astro_sunriseEnd":"\u0412\u043e\u0441\u0445\u043e\u0434 \u0441\u043e\u043b\u043d\u0446\u0430","sch_astro_sunset":"\u0417\u0430\u0445\u043e\u0434 \u0441\u043e\u043b\u043d\u0446\u0430","sch_astro_sunsetStart":"\u041d\u0430\u0447\u0430\u043b\u043e \u0437\u0430\u043a\u0430\u0442\u0430","sch_at":"\u0434\u0430\u0442\u0430","sch_desc_atTime":"\u0432 %s","sch_desc_everyDay":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sch_desc_everyHour":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0430\u0441","sch_desc_everyMinute":"\u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443","sch_desc_everyMonth":"\u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","sch_desc_everyNDay":"\u043a\u0430\u0436\u0434\u044b\u0439 %s \u0434\u0435\u043d\u044c","sch_desc_everyNHours":"\u043a\u0430\u0436\u0434\u044b\u0439 %s \u0447\u0430\u0441\u043e\u0432","sch_desc_everyNMinutes":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043c\u0438\u043d\u0443\u0442","sch_desc_everyNMonths":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043c\u0435\u0441\u044f\u0446\u0435\u0432","sch_desc_everyNWeeks":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043d\u0435\u0434\u0435\u043b\u044c","sch_desc_everyNYears":"\u043a\u0430\u0436\u0434\u044b\u0435 %s \u043b\u0435\u0442","sch_desc_everyWeek":"\u043a\u0430\u0436\u0434\u0443\u044e \u043d\u0435\u0434\u0435\u043b\u044e","sch_desc_everyYear":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434","sch_desc_intervalFromTo":"\u043e\u0442 %s \u0434\u043e %s","sch_desc_never":"\u043d\u0438\u043a\u043e\u0433\u0434\u0430","sch_desc_onDate":"%s %s","sch_desc_onDates":"%s \u0438 %s","sch_desc_onEveryDate":"\u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s \u0438 %s","sch_desc_onWeekday":"%s","sch_desc_onWeekdays":"%s \u0438 %s","sch_desc_onWeekends":"\u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445","sch_desc_onWorkdays":"\u0432 \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u0434\u043d\u0438","sch_desc_onceInPast":"\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u043e \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c","sch_desc_once_on":"%s","sch_desc_validFrom":"%s","sch_desc_validFromTo":"\u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441","sch_desc_validTo":"%s","sch_every":"\u043a\u0430\u0436\u0434\u044b\u0439","sch_exactTime":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","sch_from":"\u043e\u0442","sch_fromTo":"\u041e\u0442 \u0438 \u0434\u043e","sch_intervalTime":"\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0432\u0440\u0435\u043c\u0435\u043d\u0438","sch_invert":"\u0438\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c","sch_no_one":"\u043d\u0438\u043a\u0430\u043a\u043e\u0439","sch_on":"","sch_period":"\u043f\u0435\u0440\u0438\u043e\u0434","sch_periodDaily":"\u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e","sch_periodDates":"\u0414\u0430\u0442\u044b","sch_periodDay":"\u0414\u0435\u043d\u044c","sch_periodEvery":"\u043a\u0430\u0436\u0434\u044b\u0439","sch_periodEveryDay":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c","sch_periodEveryMonth":"\u041a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","sch_periodEveryWeek":"\u041a\u0430\u0436\u0434\u0443\u044e \u043d\u0435\u0434\u0435\u043b\u044e","sch_periodEveryYear":"\u041a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434","sch_periodHours":"\u0447\u0430\u0441\u043e\u0432","sch_periodMinutes":"\u043c\u0438\u043d\u0443\u0442","sch_periodMonth":"\u043c\u0435\u0441\u044f\u0446","sch_periodMonthly":"\u0435\u0436\u0435\u043c\u0435\u0441\u044f\u0447\u043d\u043e","sch_periodOnce":"\u043e\u0434\u043d\u0430\u0436\u0434\u044b","sch_periodSpecificMonths":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u043c\u0435\u0441\u044f\u0446\u044b","sch_periodWeek":"\u041d\u0435\u0434\u0435\u043b\u044e","sch_periodWeekdays":"\u0411\u0443\u0434\u043d\u0438\u0435 \u0434\u043d\u0438","sch_periodWeekend":"\u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435","sch_periodWeekly":"\u0435\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u043e","sch_periodWorkdays":"\u0420\u0430\u0431\u043e\u0447\u0438\u0435 \u0434\u043d\u0438","sch_periodYear":"\u0413\u043e\u0434","sch_periodYearly":"\u043a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434","sch_specificTime":"\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f","sch_time":"\u0412\u0440\u0435\u043c\u044f","sch_to":"\u0432","sch_valid":"\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439","sch_validFrom":"\u043e\u0442","sch_validTo":"\u0432","sch_wholeDay":"\u0412\u0435\u0441\u044c \u0434\u0435\u043d\u044c","sch_yearEveryMonth":"\u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0435\u0441\u044f\u0446","tooltip_ack":"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e","tooltip_from":"\u041e\u0442","tooltip_lc":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435","tooltip_quality":"\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e","tooltip_ts":"\u0412\u0440\u0435\u043c\u044f","tooltip_user":"\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c","tooltip_value":"\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435","use seconds":"\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u043a\u0443\u043d\u0434\u044b","Save all":"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432\u0441\u0435","Change theme (actual \\"%s\\")":"\u0421\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0435\u043c\u0443 (\u0441\u0435\u0439\u0447\u0430\u0441 - \\"%s\\")"}')},319:function(e){e.exports=JSON.parse('{"-":" -","Add":"\u6dfb\u52a0","Add new script":"\u6dfb\u52a0\u65b0\u811a\u672c","All files will be accepted":"\u6240\u6709\u6587\u4ef6\u90fd\u5c06\u88ab\u63a5\u53d7","April":"\u56db\u6708","Are you sure?":"\u4f60\u786e\u5b9a\u5417\uff1f","August":"\u516b\u6708","Blockly description":"\u6309\u56fe\u5f62\u5757\u521b\u5efa\u89c4\u5219","Cancel":"\u53d6\u6d88","Cannot delete non empty item!":"\u65e0\u6cd5\u5220\u9664\u975e\u7a7a\u9879\u76ee\uff01","Change layout":"\u53d8\u66f4\u7248\u9762","Check blocks":"\u68c0\u67e5\u5757","Check is not active, because javascript adapter is disabled":"\u68c0\u67e5\u672a\u6fc0\u6d3b\uff0c\u56e0\u4e3a\u7981\u7528\u4e86Javascript\u9002\u914d\u5668","Clear search input":"\u6e05\u9664\u641c\u7d22\u8f93\u5165","Click on this icon":"\u5355\u51fb\u6b64\u56fe\u6807","Close":"\u5173\u95ed","Close all but current":"\u5173\u95ed\u6240\u6709\uff08\u5f53\u524d\u9664\u5916\uff09","Collapse all":"\u5168\u90e8\u6536\u7f29","Configuration not saved.":"\u914d\u7f6e\u672a\u4fdd\u5b58\u3002","Convert blockly to javascript for ever.":"\u7acb\u5373\u5c06blockly\u8f6c\u6362\u4e3aJavascript\u3002","Copy script":"\u590d\u5236\u811a\u672c","Copy to clipboard":"\u590d\u5236\u5230\u526a\u8d34\u677f","Create new":"\u521b\u5efa\u65b0\u7684","Create new folder":"\u521b\u5efa\u65b0\u6587\u4ef6\u5939","Create new script":"\u521b\u5efa\u65b0\u811a\u672c","Create or edit CRON or time wizard":"\u521b\u5efa\u6216\u7f16\u8f91\u5468\u671f\u4efb\u52a1\u6216\u65f6\u95f4\u5411\u5bfc","Dark Theme":"\u6df1\u8272\u8c03\u4e3b\u9898","Dark style":"\u6df1\u8272\u8c03\u98ce\u683c","Debug options":"\u8c03\u8bd5\u9009\u9879","December":"\u5341\u4e8c\u6708","Define cron...":"\u5b9a\u4e49\u5468\u671f\u4efb\u52a1...","Define schedule...":"\u5b9a\u4e49\u8c03\u5ea6\u5668......","Delete":"\u5220\u9664","Delete %s":"\u5220\u9664%s...","Delete folder":"\u5220\u9664\u6587\u4ef6\u5939","Delete script":"\u5220\u9664\u811a\u672c","Deselect all":"\u53d6\u6d88\u5168\u9009","Discard changes for %s":"\u653e\u5f03%s\u7684\u66f4\u6539","Done":"\u5b8c\u6210","Drop some files here or click...":"\u5c06\u6587\u4ef6\u62d6\u62fd\u5230\u8fd9\u91cc\u6216\u5355\u51fb......","Edit script or just double click":"\u53cc\u51fb\u7f16\u8f91\u811a\u672c","End search mode":"\u7ed3\u675f\u641c\u7d22\u6a21\u5f0f","Error":"\u9519\u8bef","Error was found":"\u53d1\u73b0\u9519\u8bef","Existing scripts will be overwritten.":"\u73b0\u6709\u811a\u672c\u5c06\u88ab\u8986\u76d6\u3002","Expand all":"\u5c55\u5f00\u5168\u90e8","Expert mode":"\u4e13\u5bb6\u6a21\u5f0f","Export":"\u5bfc\u51fa","Export all scripts":"\u5bfc\u51fa\u6240\u6709\u811a\u672c","Export blocks":"\u5bfc\u51fa\u5757","Export selected blocks":"\u5bfc\u51fa\u9009\u5b9a\u7684\u5757","February":"\u4e8c\u6708","Folder":"\u6587\u4ef6\u5939","Friday":"\u661f\u671f\u4e94","Function editor":"\u529f\u80fd\u7f16\u8f91\u5668","ID":"ID","Import":"\u5bfc\u5165","Import blocks":"\u5bfc\u5165\u5757","Import error":"\u5bfc\u5165\u9519\u8bef","Import scripts":"\u5bfc\u5165\u811a\u672c","Insert object ID":"\u63d2\u5165\u5bf9\u8c61ID","Instance":"\u5b9e\u4f8b","Instance is disabled":"\u5b9e\u4f8b\u5df2\u7981\u7528","Invalid CRON":"\u65e0\u6548\u7684\u5468\u671f\u4efb\u52a1","It will not be possible to revert this operation.":"\u65e0\u6cd5\u6062\u590d\u6b64\u64cd\u4f5c\u3002","JS description":"\u901a\u8fc7\u7f16\u5199Javascript\u6765\u521b\u5efa\u89c4\u5219","January":"\u4e00\u6708","July":"\u4e03\u6708","June":"\u516d\u6708","Learn More":"\u4e86\u89e3\u66f4\u591a","Light style":"\u6d45\u8272\u8c03\u98ce\u683c","Locate file":"\u5b9a\u4f4d\u6587\u4ef6","Log outputs":"\u8bb0\u5f55\u8f93\u51fa","March":"\u4e09\u6708","May":"\u4e94\u6708","Menu":"\u83dc\u5355","Message":"\u4fe1\u606f","Monday":"\u661f\u671f\u4e00","Name":"\u540d\u5b57","No active host found":"\u627e\u4e0d\u5230\u6d3b\u52a8\u4e3b\u673a","November":"\u5341\u4e00\u6708","October":"\u5341\u6708","Ok":"\u786e\u5b9a","On weekdays":"\u5728\u5de5\u4f5c\u65e5","Pause script":"\u6682\u505c\u811a\u672c","Please select object ID...":"\u8bf7\u9009\u62e9\u5bf9\u8c61ID...","Rename":"\u91cd\u547d\u540d","Reorder scripts in folders":"\u91cd\u65b0\u6392\u5e8f\u6587\u4ef6\u5939\u4e2d\u7684\u811a\u672c","Repeat":"\u91cd\u590d","Restart":"\u91cd\u542f","Root folder":"\u6839\u6587\u4ef6\u5939","Run script":"\u8fd0\u884c\u811a\u672c","Saturday":"\u661f\u671f\u516d","Save":"\u4fdd\u5b58","Script":"\u811a\u672c","Script %s was modified on disk":"\u811a\u672c%s\u5df2\u5728\u78c1\u76d8\u4e0a\u4fee\u6539","Script is not running":"\u811a\u672c\u6ca1\u6709\u8fd0\u884c","Search in scripts":"\u5728\u811a\u672c\u4e2d\u641c\u7d22","Search...":"\u641c\u7d22...","Select all":"\u5168\u9009","September":"\u4e5d\u6708","Show javascript code":"\u663e\u793aJavascript\u4ee3\u7801","Show only paused scripts":"\u4ec5\u663e\u793a\u6682\u505c\u7684\u811a\u672c","Show only running scripts":"\u4ec5\u663e\u793a\u6b63\u5728\u8fd0\u884c\u7684\u811a\u672c","Show only scripts with problems":"\u4ec5\u663e\u793a\u6709\u95ee\u9898\u7684\u811a\u672c","Some files will be rejected":"\u6709\u4e9b\u6587\u4ef6\u5c06\u88ab\u62d2\u7edd","Sunday":"\u661f\u671f\u65e5","TS description":"\u901a\u8fc7\u7f16\u5199Typescript\u6765\u521b\u5efa\u89c4\u5219","Thursday":"\u661f\u671f\u56db","Tuesday":"\u661f\u671f\u4e8c","Unknown error":"\u672a\u77e5\u9519\u8bef","Unknown error!":"\u672a\u77e5\u9519\u8bef\uff01","Wednesday":"\u661f\u671f\u4e09","Yet exists!":"\u4e0d\u5b58\u5728\uff01","copy":"\u590d\u5236","file reading has failed: %s":"\u6587\u4ef6\u8bfb\u53d6\u5931\u8d25\uff1a%s","file reading was aborted":"\u6587\u4ef6\u8bfb\u53d6\u4e2d\u6b62","filter_func":"\u529f\u80fd","filter_id":"ID","filter_name":"\u540d\u5b57","filter_role":"\u89d2\u8272","filter_room":"\u623f\u95f4","for edit or create script":"\u7528\u4e8e\u7f16\u8f91\u6216\u521b\u5efa\u811a\u672c","no blocks found":"\u627e\u4e0d\u5230\u5757","no group":"\u6ca1\u6709\u7ec4","not properly connected":"\u6b64\u5757\u672a\u6b63\u786e\u8fde\u63a5\u5230\u5176\u4ed6\u5757\u3002","sc_cron":"\u5468\u671f\u4efb\u52a1","sc_date":"\u65e5\u671f","sc_dates":"\u65e5","sc_dows":"\u661f\u671f","sc_every":"\u6bcf","sc_everyN_dates":"\u6bcfN\u5929","sc_everyN_dows":"\u6bcf\u5468N\u5929","sc_everyN_hours":"\u6bcfN\u5c0f\u65f6\u4e00\u6b21","sc_everyN_minutes":"\u6bcfN\u5206\u949f","sc_everyN_months":"\u6bcfN\u4e2a\u6708","sc_everyN_seconds":"\u6bcfN\u79d2","sc_every_dates":"\u6bcf\u5929","sc_every_dows":"\u4e00\u5468\u7684\u6bcf\u4e00\u5929","sc_every_hours":"\u6bcf\u5c0f\u65f6","sc_every_minutes":"\u6bcf\u5206\u949f","sc_every_months":"\u6bcf\u6708","sc_every_seconds":"\u6bcf\u79d2","sc_from":"\u4ece","sc_hours":"\u5c0f\u65f6","sc_interval":"\u95f4\u9694","sc_intervalBetween":"\u95f4\u9694\u65f6\u95f4","sc_minutes":"\u5206\u949f","sc_months":"\u6708","sc_once":"\u4e00\u6b21","sc_period":"\u5468\u671f","sc_seconds":"\u79d2","sc_simple":"\u7b80\u5355\u6a21\u5f0f","sc_specific":"\u7279\u5b9a\u7684\u65f6\u95f4","sc_specific_dates":"\u7279\u5b9a\u7684\u65e5\u5b50","sc_specific_dows":"\u7279\u5b9a\u7684\u4e00\u5468","sc_specific_hours":"\u7279\u5b9a\u7684\u5c0f\u65f6","sc_specific_minutes":"\u7279\u5b9a\u7684\u5206\u949f","sc_specific_months":"\u7279\u5b9a\u7684\u6708\u4efd","sc_specific_seconds":"\u7279\u5b9a\u7684\u63cf\u8ff0","sc_time":"\u65f6\u95f4","sc_to":"\u81f3","sc_wizard":"\u5411\u5bfc\u6a21\u5f0f","sch_all":"\u5168\u9009","sch_astroDay":"\u5929\u6587\u767d\u5929","sch_astroNight":"\u5929\u6587\u591c\u665a","sch_astro_dawn":"\u9ece\u660e","sch_astro_dusk":"\u9ec4\u660f","sch_astro_goldenHour":"\u9ec4\u91d1\u65f6\u6bb5","sch_astro_goldenHourEnd":"\u9ec4\u91d1\u65f6\u6bb5\u7ed3\u675f","sch_astro_nadir":"\u5929\u5e95","sch_astro_nauticalDawn":"\u822a\u6d77\u9ece\u660e","sch_astro_nauticalDusk":"\u822a\u6d77\u9ec4\u660f","sch_astro_night":"\u591c\u665a","sch_astro_nightEnd":"\u591c\u665a\u7ed3\u675f","sch_astro_solarNoon":"\u6b63\u5348","sch_astro_sunrise":"\u65e5\u51fa","sch_astro_sunriseEnd":"\u65e5\u51fa\u7ed3\u675f","sch_astro_sunset":"\u65e5\u843d","sch_astro_sunsetStart":"\u65e5\u843d\u5f00\u59cb","sch_at":"\u5728","sch_desc_atTime":"\u7684%s","sch_desc_everyDay":"\u6bcf\u5929","sch_desc_everyHour":"\u6bcf\u5c0f\u65f6","sch_desc_everyMinute":"\u6bcf\u5206\u949f","sch_desc_everyMonth":"\u6bcf\u6708","sch_desc_everyNDay":"\u6bcf%s\u5929","sch_desc_everyNHours":"\u6bcf%s\u5c0f\u65f6","sch_desc_everyNMinutes":"\u6bcf%s\u5206\u949f","sch_desc_everyNMonths":"\u6bcf%s\u6708","sch_desc_everyNWeeks":"\u6bcf%s\u5468","sch_desc_everyNYears":"\u6bcf%s\u5e74","sch_desc_everyWeek":"\u6bcf\u5468","sch_desc_everyYear":"\u6bcf\u5e74","sch_desc_intervalFromTo":"\u4ece%s\u5230%s","sch_desc_never":"\u51b3\u4e0d","sch_desc_onDate":"\u5728%s\u7684%s\u4e0a","sch_desc_onDates":"\u5728%s\u548c%s\u4e0a","sch_desc_onEveryDate":"\u5728\u6bcf\u5929","sch_desc_onMonth":"%s","sch_desc_onMonths":"%s\u548c%s","sch_desc_onWeekday":"\u5728%s\u4e0a","sch_desc_onWeekdays":"\u5728%s\u548c%s\u4e0a","sch_desc_onWeekends":"\u5728\u5468\u672b","sch_desc_onWorkdays":"\u5728\u5de5\u4f5c\u65e5","sch_desc_onceInPast":"\u5c06\u4e0d\u518d\u6267\u884c\uff0c\u56e0\u4e3a\u8d77\u59cb\u65f6\u95f4\u5df2\u7ecf\u662f\u8fc7\u53bb\u7684\u65f6\u95f4\u4e86\u3002","sch_desc_once_on":"\u5728%s\u4e0a","sch_desc_validFrom":"\u6765\u81ea%s","sch_desc_validFromTo":"\u4ece\u6267\u884c\u5230","sch_desc_validTo":"\u5230%s","sch_every":"\u6bcf","sch_exactTime":"\u7279\u5b9a\u7684\u65f6\u95f4","sch_from":"\u4ece","sch_fromTo":"\u4ece\u5230","sch_intervalTime":"\u95f4\u9694\u65f6\u95f4","sch_invert":"\u5012\u7f6e","sch_no_one":"\u53d6\u6d88\u5168\u9009","sch_on":"\u7684","sch_period":"\u5468\u671f","sch_periodDaily":"\u6bcf\u5929","sch_periodDates":"\u65e5\u671f","sch_periodDay":"\u5929","sch_periodEvery":"\u6bcf","sch_periodEveryDay":"\u6bcf\u5929","sch_periodEveryMonth":"\u6bcf\u6708","sch_periodEveryWeek":"\u6bcf\u5468","sch_periodEveryYear":"\u6bcf\u5e74","sch_periodHours":"\u5c0f\u65f6","sch_periodMinutes":"\u5206\u949f","sch_periodMonth":"\u6708","sch_periodMonthly":"\u6bcf\u6708\u4e00\u6b21","sch_periodOnce":"\u4e00\u6b21","sch_periodSpecificMonths":"\u7279\u5b9a\u7684\u6708\u4efd","sch_periodWeek":"\u5468","sch_periodWeekdays":"\u5de5\u4f5c\u65e5","sch_periodWeekend":"\u5468\u672b","sch_periodWeekly":"\u6bcf\u5468","sch_periodWorkdays":"\u5de5\u4f5c\u65e5","sch_periodYear":"\u5e74","sch_periodYearly":"\u6bcf\u5e74","sch_specificTime":"\u7279\u5b9a\u7684\u65f6\u95f4","sch_time":"\u65f6\u95f4","sch_to":"\u81f3","sch_valid":"\u751f\u6548","sch_validFrom":"\u4ece","sch_validTo":"\u81f3","sch_wholeDay":"\u4e00\u6574\u5929","sch_yearEveryMonth":"\u6bcf\u6708","tooltip_ack":"\u786e\u8ba4","tooltip_from":"\u4ece","tooltip_lc":"\u4e0a\u4e00\u6b21\u6539\u53d8","tooltip_quality":"\u8d28\u91cf","tooltip_ts":"\u65f6\u95f4\u6233","tooltip_user":"\u7528\u6237","tooltip_value":"\u503c","use seconds":"\u7cbe\u786e\u5230\u79d2","Save all":"\u4fdd\u5b58\u5168\u90e8","Change theme (actual \\"%s\\")":"\u66f4\u6539\u4e3b\u9898\uff08\u73b0\u5728\u4e3a\u201c%s\u201d\uff09"}')},321:function(e,t,s){"use strict";s.r(t);var a=s(1),n=s.n(a),r=s(21),o=s.n(r),i=s(383),c=s(382),l=s(367),d=(s(245),s(95)),p=s(17),h=s(18),u=s(20),m=s(19),g=s(8),y=s(157),f=s.n(y),v=s(9),k=(s(248),s(207)),_=s.n(k),b=s(155),S=s.n(b),w=s(3),E=s.n(w),C=s(128),N=s.n(C),D=s(129),A=s.n(D),O=s(59),I=s.n(O),x=s(63),T=s(163),M=s(4),j=s(391),B=s(375),J=s(191),z=s(156),R=s(193),W=s(195),F=s(194),L=s(152),P=s(387),U=s(388),H=s(376),Y=s(219),Z=s(221),Q=s(192),q=s(189),V=s(386),K=s(150),G=s.n(K),X=s(151),$=s.n(X),ee=s(211),te=s.n(ee),se=s(32),ae=s(92),ne=s.n(ae),re=s(130),oe=s.n(re),ie=s(131),ce=s.n(ie),le=s(178),de=s(183),pe=s(181),he=s(180),ue=s(179),me=s(206),ge=s(190),ye=s(203),fe=s(389),ve=s(31),ke=s.n(ve),_e=s(45),be=s.n(_e),Se=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).handleCancel=function(){a.props.onClose()},a.handleOk=function(){a.props.onRename(a.oldId,a.state.id,a.state.name,a.state.instance),a.props.onClose()},a.handleChange=function(e){a.setState({name:e,id:a.getId(e)})},a.state={name:e.name,id:e.id,instance:e.instance||0},a.isShowInstance=!e.folder&&e.instances&&(e.instance||e.instances[0]||e.instances.length>1),a.prefix=a.getPrefix(e.id),a.oldId=e.id,a}return Object(h.a)(s,[{key:"getPrefix",value:function(e){var t=(e||"").split(".");return t.pop(),t.join(".")}},{key:"getId",value:function(e){return e=(e||"").replace(/[\\/\][*,;'"`<>?\s]/g,"_"),this.prefix+"."+e}},{key:"componentWillReceiveProps",value:function(e){e.name!==this.props.name&&this.setState({name:e.name}),e.id!==this.props.id&&(this.prefix=this.getPrefix(e.id),this.setState({id:e.id}))}},{key:"render",value:function(){var e=this;return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title"},n.a.createElement(de.a,{id:"confirmation-dialog-title"},E.a.t("Rename")),n.a.createElement(pe.a,null,n.a.createElement("form",{noValidate:!0,autoComplete:"off"},n.a.createElement(me.a,{style:{width:"100%"},id:"standard-name",autoFocus:!0,label:E.a.t("Name"),value:this.state.name,onKeyPress:function(t){"Enter"===t.key&&(t.preventDefault(),setTimeout((function(){return e.handleOk()}),200))},onChange:function(t){return e.handleChange(t.target.value)},margin:"normal"}),n.a.createElement(me.a,{id:"standard-name-id",style:{width:"100%"},label:E.a.t("ID"),value:this.state.id,disabled:!0,margin:"normal"}),this.isShowInstance&&n.a.createElement(ge.a,null,n.a.createElement(fe.a,{htmlFor:"instance"},E.a.t("Instance")),n.a.createElement(ye.a,{value:this.state.instance,onChange:function(t){return e.setState({instance:parseInt(t.target.value,10)})},inputProps:{name:"instance",id:"instance"}},this.props.instances.map((function(e){return n.a.createElement(Q.a,{key:e,value:e},e||"0")})))))),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:this.handleOk,color:"primary"},n.a.createElement(be.a,{className:this.props.classes.buttonIcon}),E.a.t("Ok")),n.a.createElement(le.a,{onClick:this.handleCancel},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),E.a.t("Cancel"))))}}]),s}(n.a.Component),we=Object(g.a)((function(e){return{buttonIcon:{marginRight:e.spacing(1)}}}))(Se),Ee=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).handleCancel=function(){a.props.onClose(null)},a.handleOk=function(){a.props.onDelete(a.state.id),a.props.onClose(a.props.value)},a.state={name:e.name,id:e.id},a}return Object(h.a)(s,[{key:"componentWillReceiveProps",value:function(e){e.name!==this.props.name&&this.setState({name:e.name}),e.id!==this.props.id&&this.setState({id:e.id})}},{key:"render",value:function(){return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title"},n.a.createElement(de.a,{id:"confirmation-dialog-title"},E.a.t("Are you sure?")),n.a.createElement(pe.a,null,n.a.createElement(v.j,null),n.a.createElement("span",{style:{fontSize:14,fontWeight:"bold"}},E.a.t("Delete %s",this.state.name))),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:this.handleOk,color:"primary"},n.a.createElement(be.a,{className:this.props.classes.buttonIcon}),E.a.t("Ok")),n.a.createElement(le.a,{onClick:this.handleCancel},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),E.a.t("Cancel"))))}}]),s}(n.a.Component),Ce=Object(g.a)((function(e){return{buttonIcon:{marginRight:e.spacing(1)}}}))(Ee),Ne=s(370),De=s(371),Ae=s(374),Oe=s(373),Ie=s(372),xe=s(208),Te=s.n(xe),Me=s(209),je=s.n(Me),Be=s(210),Je=s.n(Be),ze=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(){var e;Object(p.a)(this,s);for(var a=arguments.length,n=new Array(a),r=0;r1),a}return Object(h.a)(s,[{key:"getId",value:function(e){return e=(e=e||this.state.name||"").replace(/[\\/\][.*,;'"`<>?\s]/g,"_"),(this.state?this.state.parent:this.props.parent)+"."+e}},{key:"componentWillReceiveProps",value:function(e){e.name!==this.props.name&&this.setState({name:e.name})}},{key:"render",value:function(){var e=this;return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,open:!0,"aria-labelledby":"confirmation-dialog-title"},n.a.createElement(de.a,{id:"confirmation-dialog-title"},this.props.title||E.a.t("Create new")),n.a.createElement(pe.a,null,n.a.createElement("form",{noValidate:!0,autoComplete:"off"},n.a.createElement(me.a,{style:{width:"100%"},id:"standard-name",autoFocus:!0,error:!!this.state.error,label:E.a.t("Name"),value:this.state.name,helperText:this.state.error,onKeyPress:function(t){"Enter"===t.key&&(t.preventDefault(),setTimeout((function(){return e.handleOk()}),200))},onChange:function(t){return e.handleChange(t.target.value)},margin:"normal"}),n.a.createElement(ge.a,{style:{minWidth:100}},n.a.createElement(fe.a,{htmlFor:"parent"},E.a.t("Folder")),n.a.createElement(ye.a,{style:{width:"100%"},value:this.state.parent,onChange:function(t){return e.setState({parent:t.target.value})},inputProps:{name:"parent",id:"parent"}},this.props.parents.map((function(t){var s=t.id.split(".");s.splice(0,2);var a=[],r="script.js";return s.forEach((function(t,s){r+="."+t;var n=e.props.parents.find((function(e){return e.id===r}));n?a.push(n.name):a.push(t)})),a.length||a.push(t.name),n.a.createElement(Q.a,{key:t.id,value:t.id},a.join(" / "))})))),n.a.createElement(me.a,{id:"standard-name-id",style:{width:"100%"},label:E.a.t("ID"),value:this.getId(),disabled:!0,margin:"normal"}),this.isShowInstance&&n.a.createElement(ge.a,null,n.a.createElement(fe.a,{htmlFor:"instance"},E.a.t("Instance")),n.a.createElement(ye.a,{value:this.state.instance,onChange:function(t){return e.setState({instance:parseInt(t.target.value,10)})},inputProps:{name:"instance",id:"instance"}},this.props.instances.map((function(e){return n.a.createElement(Q.a,{key:"instance"+e,value:e},e||"0")})))))),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:this.handleOk,disabled:!!this.state.error,color:"primary"},n.a.createElement(be.a,{className:this.props.classes.buttonIcon}),E.a.t("Ok")),n.a.createElement(le.a,{onClick:this.handleCancel},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),E.a.t("Cancel"))))}}]),s}(n.a.Component),Fe=Object(g.a)((function(e){return{buttonIcon:{marginRight:e.spacing(1)}}}))(We),Le=s(182),Pe=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).handleOk=function(){a.props.onClose&&a.props.onClose()},console.log("Error created"),a}return Object(h.a)(s,[{key:"render",value:function(){var e=this;return n.a.createElement(ue.a,{open:!0,maxWidth:"sm",fullWidth:!0,onClose:function(){return e.handleOk()},"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},n.a.createElement(de.a,{className:this.props.classes.titleBackground,classes:{root:this.props.classes.titleColor},id:"alert-dialog-title"},this.props.title||E.a.t("Error")),n.a.createElement(pe.a,null,n.a.createElement(Le.a,{id:"alert-dialog-description"},this.props.text||E.a.t("Unknown error!"))),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:function(){return e.handleOk()},color:"primary",autoFocus:!0},n.a.createElement(be.a,{className:this.props.classes.buttonIcon}),E.a.t("Ok"))))}}]),s}(n.a.Component),Ue=Object(g.a)((function(e){return{titleBackground:{background:e.palette.error.main},titleColor:{color:e.palette.error.contrastText,"&>h2":{color:e.palette.error.contrastText}},buttonIcon:{marginRight:e.spacing(1)}}}))(Pe),He=$.a[400],Ye=te.a[400],Ze=G.a[400],Qe="script.js",qe=Qe+".common",Ve=Qe+".global",Ke={background:"#164477",color:"white"},Ge={Blockly:oe.a,"Javascript/js":ne.a,def:ne.a,"TypeScript/ts":ce.a},Xe=function(e,t,s){return s=s||E.a.getLanguage(),t&&t.common&&t.common.name?"object"===typeof t.common.name?(t.common.name[s]||t.common.name.en||e.replace(/^script\.js./,"")).toString():t.common.name.toString():e.replace(/^script\.js./,"")},$e=function(e){for(var t,s=[{id:Qe,depth:0,index:0,parent:null,title:"root",type:"folder"}],a=Object.keys(e),n=0;n1?o.join("."):null,instance:r.common.engine?parseInt(r.common.engine.split(".").pop(),10)||0:null})}do{t=!1,s.forEach((function(e){if(e.parent&&!s.find((function(t){return t.id===e.parent}))){var a=e.parent.split(".");a.pop(),s.push({id:e.parent,title:e.parent.split(".").pop(),depth:a.length-1,type:"folder",parent:a.length>1?a.join("."):null}),t=!0}}))}while(t);return s.sort((function(e,t){var s=e.id.toLowerCase(),a=t.id.toLowerCase();return"folder"===e.type&&"folder"!==t.type?-1:"folder"===t.type&&"folder"!==e.type||s>a?1:s350?n.a.createElement(L.a,{key:"delete",title:E.a.t("Delete script"),disabled:e.id===Ve||e.id===qe,onClick:function(t){return s.onDelete(e,t)}},n.a.createElement(v.j,null)):null,n.a.createElement(L.a,{key:"openInEdit",title:E.a.t("Edit script or just double click"),onClick:function(t){return s.onEdit(e,t)}},n.a.createElement(v.q,null))]}return this.state.width>350?e.id===Qe||e.id===qe||e.id===Ve||t&&t.length?null:n.a.createElement(L.a,{key:"delete",title:E.a.t("Delete folder"),disabled:e.id===Ve||e.id===qe,onClick:function(t){return s.onDelete(e,t)}},n.a.createElement(v.j,null)):void 0}},{key:"onDelete",value:function(e,t){var s=this;return t&&t.stopPropagation(),new Promise((function(t){"object"!==typeof e?s.setState({deleting:e}):s.setState({deleting:e.id})}))}},{key:"onEdit",value:function(e,t){this.onClick(e,t),this.props.onEdit&&this.props.onEdit(e.id)}},{key:"getTextStyle",value:function(e){return this.state.reorder||"folder"===e.type?{whiteSpace:"nowrap",padding:"0 16px 0 0"}:{width:"calc(100% - ".concat(this.state.width>350?185:137,"px)"),overflow:"hidden",whiteSpace:"nowrap",flex:"none",padding:"0 16px 0 0"}}},{key:"onClick",value:function(e,t){if(t&&t.stopPropagation(),!this.state.reorder&&e){var s=this.ensureSelectedIsVisible(e),a={selected:e.id};s&&(a.expanded=s),this.setState(a),window.localStorage&&window.localStorage.setItem("SideMenu.selected",e.id)}}},{key:"onDblClick",value:function(e,t){t&&t.stopPropagation(),this.state.reorder||("folder"===e.type?this.onToggle(e.id):this.onEdit(e))}},{key:"isFilteredOut",value:function(e){return!(!e.filtered||e.filteredPartly)||(!(!this.state.typeFilter||"folder"===e.type||e.type===this.state.typeFilter)||(!(!this.state.statusFilter||"folder"===e.type||!("running"===this.state.statusFilter&&!e.enabled||"paused"===this.state.statusFilter&&e.enabled)&&("problems"!==this.state.statusFilter||e.enabled&&-1!==this.state.problems.indexOf(e.id)))||e.id===Ve&&!this.state.expertMode))}},{key:"renderListItem",value:function(e,t,s){var a=this;if(e.id===Qe&&!this.state.reorder)return null;var r=16*(this.state.reorder?e.depth:e.depth-1),o=e.title;if(this.state.searchText){var i=o.toLowerCase().indexOf(this.state.searchText.toLowerCase());-1!==i&&(o=[n.a.createElement("span",{key:"first"},o.substring(0,i)),n.a.createElement("span",{key:"second",style:{color:"orange"}},o.substring(i,i+this.state.searchText.length)),n.a.createElement("span",{key:"third"},o.substring(i+this.state.searchText.length))])}this.state.isAllZeroInstances||"folder"===e.type||(o=[n.a.createElement("span",{key:"instance",title:E.a.t("Instance"),className:this.props.classes.instances},"[",e.instance,"] "),n.a.createElement("span",{key:"title"},o)]);var c=Object.assign({marginLeft:r,cursor:"folder"===e.type&&this.state.reorder?"default":"inherit",width:"calc(100% - ".concat(r,"px)")},e.id!==this.state.selected||this.state.reorder?{}:Ke);this.state.reorder||(c.opacity=e.filteredPartly?.5:1),e.id===Ve&&e.id!==this.state.selected&&(c.color="#00a200");var l=e.id===Qe;!l&&t&&(l=this.state.expanded.includes(e.id));var d,p={};e.id===Ve?p.color="#356956":e.id===qe&&(p.color="#4899e1"),d="folder"===e.type?Object(M.a)(this.props.classes.folderIcon,this.state.reorder?this.props.classes.folderIconReorder:this.props.classes.folderIconNoReorder):Object(M.a)(this.props.classes.scriptIcon,this.state.reorder?this.props.classes.scriptIconReorder:this.props.classes.scriptIconNoReorder);var h=null;return(s&&s.length||t&&t.length)&&(h=n.a.createElement("span",{className:this.props.classes.childrenCount},s&&s.length!==t.length?"".concat(s.length,"(").concat(t.length,")"):t.length)),n.a.createElement(z.a,{key:e.id,style:c,className:Object(M.a)("folder"===e.type?this.props.classes.folder:this.props.classes.script,this.state.reorder&&"folder"===e.type&&"folder-reorder",this.state.reorder&&"folder"!==e.type&&"script-reorder",this.state.reorder&&this.props.classes.reorder,this.state.reorder&&"folder"!==e.type&&this.props.classes.scriptReorder,this.state.reorder&&"folder"===e.type&&this.props.classes.folderReorder),onClick:function(t){return a.onClick(e,t)},onDoubleClick:function(t){return a.onDblClick(e,t)}},n.a.createElement(R.a,{classes:{root:this.props.classes.listItemIcon}},"folder"===e.type?this.state.reorder||l?n.a.createElement(se.g,{className:d,style:p,onClick:function(t){return!a.state.reorder&&a.onToggle(e.id,t)}}):n.a.createElement(se.f,{className:d,style:p,onClick:function(t){return!a.state.reorder&&a.onToggle(e.id,t)}}):n.a.createElement("img",{className:d,alt:e.type,src:Ge[e.type]||Ge.def})),n.a.createElement(F.a,{classes:{primary:e.id!==this.state.selected||this.state.reorder?void 0:this.props.classes.selected},style:this.getTextStyle(e),primary:n.a.createElement("span",null,o,h)}),n.a.createElement(W.a,null,this.renderItemButtonsOnEnd(e,t)))}},{key:"onDragFinish",value:function(e,t){var s=t+"."+e.split(".").pop();s!==e&&(this.state.listItems.find((function(e){return e.id===s}))&&(s+="_"+E.a.t("copy")),this.props.onRename&&this.props.onRename(e,s))}},{key:"renderOneItem",value:function(e,t,s){var a=this,r=(this.state.statusFilter||this.state.typeFilter)&&e.filter((function(e){return e.parent===t.id&&!a.isFilteredOut(e)})),o=e.filter((function(e){return e.parent===t.id}));if(!this.isFilteredOut(t)&&("folder"!==t.type||!this.state.statusFilter&&!this.state.typeFilter||r.length)){var i,c=this.renderListItem(t,o,r),l=[];return o&&(this.state.reorder||this.state.expanded.includes(t.id)||t.id===Qe)&&(i=o.map((function(t){return a.renderOneItem(e,t)}))),this.state.reorder?"folder"===t.type?l.push(n.a.createElement(et,{key:"droppable_"+t.id,onDrop:function(e){return a.onDragFinish(e.name,t.id)}},n.a.createElement(tt,{key:"draggable_"+t.id,name:t.id},c),i||null)):l.push(n.a.createElement(tt,{key:"draggable_"+t.id,name:t.id},c,i||null)):(l.push(c),i&&i.forEach((function(e){return l.push(e)}))),l}}},{key:"renderAllItems",value:function(e){var t=this,s=e.filter((function(e){return!e.parent})).map((function(s){return t.renderOneItem(e,s)}));return n.a.createElement(J.a,{dense:!0,disablePadding:!0,className:this.props.classes.mainList},s)}},{key:"onAddNew",value:function(e){var t=this;e&&e.stopPropagation();for(var s=this.state.listItems.find((function(e){return e.id===t.state.selected})),a=Qe;s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({choosingType:!0})}},{key:"onCopy",value:function(e,t){e&&e.stopPropagation();for(var s=this.state.listItems.find((function(e){return e.id===t})),a=Qe;s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({copingScript:t})}},{key:"onAddNewFolder",value:function(e){var t=this;e&&e.stopPropagation();for(var s=this.state.listItems.find((function(e){return e.id===t.state.selected})),a=Qe;s&&"folder"!==s.type;)s=this.state.listItems[s.parentIndex];s&&(a=s.id),this.parent=a,this.setState({creatingFolder:!0})}},{key:"onRename",value:function(e){e&&e.stopPropagation(),this.setState({renaming:this.state.selected})}},{key:"getUniqueName",value:function(e){var t=this,s=1,a=E.a.t("Script")+" ";if(e){var n=Xe(e,this.props.scripts[e]),r=n.match(/\d+$/);r?(a=n.replace(/\d+$/,""),s=parseInt(r[0],10)+1):a=n}for(;this.state.listItems.find((function(e){return e.id===t.parent+"."+a.replace(/\.\s/g,"_")+s}));)s++;return a+s}},{key:"getUniqueFolderName",value:function(){for(var e=this,t=1;this.state.listItems.find((function(s){return s.id===e.parent+"."+E.a.t("Folder")+"_"+t}));)t++;return E.a.t("Folder")+" "+t}},{key:"onCloseMenu",value:function(e){this.setState({menuOpened:!1,menuAnchorEl:null,menuAnchorFilterEl:null},e)}},{key:"getFilterBadge",value:function(){return[!0===this.state.statusFilter&&n.a.createElement(v.w,{className:this.props.classes.filterIcon,style:{color:He}}),!1===this.state.statusFilter&&n.a.createElement(v.u,{className:this.props.classes.filterIcon,style:{color:Ze}}),"Blockly"===this.state.typeFilter&&"Bl","Javascript/js"===this.state.typeFilter&&"JS","TypeScript/ts"===this.state.typeFilter&&"TS"]}},{key:"getMainMenu",value:function(e,t){var s=this;return n.a.createElement(Z.a,{key:"menu",id:"long-menu",anchorEl:this.state.menuAnchorEl,open:this.state.menuOpened,onClose:function(){return s.setState({menuOpened:!1,menuAnchorEl:null})},PaperProps:{style:{maxHeight:360}}},this.state.width<=350?n.a.createElement(Q.a,{key:"deleted",disabled:!this.state.selected||this.state.selected===Ve||this.state.selected===qe||e&&e.length,onClick:function(e){e.stopPropagation(),e.preventDefault(),s.state.listItems.find((function(e){return e.parent===s.state.selected}))?s.showError(E.a.t("Cannot delete non empty item!")):s.setState({menuOpened:!1,menuAnchorEl:null},(function(){return s.onDelete(s.state.selected).then((function(){}))}))}},n.a.createElement(v.j,{className:this.props.classes.iconDropdownMenu,style:{color:"red"}}),E.a.t("Delete")):null,n.a.createElement(Q.a,{key:"expertMode",selected:this.state.expertMode,onClick:function(e){e.stopPropagation(),e.preventDefault(),s.onCloseMenu((function(){return s.props.onExpertModeChange&&s.props.onExpertModeChange(!s.state.expertMode)}))}},n.a.createElement(v.v,{className:this.props.classes.iconDropdownMenu,style:{color:"orange"}}),E.a.t("Expert mode")),this.props.onExport&&n.a.createElement(Q.a,{key:"exportAll",onClick:function(e){e.stopPropagation(),e.preventDefault(),s.onCloseMenu((function(){return s.props.onExport()}))}},n.a.createElement(se.c,{className:this.props.classes.iconDropdownMenu}),E.a.t("Export all scripts")),this.props.onImport&&n.a.createElement(Q.a,{key:"import",onClick:function(e){e.stopPropagation(),e.preventDefault(),s.onCloseMenu((function(){return s.props.onImport()}))}},n.a.createElement(se.d,{className:this.props.classes.iconDropdownMenu}),E.a.t("Import scripts")),this.props.onThemeChange&&n.a.createElement(Q.a,{key:"dark",onClick:function(e){return s.onCloseMenu((function(){var e="dark"===s.state.themeName?"blue":"blue"===s.state.themeName?"colored":"colored"===s.state.themeName?"light":"light"===s.state.themeName?"dark":"colored";s.props.onThemeChange(e)}))}},n.a.createElement(v.t,{className:this.props.classes.iconDropdownMenu}),E.a.t('Change theme (actual "%s")',this.state.themeName)),this.props.onAddNew&&n.a.createElement(Q.a,{key:"copy",disabled:!this.state.selected||!t||"folder"===t.type,onClick:function(e){var t=s.state.selected;s.onCloseMenu((function(){return s.onCopy(e,t)}))}},n.a.createElement(v.h,{className:this.props.classes.iconDropdownMenu}),E.a.t("Copy script")))}},{key:"getToolbarButtons",value:function(){var e=this,t=[],s=this.props.classes;if(this.state.searchMode)t.push(n.a.createElement(V.a,{key:"searchInputRoof",rootRef:this.inputRef},n.a.createElement(q.a,{key:"searchInput",value:this.state.searchText,className:s.toolbarSearch,ref:this.inputRef,autoFocus:!0,placeholder:E.a.t("Search..."),onChange:function(t){e.setState({searchText:t.target.value}),e.filterTimer&&clearTimeout(e.filterTimer),e.filterTimer=setTimeout((function(){e.filterTimer=null,e.filterList(!0),e.props.onSearch&&e.props.onSearch(e.state.searchText)}),400)}}))),t.push(n.a.createElement(L.a,{key:"disableSearch",className:s.toolbarButtons,style:{float:"right"},title:E.a.t("End search mode"),onClick:function(t){t.stopPropagation(),e.filterList(!1,(function(){return e.props.onSearch&&e.props.onSearch(e.state.searchText)}))}},n.a.createElement(v.n,null))),this.state.searchText&&t.push(n.a.createElement(L.a,{key:"cleanSearch",mini:"true",title:E.a.t("Clear search input"),className:s.toolbarButtons,style:{marginTop:7,float:"right"},onClick:function(t){t.stopPropagation(),e.setState({searchText:""},(function(){e.filterList(!0),e.props.onSearch&&e.props.onSearch(e.state.searchText)}))}},n.a.createElement(v.g,{fontSize:"small"})));else{if(!this.state.reorder){t.push(n.a.createElement(L.a,{key:"menuButton","aria-label":"More","aria-owns":this.state.menuOpened?"long-menu":void 0,title:E.a.t("Menu"),"aria-haspopup":"true",onClick:function(t){t.stopPropagation(),t.preventDefault(),e.setState({menuOpened:!0,menuAnchorEl:t.currentTarget})}},n.a.createElement(v.s,null)));var a,r=this.state.listItems.find((function(t){return t.id===e.state.selected}));r&&this.state.width<=350&&"folder"===r.type&&(a=this.state.listItems.filter((function(t){return t.parent===e.state.selected}))),t.push(this.getMainMenu(a,r)),t.push(n.a.createElement(L.a,{key:"new-script",title:E.a.t("Create new script"),className:s.toolbarButtons,style:{color:this.state.reorder?"red":"inherit"},onClick:function(t){return e.onAddNew(t)}},n.a.createElement(v.a,null))),t.push(n.a.createElement(L.a,{key:"new-folder",title:E.a.t("Create new folder"),className:s.toolbarButtons,style:{color:this.state.reorder?"red":"inherit"},onClick:function(){return e.onAddNewFolder()}},n.a.createElement(v.i,null)))}t.push(n.a.createElement(L.a,{key:"search",disabled:this.state.reorder,className:s.toolbarButtons,title:E.a.t("Search in scripts"),style:{float:"right",opacity:this.state.reorder?0:1},onClick:function(t){t.stopPropagation(),e.setState({searchMode:!0})}},n.a.createElement(v.B,null))),t.push(n.a.createElement(L.a,{key:"reorder",title:E.a.t("Reorder scripts in folders"),className:s.toolbarButtons,style:{color:this.state.reorder?"red":"inherit",float:"right"},onClick:function(t){t.stopPropagation(),e.setState({reorder:!e.state.reorder})}},n.a.createElement(v.C,null))),!this.state.reorder&&this.state.selected&&this.state.selected!==Ve&&this.state.selected!==qe&&t.push(n.a.createElement(L.a,{className:s.toolbarButtons,title:E.a.t("Rename"),key:"rename",onClick:function(t){return e.onRename(t)}},n.a.createElement(v.l,null)))}return t}},{key:"getFolders",value:function(){var e=[{id:Qe,name:E.a.t("Root folder")}];return this.state.listItems.forEach((function(t){return"folder"===t.type&&e.push({id:t.id,name:t.title})})),e}},{key:"onCollapseAll",value:function(){this.setState({expanded:[]}),this.saveExpanded([])}},{key:"onExpandAll",value:function(){var e=this,t=[];this.state.listItems.forEach((function(s){return e.state.listItems.find((function(e){return e.parent===s.id}))&&t.push(s.id)})),this.setState({expanded:t}),this.saveExpanded(t)}},{key:"getBottomButtons",value:function(){var e=this;return this.state.reorder?null:[n.a.createElement(v.u,{key:"filterByRunning",className:this.props.classes.footerButtons,style:{color:He,opacity:"running"===this.state.statusFilter?1:.3,background:"running"===this.state.statusFilter?"gray":"inherit"},title:E.a.t("Show only running scripts"),onClick:function(t){t.stopPropagation(),t.preventDefault();var s="running"===e.state.statusFilter?"":"running";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),e.setState({statusFilter:s})}}),n.a.createElement(v.w,{key:"filterByPaused",title:E.a.t("Show only paused scripts"),className:this.props.classes.footerButtons,style:{color:Ze,opacity:"paused"===this.state.statusFilter?1:.3,background:"paused"===this.state.statusFilter?"gray":"inherit"},onClick:function(t){var s="paused"===e.state.statusFilter?"":"paused";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),e.setState({statusFilter:s})}}),n.a.createElement(v.u,{key:"filterByProblem",title:E.a.t("Show only scripts with problems"),className:this.props.classes.footerButtons,style:{color:Ye,opacity:"problems"===this.state.statusFilter?1:.3,background:"problems"===this.state.statusFilter?"gray":"inherit"},onClick:function(t){var s="problems"===e.state.statusFilter?"":"problems";window.localStorage&&window.localStorage.setItem("SideMenu.statusFilter",s),e.setState({statusFilter:s})}}),n.a.createElement("img",{key:"filterBlockly",className:this.props.classes.footerButtons,alt:"Blockly",style:{opacity:"Blockly"===this.state.typeFilter?1:.3,background:"Blockly"===this.state.typeFilter?"gray":"inherit"},src:Ge.Blockly||Ge.def,onClick:function(t){var s="Blockly"===e.state.typeFilter?"":"Blockly";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),e.setState({typeFilter:s})}}),n.a.createElement("img",{key:"filterJS",className:this.props.classes.footerButtons,alt:"Javascript",style:{opacity:"Javascript/js"===this.state.typeFilter?1:.3,background:"Javascript/js"===this.state.typeFilter?"gray":"inherit"},src:Ge["Javascript/js"]||Ge.def,onClick:function(t){var s="Javascript/js"===e.state.typeFilter?"":"Javascript/js";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),e.setState({typeFilter:s})}}),n.a.createElement("img",{key:"filterTS",className:this.props.classes.footerButtons,alt:"TypeScript",style:{opacity:"TypeScript/ts"===this.state.typeFilter?1:.3,background:"TypeScript/ts"===this.state.typeFilter?"gray":"inherit"},src:Ge["TypeScript/ts"]||Ge.def,onClick:function(t){var s="TypeScript/ts"===e.state.typeFilter?"":"TypeScript/ts";window.localStorage&&window.localStorage.setItem("SideMenu.typeFilter",s),e.setState({typeFilter:s})}}),n.a.createElement(v.E,{key:"expandAll",className:this.props.classes.footerButtons+" "+this.props.classes.footerButtonsRight,title:E.a.t("Expand all"),onClick:function(){return e.onExpandAll()}}),this.state.expanded.length?n.a.createElement(v.D,{key:"collapseAll",className:this.props.classes.footerButtons+" "+this.props.classes.footerButtonsRight,title:E.a.t("Collapse all"),onClick:function(){return e.onCollapseAll()}}):null]}},{key:"render",value:function(){var e=this,t=this.props.classes,s=this.state.renaming&&this.state.listItems.find((function(t){return t.id===e.state.renaming})),a=this.state.copingScript&&this.props.scripts[this.state.copingScript];return[n.a.createElement(j.a,{key:"drawer",variant:"permanent",className:t.menu,classes:{paper:t.drawerPaper},anchor:"left",onClick:function(){return e.onClick({id:""})}},n.a.createElement("div",{className:t.toolbar},this.getToolbarButtons()),n.a.createElement(B.a,null),n.a.createElement(H.a,{backend:Y.a},n.a.createElement("div",{className:t.innerMenu},this.renderAllItems(this.state.listItems))),n.a.createElement(B.a,null),n.a.createElement("div",{className:t.footer},this.getBottomButtons())),s?n.a.createElement(we,{key:"dialog-rename",name:s.title,title:E.a.t("Rename"),id:this.state.renaming,folder:"folder"===s.type,instance:s.instance,instances:this.props.instances,onClose:function(){return e.setState({renaming:!1})},onRename:function(t,s,a,n){return e.props.onRename&&e.props.onRename(t,s,a,n)}}):null,this.state.deleting?n.a.createElement(Ce,{key:"dialog-delete",name:this.state.listItems.find((function(t){return t.id===e.state.deleting})).title,id:this.state.deleting,onClose:function(){return e.setState({deleting:!1})},onDelete:function(t){return e.props.onDelete&&e.props.onDelete(t)}}):null,this.state.choosingType?n.a.createElement(Re,{key:"dialog-script-type",onClose:function(t){e.setState({choosingType:!1}),t&&e.setState({creatingScript:t})}}):null,this.state.creatingScript?n.a.createElement(Fe,{key:"dialog-new-script",onClose:function(){return e.setState({creatingScript:!1})},title:E.a.t("Create new script"),name:this.getUniqueName(),parents:this.getFolders(),folder:!1,existingItems:this.state.listItems.map((function(e){return e.id})),instance:this.props.instances[0]||0,instances:this.props.instances,type:this.state.creatingScript,parent:this.parent,onAdd:function(t,s,a,n){e.props.onAddNew&&e.props.onAddNew(t,s,!1,a,n)}}):null,this.state.copingScript?n.a.createElement(Fe,{key:"dialog-copy-script",onClose:function(){return e.setState({copingScript:""})},title:E.a.t("Copy script"),name:this.getUniqueName(this.state.copingScript),parents:this.getFolders(),folder:!1,instance:parseInt(a&&a.common&&a.common.engine&&a.common.engine.split(".").pop()||0,10),instances:this.props.instances,type:a&&a.common&&a.common.engineType||"Javascript/js",parent:this.parent,onAdd:function(t,s,a,n){var r=e.state.copingScript&&e.props.scripts[e.state.copingScript];r&&r.common&&(r.common.enabled=!1),e.props.onAddNew&&e.props.onAddNew(t,s,!1,a,n,r&&r.common&&r.common.source)}}):null,this.state.creatingFolder?n.a.createElement(Fe,{key:"dialog-new-folder",onClose:function(){return e.setState({creatingFolder:!1})},title:E.a.t("Create new folder"),parents:this.getFolders(),name:this.getUniqueFolderName(),parent:this.parent,onAdd:function(t,s){e.props.onAddNew&&e.props.onAddNew(t,s,!0)}}):null,this.state.errorText?n.a.createElement(Ue,{onClose:function(){return e.setState({errorText:""})},text:this.state.errorText}):null]}}],[{key:"filterListStatic",value:function(e,t,s,a,n){t=JSON.parse(JSON.stringify(t));var r=!1,o={listItems:t};if(!1!==e&&s&&a){var i=a.toLowerCase();if(t.forEach((function(e){var t=e.title.toLowerCase();e.filteredPartly=!1;var s=-1!==t.indexOf(i);if(!s&&n&&n[e.id]&&n[e.id].common&&n[e.id].common.source)if("Blockly"===n[e.id].common.engineType){var a=n[e.id].common.source.lastIndexOf("//");s=-1!==n[e.id].common.source.substring(0,a).toLowerCase().indexOf(i)}else s=-1!==n[e.id].common.source.toLowerCase().indexOf(i);s?e.filtered&&(e.filtered=!1,r=!0):e.filtered||(e.filtered=!0,r=!0)})),r)for(var c=t.length-1;c>=0;c--){var l=t[c];if(!l.filtered||l.filteredPartly){var d=l;do{d.parent&&t[d.parentIndex]&&(r=!0,t[d.parentIndex].filteredPartly=!0),d=d.parent&&t[d.parentIndex]?t[d.parentIndex]:null}while(d)}}}else t.forEach((function(e){(e.filtered||e.filteredPartly)&&(e.filtered=!1,e.filteredPartly=!1,r=!0)})),!1===e&&(o.searchText="",o.searchMode=!1,r=!0);return r?o:null}},{key:"ensureSelectedIsVisibleStatic",value:function(e,t,s){t=JSON.parse(JSON.stringify(t));var a=!1,n="object"===typeof e?e:s.find((function(t){return t.id===e}));do{(n=n&&n.parent&&s.find((function(e){return e.id===n.parent})))&&-1===t.indexOf(n.id)&&(t.push(n.id),a=!0)}while(n);return a&&t}},{key:"getDerivedStateFromProps",value:function(e,t){var a={},n=!1;if(t.expertMode!==e.expertMode&&(n=!0,a.expertMode=e.expertMode),t.scriptsHash!==e.scriptsHash&&e.scripts){var r=$e(e.scripts||{});if(a.listItems=r,t.searchText){var o=s.filterListStatic(!0,r,t.searchMode,t.searchText,e.scripts);o&&Object.assign(a,o)}var i=s.getIsAllZeroInstancesStatic(r,e.instances||[]),c=s.ensureSelectedIsVisibleStatic(t.selected,t.expanded,t.listItems);a.isAllZeroInstances=i,c&&(a.expanded=c),n=!0}if(t.width!==e.width&&(n=!0,a.width=e.width),t.themeName!==e.themeName&&(n=!0,a.themeName=e.themeName),e.selectId&&t.selected!==e.selectId){var l=t.listItems.find((function(t){return t.id===e.selectId}));if(!t.reorder&&l){var d=s.ensureSelectedIsVisibleStatic(l,t.expanded,t.listItems);a.selected=l.id,d&&(a.expanded=d),n=!0,window.localStorage&&window.localStorage.setItem("SideMenu.selected",l.id)}}return n?a:null}},{key:"getIsAllZeroInstancesStatic",value:function(e,t){var s=!t[0]&&t.length<=1;return s&&e.forEach((function(e){"folder"!==e.type&&0!==e.instance&&(s=!1)})),s}}]),s}(n.a.Component),at=Object(g.a)((function(e){return{drawerPaper:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},toolbar:{height:e.toolbar.height},toolbarButtons:{color:"dark"===e.palette.type?"white !important":"black !important"},toolbarSearch:{width:"calc(100% - 105px)",lineHeight:"34px",marginLeft:5},iconButtons:{width:32,height:32,padding:2},iconDropdownMenu:{paddingRight:5},iconOnTheRight:{position:"absolute",right:10,top:"calc(50% - 8px)"},menu:{width:"100%",height:"100%"},innerMenu:{width:"100%",height:"calc(100% - 76px)",overflowX:"hidden",overflowY:"auto"},listItemIcon:{minWidth:32},filterIcon:{width:18,height:18,borderRadius:2,marginRight:5},scriptIcon:{width:18,height:18,borderRadius:2,marginTop:4,marginBottom:4,marginLeft:8,marginRight:4},folder:{cursor:"pointer",padding:0,userSelect:"none"},folderReorder:{opacity:.3,transitionDuration:"0.5s",transitionProperty:"opacity"},folderIcon:{width:20,height:20},folderIconReorder:{paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},folderIconNoReorder:{cursor:"pointer",paddingTop:4,paddingBottom:4,paddingLeft:8,paddingRight:4},script:{cursor:"pointer",padding:0,userSelect:"none"},scriptReorder:{opacity:1,transitionDuration:"0.5s",transitionProperty:"opacity"},reorder:{},expandButton:{width:37,height:37},selected:Ke,instances:{color:"gray",fontSize:"smaller"},childrenCount:{float:"right",marginRight:5,fontSize:10,opacity:.4},footer:{height:24},footerButtons:{"&:hover":{backgroundColor:"#dbdbdb"},color:"dark"===e.palette.type?"#ffffff":"#111111",cursor:"pointer",marginTop:1,marginRight:2,height:22,width:22},footerButtonsRight:{float:"right"},mainList:{"& .js-folder-dragover>div>li>.folder-reorder":{background:"#40adff"},"& .js-folder-dragging .folder-reorder":{opacity:1},"& .js-folder-dragging .script-reorder":{opacity:.3}}}}))(st),nt=s(133);var rt={},ot=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).state={lines:{},goBottom:!0,selected:null,editing:a.props.editing||[]},a.lastIndex=null,a.messagesEnd=n.a.createRef(),a.logHandlerBound=a.logHandler.bind(Object(x.a)(a)),a}return Object(h.a)(s,[{key:"generateLine",value:function(e){return n.a.createElement("tr",{key:"tr_"+e.ts+"_"+e.message.substr(-10),className:this.props.classes[e.severity]},n.a.createElement("td",{key:"tdTime",className:this.props.classes.trTime},function(e){var t,s=e.getHours();return s<10&&(s="0"+s.toString()),t=s+":",(s=e.getMinutes())<10&&(s="0"+s.toString()),t+=s+":",(s=e.getSeconds())<10&&(s="0"+s.toString()),t+=s+".",(s=e.getMilliseconds())<10?s="00"+s.toString():s<100&&(s="0"+s.toString()),t+=s}(new Date(e.ts))),n.a.createElement("td",{key:"tdSeverity",className:this.props.classes.trSeverity},e.severity),n.a.createElement("td",{key:"tdMessage"},e.message))}},{key:"scrollToBottom",value:function(){this.messagesEnd&&this.messagesEnd.current&&this.messagesEnd.current.scrollIntoView({behavior:"smooth"})}},{key:"logHandler",value:function(e){var t=this.state.lines,s=this.state.editing.find((function(t){return-1!==e.message.indexOf(t)}));if(s){var a=t[s]||[],n=rt[s]||[];a.push(this.generateLine(e));var r=e.severity;"info"!==r&&"warn"!==r||(r+=" ");var o,i=new Date(e.ts);n.push("".concat(i.toLocaleString(),".").concat((o=i.getMilliseconds(),o<10?"00"+o:o<100?"0"+o:o),"\t[").concat(r,"]: ").concat(e.message)),a.length>300&&(a.splice(0,a.length-300),n.splice(0,a.length-300)),rt[s]=n,t[s]=a,this.setState({lines:t})}}},{key:"componentDidMount",value:function(){this.props.socket.registerLogHandler(this.logHandlerBound)}},{key:"componentWillUnmount",value:function(){this.props.socket.unregisterLogHandler(this.logHandlerBound)}},{key:"componentDidUpdate",value:function(){this.state.goBottom&&this.scrollToBottom()}},{key:"onCopy",value:function(){!function(e){var t=window.document.createElement("textarea");t.value=e,window.document.body.appendChild(t),t.select(),window.document.execCommand("copy"),window.document.body.removeChild(t)}((rt[this.state.selected]||[]).join("\n"))}},{key:"clearLog",value:function(){var e=this.state.lines;e[this.state.selected]&&(e[this.state.selected]=[]),rt[this.state.selected]&&(rt[this.state.selected]=[]),this.setState({lines:e})}},{key:"render",value:function(){var e=this,t=this.state.selected&&this.state.lines[this.state.selected];return n.a.createElement("div",{className:this.props.classes.logBox},n.a.createElement("div",{className:this.props.classes.toolbox,key:"toolbox"},n.a.createElement(L.a,{className:this.props.classes.iconButtons,onClick:function(){return e.setState({goBottom:!e.state.goBottom})},color:this.state.goBottom?"secondary":""},n.a.createElement(v.F,null)),t&&t.length?n.a.createElement(L.a,{className:this.props.classes.iconButtons,onClick:function(){return e.clearLog()}},n.a.createElement(v.k,null)):null,t&&t.length?n.a.createElement(L.a,{className:this.props.classes.iconButtons,onClick:function(){return e.onCopy()}},n.a.createElement(v.h,null)):null,this.props.onLayoutChange?n.a.createElement(L.a,{className:this.props.classes.iconButtons,onClick:function(){return e.props.onLayoutChange()},title:E.a.t("Change layout")},n.a.createElement("img",{className:this.props.classes.layoutIcon,alt:"split",src:this.props.verticalLayout?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAACFJREFUeAFjAIJRwP////8PYIKWHCigNQdKj/pn1D+jAABTG16wVQqVpQAAAABJRU5ErkJggg==":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAABtJREFUeAFjAIJRwP8fCj7QkENn/4z6Z5QzCgBjbWaoyx1PqQAAAABJRU5ErkJggg=="})):null),this.state.selected&&t&&t.length?n.a.createElement("div",{className:this.props.classes.logBoxInner,key:"logList"},n.a.createElement("table",{key:"logTable",className:this.props.classes.table},n.a.createElement("tbody",null,t)),n.a.createElement("div",{key:"logScrollPoint",ref:this.messagesEnd,style:{float:"left",clear:"both"}})):n.a.createElement("div",{key:"logList",className:this.props.classes.logBoxInner,style:{paddingLeft:10}},E.a.t("Log outputs")))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var s=!1,a={};if(e.selected!==t.selected){var n=e.selected,r=t.lines;r[n]=r[n]||[],rt[n]=rt[n]||[],a.selected=n,s=!0}if(JSON.stringify(e.editing)!==JSON.stringify(t.editing)){var o=JSON.parse(JSON.stringify(e.editing)),i=t.lines;for(var c in rt)rt.hasOwnProperty(c)&&-1===o.indexOf(c)&&(delete rt[c],delete i[c]);a.editing=o}return s?a:null}}]),s}(n.a.Component),it=Object(nt.withStyles)((function(e){return{logBox:{width:"100%",height:"100%",position:"relative",overflow:"hidden"},logBoxInner:{color:"dark"===e.palette.type?"white":"black",width:"calc(100% - ".concat(34,"px)"),height:"100%",marginLeft:34,overflow:"auto",position:"relative"},info:{background:"dark"===e.palette.type?"darkgrey":"lightgrey",color:(e.palette.type,"black")},error:{background:"#FF0000",color:"dark"===e.palette.type?"black":"white"},warn:{background:"#FF8000",color:"dark"===e.palette.type?"black":"white"},debug:{background:"gray",opacity:.8,color:"dark"===e.palette.type?"black":"white"},silly:{background:"gray",opacity:.6,color:"dark"===e.palette.type?"black":"white"},table:{fontFamily:"monospace",width:"100%"},toolbox:{position:"absolute",top:0,left:0,marginLeft:2,width:34,height:"100%",boxShadow:"2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)"},trTime:{width:90},trSeverity:{width:40,fontWeight:"bold"},iconButtons:{width:32,height:32,padding:4},layoutIcon:{width:24,height:24,background:"dark"===e.palette.type?"#9d9d9d":void 0,borderRadius:"dark"===e.palette.type?30:void 0}}}))(ot),ct=s(184),lt=s(384),dt=s(379),pt=s(197),ht=s(205),ut=s(204),mt=s(213),gt=s.n(mt),yt=s(186);function ft(e){return/^script\.js\.global\./.test(e)}var vt,kt=0,_t=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).state={name:"current",isDark:e.isDark||!1,language:e.language||"javascript",readOnly:e.readOnly||!1,alive:!0,check:!1,searchText:a.props.searchText||"",typingsLoaded:!1},a.runningInstancesStr=JSON.stringify(a.props.runningInstances),a.monacoDiv=null,a.editor=null,a.monaco=window.monaco,a.insert="",a.originalCode=e.code||"",a.typings={},a.lastSearch="",a}return Object(h.a)(s,[{key:"waitForMonaco",value:function(e){var t=this;if(this.monaco&&this.props.runningInstances)e&&e();else{if(this.monaco=window.monaco,this.monacoCounter=this.monacoCounter||0,this.monacoCounter++,!this.monaco&&this.monacoCounter<20)return console.log("wait for monaco loaded"),setTimeout((function(){return t.waitForMonaco(e)}),200);this.monacoCounter>=20&&console.error("Cannot load monaco!")}}},{key:"loadTypings",value:function(e){var t=this;if(this.editor){var s=(e=e||this.props.runningInstances)&&Object.keys(e).find((function(t){return e[t]}));s&&this.props.socket.sendTo(s.replace("system.adapter.",""),"loadTypings",null).then((function(e){t.setState({alive:!0,check:!0,typingsLoaded:!0}),t.setTypeCheck(!0),e.typings?(t.typings=e.typings,t.setEditorTypings(t.state.name)):console.error("failed to load typings: ".concat(e.error))}))}}},{key:"componentDidMount",value:function(){var e=this;if((!this.monaco||!this.props.runningInstances)&&(this.monaco=window.monaco,!this.monaco))return console.log("wait for monaco loaded"),this.waitForMonaco((function(){return e.componentDidMount()}));if(!this.editor){this.props.onRegisterSelect&&this.props.onRegisterSelect((function(){return e.editor.getModel().getValueInRange(e.editor.getSelection())}));var t=this.monaco.languages.typescript.typescriptDefaults.getCompilerOptions();t.target=this.monaco.languages.typescript.ScriptTarget.ES2015,t.allowJs=!0,t.checkJs=!1!==this.props.checkJs,t.noLib=!0,t.lib=[],t.moduleResolution=this.monaco.languages.typescript.ModuleResolutionKind.NodeJs,this.monaco.languages.typescript.typescriptDefaults.setCompilerOptions(t),this.setTypeCheck(!1),this.editor=this.monaco.editor.create(this.monacoDiv,{lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0}),this.editor.onDidChangeModelContent((function(t){return e.onChange(e.editor.getValue())})),this.loadTypings(),this.editor.addCommand(this.monaco.KeyMod.CtrlCmd|this.monaco.KeyCode.KEY_S,(function(){return e.onForceSave()})),setTimeout((function(){return e.highlightText(e.state.searchText)}))}var s={selectOnLineNumbers:!0,scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:this.state.readOnly,language:this.state.language,isDark:this.state.isDark};this.setEditorOptions(s),this.editor.focus(),this.editor.setValue(this.originalCode)}},{key:"setEditorOptions",value:function(e){e&&(e.language&&this.setEditorLanguage(e.language),void 0!==e.readOnly&&this.editor.updateOptions({readOnly:e.readOnly}),void 0!==e.lineWrap&&this.editor.updateOptions({wordWrap:e.lineWrap?"on":"off"}),void 0!==e.typeCheck&&this.setTypeCheck(e.typeCheck),void 0!==e.isDark&&this.monaco.editor.setTheme(e.isDark?"vs-dark":"vs"))}},{key:"componentWillUnmount",value:function(){this.editor&&(this.props.onRegisterSelect&&this.props.onRegisterSelect(null),this.editor.dispose(),this.editor=null)}},{key:"setEditorLanguage",value:function(e){var t=this.editor.getModel(),s=t.getValue(),a=t.uri.path,n="string"===typeof a&&a.indexOf(".")>-1?a.substr(0,a.lastIndexOf(".")):"index",r="javascript"===e?"js":"typescript"===e?"ts":"coffee"===e?"coffee":e;t.dispose();var o="javascript"===e||"typescript"===e?"typescript":e,i=this.monaco.editor.createModel(s,o,this.monaco.Uri.from({path:"".concat(n).concat(kt++,".").concat(r)}));this.editor.setModel(i)}},{key:"setTypeCheck",value:function(e){var t={noSemanticValidation:!this.state.alive||!e,noSyntaxValidation:!this.state.alive};this.monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions(t)}},{key:"setEditorTypings",value:function(){for(var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",s=ft(t),a="".concat(t,".d.ts"),n=[],r=0,o=Object.keys(this.typings);r=0;n--)if("//"===s[n].substring(0,2)){a=s[n].substring(2);break}if("'+e+"");var t=e.replace(/[\n\r]/g,"").match(/(.*)<\/variables>/);if(t){var s=this.Blockly.utils.xml.textToDomDocument(""+t[1]+"");if(s){var a=s.childNodes&&s.childNodes[0]&&s.childNodes[0].childNodes;if(a)for(var n=0;n.*<\/variables>/g,""),window.scripts.loading=!0;var r=this.Blockly.Xml.textToDom(e);if("xml"===r.nodeName)for(var o=0;o';window.scripts.loading=!0;var s=this.Blockly.Xml.textToDom(t);this.Blockly.Xml.domToWorkspace(s,this.blocklyWorkspace),window.scripts.loading=!1}catch(a){console.error(a),setTimeout((function(){return e.setState({error:E.a.t("Cannot extract Blockly code!")})}))}setTimeout((function(){return e.ignoreChanges=!1}),100)}}},{key:"onBlocklyChanged",value:function(){this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange()}},{key:"componentDidUpdate",value:function(){var e=this;if(this.blockly&&(this.didUpdate&&(clearTimeout(this.didUpdate),this.didUpdate=null),!this.blocklyWorkspace)){window.addEventListener("resize",this.onResizeBind,!1),Tt=Tt||this.getToolbox(),vt=vt||this.Blockly.Xml.textToDom(Tt),this.blocklyWorkspace=this.Blockly.inject(this.blockly,{media:"google-blockly/media/",toolbox:vt,zoom:{controls:!0,wheel:!1,startScale:1,maxScale:3,minScale:.3,scaleSpeed:1.2},move:{scrollbars:!0,drag:!0,wheel:!0},trashcan:!0,grid:{spacing:25,length:3,colour:"#ccc",snap:!0}}),window.scripts={blocklyWorkspace:this.blocklyWorkspace},this.blocklyWorkspace.addChangeListener((function(t){if(e.someSelected&&Date.now()-e.someSelectedTime>500){var s=e.blocklyWorkspace.getAllBlocks();e.someSelected=null,s.forEach((function(e){return e.removeSelect()}))}t.type!==e.Blockly.Events.UI&&t.type!==e.Blockly.Events.CREATE&&(e.ignoreChanges||(e.changeTimer&&clearTimeout(e.changeTimer),e.changeTimer=setTimeout((function(){e.changeTimer=null,e.onBlocklyChanged()}),200)))})),this.loadCode(),this.onResize();var t=document.getElementsByClassName("blocklyToolboxDiv")[0];this.blockly.appendChild(t),this.updateBackground(),setTimeout((function(){return e.searchId()}),200)}}},{key:"updateBackground",value:function(){var e=document.getElementsByClassName("blocklyMainBackground")[0];"dark"===this.state.themeType?(e._originalStyle||(e._originalStyle={stroke:e.style.stroke,fill:e.style.fill}),e.style.stroke="#3a3a3a",e.style.fill="#515151"):e._originalStyle&&(e.style.stroke=e._originalStyle.stroke,e.style.fill=e._originalStyle.fill)}},{key:"componentWillUnmount",value:function(){this.blocklyWorkspace&&(this.blocklyWorkspace.dispose(),this.blocklyWorkspace=null,this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=null,window.removeEventListener("resize",this.onResizeBind))}},{key:"onChange",value:function(){this.originalCode=this.blocklyCode2JSCode(),this.props.onChange&&this.props.onChange(this.originalCode)}},{key:"getToolbox",value:function(){var e=window.document.getElementById("toolbox").outerHTML;if(e=e.replace(/{(\w+)}/g,(function(e,t){return window.MSG[t]})),this.Blockly.CustomBlocks){for(var t="",s=E.a.getLanguage(),a=0;a',this.Blockly[n].blocks)this.Blockly[n].blocks.hasOwnProperty(r)&&(t+=this.Blockly[n].blocks[r]);t+=""}e=e.replace("%%CUSTOM_BLOCKS%%",t)}return e}},{key:"renderMessageDialog",value:function(){var e=this;return this.state.message?n.a.createElement(N.a,{key:"dialogMessage",text:"object"===typeof this.state.message?this.state.message.text:this.state.message,title:"object"===typeof this.state.message?this.state.message.title:"",onClose:function(){return e.setState({message:""})}}):null}},{key:"renderErrorDialog",value:function(){var e=this;return this.state.error?n.a.createElement(Ue,{key:"dialogError",text:"object"===typeof this.state.error?this.state.error.text.toString():this.state.error,title:"object"===typeof this.state.error?this.state.error.title:"",onClose:function(){e.blinkBlock&&(e.blocklyBlinkBlock(e.blinkBlock),e.blinkBlock=null),e.setState({error:""})}}):null}},{key:"renderExportDialog",value:function(){var e=this;return this.state.exportText?n.a.createElement(Dt,{key:"dialogExport",theme:this.state.themeType,onClose:function(){return e.setState({exportText:""})},text:this.state.exportText}):null}},{key:"renderImportDialog",value:function(){var e=this;return this.state.importText?n.a.createElement(Ot,{key:"dialogImport",onClose:function(t){e.setState({importText:!1}),e.onImportBlocks(t)}}):null}},{key:"render",value:function(){var e=this;return this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout((function(){e.didUpdate=null,e.componentDidUpdate()}),100),[n.a.createElement("div",{key:"blocklyDOM",ref:function(t){return e.blockly=t},style:{width:"100%",height:"100%",position:"relative"}}),this.renderMessageDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderImportDialog()]):null}}],[{key:"loadJS",value:function(e,t,s){var a=document.createElement("script");try{a.src=e,a.onload=t,a.onreadystatechange=t,a.onerror=t,(s||window.document.body).appendChild(a)}catch(n){console.error("Cannot load "+e+": "+n),t&&t()}}},{key:"loadScripts",value:function(e,t){if(!e||!e.length)return t&&t();var a=e.pop();-1===Mt.indexOf(a)?(Mt.push(a),s.loadJS("../../adapter/"+a+"/blockly.js",(function(){return setTimeout((function(){return s.loadScripts(e,t)}),0)}))):setTimeout((function(){return s.loadScripts(e,t)}),0)}},{key:"loadCustomBlockly",value:function(e,t){var a=[];for(var n in e)e.hasOwnProperty(n)&&e[n]&&n.match(/^system\.adapter\./)&&"adapter"===e[n].type&&e[n].common&&e[n].common.blockly&&(console.log("Detected custom blockly: "+e[n].common.name),a.push(e[n].common.name));s.loadScripts(a,t)}},{key:"loadXMLDoc",value:function(e){return(window.DOMParser?function(e){return(new window.DOMParser).parseFromString(e,"text/xml")}:"undefined"!=typeof window.ActiveXObject&&new window.ActiveXObject("Microsoft.XMLDOM")?function(e){var t=new window.ActiveXObject("Microsoft.XMLDOM");return t.async="false",t.loadXML(e),t}:function(){return null})(e)}}]),s}(n.a.Component),Bt=s(216),Jt=s.n(Bt),zt=s(385),Rt=s(201),Wt=s(378);var Ft=function(e,t,s){var a={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12,SUN:1,MON:2,TUE:3,WED:4,THU:5,FRI:6,SAT:7},n={"* * * * * *":"0/1 * * * * *","@YEARLY":"0 0 1 1 *","@ANNUALLY":"0 0 1 1 *","@MONTHLY":"0 0 1 * *","@WEEKLY":"0 0 * * 0","@DAILY":"0 0 * * *","@HOURLY":"0 * * * *"},r={s:[0,0,59],m:[1,0,59],h:[2,0,23],D:[3,1,31],M:[4,1,12],Y:[6,1970,2099],d:[5,1,7,1]};function o(e){var t=arguments.length<=1||void 0===arguments[1]?0:arguments[1],s=arguments.length<=2||void 0===arguments[2]?9999:arguments[2];return isNaN(e)?a[e]||null:Math.min(+e+t,s)}function i(e,t,s,a){var n=arguments.length<=4||void 0===arguments[4]?0:arguments[4],r=s;for(e[t]||(e[t]=[]);r<=a;)e[t].indexOf(r)<0&&e[t].push(r),r+=n||1;e[t].sort((function(e,t){return e-t}))}function c(e,t,s,a){(t.d&&!t.dc||t.dc&&t.dc.indexOf(a)<0)&&(e.push(function(e){var t,s={};for(t in e)"dc"!==t&&"d"!==t&&(s[t]=e[t].slice(0));return s}(t)),t=e[e.length-1]),i(t,"d",s,s),i(t,"dc",a,a)}function l(e,t,s,n,r,l){var d,p,h=t.schedules,u=h[h.length-1];"L"===e&&(e=(n-1).toString(10)),null!==(d=o(e,l,r))?i(u,s,d,d):null!==(d=o(e.replace("W",""),l,r))?function(e,t,s){var n={},r={};1===s?(i(t,"D",1,3),i(t,"d",a.MON,a.FRI),i(n,"D",2,2),i(n,"d",a.TUE,a.FRI),i(r,"D",3,3),i(r,"d",a.TUE,a.FRI)):(i(t,"D",s-1,s+1),i(t,"d",a.MON,a.FRI),i(n,"D",s-1,s-1),i(n,"d",a.MON,a.THU),i(r,"D",s+1,s+1),i(r,"d",a.TUE,a.FRI)),e.exceptions.push(n),e.exceptions.push(r)}(t,u,d):null!==(d=o(e.replace("L",""),l,r))?c(h,u,d,n-1):2===(p=e.split("#")).length?c(h,u,d=o(p[0],l,r),o(p[1])):function(e,t,s,a,n,r){var c=e.split("/"),l=+c[1],d=c[0];if("*"!==d&&"0"!==d){var p=d.split("-");a=o(p[0],r,n),n=o(p[1],r,n)||n}i(t,s,a,n,l)}(e,u,s,n,r,l)}function d(e){return e.indexOf("#")>-1||e.indexOf("L")>0}function p(e,t){return d(e)&&!d(t)?1:e-t}function h(e){var t,s=+e,a=0;return 0!==s&&isFinite(s)&&(a=(t=s)<0?Math.ceil(t):Math.floor(t)),a}function u(e){var t=e%10;return e+(1===h(e%100/10)?s.ORDINALS.th:1===t?s.ORDINALS.st:2===t?s.ORDINALS.nd:3===t?s.ORDINALS.rd:s.ORDINALS.th)}function m(e){if(e.length<2)return u(e);var t=e.pop();return e.join(", ")+" "+s.and+" "+u(t)}function g(e,t){return"dow"===t?s.DOW[e-1]:"mon"===t?s.MONTH[e-1]:void 0}function y(e,t){if(e.length<2)return g(""+e[0],t);for(var a,n=""+e.pop(),r="",o=0;a=e[o];o++)r.length>0&&(r+=", "),r+=g(a,t);return r+" "+s.and+" "+g(n,t)}function f(e){return e<10?"0"+e:e}return function(e,t){var a=s.Every+" ";if(e.h&&e.m&&e.h.length<=2&&e.m.length<=2&&t&&e.s&&e.s.length<=2){for(var n=[],r=0;r1)for(var c=parseInt(i[1],10),l=parseInt(i[0],10);l<=c;l++)s.push(l);else s.push(parseInt(r[o],10))}(s=s.map((function(e){return parseInt(e,10)}))).sort();for(var d=s.length-1;d>=0;d--)s[d]===s[d+1]&&s.splice(d+1,1);return s}function Qt(e,t){if("object"!==typeof e&&(e=[e]),e.length===t)return"*";var s=[];if(!e.length)return"-";(e=e.map((function(e){return parseInt(e,10)}))).sort((function(e,t){return e-t}));for(var a=e[0],n=e[0],r=1;r60&&(s.period=60),s.period<1&&(s.period=1),s.minutes>60&&(s.minutes=60),s.minutes<1&&(s.minutes=1),s.hours>24&&(s.hours=24),s.hours<1&&(s.hours=1),e.extended)t="".concat(s.minutes>1?"*/"+s.minutes:"*"," ").concat(s.hours>1?"*/"+s.hours:"*"," * * *");else switch(s.unit){case Gt.seconds:t="".concat(s.period>1?"*/"+s.period:"*"," * * * * *");break;case Gt.minutes:t="".concat(s.period>1?"*/"+s.period:"*"," * * * *")}}else if(e.mode===Kt.intervalBetween){var a,n=e.intervalBetween||{};switch(n.timeFrom=n.timeFrom||0,n.timeTo=void 0===n.timeTo?24:n.timeTo,a=0===n.timeFrom&&24===n.timeTo?"*":n.timeFrom!==n.timeTo?n.timeFrom+"-"+n.timeTo:"*",n.period>60&&(n.period=60),n.period<1&&(n.period=1),n.unit=n.unit||Gt.minutes,n.unit){case Gt.seconds:t="".concat(n.period>1?"*/"+n.period:"*"," * ").concat(a," * * ").concat(this.periodArray2text(n.weekdays));break;case Gt.minutes:t="".concat(n.period>1?"*/"+n.period:"*"," ").concat(a," * * ").concat(this.periodArray2text(n.weekdays))}}else if(e.mode===Kt.specific){var r=e.specific||{},o=(r.time||"00:00").split(":"),i=parseInt(o[1],10)||0;i>59&&(i=59),i<0&&(i=0);var c=parseInt(o[0],10)||0;c>23&&(c=59),c<0&&(c=0),t="".concat(i," ").concat(c," * * ").concat(this.periodArray2text(r.weekdays||[]))}else if(e.mode===Kt.once){var l=e.once||{};l.date||(l.date=(new Date).getDate()+"."+$t((new Date).getMonth()+1));var d=(l.time||"00:00").split(":"),p=l.date.split("."),h=parseInt(d[1],10)||0;h>59&&(h=59),h<0&&(h=0);var u=parseInt(d[0],10)||0;u>23&&(u=59),u<0&&(u=0);var m=parseInt(p[0],10)||1;m>31&&(m=31),m<1&&(u=1);var g=parseInt(p[1],10)||1;g>12&&(g=12),g<1&&(g=1),t="".concat(h," ").concat(u," ").concat(m," ").concat(g," *")}return t}}]),s}(n.a.Component),ss=Object(g.a)((function(e){return{mainDiv:{width:"100%",height:"100%",overflow:"auto"},formControl:{margin:0,minWidth:120},formControlMarginRight:{marginRight:5},formControlPaddingTop:{paddingTop:6.2}}}))(ts),as=(s(164),s(380)),ns=(s(160),["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]),rs=["January","February","March","April","May","June","July","August","September","October","November","December"],os="minutes",is="hours",cs=["sunrise","sunriseEnd","goldenHourEnd","solarNoon","goldenHour","sunsetStart","sunset","dusk","nauticalDusk","night","nightEnd","nauticalDawn","dawn","nadir"];function ls(e){return e<10?"0"+e:""+e}var ds={time:{exactTime:!1,start:"00:00",end:"23:59",mode:"hours",interval:1},period:{once:"",days:1,dows:"",dates:"",weeks:0,months:"",years:0,yearMonth:0,yearDate:0},valid:{from:"",to:""}};function ps(e){var t=e.split(".");if(3===t.length)return t[2]+"-"+t[1]+"-"+t[0]}var hs=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a,r;if(Object(p.a)(this,s),(a=t.call(this,e)).props.schedule&&"string"===typeof a.props.schedule&&"{"===a.props.schedule[0])try{r=JSON.parse(a.props.schedule)}catch(o){}return r&&Object.keys(r).length||!a.props.onChange||setTimeout((function(){return a.onChange(a.state.schedule,!0)}),200),r=r||{},(r=Object.assign({},ds,r)).valid.from=r.valid.from||a.now2string(),a.refFrom=n.a.createRef(),a.refTo=n.a.createRef(),a.refOnce=n.a.createRef(),a.state={schedule:r,desc:a.state2text(r)},JSON.stringify(r)!==a.props.schedule&&setTimeout((function(){return a.props.onChange&&a.props.onChange(JSON.stringify(r))}),100),a}return Object(h.a)(s,[{key:"onChange",value:function(e,t){var s=JSON.stringify(e)!==JSON.stringify(this.state.schedule);if(t||s){s&&this.setState({schedule:e,desc:this.state2text(e)});var a=JSON.parse(JSON.stringify(e));if(a.period.once){var n=a.period.once;delete a.period,a.period={once:n},delete a.valid}else if(a.period.days){var r=a.period.days,o=a.period.dows;delete a.period,a.period={days:r},o&&"[]"!==o&&(a.period.dows=o)}else if(a.period.weeks){var i=a.period.weeks,c=a.period.dows;delete a.period,a.period={weeks:i},c&&"[]"!==c&&(a.period.dows=c)}else if(a.period.months){var l=a.period.months,d=a.period.dates;delete a.period,a.period={months:l},d&&"[]"!==d&&(a.period.dates=d)}else if(a.period.years){var p=a.period.years,h=a.period.yearMonth,u=a.period.yearDate;delete a.period,a.period={years:p,yearDate:u},h&&(a.period.yearMonth=h)}if(a.time.exactTime?(delete a.time.end,delete a.time.mode,delete a.time.interval):delete a.time.exactTime,a.valid){if(a.valid.to||delete a.valid.to,1===a.period.days||1===a.period.weeks||1===a.period.months||1===a.period.years){var m=this.string2date(a.valid.from),g=new Date;g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0),m<=g&&delete a.valid.from}a.valid.from||a.valid.to||delete a.valid}this.props.onChange&&this.props.onChange(JSON.stringify(a))}}},{key:"state2text",value:function(e){var t=[],s=this.string2date(e.valid.from);if(e.period.once){var a=this.string2date(e.period.once),n=new Date;if(n.setMilliseconds(0),n.setSeconds(0),n.setMinutes(0),n.setHours(0),aDate.now()&&e.valid.to?t.push(E.a.t("sch_desc_validFromTo",e.valid.from,e.valid.to)):s.getTime()>Date.now()?t.push(E.a.t("sch_desc_validFrom",e.valid.from)):e.valid.to&&t.push(E.a.t("sch_desc_validTo",e.valid.to))),t.join(" ")}},{key:"getTimePeriodElements",value:function(){var e=this,t=this.state.schedule,s=!1,a=!1,r=!1,o=!0;return"00:00"===t.time.start&&"24:00"===t.time.end?(s=!0,o=!1):"sunrise"===t.time.start?(a=!0,o=!1):"sunset"===t.time.start&&(r=!0,o=!1),n.a.createElement("div",{key:"timePeriod",className:this.props.classes.rowDiv},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:!t.time.exactTime,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.exactTime=!1,e.onChange(t)}}),label:E.a.t("sch_intervalTime")})),n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement("div",{className:this.props.classes.settingsDiv},!t.time.exactTime&&n.a.createElement("div",null,n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:o,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="00:00",t.time.end="23:59",e.onChange(t)}}),label:o?"":E.a.t("sch_fromTo")}),o&&[n.a.createElement(me.a,{className:this.props.classes.inputTime,style:{marginRight:10},key:"exactTimeFrom",type:"time",value:this.state.schedule.time.start,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.start=t.target.value,e.onChange(s)},InputLabelProps:{shrink:!0},label:E.a.t("sch_from"),margin:"normal"}),n.a.createElement(me.a,{className:this.props.classes.inputTime,key:"exactTimeTo",type:"time",value:this.state.schedule.time.end,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.end=t.target.value,e.onChange(s)},InputLabelProps:{shrink:!0},label:E.a.t("sch_to"),margin:"normal"})])),!t.time.exactTime&&n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:s,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="00:00",t.time.end="24:00",e.onChange(t)}}),label:E.a.t("sch_wholeDay")})),!t.time.exactTime&&n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:a,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="sunrise",t.time.end="sunset",e.onChange(t)}}),label:E.a.t("sch_astroDay")})),!t.time.exactTime&&n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:r,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.start="sunset",t.time.end="sunrise",e.onChange(t)}}),label:E.a.t("sch_astroNight")}))),!t.time.exactTime&&this.getPeriodSettingsMinutes()))}},{key:"getTimeExactElements",value:function(){var e=this,t=-1!==cs.indexOf(this.state.schedule.time.start);return n.a.createElement("div",{key:"timeExact",className:this.props.classes.rowDiv},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:this.state.schedule.time.exactTime,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.time.exactTime=!0,e.onChange(t)}}),label:E.a.t("sch_exactTime")})),this.state.schedule.time.exactTime&&n.a.createElement(ye.a,{value:t?this.state.schedule.time.start:"00:00",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.start=t.target.value,e.onChange(s)}},n.a.createElement(Q.a,{key:"specific",value:"00:00"},E.a.t("sch_specificTime")),cs.map((function(e){return n.a.createElement(Q.a,{key:e,value:e},E.a.t("sch_astro_"+e))}))),this.state.schedule.time.exactTime&&!t&&n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement(me.a,{className:this.props.classes.inputTime,key:"exactTimeValue",value:this.state.schedule.time.start,type:"time",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.start=t.target.value,e.onChange(s)},InputLabelProps:{shrink:!0},margin:"normal"})))}},{key:"getDivider",value:function(){return n.a.createElement("hr",{className:this.props.classes.hr})}},{key:"getPeriodModes",value:function(){var e=this,t=this.state.schedule,s=!t.period.dows&&!t.period.months&&!t.period.dates&&!t.period.years&&!t.period.days&&!t.period.weeks;return s&&!t.period.once&&(t.period.once=this.now2string(!0)),[n.a.createElement("div",{key:"once",className:this.props.classes.rowDiv+" "+this.props.classes.rowOnce},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:s,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.once=t.period.once||e.now2string(!0),t.period.dows="",t.period.months="",t.period.dates="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.days=0,e.onChange(t)}}),label:E.a.t("sch_periodOnce")})),s&&n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement(me.a,{className:this.props.classes.inputDate,type:"date",ref:this.refOnce,key:"exactDateAt",defaultValue:ps(t.period.once),onChange:function(t){e.timerOnce&&clearTimeout(e.timerOnce),e.refOnce.current.style.background="#ff000030",e.timerOnce=setTimeout((function(t){e.timerOnce=null,e.refOnce.current.style.background="";var s=JSON.parse(JSON.stringify(e.state.schedule)),a=e.string2date(t);"Invalid Date"!==a.toString()&&(s.period.once=ls(a.getDate())+"."+ls(a.getMonth()+1)+"."+a.getFullYear(),e.onChange(s))}),1500,t.target.value)},InputLabelProps:{shrink:!0},label:E.a.t("sch_at"),margin:"normal"}))),n.a.createElement("div",{key:"days",className:this.props.classes.rowDiv+" "+this.props.classes.rowDays},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:!!t.period.days,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.days=1,t.period.dows="",t.period.months="",t.period.dates="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.once="",e.onChange(t)}}),label:E.a.t("sch_periodDaily")})),n.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsDaily(),t.period.days?this.getPeriodSettingsWeekdays():null)),n.a.createElement("div",{key:"weeks",className:this.props.classes.rowDiv+" "+this.props.classes.rowDows},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:!!t.period.weeks,onClick:function(){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.weeks=t.period.weeks?0:1,s.period.dows=t.period.dows||"[0]",s.period.months="",s.period.dates="",s.period.years=0,s.period.yearDate=0,s.period.yearMonth=0,s.period.days=0,s.period.once="",e.onChange(s)}}),label:E.a.t("sch_periodWeekly")})),n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsWeekly()),n.a.createElement("div",{className:this.props.classes.settingsDiv+" "+this.props.classes.rowDowsDows},this.state.schedule.period.weeks?this.getPeriodSettingsWeekdays():null))),n.a.createElement("div",{key:"months",className:this.props.classes.rowDiv+" "+this.props.classes.rowMonths},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:!!t.period.months,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months=1,t.period.dows="",t.period.dates="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.days=0,t.period.once="",e.onChange(t)}}),label:E.a.t("sch_periodMonthly")})),n.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsMonthly(),t.period.months?n.a.createElement("div",null,n.a.createElement("div",{className:this.props.classes.settingsDiv+" "+this.props.classes.rowMonthsDates},n.a.createElement(Rt.a,{control:n.a.createElement(ut.a,{className:this.props.classes.inputRadio,checked:!!t.period.dates,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months=t.period.months||1;for(var s=[],a=1;a<=31;a++)s.push(a);t.period.dates=t.period.dates||JSON.stringify(s),t.period.dows="",t.period.years=0,t.period.yearDate=0,t.period.yearMonth=0,t.period.weeks=0,t.period.days=0,t.period.once="",e.onChange(t)}}),label:E.a.t("sch_periodDates")})),n.a.createElement("div",{className:this.props.classes.settingsDiv+" "+this.props.classes.rowMonthsDates},this.getPeriodSettingsDates())):null)),n.a.createElement("div",{key:"years",className:this.props.classes.rowDiv+" "+this.props.classes.rowYears},n.a.createElement("div",{className:this.props.classes.modeDiv},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:!!t.period.years,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.years=1,t.period.yearDate=1,t.period.yearMonth=1,t.period.dows="",t.period.months=0,t.period.dates="",t.period.weeks=0,t.period.days=0,t.period.once="",e.onChange(t)}}),label:E.a.t("sch_periodYearly")})),n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement("div",{className:this.props.classes.settingsDiv},this.getPeriodSettingsYearly()),!!t.period.years&&n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement("span",null,E.a.t("sch_on")),n.a.createElement(q.a,{key:"input",value:this.state.schedule.period.yearDate,className:this.props.classes.inputEvery,type:"number",min:"1",max:"31",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.yearDate=parseInt(t.target.value,10),s.period.yearDate<1&&(s.period.yearDate=31),s.period.yearDate>31&&(s.period.yearDate=1),e.onChange(s)}}),n.a.createElement(ye.a,{value:t.period.yearMonth,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.yearMonth=t.target.value,e.onChange(s)}},n.a.createElement(Q.a,{key:"every",value:0},E.a.t("sch_yearEveryMonth")),rs.map((function(e,t){return n.a.createElement(Q.a,{key:e,value:t+1},E.a.t(e))}))))))]}},{key:"getPeriodSettingsMinutes",value:function(){var e=this;return n.a.createElement("div",{style:{display:"inline-block"}},n.a.createElement("label",null,E.a.t("sch_every")),n.a.createElement(q.a,{value:this.state.schedule.time.interval,style:{verticalAlign:"bottom"},className:this.props.classes.inputEvery,type:"number",min:"1",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.interval=parseInt(t.target.value,10),e.onChange(s)}}),n.a.createElement(ye.a,{value:this.state.schedule.time.mode,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.time.mode=t.target.value,e.onChange(s)}},n.a.createElement(Q.a,{value:os},E.a.t("sch_periodMinutes")),n.a.createElement(Q.a,{value:is},E.a.t("sch_periodHours"))))}},{key:"getPeriodSettingsWeekdays",value:function(){var e=this,t=this.state.schedule,s=t.period.dows&&"[1, 2, 3, 4, 5]"!==t.period.dows&&"[0, 6]"!==t.period.dows;return[n.a.createElement("div",{key:"workdays"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:"[1, 2, 3, 4, 5]"===t.period.dows,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.dows="[1, 2, 3, 4, 5]",t.period.days&&(t.period.days=1),e.onChange(t)}}),label:E.a.t("sch_periodWorkdays")})),n.a.createElement("div",{key:"weekend"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:"[0, 6]"===t.period.dows,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.dows="[0, 6]",t.period.days&&(t.period.days=1),e.onChange(t)}}),label:E.a.t("sch_periodWeekend")})),n.a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},n.a.createElement(Rt.a,{style:{verticalAlign:"top"},control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:s,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.dows="[0,1,2,3,4,5,6]",t.period.days&&(t.period.days=1),e.onChange(t)}}),label:E.a.t("sch_periodWeekdays")}),s&&(1===t.period.days||t.period.weeks)&&n.a.createElement(as.a,{row:!0,className:this.props.classes.inputGroup,style:{width:150}},[1,2,3,4,5,6,0].map((function(s){return n.a.createElement(Rt.a,{key:"specific_"+s,className:e.props.classes.inputGroupElement,control:n.a.createElement(ut.a,{className:e.props.classes.inputSmallCheck,checked:-1!==t.period.dows.indexOf(""+s),onChange:function(t){var a,n=JSON.parse(JSON.stringify(e.state.schedule));try{a=JSON.parse(n.period.dows)}catch(t){a=[]}t.target.checked&&-1===a.indexOf(s)?a.push(s):t.target.checked||-1===a.indexOf(s)||a.splice(a.indexOf(s),1),a.sort((function(e,t){return e-t})),n.period.dows=JSON.stringify(a),n.period.days&&(n.period.days=1),e.onChange(n)}}),label:E.a.t(ns[s])})}))))]}},{key:"getPeriodSettingsDaily",value:function(){var e=this;if(this.state.schedule.period.days){var t=this.state.schedule;return[n.a.createElement("div",{key:"every_day"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:1===t.period.days&&!t.period.dows,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.days=1,t.period.dows="",e.onChange(t)}}),label:E.a.t("sch_periodEveryDay")})),n.a.createElement("div",{key:"everyN_day"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:t.period.days>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.days=2,t.period.dows="",e.onChange(t)}}),label:E.a.t("sch_periodEvery")}),t.period.days>1&&[n.a.createElement(q.a,{key:"input",value:this.state.schedule.period.days,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.days=parseInt(t.target.value,10),s.period.dows="",e.onChange(s)}}),n.a.createElement("span",{key:"span",style:{paddingRight:10}},E.a.t("sch_periodDay"))])]}}},{key:"getPeriodSettingsWeekly",value:function(){var e=this;if(this.state.schedule.period.weeks){var t=this.state.schedule;return[n.a.createElement("div",{key:"radios",style:{display:"inline-block",verticalAlign:"top"}},n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:1===t.period.weeks,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.weeks=1,e.onChange(t)}}),label:E.a.t("sch_periodEveryWeek")})),n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:t.period.weeks>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.weeks=2,e.onChange(t)}}),label:E.a.t("sch_periodEvery")}),t.period.weeks>1&&[n.a.createElement(q.a,{value:this.state.schedule.period.weeks,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.weeks=parseInt(t.target.value,10),e.onChange(s)}}),n.a.createElement("span",null,E.a.t("sch_periodWeek"))]))]}}},{key:"getPeriodSettingsDates",value:function(){var e=this;if(this.state.schedule.period.dates){for(var t=this.state.schedule,s=[],a=1;a<=31;a++)s.push(a);var r=JSON.parse(t.period.dates);return n.a.createElement(as.a,{row:!0,className:this.props.classes.inputGroup,style:{maxWidth:620}},n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:31===r.length,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],n=1;n<=31;n++)a.push(n);s.period.dates=JSON.stringify(a),e.onChange(s)}}),label:E.a.t("sch_all")}),n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:!r.length,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.dates="[]",e.onChange(s)}}),label:E.a.t("sch_no_one")}),31!==r.length&&!!r.length&&n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:!1,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],n=JSON.parse(s.period.dates),r=1;r<=31;r++)-1===n.indexOf(r)&&a.push(r);a.sort((function(e,t){return e-t})),s.period.dates=JSON.stringify(a),e.onChange(s)}}),label:E.a.t("sch_invert")}),n.a.createElement("div",null),s.map((function(s){return n.a.createElement(Rt.a,{key:"date_"+s,className:e.props.classes.inputDateDay,style:s?{}:{opacity:0,cursor:"default",userSelect:"none",pointerEvents:"none"},control:n.a.createElement(ut.a,{className:e.props.classes.inputDateDayCheck,checked:-1!==JSON.parse(t.period.dates).indexOf(s),onChange:function(t){var a,n=JSON.parse(JSON.stringify(e.state.schedule));try{a=JSON.parse(n.period.dates)}catch(t){a=[]}t.target.checked&&-1===a.indexOf(s)?a.push(s):t.target.checked||-1===a.indexOf(s)||a.splice(a.indexOf(s),1),a.sort((function(e,t){return e-t})),n.period.dates=JSON.stringify(a),e.onChange(n)}}),label:s<10?[n.a.createElement("span",{key:"0",style:{opacity:0}},"0"),n.a.createElement("span",{key:"num"},s)]:s})})))}}},{key:"getPeriodSettingsMonthly",value:function(){var e=this;if(this.state.schedule.period.months){var t=this.state.schedule,s="string"===typeof t.period.months?JSON.parse(t.period.months):[];return[n.a.createElement("div",{key:"every"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:"number"===typeof t.period.months&&1===t.period.months,onClick:function(){JSON.parse(JSON.stringify(e.state.schedule)).period.months=1,e.onChange(t)}}),label:E.a.t("sch_periodEveryMonth")})),n.a.createElement("div",{key:"everyN"},n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:"number"===typeof t.period.months&&t.period.months>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months=2,e.onChange(t)}}),label:E.a.t("sch_periodEvery")}),"number"===typeof t.period.months&&t.period.months>1&&[n.a.createElement(q.a,{value:t.period.months,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.months=parseInt(t.target.value,10),s.period.months<1&&(s.period.months=1),e.onChange(s)}}),n.a.createElement("span",null,E.a.t("sch_periodMonth"))]),n.a.createElement("div",{key:"specific",style:{verticalAlign:"top"}},n.a.createElement(Rt.a,{style:{verticalAlign:"top"},control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:"string"===typeof t.period.months,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.months="[1,2,3,4,5,6,7,8,9,10,11,12]",e.onChange(t)}}),label:E.a.t("sch_periodSpecificMonths")}),"string"===typeof t.period.months&&n.a.createElement(as.a,{row:!0,className:this.props.classes.inputGroup},n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:12===s.length,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],n=1;n<=12;n++)a.push(n);s.period.months=JSON.stringify(a),e.onChange(s)}}),label:E.a.t("sch_all")}),n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:!s.length,onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.months="[]",e.onChange(s)}}),label:E.a.t("sch_no_one")}),12!==s.length&&!!s.length&&n.a.createElement(Rt.a,{className:this.props.classes.inputDateDay,control:n.a.createElement(ut.a,{className:this.props.classes.inputDateDayCheck,checked:!1,onChange:function(t){for(var s=JSON.parse(JSON.stringify(e.state.schedule)),a=[],n=JSON.parse(s.period.months),r=1;r<=12;r++)-1===n.indexOf(r)&&a.push(r);a.sort((function(e,t){return e-t})),s.period.months=JSON.stringify(a),e.onChange(s)}}),label:E.a.t("sch_invert")}),n.a.createElement("div",null),rs.map((function(s,a){return n.a.createElement(Rt.a,{className:e.props.classes.inputGroupElement,control:n.a.createElement(ut.a,{className:e.props.classes.inputSmallCheck,checked:-1!==JSON.parse(t.period.months).indexOf(a+1),onChange:function(t){var s,n=JSON.parse(JSON.stringify(e.state.schedule));try{s=JSON.parse(n.period.months)}catch(t){s=[]}t.target.checked&&-1===s.indexOf(a+1)?s.push(a+1):t.target.checked||-1===s.indexOf(a+1)||s.splice(s.indexOf(a+1),1),s.sort((function(e,t){return e-t})),n.period.months=JSON.stringify(s),e.onChange(n)}}),label:E.a.t(s)})}))))]}}},{key:"getPeriodSettingsYearly",value:function(){var e=this;if(this.state.schedule.period.years){var t=this.state.schedule;return[n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:1===t.period.years,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.years=1,e.onChange(t)}}),label:E.a.t("sch_periodEveryYear")})),n.a.createElement("div",null,n.a.createElement(Rt.a,{control:n.a.createElement(zt.a,{className:this.props.classes.inputRadio,checked:t.period.years>1,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.period.years=2,e.onChange(t)}}),label:E.a.t("sch_periodEvery")}),t.period.years>1&&[n.a.createElement(q.a,{value:this.state.schedule.period.years,className:this.props.classes.inputEvery,type:"number",min:"2",onChange:function(t){var s=JSON.parse(JSON.stringify(e.state.schedule));s.period.years=parseInt(t.target.value,10),s.period.years<1&&(s.period.years=1),e.onChange(s)}}),n.a.createElement("span",null,E.a.t("sch_periodYear"))])]}}},{key:"now2string",value:function(e){var t=new Date;return t.setHours(0),t.setMinutes(0),t.setSeconds(0),t.setMilliseconds(0),e&&(t.setDate(t.getDate()+2),t.setMilliseconds(t.getMilliseconds()-1)),ls(t.getDate())+"."+ls(t.getMonth()+1)+"."+ls(t.getFullYear())}},{key:"string2date",value:function(e){var t=e.split(".");return 1===t.length?(t=e.split("-"),new Date(parseInt(t[0],10),parseInt(t[1],10)-1,parseInt(t[2],10))):new Date(parseInt(t[2],10),parseInt(t[1],10)-1,parseInt(t[0],10))}},{key:"getValidSettings",value:function(){var e=this,t=this.state.schedule;return n.a.createElement("div",{className:this.props.classes.rowDiv},n.a.createElement("div",{className:this.props.classes.modeDiv,style:{verticalAlign:"middle"}},n.a.createElement("span",{style:{fontWeight:"bold",paddingRight:10}},E.a.t("sch_valid")),n.a.createElement("span",null,E.a.t("sch_validFrom"))),n.a.createElement("div",{className:this.props.classes.settingsDiv},n.a.createElement(me.a,{className:this.props.classes.inputDate,style:{marginRight:10},key:"exactTimeFrom",inputRef:this.refFrom,defaultValue:ps(t.valid.from),type:"date",onChange:function(t){e.timerFrom&&clearTimeout(e.timerFrom),e.refFrom.current.style.background="#ff000030",e.timerFrom=setTimeout((function(t){e.timerFrom=null,e.refFrom.current.style.background="";var s=JSON.parse(JSON.stringify(e.state.schedule)),a=e.string2date(t);"Invalid Date"!==a.toString()&&(s.valid.from=ls(a.getDate())+"."+ls(a.getMonth()+1)+"."+a.getFullYear(),e.onChange(s))}),1500,t.target.value)},InputLabelProps:{shrink:!0},margin:"normal"}),n.a.createElement(Rt.a,{control:n.a.createElement(ut.a,{className:this.props.classes.inputRadio,checked:!!t.valid.to,onClick:function(){var t=JSON.parse(JSON.stringify(e.state.schedule));t.valid.to=t.valid.to?"":e.now2string(!0),e.onChange(t)}}),label:E.a.t("sch_validTo")}),!!t.valid.to&&n.a.createElement(me.a,{inputRef:this.refTo,className:this.props.classes.inputDate,style:{marginRight:10},key:"exactTimeFrom",type:"date",defaultValue:ps(t.valid.to),onChange:function(t){e.timerTo&&clearTimeout(e.timerTo),e.refTo.current.style.background="#ff000030",e.timerTo=setTimeout((function(t){e.timerTo=null,e.refTo.current.style.background="";var s=JSON.parse(JSON.stringify(e.state.schedule)),a=e.string2date(t);"Invalid Date"!==a.toString()&&(s.valid.to=ls(a.getDate())+"."+ls(a.getMonth()+1)+"."+a.getFullYear(),e.onChange(s))}),1500,t.target.value)},InputLabelProps:{shrink:!0},margin:"normal"})))}},{key:"render",value:function(){return n.a.createElement("div",{style:{height:"calc(100% - 48px)",width:"100%",overflow:"hidden"}},n.a.createElement("div",null,this.state.desc),n.a.createElement("div",{className:this.props.classes.scrollWindow},n.a.createElement("h5",null,E.a.t("sch_time")),this.getTimePeriodElements(),this.getTimeExactElements(),this.getDivider(),n.a.createElement("h5",null,E.a.t("sch_period")),this.getPeriodModes(),!this.state.schedule.period.once&&this.getDivider(),!this.state.schedule.period.once&&this.getValidSettings()))}}]),s}(n.a.Component),us=Object(g.a)((function(e){return{hr:{border:0,borderTop:"1px solid gray"},scrollWindow:{width:"100%",overflow:"auto",height:"calc(100% - 22px)"},rowDiv:{width:"100%"},modeDiv:{width:200,display:"inline-block",verticalAlign:"top"},settingsDiv:{display:"inline-block",verticalAlign:"top"},inputTime:{width:90,marginTop:0,marginLeft:5},inputDate:{width:140,marginTop:0,marginLeft:5},inputEvery:{width:40,marginLeft:5,marginRight:5},inputRadio:{padding:"4px 12px",verticalAlign:"top"},inputGroup:{maxWidth:400,display:"inline-block"},inputGroupElement:{width:120},inputDateDay:{width:60},inputDateDayCheck:{padding:4},inputSmallCheck:{padding:0},rowOnce:{},rowDays:{background:"dark"!==e.palette.type?"#ddeaff":"#4b5057"},rowDows:{background:"dark"!==e.palette.type?"#DDFFDD":"#52646c"},rowDates:{background:"dark"!==e.palette.type?"#DDDDFF":"#747a86"},rowWeeks:{background:"dark"!==e.palette.type?"#DDDDFF":"#717680"},rowMonths:{background:"dark"!==e.palette.type?"#DDFFFF":"#1f5557"},rowMonthsDates:{background:"dark"!==e.palette.type?"#EEFFFF":"#3c5737",maxWidth:600},rowYears:{background:"dark"!==e.palette.type?"#fbffdd":"#574b33"},rowDaysDows:{background:"dark"!==e.palette.type?"#EEEAFF":"#573544",paddingLeft:10,paddingBottom:10},rowDowsDows:{background:"dark"!==e.palette.type?"#EEFFEE":"#3d4c54",paddingLeft:10,paddingBottom:10}}}))(hs),ms=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a,n;return Object(p.a)(this,s),(a=t.call(this,e)).props.cron&&"string"===typeof a.props.cron&&"{"!==a.props.cron.replace(/^["']/,"")[0]?n=a.props.cron.replace(/['"]/g,"").trim():"string"===typeof(n=a.props.cron||"{}")&&(n=n.replace(/^["']/,"").replace(/["']\n?$/,"")),a.state={cron:n,mode:a.props.simple?"simple":"object"===typeof n||"{"===n[0]?"wizard":ss.cron2state(a.props.cron||"* * * * *")?"simple":"complex"},a}return Object(h.a)(s,[{key:"handleCancel",value:function(){this.props.onClose()}},{key:"handleOk",value:function(){this.props.onOk(this.state.cron),this.props.onClose()}},{key:"setMode",value:function(e){this.setState({mode:e})}},{key:"render",value:function(){var e=this;return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"md",fullWidth:!0,classes:{paper:this.props.classes.dialogPaper},open:!0,"aria-labelledby":"cron-dialog-title"},n.a.createElement(de.a,{id:"cron-dialog-title"},this.props.title||E.a.t("Define schedule...")),n.a.createElement(pe.a,{style:{height:"100%",overflow:"hidden"}},!this.props.simple&&n.a.createElement("div",null,n.a.createElement(zt.a,{key:"wizard",checked:"wizard"===this.state.mode,onChange:function(t){return e.setMode("wizard")}}),n.a.createElement("label",{onClick:function(t){return e.setMode("wizard")},style:"wizard"!==this.state.mode?{color:"lightgrey"}:{}},E.a.t("sc_wizard")),n.a.createElement(zt.a,{key:"simple",checked:"simple"===this.state.mode,onChange:function(t){return e.setMode("simple")}}),n.a.createElement("label",{onClick:function(t){return e.setMode("simple")},style:"simple"!==this.state.mode?{color:"lightgrey"}:{}},E.a.t("sc_simple")),n.a.createElement(zt.a,{key:"complex",checked:"complex"===this.state.mode,onChange:function(t){return e.setMode("complex")}}),n.a.createElement("label",{onClick:function(t){return e.setMode("complex")},style:"complex"!==this.state.mode?{color:"lightgrey"}:{}},E.a.t("sc_cron"))),"simple"===this.state.mode&&n.a.createElement(ss,{cronExpression:this.state.cron,onChange:function(t){return e.setState({cron:t})},language:E.a.getLanguage()}),"wizard"===this.state.mode&&n.a.createElement(us,{schedule:this.state.cron,onChange:function(t){return e.setState({cron:t})},language:E.a.getLanguage()}),"complex"===this.state.mode&&n.a.createElement(Vt,{cronExpression:this.state.cron,onChange:function(t){return e.setState({cron:t})},language:E.a.getLanguage()})),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:function(){return e.handleOk()},color:"primary"},n.a.createElement(be.a,{className:this.props.classes.buttonIcon}),this.props.ok||E.a.t("Ok")),n.a.createElement(le.a,{onClick:function(){return e.handleCancel()}},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),this.props.cancel||E.a.t("Cancel"))))}}]),s}(n.a.Component),gs=Object(nt.withStyles)((function(e){return{headerID:{fontWeight:"bold",fontStyle:"italic"},radio:{display:"inline-block"},dialogPaper:{height:"calc(100% - 96px)"},buttonIcon:{marginRight:e.spacing(1)}}}))(ms),ys=s(153),fs=s.n(ys),vs=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).state={source:a.props.source},!a.state.source&&a.props.isReturn&&(a.state.source="\nreturn false"),a}return Object(h.a)(s,[{key:"componentDidMount",value:function(){setTimeout((function(){try{window.document.getElementById("source-text-area").focus()}catch(e){}}),100)}},{key:"handleCancel",value:function(){this.props.onClose(!1)}},{key:"handleOk",value:function(){this.props.isReturn&&-1===this.state.source.indexOf("return ")||this.props.onClose(this.state.source)}},{key:"onChange",value:function(e){this.setState({source:e})}},{key:"render",value:function(){var e=this,t=this.props.classes;return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"lg",classes:{paper:t.dialog},fullWidth:!0,open:!0,"aria-labelledby":"source-dialog-title"},n.a.createElement(de.a,{id:"source-dialog-title"},E.a.t("Function editor")),n.a.createElement(pe.a,{className:t.fullHeight},this.props.args&&n.a.createElement("div",{key:"arguments",className:t.args},n.a.createElement("span",{className:t.argsTitle},E.a.t("function (")),this.props.args,n.a.createElement("span",{className:t.argsTitle},")")),n.a.createElement(_t,{adapterName:this.props.adapterName,runningInstances:this.props.runningInstances,className:t.textArea,style:{height:this.props.args?"calc(100% - 30px)":"100%"},key:"scriptEditor",name:"blockly",socket:this.props.socket,readOnly:!1,checkJs:!1,code:this.state.source,isDark:"dark"===this.props.themeType,onChange:function(t){return e.onChange(t)},language:"javascript"})),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:function(){return e.handleOk()},color:"primary"},n.a.createElement(fs.a,{className:this.props.classes.buttonIcon}),E.a.t("Save")),n.a.createElement(le.a,{onClick:function(){return e.handleCancel()}},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),E.a.t("Cancel"))))}}]),s}(n.a.Component),ks=Object(g.a)((function(e){return{textArea:{width:"calc(100% - 10px)",resize:"none"},dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},args:{color:"dark"===e.palette.type?"white":"black",height:30,width:"100%",fontSize:16},argsTitle:{color:"dark"===e.palette.type?"white":"black",fontWeight:"bold"},buttonIcon:{marginRight:e.spacing(1)}}}))(vs),_s={Blockly:oe.a,"Javascript/js":ne.a,def:ne.a,"TypeScript/ts":ce.a},bs=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;Object(p.a)(this,s),(a=t.call(this,e)).onInstanceChanged=function(e,t){if(e)if(!t&&window.main.instances.includes[e]){delete window.main.objects[e];var s=window.main.instances.indexOf(e);window.main.instances.splice(s,1)}else t&&"instance"===t.type&&(window.main.instances.includes(e)||(window.main.instances.push(e),window.main.instances.sort()),window.main.objects[e]=t)},a.onBrowserClose=function(e){var t=Object.keys(a.scripts).find((function(e){return JSON.stringify(a.scripts[e])!==JSON.stringify(a.props.objects[e].common)}));if(t){console.log("Script "+console.log("Script "+JSON.stringify(a.scripts[t])));var s=E.a.t("Configuration not saved.");return(e=e||window.event)&&(e.returnValue=s),s}};var r=window.localStorage.getItem("Editor.selected")||"",o=window.localStorage.getItem("Editor.editing")||"[]";try{o=JSON.parse(o)}catch(i){o=[]}return r&&-1===o.indexOf(r)&&o.push(r),a.tabsRef=n.a.createRef(),a.state={selected:r,editing:o,changed:{},blockly:null,debugEnabled:!1,verboseEnabled:!1,showBlocklyCode:!1,showSelectId:!1,showCron:!1,showScript:!1,insert:"",searchText:"",themeType:a.props.themeType,visible:e.visible,cmdToBlockly:"",menuOpened:!!a.props.menuOpened,menuTabsOpened:!1,menuTabsAnchorEl:null,runningInstances:a.props.runningInstances||{},showDebugMenu:!1,toast:"",instancesLoaded:!1},a.setChangedInAdmin(),a.selectId={initValue:null,callback:null},a.cron={initValue:null,callback:null},a.scriptDialog={initValue:null,callback:null,args:null,isReturn:!1},window.systemLang=E.a.getLanguage(),window.main={objects:{},getObject:function(e,t){return a.props.socket.getObject(e).then((function(e){return t&&t(null,e)})).catch((function(e){return t&&t(e)}))},instances:[],selectIdDialog:function(e,t){a.selectId.callback=t,a.selectId.initValue=e,a.setState({showSelectId:!0})},cronDialog:function(e,t){a.cron.callback=t,a.cron.initValue=e,a.setState({showCron:!0})},showScriptDialog:function(e,t,s,n){a.scriptDialog.callback=n,a.scriptDialog.initValue=e,a.scriptDialog.args=t,a.scriptDialog.isReturn=s||!1,a.setState({showScript:!0})}},a.objects=e.objects,a.scripts={},!a.state.selected&&a.state.editing.length&&(a.state.selected=a.state.editing[0]),a.getAllAdapterInstances().then((function(){a.props.onSelectedChange&&a.state.selected&&setTimeout((function(){return a.props.onSelectedChange(a.state.selected,a.state.editing)}),100)})),a}return Object(h.a)(s,[{key:"getAllAdapterInstances",value:function(){var e=this;return this.props.socket.getAdapterInstances(!0).then((function(t){var s={},a=t.map((function(e){return s[e._id]=e,e._id}));window.main.objects=s,window.main.instances=a,e.setState({instancesLoaded:!0})}))}},{key:"setChangedInAdmin",value:function(){var e=this,t=Object.keys(this.state.changed).find((function(t){return e.state.changed[t]}));"undefined"!==typeof window.parent&&window.parent&&(window.parent.configNotSaved=t)}},{key:"componentDidMount",value:function(){window.addEventListener("beforeunload",this.onBrowserClose,!1),this.props.socket.subscribeObject("system.adapter.*",this.onInstanceChanged)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("beforeunload",this.onBrowserClose),this.props.socket.unsubscribeObject("system.adapter.*",this.onInstanceChanged)}},{key:"removeNonExistingScripts",value:function(e,t){e=e||this.props,t=t||{};var s=!1;if(this.state.editing&&this.state.editing.find((function(t){return!e.objects[t]}))){for(var a=JSON.parse(JSON.stringify(this.state.editing)),n=a.length-1;n>=0;n--)this.objects[a[n]]||(s=!0,a.splice(n,1));s&&(t.editing=a),this.state.selected&&!this.objects[this.state.selected]&&(s=!0,t.selected=a[0]||"",this.scripts[t.selected]&&(this.state.blockly!==("Blockly"===this.scripts[t.selected].engineType)&&(t.blockly="Blockly"===this.scripts[t.selected].engineType,s=!0),this.state.verboseEnabled!==this.scripts[t.selected].verbose&&(t.verboseEnabled=this.scripts[t.selected].verbose,s=!0),this.state.debugEnabled!==this.scripts[t.selected].debug&&(t.debugEnabled=this.scripts[t.selected].debug,s=!0)))}return s}},{key:"UNSAFE_componentWillReceiveProps",value:function(e){var t=this,s={},a=!1;if(JSON.stringify(e.runningInstances)!==JSON.stringify(this.state.runningInstances)&&(a=!0,s.runningInstances=e.runningInstances),this.state.menuOpened!==e.menuOpened&&(s.menuOpened=e.menuOpened,a=!0),this.state.themeType!==e.themeType&&(s.themeType=e.themeType,a=!0),this.removeNonExistingScripts(e,s)&&(a=!0),this.state.searchText!==e.searchText&&(s.searchText=e.searchText,a=!0),this.objects!==e.objects){this.objects=e.objects,window.main.objects=e.objects,Object.keys(this.scripts).forEach((function(e){var s=t.scripts[e].source;t.scripts[e]=JSON.parse(JSON.stringify(t.objects[e].common)),t.scripts[e].source=s})),this.state.selected&&this.objects[this.state.selected]&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.objects[this.state.selected].common)),this.state.blockly!==("Blockly"===this.scripts[this.state.selected].engineType)&&(s.blockly="Blockly"===this.scripts[this.state.selected].engineType,a=!0),this.state.verboseEnabled!==this.scripts[this.state.selected].verbose&&(s.verboseEnabled=this.scripts[this.state.selected].verbose,a=!0),this.state.debugEnabled!==this.scripts[this.state.selected].debug&&(s.debugEnabled=this.scripts[this.state.selected].debug,a=!0));for(var n=JSON.parse(JSON.stringify(this.state.editing)),r=n.length-1;r>=0;r--)this.objects[n[r]]||(a=!0,n.splice(r,1),void 0!==this.state.changed[n[r]]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),delete s.changed[n[r]]));this.state.selected&&!this.objects[this.state.selected]&&(s.selected=n[0]||""),a&&(s.editing=n)}else for(var o in this.scripts)if(this.scripts.hasOwnProperty(o))if(this.objects[o]&&this.objects[o].common){var i=this.scripts[o].source,c=JSON.parse(JSON.stringify(this.scripts[o]));c.source=this.objects[o].common.source,JSON.stringify(c)!==JSON.stringify(this.objects[o].common)&&(this.scripts[o]=JSON.parse(JSON.stringify(this.objects[o].common)),this.scripts[o].source=i),i!==this.objects[o].common.source?this.state.changed[o]?this.objects[o].from&&this.objects[o].from.startsWith("system.adapter.javascript.")&&(this.objects[o].from="system.adapter.admin.0",this.setState({toast:E.a.t("Script %s was modified on disk.",o.split(".").pop())})):this.scripts[o].source=this.objects[o].common.source:this.state.changed[o]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed[o]=!1,a=!0)}else if(delete this.scripts[o],this.state.selected===o){if(-1!==this.state.editing.indexOf(o)){var l=JSON.parse(JSON.stringify(this.state.editing)),d=l.indexOf(o);-1!==d&&(l.splice(d,1),s.editing=l,a=!0)}s.selected=this.state.editing[0]||"",a=!0}if(this.state.selected!==e.selected&&e.selected){e.selected&&(this.scripts[e.selected]=this.scripts[e.selected]||JSON.parse(JSON.stringify(this.props.objects[e.selected].common)));var p=this.props.objects[e.selected]&&this.props.objects[e.selected].common,h=p&&JSON.stringify(this.scripts[e.selected])!==JSON.stringify(p),u=JSON.parse(JSON.stringify(this.state.editing));e.selected&&-1===u.indexOf(e.selected)&&(u.push(e.selected),this.props.onSelectedChange(e.selected,u),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(u))),a=!0,s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed[e.selected]=h,s.editing=u,s.selected=e.selected,s.blockly="Blockly"===this.scripts[e.selected].engineType,s.verboseEnabled=this.scripts[e.selected].verbose,s.debugEnabled=this.scripts[e.selected].debug,s.showBlocklyCode=!1}this.state.visible!==e.visible&&(a=!0,s.visible=e.visible),a&&this.setState(s,(function(){return t.setChangedInAdmin()}))}},{key:"onRestart",value:function(){this.props.onRestart&&this.props.onRestart(this.state.selected)}},{key:"onSave",value:function(){var e=this;if(this.state.changed[this.state.selected]){var t=JSON.parse(JSON.stringify(this.state.changed));t[this.state.selected]=!1,this.setState({changed:t},(function(){e.setChangedInAdmin(),e.props.onChange&&e.props.onChange(e.state.selected,e.scripts[e.state.selected])}))}}},{key:"onSaveAll",value:function(){var e=this,t=JSON.parse(JSON.stringify(this.state.changed));Object.keys(t).forEach((function(s){t[s]&&(t[s]=!1,e.props.onChange&&e.props.onChange(s,e.scripts[s]))})),this.setState({changed:t},(function(){return e.setChangedInAdmin()}))}},{key:"onCancel",value:function(){var e=this;this.scripts[this.state.selected]=JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common));var t=JSON.parse(JSON.stringify(this.state.changed));t[this.state.selected]=!1,this.setState({changed:t},(function(){return e.setChangedInAdmin()}))}},{key:"onRegisterSelect",value:function(e){this.getSelect=e}},{key:"onConvert2JS",value:function(){var e=this;this.showConfirmDialog(E.a.t("It will not be possible to revert this operation."),(function(t){if(t){e.scripts[e.state.selected].engineType="Javascript/js";var s=e.scripts[e.state.selected].source.split("\n");s.pop(),e.scripts[e.state.selected].source=s.join("\n");var a=e.state.selected,n=JSON.parse(JSON.stringify(e.state.changed));n[e.state.selected]=!0,e.setState({changed:n,blockly:!1,selected:""},(function(){e.setChangedInAdmin(),setTimeout((function(){return e.setState({selected:a})}),100)}))}}))}},{key:"onChange",value:function(e){var t=this;void 0!==(e=e||{}).script&&(this.scripts[this.state.selected].source=e.script),void 0!==e.debug&&(this.scripts[this.state.selected].debug=e.debug),void 0!==e.verbose&&(this.scripts[this.state.selected].verbose=e.verbose);var s=JSON.stringify(this.scripts[this.state.selected])!==JSON.stringify(this.props.objects[this.state.selected].common);if(s!==(this.state.changed[this.state.selected]||!1)){var a=JSON.parse(JSON.stringify(this.state.changed));a[this.state.selected]=s,this.objects[this.state.selected].from="system.adapter.admin.0",this.setState({changed:a},(function(){return t.setChangedInAdmin()}))}}},{key:"onTabChange",value:function(e,t){window.localStorage&&window.localStorage.setItem("Editor.selected",t);var s=this.scripts[t]||this.props.objects[t]&&this.props.objects[t].common;this.setState({selected:t,blockly:"Blockly"===s.engineType,showBlocklyCode:!1,verboseEnabled:s.verbose,debugEnabled:s.debug}),this.props.onSelectedChange&&this.props.onSelectedChange(t,this.state.editing)}},{key:"isScriptChanged",value:function(e){return this.scripts[e]&&this.props.objects[e]&&JSON.stringify(this.scripts[e])!==JSON.stringify(this.props.objects[e].common)}},{key:"onTabClose",value:function(e,t){var s=this;t&&t.stopPropagation();var a=this.state.editing.indexOf(e);if(-1!==this.state.editing.indexOf(e))if(this.isScriptChanged(e))this.showConfirmDialog(E.a.t("Discard changes for %s",this.props.objects[e].common.name),(function(t){t&&(delete s.scripts[e],s.onTabClose(e))}));else{var n=JSON.parse(JSON.stringify(this.state.editing));n.splice(a,1);var r={editing:n};if(e===this.state.selected?n.length?0===a||1===n.length?r.selected=n[0]:r.selected=n[a-1]:r.selected="":this.state.selected&&!n.length&&(r.selected=""),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(n)),void 0!==r.selected){r.changed=r.changed||JSON.parse(JSON.stringify(this.state.changed)),r.changed[r.selected]=this.isScriptChanged(r.selected);var o=r.selected&&(this.scripts[r.selected]||this.props.objects[r.selected]&&this.props.objects[r.selected].common);r.blockly=!!o&&"Blockly"===o.engineType,r.verboseEnabled=!!o&&o.verbose,r.debugEnabled=!!o&&o.debug,r.showBlocklyCode=!1}this.setState(r,(function(){s.setChangedInAdmin(),void 0!==r.selected?(s.props.onSelectedChange&&s.props.onSelectedChange(r.selected,s.state.editing),window.localStorage&&window.localStorage.setItem("Editor.selected",r.selected)):s.props.onSelectedChange&&s.props.onSelectedChange(s.state.selected,s.state.editing)}))}}},{key:"showConfirmDialog",value:function(e,t){this.confirmCallback=t,this.setState({confirm:e})}},{key:"sendCommandToBlockly",value:function(e){var t=this;this.setState({cmdToBlockly:e},(function(){return setTimeout((function(){return t.setState({cmdToBlockly:""})}),200)}))}},{key:"getTabs",value:function(){var e=this;return this.state.editing.length?[n.a.createElement(lt.a,{component:"div",key:"tabs1",value:this.state.selected,onChange:function(t,s){return e.onTabChange(t,s)},indicatorColor:"primary",style:{position:"relative",width:this.state.editing.length>1?"calc(100% - 50px)":"100%",display:"inline-block"},textColor:"primary",variant:"scrollable",scrollButtons:"auto"},this.state.editing.map((function(t){if(e.props.objects[t]){var s=e.props.objects[t].common.name,a="";s.length>18&&(a=s,s=s.substring(0,15)+"...");var r=e.props.objects[t].common&&e.scripts[t]&&e.props.objects[t].common.source!==e.scripts[t].source,o=[n.a.createElement("img",{key:"icon",alt:"",src:_s[e.props.objects[t].common.engineType]||_s.def,className:e.props.classes.tabIcon}),n.a.createElement("div",{key:"text",className:Object(M.a)(e.props.classes.tabText,e.isScriptChanged(t)&&e.props.classes.tabChanged)},s),r?n.a.createElement("span",{key:"changedSign",className:e.props.classes.tabChangedIcon},"\u25a3"):null,n.a.createElement("span",{key:"icon2",className:e.props.classes.closeButton},n.a.createElement(v.g,{key:"close",onClick:function(s){return e.onTabClose(t,s)},fontSize:"small"}))];return n.a.createElement(dt.a,{wrapped:!0,component:"div",href:"#"+t,key:t,label:o,className:e.props.classes.tabButton,value:t,title:a,classes:{wrapper:e.props.classes.tabButtonWrapper}})}var i=[n.a.createElement("div",{key:"text",className:e.props.classes.tabText+" "+(e.isScriptChanged(t)?e.props.classes.tabChanged:"")},t.split(".").pop()),n.a.createElement("span",{key:"icon",className:e.props.classes.closeButton},n.a.createElement(v.g,{key:"close",onClick:function(s){return e.onTabClose(t,s)},fontSize:"small"}))];return n.a.createElement(dt.a,{wrapped:!0,component:"div",href:"#"+t,key:t,label:i,value:t,classes:{wrapper:e.props.classes.tabButtonWrapper}})}))),this.state.editing.length>1?n.a.createElement(L.a,{key:"menuButton",href:"#","aria-label":"Close all but current",className:this.props.classes.tabMenuButton,title:E.a.t("Close all but current"),"aria-haspopup":"false",onClick:function(t){var s=[e.state.selected];Object.keys(e.scripts).forEach((function(t){return t!==e.state.selected&&JSON.stringify(e.scripts[t])!==JSON.stringify(e.props.objects[t].common)&&s.push(t)})),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(s)),e.setState({menuTabsOpened:!1,menuTabsAnchorEl:null,editing:s})}},n.a.createElement(v.f,null)):null]:n.a.createElement("div",{key:"tabs2",className:this.props.classes.toolbar},n.a.createElement(le.a,{key:"select1",disabled:!0,className:this.props.classes.hintButton,href:""},n.a.createElement("span",{key:"select2"},E.a.t("Click on this icon")),n.a.createElement(v.q,{key:"select3",className:this.props.classes.hintIcon}),n.a.createElement("span",{key:"select4"},E.a.t("for edit or create script"))))}},{key:"getDebugMenu",value:function(){var e=this;return this.state.showDebugMenu?n.a.createElement(Z.a,{key:"menuDebug",id:"menu-debug",anchorEl:this.state.menuDebugAnchorEl,open:this.state.showDebugMenu,onClose:function(){return e.setState({showDebugMenu:!1,menuDebugAnchorEl:null})},PaperProps:{style:{maxHeight:360}}},n.a.createElement(Q.a,{key:"debugEnabled",title:E.a.t("debug_help"),onClick:function(t){t.stopPropagation(),t.preventDefault(),e.setState({showDebugMenu:!1,menuDebugAnchorEl:null,debugEnabled:!e.state.debugEnabled},(function(){return e.onChange({debug:e.state.debugEnabled})}))}},n.a.createElement(ut.a,{checked:this.state.debugEnabled}),n.a.createElement(v.c,{className:this.props.classes.menuIcon,style:{color:"#02a102"}}),E.a.t("debug")),n.a.createElement(Q.a,{key:"verboseEnabled",title:E.a.t("verbose_help"),onClick:function(t){t.stopPropagation(),t.preventDefault(),e.setState({showDebugMenu:!1,menuDebugAnchorEl:null,verboseEnabled:!e.state.verboseEnabled},(function(){return e.onChange({verbose:e.state.verboseEnabled})}))}},n.a.createElement(ut.a,{checked:this.state.verboseEnabled}),n.a.createElement(v.x,{className:this.props.classes.menuIcon,style:{color:"#70aae9"}}),E.a.t("verbose"))):null}},{key:"getDebugBadge",value:function(){return[this.state.debugEnabled&&this.state.verboseEnabled&&n.a.createElement(v.c,{key:"DebugVerbose",className:this.props.classes.menuIcon,style:{color:"#70aae9"}}),this.state.debugEnabled&&!this.state.verboseEnabled&&n.a.createElement(v.c,{key:"DebugNoVerbose",className:this.props.classes.menuIcon,style:{color:"#02a102"}}),!this.state.debugEnabled&&this.state.verboseEnabled&&n.a.createElement(v.x,{key:"noDebugVerbose",className:this.props.classes.menuIcon,style:{color:"#70aae9"}})]}},{key:"getToolbar",value:function(){var e=this,t=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].engine&&this.state.runningInstances[this.scripts[this.state.selected].engine],s=this.state.selected&&this.scripts[this.state.selected]&&this.scripts[this.state.selected].enabled;if(this.state.selected){var a=Object.keys(this.state.changed).filter((function(t){return e.state.changed[t]})).length,r=this.state.changed[this.state.selected];return n.a.createElement(ct.a,{variant:"dense",className:this.props.classes.toolbar,key:"toolbar1"},this.state.menuOpened&&this.props.onLocate&&n.a.createElement(L.a,{className:this.props.classes.toolbarButtons,key:"locate",title:E.a.t("Locate file"),onClick:function(){return e.props.onLocate(e.state.selected)}},n.a.createElement(v.p,null)),!r&&t&&n.a.createElement(L.a,{key:"restart",variant:"contained",className:this.props.classes.toolbarButtons,onClick:function(){return e.onRestart()},title:E.a.t("Restart")},n.a.createElement(v.z,null)),!r&&!s&&n.a.createElement("span",{className:this.props.classes.notRunning},E.a.t("Script is not running")),!r&&s&&!t&&n.a.createElement("span",{className:this.props.classes.notRunning},E.a.t("Instance is disabled")),r&&n.a.createElement(le.a,{key:"save",variant:"contained",className:Object(M.a)(this.props.classes.textButton,this.props.classes.saveButton),onClick:function(){return e.onSave()}},E.a.t("Save"),n.a.createElement(v.A,{className:this.props.classes.textIcon})),(a>1||1===a&&!r)&&n.a.createElement(le.a,{key:"saveall",variant:"contained",className:this.props.classes.textButton,onClick:function(){return e.onSaveAll()}},E.a.t("Save all"),n.a.createElement(v.A,{className:this.props.classes.textIcon})),r&&n.a.createElement(le.a,{key:"cancel",variant:"contained",className:this.props.classes.textButton,onClick:function(){return e.onCancel()}},E.a.t("Cancel"),n.a.createElement(v.e,{className:this.props.classes.textIcon})),n.a.createElement("div",{style:{flex:2}}),this.state.blockly&&!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"export","aria-label":"Export Blocks",title:E.a.t("Export blocks"),className:this.props.classes.toolbarButtons,onClick:function(){return e.sendCommandToBlockly("export")}},n.a.createElement(se.c,null)),this.state.blockly&&!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"import","aria-label":"Import Blocks",title:E.a.t("Import blocks"),className:this.props.classes.toolbarButtons,onClick:function(){return e.sendCommandToBlockly("import")}},n.a.createElement(se.d,null)),this.state.blockly&&!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"check","aria-label":"Check code",title:E.a.t("Check blocks"),className:this.props.classes.toolbarButtons,onClick:function(){return e.sendCommandToBlockly("check")}},n.a.createElement(se.e,null)),!this.state.blockly&&!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"select-cron","aria-label":"create CRON",title:E.a.t("Create or edit CRON or time wizard"),className:this.props.classes.toolbarButtons,onClick:function(){return e.setState({showCron:!0})}},n.a.createElement(se.b,null)),!this.state.blockly&&!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"select-id","aria-label":"select ID",title:E.a.t("Insert object ID"),className:this.props.classes.toolbarButtons,onClick:function(){return e.setState({showSelectId:!0})}},n.a.createElement(se.a,null)),this.state.blockly&&this.state.showBlocklyCode&&n.a.createElement(le.a,{key:"convert2js","aria-label":"convert to javascript",title:E.a.t("Convert blockly to javascript for ever."),onClick:function(){return e.onConvert2JS()}},"Blockly=>JS"),this.state.blockly&&n.a.createElement(le.a,{key:"blockly-code","aria-label":"blockly",title:E.a.t("Show javascript code"),className:this.props.classes.toolbarButtons,color:this.state.showBlocklyCode?"secondary":"inherit",style:{padding:"0 5px"},onClick:function(){return e.setState({showBlocklyCode:!e.state.showBlocklyCode})}},n.a.createElement("img",{alt:"blockly2js",src:gt.a})),!this.state.showBlocklyCode&&n.a.createElement(L.a,{key:"debug","aria-label":"Debug menu",title:E.a.t("Debug options"),className:this.props.classes.toolbarButtons,onClick:function(t){return e.setState({showDebugMenu:!0,menuDebugAnchorEl:t.currentTarget})}},n.a.createElement(pt.a,{className:this.props.classes.badgeMargin,badgeContent:this.getDebugBadge()},n.a.createElement(v.d,null))))}return null}},{key:"getScriptEditor",value:function(){var e=this;return this.state.selected&&this.props.objects[this.state.selected]&&null!==this.state.blockly&&(!this.state.blockly||this.state.showBlocklyCode)?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),n.a.createElement("div",{className:this.props.classes.editorDiv,key:"scriptEditorDiv"},n.a.createElement(_t,{key:"scriptEditor1",name:this.state.selected,adapterName:this.props.adapterName,insert:this.state.insert,onInserted:function(){return e.setState({insert:""})},onForceSave:function(){return e.onSave()},searchText:this.state.searchText,onRegisterSelect:function(t){return e.onRegisterSelect(t)},readOnly:this.state.showBlocklyCode,changed:this.state.changed[this.state.selected],code:this.scripts[this.state.selected].source||"",isDark:"dark"===this.state.themeType,socket:this.props.socket,runningInstances:this.state.runningInstances,onChange:function(t){return e.onChange({script:t})},language:"TypeScript/ts"===this.scripts[this.state.selected].engineType?"typescript":"javascript"}))):null}},{key:"getBlocklyEditor",value:function(){var e=this;return this.state.instancesLoaded&&this.state.selected&&this.props.objects[this.state.selected]&&this.state.blockly&&!this.state.showBlocklyCode&&this.state.visible?(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),n.a.createElement("div",{className:this.props.classes.editorDiv,key:"blocklyEditorDiv"},n.a.createElement(jt,{command:this.state.cmdToBlockly,key:"BlocklyEditor",themeType:this.state.themeType,searchText:this.state.searchText,resizing:this.props.resizing,code:this.scripts[this.state.selected].source||"",onChange:function(t){return e.onChange({script:t})}}))):null}},{key:"getConfirmDialog",value:function(){var e=this;return this.state.confirm?n.a.createElement(A.a,{key:"dialogConfirm1",text:this.state.confirm,onClose:function(t){if(e.confirmCallback){var s=e.confirmCallback;e.confirmCallback=null,s(t)}e.setState({confirm:""})}}):null}},{key:"getSelectIdDialog",value:function(){var e=this;if(this.state.showSelectId){var t=this.selectId.callback?this.selectId.initValue||"":this.getSelect?this.getSelect():"",s=t.indexOf("/*");-1!==s&&(t=t.substring(0,s)),-1!==(s=t.indexOf("//"))&&(t=t.substring(0,s));var a=t.match(/"([^"]+)"/);return a&&(t=a[1]),(a=t.match(/'([^']+)'/))&&(t=a[1]),n.a.createElement(Jt.a,{key:"dialogSelectID1",imagePrefix:"../..",themeName:this.props.themeName,themeType:this.state.themeType,socket:this.props.socket,selected:t,statesOnly:!0,onClose:function(){e.setState({showSelectId:!1}),e.selectId.callback&&(e.selectId.callback=null)},onOk:function(t,s){e.selectId.initValue=null,e.selectId.callback?(e.selectId.callback(t),e.selectId.callback=null):e.setState({insert:"'".concat(t,"'/*").concat(s,"*/")})}})}return null}},{key:"getCronDialog",value:function(){var e=this;return this.state.showCron?n.a.createElement(gs,{key:"dialogCron1",cron:this.cron.callback?this.cron.initValue||"":this.getSelect?this.getSelect():"* * * * *",onClose:function(){return e.setState({showCron:!1})},onOk:function(t){e.cron.initValue=null,e.cron.callback?(e.cron.callback(t),e.cron.callback=null):e.setState({insert:"'".concat(t,"'")})}}):null}},{key:"getEditorDialog",value:function(){var e=this;return this.state.showScript?n.a.createElement(ks,{key:"scriptEditorDialog",adapterName:this.props.adapterName,source:this.scriptDialog.initValue,args:this.scriptDialog.args?this.scriptDialog.args.join(", "):"",isReturn:this.scriptDialog.isReturn,socket:this.props.socket,runningInstances:this.state.runningInstances,themeType:this.state.themeType,onClose:function(t){e.scriptDialog.initValue=null,e.scriptDialog.callback&&(!1!==t&&e.scriptDialog.callback(t||""),e.scriptDialog.callback=null),e.setState({showScript:!1})}}):null}},{key:"getToast",value:function(){var e=this;return n.a.createElement(ht.a,{key:"toast",anchorOrigin:{vertical:"bottom",horizontal:"left"},open:!!this.state.toast,autoHideDuration:6e3,onClose:function(){return e.setState({toast:""})},ContentProps:{"aria-describedby":"message-id"},message:n.a.createElement("span",{id:"message-id"},this.state.toast),action:[n.a.createElement(L.a,{key:"close","aria-label":"close",color:"inherit",className:this.props.classes.closeToast,onClick:function(){return e.setState({toast:""})}},n.a.createElement(v.g,null))]})}},{key:"render",value:function(){var e=this;return this.state.selected&&this.props.objects[this.state.selected]&&null===this.state.blockly&&(this.scripts[this.state.selected]=this.scripts[this.state.selected]||JSON.parse(JSON.stringify(this.props.objects[this.state.selected].common)),setTimeout((function(){var t={blockly:"Blockly"===e.scripts[e.state.selected].engineType,showBlocklyCode:!1,debugEnabled:e.scripts[e.state.selected].debug,verboseEnabled:e.scripts[e.state.selected].verbose};e.removeNonExistingScripts(null,t),e.setState(t)}),100)),[this.getTabs(),this.getToolbar(),this.getScriptEditor(),this.getBlocklyEditor(),this.getConfirmDialog(),this.getSelectIdDialog(),this.getCronDialog(),this.getEditorDialog(),this.getDebugMenu(),this.getToast()]}}]),s}(n.a.Component),Ss=Object(g.a)((function(e){return{toolbar:{minHeight:38,boxShadow:"0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12)"},toolbarButtons:{padding:4,marginLeft:4},editorDiv:{height:"calc(100% - ".concat(e.toolbar.height+38+5,"px)"),width:"100%",overflow:"hidden",position:"relative"},textButton:{marginRight:10,minHeight:24,padding:"6px 16px"},saveButton:{background:"#ff9900"},textIcon:{marginLeft:e.spacing(1)},tabIcon:{width:24,height:24,verticalAlign:"middle",marginBottom:2,marginRight:2,borderRadius:3},hintIcon:{padding:"0 8px 0 8px"},hintText:{},hintButton:{marginTop:8,marginLeft:20},tabMenuButton:{position:"absolute",top:0,right:0},tabChanged:{color:e.palette.secondary.main},tabText:{maxWidth:130,textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",display:"inline-block",verticalAlign:"middle"},tabChangedIcon:{color:"#FF0000",fontSize:16},closeButton:{position:"absolute",top:8,right:0,zIndex:10,padding:8,cursor:"pointer"},notRunning:{color:"#ffbc00",marginRight:e.spacing(1)},tabButton:{},tabButtonWrapper:{display:"inline-block"},menuIcon:{width:18,height:18,borderRadius:2,marginRight:5}}}))(bs),ws=s(220),Es=function(e){Object(u.a)(s,e);var t=Object(m.a)(s);function s(e){var a;return Object(p.a)(this,s),(a=t.call(this,e)).state={error:"",imageStatus:""},a}return Object(h.a)(s,[{key:"componentDidMount",value:function(){setTimeout((function(){try{window.document.getElementById("import-text-area").focus()}catch(e){}}),100)}},{key:"handleCancel",value:function(){this.props.onClose()}},{key:"onChange",value:function(e){this.setState({text:e.target.value})}},{key:"handleDropFile",value:function(e){var t=this;if(e&&e.hasOwnProperty("target")&&(e=e.target.files),e||e.length){var a=e[e.length-1];a&&s.readFileDataUrl(a,(function(e,s){e?t.setState({error:e}):t.props.onClose(s&&s.data)}))}}},{key:"render",value:function(){var e=this,t=this.props.classes,s=t.dropzone+" "+("accepted"===this.state.imageStatus?t.dropzoneAccepted:"rejected"===this.state.imageStatus?t.dropzoneRejected:"");return n.a.createElement(ue.a,{disableBackdropClick:!0,disableEscapeKeyDown:!0,maxWidth:"lg",classes:{paper:t.dialog},fullWidth:!0,open:!0,"aria-labelledby":"import-dialog-title"},n.a.createElement(de.a,{id:"import-dialog-title"},E.a.t("Import scripts")),n.a.createElement(pe.a,{className:t.fullHeight},n.a.createElement(ws.a,{key:"image-drop",maxSize:5e7,acceptClassName:t.dropzoneAccepted,rejectClassName:t.dropzoneRejected,onDrop:function(t){return e.handleDropFile(t)},multiple:!1,accept:"application/zip,application/x-zip-compressed",className:s},(function(t){var s=t.getRootProps,a=t.getInputProps,r=t.isDragActive;return t.isDragReject?("rejected"!==e.state.imageStatus&&e.setState({imageStatus:"rejected"}),n.a.createElement("div",Object.assign({className:e.props.classes.dropzoneDiv},s()),n.a.createElement("input",a()),n.a.createElement("span",{key:"text",className:e.props.classes.text},E.a.t("Some files will be rejected")),n.a.createElement(v.e,{key:"icon",className:e.props.classes.icon+" "+e.props.classes.iconError}))):r?("accepted"!==e.state.imageStatus&&e.setState({imageStatus:"accepted"}),n.a.createElement("div",Object.assign({className:e.props.classes.dropzoneDiv},s()),n.a.createElement("input",a()),n.a.createElement("span",{key:"text",className:e.props.classes.text},E.a.t("All files will be accepted")),n.a.createElement(v.y,{key:"icon",className:e.props.classes.icon+" "+e.props.classes.iconOk}))):("wait"!==e.state.imageStatus&&e.setState({imageStatus:"wait"}),n.a.createElement("div",Object.assign({className:e.props.classes.dropzoneDiv},s()),n.a.createElement("input",a()),n.a.createElement("span",{key:"text",className:e.props.classes.text},E.a.t("Drop some files here or click...")),n.a.createElement(v.m,{key:"icon",className:e.props.classes.icon})))})),this.state.error?n.a.createElement(Ue,{text:this.state.error,onClose:function(){return e.setState({error:""})}}):null),n.a.createElement(he.a,null,n.a.createElement(le.a,{onClick:function(){return e.handleCancel()}},n.a.createElement(ke.a,{className:this.props.classes.buttonIcon}),E.a.t("Close"))))}}],[{key:"readFileDataUrl",value:function(e,t){var s=new FileReader;s.onload=function(){t(null,{data:s.result,name:e.name})},s.onabort=function(){console.error("file reading was aborted"),t(E.a.t("file reading was aborted"))},s.onerror=function(e){console.error("file reading has failed"),t(E.a.t("file reading has failed: %s",e))},s.readAsDataURL(e)}}]),s}(n.a.Component),Cs=Object(g.a)((function(e){return{dialog:{height:"95%"},fullHeight:{height:"100%",overflow:"hidden"},dropzone:{marginTop:20,width:"100%",borderWidth:5,borderStyle:"dashed",borderColor:"#d0cccc",textAlign:"center",boxSizing:"border-box",paddingTop:45,borderRadius:10,height:"calc(100% - 10px)"},dropzoneDiv:{width:"100%",height:"100%"},dropzoneRejected:{borderColor:"#970000"},dropzoneAccepted:{borderColor:"#17cd02"},icon:{height:"30%",width:"30%",color:"#eeeeee",position:"absolute",top:"50%",left:"50%",transform:"translate(-50%,-50%)",zIndex:0},iconError:{color:"#ffc3c6"},iconOk:{color:"#aaeebc"},text:{top:"50%",left:"50%",transform:"translate(-50%,-50%)",color:"#868686",position:"absolute",zIndex:1},buttonIcon:{marginRight:e.spacing(1)}}}))(Es),Ns=function(e){Object(u.a)(a,e);var t=Object(m.a)(a);function a(e){var n;return Object(p.a)(this,a),(n=t.call(this,e,{translations:{en:s(310),de:s(311),es:s(312),fr:s(313),it:s(314),nl:s(315),pl:s(316),pt:s(317),ru:s(318),"zh-cn":s(319)},bottomButtons:!1,socket:{autoSubscribeLog:!0}})).onScriptsChanged=function(e,t){if(e){var s=!1,a={};e.startsWith("script.js.")&&(t?JSON.stringify(n.scripts[e])!==JSON.stringify(t)&&(n.scripts[e]=t,s=!0,a.scriptsHash=n.state.scriptsHash+1):n.scripts[e]&&(delete n.scripts[e],s=!0,a.scriptsHash=n.state.scriptsHash+1)),s&&n.setState(a)}},n.onInstanceChanged=function(e,t){if(e){var s=!1,a={};if(e.match(/^system\.adapter\.[-_\w\d]+\$/)){if(e.startsWith("system.adapter."+n.adapterName+"."))if(t&&"instance"===t.type)n.state.instances.includes(e)||(a.instances=Object(d.a)(n.state.instances),a.instances.push(e),a.instances.sort(),s=!0,n.socket.subscribeState(t._id+".alive",n.onInstanceAliveChange()));else if(!t&&n.state.instances.includes(e)){n.socket.unsubscribeState(e+".alive",n.onInstanceAliveChange()),a.instances=Object(d.a)(n.state.instances);var r=a.instances.indexOf(e);a.instances.splice(r,1),s=!0}t&&t[e].common&&t[e].common.blockly&&(n.confirmCallback=function(e){return e&&window.location.reload()},a.confirm=E.a.t("Some blocks were updated. Reload admin?"),s=!0)}s&&n.setState(a)}},n.onHostChanged=function(e,t){if(e){if(e.startsWith("system.host."))if(t&&"host"===t.type)n.hosts.includes(e)||(n.hosts.push(e),n.hosts.sort());else if(!t&&n.hosts.includes(e)){var s=n.hosts.indexOf(e);n.hosts.splice(s,1)}}},n.onInstanceAliveChange=function(e,t){if(e&&(e=e&&e.substring(0,e.length-6),n.state.runningInstances[e]!==(!!t&&t.val))){var s=JSON.parse(JSON.stringify(n.state.runningInstances));s[e]=!!t&&t.val,n.setState({runningInstances:s})}},n.logSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.logSize"))||150,n.menuSize=window.localStorage&&parseFloat(window.localStorage.getItem("App.menuSize"))||500,n.hosts=[],n.importFile=null,n.scripts={},window.alert=function(e){console.error(e),n.showError(e.toString())},n}return Object(h.a)(a,[{key:"onConnectionReady",value:function(){var e=this;window.systemLang=this.socket.systemLang,this.setState({ready:!1,updateScripts:0,scriptsHash:0,instances:[],updating:!1,resizing:!1,selected:null,logMessage:{},editing:[],menuOpened:!window.localStorage||"false"!==window.localStorage.getItem("App.menuOpened"),menuSelectId:"",expertMode:!!window.localStorage&&"true"===window.localStorage.getItem("App.expertMode"),logHorzLayout:!!window.localStorage&&"true"===window.localStorage.getItem("App.logHorzLayout"),runningInstances:{},confirm:"",importFile:!1,message:"",searchText:""});var t={};this.subscribeOnInstances().then((function(s){return t.instances=s.instances,t.runningInstances=s.runningInstances,e.readAdaptersWithBlockly()})).then((function(){return e.socket.getHosts()})).then((function(t){return e.hosts=t.map((function(e){return e._id})),e.readAllScripts()})).then((function(s){window.localStorage&&"true"!==window.localStorage.getItem("App.expertMode")&&"false"!==window.localStorage.getItem("App.expertMode")&&Object.keys(s).find((function(e){return e.startsWith("script.js.global.")&&"script"===s.type}))&&(t.expertMode=!0),e.scripts=s;var a=e.state.scriptsHash;e.compareScripts(s)&&a++,t.scriptsHash=a,t.ready=!0,e.socket.subscribeObject("script.*",e.onScriptsChanged),e.socket.subscribeObject("system.adapter.*",e.onInstanceChanged),e.socket.subscribeObject("system.host.*",e.onHostChanged),e.setState(t)}))}},{key:"subscribeOnInstances",value:function(){var e=this;return this.socket.getAdapterInstances(this.adapterName).then((function(t){var s=t.map((function(e){return parseInt(e._id.split(".").pop())})).sort(),a={};s.forEach((function(t){return a["system.adapter."+e.adapterName+"."+t]=!1}));var n=[];return s.forEach((function(t){var s="system.adapter.".concat(e.adapterName,".").concat(t),r="".concat(s,".alive");n.push(e.socket.getState(r).then((function(t){a[s]=!!t&&t.val,e.socket.subscribeState(r,e.onInstanceAliveChange)})))})),Promise.all(n).then((function(){return{instances:s,runningInstances:a}}))}))}},{key:"readAllScripts",value:function(){var e=this;return this.socket.getObjectView("script.js.","script.js.\u9999","channel").then((function(t){return e.socket.getObjectView("script.js.","script.js.\u9999","script").then((function(e){return Object.keys(e).forEach((function(s){return t[s]=e[s]})),t}))}))}},{key:"readAdaptersWithBlockly",value:function(){return this.socket.getObjectView("system.adapter.","system.adapter.\u9999","adapter").then((function(e){return new Promise((function(t){return jt.loadCustomBlockly(e,(function(){return t()}))}))}))}},{key:"compareScripts",value:function(e){var t=Object.keys(this.scripts),s=Object.keys(e);if(t.length!==s.length)return this.scripts=this.newScripts,!0;if(JSON.stringify(t)!==JSON.stringify(s))return this.scripts=this.newScripts,!0;for(var a=0;a ").concat(t)),this.setState({updating:!0}),this.scripts[e]&&"script"===this.scripts[e].type){var o=JSON.parse(JSON.stringify(this.scripts[e].common));o.name=s||o.name,void 0!==a&&(o.engine="system.adapter.javascript."+a);var i=t.split(".");i.pop();var c=i.join(".");this.scripts[c]&&"script"===this.scripts[c].type&&(i.pop(),t=i.join(".")+"."+t.split(".").pop()),n=this.updateScript(e,t,o)}else n=this.renameGroup(e,t,s);n.then((function(){return r.setState({updating:!1})})).catch((function(e){return"canceled"!==e&&r.showError(e)}))}},{key:"renameGroup",value:function(e,t,s,a){var n=this;if(a){if(a.length){var r=a.pop();return this.socket.getObject(r).then((function(o){return n.socket.delObject(r).catch((function(){})).then((function(){return r=t+r.substring(e.length),o._id=r,n.socket.setObject(r,o)})).then((function(){return n.renameGroup(e,t,s,a)}))}))}return Promise.resolve()}return a=[],a=Object.keys(this.scripts).filter((function(t){return t.startsWith(e+".")})),this.socket.getObject(e).then((function(r){(r=r||{common:{}}).common.name=s||r.common.name||e.split(".").pop(),r._id=t,n.socket.delObject(e).catch((function(){})).then((function(){return n.socket.setObject(t,r)})).then((function(){return n.renameGroup(e,t,s,a)})).catch((function(e){console.log(e)}))})).catch((function(r){console.log(r);var o={_id:t,type:"channel",common:{name:s||e.split(".").pop()},native:{}};return n.socket.setObject(t,o).then((function(){return n.renameGroup(e,t,s,a)}))}))}},{key:"onUpdateScript",value:function(e,t){var s=this;this.scripts[e]&&"script"===this.scripts[e].type&&this.updateScript(e,e,t).then((function(){})).catch((function(e){return"canceled"!==e&&s.showError(e)}))}},{key:"onSelect",value:function(e){var t=this;this.scripts[e]&&this.scripts[e].common&&"script"===this.scripts[e].type&&this.setState({selected:e,menuSelectId:e},(function(){return setTimeout((function(){return t.setState({menuSelectId:""})}))}),300)}},{key:"onExpertModeChange",value:function(e){this.state.expertMode!==e&&(window.localStorage&&window.localStorage.setItem("App.expertMode",e?"true":"false"),this.setState({expertMode:e}))}},{key:"showError",value:function(e){this.setState({errorText:e?e.toString():""})}},{key:"showMessage",value:function(e){this.setState({message:e?e.toString():""})}},{key:"onDelete",value:function(e){var t=this;this.socket.delObject(e).then((function(){})).catch((function(e){return t.showError(e)}))}},{key:"onEdit",value:function(e){this.state.selected!==e&&this.setState({selected:e})}},{key:"onAddNew",value:function(e,t,s,a,n,r){var o=this,i=new RegExp("^".concat(e,"\\."));if(Object.keys(this.scripts).find((function(t){return e===t||i.test(e)})))return this.showError(E.a.t("Yet exists!"));s?this.socket.setObject(e,{common:{name:t,expert:!0},type:"channel"}).then((function(){return setTimeout((function(){return o.setState({menuSelectId:e},(function(){return setTimeout((function(){return o.setState({menuSelectId:""})}))}),300)}),1e3)})).catch((function(e){return o.showError(e)})):this.socket.setObject(e,{common:{name:t,expert:!0,engineType:n,engine:"system.adapter.javascript."+(a||0),source:r||"",debug:!1,verbose:!1},type:"script"}).then((function(){return setTimeout((function(){return o.onSelect(e)}),1e3)})).catch((function(e){return o.showError(e)}))}},{key:"updateScript",value:function(e,t,s){var a=this;return this.socket.getObject(e).then((function(n){var r={common:{}};return void 0!==s.engine&&(r.common.engine=s.engine),void 0!==s.enabled&&(r.common.enabled=s.enabled),void 0!==s.source&&(r.common.source=s.source),void 0!==s.debug&&(r.common.debug=s.debug),void 0!==s.verbose&&(r.common.verbose=s.verbose),r.from="system.adapter.admin.0",e===t&&n&&n.common&&s.name===n.common.name?(s.engineType&&s.engineType===n.common.engineType||void 0!==s.engineType&&(r.common.engineType=s.engineType||"Javascript/js"),new Promise((function(t,s){return a.socket.getRawSocket().emit("extendObject",e,r,(function(e){return e?s(e):t()}))}))):n&&n.common?(n.common.engineType=s.engineType||n.common.engineType||"Javascript/js",a.socket.delObject(e).then((function(){void 0!==r.common.engine&&(n.common.engine=r.common.engine),void 0!==r.common.enabled&&(n.common.enabled=r.common.enabled),void 0!==r.common.source&&(n.common.source=r.common.source),void 0!==r.common.name&&(n.common.name=r.common.name),void 0!==r.common.debug&&(n.common.debug=r.common.debug),void 0!==r.common.verbose&&(n.common.verbose=r.common.verbose),delete n._rev,n.common.name=s.name,n._id=t,a.socket.setObject(t,n)}))):((n=r).common.name=s.name,n._id=t,a.socket.setObject(t,n))}))}},{key:"onEnableDisable",value:function(e,t){var s=this;if(this.scripts[e]&&"script"===this.scripts[e].type){var a=this.scripts[e].common;a.enabled=t,a.expert=!0,this.updateScript(e,e,a).catch((function(e){return"canceled"!==e&&s.showError(e)}))}}},{key:"getLiveHost",value:function(e,t){var s=this;if(t||(t=this.hosts?Object(d.a)(this.hosts):[]),t.length){var a=t.shift();this.socket.getState(a+".alive").then((function(n){n&&n.val?e(a):setTimeout((function(){return s.getLiveHost(e,t)}))}))}else e()}},{key:"onExport",value:function(){var e=this;this.getLiveHost((function(t){if(!t)return e.showError(E.a.t("No active host found"));var s=new Date,a=s.getFullYear(),n=s.getMonth()+1;n<10&&(n="0"+n),a+="-"+n,(n=s.getDate())<10&&(n="0"+n),a+="-"+n+"-",e.socket.getRawSocket().emit("sendToHost",t,"readObjectsAsZip",{adapter:"javascript",id:"script.js",link:a+"scripts.zip"},(function(t){if("string"===typeof t){var s=document.createElement("a"),n=t.split(".zip.");s.href="/zip/"+n[0]+"/"+n[1],document.body.appendChild(s),s.click(),s.remove()}else if(t.error&&e.showError(t.error),t.data){var r=document.createElement("a");r.href="data: application/zip;base64,"+t.data,r.download=a+"scripts.zip",document.body.appendChild(r),r.click(),r.remove()}}))}))}},{key:"onImport",value:function(e){this.importFile=e,e?(this.confirmCallback=this.onImportConfirmed.bind(this),this.setState({importFile:!1,confirm:E.a.t("Existing scripts will be overwritten.")})):this.setState({importFile:!1})}},{key:"onImportConfirmed",value:function(e){var t=this,s=this.importFile;this.importFile=null,e&&s&&(s=s.split(",")[1],this.getLiveHost((function(e){e?t.socket.getRawSocket().emit("sendToHost",e,"writeObjectsAsZip",{data:s,adapter:"javascript",id:"script.js"},(function(e){"permissionError"===e?t.showError(E.a.t(e)):!e||e.error?t.showError(e?E.a.t(e.error):E.a.t("Unknown error")):t.showMessage(E.a.t("Done"))})):t.showError(E.a.t("No active host found"))})))}},{key:"toggleLogLayout",value:function(){window.localStorage&&window.localStorage.setItem("App.logHorzLayout",this.state.logHorzLayout?"false":"true"),this.setState({logHorzLayout:!this.state.logHorzLayout})}},{key:"renderMain",value:function(){var e=this,t=this.props.classes,s=this.state.errorText?n.a.createElement(Ue,{key:"dialogError",onClose:function(){return e.setState({errorText:""})},text:this.state.errorText}):null;return[this.state.message?n.a.createElement(N.a,{key:"dialogMessage",onClose:function(){return e.setState({message:""})},text:this.state.message}):null,s,this.state.importFile?n.a.createElement(Cs,{key:"dialogImportFile",onClose:function(t){return e.onImport(t)}}):null,this.state.confirm?n.a.createElement(A.a,{key:"dialogConfirm",onClose:function(t){e.state.confirm&&e.setState({confirm:""}),e.confirmCallback&&e.confirmCallback(t),e.confirmCallback=null},text:this.state.confirm}):null,n.a.createElement("div",{className:t.content+" iobVerticalSplitter",key:"main"},n.a.createElement("div",{key:"closeMenu",className:t.menuOpenCloseButton,onClick:function(){window.localStorage&&window.localStorage.setItem("App.menuOpened",e.state.menuOpened?"false":"true"),e.setState({menuOpened:!e.state.menuOpened,resizing:!0}),setTimeout((function(){return e.setState({resizing:!1})}),300)}},this.state.menuOpened?n.a.createElement(v.b,null):n.a.createElement(v.r,null)),n.a.createElement(f.a,{key:"splitterLayout",vertical:!this.state.logHorzLayout,primaryMinSize:100,secondaryInitialSize:this.logSize,onDragStart:function(){return e.setState({resizing:!0})},onSecondaryPaneSizeChange:function(t){return e.logSize=parseFloat(t)},onDragEnd:function(){e.setState({resizing:!1}),window.localStorage&&window.localStorage.setItem("App.logSize",e.logSize.toString())}},n.a.createElement(Ss,{key:"editor",visible:!this.state.resizing,socket:this.socket,adapterName:this.adapterName,onLocate:function(t){return e.setState({menuSelectId:t})},runningInstances:this.state.runningInstances,menuOpened:this.state.menuOpened,searchText:this.state.searchText,themeType:this.state.themeType,themeName:this.state.themeName,onChange:function(t,s){return e.onUpdateScript(t,s)},onSelectedChange:function(t,s){var a={},n=!1;t!==e.state.selected&&(n=!0,a.selected=t),JSON.stringify(s)!==JSON.stringify(e.state.editing)&&(n=!0,a.editing=JSON.parse(JSON.stringify(s))),n&&e.setState(a)},onRestart:function(t){return e.socket.extendObject(t,{common:{enabled:!0}})},selected:this.state.selected&&this.scripts[this.state.selected]&&"script"===this.scripts[this.state.selected].type?this.state.selected:"",objects:this.scripts,instances:this.state.instances}),n.a.createElement(it,{key:"log",verticalLayout:!this.state.logHorzLayout,onLayoutChange:function(){return e.toggleLogLayout()},editing:this.state.editing,socket:this.socket,selected:this.state.selected})))]}},{key:"render",value:function(){var e=this,t=this.props.classes;return this.state.ready?n.a.createElement("div",{className:t.root},n.a.createElement(f.a,{key:"menuSplitter",vertical:!1,primaryMinSize:300,primaryIndex:1,secondaryMinSize:300,secondaryInitialSize:this.menuSize,customClassName:t.splitterDivs+" "+(this.state.menuOpened?"":t.menuDivWithoutMenu),onDragStart:function(){return e.setState({resizing:!0})},onSecondaryPaneSizeChange:function(t){return e.menuSize=parseFloat(t)},onDragEnd:function(){e.setState({resizing:!1}),window.localStorage&&window.localStorage.setItem("App.menuSize",e.menuSize.toString())}},n.a.createElement("div",{className:t.mainDiv,key:"menu"},n.a.createElement(at,{key:"sidemenu",scripts:this.scripts,scriptsHash:this.state.scriptsHash,instances:this.state.instances,update:this.state.updateScripts,onRename:this.onRename.bind(this),onSelect:this.onSelect.bind(this),socket:this.socket,selectId:this.state.menuSelectId,onEdit:this.onEdit.bind(this),expertMode:this.state.expertMode,themeType:this.state.themeType,themeName:this.state.themeName,onThemeChange:function(t){I.a.setThemeName(t);var s=I.a.getThemeType(t);e.setState({themeName:t,themeType:s},(function(){return e.props.onThemeChange(t)}))},runningInstances:this.state.runningInstances,onExpertModeChange:this.onExpertModeChange.bind(this),onDelete:this.onDelete.bind(this),onAddNew:this.onAddNew.bind(this),onEnableDisable:this.onEnableDisable.bind(this),onExport:this.onExport.bind(this),width:this.menuSize,onImport:function(){return e.setState({importFile:!0})},onSearch:function(t){return e.setState({searchText:t})}})),this.renderMain())):n.a.createElement(S.a,{theme:this.state.themeType})}}]),a}(_.a),Ds=Object(g.a)((function(e){return{root:{flexGrow:1,display:"flex",width:"100%",height:"100%"},menuDiv:{overflow:"hidden"},splitterDivs:{"&>div":{overflow:"hidden",width:"100%",height:"100%"},"& .layout-splitter":{background:"dark"===e.palette.type?"#595858":"#ccc;"}},mainDiv:{width:"100%",height:"100%",overflow:"hidden"},content:{width:"100%",height:"100%",backgroundColor:e.palette.background&&e.palette.background.default,position:"relative"},splitterDivWithMenu:{width:"calc(100% - 300px)",height:"100%"},menuDivWithoutMenu:{"&>div:first-child":{display:"none"},"&>.layout-splitter":{display:"none"}},progress:{margin:100},menuOpenCloseButton:{position:"absolute",left:0,borderRadius:"0 5px 5px 0",top:6,paddingTop:8,cursor:"pointer",zIndex:1,height:25,width:20,background:e.palette.secondary.main,color:e.palette.primary.main,paddingLeft:3,"&:hover":{color:"white"}}}}))(Ns);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));var As=s(161),Os=s(154),Is=s.n(Os);window.adapterName="javascript";var xs=I.a.getThemeName();console.log("iobroker."+window.adapterName+"@"+As.a+' using theme "'+xs+'"'),"localhost:3000"!==window.location.host&&i.a({dsn:"https://504499a725eb4898930d3b9e9da95740@sentry.iobroker.net/56",release:"iobroker."+window.adapterName+"@"+As.a,integrations:[new c.a]}),function e(){return"undefined"===typeof Map&&console.log("Something is wrong"),o.a.render(n.a.createElement(l.a,{theme:Is()(xs)},n.a.createElement(Ds,{onThemeChange:function(t){xs=t,e()}})),document.getElementById("root"))}(),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))},92:function(e,t){e.exports="data:image/png;base64,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"}},[[240,1,2]]]); +//# sourceMappingURL=main.805d303a.chunk.js.map \ No newline at end of file diff --git a/admin/static/js/main.74fb53f3.chunk.js.LICENSE.txt b/admin/static/js/main.805d303a.chunk.js.LICENSE.txt similarity index 100% rename from admin/static/js/main.74fb53f3.chunk.js.LICENSE.txt rename to admin/static/js/main.805d303a.chunk.js.LICENSE.txt diff --git a/admin/static/js/main.74fb53f3.chunk.js.map b/admin/static/js/main.805d303a.chunk.js.map similarity index 99% rename from admin/static/js/main.74fb53f3.chunk.js.map rename to admin/static/js/main.805d303a.chunk.js.map index 08e38db4d..4b19b7306 100644 --- a/admin/static/js/main.74fb53f3.chunk.js.map +++ b/admin/static/js/main.805d303a.chunk.js.map @@ -1 +1 @@ -{"version":3,"sources":["assets/blockly.png","assets/typescript.png","assets/tileJS.png","assets/tileTS.png","assets/tileBlockly.png","assets/blockly2js.png","Dialogs/Rename.js","Dialogs/Delete.js","Dialogs/AddNewScript.js","Dialogs/New.js","Dialogs/Error.js","SideMenu.js","Log.js","Components/ScriptEditorVanilaMonaco.js","Components/BlocklyEditor.js","Dialogs/Export.js","Dialogs/Import.js","Components/simple-cron/cron2text.js","Components/simple-cron/jquery.cron.locale.js","Components/simple-cron/cronText.js","Components/ComplexCron.js","Components/simple-cron/SimpleCron.js","Components/Schedule.js","Dialogs/Cron.js","Dialogs/ScriptEditor.js","Editor.js","Dialogs/ImportFile.js","App.js","serviceWorker.js","index.js","assets/js.png"],"names":["module","exports","DialogRename","props","handleCancel","onClose","handleOk","onRename","oldId","state","id","name","instance","handleChange","setState","getId","isShowInstance","folder","instances","length","prefix","getPrefix","parts","split","pop","join","replace","this","nextProps","Dialog","disableBackdropClick","disableEscapeKeyDown","maxWidth","fullWidth","open","aria-labelledby","DialogTitle","I18n","t","DialogContent","noValidate","autoComplete","TextField","style","width","autoFocus","label","value","onKeyPress","ev","key","preventDefault","setTimeout","onChange","e","target","margin","disabled","FormControl","InputLabel","htmlFor","Select","parseInt","inputProps","map","MenuItem","DialogActions","Button","onClick","color","className","classes","buttonIcon","React","Component","withStyles","theme","marginRight","spacing","DialogDelete","onDelete","fontSize","fontWeight","DialogAddNew","type","html","lang","getLanguage","window","focus","Card","card","CardActionArea","CardMedia","media","image","ImgJS","title","CardContent","text","CardActions","size","openHtml","ImgTS","ImgBlockly","textAlign","getJSCard","getBlocklyCard","getTSCard","display","height","DialogNew","onAdd","existingItems","indexOf","error","parent","helperText","minWidth","parents","splice","names","forEach","n","i","el","find","item","push","DialogError","console","log","aria-describedby","titleBackground","root","titleColor","DialogContentText","background","palette","main","contrastText","COLOR_RUN","green","COLOR_PROBLEM","yellow","COLOR_PAUSE","red","ROOT_ID","COMMON_ID","GLOBAL_ID","SELECTED_STYLE","images","def","ImgTypeScript","getObjectName","obj","common","en","toString","prepareList","data","modified","result","depth","index","ids","Object","keys","enabled","engineType","engine","it","sort","a","b","idA","toLowerCase","idB","parentIndex","Droppable","onDrop","useDrop","accept","drop","isOver","undefined","collect","monitor","shallow","isOverAny","ref","clsx","children","Draggable","useDrag","opacity","isDragging","drag","transform","SideDrawer","expanded","localStorage","getItem","JSON","parse","inputRef","createRef","listItems","scripts","problems","reorder","themeName","selected","creatingScript","creatingFolder","copingScript","renaming","deleting","choosingType","errorText","menuOpened","menuAnchorEl","searchMode","expertMode","searchText","typeFilter","statusFilter","runningInstances","scriptsHash","newExp","ensureSelectedIsVisible","filterTimer","isAllZeroInstances","getIsAllZeroInstances","problemsTimer","onProblemUpdatedBound","onProblemUpdated","bind","cb","tasks","shift","match","that","_id","substring","socket","getState","err","readProblems","subscribeState","unsubscribeState","stringify","changed","val","pos","isSearchEnabled","newState","filterListStatic","ensureSelectedIsVisibleStatic","getIsAllZeroInstancesStatic","setItem","stopPropagation","startsWith","saveExpanded","IconButton","iconButtons","onEnableDisable","onEdit","Promise","resolve","whiteSpace","padding","overflow","flex","onToggle","filtered","filteredPartly","childrenFiltered","depthPx","assign","marginLeft","cursor","isExpanded","includes","iconClass","iconStyle","folderIcon","folderIconReorder","folderIconNoReorder","scriptIcon","scriptIconReorder","scriptIconNoReorder","childrenCount","ListItem","script","scriptReorder","folderReorder","onDoubleClick","onDblClick","ListItemIcon","listItemIcon","alt","src","ListItemText","primary","getTextStyle","ListItemSecondaryAction","renderItemButtonsOnEnd","source","newId","items","dragging","filter","isFilteredOut","reactChildren","element","renderListItem","renderOneItem","onDragFinish","List","dense","disablePadding","mainList","copyId","word","m","menuAnchorFilterEl","filterIcon","selectedItem","Menu","anchorEl","PaperProps","maxHeight","MENU_ITEM_HEIGHT","event","showError","then","iconDropdownMenu","onCloseMenu","onExpertModeChange","onExport","onImport","onThemeChange","newThemeName","onAddNew","onCopy","RootRef","rootRef","Input","toolbarSearch","placeholder","clearTimeout","filterList","onSearch","toolbarButtons","float","mini","marginTop","aria-label","aria-owns","aria-haspopup","currentTarget","getMainMenu","onAddNewFolder","folders","footerButtons","Blockly","footerButtonsRight","onExpandAll","onCollapseAll","renamingItem","copingItem","Drawer","variant","menu","paper","drawerPaper","anchor","toolbar","getToolbarButtons","Divider","backend","HTML5Backend","innerMenu","renderAllItems","footer","getBottomButtons","newName","newInstance","getUniqueName","getFolders","getUniqueFolderName","objects","found","lastIndexOf","nState","selectId","position","lineHeight","paddingRight","iconOnTheRight","right","top","overflowX","overflowY","borderRadius","marginBottom","userSelect","transitionDuration","transitionProperty","paddingTop","paddingBottom","paddingLeft","expandButton","backgroundColor","gText","Log","lines","goBottom","editing","lastIndex","messagesEnd","logHandlerBound","logHandler","message","ts","substr","severity","trTime","d","getHours","getMinutes","getSeconds","getMilliseconds","getTimeString","Date","trSeverity","current","scrollIntoView","behavior","allLines","generateLine","ms","date","toLocaleString","registerLogHandler","unregisterLogHandler","scrollToBottom","str","document","createElement","body","appendChild","select","execCommand","removeChild","copyToClipboard","logBox","toolbox","clearLog","onLayoutChange","layoutIcon","verticalLayout","logBoxInner","table","clear","hasOwnProperty","info","warn","debug","silly","fontFamily","left","boxShadow","isIdOfGlobalScript","test","toolboxXml","ScriptEditor","isDark","language","readOnly","alive","check","typingsLoaded","runningInstancesStr","monacoDiv","editor","monaco","insert","originalCode","code","typings","lastSearch","monacoCounter","waitForMonaco","scriptAdapterInstance","sendTo","setTypeCheck","setEditorTypings","componentDidMount","onRegisterSelect","getModel","getValueInRange","getSelection","compilerOptions","languages","typescript","typescriptDefaults","ScriptTarget","ES2015","allowJs","checkJs","noLib","lib","moduleResolution","ModuleResolutionKind","NodeJs","setCompilerOptions","create","lineNumbers","scrollBeyondLastLine","automaticLayout","onDidChangeModelContent","getValue","loadTypings","addCommand","KeyMod","CtrlCmd","KeyCode","KEY_S","onForceSave","highlightText","options","selectOnLineNumbers","setEditorOptions","setValue","setEditorLanguage","updateOptions","lineWrap","wordWrap","typeCheck","setTheme","dispose","model","uri","path","filenameWithoutExtension","extension","newLanguage","newModel","createModel","Uri","from","setModel","noSemanticValidation","noSyntaxValidation","setDiagnosticsOptions","currentScriptName","isGlobalScript","partialDeclarationsPath","wantedTypings","filePath","content","setExtraLibs","addExtraLib","existingLibs","getExtraLibs","selection","range","Range","startLineNumber","startColumn","endLineNumber","endColumn","executeEdits","forceMoveMarkers","findMatches","r","setSelection","revealLine","row","getPosition","lineNumber","col","column","initNewScript","insertTextIntoEditor","onInserted","newValue","Fab","bottom","zIndex","forceUpdate","DialogExport","popper","getElementById","dialog","textArea","themeType","textAreaLight","Popper","placement","transition","TransitionProps","Fade","timeout","Paper","typography","tabIndex","aria-hidden","DialogImport","fullHeight","resize","languageBlocklyLoaded","languageOwnLoaded","toolboxText","scriptsLoaded","BlocklyEditor","blockly","blocklyWorkspace","exportText","importText","someSelected","changeTimer","onResizeBind","onResize","lastCommand","blinkBlock","loadLanguages","searchXml","_result","tagName","attributes","nodeName","innerHTML","innerText","childNodes","node","Xml","workspaceToDom","allBlocks","getAllBlocks","blocks","searchBlocks","addSelect","someSelectedTime","now","removeSelect","command","blocklyCheckBlocks","badBlock","blocklyBlinkBlock","exportBlocks","importBlocks","searchId","updateBackground","loadCode","fileLang","setAttribute","onload","onreadystatechange","readyState","getElementsByTagName","fileCustom","svgResize","xml","l","decodeURIComponent","atob","block","unselect","isShadow","connections","getConnections_","conn","j","targetConnection","warningText","blocklyGetUnconnectedBlock","blocklyGetBlockWithWarning","sourceBlock_","INPUT_VALUE","OUTPUT_VALUE","_optional","warning","oneWay","JavaScript","workspaceToCode","dom","domToText","btoa","encodeURIComponent","xmlBlock","blockToDom","dragMode_","DRAG_FREE","deleteNext","xy","getRelativeToSurfaceXY","RTL","x","y","domToPrettyText","trim","variables","vars","utils","textToDomDocument","nodes","createVariable","loading","xmlBlocks","textToDom","paste","onBlocklyChanged","ignoreChanges","jsCode2Blockly","domToWorkspace","blocklyRemoveOrphanedShadows","didUpdate","addEventListener","getToolbox","inject","zoom","controls","wheel","startScale","maxScale","minScale","scaleSpeed","move","scrollbars","trashcan","grid","colour","snap","addChangeListener","masterEvent","Events","UI","CREATE","getElementsByClassName","_originalStyle","stroke","fill","removeEventListener","blocklyCode2JSCode","outerHTML","p1","MSG","CustomBlocks","_b","Words","HUE","onImportBlocks","componentDidUpdate","renderMessageDialog","renderErrorDialog","renderExportDialog","renderImportDialog","url","callback","location","scriptTag","onerror","adapter","loadJS","loadScripts","adapters","toLoad","DOMParser","xmlStr","parseFromString","ActiveXObject","xmlDoc","async","loadXML","cronToText","cronspec","withSeconds","locale","NAMES","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC","SUN","MON","TUE","WED","THU","FRI","SAT","REPLACEMENTS","FIELDS","s","h","D","M","Y","offset","arguments","max","isNaN","Math","min","add","sched","inc","addHash","schedules","curSched","hash","dc","field","clone","slice","cloneSchedule","except1","except2","exceptions","addWeekday","incSplit","rangeSplit","addRange","isHash","itemSorter","toInt","argumentForCoercion","number","coercedNumber","isFinite","ceil","floor","ordinal","ORDINALS","th","st","nd","rd","numberList","numbers","lastVal","numberToDateName","DOW","MONTH","dateList","outputText","zeroPad","schedule","Every","hm","k","and","scheduleToSentence","expr","hasSeconds","prepared","toUpperCase","prepareExpr","f","component","components","parseExpr","parseCron","JQUERY_CRON_LOCALE","convertCronToText","cron","seconds","correctCasus","WEEKDAYS","MONTHS","convertMinusIntoArray","p","iMax","convertArrayIntoMinus","newParts","start","end","ComplexCron","cronExpression","cron2state","extended","tab","state2cron","modes","minutes","hours","dates","months","dows","recalcCron","nums","values","numberButton","every","everyN","periodSelect","verticalAlign","num","InputLabelProps","shrink","getDigitsSelector","mainDiv","FormControlLabel","control","Checkbox","checked","AppBar","appBar","Tabs","active","Tab","tabContent","getPeriodsTab","cronParts","slider","numberButtonBreak","PERIODIC","once","interval","intervalBetween","specific","PERIODIC_TYPES","DEFAULT_STATE","mode","period","unit","SimpleCron","time","timeFrom","timeTo","weekdays","settings","day","formControl","formControlMarginRight","getDate","getMonth","formControlPaddingTop","getControlsTime","getControlsDate","getControlsPeriodElements","hour","getControlsWeekdaysElements","onModeChange","getOnceElements","getIntervalElements","getIntervalBetweenElements","getSpecificTimeElements","list","part","_parts","dow","text2weekdays","periodArray2text","partsDate","month","PERIODS","ASTRO","DEFAULT","exactTime","days","weeks","years","yearMonth","yearDate","valid","to","string2USdate","Schedule","now2string","refFrom","refTo","refOnce","desc","state2text","force","isDiff","copy","string2date","today","setHours","setMinutes","setSeconds","setMilliseconds","validFrom","tDows","last","tMonths","getTime","wholeDay","night","fromTo","rowDiv","modeDiv","Radio","inputRadio","_schedule","settingsDiv","inputTime","getPeriodSettingsMinutes","isAstro","hr","isOnce","rowOnce","inputDate","defaultValue","timerOnce","getFullYear","rowDays","getPeriodSettingsDaily","getPeriodSettingsWeekdays","rowDows","getPeriodSettingsWeekly","rowDowsDows","rowMonths","getPeriodSettingsMonthly","rowMonthsDates","getPeriodSettingsDates","rowYears","getPeriodSettingsYearly","inputEvery","isSpecific","FormGroup","inputGroup","inputGroupElement","inputSmallCheck","parsedDates","inputDateDay","inputDateDayCheck","pointerEvents","parsedMonths","isEnd","setDate","timerFrom","timerTo","scrollWindow","getTimePeriodElements","getTimeExactElements","getDivider","getPeriodModes","getValidSettings","border","borderTop","rowDates","rowWeeks","rowDaysDows","DialogCron","simple","onOk","dialogPaper","setMode","ok","cancel","headerID","fontStyle","radio","DialogScriptEditor","isReturn","args","argsTitle","adapterName","Editor","onInstanceChanged","onBrowserClose","isChanged","returnValue","tabsRef","debugEnabled","verboseEnabled","showBlocklyCode","showSelectId","showCron","showScript","visible","cmdToBlockly","menuTabsOpened","menuTabsAnchorEl","showDebugMenu","toast","instancesLoaded","setChangedInAdmin","initValue","scriptDialog","systemLang","getObject","catch","selectIdDialog","cronDialog","showScriptDialog","getAllAdapterInstances","onSelectedChange","getAdapterInstances","instanceObjects","configNotSaved","subscribeObject","unsubscribeObject","_changed","verbose","removeNonExistingScripts","oldSource","commonLocal","nextCommon","onRestart","func","getSelect","showConfirmDialog","nowSelected","isScriptChanged","onTabClose","question","confirmCallback","confirm","cmd","onTabChange","indicatorColor","textColor","scrollButtons","tabIcon","tabText","tabChanged","tabChangedIcon","closeButton","wrapped","href","tabButton","wrapper","tabButtonWrapper","tabMenuButton","_event","hintButton","hintIcon","menuDebugAnchorEl","menuIcon","isInstanceRunning","isScriptRunning","changedAll","Toolbar","onLocate","notRunning","textButton","saveButton","onSave","textIcon","onSaveAll","onCancel","sendCommandToBlockly","onConvert2JS","ImgBlockly2Js","Badge","badgeMargin","badgeContent","getDebugBadge","editorDiv","resizing","selectedId","imagePrefix","statesOnly","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","ContentProps","action","closeToast","getTabs","getToolbar","getScriptEditor","getBlocklyEditor","getConfirmDialog","getSelectIdDialog","getCronDialog","getEditorDialog","getDebugMenu","getToast","minHeight","hintText","secondary","textOverflow","DialogImportFile","imageStatus","files","file","readFileDataUrl","dropzone","dropzoneAccepted","dropzoneRejected","maxSize","acceptClassName","rejectClassName","handleDropFile","multiple","getRootProps","getInputProps","isDragActive","isDragReject","dropzoneDiv","icon","iconError","iconOk","reader","FileReader","onabort","readAsDataURL","borderWidth","borderStyle","borderColor","boxSizing","App","translations","require","bottomButtons","autoSubscribeLog","onScriptsChanged","onInstanceAliveChange","reload","onHostChanged","hosts","logSize","parseFloat","menuSize","importFile","alert","ready","updateScripts","updating","logMessage","menuSelectId","logHorzLayout","subscribeOnInstances","readAdaptersWithBlockly","getHosts","readAllScripts","compareScripts","instancesArray","promises","instanceId","all","getObjectView","loadCustomBlockly","newScripts","oldIds","newIds","oldScript","newScript","promise","parentID","updateScript","renameGroup","_list","nId","delObject","setObject","native","isFolder","reg","RegExp","expert","onSelect","newCommon","_obj","reject","getRawSocket","emit","_rev","getLiveHost","host","link","click","remove","download","onImportConfirmed","showMessage","errorDialog","menuOpenCloseButton","primaryMinSize","secondaryInitialSize","onDragStart","onSecondaryPaneSizeChange","onDragEnd","onUpdateScript","extendObject","toggleLogLayout","primaryIndex","secondaryMinSize","customClassName","splitterDivs","menuDivWithoutMenu","SideMenu","update","Utils","setThemeName","getThemeType","renderMain","GenericApp","flexGrow","menuDiv","default","splitterDivWithMenu","progress","Boolean","hostname","getThemeName","version","Sentry","dsn","release","integrations","SentryIntegrations","build","Map","ReactDOM","render","_theme","navigator","serviceWorker","registration","unregister"],"mappings":"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YAAoB,YACpB,kBAAoB,eACpB,KAAoB,SACpB,OAAoB,SACpB,YAAoB,cACpB,OAAoB,UACpB,mBAAoB,wBACpB,kBAAoB,aACpB,oBAAqB,qBACrB,SAAoB,KACpB,iBAAoB,iBACpB,YAAoB,eACpB,GAAoB,KACpB,GAAoB,KACpB,GAAoB,MAGxBqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IAERM,MAAO,CACH,uCACA,6CACA,iCACA,uCACA,2BACA,2BACA,2BACA,6CACA,mDACA,6CACA,uCACA,8CAEJD,IAAK,CACD,qEACA,qEACA,6CACA,iCACA,6CACA,6CACA,8CAEJ,MAAoB,qDACpB,IAAoB,SACpB,YAAoB,gEACpB,kBAAoB,8CACpB,KAAoB,yCACpB,OAAoB,uCACpB,YAAoB,gDACpB,OAAoB,6CACpB,mBAAoB,yFACpB,kBAAoB,gGACpB,oBAAqB,+FACrB,SAAoB,GACpB,iBAAoB,iHACpB,YAAoB,8CACpB,GAAoB,SACpB,GAAoB,SACpB,GAAoB,UAGxBqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,MAERM,MAAO,CACH,SACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,UAGJD,IAAK,CACD,MACA,MACA,MACA,MACA,MACA,MACA,OAGJ,MAAoB,SACpB,IAAoB,KACpB,YAAoB,iBACpB,kBAAoB,qBACpB,KAAoB,QACpB,OAAoB,SACpB,YAAoB,YACpB,OAAoB,UACpB,mBAAoB,oBACpB,kBAAoB,sBACpB,oBAAoB,2BACpB,SAAoB,SACpB,iBAAoB,iBACpB,YAAoB,UACpB,GAAoB,OACpB,GAAoB,MACpB,GAAoB,QAGxBqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IAERM,MAAO,CACH,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJD,IAAK,CACD,MACA,MACA,MACA,MACA,MACA,KACA,OAEJ,MAAqB,OACrB,IAAqB,IACrB,YAAqB,cACrB,kBAAqB,cACrB,KAAqB,MACrB,OAAqB,SACrB,YAAqB,YACrB,OAAqB,UACrB,mBAAqB,oBACrB,kBAAqB,kBACrB,oBAAqB,kBACrB,SAAqB,MACrB,iBAAqB,eACrB,YAAqB,SACrB,GAAqB,IACrB,GAAqB,QACrB,GAAqB,MAGzBqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IAERM,MAAO,CACH,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJD,IAAK,CACD,MACA,MACA,MACA,MACA,MACA,MACA,OAEJ,MAAwB,OACxB,IAAwB,IACxB,YAAwB,WACxB,kBAAwB,mBACxB,KAAwB,OACxB,OAAwB,SACxB,YAAwB,YACxB,OAAwB,UACxB,mBAAwB,oBACxB,kBAAwB,kBACxB,oBAAwB,qBACxB,SAAwB,KACxB,iBAAwB,oBACxB,YAAwB,UACxB,GAAwB,KACxB,GAAwB,KACxB,GAAwB,UAG5BqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,MAERM,MAAO,CACH,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,WACA,MACA,OAEJD,IAAK,CACD,MACA,MACA,MACA,WACA,MACA,WACA,OAEJ,MAAoB,iBACpB,IAAoB,IACpB,YAAoB,aACpB,kBAAoB,WACpB,KAAoB,UACpB,OAAoB,WACpB,YAAoB,WACpB,OAAoB,UACpB,mBAAoB,wBACpB,kBAAoB,YACpB,oBAAqB,wBACrB,SAAoB,IACpB,iBAAoB,6BACpB,YAAoB,iBACpB,GAAoB,IACpB,GAAoB,IACpB,GAAoB,KAGxBqB,GAAwB,CACpB9B,SAAU,CACNC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,IAERM,MAAO,CACH,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJD,IAAK,CACD,MACA,MACA,MACA,MACA,MACA,MACA,OAEJ,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","file":"static/js/main.74fb53f3.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {withStyles} from \"@material-ui/core/styles\";\n\nimport Button from '@material-ui/core/Button';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport TextField from '@material-ui/core/TextField';\nimport FormControl from '@material-ui/core/FormControl';\nimport Select from '@material-ui/core/Select';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport MenuItem from '@material-ui/core/MenuItem';\n\nimport I18n from '@iobroker/adapter-react/i18n';\n\nimport IconCancel from '@material-ui/icons/Cancel';\nimport IconOk from \"@material-ui/icons/Check\";\n\nconst styles = theme => ({\n buttonIcon: {\n marginRight: theme.spacing(1),\n }\n});\n\nclass DialogRename extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n name: props.name,\n id: props.id,\n instance: props.instance || 0\n };\n this.isShowInstance = !props.folder && props.instances && (props.instance || props.instances[0] || props.instances.length > 1);\n this.prefix = this.getPrefix(props.id);\n this.oldId = props.id;\n }\n\n getPrefix(id) {\n const parts = (id || '').split('.');\n parts.pop();\n return parts.join('.');\n }\n\n getId(name) {\n name = (name || '').replace(/[\\\\/\\][*,;'\"`<>?\\s]/g, '_');\n return this.prefix + '.' + name;\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.name !== this.props.name) {\n this.setState({name: nextProps.name});\n }\n if (nextProps.id !== this.props.id) {\n this.prefix = this.getPrefix(nextProps.id);\n this.setState({id: nextProps.id});\n }\n }\n\n handleCancel = () => {\n this.props.onClose();\n };\n\n handleOk = () => {\n this.props.onRename(this.oldId, this.state.id, this.state.name, this.state.instance);\n this.props.onClose();\n };\n\n handleChange = name => {\n this.setState({name, id: this.getId(name)});\n };\n\n render() {\n return (\n \n {I18n.t('Rename')}\n \n
\n {\n if (ev.key === 'Enter') {\n // Do code here\n ev.preventDefault();\n setTimeout(() => this.handleOk(), 200);\n }\n }}\n onChange={e => this.handleChange(e.target.value)}\n margin=\"normal\"\n />\n \n {\n this.isShowInstance && (\n \n {I18n.t('Instance')}\n this.setState({instance: parseInt(e.target.value, 10)})}\n inputProps={{name: 'instance', id: 'instance'}}\n >\n {this.props.instances.map(instance => {instance || '0'})}\n \n )\n }\n \n
\n \n \n \n \n \n );\n }\n}\n\nDialogRename.propTypes = {\n onClose: PropTypes.func,\n onRename: PropTypes.func,\n name: PropTypes.string,\n id: PropTypes.string,\n instance: PropTypes.number,\n instances: PropTypes.array,\n folder: PropTypes.bool,\n};\n\nexport default withStyles(styles)(DialogRename);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport {MdDelete as IconDelete} from 'react-icons/md';\n\nimport IconOk from '@material-ui/icons/Check';\nimport IconCancel from '@material-ui/icons/Cancel';\n\nimport I18n from '@iobroker/adapter-react/i18n';\nimport {withStyles} from \"@material-ui/core/styles\";\n\nconst styles = theme => ({\n buttonIcon: {\n marginRight: theme.spacing(1),\n }\n});\n\n\nclass DialogDelete extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n name: props.name,\n id: props.id,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.name !== this.props.name) {\n this.setState({name: nextProps.name});\n }\n if (nextProps.id !== this.props.id) {\n this.setState({id: nextProps.id});\n }\n }\n\n handleCancel = () => {\n this.props.onClose(null);\n };\n\n handleOk = () => {\n this.props.onDelete(this.state.id);\n this.props.onClose(this.props.value);\n };\n\n render() {\n return (\n \n {I18n.t('Are you sure?')}\n \n \n {I18n.t('Delete %s', this.state.name)}\n \n \n \n \n \n \n );\n }\n}\n\nDialogDelete.propTypes = {\n onClose: PropTypes.func,\n onDelete: PropTypes.func,\n name: PropTypes.string,\n id: PropTypes.string,\n};\n\nexport default withStyles(styles)(DialogDelete);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport CardActions from '@material-ui/core/CardActions';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardMedia from '@material-ui/core/CardMedia';\n\nimport ImgJS from '../assets/tileJS.png';\nimport ImgTS from '../assets/tileTS.png';\nimport ImgBlockly from '../assets/tileBlockly.png';\nimport IconCancel from '@material-ui/icons/Cancel';\n\nimport I18n from '@iobroker/adapter-react/i18n';\n\nconst styles = theme => ({\n card: {\n maxWidth: 345,\n display: 'inline-block',\n margin: '0 10px 0 10px'\n },\n media: {\n height: 100,\n },\n text: {\n maxWidth: 200,\n },\n buttonIcon: {\n marginRight: theme.spacing(1),\n }\n});\n\nclass DialogAddNew extends React.Component {\n handleCancel = () => {\n this.props.onClose();\n };\n\n handleOk = type => {\n this.props.onClose(type);\n };\n\n openHtml(html) {\n const lang = I18n.getLanguage();\n if (lang === 'de' || lang === 'ru') {\n html = html.replace(/\\/en\\//, '/' + lang + '/');\n }\n const win = window.open(html, '_blank');\n win.focus();\n }\n\n getJSCard() {\n return (\n this.props.onClose && this.props.onClose('Javascript/js')}>\n \n \n

Javascript

\n
{I18n.t('JS description')}
\n
\n \n \n \n \n \n
);\n }\n getTSCard() {\n return (\n this.props.onClose && this.props.onClose('TypeScript/ts')}>\n \n \n

Typescript

\n
{I18n.t('TS description')}
\n
\n \n \n \n \n \n
);\n }\n getBlocklyCard() {\n return (\n this.props.onClose && this.props.onClose('Blockly')}>\n \n \n

Blockly

\n
{I18n.t('Blockly description')}
\n
\n
\n \n \n \n \n
);\n }\n render() {\n return (\n \n {I18n.t('Add new script')}\n \n {this.getJSCard()}\n {this.getBlocklyCard()}\n {this.getTSCard()}\n \n \n \n \n \n );\n }\n}\n\nDialogAddNew.propTypes = {\n onClose: PropTypes.func\n};\n\nexport default withStyles(styles)(DialogAddNew);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {withStyles} from \"@material-ui/core/styles\";\n\nimport Button from '@material-ui/core/Button';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport TextField from '@material-ui/core/TextField';\nimport FormControl from '@material-ui/core/FormControl';\nimport Select from '@material-ui/core/Select';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport MenuItem from '@material-ui/core/MenuItem';\n\nimport IconOk from '@material-ui/icons/Check';\nimport IconCancel from '@material-ui/icons/Cancel';\n\nimport I18n from '@iobroker/adapter-react/i18n';\n\nconst styles = theme => ({\n buttonIcon: {\n marginRight: theme.spacing(1),\n }\n});\n\n\nclass DialogNew extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n name: props.name || 'Script',\n instance: props.instance || 0,\n parent: props.parent,\n error: ''\n };\n this.isShowInstance = !props.folder && props.instances && (props.instance || props.instances[0] || props.instances.length > 1);\n }\n\n getId(name) {\n name = name || this.state.name || '';\n name = name.replace(/[\\\\/\\][.*,;'\"`<>?\\s]/g, '_');\n return (this.state ? this.state.parent : this.props.parent) + '.' + name;\n }\n\n componentWillReceiveProps(nextProps) {\n if (nextProps.name !== this.props.name) {\n this.setState({name: nextProps.name});\n }\n }\n\n handleCancel = () => {\n this.props.onClose();\n };\n\n handleOk = () => {\n this.props.onAdd(this.getId(this.state.name), this.state.name, this.state.instance, this.props.type);\n this.props.onClose();\n };\n\n handleChange = name => {\n const id = this.getId(name);\n if (!name) {\n this.setState({name, id, error: I18n.t('Empty name is not allowed')});\n } else\n if (this.props.existingItems && this.props.existingItems.indexOf(id) !== -1) {\n this.setState({name, id, error: I18n.t('Duplicate name')});\n } else {\n this.setState({name, id, error: ''});\n }\n };\n\n render() {\n return (\n \n {this.props.title || I18n.t('Create new')}\n \n
\n {\n if (ev.key === 'Enter') {\n // Do code here\n ev.preventDefault();\n setTimeout(() => this.handleOk(), 200);\n }\n }}\n onChange={e => this.handleChange(e.target.value)}\n margin=\"normal\"\n />\n \n {I18n.t('Folder')}\n this.setState({parent: e.target.value})}\n inputProps={{name: 'parent', id: 'parent',}}\n >\n {this.props.parents.map(parent => {\n const parts = parent.id.split('.');\n parts.splice(0, 2); // remove script.js\n const names = [];\n let id = 'script.js';\n parts.forEach((n, i) => {\n id += '.' + n;\n const el = this.props.parents.find(item => item.id === id);\n if (el) {\n names.push(el.name);\n } else {\n names.push(n);\n }\n });\n if (!names.length) {\n names.push(parent.name);\n }\n return ({names.join(' / ')})\n })}\n \n \n \n {\n this.isShowInstance && (\n \n {I18n.t('Instance')}\n this.setState({instance: parseInt(e.target.value, 10)})}\n inputProps={{name: 'instance', id: 'instance',}}\n >\n {this.props.instances.map(instance => ({instance || '0'}))}\n \n )\n }\n \n
\n \n \n \n \n \n );\n }\n}\n\nDialogNew.propTypes = {\n onClose: PropTypes.func,\n onAdd: PropTypes.func,\n name: PropTypes.string,\n title: PropTypes.string,\n parent: PropTypes.string,\n instance: PropTypes.number,\n instances: PropTypes.array,\n parents: PropTypes.array,\n existingItems: PropTypes.array,\n folder: PropTypes.bool,\n type: PropTypes.string,\n};\n\nexport default withStyles(styles)(DialogNew);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {withStyles} from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\n\nimport IconOk from '@material-ui/icons/Check';\n\nimport I18n from '@iobroker/adapter-react/i18n';\n\nconst styles = theme => ({\n titleBackground: {\n background: theme.palette.error.main,\n },\n titleColor: {\n color: theme.palette.error.contrastText,\n '&>h2': {\n color: theme.palette.error.contrastText,\n }\n },\n buttonIcon: {\n marginRight: theme.spacing(1),\n }\n});\n\nclass DialogError extends React.Component {\n constructor(props) {\n super(props);\n console.log('Error created')\n }\n handleOk = () => {\n this.props.onClose && this.props.onClose();\n };\n\n render() {\n return (\n this.handleOk()}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n {this.props.title || I18n.t('Error')}\n \n \n {this.props.text || I18n.t('Unknown error!')}\n \n \n \n \n \n \n );\n }\n}\n\nDialogError.propTypes = {\n onClose: PropTypes.func,\n title: PropTypes.string,\n text: PropTypes.string,\n icon: PropTypes.object\n};\n\nexport default withStyles(styles)(DialogError);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {withStyles} from '@material-ui/core/styles';\nimport Drawer from '@material-ui/core/Drawer';\nimport Divider from '@material-ui/core/Divider';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport IconButton from '@material-ui/core/IconButton';\nimport { useDrag, useDrop, DndProvider as DragDropContext } from 'react-dnd';\nimport { HTML5Backend } from 'react-dnd-html5-backend'\n\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Input from '@material-ui/core/Input';\nimport RootRef from '@material-ui/core/RootRef';\n\nimport red from '@material-ui/core/colors/red';\nimport green from '@material-ui/core/colors/green';\nimport yellow from '@material-ui/core/colors/yellow';\n\nimport {MdMoreVert as IconMore} from 'react-icons/md';\nimport {FaFolder as IconFolder} from 'react-icons/fa';\nimport {FaFolderOpen as IconFolderOpened} from 'react-icons/fa';\nimport {MdContentCopy as IconCopy} from 'react-icons/md';\nimport {MdDelete as IconDelete} from 'react-icons/md';\nimport {MdInput as IconDoEdit} from 'react-icons/md';\nimport {MdClose as IconClear} from 'react-icons/md';\nimport {MdFormatClear as IconClose} from 'react-icons/md';\nimport {MdPlayArrow as IconPlay} from 'react-icons/md';\nimport {MdAdd as IconAdd} from 'react-icons/md';\nimport {MdCreateNewFolder as IconAddFolder} from 'react-icons/md';\nimport {MdPause as IconPause} from 'react-icons/md';\nimport {MdSwapVert as IconReorder} from 'react-icons/md';\nimport {MdEdit as IconEdit} from 'react-icons/md';\nimport {MdSearch as IconFind} from 'react-icons/md';\nimport {MdPersonPin as IconExpert} from 'react-icons/md';\nimport {FaFileExport as IconExport} from 'react-icons/fa';\nimport {FaFileImport as IconImport} from 'react-icons/fa';\nimport {MdPalette as IconDark} from 'react-icons/md';\nimport {MdUnfoldMore as IconExpandAll} from 'react-icons/md';\nimport {MdUnfoldLess as IconCollapseAll} from 'react-icons/md';\n\nimport ImgJS from './assets/js.png';\nimport ImgBlockly from './assets/blockly.png';\nimport ImgTypeScript from './assets/typescript.png';\n\nimport I18n from '@iobroker/adapter-react/i18n';\nimport DialogRename from './Dialogs/Rename';\nimport DialogDelete from './Dialogs/Delete';\nimport DialogAddNewScript from './Dialogs/AddNewScript';\nimport DialogNew from './Dialogs/New';\nimport DialogError from './Dialogs/Error';\n\nconst MENU_ITEM_HEIGHT = 48;\nconst COLOR_RUN = green[400];\nconst COLOR_PROBLEM = yellow[400];\nconst COLOR_PAUSE = red[400];\nconst ROOT_ID = 'script.js';\nconst COMMON_ID = ROOT_ID + '.common';\nconst GLOBAL_ID = ROOT_ID + '.global';\nconst NARROW_WIDTH = 350;\nconst LEVEL_PADDING = 16;\n\nconst SELECTED_STYLE = {\n background: '#164477',\n color: 'white'\n};\n\nconst styles = theme => ({\n drawerPaper: {\n position: 'relative',\n width: '100%', //Theme.menu.width,\n height: '100%',\n overflow: 'hidden'\n },\n toolbar: {\n height: theme.toolbar.height\n },\n toolbarButtons: {\n color: theme.palette.type === 'dark'? 'white !important' : 'black !important'\n },\n toolbarSearch: {\n width: 'calc(100% - 105px)',\n lineHeight: '34px',\n marginLeft: 5\n },\n iconButtons: {\n width: 32,\n height: 32,\n padding: 2\n },\n iconDropdownMenu: {\n paddingRight: 5\n },\n iconOnTheRight: {\n position: 'absolute',\n right: 10,\n top: 'calc(50% - 8px)'\n },\n menu: {\n width: '100%',\n height: '100%'\n },\n innerMenu: {\n width: '100%',\n height: 'calc(100% - 76px)',\n overflowX: 'hidden',\n overflowY: 'auto'\n },\n listItemIcon: {\n minWidth: 32,\n },\n filterIcon: {\n width: 18,\n height: 18,\n borderRadius: 2,\n marginRight: 5\n },\n scriptIcon: {\n width: 18,\n height: 18,\n borderRadius: 2,\n marginTop: 4,\n marginBottom: 4,\n marginLeft: 8,\n marginRight: 4,\n },\n folder: {\n //background: theme.palette.type === 'dark' ? '#6a6a6a' : '#e2e2e2',\n cursor: 'pointer',\n padding: 0,\n userSelect: 'none'\n },\n folderReorder: {\n opacity: 0.3,\n transitionDuration: '0.5s',\n transitionProperty: 'opacity'\n },\n folderIcon: {\n width: 20,\n height: 20,\n },\n folderIconReorder: {\n paddingTop: 4,\n paddingBottom: 4,\n paddingLeft: 8,\n paddingRight: 4,\n },\n folderIconNoReorder: {\n cursor: 'pointer',\n paddingTop: 4,\n paddingBottom: 4,\n paddingLeft: 8,\n paddingRight: 4,\n },\n script: {\n cursor: 'pointer',\n padding: 0,\n userSelect: 'none'\n },\n scriptReorder: {\n opacity: 1,\n transitionDuration: '0.5s',\n transitionProperty: 'opacity'\n },\n reorder: {\n //padding: '9px 16px 9px 9px',\n },\n expandButton: {\n width: 37,\n height: 37\n },\n selected: SELECTED_STYLE,\n instances: {\n color: 'gray',\n fontSize: 'smaller'\n },\n childrenCount: {\n float: 'right',\n marginRight: 5,\n fontSize: 10,\n opacity: 0.4,\n },\n footer: {\n height: 24,\n },\n footerButtons: {\n '&:hover': {\n backgroundColor: '#dbdbdb'\n },\n color: theme.palette.type === 'dark' ? '#ffffff' : '#111111',\n cursor: 'pointer',\n marginTop: 1,\n marginRight: 2,\n height: 22,\n width: 22,\n },\n footerButtonsRight: {\n float: 'right'\n },\n\n mainList: {\n '& .js-folder-dragover>div>li>.folder-reorder': {\n background: '#40adff'\n },\n '& .js-folder-dragging .folder-reorder': {\n opacity: 1,\n },\n '& .js-folder-dragging .script-reorder': {\n opacity: 0.3,\n }\n }\n});\n\nconst images = {\n 'Blockly': ImgBlockly,\n 'Javascript/js': ImgJS,\n def: ImgJS,\n 'TypeScript/ts': ImgTypeScript,\n};\n\nconst getObjectName = (id, obj, lang) => {\n lang = lang || I18n.getLanguage();\n if (obj && obj.common && obj.common.name) {\n if (typeof obj.common.name === 'object') {\n return (obj.common.name[lang] || obj.common.name.en || id.replace(/^script\\.js./, '')).toString();\n } else {\n return obj.common.name.toString();\n }\n } else {\n return id.replace(/^script\\.js./, '');\n }\n};\n\nconst prepareList = data => {\n const result = [{\n id: ROOT_ID,\n depth: 0,\n index: 0,\n parent: null,\n title: 'root',\n type: 'folder'\n }];\n const ids = Object.keys(data);\n\n /*ids.sort((a, b) => {\n if ((a === 'script.js.common' || a === 'script.js.global') && (b === 'script.js.common' || b === 'script.js.global')) {\n return a > b ? 1 : -1;\n } else if (a === 'script.js.common' || a === 'script.js.global' || b === 'script.js.common' || b === 'script.js.global') {\n return 1;\n } else {\n return a > b ? 1 : -1;\n }\n });*/\n\n for (let i = 0; i < ids.length; i++) {\n const obj = data[ids[i]];\n const parts = ids[i].split('.');\n parts.pop();\n result.push({\n id: ids[i],\n title: getObjectName(ids[i], obj),\n enabled: obj && obj.common && obj.common.enabled,\n depth: parts.length - 1,\n type: obj.type === 'script' ? obj.common.engineType : 'folder',\n parent: parts.length > 1 ? parts.join('.') : null,\n instance: obj.common.engine ? parseInt(obj.common.engine.split('.').pop(), 10) || 0 : null\n });\n }\n\n // Place all folder-less scripts at start\n /*result.sort((a, b) => {\n // without folders => always at start\n if (!a.parent && a.type !== 'folder' && !b.parent && b.type !== 'folder') {\n if (a.id === b.id) {\n return 0;\n } else {\n return a.id > b.id ? 1 : -1;\n }\n } else if (!a.parent && a.type !== 'folder') {\n return -1;\n } else if (!b.parent && b.type !== 'folder') {\n return 1;\n } else {\n // common and global are always at the end\n if ((a.id.startsWith('script.js.common') || a.id.startsWith('script.js.global')) &&\n (b.id.startsWith('script.js.common') || b.id.startsWith('script.js.global'))) {\n if (a.id === b.id) {\n return 0;\n } else {\n return a.id > b.id ? 1 : -1;\n }\n } else if (a.id.startsWith('script.js.common') || a.id.startsWith('script.js.global')) {\n return 1;\n } else if (b.id.startsWith('script.js.common') || b.id.startsWith('script.js.global')) {\n return -1;\n } else {\n if (a.id === b.id) {\n return 0;\n } else {\n return a.id > b.id ? 1 : -1;\n }\n }\n }\n });*/\n\n let modified;\n do {\n modified = false;\n // check if all parents exists\n // eslint-disable-next-line\n result.forEach(item => {\n if (item.parent) {\n const parent = result.find(it => it.id === item.parent);\n if (!parent) {\n const parts = item.parent.split('.');\n parts.pop();\n result.push({\n id: item.parent,\n title: item.parent.split('.').pop(),\n depth: parts.length - 1,\n type: 'folder',\n parent: parts.length > 1 ? parts.join('.') : null\n });\n modified = true;\n }\n }\n });\n } while (modified);\n\n // Folders first\n result.sort((a, b) => {\n const idA = a.id.toLowerCase();\n const idB = b.id.toLowerCase();\n if (a.type === 'folder' && b.type !== 'folder') {\n return -1;\n } else if (b.type === 'folder' && a.type !== 'folder') {\n return 1;\n }\n\n if (idA > idB) {\n return 1;\n } else if (idA < idB) {\n return -1;\n } else {\n return 0;\n }\n });\n\n // Fill all index\n result.forEach((item, i) => item.index = i);\n\n // Fill all parentIndex\n result.forEach(item => {\n if (item.parent) {\n const parent = result.find(it => it.id === item.parent);\n if (parent) {\n item.parentIndex = parent.index;\n }\n }\n });\n\n return result;\n};\n\nexport const Droppable = (props) => {\n const { onDrop} = props;\n\n const [{ isOver, isOverAny}, drop] = useDrop({\n accept: ['script'],\n drop: e => isOver ? onDrop(e) : undefined,\n collect: monitor => ({\n isOver: monitor.isOver({ shallow: true }),\n isOverAny: monitor.isOver(),\n }),\n });\n\n return
\n {props.children}\n
;\n};\n\nexport const Draggable = (props) => {\n const { name } = props;\n const [{ opacity }, drag] = useDrag({\n item: {\n name,\n type: 'script'\n },\n collect: (monitor) => ({\n opacity: monitor.isDragging() ? 0.3 : 1,\n }),\n });\n // About transform: https://github.com/react-dnd/react-dnd/issues/832#issuecomment-442071628\n return
\n {props.children}\n
;\n};\n\nclass SideDrawer extends React.Component {\n constructor(props) {\n super(props);\n\n let expanded = window.localStorage ? window.localStorage.getItem('SideMenu.expanded') : '[]';\n try {\n expanded = JSON.parse(expanded) || [];\n } catch (e) {\n expanded = [];\n }\n\n this.inputRef = new React.createRef();\n\n this.state = {\n listItems: prepareList(props.scripts || {}),\n expanded: expanded,\n problems: [],\n reorder: false,\n themeName: this.props.themeName,\n selected: window.localStorage ? window.localStorage.getItem('SideMenu.selected') || null : null,\n creatingScript: false,\n creatingFolder: false,\n copingScript: '',\n renaming: null,\n deleting: null,\n choosingType: null,\n errorText: '',\n instances: props.instances || [],\n menuOpened: false,\n menuAnchorEl: null,\n searchMode: false,\n expertMode: this.props.expertMode,\n searchText: '',\n width: this.props.width || 300,\n typeFilter: window.localStorage ? window.localStorage.getItem('SideMenu.typeFilter') || '' : '', // blockly, js, ts\n statusFilter: window.localStorage ? window.localStorage.getItem('SideMenu.statusFilter') || '' : '',\n runningInstances: this.props.runningInstances || {},\n scriptsHash: props.scriptsHash,\n };\n\n const newExp = this.ensureSelectedIsVisible();\n if (newExp) {\n this.state.expanded = newExp;\n }\n\n // debounce search process\n this.filterTimer = null;\n\n this.state.isAllZeroInstances = this.getIsAllZeroInstances();\n\n this.problems = null; //cache\n this.problemsTimer = null;\n this.onProblemUpdatedBound = this.onProblemUpdated.bind(this);\n }\n\n readProblems(cb, tasks) {\n if (!tasks) {\n tasks = Object.keys(this.props.scripts);\n }\n if (!tasks || !tasks.length) {\n cb && cb();\n } else {\n const id = tasks.shift();\n if (this.props.scripts[id] &&\n this.props.scripts[id].type === 'script' &&\n this.props.scripts[id].common &&\n this.props.scripts[id].common.enabled &&\n !id.match(/^script\\.js\\.global\\./) // GLOBAL_ID\n ) {\n const instance = this.props.scripts[id].common.engine.split('.').pop();\n const that = this; // sometimes lambda does not work\n const _id = 'javascript.' + instance + '.scriptProblem.' + id.substring(ROOT_ID.length + 1);\n\n this.props.socket.getState(_id, (err, state) => {\n that.onProblemUpdated(_id, state);\n setTimeout(() => that.readProblems(cb, tasks), 0);\n });\n } else {\n setTimeout(() => this.readProblems(cb, tasks), 0);\n }\n }\n }\n\n componentDidMount() {\n this.readProblems(() => {\n this.props.instances.forEach(instance => {\n this.props.socket.subscribeState('javascript.' + instance + '.scriptProblem.*', this.onProblemUpdatedBound);\n });\n });\n }\n\n componentWillUnmount() {\n this.props.instances.forEach(instance => {\n this.props.socket.unsubscribeState('javascript.' + instance + '.scriptProblem.*', this.onProblemUpdatedBound);\n });\n }\n\n onProblemUpdated(id, state) {\n if (!state || !id) return;\n id = ROOT_ID + '.' + id.replace(/^javascript\\.\\d+\\.scriptProblem\\./, '');\n\n if (!this.problems) {\n this.problems = JSON.parse(JSON.stringify(this.state.problems));\n }\n let changed = false;\n\n if (state.val) {\n if (this.problems.indexOf(id) === -1) {\n this.problems.push(id);\n changed = true;\n }\n } else {\n const pos = this.problems.indexOf(id);\n if (pos !== -1) {\n this.problems.splice(pos, 1);\n changed = true;\n }\n }\n\n if (changed && !this.problemsTimer) {\n this.problemsTimer = setTimeout(() => {\n this.problemsTimer = null;\n this.setState({problems: this.problems});\n this.problems = null;\n }, 300);\n }\n }\n\n static filterListStatic(isSearchEnabled, listItems, searchMode, searchText, objects) {\n listItems = JSON.parse(JSON.stringify(listItems));\n let changed = false;\n let newState = {listItems};\n if (isSearchEnabled !== false && searchMode && searchText) {\n const text = searchText.toLowerCase();\n listItems.forEach(item => {\n const id = item.title.toLowerCase();\n item.filteredPartly = false;\n let found = id.indexOf(text) !== -1;\n if (!found && (objects && objects[item.id] && objects[item.id].common && objects[item.id].common.source)) {\n if (objects[item.id].common.engineType === 'Blockly') {\n const pos = objects[item.id].common.source.lastIndexOf('//');\n found = objects[item.id].common.source.substring(0, pos).toLowerCase().indexOf(text) !== -1;\n } else {\n found = objects[item.id].common.source.toLowerCase().indexOf(text) !== -1;\n }\n }\n if (found) {\n if (item.filtered) {\n item.filtered = false;\n changed = true;\n }\n } else if (!item.filtered) {\n item.filtered = true;\n changed = true;\n }\n });\n\n if (changed) {\n // check that all parents of every non-filtered item are visible\n for (let i = listItems.length - 1; i >= 0; i--) {\n const item = listItems[i];\n if (!item.filtered || item.filteredPartly) {\n let it = item;\n do {\n if (it.parent && listItems[it.parentIndex]) {\n changed = true;\n listItems[it.parentIndex].filteredPartly = true;\n }\n it = it.parent && listItems[it.parentIndex] ? listItems[it.parentIndex] : null;\n } while(it);\n }\n }\n }\n } else {\n listItems.forEach(item => {\n if (item.filtered || item.filteredPartly) {\n item.filtered = false;\n item.filteredPartly = false;\n changed = true;\n }\n });\n if (isSearchEnabled === false) {\n newState.searchText = '';\n newState.searchMode = false;\n changed = true;\n }\n }\n\n return changed ? newState : null;\n }\n\n filterList(isSearchEnabled, cb) {\n const newState = SideDrawer.filterListStatic(\n isSearchEnabled,\n this.state.listItems,\n this.state.searchMode,\n this.state.searchText,\n this.props.scripts\n );\n\n if (newState) {\n this.setState(newState, () => cb && cb());\n } else if (cb) {\n cb();\n }\n }\n\n static ensureSelectedIsVisibleStatic(selected, expanded, listItems) {\n expanded = JSON.parse(JSON.stringify(expanded));\n let changed = false;\n\n // ensure that the item is visible\n let el = typeof selected === 'object' ? selected : listItems.find(it => it.id === selected);\n do {\n // eslint-disable-next-line\n el = el && el.parent && listItems.find(it => it.id === el.parent);\n if (el) {\n if (expanded.indexOf(el.id) === -1) {\n expanded.push(el.id);\n changed = true;\n }\n }\n } while(el);\n return changed && expanded;\n }\n\n ensureSelectedIsVisible(selected, expanded) {\n SideDrawer.ensureSelectedIsVisibleStatic(selected || this.state.selected, expanded || this.state.expanded, this.state.listItems);\n }\n\n static getDerivedStateFromProps(props, state) {\n const newState = {};\n let changed = false;\n if (state.expertMode !== props.expertMode) {\n changed = true;\n newState.expertMode = props.expertMode;\n }\n if (state.scriptsHash !== props.scriptsHash && props.scripts) {\n const listItems = prepareList(props.scripts || {});\n\n newState.listItems = listItems;\n\n if (state.searchText) {\n const nState = SideDrawer.filterListStatic(true, listItems, state.searchMode, state.searchText, props.scripts);\n nState && Object.assign(newState, nState);\n }\n\n const isAllZeroInstances = SideDrawer.getIsAllZeroInstancesStatic(listItems, props.instances || []);\n\n const newExp = SideDrawer.ensureSelectedIsVisibleStatic(state.selected, state.expanded, state.listItems);\n\n newState.isAllZeroInstances = isAllZeroInstances;\n if (newExp) {\n newState.expanded = newExp;\n }\n changed = true;\n }\n\n if (state.width !== props.width) {\n changed = true;\n newState.width = props.width;\n }\n if (state.themeName !== props.themeName) {\n changed = true;\n newState.themeName = props.themeName;\n }\n\n if (props.selectId && state.selected !== props.selectId) {\n const item = state.listItems.find(item => item.id === props.selectId);\n\n if (!state.reorder && item) {\n const expanded = SideDrawer.ensureSelectedIsVisibleStatic(item, state.expanded, state.listItems);\n newState.selected = item.id;\n if (expanded) {\n newState.expanded = expanded;\n }\n changed = true;\n window.localStorage && window.localStorage.setItem('SideMenu.selected', item.id);\n }\n }\n\n if (changed) {\n return newState;\n } else {\n return null;\n }\n }\n\n static getIsAllZeroInstancesStatic(listItems, instances) {\n let isAllZeroInstances = !instances[0] && instances.length <= 1;\n\n if (isAllZeroInstances) {\n listItems.forEach(item => {\n if (item.type !== 'folder' && item.instance !== 0) {\n isAllZeroInstances = false;\n }\n });\n }\n return isAllZeroInstances;\n }\n\n getIsAllZeroInstances(listItems, instances) {\n listItems = listItems || this.state.listItems;\n instances = instances || this.state.instances;\n return SideDrawer.getIsAllZeroInstancesStatic(listItems || this.state.listItems, instances || this.state.instances);\n }\n\n saveExpanded(expanded) {\n window.localStorage.setItem('SideMenu.expanded', JSON.stringify(expanded || this.state.expanded));\n }\n\n showError(err) {\n this.setState({errorText: err});\n }\n\n onToggle(id, e) {\n e && e.stopPropagation();\n if (id === ROOT_ID) {\n return;\n }\n const expanded = [...this.state.expanded];\n const newState = {expanded};\n const pos = expanded.indexOf(id);\n if (pos !== -1) {\n expanded.splice(pos, 1);\n if (this.state.selected && this.state.selected.startsWith(id + '.')) {\n newState.selected = id;\n window.localStorage && window.localStorage.setItem('SideMenu.selected', id);\n }\n } else {\n expanded.push(id);\n expanded.sort();\n }\n this.setState({expanded});\n this.saveExpanded(expanded);\n }\n\n renderItemButtonsOnEnd(item, children) {\n if (this.state.reorder) {\n return null;\n }\n if (item.type !== 'folder') {\n let color = item.enabled ? COLOR_RUN : COLOR_PAUSE;\n if (item.enabled && this.state.problems.indexOf(item.id) !== -1) {\n color = COLOR_PROBLEM;\n }\n\n return [\n {\n e.stopPropagation();\n this.props.onEnableDisable && this.props.onEnableDisable(item.id, !item.enabled)\n }}\n title={item.enabled ? I18n.t('Pause script') : I18n.t('Run script')}\n key=\"startStop\"\n style={{color}}>\n {item.enabled ? () : ()}\n ,\n this.state.width > NARROW_WIDTH ? this.onDelete(item, e)}> : null,\n this.onEdit(item, e)}>,\n ];\n } else if (this.state.width > NARROW_WIDTH) {\n if (item.id !== ROOT_ID && item.id !== COMMON_ID && item.id !== GLOBAL_ID && (!children || !children.length)) {\n return this.onDelete(item, e)}>;\n } else {\n return null;\n }\n }\n }\n\n onDelete(item, e) {\n e && e.stopPropagation();\n return new Promise(resolve => {\n if (typeof item !== 'object') {\n this.setState({deleting: item});\n } else {\n this.setState({deleting: item.id});\n }\n });\n }\n\n onEdit(item, e) {\n this.onClick(item, e);\n this.props.onEdit && this.props.onEdit(item.id);\n }\n\n getTextStyle(item) {\n if (!this.state.reorder && item.type !== 'folder') {\n return {\n //width: 130,\n width: `calc(100% - ${this.state.width > NARROW_WIDTH ? 185 : 137}px)`,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n flex: 'none',\n padding: '0 16px 0 0'\n };\n } else {\n return {\n whiteSpace: 'nowrap',\n padding: '0 16px 0 0'\n };\n }\n }\n\n onClick(item, e) {\n e && e.stopPropagation();\n if (!this.state.reorder && item) {\n const expanded = this.ensureSelectedIsVisible(item);\n const newState = {selected: item.id};\n if (expanded) {\n newState.expanded = expanded;\n }\n this.setState(newState);\n window.localStorage && window.localStorage.setItem('SideMenu.selected', item.id);\n }\n }\n\n onDblClick(item, e) {\n e && e.stopPropagation();\n if (this.state.reorder) {\n return;\n }\n if (item.type === 'folder') {\n this.onToggle(item.id);\n } else {\n this.onEdit(item);\n }\n }\n\n isFilteredOut(item) {\n if (item.filtered && !item.filteredPartly) return true;\n\n if (this.state.typeFilter && item.type !== 'folder' && item.type !== this.state.typeFilter) {\n return true;\n }\n\n if (this.state.statusFilter &&\n item.type !== 'folder' &&\n (\n (this.state.statusFilter === 'running' && !item.enabled) ||\n (this.state.statusFilter === 'paused' && item.enabled) ||\n (this.state.statusFilter === 'problems' && (!item.enabled || this.state.problems.indexOf(item.id) === -1)))\n ) {\n return true;\n }\n\n return (item.id === GLOBAL_ID && !this.state.expertMode);\n }\n\n renderListItem(item, children, childrenFiltered) {\n if (item.id === ROOT_ID && !this.state.reorder) {\n return null;\n }\n\n const depthPx = (this.state.reorder ? item.depth : item.depth - 1) * LEVEL_PADDING;\n\n let title = item.title;\n\n if (this.state.searchText) {\n const pos = title.toLowerCase().indexOf(this.state.searchText.toLowerCase());\n if (pos !== -1) {\n title = [\n ({title.substring(0, pos)}),\n ({title.substring(pos, pos + this.state.searchText.length)}),\n ({title.substring(pos + this.state.searchText.length)}),\n ];\n }\n }\n\n if (!this.state.isAllZeroInstances && item.type !== 'folder') {\n title = [\n [{item.instance}] ,\n {title}\n ];\n }\n\n const style = Object.assign({\n marginLeft: depthPx,\n cursor: item.type === 'folder' && this.state.reorder ? 'default' : 'inherit',\n width: `calc(100% - ${depthPx}px)`\n }, item.id === this.state.selected && !this.state.reorder ? SELECTED_STYLE : {});\n\n if (!this.state.reorder) {\n style.opacity = item.filteredPartly ? 0.5 : 1;\n }\n\n if (item.id === GLOBAL_ID && item.id !== this.state.selected) {\n style.color = '#00a200';\n }\n\n let isExpanded = item.id === ROOT_ID;\n if (!isExpanded && children) {\n isExpanded = this.state.expanded.includes(item.id);\n }\n\n let iconStyle = {};\n if (item.id === GLOBAL_ID) {\n iconStyle.color = '#356956';\n } else if (item.id === COMMON_ID) {\n iconStyle.color = '#4899e1';\n }\n let iconClass;\n if (item.type === 'folder') {\n iconClass = clsx(this.props.classes.folderIcon, this.state.reorder ? this.props.classes.folderIconReorder : this.props.classes.folderIconNoReorder);\n } else {\n iconClass = clsx(this.props.classes.scriptIcon, this.state.reorder ? this.props.classes.scriptIconReorder : this.props.classes.scriptIconNoReorder);\n }\n\n let childrenCount = null;\n if ((childrenFiltered && childrenFiltered.length) || (children && children.length)) {\n childrenCount = {childrenFiltered && childrenFiltered.length !== children.length ? `${childrenFiltered.length}(${children.length})` : children.length};\n }\n\n return this.onClick(item, e)}\n onDoubleClick={e => this.onDblClick(item, e)}\n >\n {\n item.type === 'folder' ? (\n this.state.reorder || isExpanded ?\n !this.state.reorder && this.onToggle(item.id, e)}/> :\n !this.state.reorder && this.onToggle(item.id, e)}/>\n )\n :\n {item.type}\n }\n {title}{childrenCount})}/>\n {this.renderItemButtonsOnEnd(item, children)}\n ;\n }\n\n onDragFinish(source, target) {\n let newId = target + '.' + source.split('.').pop();\n if (newId !== source) {\n // If target yet exists => add Copy to\n if (this.state.listItems.find(item => item.id === newId)) {\n newId += '_' + I18n.t('copy');\n }\n\n this.props.onRename && this.props.onRename(source, newId);\n }\n return undefined;\n }\n\n renderOneItem(items, item, dragging) {\n let childrenFiltered = (this.state.statusFilter || this.state.typeFilter) && items.filter(i => i.parent === item.id ? !this.isFilteredOut(i) : false);\n let children = items.filter(i => i.parent === item.id);\n\n if (this.isFilteredOut(item)) {\n return;\n }\n\n if (item.type === 'folder' && (this.state.statusFilter || this.state.typeFilter) && !childrenFiltered.length) {\n return;\n }\n\n const element = this.renderListItem(item, children, childrenFiltered);\n const result = [];\n let reactChildren;\n if (children && (this.state.reorder || this.state.expanded.includes(item.id) || item.id === ROOT_ID)) {\n reactChildren = children.map(it => this.renderOneItem(items, it));\n }\n\n if (this.state.reorder) {\n if (item.type === 'folder') {\n result.push( this.onDragFinish(e.name, item.id)}>\n {element}\n {reactChildren || null}\n );\n } else {\n result.push(\n {element}\n {reactChildren || null}\n );\n }\n } else {\n result.push(element);\n reactChildren && reactChildren.forEach(e => result.push(e));\n }\n\n return result;\n }\n\n renderAllItems(items) {\n const result = items\n .filter(item => !item.parent)\n .map(item =>\n this.renderOneItem(items, item));\n\n return \n {result}\n ;\n }\n\n onAddNew(e) {\n e && e.stopPropagation();\n let item = this.state.listItems.find(i => i.id === this.state.selected);\n let parent = ROOT_ID;\n while (item && item.type !== 'folder') {\n item = this.state.listItems[item.parentIndex];\n }\n if (item) {\n parent = item.id;\n }\n\n this.parent = parent;\n this.setState({choosingType: true});\n }\n\n onCopy(e, id) {\n e && e.stopPropagation();\n let item = this.state.listItems.find(i => i.id === id);\n let parent = ROOT_ID;\n while (item && item.type !== 'folder') {\n item = this.state.listItems[item.parentIndex];\n }\n if (item) {\n parent = item.id;\n }\n\n this.parent = parent;\n this.setState({copingScript: id});\n }\n\n onAddNewFolder(e) {\n e && e.stopPropagation();\n let item = this.state.listItems.find(i => i.id === this.state.selected);\n let parent = ROOT_ID;\n while (item && item.type !== 'folder') {\n item = this.state.listItems[item.parentIndex];\n }\n if (item) {\n parent = item.id;\n }\n\n this.parent = parent;\n this.setState({creatingFolder: true});\n }\n\n onRename(e) {\n e && e.stopPropagation();\n this.setState({renaming: this.state.selected});\n }\n\n getUniqueName(copyId) {\n let i = 1;\n let word = I18n.t('Script') + ' ';\n if (copyId) {\n let name = getObjectName(copyId, this.props.scripts[copyId]);\n const m = name.match(/\\d+$/);\n if (m) {\n word = name.replace(/\\d+$/, '');\n i = parseInt(m[0], 10) + 1;\n } else {\n word = name;\n }\n }\n\n // eslint-disable-next-line\n while (this.state.listItems.find(it => it.id === this.parent + '.' + word.replace(/\\.\\s/g, '_') + i)) {\n i++;\n }\n /*ignore jslint end*/\n return word + i;\n }\n\n getUniqueFolderName() {\n let i = 1;\n // eslint-disable-next-line\n while (this.state.listItems.find(it => it.id === this.parent + '.' + I18n.t('Folder') + '_' + i)) {\n i++;\n }\n return I18n.t('Folder') + ' ' + i;\n }\n\n onCloseMenu(cb) {\n this.setState({menuOpened: false, menuAnchorEl: null, menuAnchorFilterEl: null}, cb);\n }\n\n getFilterBadge() {\n return [\n this.state.statusFilter === true && (),\n this.state.statusFilter === false && (),\n this.state.typeFilter === 'Blockly' && ('Bl'),\n this.state.typeFilter === 'Javascript/js' && ('JS'),\n this.state.typeFilter === 'TypeScript/ts' && ('TS'),\n ]\n }\n\n getMainMenu(children, selectedItem) {\n return this.setState({menuOpened: false, menuAnchorEl: null})}\n PaperProps={{\n style: {\n maxHeight: MENU_ITEM_HEIGHT * 7.5,\n //width: 200,\n },\n }}\n >\n {this.state.width <= NARROW_WIDTH ? {\n event.stopPropagation();\n event.preventDefault();\n if (this.state.listItems.find(item => item.parent === this.state.selected)) {\n this.showError(I18n.t('Cannot delete non empty item!'));\n return;\n }\n\n this.setState({menuOpened: false, menuAnchorEl: null}, () =>\n this.onDelete(this.state.selected).then(() => {}));\n }}>{I18n.t('Delete')}\n : null}\n {\n event.stopPropagation();\n event.preventDefault();\n this.onCloseMenu(() =>\n this.props.onExpertModeChange && this.props.onExpertModeChange(!this.state.expertMode));\n }}>{I18n.t('Expert mode')}\n \n {this.props.onExport && {\n event.stopPropagation();\n event.preventDefault();\n this.onCloseMenu(() => this.props.onExport());\n }}>\n {I18n.t('Export all scripts')}\n }\n {this.props.onImport && {\n event.stopPropagation();\n event.preventDefault();\n this.onCloseMenu(() => this.props.onImport());\n }}>\n {I18n.t('Import scripts')}\n }\n {this.props.onThemeChange && \n this.onCloseMenu(() => {\n\n // TODO: use Utils.toggleTheme(themeName)\n // newThemeName = Utils.toggleTheme(themeName);\n const newThemeName = this.state.themeName === 'dark' ? 'blue' :\n this.state.themeName === 'blue' ? 'colored' : this.state.themeName === 'colored' ? 'light' :\n this.state.themeName === 'light' ? 'dark' : 'colored';\n this.props.onThemeChange(newThemeName);\n })}>\n {I18n.t('Change theme (actual \"%s\")', this.state.themeName)}\n }\n {this.props.onAddNew && {\n const selected = this.state.selected;\n this.onCloseMenu(() => this.onCopy(event, selected))\n }}>\n {I18n.t('Copy script')}\n }\n ;\n }\n\n // render menu and toolbar\n getToolbarButtons() {\n const result = [];\n const classes = this.props.classes;\n if (this.state.searchMode) {\n result.push( {\n this.setState({searchText: e.target.value});\n this.filterTimer && clearTimeout(this.filterTimer);\n this.filterTimer = setTimeout(() => {\n this.filterTimer = null;\n this.filterList(true);\n this.props.onSearch && this.props.onSearch(this.state.searchText);\n }, 400);\n }}\n />);\n\n result.push( {\n e.stopPropagation();\n this.filterList(false, () => this.props.onSearch && this.props.onSearch(this.state.searchText));\n }}\n >);\n\n this.state.searchText && result.push( {\n e.stopPropagation();\n this.setState({searchText: ''}, () => {\n this.filterList(true);\n this.props.onSearch && this.props.onSearch(this.state.searchText);\n });\n }}\n >);\n } else {\n if (!this.state.reorder) {\n // Open Menu\n result.push( {\n event.stopPropagation();\n event.preventDefault();\n this.setState({menuOpened: true, menuAnchorEl: event.currentTarget});\n }}\n >\n {/**/}\n \n {/**/}\n );\n\n const selectedItem = this.state.listItems.find(it => it.id === this.state.selected);\n let children;\n if (selectedItem && this.state.width <= NARROW_WIDTH && selectedItem.type === 'folder') {\n children = this.state.listItems.filter(i => i.parent === this.state.selected);\n }\n\n // Menu\n result.push(this.getMainMenu(children, selectedItem));\n\n // New Script\n result.push( this.onAddNew(e)}\n >);\n\n // New Folder\n result.push( this.onAddNewFolder()}\n >);\n }\n\n // Search\n result.push( {\n e.stopPropagation();\n this.setState({searchMode: true});\n }}\n >);\n\n // Reorder button\n result.push( {\n e.stopPropagation();\n this.setState({reorder: !this.state.reorder});\n }}\n >);\n\n if (!this.state.reorder && this.state.selected && this.state.selected !== GLOBAL_ID && this.state.selected !== COMMON_ID) {\n // Rename\n result.push( this.onRename(e)}\n >);\n\n\n // const selectedItem = this.state.listItems.find(i => i.id === this.state.selected);\n // if (selectedItem && selectedItem.type !== 'folder') {\n // // Restart\n // result.push(( {\n // e.stopPropagation();\n // this.props.onEnableDisable && this.props.onEnableDisable();\n // }}\n // >));\n // }\n }\n\n }\n return result;\n }\n\n getFolders() {\n const folders = [{id: ROOT_ID, name: I18n.t('Root folder')}];\n this.state.listItems.forEach(item =>\n item.type === 'folder' && folders.push({id: item.id, name: item.title})\n );\n return folders;\n }\n\n onCollapseAll() {\n this.setState({expanded: []});\n this.saveExpanded([]);\n }\n\n onExpandAll() {\n const expanded = [];\n this.state.listItems.forEach(item =>\n this.state.listItems.find(it => it.parent === item.id) && expanded.push(item.id));\n this.setState({expanded});\n this.saveExpanded(expanded);\n }\n\n getBottomButtons() {\n if (this.state.reorder) {\n return null;\n }\n return [\n {\n event.stopPropagation();\n event.preventDefault();\n const statusFilter = this.state.statusFilter === 'running' ? '' : 'running';\n window.localStorage && window.localStorage.setItem('SideMenu.statusFilter', statusFilter);\n this.setState({statusFilter});\n }}\n />,\n\n {\n const statusFilter = this.state.statusFilter === 'paused' ? '' : 'paused';\n window.localStorage && window.localStorage.setItem('SideMenu.statusFilter', statusFilter);\n this.setState({statusFilter});\n }}\n />,\n {\n const statusFilter = this.state.statusFilter === 'problems' ? '' : 'problems';\n window.localStorage && window.localStorage.setItem('SideMenu.statusFilter', statusFilter);\n this.setState({statusFilter});\n }}\n />,\n {\n const typeFilter = this.state.typeFilter === 'Blockly' ? '' : 'Blockly';\n window.localStorage && window.localStorage.setItem('SideMenu.typeFilter', typeFilter);\n this.setState({typeFilter});\n }}\n />,\n {\n const typeFilter = this.state.typeFilter === 'Javascript/js' ? '' : 'Javascript/js';\n window.localStorage && window.localStorage.setItem('SideMenu.typeFilter', typeFilter);\n this.setState({typeFilter});\n }}\n />,\n {\n const typeFilter = this.state.typeFilter === 'TypeScript/ts' ? '' : 'TypeScript/ts';\n window.localStorage && window.localStorage.setItem('SideMenu.typeFilter', typeFilter);\n this.setState({typeFilter});\n }}\n />,\n this.onExpandAll()}/>,\n this.state.expanded.length ? this.onCollapseAll()}/> : null,\n ];\n }\n\n render() {\n const {classes} = this.props;\n\n const renamingItem = this.state.renaming && this.state.listItems.find(i => i.id === this.state.renaming);\n const copingItem = this.state.copingScript && this.props.scripts[this.state.copingScript];\n\n return [\n this.onClick({id: ''})}\n >\n
\n {this.getToolbarButtons()}\n
\n\n \n\n \n
\n {this.renderAllItems(this.state.listItems)}\n
\n
\n\n \n\n
{this.getBottomButtons()}
\n ,\n\n renamingItem ? this.setState({renaming: false})}\n onRename={(oldId, newName, newId, newInstance) => this.props.onRename && this.props.onRename(oldId, newName, newId, newInstance)}\n /> : null,\n\n this.state.deleting ? i.id === this.state.deleting).title}\n id={this.state.deleting}\n onClose={() => this.setState({deleting: false})}\n onDelete={id => this.props.onDelete && this.props.onDelete(id)}\n /> : null,\n\n this.state.choosingType ? {\n this.setState({choosingType: false});\n type && this.setState({creatingScript: type})\n }}\n /> : null,\n\n this.state.creatingScript ? this.setState({creatingScript: false})}\n title={I18n.t('Create new script')}\n name={ this.getUniqueName() }\n parents={ this.getFolders() }\n folder={ false }\n existingItems={this.state.listItems.map(item => item.id)}\n instance={this.props.instances[0] || 0}\n instances={this.props.instances}\n type={this.state.creatingScript}\n parent={this.parent}\n onAdd={(id, name, instance, type) => {\n this.props.onAddNew && this.props.onAddNew(id, name, false, instance, type);\n }}\n /> : null,\n\n this.state.copingScript ? this.setState({copingScript: ''})}\n title={I18n.t('Copy script')}\n name={ this.getUniqueName(this.state.copingScript) }\n parents={this.getFolders()}\n folder={false}\n instance={parseInt((copingItem && copingItem.common && copingItem.common.engine && copingItem.common.engine.split('.').pop()) || 0, 10)}\n instances={this.props.instances}\n type={(copingItem && copingItem.common && copingItem.common.engineType) || 'Javascript/js'}\n parent={this.parent}\n onAdd={(id, name, instance, type) => {\n const copingItem = this.state.copingScript && this.props.scripts[this.state.copingScript];\n if (copingItem && copingItem.common) {\n // disable script by coping\n copingItem.common.enabled = false;\n }\n this.props.onAddNew && this.props.onAddNew(id, name, false, instance, type, copingItem && copingItem.common && copingItem.common.source);\n }}\n /> : null,\n\n this.state.creatingFolder ? this.setState({creatingFolder: false})}\n title={I18n.t('Create new folder')}\n parents={this.getFolders()}\n name={this.getUniqueFolderName()}\n parent={this.parent}\n onAdd={(id, name) => {\n this.props.onAddNew && this.props.onAddNew(id, name, true);\n }}\n /> : null,\n this.state.errorText ? this.setState({errorText: ''})} text={this.state.errorText}/> : null\n ];\n }\n}\n\nSideDrawer.propTypes = {\n classes: PropTypes.object.isRequired,\n instances: PropTypes.array.isRequired,\n scripts: PropTypes.object.isRequired,\n scriptsHash: PropTypes.number,\n onEdit: PropTypes.func,\n selectId: PropTypes.string,\n expertMode: PropTypes.bool,\n onExpertModeChange: PropTypes.func,\n onEnableDisable: PropTypes.func,\n runningInstances: PropTypes.object,\n socket: PropTypes.object,\n themeName: PropTypes.string,\n themeType: PropTypes.string,\n onSelect: PropTypes.func,\n onAddNew: PropTypes.func,\n onRename: PropTypes.func,\n onDelete: PropTypes.func,\n onImport: PropTypes.func,\n onExport: PropTypes.func,\n onSearch: PropTypes.func,\n onThemeChange: PropTypes.func,\n width: PropTypes.number\n};\n\nexport default withStyles(styles)(SideDrawer);\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\n\nimport IconButton from '@material-ui/core/IconButton';\nimport {MdDeleteForever as IconDelete} from 'react-icons/md';\nimport {MdVerticalAlignBottom as IconBottom} from 'react-icons/md';\nimport {MdContentCopy as IconCopy} from 'react-icons/md';\n\nimport I18n from '@iobroker/adapter-react/i18n';\nimport {withStyles} from '@material-ui/core/styles/index';\n\n// replace later with MdHorizontalSplit and MdVerticalSplit\nconst IconVerticalSplit = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAACFJREFUeAFjAIJRwP////8PYIKWHCigNQdKj/pn1D+jAABTG16wVQqVpQAAAABJRU5ErkJggg==';\nconst IconHorizontalSplit = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgAQMAAADYVuV7AAAABlBMVEUAAAAzMzPI8eYgAAAAAXRSTlMAQObYZgAAABtJREFUeAFjAIJRwP8fCj7QkENn/4z6Z5QzCgBjbWaoyx1PqQAAAABJRU5ErkJggg==';\n\nfunction getTimeString(d) {\n let text;\n let i = d.getHours();\n if (i < 10) i = '0' + i.toString();\n text = i + ':';\n\n i = d.getMinutes();\n if (i < 10) i = '0' + i.toString();\n text += i + ':';\n i = d.getSeconds();\n if (i < 10) i = '0' + i.toString();\n text += i + '.';\n i = d.getMilliseconds();\n if (i < 10) {\n i = '00' + i.toString();\n } else if (i < 100) {\n i = '0' + i.toString();\n }\n text += i;\n return text;\n}\nconst TOOLBOX_WIDTH = 34;\n\nconst styles = theme => ({\n logBox: {\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden'\n },\n logBoxInner: {\n color: theme.palette.type === 'dark' ? 'white' : 'black',\n width: `calc(100% - ${TOOLBOX_WIDTH}px)`,\n height: '100%',\n marginLeft: TOOLBOX_WIDTH,\n overflow: 'auto',\n position: 'relative'\n },\n info: {\n background: theme.palette.type === 'dark' ? 'darkgrey' : 'lightgrey',\n color: theme.palette.type === 'dark' ? 'black' : 'black'\n },\n error: {\n background: '#FF0000',\n color: theme.palette.type === 'dark' ? 'black' : 'white'\n },\n warn: {\n background: '#FF8000',\n color: theme.palette.type === 'dark' ? 'black' : 'white'\n },\n debug: {\n background: 'gray',\n opacity: 0.8,\n color: theme.palette.type === 'dark' ? 'black' : 'white'\n },\n silly: {\n background: 'gray',\n opacity: 0.6,\n color: theme.palette.type === 'dark' ? 'black' : 'white'\n },\n table: {\n fontFamily: 'monospace',\n width: '100%',\n\n },\n toolbox: {\n position: 'absolute',\n top: 0,\n left: 0,\n marginLeft: 2,\n width: TOOLBOX_WIDTH,\n height: '100%',\n boxShadow: '2px 0px 4px -1px rgba(0, 0, 0, 0.2), 4px 0px 5px 0px rgba(0, 0, 0, 0.14), 1px 0px 10px 0px rgba(0, 0, 0, 0.12)'\n },\n trTime: {\n width: 90\n },\n trSeverity: {\n width: 40,\n fontWeight: 'bold'\n },\n iconButtons: {\n width: 32,\n height: 32,\n padding: 4\n },\n layoutIcon: {\n width: 24,\n height: 24,\n background: theme.palette.type === 'dark' ? '#9d9d9d' : undefined,\n borderRadius: theme.palette.type === 'dark' ? 30 : undefined,\n },\n});\n\nfunction copyToClipboard(str) {\n const el = window.document.createElement('textarea');\n el.value = str;\n window.document.body.appendChild(el);\n el.select();\n window.document.execCommand('copy');\n window.document.body.removeChild(el);\n}\n\nfunction paddingMs(ms) {\n if (ms < 10) return '00' + ms;\n if (ms < 100) return '0' + ms;\n return ms;\n}\n\nlet gText = {};\n\nclass Log extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n lines: {},\n goBottom: true,\n selected: null,\n editing: this.props.editing || []\n };\n this.lastIndex = null;\n this.messagesEnd = React.createRef();\n this.logHandlerBound = this.logHandler.bind(this);\n }\n\n generateLine(message) {\n return (\n {getTimeString(new Date(message.ts))}\n {message.severity}\n {message.message}\n );\n }\n\n scrollToBottom() {\n this.messagesEnd && this.messagesEnd.current && this.messagesEnd.current.scrollIntoView({behavior: 'smooth'});\n }\n logHandler(message) {\n let allLines = this.state.lines;\n const selected = this.state.editing.find(id => message.message.indexOf(id) !== -1);\n if (!selected) return;\n\n let lines = allLines[selected] || [];\n let text = gText[selected] || [];\n\n lines.push(this.generateLine(message));\n let severity = message.severity;\n if (severity === 'info' || severity === 'warn') {\n severity += ' ';\n }\n const date = new Date(message.ts);\n text.push(`${date.toLocaleString()}.${paddingMs(date.getMilliseconds())}\\t[${severity}]: ${message.message}`);\n if (lines.length > 300) {\n lines.splice(0, lines.length - 300);\n text.splice(0, lines.length - 300);\n }\n gText[selected] = text;\n allLines[selected] = lines;\n\n this.setState({lines: allLines});\n }\n\n componentDidMount() {\n this.props.socket.registerLogHandler(this.logHandlerBound);\n }\n\n componentWillUnmount() {\n this.props.socket.unregisterLogHandler(this.logHandlerBound);\n }\n\n componentDidUpdate() {\n this.state.goBottom && this.scrollToBottom();\n }\n\n static getDerivedStateFromProps(props, state) {\n let changed = false;\n let newState = {};\n\n if (props.selected !== state.selected) {\n let selected = props.selected;\n let allLines = state.lines;\n allLines[selected] = allLines[selected] || [];\n gText[selected] = gText[selected] || [];\n newState.selected = selected;\n changed = true;\n }\n\n if (JSON.stringify(props.editing) !== JSON.stringify(state.editing)) {\n const editing = JSON.parse(JSON.stringify(props.editing));\n let allLines = state.lines;\n\n for (const id in gText) {\n if (gText.hasOwnProperty(id)) {\n if (editing.indexOf(id) === -1) {\n delete gText[id];\n delete allLines[id];\n }\n }\n }\n\n newState.editing = editing;\n }\n return changed ? newState : null;\n }\n\n onCopy() {\n copyToClipboard((gText[this.state.selected] || []).join('\\n'));\n }\n\n clearLog() {\n let allLines = this.state.lines;\n if (allLines[this.state.selected]) {\n allLines[this.state.selected] = [];\n }\n if (gText[this.state.selected]) {\n gText[this.state.selected] = [];\n }\n this.setState({lines: allLines});\n }\n\n render() {\n const lines = this.state.selected && this.state.lines[this.state.selected];\n return (\n
\n
\n this.setState({goBottom: !this.state.goBottom})} color={this.state.goBottom ? 'secondary' : ''}>\n {lines && lines.length ? ( this.clearLog()}>) : null}\n {lines && lines.length ? ( this.onCopy()}>) : null}\n {this.props.onLayoutChange ? ( this.props.onLayoutChange()} title={I18n.t('Change layout')}>\"split\") : null}\n
\n {this.state.selected && lines && lines.length ?\n (
\n {lines}
\n
\n
) :\n (
{I18n.t('Log outputs')}
)\n }\n
\n );\n }\n}\n\nLog.propTypes = {\n selected: PropTypes.string,\n socket: PropTypes.object,\n onLayoutChange: PropTypes.func,\n verticalLayout: PropTypes.bool\n};\n\nexport default withStyles(styles)(Log);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Fab from '@material-ui/core/Fab';\n\nimport {MdGTranslate as IconNoCheck} from 'react-icons/md';\nimport I18n from '@iobroker/adapter-react/i18n';\n\nfunction isIdOfGlobalScript(id) {\n return /^script\\.js\\.global\\./.test(id);\n}\nlet index = 0;\nclass ScriptEditor extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n name: 'current',\n isDark: props.isDark || false,\n language: props.language || 'javascript',\n readOnly: props.readOnly || false,\n alive: true,\n check: false,\n searchText: this.props.searchText || '',\n typingsLoaded: false,\n };\n this.runningInstancesStr = JSON.stringify(this.props.runningInstances);\n this.monacoDiv = null; //ref\n this.editor = null;\n this.monaco = window.monaco;\n this.insert = '';\n this.originalCode = props.code || '';\n this.typings = {}; // TypeScript declarations\n this.lastSearch = '';\n }\n\n waitForMonaco(cb) {\n if (!this.monaco || !this.props.runningInstances) {\n this.monaco = window.monaco;\n this.monacoCounter = this.monacoCounter || 0;\n this.monacoCounter++;\n if (!this.monaco && this.monacoCounter < 20) {\n console.log('wait for monaco loaded');\n return setTimeout(() => this.waitForMonaco(cb), 200);\n } else if (this.monacoCounter >= 20) {\n console.error('Cannot load monaco!');\n }\n } else {\n cb && cb();\n }\n }\n\n loadTypings(runningInstances) {\n if (!this.editor) {\n return;\n }\n runningInstances = runningInstances || this.props.runningInstances;\n let scriptAdapterInstance = runningInstances && Object.keys(runningInstances).find(id => runningInstances[id]);\n if (scriptAdapterInstance) {\n this.props.socket.sendTo(scriptAdapterInstance.replace('system.adapter.', ''), 'loadTypings', null)\n .then(result => {\n this.setState({alive: true, check: true, typingsLoaded: true});\n this.setTypeCheck(true);\n if (result.typings) {\n this.typings = result.typings;\n this.setEditorTypings(this.state.name);\n } else {\n console.error(`failed to load typings: ${result.error}`);\n }\n });\n }\n }\n\n componentDidMount() {\n if (!this.monaco || !this.props.runningInstances) {\n this.monaco = window.monaco;\n if (!this.monaco) {\n console.log('wait for monaco loaded');\n return this.waitForMonaco(() => this.componentDidMount());\n }\n }\n if (!this.editor) {\n this.props.onRegisterSelect && this.props.onRegisterSelect(() => this.editor.getModel().getValueInRange(this.editor.getSelection()));\n // For some reason we have to get the original compiler options\n // and assign new properties one by one\n const compilerOptions = this.monaco.languages.typescript.typescriptDefaults['getCompilerOptions']();\n compilerOptions.target = this.monaco.languages.typescript.ScriptTarget.ES2015;\n compilerOptions.allowJs = true;\n compilerOptions.checkJs = this.props.checkJs !== false;\n compilerOptions.noLib = true;\n compilerOptions.lib = [];\n compilerOptions.moduleResolution = this.monaco.languages.typescript.ModuleResolutionKind.NodeJs;\n this.monaco.languages.typescript.typescriptDefaults.setCompilerOptions(compilerOptions);\n\n this.setTypeCheck(false);\n\n // Create the editor instances\n this.editor = this.monaco.editor.create(this.monacoDiv, {\n lineNumbers: 'on',\n scrollBeyondLastLine: false,\n automaticLayout: true\n });\n\n this.editor.onDidChangeModelContent(e =>\n this.onChange(this.editor.getValue()));\n\n // Load typings for the JS editor\n /** @type {string} */\n this.loadTypings();\n\n this.editor.addCommand(this.monaco.KeyMod.CtrlCmd | this.monaco.KeyCode.KEY_S, () =>\n this.onForceSave());\n\n setTimeout(() => this.highlightText(this.state.searchText));\n }\n const options = {\n selectOnLineNumbers: true,\n scrollBeyondLastLine: false,\n automaticLayout: true,\n readOnly: this.state.readOnly,\n language: this.state.language,\n isDark: this.state.isDark\n };\n\n this.setEditorOptions(options);\n this.editor.focus();\n this.editor.setValue(this.originalCode);\n }\n\n /**\n * Sets some options of the code editor\n * @param {object} options The editor options to change\n * @param {Partial<{readOnly: boolean, lineWrap: boolean, language: EditorLanguage, typeCheck: boolean}>} options\n */\n setEditorOptions(options) {\n if (options) {\n if (options.language) {\n this.setEditorLanguage(options.language);\n }\n if (options.readOnly !== undefined) {\n this.editor.updateOptions({readOnly: options.readOnly});\n }\n if (options.lineWrap !== undefined) {\n this.editor.updateOptions({wordWrap: options.lineWrap ? 'on' : 'off'});\n }\n if (options.typeCheck !== undefined) {\n this.setTypeCheck(options.typeCheck);\n }\n if (options.isDark !== undefined) {\n this.monaco.editor.setTheme(options.isDark ? 'vs-dark' : 'vs');\n }\n }\n }\n\n componentWillUnmount() {\n if (this.editor) {\n this.props.onRegisterSelect && this.props.onRegisterSelect(null);\n this.editor.dispose();\n this.editor = null;\n }\n }\n\n /** @typedef {\"javascript\" | \"typescript\" | \"coffee\"} EditorLanguage */\n\n /**\n * Sets the language of the code editor\n * @param {EditorLanguage} language\n */\n setEditorLanguage(language) {\n // we need to recreate the model when changing languages,\n // so remember its settings\n const model = this.editor.getModel();\n const code = model.getValue();\n const uri = model.uri.path;\n\n const filenameWithoutExtension =\n typeof uri === 'string' && uri.indexOf('.') > -1\n ? uri.substr(0, uri.lastIndexOf('.'))\n : 'index';\n\n const extension =\n language === 'javascript' ? 'js'\n : (language === 'typescript' ? 'ts'\n : (language === 'coffee' ? 'coffee'\n : language));\n\n // get rid of the original model\n model.dispose();\n\n // Both JS and TS need the model to work in TypeScript as the script type\n // is inferred from the file extension\n const newLanguage = (language === 'javascript' || language === 'typescript') ? 'typescript' : language;\n\n const newModel = this.monaco.editor.createModel(\n code,\n newLanguage,\n this.monaco.Uri.from({path: `${filenameWithoutExtension}${index++}.${extension}`})\n );\n\n this.editor.setModel(newModel);\n }\n\n /**\n * Enables or disables the type checking in the editor\n * @param {boolean} enabled - Whether type checking is enabled or not\n */\n setTypeCheck(enabled) {\n const options = {\n noSemanticValidation: !this.state.alive || !enabled, // toggle the type checking\n noSyntaxValidation: !this.state.alive // always check the syntax\n };\n this.monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions(options);\n }\n\n /**\n * @param {string} [currentScriptName] The name of the current script\n */\n setEditorTypings(currentScriptName = '') {\n const isGlobalScript = isIdOfGlobalScript(currentScriptName);\n // The filename of the declarations this script can see if it is a global script\n const partialDeclarationsPath = `${currentScriptName}.d.ts`;\n const wantedTypings = [];\n for (const path of Object.keys(this.typings)) {\n // global scripts don't get to see all other global scripts\n // but only a part of them\n if (isGlobalScript) {\n if (path === 'global.d.ts') continue;\n if (path.startsWith('script.js.global') && path !== partialDeclarationsPath) continue;\n }\n wantedTypings.push({\n filePath: path,\n content: this.typings[path],\n });\n }\n // BF: check https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-semantic-tokens-provider-example\n // to support 0.21.0\n\n if (this.monaco.languages.typescript.typescriptDefaults.setExtraLibs) {\n this.monaco.languages.typescript.typescriptDefaults.setExtraLibs(wantedTypings);\n } else if (this.monaco.languages.typescript.typescriptDefaults.addExtraLib) {\n const existingLibs = this.monaco.languages.typescript.typescriptDefaults.getExtraLibs();\n wantedTypings.forEach(lib => {\n if (!existingLibs[lib.filePath]) {\n this.monaco.languages.typescript.typescriptDefaults.addExtraLib(lib, lib.filePath);\n }\n });\n }\n }\n\n /**\n * Inserts some text into the given editor\n * @param {string} text The text to add\n */\n insertTextIntoEditor(text) {\n const selection = this.editor.getSelection();\n const range = new this.monaco.Range(\n selection.startLineNumber, selection.startColumn,\n selection.endLineNumber, selection.endColumn\n );\n this.editor.executeEdits('', [{range: range, text: text, forceMoveMarkers: true}]);\n this.editor.focus();\n }\n\n highlightText(text) {\n let range = text && this.editor.getModel().findMatches(text);\n if (range && range.length) {\n range.forEach(r => this.editor.setSelection(r.range));\n this.editor.revealLine(range[0].range.startLineNumber);\n } else if (this.editor) {\n const row = this.editor.getPosition().lineNumber;\n const col = this.editor.getPosition().column;\n this.editor.setSelection(new this.monaco.Range(row, col, row, col));\n }\n }\n\n initNewScript(name, code) {\n this.setState({name});\n this.originalCode = code || '';\n this.editor && this.editor.setValue(code);\n this.highlightText(this.lastSearch);\n //this.setEditorLanguage();\n // Update the typings because global scripts need different typings than normal scripts\n // and each global script has different typings\n this.setEditorTypings(name);\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const options = {};\n if (this.state.name !== nextProps.name) {\n // A different script was selected\n this.initNewScript(nextProps.name, nextProps.code);\n }\n\n // if some running instance will be foung and\n if (JSON.stringify(nextProps.runningInstances) !== this.runningInstancesStr) {\n this.runningInstancesStr = JSON.stringify(nextProps.runningInstances);\n if (!this.state.typingsLoaded) {\n this.loadTypings(nextProps.runningInstances);\n }\n }\n\n // if the code not yet changed, update the new code\n if (!nextProps.changed && nextProps.code !== this.originalCode) {\n this.originalCode = nextProps.code;\n this.editor.setValue(this.originalCode);\n }\n\n if (nextProps.searchText !== this.lastSearch) {\n this.lastSearch = nextProps.searchText;\n this.highlightText(this.lastSearch);\n }\n\n if (this.state.language !== (nextProps.language || 'javascript')) {\n this.setState({language: nextProps.language || 'javascript'});\n options.language = nextProps.language || 'javascript';\n } else if (this.state.readOnly !== (nextProps.readOnly || false)) {\n this.setState({readOnly: nextProps.readOnly || false});\n options.readOnly = nextProps.readOnly;\n } else if (this.state.isDark !== (nextProps.isDark || false)) {\n this.setState({isDark: nextProps.isDark || false});\n options.isDark = nextProps.isDark;\n }\n\n this.setEditorOptions(options);\n\n if (this.insert !== nextProps.insert) {\n this.insert = nextProps.insert;\n if (this.insert) {\n console.log('Insert text' + this.insert);\n setTimeout(insert => {\n this.insertTextIntoEditor(insert);\n setTimeout(() => this.props.onInserted && this.props.onInserted(), 100);\n }, 100, this.insert);\n }\n }\n }\n\n onChange(newValue, e) {\n if (!this.props.readOnly) {\n this.props.onChange && this.props.onChange(this.editor.getValue());\n }\n }\n\n render() {\n if (!this.monaco || !this.props.runningInstances) {\n setTimeout(() => {\n this.monaco = window.monaco;\n this.forceUpdate()\n }, 200);\n return null;\n }\n\n return
this.monacoDiv = el} style={{width: '100%', height: '100%', overflow: 'hidden', position: 'relative'}}>\n {!this.state.check && }\n
;\n }\n}\n\nScriptEditor.propTypes = {\n adapterName: PropTypes.string.isRequired,\n socket: PropTypes.object,\n runningInstances: PropTypes.object,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onForceSave: PropTypes.func,\n onInserted: PropTypes.func,\n isDark: PropTypes.bool,\n readOnly: PropTypes.bool,\n code: PropTypes.string,\n language: PropTypes.string,\n onRegisterSelect: PropTypes.func,\n searchText: PropTypes.string,\n checkJs: PropTypes.bool,\n changed: PropTypes.bool,\n};\n\nexport default ScriptEditor;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport I18n from '@iobroker/adapter-react/i18n';\nimport DialogMessage from '@iobroker/adapter-react/Dialogs/Message';\nimport DialogError from '../Dialogs/Error';\nimport DialogExport from '../Dialogs/Export';\nimport DialogImport from '../Dialogs/Import';\n\nlet languageBlocklyLoaded = false;\nlet languageOwnLoaded = false;\nlet toolboxText = null;\nlet toolboxXml;\nlet scriptsLoaded = [];\n\n// BF (2020-10-31) I have no Idea, why it does not work as static in BlocklyEditor, but outside of BlocklyEditor it works\nfunction searchXml(root, text, _id, _result) {\n _result = _result || [];\n if (root.tagName === 'BLOCK' || root.tagName === 'block') {\n _id = root.id;\n }\n if (root.tagName === 'FIELD' || root.tagName === 'field') {\n for (let a = 0; a < root.attributes.length; a++) {\n const val = (root.attributes[a].value || '').toLowerCase();\n if (root.attributes[a].nodeName === 'name' && (val === 'oid' || val === 'text')) {\n if ((root.innerHTML || root.innerText || '').toLowerCase().includes(text)) {\n _result.push(_id);\n }\n }\n }\n }\n root.childNodes.forEach(node =>\n searchXml(node, text, _id, _result));\n\n return _result;\n}\n\n\nclass BlocklyEditor extends React.Component {\n constructor(props) {\n super(props);\n\n this.blockly = null; //ref\n this.blocklyWorkspace = null;\n this.toolbox = null;\n this.Blockly = window.Blockly;\n\n this.state = {\n languageOwnLoaded,\n languageBlocklyLoaded,\n changed: false,\n message: '',\n error: '',\n themeType: this.props.themeType,\n exportText: '',\n importText: false,\n searchText: this.props.searchText || '',\n };\n this.originalCode = props.code || '';\n\n this.someSelected = null;\n this.changeTimer = null;\n\n this.onResizeBind = this.onResize.bind(this);\n\n this.lastCommand = '';\n this.lastSearch = this.props.searchText || '';\n this.blinkBlock = null;\n this.loadLanguages();\n }\n\n static loadJS(url, callback, location) {\n const scriptTag = document.createElement('script');\n try {\n scriptTag.src = url;\n\n scriptTag.onload = callback;\n scriptTag.onreadystatechange = callback;\n scriptTag.onerror = callback;\n\n (location || window.document.body).appendChild(scriptTag);\n } catch (e) {\n console.error('Cannot load ' + url + ': ' + e);\n callback && callback();\n }\n };\n\n static loadScripts(scripts, callback) {\n if (!scripts || !scripts.length) {\n return callback && callback();\n }\n const adapter = scripts.pop();\n if (scriptsLoaded.indexOf(adapter) === -1) {\n scriptsLoaded.push(adapter);\n BlocklyEditor.loadJS('../../adapter/' + adapter + '/blockly.js', (/*data, textStatus, jqxhr*/) =>\n setTimeout(() => BlocklyEditor.loadScripts(scripts, callback), 0));\n } else {\n setTimeout(() => BlocklyEditor.loadScripts(scripts, callback), 0);\n }\n }\n\n static loadCustomBlockly(adapters, callback) {\n // get all adapters, that can have blockly\n const toLoad = [];\n for (const id in adapters) {\n if (!adapters.hasOwnProperty(id) ||\n !adapters[id] ||\n !id.match(/^system\\.adapter\\./) ||\n adapters[id].type !== 'adapter'\n ) {\n continue;\n }\n\n if (adapters[id].common && adapters[id].common.blockly) {\n console.log('Detected custom blockly: ' + adapters[id].common.name);\n toLoad.push(adapters[id].common.name);\n }\n }\n\n BlocklyEditor.loadScripts(toLoad, callback);\n }\n\n static loadXMLDoc(text) {\n let parseXml;\n if (window.DOMParser) {\n parseXml = function(xmlStr) {\n return ( new window.DOMParser() ).parseFromString(xmlStr, \"text/xml\");\n };\n } else if (typeof window.ActiveXObject != \"undefined\" && new window.ActiveXObject(\"Microsoft.XMLDOM\")) {\n parseXml = function(xmlStr) {\n var xmlDoc = new window.ActiveXObject(\"Microsoft.XMLDOM\");\n xmlDoc.async = \"false\";\n xmlDoc.loadXML(xmlStr);\n return xmlDoc;\n };\n } else {\n parseXml = function() { return null; }\n }\n return parseXml(text);\n }\n\n searchBlocks(text) {\n if (this.blocklyWorkspace) {\n const dom = this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);\n const ids = searchXml(dom, text.toLowerCase());\n const allBlocks = this.blocklyWorkspace.getAllBlocks();\n const result = [];\n allBlocks.filter(b => ids.includes(b.id)).forEach(b => result.push(b));\n return result;\n }\n }\n\n searchId() {\n const blocks = this.lastSearch && this.searchBlocks(this.lastSearch);\n if (blocks && blocks.length) {\n this.someSelected = blocks;\n this.someSelected.forEach(b => b.addSelect());\n this.someSelectedTime = Date.now();\n } else if (this.someSelected) {\n // remove selection\n this.someSelected.forEach(b => b.removeSelect());\n this.someSelected = null;\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.command && this.lastCommand !== nextProps.command) {\n this.lastCommand = nextProps.command;\n setTimeout(() => this.lastCommand = '', 300);\n if (this.lastCommand === 'check') {\n this.blocklyCheckBlocks((err, badBlock) => {\n if (!err) {\n this.setState({message: I18n.t('Ok')});\n } else {\n badBlock && this.blocklyBlinkBlock(badBlock);\n this.setState({error: {text: I18n.t(err), title: I18n.t('Error was found')}});\n this.blinkBlock = badBlock;\n }\n });\n } else if (this.lastCommand === 'export') {\n this.exportBlocks();\n } else if (this.lastCommand === 'import') {\n this.importBlocks();\n }\n }\n\n if (nextProps.searchText !== this.lastSearch) {\n this.lastSearch = nextProps.searchText;\n this.searchId();\n }\n\n if (this.state.themeType !== nextProps.themeType) {\n this.setState({themeType: nextProps.themeType}, () => this.updateBackground());\n }\n\n if (this.originalCode !== nextProps.code) {\n this.originalCode = nextProps.code || '';\n this.loadCode();\n this.searchId();\n }\n }\n\n loadLanguages() {\n // load blockly language\n if (!languageBlocklyLoaded) {\n const fileLang = window.document.createElement('script');\n fileLang.setAttribute('type', 'text/javascript');\n fileLang.setAttribute('src', 'google-blockly/msg/js/' + I18n.getLanguage() + '.js');\n\n // most browsers\n fileLang.onload = () => {\n languageBlocklyLoaded = true;\n this.setState({languageBlocklyLoaded});\n };\n // IE 6 & 7\n fileLang.onreadystatechange = () => {\n if (this.readyState === 'complete') {\n languageBlocklyLoaded = true;\n this.setState({languageBlocklyLoaded});\n }\n };\n window.document.getElementsByTagName('head')[0].appendChild(fileLang);\n }\n if (!languageOwnLoaded) {\n const fileCustom = window.document.createElement('script');\n fileCustom.setAttribute('type', 'text/javascript');\n fileCustom.setAttribute('src', 'google-blockly/own/msg/' + I18n.getLanguage() + '.js');\n // most browsers\n fileCustom.onload = () => {\n languageOwnLoaded = true;\n this.setState({languageOwnLoaded});\n };\n // IE 6 & 7\n fileCustom.onreadystatechange = () => {\n if (this.readyState === 'complete') {\n languageOwnLoaded = true;\n this.setState({languageOwnLoaded});\n }\n };\n window.document.getElementsByTagName('head')[0].appendChild(fileCustom);\n }\n }\n\n onResize() {\n this.Blockly.svgResize(this.blocklyWorkspace);\n }\n\n jsCode2Blockly(text) {\n text = text || '';\n const lines = text.split(/[\\r\\n]+|\\r|\\n/g);\n let xml = '';\n for (let l = lines.length - 1; l >= 0; l--) {\n if (lines[l].substring(0, 2) === '//') {\n xml = lines[l].substring(2);\n break;\n }\n }\n if (xml.substring(0, 4) === ' block.select(), i);\n setTimeout(() => block.unselect(), i + 150);\n }\n }\n\n blocklyRemoveOrphanedShadows() {\n if (this.blocklyWorkspace) {\n let blocks = this.blocklyWorkspace.getAllBlocks();\n let block;\n for (let i = 0; (block = blocks[i]); i++) {\n if (block.isShadow()) {\n const connections = block.getConnections_(true);\n let conn;\n for (let j = 0; (conn = connections[j]); j++) {\n if (!conn.targetConnection) {\n // remove it\n block.dispose();\n break;\n }\n }\n }\n }\n }\n }\n\n blocklyCheckBlocks(cb) {\n let warningText;\n if (!this.blocklyWorkspace || this.blocklyWorkspace.getAllBlocks().length === 0) {\n cb && cb('no blocks found');\n return;\n }\n let badBlock = this.blocklyGetUnconnectedBlock();\n if (badBlock) {\n warningText = 'not properly connected';\n } else {\n badBlock = this.blocklyGetBlockWithWarning();\n if (badBlock) {\n warningText = 'warning on this block';\n }\n }\n\n if (badBlock) {\n if (cb) {\n cb(warningText, badBlock);\n } else {\n this.blocklyBlinkBlock(badBlock);\n }\n return false;\n }\n\n cb();\n\n return true;\n }\n\n // get unconnected block\n blocklyGetUnconnectedBlock () {\n const blocks = this.blocklyWorkspace.getAllBlocks();\n let block;\n for (let i = 0; (block = blocks[i]); i++) {\n const connections = block.getConnections_(true);\n let conn;\n for (let j = 0; (conn = connections[j]); j++) {\n if (!conn.sourceBlock_ || ((conn.type === this.Blockly.INPUT_VALUE || conn.type === this.Blockly.OUTPUT_VALUE) && !conn.targetConnection && !conn._optional)) {\n return block;\n }\n }\n }\n return null;\n }\n\n // get block with warning\n blocklyGetBlockWithWarning() {\n const blocks = this.blocklyWorkspace.getAllBlocks();\n let block;\n for (let i = 0; (block = blocks[i]); i++) {\n if (block.warning) {\n return block;\n }\n }\n return null;\n }\n\n blocklyCode2JSCode(oneWay) {\n let code = this.Blockly.JavaScript.workspaceToCode(this.blocklyWorkspace);\n if (!oneWay) {\n code += '\\n';\n const dom = this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);\n const text = this.Blockly.Xml.domToText(dom);\n code += '//' + btoa(encodeURIComponent(text));\n }\n\n return code;\n }\n\n exportBlocks() {\n let exportText;\n if (this.Blockly.selected) {\n const xmlBlock = this.Blockly.Xml.blockToDom(this.Blockly.selected);\n if (this.Blockly.dragMode_ !== this.Blockly.DRAG_FREE) {\n this.Blockly.Xml.deleteNext(xmlBlock);\n }\n // Encode start position in XML.\n const xy = this.Blockly.selected.getRelativeToSurfaceXY();\n xmlBlock.setAttribute('x', this.Blockly.selected.RTL ? -xy.x : xy.x);\n xmlBlock.setAttribute('y', xy.y);\n\n exportText = this.Blockly.Xml.domToPrettyText(xmlBlock);\n } else {\n const dom = this.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);\n exportText = this.Blockly.Xml.domToPrettyText(dom);\n }\n this.setState({exportText});\n }\n\n importBlocks() {\n this.setState({importText: true});\n }\n\n onImportBlocks(xml) {\n xml = (xml || '').trim();\n if (xml) {\n try {\n if (!xml.startsWith('';\n }\n let variables = xml.replace(/[\\n\\r]/g, '').match(/(.*)<\\/variables>/);\n if (variables) {\n let vars = this.Blockly.utils.xml.textToDomDocument('' + variables[1] + '');\n if (vars) {\n let nodes = vars.childNodes && vars.childNodes[0] && vars.childNodes[0].childNodes;\n if (nodes) {\n for (let i = 0; i < nodes.length; i++) {\n nodes[i].id && this.blocklyWorkspace.createVariable(nodes[i].id);\n }\n }\n }\n }\n xml = xml.replace(/[\\n\\r]/g, '').replace(/.*<\\/variables>/g, '');\n window.scripts.loading = true;\n let xmlBlocks = this.Blockly.Xml.textToDom(xml);\n if (xmlBlocks.nodeName === 'xml') {\n for (let b = 0; b < xmlBlocks.children.length; b++) {\n this.blocklyWorkspace.paste(xmlBlocks.children[b]);\n }\n } else {\n this.blocklyWorkspace.paste(xmlBlocks);\n }\n\n window.scripts.loading = false;\n\n\n this.onBlocklyChanged();\n } catch (e) {\n this.setState({error: {text: e, title: I18n.t('Import error')}});\n }\n }\n }\n\n loadCode() {\n if (!this.blocklyWorkspace) {\n return;\n }\n\n this.ignoreChanges = true;\n this.blocklyWorkspace.clear();\n\n try {\n const xml = this.jsCode2Blockly(this.originalCode) || '';\n window.scripts.loading = true;\n const dom = this.Blockly.Xml.textToDom(xml);\n this.Blockly.Xml.domToWorkspace(dom, this.blocklyWorkspace);\n window.scripts.loading = false;\n } catch (e) {\n console.error(e);\n setTimeout(() => this.setState({error: I18n.t('Cannot extract Blockly code!')}));\n }\n setTimeout(() => this.ignoreChanges = false, 100);\n }\n\n onBlocklyChanged() {\n this.blocklyRemoveOrphanedShadows();\n this.setState({changed: true});\n this.onChange();\n }\n\n componentDidUpdate() {\n if (!this.blockly) {\n return;\n }\n if (this.didUpdate) {\n clearTimeout(this.didUpdate);\n this.didUpdate = null;\n }\n\n if (this.blocklyWorkspace) {\n return;\n }\n\n window.addEventListener('resize', this.onResizeBind, false);\n toolboxText = toolboxText || this.getToolbox();\n toolboxXml = toolboxXml || this.Blockly.Xml.textToDom(toolboxText);\n\n this.blocklyWorkspace = this.Blockly.inject(\n this.blockly,\n {\n media: 'google-blockly/media/',\n toolbox: toolboxXml,\n zoom: {\n controls: true,\n wheel: false,\n startScale: 1.0,\n maxScale: 3,\n minScale: 0.3,\n scaleSpeed: 1.2\n },\n move: {\n scrollbars: true,\n drag: true,\n wheel: true\n },\n trashcan: true,\n grid: {\n spacing: 25,\n length: 3,\n colour: '#ccc',\n snap: true\n }\n }\n );\n // for blockly itself\n window.scripts = {\n blocklyWorkspace: this.blocklyWorkspace\n };\n\n // Listen to events on master workspace.\n this.blocklyWorkspace.addChangeListener(masterEvent => {\n if (this.someSelected && Date.now() - this.someSelectedTime > 500) {\n const allBlocks = this.blocklyWorkspace.getAllBlocks();\n this.someSelected = null;\n allBlocks.forEach(b => b.removeSelect());\n }\n\n if (masterEvent.type === this.Blockly.Events.UI || masterEvent.type === this.Blockly.Events.CREATE) {\n return; // Don't mirror UI events.\n }\n if (this.ignoreChanges) return;\n this.changeTimer && clearTimeout(this.changeTimer);\n this.changeTimer = setTimeout(() => {\n this.changeTimer = null;\n this.onBlocklyChanged();\n }, 200);\n\n });\n this.loadCode();\n this.onResize();\n // Move toolbar to the valid position\n const toolbar = document.getElementsByClassName('blocklyToolboxDiv')[0];\n this.blockly.appendChild(toolbar);\n\n this.updateBackground();\n setTimeout(() => this.searchId(), 200); // select found blocks\n }\n\n updateBackground() {\n const background = document.getElementsByClassName('blocklyMainBackground')[0];\n if (this.state.themeType === 'dark') {\n if (!background._originalStyle) {\n background._originalStyle = {\n stroke: background.style.stroke,\n fill: background.style.fill\n };\n }\n // add class\n background.style.stroke = '#3a3a3a';\n background.style.fill = '#515151';\n } else if (background._originalStyle) {\n background.style.stroke = background._originalStyle.stroke;\n background.style.fill = background._originalStyle.fill;\n }\n }\n\n componentWillUnmount() {\n if (!this.blocklyWorkspace) return;\n this.blocklyWorkspace.dispose();\n this.blocklyWorkspace = null;\n this.changeTimer && clearTimeout(this.changeTimer);\n this.changeTimer = null;\n window.removeEventListener('resize', this.onResizeBind);\n }\n\n onChange() {\n this.originalCode = this.blocklyCode2JSCode();\n this.props.onChange && this.props.onChange(this.originalCode);\n }\n\n getToolbox() {\n // Interpolate translated messages into toolbox.\n let toolboxText = window.document.getElementById('toolbox').outerHTML;\n toolboxText = toolboxText.replace(/{(\\w+)}/g, (m, p1) => window.MSG[p1]);\n\n if (this.Blockly.CustomBlocks) {\n let blocks = '';\n const lang = I18n.getLanguage();\n for (let cb = 0; cb < this.Blockly.CustomBlocks.length; cb++) {\n const name = this.Blockly.CustomBlocks[cb];\n // add blocks\n blocks += '';\n for (const _b in this.Blockly[name].blocks) {\n if (this.Blockly[name].blocks.hasOwnProperty(_b)) {\n blocks += this.Blockly[name].blocks[_b];\n }\n }\n blocks += '';\n }\n toolboxText = toolboxText.replace('%%CUSTOM_BLOCKS%%', blocks);\n }\n\n return toolboxText;\n }\n\n renderMessageDialog() {\n return this.state.message ?\n this.setState({message: ''})}\n /> :\n null;\n }\n renderErrorDialog() {\n return this.state.error ?\n {\n if (this.blinkBlock) {\n this.blocklyBlinkBlock(this.blinkBlock);\n this.blinkBlock = null;\n }\n this.setState({error: ''});\n }}/> :\n null;\n }\n\n renderExportDialog() {\n return this.state.exportText ? this.setState({exportText: ''})} text={this.state.exportText}/> : null;\n }\n\n renderImportDialog() {\n return this.state.importText ? {\n this.setState({importText: false});\n this.onImportBlocks(text);\n }}/> : null;\n }\n\n render() {\n if (this.state.languageBlocklyLoaded && this.state.languageOwnLoaded) {\n this.didUpdate = setTimeout(() => {\n this.didUpdate = null;\n this.componentDidUpdate();\n }, 100);\n\n return [\n
this.blockly = el} style={{\n //marginLeft: 180,\n width: '100%',//'calc(100% - 180px)',\n height: '100%',\n //overflow: 'hidden',\n position: 'relative'}}/>,\n\n this.renderMessageDialog(),\n this.renderErrorDialog(),\n this.renderExportDialog(),\n this.renderImportDialog(),\n ];\n } else {\n return null;\n }\n }\n}\n\nBlocklyEditor.propTypes = {\n command: PropTypes.string,\n onChange: PropTypes.func,\n searchText: PropTypes.string,\n themeType: PropTypes.string\n};\n\nexport default BlocklyEditor;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport Popper from '@material-ui/core/Popper';\nimport Fade from '@material-ui/core/Fade';\nimport Paper from '@material-ui/core/Paper';\n\nimport IconCopy from '@material-ui/icons/FileCopy';\nimport IconCancel from '@material-ui/icons/Cancel';\n\nimport I18n from '@iobroker/adapter-react/i18n';\n\nconst styles = theme => ({\n textArea: {\n width: '100%',\n height: '100%',\n },\n textAreaLight: {\n background: 'lightgray'\n },\n dialog: {\n height: '95%'\n },\n typography: {\n padding: theme.spacing(2),\n },\n buttonIcon: {\n marginRight: theme.spacing(1),\n },\n});\nclass DialogExport extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: null,\n popper: ''\n };\n }\n handleCancel = () => {\n this.props.onClose();\n };\n\n onCopy(event) {\n const el = window.document.getElementById('copy_input');\n if (el) {\n el.select();\n window.document.execCommand('copy');\n const target = event.currentTarget;\n\n setTimeout(() => {\n window.document.execCommand('copy');\n this.setState({popper: I18n.t('Copied'), anchorEl: target});\n setTimeout(() => this.setState({popper: '', anchorEl: null}), 1000);\n }, 50);\n\n }\n /*el.value = this.props.text;\n window.document.body.appendChild(el);\n el.select();*/\n }\n\n render() {\n const classes = this.props.classes;\n\n return (\n \n {I18n.t('Export selected blocks')}\n \n {this.props.text}\n \n \n \n \n\n \n {({ TransitionProps }) => (\n \n \n

{this.state.popper}

\n
\n
\n )}\n \n