From 77f173562692ea8c98590173f43c6c8b18e354f3 Mon Sep 17 00:00:00 2001 From: GermanBluefox Date: Wed, 4 Nov 2020 20:42:14 +0100 Subject: [PATCH] chore: release v4.10.1 In global TypeScripts, `import` can now be used Iteration of `$(...)` query results in TypeScript no longer causes compilation to fail Already-compiled TypeScripts are now recompiled after an update of the adapter to benefit of potential fixes Corrected schedule on date object Corrected the moving of scripts Corrected search tab Corrected the calculation of isDayTime variable Corrected `trim()` issue by CRON builder Corrected functions call in blockly Corrected CRON name in blockly --- README.md | 2 +- admin/asset-manifest.json | 10 +++++----- ...e-manifest.71b9c44ca15ff222d992cc64981acb33.js} | 10 +++++----- admin/service-worker.js | 2 +- ...in.b8fa5d20.chunk.js => main.99126ea3.chunk.js} | 6 +++--- ...ENSE.txt => main.99126ea3.chunk.js.LICENSE.txt} | 0 ...d20.chunk.js.map => main.99126ea3.chunk.js.map} | 2 +- admin/tab.html | 2 +- io-package.json | 14 +++++++++++++- package.json | 2 +- src/package.json | 2 +- 11 files changed, 32 insertions(+), 20 deletions(-) rename admin/{precache-manifest.f7437ca41864dfb62c50e84716f1d121.js => precache-manifest.71b9c44ca15ff222d992cc64981acb33.js} (72%) rename admin/static/js/{main.b8fa5d20.chunk.js => main.99126ea3.chunk.js} (99%) rename admin/static/js/{main.b8fa5d20.chunk.js.LICENSE.txt => main.99126ea3.chunk.js.LICENSE.txt} (100%) rename admin/static/js/{main.b8fa5d20.chunk.js.map => main.99126ea3.chunk.js.map} (99%) diff --git a/README.md b/README.md index e9faac8b..a963e1fe 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ And then call "npm run build". --> ## Changelog -### __WORK IN PROGRESS__ +### 4.10.1 (2020-11-04) * (AlCalzone) In global TypeScripts, `import` can now be used * (AlCalzone) Iteration of `$(...)` query results in TypeScript no longer causes compilation to fail * (AlCalzone) Already-compiled TypeScripts are now recompiled after an update of the adapter to benefit of potential fixes diff --git a/admin/asset-manifest.json b/admin/asset-manifest.json index 1dffee48..c775a17c 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.b8fa5d20.chunk.js", - "main.js.map": "/static/js/main.b8fa5d20.chunk.js.map", + "main.js": "/static/js/main.99126ea3.chunk.js", + "main.js.map": "/static/js/main.99126ea3.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.16653d25.chunk.css": "/static/css/2.16653d25.chunk.css", "static/js/2.c4aaa48f.chunk.js": "/static/js/2.c4aaa48f.chunk.js", "static/js/2.c4aaa48f.chunk.js.map": "/static/js/2.c4aaa48f.chunk.js.map", "index.html": "/index.html", - "precache-manifest.f7437ca41864dfb62c50e84716f1d121.js": "/precache-manifest.f7437ca41864dfb62c50e84716f1d121.js", + "precache-manifest.71b9c44ca15ff222d992cc64981acb33.js": "/precache-manifest.71b9c44ca15ff222d992cc64981acb33.js", "service-worker.js": "/service-worker.js", "static/css/2.16653d25.chunk.css.map": "/static/css/2.16653d25.chunk.css.map", "static/css/main.ec63fb86.chunk.css.map": "/static/css/main.ec63fb86.chunk.css.map", "static/js/2.c4aaa48f.chunk.js.LICENSE.txt": "/static/js/2.c4aaa48f.chunk.js.LICENSE.txt", - "static/js/main.b8fa5d20.chunk.js.LICENSE.txt": "/static/js/main.b8fa5d20.chunk.js.LICENSE.txt" + "static/js/main.99126ea3.chunk.js.LICENSE.txt": "/static/js/main.99126ea3.chunk.js.LICENSE.txt" }, "entrypoints": [ "static/js/runtime-main.36ac425a.js", "static/css/2.16653d25.chunk.css", "static/js/2.c4aaa48f.chunk.js", "static/css/main.ec63fb86.chunk.css", - "static/js/main.b8fa5d20.chunk.js" + "static/js/main.99126ea3.chunk.js" ] } \ No newline at end of file diff --git a/admin/precache-manifest.f7437ca41864dfb62c50e84716f1d121.js b/admin/precache-manifest.71b9c44ca15ff222d992cc64981acb33.js similarity index 72% rename from admin/precache-manifest.f7437ca41864dfb62c50e84716f1d121.js rename to admin/precache-manifest.71b9c44ca15ff222d992cc64981acb33.js index d2b06481..ad8b2d2e 100644 --- a/admin/precache-manifest.f7437ca41864dfb62c50e84716f1d121.js +++ b/admin/precache-manifest.71b9c44ca15ff222d992cc64981acb33.js @@ -1,6 +1,6 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ { - "revision": "8e10418e36249bc7caa94ba92e45d597", + "revision": "56c0dd9e152b852362e9ab611320eff0", "url": "/index.html" }, { @@ -8,7 +8,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/2.16653d25.chunk.css" }, { - "revision": "b221a90093656c101129", + "revision": "b27d8e2270daa460fb7a", "url": "/static/css/main.ec63fb86.chunk.css" }, { @@ -20,12 +20,12 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/2.c4aaa48f.chunk.js.LICENSE.txt" }, { - "revision": "b221a90093656c101129", - "url": "/static/js/main.b8fa5d20.chunk.js" + "revision": "b27d8e2270daa460fb7a", + "url": "/static/js/main.99126ea3.chunk.js" }, { "revision": "578fa69920ac4a551e6d340a37256bed", - "url": "/static/js/main.b8fa5d20.chunk.js.LICENSE.txt" + "url": "/static/js/main.99126ea3.chunk.js.LICENSE.txt" }, { "revision": "0bb40a41b8abfdf8d583", diff --git a/admin/service-worker.js b/admin/service-worker.js index d9b35211..ea5c7d41 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.f7437ca41864dfb62c50e84716f1d121.js" + "/precache-manifest.71b9c44ca15ff222d992cc64981acb33.js" ); self.addEventListener('message', (event) => { diff --git a/admin/static/js/main.b8fa5d20.chunk.js b/admin/static/js/main.99126ea3.chunk.js similarity index 99% rename from admin/static/js/main.b8fa5d20.chunk.js rename to admin/static/js/main.99126ea3.chunk.js index 4f74c9bd..b3e71b65 100644 --- a/admin/static/js/main.b8fa5d20.chunk.js +++ b/admin/static/js/main.99126ea3.chunk.js @@ -1,3 +1,3 @@ -/*! For license information please see main.b8fa5d20.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.0"}')},208:function(e,t){e.exports="data:image/png;base64,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"},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),o=s(21),r=s.n(o),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),oe=s(130),re=s.n(oe),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),o=0;o1),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=[],o="script.js";return s.forEach((function(t,s){o+="."+t;var n=e.props.parents.find((function(e){return e.id===o}));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:re.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:t.common.name: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?r.join("."):null,instance:o.common.engine?parseInt(o.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 o=this.state.reorder?20*e.depth:20*(e.depth-1),r=e.title;if(this.state.isAllZeroInstances||"folder"===e.type||(r=[n.a.createElement("span",{key:"instance",title:E.a.t("Instance"),className:this.props.classes.instances},"[",e.instance,"] "),n.a.createElement("span",{key:"title"},r)]),this.state.searchText){var i=r.toLowerCase().indexOf(this.state.searchText.toLowerCase());-1!==i&&(r=[n.a.createElement("span",{key:"first"},r.substring(0,i)),n.a.createElement("span",{key:"second",style:{color:"orange"}},r.substring(i,i+this.state.searchText.length)),n.a.createElement("span",{key:"third"},r.substring(i+this.state.searchText.length))])}var c=Object.assign({marginLeft:o,cursor:"folder"===e.type&&this.state.reorder?"default":"inherit",width:"calc(100% - ".concat(o,"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,r,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,o=(this.state.statusFilter||this.state.typeFilter)&&e.filter((function(e){return e.parent===t.id&&!a.isFilteredOut(e)})),r=e.filter((function(e){return e.parent===t.id}));if(!this.isFilteredOut(t)&&("folder"!==t.type||!this.state.statusFilter&&!this.state.typeFilter||o.length)){var i,c=this.renderListItem(t,r,o),l=[];return r&&(this.state.reorder||this.state.expanded.includes(t.id)||t.id===Qe)&&(i=r.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]),o=n.match(/\d+$/);o?(a=n.replace(/\d+$/,""),s=parseInt(o[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,o=this.state.listItems.find((function(t){return t.id===e.state.selected}));o&&this.state.width<=350&&"folder"===o.type&&(a=this.state.listItems.filter((function(t){return t.parent===e.state.selected}))),t.push(this.getMainMenu(a,o)),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 o=e.state.copingScript&&e.props.scripts[e.state.copingScript];o&&o.common&&(o.common.enabled=!1),e.props.onAddNew&&e.props.onAddNew(t,s,!1,a,n,o&&o.common&&o.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 o=!1,r={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,o=!0):e.filtered||(e.filtered=!0,o=!0)})),o)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]&&(o=!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,o=!0)})),!1===e&&(r.searchText="",r.searchMode=!1,o=!0);return o?r: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 o=$e(e.scripts||{});if(a.listItems=o,t.searchText){var r=s.filterListStatic(!0,o,t.searchMode,t.searchText,e.scripts);r&&Object.assign(a,r)}var i=s.getIsAllZeroInstancesStatic(o,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 ot={},rt=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=ot[s]||[];a.push(this.generateLine(e));var o=e.severity;"info"!==o&&"warn"!==o||(o+=" ");var r,i=new Date(e.ts);n.push("".concat(i.toLocaleString(),".").concat((r=i.getMilliseconds(),r<10?"00"+r:r<100?"0"+r:r),"\t[").concat(o,"]: ").concat(e.message)),a.length>300&&(a.splice(0,a.length-300),n.splice(0,a.length-300)),ot[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)}((ot[this.state.selected]||[]).join("\n"))}},{key:"clearLog",value:function(){var e=this.state.lines;e[this.state.selected]&&(e[this.state.selected]=[]),ot[this.state.selected]&&(ot[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,o=t.lines;o[n]=o[n]||[],ot[n]=ot[n]||[],a.selected=n,s=!0}if(JSON.stringify(e.editing)!==JSON.stringify(t.editing)){var r=JSON.parse(JSON.stringify(e.editing)),i=t.lines;for(var c in ot)ot.hasOwnProperty(c)&&-1===r.indexOf(c)&&(delete ot[c],delete i[c]);a.editing=r}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}}}))(rt),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",o="javascript"===e?"js":"typescript"===e?"ts":"coffee"===e?"coffee":e;t.dispose();var r="javascript"===e||"typescript"===e?"typescript":e,i=this.monaco.editor.createModel(s,r,this.monaco.Uri.from({path:"".concat(n).concat(kt++,".").concat(o)}));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=[],o=0,r=Object.keys(this.typings);o=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 o=this.Blockly.Xml.textToDom(e);if("xml"===o.nodeName)for(var r=0;r';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(o)&&(t+=this.Blockly[n].blocks[o]);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 * * * *"},o={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 r(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],o=s;for(e[t]||(e[t]=[]);o<=a;)e[t].indexOf(o)<0&&e[t].push(o),o+=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,o,l){var d,p,h=t.schedules,u=h[h.length-1];"L"===e&&(e=(n-1).toString(10)),null!==(d=r(e,l,o))?i(u,s,d,d):null!==(d=r(e.replace("W",""),l,o))?function(e,t,s){var n={},o={};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(o,"D",3,3),i(o,"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(o,"D",s+1,s+1),i(o,"d",a.TUE,a.FRI)),e.exceptions.push(n),e.exceptions.push(o)}(t,u,d):null!==(d=r(e.replace("L",""),l,o))?c(h,u,d,n-1):2===(p=e.split("#")).length?c(h,u,d=r(p[0],l,o),r(p[1])):function(e,t,s,a,n,o){var c=e.split("/"),l=+c[1],d=c[0];if("*"!==d&&"0"!==d){var p=d.split("-");a=r(p[0],o,n),n=r(p[1],o,n)||n}i(t,s,a,n,l)}(e,u,s,n,o,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(),o="",r=0;a=e[r];r++)o.length>0&&(o+=", "),o+=g(a,t);return o+" "+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=[],o=0;o1)for(var c=parseInt(i[1],10),l=parseInt(i[0],10);l<=c;l++)s.push(l);else s.push(parseInt(o[r],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],o=1;o60&&(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 o=e.specific||{},r=(o.time||"00:00").split(":"),i=parseInt(r[1],10)||0;i>59&&(i=59),i<0&&(i=0);var c=parseInt(r[0],10)||0;c>23&&(c=59),c<0&&(c=0),t="".concat(i," ").concat(c," * * ").concat(this.periodArray2text(o.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"]),os=["January","February","March","April","May","June","July","August","September","October","November","December"],rs="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,o;if(Object(p.a)(this,s),(a=t.call(this,e)).props.schedule&&"string"===typeof a.props.schedule&&"{"===a.props.schedule[0])try{o=JSON.parse(a.props.schedule)}catch(r){}return o&&Object.keys(o).length||!a.props.onChange||setTimeout((function(){return a.onChange(a.state.schedule,!0)}),200),o=o||{},(o=Object.assign({},ds,o)).valid.from=o.valid.from||a.now2string(),a.refFrom=n.a.createRef(),a.refTo=n.a.createRef(),a.refOnce=n.a.createRef(),a.state={schedule:o,desc:a.state2text(o)},JSON.stringify(o)!==a.props.schedule&&setTimeout((function(){return a.props.onChange&&a.props.onChange(JSON.stringify(o))}),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 o=a.period.days,r=a.period.dows;delete a.period,a.period={days:o},r&&"[]"!==r&&(a.period.dows=r)}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,o=!1,r=!0;return"00:00"===t.time.start&&"24:00"===t.time.end?(s=!0,r=!1):"sunrise"===t.time.start?(a=!0,r=!1):"sunset"===t.time.start&&(o=!0,r=!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:r,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:r?"":E.a.t("sch_fromTo")}),r&&[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:o,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")),os.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:rs},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 o=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===o.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:!o.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!==o.length&&!!o.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),o=1;o<=31;o++)-1===n.indexOf(o)&&a.push(o);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),o=1;o<=12;o++)-1===n.indexOf(o)&&a.push(o);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),os.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:re.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 o=window.localStorage.getItem("Editor.selected")||"",r=window.localStorage.getItem("Editor.editing")||"[]";try{r=JSON.parse(r)}catch(i){r=[]}return o&&-1===r.indexOf(o)&&r.push(o),a.tabsRef=n.a.createRef(),a.state={selected:o,editing:r,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)),o=n.length-1;o>=0;o--)this.objects[n[o]]||(a=!0,n.splice(o,1),void 0!==this.state.changed[n[o]]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),delete s.changed[n[o]]));this.state.selected&&!this.objects[this.state.selected]&&(s.selected=n[0]||""),a&&(s.editing=n)}else for(var r in this.scripts)if(this.scripts.hasOwnProperty(r))if(this.objects[r]&&this.objects[r].common){var i=this.scripts[r].source,c=JSON.parse(JSON.stringify(this.scripts[r]));c.source=this.objects[r].common.source,JSON.stringify(c)!==JSON.stringify(this.objects[r].common)&&(this.scripts[r]=JSON.parse(JSON.stringify(this.objects[r].common)),this.scripts[r].source=i),i!==this.objects[r].common.source?this.state.changed[r]?this.objects[r].from&&this.objects[r].from.startsWith("system.adapter.javascript.")&&(this.objects[r].from="system.adapter.admin.0",this.setState({toast:E.a.t("Script %s was modified on disk.",r.split(".").pop())})):this.scripts[r].source=this.objects[r].common.source:this.state.changed[r]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed[r]=!1,a=!0)}else if(delete this.scripts[r],this.state.selected===r){if(-1!==this.state.editing.indexOf(r)){var l=JSON.parse(JSON.stringify(this.state.editing)),d=l.indexOf(r);-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 o={editing:n};if(e===this.state.selected?n.length?0===a||1===n.length?o.selected=n[0]:o.selected=n[a-1]:o.selected="":this.state.selected&&!n.length&&(o.selected=""),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(n)),void 0!==o.selected){o.changed=o.changed||JSON.parse(JSON.stringify(this.state.changed)),o.changed[o.selected]=this.isScriptChanged(o.selected);var r=o.selected&&(this.scripts[o.selected]||this.props.objects[o.selected]&&this.props.objects[o.selected].common);o.blockly=!!r&&"Blockly"===r.engineType,o.verboseEnabled=!!r&&r.verbose,o.debugEnabled=!!r&&r.debug,o.showBlocklyCode=!1}this.setState(o,(function(){s.setChangedInAdmin(),void 0!==o.selected?(s.props.onSelectedChange&&s.props.onSelectedChange(o.selected,s.state.editing),window.localStorage&&window.localStorage.setItem("Editor.selected",o.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 o=e.props.objects[t].common&&e.scripts[t]&&e.props.objects[t].common.source!==e.scripts[t].source,r=[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),o?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:r,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,o=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)),!o&&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)),!o&&!s&&n.a.createElement("span",{className:this.props.classes.notRunning},E.a.t("Script is not running")),!o&&s&&!t&&n.a.createElement("span",{className:this.props.classes.notRunning},E.a.t("Instance is disabled")),o&&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&&!o)&&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})),o&&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,o=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}))):o?("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 o=a.instances.indexOf(e);a.instances.splice(o,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),o="".concat(s,".alive");n.push(e.socket.getState(o).then((function(t){a[s]=!!t&&t.val,e.socket.subscribeState(o,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 r=JSON.parse(JSON.stringify(this.scripts[e].common));r.name=s||r.name,void 0!==a&&(r.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,r)}else n=this.renameGroup(e,t,s);n.then((function(){return o.setState({updating:!1})})).catch((function(e){return"canceled"!==e&&o.showError(e)}))}},{key:"renameGroup",value:function(e,t,s,a){var n=this;if(a){if(a.length){var o=a.pop();return this.socket.getObject(o).then((function(r){return n.socket.delObject(o).catch((function(){})).then((function(){return o=t+o.substring(e.length),r._id=o,n.socket.setObject(o,r)})).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(o){(o=o||{common:{}}).common.name=s||o.common.name||e.split(".").pop(),o._id=t,n.socket.delObject(e).catch((function(){})).then((function(){return n.socket.setObject(t,o)})).then((function(){return n.renameGroup(e,t,s,a)})).catch((function(e){console.log(e)}))})).catch((function(o){console.log(o);var r={_id:t,type:"channel",common:{name:s||e.split(".").pop()},native:{}};return n.socket.setObject(t,r).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,o){var r=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 r.setState({menuSelectId:e},(function(){return setTimeout((function(){return r.setState({menuSelectId:""})}))}),300)}),1e3)})).catch((function(e){return r.showError(e)})):this.socket.setObject(e,{common:{name:t,expert:!0,engineType:n,engine:"system.adapter.javascript."+(a||0),source:o||"",debug:!1,verbose:!1},type:"script"}).then((function(){return setTimeout((function(){return r.onSelect(e)}),1e3)})).catch((function(e){return r.showError(e)}))}},{key:"updateScript",value:function(e,t,s){var a=this;return this.socket.getObject(e).then((function(n){var o={common:{}};return void 0!==s.engine&&(o.common.engine=s.engine),void 0!==s.enabled&&(o.common.enabled=s.enabled),void 0!==s.source&&(o.common.source=s.source),void 0!==s.debug&&(o.common.debug=s.debug),void 0!==s.verbose&&(o.common.verbose=s.verbose),o.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&&(o.common.engineType=s.engineType||"Javascript/js"),new Promise((function(t,s){return a.socket.getRawSocket().emit("extendObject",e,o,(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!==o.common.engine&&(n.common.engine=o.common.engine),void 0!==o.common.enabled&&(n.common.enabled=o.common.enabled),void 0!==o.common.source&&(n.common.source=o.common.source),void 0!==o.common.name&&(n.common.name=o.common.name),void 0!==o.common.debug&&(n.common.debug=o.common.debug),void 0!==o.common.verbose&&(n.common.verbose=o.common.verbose),delete n._rev,n.common.name=s.name,n._id=t,a.socket.setObject(t,n)}))):((n=o).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 o=document.createElement("a");o.href="data: application/zip;base64,"+t.data,o.download=a+"scripts.zip",document.body.appendChild(o),o.click(),o.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"),r.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.b8fa5d20.chunk.js.map \ No newline at end of file +/*! For license information please see main.99126ea3.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.1"}')},208:function(e,t){e.exports="data:image/png;base64,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"},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),o=s(21),r=s.n(o),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),oe=s(130),re=s.n(oe),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),o=0;o1),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=[],o="script.js";return s.forEach((function(t,s){o+="."+t;var n=e.props.parents.find((function(e){return e.id===o}));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:re.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:t.common.name: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?r.join("."):null,instance:o.common.engine?parseInt(o.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 o=this.state.reorder?20*e.depth:20*(e.depth-1),r=e.title;if(this.state.isAllZeroInstances||"folder"===e.type||(r=[n.a.createElement("span",{key:"instance",title:E.a.t("Instance"),className:this.props.classes.instances},"[",e.instance,"] "),n.a.createElement("span",{key:"title"},r)]),this.state.searchText){var i=r.toLowerCase().indexOf(this.state.searchText.toLowerCase());-1!==i&&(r=[n.a.createElement("span",{key:"first"},r.substring(0,i)),n.a.createElement("span",{key:"second",style:{color:"orange"}},r.substring(i,i+this.state.searchText.length)),n.a.createElement("span",{key:"third"},r.substring(i+this.state.searchText.length))])}var c=Object.assign({marginLeft:o,cursor:"folder"===e.type&&this.state.reorder?"default":"inherit",width:"calc(100% - ".concat(o,"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,r,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,o=(this.state.statusFilter||this.state.typeFilter)&&e.filter((function(e){return e.parent===t.id&&!a.isFilteredOut(e)})),r=e.filter((function(e){return e.parent===t.id}));if(!this.isFilteredOut(t)&&("folder"!==t.type||!this.state.statusFilter&&!this.state.typeFilter||o.length)){var i,c=this.renderListItem(t,r,o),l=[];return r&&(this.state.reorder||this.state.expanded.includes(t.id)||t.id===Qe)&&(i=r.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]),o=n.match(/\d+$/);o?(a=n.replace(/\d+$/,""),s=parseInt(o[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,o=this.state.listItems.find((function(t){return t.id===e.state.selected}));o&&this.state.width<=350&&"folder"===o.type&&(a=this.state.listItems.filter((function(t){return t.parent===e.state.selected}))),t.push(this.getMainMenu(a,o)),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 o=e.state.copingScript&&e.props.scripts[e.state.copingScript];o&&o.common&&(o.common.enabled=!1),e.props.onAddNew&&e.props.onAddNew(t,s,!1,a,n,o&&o.common&&o.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 o=!1,r={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,o=!0):e.filtered||(e.filtered=!0,o=!0)})),o)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]&&(o=!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,o=!0)})),!1===e&&(r.searchText="",r.searchMode=!1,o=!0);return o?r: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 o=$e(e.scripts||{});if(a.listItems=o,t.searchText){var r=s.filterListStatic(!0,o,t.searchMode,t.searchText,e.scripts);r&&Object.assign(a,r)}var i=s.getIsAllZeroInstancesStatic(o,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 ot={},rt=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=ot[s]||[];a.push(this.generateLine(e));var o=e.severity;"info"!==o&&"warn"!==o||(o+=" ");var r,i=new Date(e.ts);n.push("".concat(i.toLocaleString(),".").concat((r=i.getMilliseconds(),r<10?"00"+r:r<100?"0"+r:r),"\t[").concat(o,"]: ").concat(e.message)),a.length>300&&(a.splice(0,a.length-300),n.splice(0,a.length-300)),ot[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)}((ot[this.state.selected]||[]).join("\n"))}},{key:"clearLog",value:function(){var e=this.state.lines;e[this.state.selected]&&(e[this.state.selected]=[]),ot[this.state.selected]&&(ot[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,o=t.lines;o[n]=o[n]||[],ot[n]=ot[n]||[],a.selected=n,s=!0}if(JSON.stringify(e.editing)!==JSON.stringify(t.editing)){var r=JSON.parse(JSON.stringify(e.editing)),i=t.lines;for(var c in ot)ot.hasOwnProperty(c)&&-1===r.indexOf(c)&&(delete ot[c],delete i[c]);a.editing=r}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}}}))(rt),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",o="javascript"===e?"js":"typescript"===e?"ts":"coffee"===e?"coffee":e;t.dispose();var r="javascript"===e||"typescript"===e?"typescript":e,i=this.monaco.editor.createModel(s,r,this.monaco.Uri.from({path:"".concat(n).concat(kt++,".").concat(o)}));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=[],o=0,r=Object.keys(this.typings);o=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 o=this.Blockly.Xml.textToDom(e);if("xml"===o.nodeName)for(var r=0;r';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(o)&&(t+=this.Blockly[n].blocks[o]);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 * * * *"},o={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 r(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],o=s;for(e[t]||(e[t]=[]);o<=a;)e[t].indexOf(o)<0&&e[t].push(o),o+=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,o,l){var d,p,h=t.schedules,u=h[h.length-1];"L"===e&&(e=(n-1).toString(10)),null!==(d=r(e,l,o))?i(u,s,d,d):null!==(d=r(e.replace("W",""),l,o))?function(e,t,s){var n={},o={};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(o,"D",3,3),i(o,"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(o,"D",s+1,s+1),i(o,"d",a.TUE,a.FRI)),e.exceptions.push(n),e.exceptions.push(o)}(t,u,d):null!==(d=r(e.replace("L",""),l,o))?c(h,u,d,n-1):2===(p=e.split("#")).length?c(h,u,d=r(p[0],l,o),r(p[1])):function(e,t,s,a,n,o){var c=e.split("/"),l=+c[1],d=c[0];if("*"!==d&&"0"!==d){var p=d.split("-");a=r(p[0],o,n),n=r(p[1],o,n)||n}i(t,s,a,n,l)}(e,u,s,n,o,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(),o="",r=0;a=e[r];r++)o.length>0&&(o+=", "),o+=g(a,t);return o+" "+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=[],o=0;o1)for(var c=parseInt(i[1],10),l=parseInt(i[0],10);l<=c;l++)s.push(l);else s.push(parseInt(o[r],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],o=1;o60&&(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 o=e.specific||{},r=(o.time||"00:00").split(":"),i=parseInt(r[1],10)||0;i>59&&(i=59),i<0&&(i=0);var c=parseInt(r[0],10)||0;c>23&&(c=59),c<0&&(c=0),t="".concat(i," ").concat(c," * * ").concat(this.periodArray2text(o.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"]),os=["January","February","March","April","May","June","July","August","September","October","November","December"],rs="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,o;if(Object(p.a)(this,s),(a=t.call(this,e)).props.schedule&&"string"===typeof a.props.schedule&&"{"===a.props.schedule[0])try{o=JSON.parse(a.props.schedule)}catch(r){}return o&&Object.keys(o).length||!a.props.onChange||setTimeout((function(){return a.onChange(a.state.schedule,!0)}),200),o=o||{},(o=Object.assign({},ds,o)).valid.from=o.valid.from||a.now2string(),a.refFrom=n.a.createRef(),a.refTo=n.a.createRef(),a.refOnce=n.a.createRef(),a.state={schedule:o,desc:a.state2text(o)},JSON.stringify(o)!==a.props.schedule&&setTimeout((function(){return a.props.onChange&&a.props.onChange(JSON.stringify(o))}),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 o=a.period.days,r=a.period.dows;delete a.period,a.period={days:o},r&&"[]"!==r&&(a.period.dows=r)}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,o=!1,r=!0;return"00:00"===t.time.start&&"24:00"===t.time.end?(s=!0,r=!1):"sunrise"===t.time.start?(a=!0,r=!1):"sunset"===t.time.start&&(o=!0,r=!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:r,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:r?"":E.a.t("sch_fromTo")}),r&&[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:o,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")),os.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:rs},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 o=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===o.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:!o.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!==o.length&&!!o.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),o=1;o<=31;o++)-1===n.indexOf(o)&&a.push(o);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),o=1;o<=12;o++)-1===n.indexOf(o)&&a.push(o);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),os.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:re.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 o=window.localStorage.getItem("Editor.selected")||"",r=window.localStorage.getItem("Editor.editing")||"[]";try{r=JSON.parse(r)}catch(i){r=[]}return o&&-1===r.indexOf(o)&&r.push(o),a.tabsRef=n.a.createRef(),a.state={selected:o,editing:r,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)),o=n.length-1;o>=0;o--)this.objects[n[o]]||(a=!0,n.splice(o,1),void 0!==this.state.changed[n[o]]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),delete s.changed[n[o]]));this.state.selected&&!this.objects[this.state.selected]&&(s.selected=n[0]||""),a&&(s.editing=n)}else for(var r in this.scripts)if(this.scripts.hasOwnProperty(r))if(this.objects[r]&&this.objects[r].common){var i=this.scripts[r].source,c=JSON.parse(JSON.stringify(this.scripts[r]));c.source=this.objects[r].common.source,JSON.stringify(c)!==JSON.stringify(this.objects[r].common)&&(this.scripts[r]=JSON.parse(JSON.stringify(this.objects[r].common)),this.scripts[r].source=i),i!==this.objects[r].common.source?this.state.changed[r]?this.objects[r].from&&this.objects[r].from.startsWith("system.adapter.javascript.")&&(this.objects[r].from="system.adapter.admin.0",this.setState({toast:E.a.t("Script %s was modified on disk.",r.split(".").pop())})):this.scripts[r].source=this.objects[r].common.source:this.state.changed[r]&&(s.changed=s.changed||JSON.parse(JSON.stringify(this.state.changed)),s.changed[r]=!1,a=!0)}else if(delete this.scripts[r],this.state.selected===r){if(-1!==this.state.editing.indexOf(r)){var l=JSON.parse(JSON.stringify(this.state.editing)),d=l.indexOf(r);-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 o={editing:n};if(e===this.state.selected?n.length?0===a||1===n.length?o.selected=n[0]:o.selected=n[a-1]:o.selected="":this.state.selected&&!n.length&&(o.selected=""),window.localStorage&&window.localStorage.setItem("Editor.editing",JSON.stringify(n)),void 0!==o.selected){o.changed=o.changed||JSON.parse(JSON.stringify(this.state.changed)),o.changed[o.selected]=this.isScriptChanged(o.selected);var r=o.selected&&(this.scripts[o.selected]||this.props.objects[o.selected]&&this.props.objects[o.selected].common);o.blockly=!!r&&"Blockly"===r.engineType,o.verboseEnabled=!!r&&r.verbose,o.debugEnabled=!!r&&r.debug,o.showBlocklyCode=!1}this.setState(o,(function(){s.setChangedInAdmin(),void 0!==o.selected?(s.props.onSelectedChange&&s.props.onSelectedChange(o.selected,s.state.editing),window.localStorage&&window.localStorage.setItem("Editor.selected",o.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 o=e.props.objects[t].common&&e.scripts[t]&&e.props.objects[t].common.source!==e.scripts[t].source,r=[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),o?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:r,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,o=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)),!o&&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)),!o&&!s&&n.a.createElement("span",{className:this.props.classes.notRunning},E.a.t("Script is not running")),!o&&s&&!t&&n.a.createElement("span",{className:this.props.classes.notRunning},E.a.t("Instance is disabled")),o&&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&&!o)&&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})),o&&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,o=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}))):o?("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 o=a.instances.indexOf(e);a.instances.splice(o,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),o="".concat(s,".alive");n.push(e.socket.getState(o).then((function(t){a[s]=!!t&&t.val,e.socket.subscribeState(o,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 r=JSON.parse(JSON.stringify(this.scripts[e].common));r.name=s||r.name,void 0!==a&&(r.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,r)}else n=this.renameGroup(e,t,s);n.then((function(){return o.setState({updating:!1})})).catch((function(e){return"canceled"!==e&&o.showError(e)}))}},{key:"renameGroup",value:function(e,t,s,a){var n=this;if(a){if(a.length){var o=a.pop();return this.socket.getObject(o).then((function(r){return n.socket.delObject(o).catch((function(){})).then((function(){return o=t+o.substring(e.length),r._id=o,n.socket.setObject(o,r)})).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(o){(o=o||{common:{}}).common.name=s||o.common.name||e.split(".").pop(),o._id=t,n.socket.delObject(e).catch((function(){})).then((function(){return n.socket.setObject(t,o)})).then((function(){return n.renameGroup(e,t,s,a)})).catch((function(e){console.log(e)}))})).catch((function(o){console.log(o);var r={_id:t,type:"channel",common:{name:s||e.split(".").pop()},native:{}};return n.socket.setObject(t,r).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,o){var r=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 r.setState({menuSelectId:e},(function(){return setTimeout((function(){return r.setState({menuSelectId:""})}))}),300)}),1e3)})).catch((function(e){return r.showError(e)})):this.socket.setObject(e,{common:{name:t,expert:!0,engineType:n,engine:"system.adapter.javascript."+(a||0),source:o||"",debug:!1,verbose:!1},type:"script"}).then((function(){return setTimeout((function(){return r.onSelect(e)}),1e3)})).catch((function(e){return r.showError(e)}))}},{key:"updateScript",value:function(e,t,s){var a=this;return this.socket.getObject(e).then((function(n){var o={common:{}};return void 0!==s.engine&&(o.common.engine=s.engine),void 0!==s.enabled&&(o.common.enabled=s.enabled),void 0!==s.source&&(o.common.source=s.source),void 0!==s.debug&&(o.common.debug=s.debug),void 0!==s.verbose&&(o.common.verbose=s.verbose),o.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&&(o.common.engineType=s.engineType||"Javascript/js"),new Promise((function(t,s){return a.socket.getRawSocket().emit("extendObject",e,o,(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!==o.common.engine&&(n.common.engine=o.common.engine),void 0!==o.common.enabled&&(n.common.enabled=o.common.enabled),void 0!==o.common.source&&(n.common.source=o.common.source),void 0!==o.common.name&&(n.common.name=o.common.name),void 0!==o.common.debug&&(n.common.debug=o.common.debug),void 0!==o.common.verbose&&(n.common.verbose=o.common.verbose),delete n._rev,n.common.name=s.name,n._id=t,a.socket.setObject(t,n)}))):((n=o).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 o=document.createElement("a");o.href="data: application/zip;base64,"+t.data,o.download=a+"scripts.zip",document.body.appendChild(o),o.click(),o.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"),r.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.99126ea3.chunk.js.map \ No newline at end of file diff --git a/admin/static/js/main.b8fa5d20.chunk.js.LICENSE.txt b/admin/static/js/main.99126ea3.chunk.js.LICENSE.txt similarity index 100% rename from admin/static/js/main.b8fa5d20.chunk.js.LICENSE.txt rename to admin/static/js/main.99126ea3.chunk.js.LICENSE.txt diff --git a/admin/static/js/main.b8fa5d20.chunk.js.map b/admin/static/js/main.99126ea3.chunk.js.map similarity index 99% rename from admin/static/js/main.b8fa5d20.chunk.js.map rename to admin/static/js/main.99126ea3.chunk.js.map index a27be501..a47ce8c8 100644 --- a/admin/static/js/main.b8fa5d20.chunk.js.map +++ b/admin/static/js/main.99126ea3.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","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","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","toString","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","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","transform","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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,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,MAAwB,OACxB,IAAwB,IACxB,YAAwB,cACxB,kBAAwB,mBACxB,KAAwB,OACxB,OAAw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","file":"static/js/main.b8fa5d20.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjEuMWMqnEsAAAe3SURBVGhD7Vl7bFNlFL+bc/hAJxAQg0B8B0TjI6KiUYxKND6jMTECf2A0+GKw0cfaIeDmGAjoeKljooMIDMEpbgPcZDLd2t7bru3Wdd1KH7QbXeno1rXduj7xfN+9jO6ui7RbciHpyS/LTb9zzvf97nfuOd/5RhBixVUJkTxFrJi4Xnl1E5iUp7q6CUzOVycJcIUkAa6RJMA1kgS4RpIA10gS4BpJAlwjSYBrJAlwjSQBrpEkwDUSISCSEzlyQkgRQvibMCjkBFyNdE77Z0+B9WmTaKu4CWDvaQJqAo9M51OJg0eCk5RoDvTKcmDRVAqfuoZPXssn03m0MgXPaXwylU9iJhSjjK3iJMCnMtY1vlSqX1PdyT9mBQiOd8QF2kR0ovPdMuOUL5SEgGI8w4JWy4hsWapYft/Xmtf26j8sN2dVIeXsY9blv515Z79h/q7WW/KUBNAAAHlsFSeBLNndG9UlCke/P+z1h8aA8EmDe94WDZFNoqXz0NIfKGpZX3P2lNFtdwdcvpB78JK+ZzDU5wv1DAS15wb+aO15pVSfJpYj8jlUnARWSe8uVP/Y2H1hzPK3CRNYhZZ+a76y4KRN3z3o7A8GQxFGI7ZEBoPhTXVdU2H3MPm4d+DODaoSuYPxNgapMfTdv7mZ+Kh+zmbND3JHtzfIDFyG7JDYp+epgDksKe4duKdQvU91nvE0Bqm3eOYUqCcJqfxaGwQJ8+vlyTcNXdO+UBGrSVhS3Dtwxwb1Nom9uz/Y5fZjBDD8NrcfAjcSYQcAhLLdE4DRIU34e84bKNf2zMxTvrVXf9rpY1SjBLyAidrWT1q9jZ1efbcPnDNjQKDePjVBAnwSstDLP7Wvre4UVlkRjnUgVFr4FZayJmcwFGYmuShHW3vFkH8qLIwmNhGf6Hhnr/72QvWeWNHY5QmUt/SAw7dK9YtK2l7d07bskGlDre2g2glk+v0hIDAtwRACQBqGfJcpIVZIETIxPpUQH9e/vd/gD7KD4YNyM7FSSnzcwGjSJvDL8voFu1obzngYPSywgb5AOK/27JR1jcSnDcQKCTbBc62UQUV7cmdrqaI7s9KCPmLYgUQqcUxAVuaR7x8xB0bsAOTy63JRAWGbZErfO2DQOgYYPSzhcBhiZtp6JcQqk+lpiPAUkDeBuYBKX6NIA5/wS9xpdDQkQkCWedRicfkZPSywAxVtrulrleCNrT8EtG6oxPiZ2x1YXm42OQcZPSywA1bX4NxvNChgRprQoM8RCR4lRkMCBFZI3tyrV9m8jB4W2IFgOPKXse/54jZUp3Dcsw2jwSWBLNl9W5v/1PcxelESCEU09oGNtWcfgq1ANKTIP8ucBpcEBNR1Qmpznd0/ytkBTj7Vepegyjrnq2b0TcOhA2ahQ38IXBKApayUPv1da53ZzajGEjgdQfpffMA4Ox9XLvi46ehnnHBIACBAB+MlZUbD8E95pDi8gZ2ScwuLdRNz0USXIopjAoBs8kaxfNlhs+G8zxdk27LE1OP78FfzVKhx4I3mkMM5AQCPTOGRC3Zpj2p74eAEWYixjCWRC5HPqztRpcNlmBBxWMiiAebZsjSRHGJdYvH4oCfAwrgYLuHwhc+OWlA7Cn2ZWJ4iuhIIwLsED0IqjUdlrFcuLjPUmfoCsNJRRGr1vLBbh85IcJi7IggAICkBDTjtCKjrhdSMfNXSQ8ZTphhVAsQfDH9Za0uFGie4QkJoCCisMQ0eeUOO/MEtmo2nbO7BGM1aWbNzZmET1IeUXA4J0JHDqk00YIiHzp6zCtRFDXbGV5Qcb3c9XNQCCtwRoF82JHXIJ2DOGqUBn2m27KliHTQxjLuLUnO67/EdWmKlhDsCPHL2pqZHtmtvgxILvRVdntCXEKUjpCBI5m1r6R1gR1H1addj22EHOCSQKXm9VH+kpQei/N5NTRngAX/BSJN+AKwmJ4rlSw+bRhaHCl3v3K0aYhWHIbRCuqikXWnrBx1FhzerwvrotpYpecqMXMXNIuomEZUhVszIV0PPoD/P7vrDkUiJ3DEZd5Uc7oD0hd1tMutQTxwZ8IcaOz1HNM4f5I7dlOOXZmerYwBKGjMeJXZP4P3DJnj9MC93aZRNALUz4TBqaKAfAMADvGlmaLgUU46ZBSp0xubyMJcpfbGknewY1pFdjpzQux7frk2FRgcmBQLjWImXHTaNvFZZVWmZEPsbkLy8p13TNexW4n/lUHPPEzu06agG06fR8arE4HG17JPfzzDzRInweMf1QGDkLQNPNmtjU1altVLXa+4ZHO3oRou111+l6+VXdczb0pyCrtcvvo7xCyFIf+Qb+/T/mj31Zzz/YsCDxOp9t8yYDgojdwCqmJCavK7xsSLNe/sNa2vO/qw+D8mxxtB3yuyuM7lPGt3H2l2Hmp1b/+lactA4v0ibDiZQMaA4DNWKcSMArnPktxWoFn6ve7647TkMeFhU0nZ7oToFj7JNADjwUM+Or6umF6ju36qZv0P7zLe6Z7/TLdjZ+lCRZvYGNfpXAChk4osWcBXt4RIBGBg7YHPpK0f6FpG+FWRK7Ci4uA7UXsLbpckMeYBnSDXgNuqVDwP+d9MteSoCeIwDckcHS5MFlnJMsExoiOSpYkUGEIBduBoxKU81JV991xbNf+HIGKTzOnGeAAAAAElFTkSuQmCC\"","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;\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 getItemStyle = function (style, snapshot) {\n if (!snapshot.isDragging) {\n return {};\n }\n if (!snapshot.isDropAnimating) {\n return style;\n }\n return {\n ...style,\n userSelect: 'none',\n background: snapshot.isDragging ? '#8fff97' : 'inherit',\n transitionDuration: `0.001s`\n };\n};\n\nconst getFolderStyle = (droppableStyle, snapshot) => ({\n userSelect: 'none',\n background: snapshot.isDraggingOver ? '#40adff' : 'inherit',\n ...droppableStyle,\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;\n } else {\n return obj.common.name;\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 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) return;\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 * 20 : (item.depth - 1) * 20;\n\n let title = item.title;\n if (!this.state.isAllZeroInstances && item.type !== 'folder') {\n title = [\n [{item.instance}] ,\n {title}\n ];\n }\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 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 >\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.filter(item => !item.parent).map(item => 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 /*if (!this.props.runningInstances) {\n return this.props.socket.getAdapterInstances(this.props.adapterName)\n .then(instancesArray => {\n const instances = instancesArray.map(obj => parseInt(obj._id.split('.').pop())).sort();\n const runningInstances = {};\n instances.forEach(id => runningInstances['system.adapter.' + this.props.adapterName + '.' + id] = false);\n\n const promises = [];\n\n // subscribe on instances\n instances.forEach(instance => {\n const instanceId = `system.adapter.${this.props.adapterName}.${instance}`;\n const id = `${instanceId}.alive`;\n promises.push(this.props.socket.getState(id)\n .then(state => runningInstances[instanceId] = state ? state.val : false));\n });\n\n return Promise.all(promises)\n .then(() => ({instances, runningInstances}));\n });\n }*/\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 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) return;\n if (options.language) this.setEditorLanguage(options.language);\n if (options.readOnly !== undefined) this.editor.updateOptions({readOnly: options.readOnly});\n if (options.lineWrap !== undefined) this.editor.updateOptions({wordWrap: options.lineWrap ? 'on' : 'off'});\n if (options.typeCheck !== undefined) this.setTypeCheck(options.typeCheck);\n if (options.isDark !== undefined) this.monaco.editor.setTheme(options.isDark ? 'vs-dark' : 'vs');\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 const filenameWithoutExtension =\n typeof uri === 'string' && uri.indexOf('.') > -1\n ? uri.substr(0, uri.lastIndexOf('.'))\n : 'index';\n const extension =\n language === 'javascript' ? 'js'\n : language === 'typescript' ? 'ts'\n : language === 'coffee' ? 'coffee'\n : language;\n // get rid of the original model\n model.dispose();\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, newLanguage, this.monaco.Uri.from({path: `${filenameWithoutExtension}${index++}.${extension}`})\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 UNSAFE_componentWillReceiveProps(nextProps) {\n const options = {};\n if (this.state.name !== nextProps.name) {\n // A different script was selected\n this.setState({name: nextProps.name});\n this.originalCode = nextProps.code || '';\n this.editor && this.editor.setValue(nextProps.code);\n this.highlightText(this.lastSearch);\n // Update the typings because global scripts need different typings than normal scripts\n // and each global script has different typings\n this.setEditorTypings(nextProps.name);\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