iobroker.fullcalendar 3.3.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -5
- package/admin/assets/{index-CmNdY9s1.js → index-BF-xuLMY.js} +1 -1
- package/admin/tab_m.html +1 -1
- package/build/main.js +327 -97
- package/build/main.js.map +1 -1
- package/io-package.json +35 -15
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
[](https://nodei.co/npm/iobroker.fullcalendar/)
|
|
8
8
|
|
|
9
|
+
**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
|
|
10
|
+
|
|
9
11
|
Schedules with [fullcalendar](https://fullcalendar.io).
|
|
10
12
|
|
|
11
13
|
## Plan the events (control your devices)
|
|
@@ -67,6 +69,8 @@ sendTo('fullcalendar.0', 'addEvent', {
|
|
|
67
69
|
sendTo('fullcalendar.0', 'addEvent', {
|
|
68
70
|
oid: '0_userdata.0.birthday', value: 'Anna', start: '2020-06-15T08:00', recurring: 'yearly', name: 'Birthday Anna',
|
|
69
71
|
}, res => log(JSON.stringify(res))); // {id, name, type, start: next execution, ts, cron: "0 0 8 15 6 *"}
|
|
72
|
+
// move an event to 09:30 (a series keeps its days) and let it switch for 2 minutes
|
|
73
|
+
sendTo('fullcalendar.0', 'updateEvent', { id: 'fullcalendar.0.event-…', start: '09:30', duration: '2m' }, res => log(JSON.stringify(res)));
|
|
70
74
|
// delete all events with this name
|
|
71
75
|
sendTo('fullcalendar.0', 'deleteEvent', { name: 'Birthday Anna' }, res => log(JSON.stringify(res)));
|
|
72
76
|
```
|
|
@@ -74,6 +78,7 @@ sendTo('fullcalendar.0', 'deleteEvent', { name: 'Birthday Anna' }, res => log(JS
|
|
|
74
78
|
| Command | Message | Answer |
|
|
75
79
|
|------------------|--------------------------------------------------------------------------------------------|---------------------------------------------------|
|
|
76
80
|
| `addEvent` | see below | `{id, name, type, start, ts, cron?}` (`start`/`ts` = first execution) |
|
|
81
|
+
| `updateEvent` | `id` and the parameters of `addEvent` to change, see below | `{id, name, type, enabled, start, ts, cron?}` (`start`/`ts` = next execution, `null` if none) |
|
|
77
82
|
| `deleteEvent` | `id`, `ids` (a list) and/or `name` (all events with exactly this name; optional `calendar`) | `{result: "ok", deleted: [id, …], notFound?: [id, …]}` |
|
|
78
83
|
| `getEvent` | `id` | `{event: definition}` |
|
|
79
84
|
| `getEvents` | optional `calendar` | `{events: [definition, …]}` |
|
|
@@ -98,6 +103,13 @@ Parameters of `addEvent`:
|
|
|
98
103
|
| `calendar` | name or ID of the calendar, default: the default calendar |
|
|
99
104
|
| `color` | color in the calendar |
|
|
100
105
|
|
|
106
|
+
`updateEvent` changes an event in place, the parameters not given stay as they are:
|
|
107
|
+
- `start` or `in` moves a one-shot event; of a series it changes the time of day, the days stay.
|
|
108
|
+
- `recurring` or `rrule` make it a series (at the time of `start`, or at its current time of day), `recurring: false` together with `start` or `in` makes it a one-shot event again.
|
|
109
|
+
- `value`, `oid`, `type`, `duration`/`durationSec`, `endValue`, `name`, `color` like in `addEvent`. If a boolean event switches the other way (`value`), its end value follows.
|
|
110
|
+
- `enabled: false` / `true` switches it off or on.
|
|
111
|
+
- `calendar` moves it to another calendar. The event gets a new ID then, the answer has it.
|
|
112
|
+
|
|
101
113
|
Errors come back as `{error}`, an unknown command answers with the list of the commands. A new event appears in the calendar like one created by hand and can be edited there. Recurring events run at whole minutes.
|
|
102
114
|
|
|
103
115
|
## Todo
|
|
@@ -108,6 +120,11 @@ Errors come back as `{error}`, an unknown command answers with the list of the c
|
|
|
108
120
|
### **WORK IN PROGRESS**
|
|
109
121
|
-->
|
|
110
122
|
## Changelog
|
|
123
|
+
### 3.3.1 (2026-10-29)
|
|
124
|
+
* (@GermanBluefox) Added the admin >= 7.6.17 dependency, the translated name of the admin tab and the uk translations (#557)
|
|
125
|
+
* (@GermanBluefox) The adapter timers (`this.setTimeout`/`this.setInterval`) are used instead of the plain ones (#557)
|
|
126
|
+
* (@GermanBluefox) Added the message `updateEvent`: move or change an event without deleting and creating it again
|
|
127
|
+
|
|
111
128
|
### 3.3.0 (2026-10-29)
|
|
112
129
|
* (bluefox) Fixed: `addEvent` ignored `type` and `durationSec`, a "double" event was saved as "single"
|
|
113
130
|
* (bluefox) Added recurring events to `addEvent`: `recurring` (daily, weekly, monthly, yearly) or an iCal `rrule`
|
|
@@ -132,11 +149,6 @@ Errors come back as `{error}`, an unknown command answers with the list of the c
|
|
|
132
149
|
* (bluefox) Added the messages `addEvent`, `deleteEvent`, `listEvents`, `getEvents` and `getCalendars`, e.g. for voice assistants
|
|
133
150
|
* (bluefox) A one-shot event in the past is no longer marked as disabled in memory
|
|
134
151
|
|
|
135
|
-
### 3.0.5 (2026-10-19)
|
|
136
|
-
* (ioBroker-Bot) Adapter requires js-controller >= 6.0.11 now.
|
|
137
|
-
* (bluefox) Migrated GUI to vite
|
|
138
|
-
* (bluefox) Updated packages
|
|
139
|
-
|
|
140
152
|
[Older changelogs can be found there](CHANGELOG_OLD.md)
|
|
141
153
|
|
|
142
154
|
## License
|
|
@@ -785,4 +785,4 @@ Arguments: `+Array.prototype.slice.call(i).join(``)+`
|
|
|
785
785
|
color: inherit;
|
|
786
786
|
}
|
|
787
787
|
}
|
|
788
|
-
`}),(0,V.jsx)(ng,{children:Y.t(`Edit simulation`)}),(0,V.jsxs)(Yh,{children:[(0,V.jsxs)(`div`,{style:m5.field,children:[(0,V.jsx)($b,{label:Y.t(`Name`),value:t.common.name||``,onChange:e=>{let r=JSON.parse(JSON.stringify(t));r.common.name=e.target.value,n(r)},variant:`standard`}),(0,V.jsxs)(Cg,{variant:`standard`,children:[(0,V.jsx)(n_,{children:Y.t(`Interval`)}),(0,V.jsx)(By,{value:t.native.interval||``,onChange:e=>{let r=JSON.parse(JSON.stringify(t));r.native.interval=e.target.value,n(r)},variant:`standard`,children:[`day`,`week`].map(e=>(0,V.jsx)(Qv,{value:e,children:Y.t(e)},e))})]})]}),(0,V.jsx)(`div`,{style:m5.field,children:(0,V.jsx)(zC,{label:Y.t(`Default color`),value:t.common.color,onChange:e=>{let r=JSON.parse(JSON.stringify(t));r.common.color=e,n(r)}})}),(0,V.jsxs)(`h4`,{style:m5.headers,children:[Y.t(`States`),(0,V.jsx)(lb,{title:Y.t(`Add states for recording`),slotProps:{popper:{sx:m5.tooltip}},children:(0,V.jsx)(Pd,{style:!l.length&&t?.native?.record?.states?.length?m5.blink:void 0,size:`small`,onClick:()=>o(!0),color:`primary`,children:(0,V.jsx)(tx,{})})})]}),(0,V.jsx)(`div`,{children:t.native.record?.states.map((e,r)=>v(e,()=>{let e=JSON.parse(JSON.stringify(t));e.native.record.states.splice(r,1),n(e)}))}),(0,V.jsxs)(`h4`,{style:m5.headers,children:[Y.t(`Categories`),(0,V.jsx)(lb,{title:Y.t(`Add overlap of categories for recording`),slotProps:{popper:{sx:m5.tooltip}},children:(0,V.jsx)(Pd,{style:!l.length&&t?.native?.record?.states?.length?m5.blink:void 0,size:`small`,onClick:()=>c(!0),color:`primary`,children:(0,V.jsx)(tx,{})})})]}),(0,V.jsx)(`div`,{children:t.native.record?.enums.map((e,r)=>{let i=e.map(e=>(0,V.jsx)(LE,{value:d[e]||e,lang:Y.getLanguage()},e)),a=1,o=i.reduce((e,t)=>[e,(0,V.jsx)(`span`,{children:`+`},a++),t],null);return(0,V.jsx)(am,{onClick:()=>c(r),onDelete:()=>{let e=JSON.parse(JSON.stringify(t));e.native.record.enums.splice(r,1),n(e)},label:o,sx:{"& .MuiChip-label":m5.chipLabel},style:m5.chip},r)})}),(0,V.jsx)(`h4`,{style:{marginBottom:-0},children:Y.t(`Recorded states`)}),(0,V.jsxs)(`div`,{children:[h&&(0,V.jsx)(v_,{}),Object.keys(p).map(e=>v(e))]})]}),(0,V.jsxs)(Uh,{children:[(0,V.jsx)(Lm,{variant:`contained`,color:`secondary`,startIcon:(0,V.jsx)(_x,{}),onClick:()=>i(!0),children:Y.t(`Delete`)}),(0,V.jsx)(Lm,{disabled:y,onClick:async()=>{let n=JSON.parse(JSON.stringify(t));n.native.interval!==e.simulation.native.interval&&n.native.interval===`day`&&(console.log(n),n.native.events.forEach(e=>{console.log(e.native.cron);let t=ZH(e.native.cron);console.log(t),t.dows=[0,1,2,3,4,5,6],e.native.cron=$H(t),console.log(e.native.cron)})),await e.socket.setObject(t._id,n),e.onClose()},variant:`contained`,color:`primary`,startIcon:(0,V.jsx)(Ux,{}),children:Y.t(`Save`)}),(0,V.jsx)(Lm,{onClick:e.onClose,variant:`contained`,color:`grey`,startIcon:(0,V.jsx)(cx,{}),children:y?Y.t(`ra_Close`):Y.t(`ra_Cancel`)})]}),r&&(0,V.jsx)(AS,{fullWidth:!1,title:Y.t(`Delete simulation`),text:Y.t(`Simulation will be deleted. Confirm?`),ok:Y.t(`ra_Delete`),onClose:async n=>{n&&(await e.onDelete(t._id),e.onClose()),i(!1)}}),a&&(0,V.jsx)(RE,{imagePrefix:`../..`,multiSelect:!0,theme:e.theme,selected:t.native.record.states,onOk:e=>{let r=JSON.parse(JSON.stringify(t));r.native.record=r.native.record||{enums:[],states:[]},r.native.record.states=r.native.record.states||[],r.native.record.states=Array.isArray(e)?e:[e],n(r),o(!1)},onClose:()=>o(!1),socket:e.socket}),s===!1?null:(0,V.jsx)(p5,{socket:e.socket,enumsObjects:d,selectedEnums:typeof s==`number`?t.native.record.enums[s]:[],exceptions:t.native.record.enumsExceptions||[],onSelect:(e,r)=>{let i=JSON.parse(JSON.stringify(t));i.native.record=i.native.record||{enums:[],states:[]},i.native.record.enums=i.native.record.enums||[],i.native.record.enumsExceptions=r||[],typeof s==`number`?i.native.record.enums[s]=e:i.native.record.enums.push(e),n(i),c(!1)},onClose:()=>c(!1)})]})},g5={Y:`year`,YY:`year`,YYYY:{sectionType:`year`,contentType:`digit`,maxLength:4},M:{sectionType:`month`,contentType:`digit`,maxLength:2},MM:`month`,MMM:{sectionType:`month`,contentType:`letter`},MMMM:{sectionType:`month`,contentType:`letter`},D:{sectionType:`day`,contentType:`digit`,maxLength:2},DD:`day`,Do:{sectionType:`day`,contentType:`digit-with-letter`},E:{sectionType:`weekDay`,contentType:`digit`,maxLength:1},e:{sectionType:`weekDay`,contentType:`digit`,maxLength:1},d:{sectionType:`weekDay`,contentType:`digit`,maxLength:1},dd:{sectionType:`weekDay`,contentType:`letter`},ddd:{sectionType:`weekDay`,contentType:`letter`},dddd:{sectionType:`weekDay`,contentType:`letter`},A:`meridiem`,a:`meridiem`,H:{sectionType:`hours`,contentType:`digit`,maxLength:2},HH:`hours`,h:{sectionType:`hours`,contentType:`digit`,maxLength:2},hh:`hours`,k:{sectionType:`hours`,contentType:`digit`,maxLength:2},kk:`hours`,m:{sectionType:`minutes`,contentType:`digit`,maxLength:2},mm:`minutes`,s:{sectionType:`seconds`,contentType:`digit`,maxLength:2},ss:`seconds`},_5={year:`YYYY`,month:`MMMM`,monthShort:`MMM`,dayOfMonth:`D`,dayOfMonthFull:`Do`,weekday:`dddd`,weekdayShort:`ddd`,hours24h:`HH`,hours12h:`hh`,meridiem:`A`,minutes:`mm`,seconds:`ss`,fullDate:`ll`,keyboardDate:`L`,shortDate:`MMM D`,normalDate:`D MMMM`,normalDateWithWeekday:`ddd, MMM D`,fullTime12h:`hh:mm A`,fullTime24h:`HH:mm`,keyboardDateTime12h:`L hh:mm A`,keyboardDateTime24h:`L HH:mm`};function v5(){throw Error(BX(140))}var y5=class{isMUIAdapter=!0;isTimezoneCompatible=!0;lib=`moment`;escapedCharacters={start:`[`,end:`]`};formatTokenMap=g5;constructor({locale:e,formats:t,instance:n}={}){this.moment=n||dU,this.locale=e,this.formats=b({},_5,t)}setLocaleToValue=e=>{let t=this.getCurrentLocaleCode();return t===e.locale()?e:e.locale(t)};hasTimezonePlugin=()=>this.moment.tz!==void 0;createSystemDate=e=>{let t=this.moment(e).local();return this.locale===void 0?t:t.locale(this.locale)};createUTCDate=e=>{let t=this.moment.utc(e);return this.locale===void 0?t:t.locale(this.locale)};createTZDate=(e,t)=>{this.hasTimezonePlugin()||v5();let n=t==="default"?this.moment(e):this.moment.tz(e,t);return this.locale===void 0?n:n.locale(this.locale)};date=(e,t=`default`)=>e===null?null:t===`UTC`?this.createUTCDate(e):t===`system`||t==="default"&&!this.hasTimezonePlugin()?this.createSystemDate(e):this.createTZDate(e,t);getInvalidDate=()=>this.moment(new Date(`Invalid Date`));getTimezone=e=>{let t=e._z?.name,n=e.isUTC()?`UTC`:`system`;return t??this.moment.defaultZone?.name??n};setTimezone=(e,t)=>{if(this.getTimezone(e)===t)return e;if(t===`UTC`)return e.clone().utc();if(t===`system`)return e.clone().local();if(!this.hasTimezonePlugin())return t!=="default"&&v5(),e;let n=t==="default"?this.moment.defaultZone?.name??`system`:t;if(n===`system`)return e.clone().local();let r=e.clone();return r.tz(n),r};toJsDate=e=>e.toDate();parse=(e,t)=>e===``?null:this.locale?this.moment(e,t,this.locale,!0):this.moment(e,t,!0);getCurrentLocaleCode=()=>this.locale||dU.locale();is12HourCycleInCurrentLocale=()=>/A|a/.test(dU.localeData(this.getCurrentLocaleCode()).longDateFormat(`LT`));expandFormat=e=>e.match(/(\[[^[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})|./g).map(e=>{let t=e[0];return t===`L`||t===`;`?dU.localeData(this.getCurrentLocaleCode()).longDateFormat(e):e}).join(``);isValid=e=>e!=null&&e.isValid();format=(e,t)=>this.formatByString(e,this.formats[t]);formatByString=(e,t)=>{let n=e.clone();return n.locale(this.getCurrentLocaleCode()),n.format(t)};formatNumber=e=>e;isEqual=(e,t)=>e===null&&t===null?!0:e===null||t===null?!1:e.isSame(t);isSameYear=(e,t)=>e.isSame(t,`year`);isSameMonth=(e,t)=>e.isSame(t,`month`);isSameDay=(e,t)=>e.isSame(t,`day`);isSameHour=(e,t)=>e.isSame(t,`hour`);isAfter=(e,t)=>e.isAfter(t);isAfterYear=(e,t)=>e.isAfter(t,`year`);isAfterDay=(e,t)=>e.isAfter(t,`day`);isBefore=(e,t)=>e.isBefore(t);isBeforeYear=(e,t)=>e.isBefore(t,`year`);isBeforeDay=(e,t)=>e.isBefore(t,`day`);isWithinRange=(e,[t,n])=>e.isBetween(t,n,null,`[]`);startOfYear=e=>e.clone().startOf(`year`);startOfMonth=e=>e.clone().startOf(`month`);startOfWeek=e=>this.setLocaleToValue(e.clone()).startOf(`week`);startOfDay=e=>e.clone().startOf(`day`);endOfYear=e=>e.clone().endOf(`year`);endOfMonth=e=>e.clone().endOf(`month`);endOfWeek=e=>this.setLocaleToValue(e.clone()).endOf(`week`);endOfDay=e=>e.clone().endOf(`day`);addYears=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`years`):e.clone().add(t,`years`);addMonths=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`months`):e.clone().add(t,`months`);addWeeks=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`weeks`):e.clone().add(t,`weeks`);addDays=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`days`):e.clone().add(t,`days`);addHours=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`hours`):e.clone().add(t,`hours`);addMinutes=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`minutes`):e.clone().add(t,`minutes`);addSeconds=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`seconds`):e.clone().add(t,`seconds`);getYear=e=>e.get(`year`);getMonth=e=>e.get(`month`);getDate=e=>e.get(`date`);getHours=e=>e.get(`hours`);getMinutes=e=>e.get(`minutes`);getSeconds=e=>e.get(`seconds`);getMilliseconds=e=>e.get(`milliseconds`);setYear=(e,t)=>e.clone().year(t);setMonth=(e,t)=>e.clone().month(t);setDate=(e,t)=>e.clone().date(t);setHours=(e,t)=>e.clone().hours(t);setMinutes=(e,t)=>e.clone().minutes(t);setSeconds=(e,t)=>e.clone().seconds(t);setMilliseconds=(e,t)=>e.clone().milliseconds(t);getDaysInMonth=e=>e.daysInMonth();getWeekArray=e=>{let t=this.startOfWeek(this.startOfMonth(e)),n=this.endOfWeek(this.endOfMonth(e)),r=0,i=t,a=i.get(`dayOfYear`),o=[];for(;i.isBefore(n);){let e=Math.floor(r/7);o[e]=o[e]||[],o[e].push(i);let t=a;i=this.addDays(i,1),a=i.get(`dayOfYear`),t===a&&(i=i.add(12,`h`).startOf(`day`)),r+=1}return o};getWeekNumber=e=>e.week();getDayOfWeek=e=>e.day()+1;getYearRange([e,t]){let n=this.startOfYear(e),r=this.endOfYear(t),i=[],a=n;for(;this.isBefore(a,r);)i.push(a),a=this.addYears(a,1);return i}},b5={field:{"& .MuiFormControl-root":{width:`100%`},display:`flex`,alignItems:`end`,gap:`20px`},tableCell:{textAlign:`center`}},x5=e=>{let[t,n]=(0,B.useState)({start:null,end:null,dow:[0,1,2,3,4,5,6]});return dU.locale(Y.getLanguage()),(0,V.jsxs)(zh,{open:!0,onClose:e.onClose,children:[(0,V.jsx)(ng,{children:Y.t(`Play simulation`)}),(0,V.jsxs)(Yh,{children:[(0,V.jsxs)(qX,{dateAdapter:y5,children:[(0,V.jsxs)(Tm,{component:`div`,sx:b5.field,style:{width:`100%`,marginBottom:20,marginTop:10},children:[(0,V.jsx)(M8,{label:`Start`,sx:e=>({borderBottom:`1px solid ${e.palette.text.primary}`,"& fieldset":{display:`none`},"& input":{padding:`${e.spacing(1.5)} 0 4px 0`},"& .MuiInputAdornment-root":{marginLeft:0,marginTop:1},"& label":{transform:`translate(0px, -9px) scale(0.75)`},"&.MuiTextField-root":{width:`100%`}}),value:t.start,onChange:e=>n({...t,start:e})}),t.start&&(0,V.jsx)(Pd,{onClick:()=>n({...t,start:null}),children:(0,V.jsx)(_x,{})})]}),(0,V.jsxs)(Tm,{component:`div`,sx:b5.field,style:{width:`100%`,marginBottom:30},children:[(0,V.jsx)(M8,{label:`End`,sx:e=>({borderBottom:`1px solid ${e.palette.text.primary}`,"& fieldset":{display:`none`},"& input":{padding:`${e.spacing(1.5)} 0 4px 0`},"& .MuiInputAdornment-root":{marginLeft:0,marginTop:1},"& label":{transform:`translate(0px, -9px) scale(0.75)`}}),value:t.end,onChange:e=>n({...t,end:e})}),t.end&&(0,V.jsx)(Pd,{onClick:()=>n({...t,end:null}),children:(0,V.jsx)(_x,{})})]})]}),(0,V.jsx)(`div`,{children:(0,V.jsxs)(`table`,{children:[(0,V.jsx)(`thead`,{children:(0,V.jsx)(`tr`,{children:[0,1,2,3,4,5,6].map(e=>(0,V.jsx)(`td`,{style:b5.tableCell,children:dU().day(e).format(`ddd`)},e))})}),(0,V.jsx)(`tbody`,{children:(0,V.jsx)(`tr`,{children:[0,1,2,3,4,5,6].map(r=>(0,V.jsx)(`td`,{children:(0,V.jsx)(Zm,{"aria-label":`play simulation`,checked:t.dow.includes(r),disabled:e.readOnly,onChange:e=>{e.target.checked?n({...t,dow:[...t.dow,r]}):n({...t,dow:t.dow.filter(e=>e!==r)})},size:`small`})},r))})})]})})]}),(0,V.jsxs)(Uh,{children:[(0,V.jsx)(Lm,{onClick:()=>{e.playSimulation(e.simulation._id,t),e.onClose()},variant:`contained`,color:`primary`,startIcon:(0,V.jsx)(Ix,{}),children:Y.t(`Play`)}),(0,V.jsx)(Lm,{onClick:e.onClose,variant:`contained`,color:`grey`,startIcon:(0,V.jsx)(cx,{}),children:Y.t(`Cancel`)})]})]})},S5={panel:e=>({height:`100%`,display:`flex`,flexDirection:`column`,borderRadius:0,borderRight:`1px solid ${e.palette.divider}`,overflow:`hidden`}),modeTabs:{flexShrink:0,minHeight:42,"& .MuiTab-root":{minHeight:42,minWidth:0,flex:1,padding:`0 8px`}},header:e=>({flexShrink:0,display:`flex`,alignItems:`center`,gap:1,minHeight:44,padding:`6px 6px 6px 12px`,borderBottom:`1px solid ${e.palette.divider}`}),headerTitle:e=>({flexGrow:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontSize:11,fontWeight:600,letterSpacing:`0.08em`,textTransform:`uppercase`,color:e.palette.text.secondary}),addButton:e=>({flexShrink:0,width:28,height:28,color:e.palette.primary.contrastText||`#fff`,backgroundColor:e.palette.primary.main,"&:hover":{color:e.palette.primary.contrastText||`#fff`,backgroundColor:e.palette.primary.dark},"& .MuiSvgIcon-root":{fontSize:18}}),alert:e=>({display:`flex`,flexShrink:0,color:e.palette.error.main,"& .MuiSvgIcon-root":{fontSize:18}}),list:{flex:1,overflowY:`auto`,overflowX:`hidden`,padding:`6px`},item:e=>({gap:1,minHeight:34,paddingTop:`3px`,paddingBottom:`3px`,paddingLeft:`8px`,paddingRight:`4px`,marginBottom:`2px`,"& .actions":{opacity:0,transition:`opacity 0.15s ease-in-out`},"&:hover .actions, &.Mui-focusVisible .actions, &.Mui-selected .actions":{opacity:1},"&.Mui-selected .MuiIconButton-root":{color:`inherit`},"&.Mui-selected .count":{backgroundColor:`rgba(255, 255, 255, 0.22)`,color:`inherit`},...e.name?.startsWith(`modern`)?void 0:{"&.Mui-selected":{backgroundColor:e.palette.primary.main,color:e.palette.primary.contrastText,"&:hover":{backgroundColor:e.palette.primary.dark}}}}),itemText:{margin:0,overflow:`hidden`},swatch:{flexShrink:0,width:10,height:10,borderRadius:`3px`,boxShadow:`inset 0 0 0 1px rgba(0, 0, 0, 0.25)`},icon:{flexShrink:0,width:16,height:16},actions:{display:`flex`,alignItems:`center`,flexShrink:0,"& .MuiIconButton-root":{padding:`4px`},"& .MuiSvgIcon-root":{fontSize:18}},count:e=>({flexShrink:0,minWidth:20,height:18,padding:`0 5px`,borderRadius:`9px`,fontSize:10,fontWeight:600,lineHeight:`18px`,textAlign:`center`,backgroundColor:Ti(e.palette.text.primary,.08),color:e.palette.text.secondary}),tooltip:{pointerEvents:`none`}};function C5(e){return(0,V.jsxs)(vu,{sx:[S5.panel,{width:e.width??`100%`}],children:[(0,V.jsxs)(Jb,{value:+!!e.isSimulations,onChange:e.onChangeMode,variant:`fullWidth`,sx:S5.modeTabs,children:[(0,V.jsx)(Sb,{title:Y.t(`Calendars`),icon:(0,V.jsx)(ox,{})}),(0,V.jsx)(Sb,{title:Y.t(`Simulations`),icon:(0,V.jsx)(Lx,{})})]}),(0,V.jsxs)(Tm,{sx:S5.header,children:[(0,V.jsx)(Tm,{component:`div`,sx:S5.headerTitle,children:e.title}),e.alive===!1&&(0,V.jsx)(lb,{title:Y.t(`Instance inactive`),slotProps:{popper:{sx:S5.tooltip}},children:(0,V.jsx)(Tm,{component:`span`,sx:S5.alert,children:(0,V.jsx)(Vx,{})})}),(0,V.jsx)(lb,{title:e.addTitle,slotProps:{popper:{sx:S5.tooltip}},children:(0,V.jsx)(Pd,{size:`small`,sx:S5.addButton,onClick:e.onAdd,children:(0,V.jsx)(tx,{})})})]}),(0,V.jsx)(C_,{dense:!0,disablePadding:!0,sx:S5.list,children:e.children})]})}function w5(e){return(0,V.jsxs)(O_,{selected:e.selected,onClick:e.onClick,sx:S5.item,children:[e.icon?(0,V.jsx)(Cw,{src:e.icon,style:S5.icon}):e.color?(0,V.jsx)(Tm,{component:`span`,sx:S5.swatch,style:{backgroundColor:e.color}}):null,(0,V.jsx)(q_,{sx:S5.itemText,title:e.name,primary:e.name,slotProps:{primary:{noWrap:!0,sx:{fontSize:13,fontWeight:e.selected?600:400,opacity:e.inactive?.5:1}}}}),e.actions?(0,V.jsx)(Tm,{component:`span`,className:`actions`,sx:S5.actions,children:e.actions}):null,e.status?(0,V.jsx)(Tm,{component:`span`,sx:S5.actions,children:e.status}):null,e.count===void 0?null:(0,V.jsx)(lb,{title:Y.t(`Events`),slotProps:{popper:{sx:S5.tooltip}},children:(0,V.jsx)(Tm,{component:`span`,className:`count`,sx:S5.count,children:e.count})})]})}var T5=260,E5={container:{display:`flex`,width:`100%`,flex:1},toCalendar:{paddingLeft:20},simulations:e=>({backgroundColor:Ti(e.palette.primary.main,e.palette.mode===`dark`?.04:.05)}),tooltip:{pointerEvents:`none`}},D5=e=>{let[t,n]=(0,B.useState)([]),[r,i]=(0,B.useState)({}),[a,o]=(0,B.useState)(window.localStorage.getItem(`fullcalendar.selectedSimulation`)||null),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(!1),[d,f]=(0,B.useState)(null),[p,m]=(0,B.useState)(null),h=(e,t)=>{t&&i(n=>({...n,[e]:t.val}))},g=(e,t)=>{n(n=>{let r=JSON.parse(JSON.stringify(n)),i=r.findIndex(t=>t._id===e);if(i===-1){if(!t)return n;r.push(t)}else t?r[i]=t:r.splice(i,1);return r})},_=async()=>{let r=await e.socket.getObjectViewSystem(`state`,`fullcalendar.${e.instance}.Simulations.`,`fullcalendar.${e.instance}.Simulations.\u9999`),s={};for(let t in r)s[t]=(await e.socket.getState(t))?.val;let c=Object.values(r);c.sort((e,t)=>e.common.name.localeCompare(t.common.name)),n(c),(!a||t.length&&!t.find(e=>e._id===a))&&o(t[0]?._id||null),i(s),e.socket.subscribeObject(`fullcalendar.${e.instance}.Simulations.*`,g),e.socket.subscribeState(`fullcalendar.${e.instance}.Simulations.*`,h)};(0,B.useEffect)(()=>(_().catch(()=>{}),()=>{e.socket.unsubscribeObject(`fullcalendar.${e.instance}.Simulations.*`,g),e.socket.unsubscribeState(`fullcalendar.${e.instance}.Simulations.*`,h)}),[]),(0,B.useEffect)(()=>{(!a||t.length&&!t.find(e=>e._id===a))&&o(t[0]?._id||null)},[t]);let v=async(t,n)=>{n||=await e.socket.getObject(t),n.native.record=n.native.record||{},n.native.record.start=Date.now(),n.native.record.end=n.native.interval===`day`?new Date(Date.now()+864e5):new Date(Date.now()+6048e5),await e.socket.setObject(t,n),e.socket.setState(t,`record`)},y=async(t,n)=>{let r=await e.socket.getObject(t);r.native.play=n,await e.socket.setObject(t,r),e.socket.setState(t,`play`)},b=(0,V.jsx)(`div`,{style:E5.toCalendar,children:(0,V.jsx)(lb,{title:Y.t(`You can export events to static calender`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(Lm,{variant:`contained`,onClick:async()=>{let n=`fullcalendar.${e.instance}.Calendars.Calendar-${sU()}`;await e.socket.setObject(n,{type:`folder`,common:{name:`NewCalendar`},native:{}});let r=t.find(e=>e._id===a).native.events;for(let t of r){let r=JSON.parse(JSON.stringify(t));r.id=`${n}.event-${sU()}`,e.socket.setObject(r.id,r)}e.updateCalendars(),e.changeCalendarType(),e.setCalendarPrefix(n)},children:Y.t(`To calendar`)})})}),x=(a&&t.find(e=>e._id===a)?a:t[0]?._id)||``;return(0,V.jsxs)(Tm,{component:`div`,style:E5.container,sx:E5.simulations,children:[(0,V.jsxs)(`div`,{children:[d&&(0,V.jsx)(h5,{socket:e.socket,simulation:t.find(e=>e._id===d),onClose:()=>f(null),theme:e.theme,onDelete:async n=>{try{if(a===n){let e=t.find(e=>e._id!==n);o(e?._id||null)}await e.socket.delObject(n)}catch(e){window.alert(`Cannot delete simulation: ${e}`)}}}),p&&(0,V.jsx)(x5,{playSimulation:y,simulation:t.find(e=>e._id===p),onClose:()=>m(null)}),s&&(0,V.jsxs)(zh,{open:!0,maxWidth:`md`,onClose:(e,t)=>{t!==`backdropClick`&&t!==`escapeKeyDown`&&c(!1)},children:[(0,V.jsx)(ng,{id:`confirmation-dialog-title`,children:Y.t(`Start recording`)}),(0,V.jsx)(Yh,{children:(0,V.jsx)($h,{children:Y.t(`Do you want to delete previously recorded events?`)})}),(0,V.jsxs)(Uh,{children:[(0,V.jsx)(Lm,{variant:`contained`,onClick:async()=>{let t=await e.socket.getObject(s);t.native.events=[],await v(t._id,t),c(!1)},style:{backgroundColor:`red`,color:`white`},autoFocus:!0,startIcon:(0,V.jsx)(_x,{}),children:Y.t(`Delete events`)}),(0,V.jsx)(Lm,{variant:`contained`,onClick:async()=>{await v(s),c(!1)},color:`grey`,startIcon:(0,V.jsx)(lx,{}),children:Y.t(`Keep events`)})]})]}),l!==!1&&(0,V.jsx)(AS,{fullWidth:!1,title:Y.t(`Stop recording`),text:Y.t(`Do you want to stop recording? You cannot restart it again.`),ok:Y.t(`Stop`),onClose:t=>{t&&e.socket.setState(l,`stop`),u(!1)}}),(0,V.jsx)(C5,{isSimulations:!0,onChangeMode:e.changeCalendarType,title:Y.t(`Simulations`),addTitle:Y.t(`Create new simulation`),alive:e.alive,width:T5,onAdd:async()=>{let n=`fullcalendar.${e.instance}.Simulations.${sU()}`;await e.socket.setObject(n,{common:{name:Y.t(`Simulation %s`,t.length+1),role:`state`,type:`string`,states:[`stop`,`record`,`play`,`pause`],color:`#3A87AD`},native:{events:[],interval:`day`,record:{states:[],enums:[],start:null,end:null}},type:`state`}),await e.socket.setState(n,`stop`),window.localStorage.setItem(`fullcalendar.selectedSimulation`,n),setTimeout(()=>{o(n),f(n)},300)},children:t.map(t=>(0,V.jsx)(w5,{name:t.common.name||t._id,color:t.common.color,icon:t.common.icon,count:t.native.events?.length||0,selected:t._id===x,onClick:()=>{window.localStorage.setItem(`fullcalendar.selectedSimulation`,t._id),o(t._id)},actions:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(lb,{title:Y.t(`Edit name and settings`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(Pd,{onClick:e=>{e.stopPropagation(),f(t._id)},size:`small`,children:(0,V.jsx)(bx,{})})}),r[t._id]===`stop`&&(0,V.jsx)(lb,{title:Y.t(`Start recording`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Pd,{onClick:async e=>{e.stopPropagation(),t.native.events.length?c(t._id):await v(t._id)},size:`small`,children:(0,V.jsx)(Ex,{})})})}),r[t._id]===`stop`&&t.native.events.length>0&&(0,V.jsx)(lb,{title:Y.t(`Start playing`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Pd,{onClick:e=>{e.stopPropagation(),m(t._id)},size:`small`,children:(0,V.jsx)(Fx,{})})})})]}),status:(0,V.jsxs)(V.Fragment,{children:[(r[t._id]===`record`||r[t._id]===`pause`)&&(0,V.jsx)(lb,{title:Y.t(`Stop recording. Recording till %s`,dU(t.native.record.end).format(`DD.MM.YYYY HH:mm:ss`)),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{style:{opacity:r[t._id]===`pause`?.5:1},children:(0,V.jsx)(Pd,{disabled:r[t._id]===`pause`,onClick:e=>{e.stopPropagation(),u(t._id)},size:`small`,children:(0,V.jsx)(qx,{style:{color:`red`}})})})}),r[t._id]===`play`&&(0,V.jsx)(lb,{title:Y.t(`Stop playing`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Pd,{onClick:n=>{n.stopPropagation(),e.socket.setState(t._id,`stop`)},size:`small`,children:(0,V.jsx)(qx,{style:{color:`green`}})})})}),r[t._id]===`record`&&(0,V.jsx)(lb,{title:Y.t(`Pause recording`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Pd,{onClick:n=>{n.stopPropagation(),e.socket.setState(t._id,`pause`)},size:`small`,children:(0,V.jsx)(Nx,{})})})}),r[t._id]===`pause`&&(0,V.jsx)(lb,{title:Y.t(`Resume recording. Recording till %s`,dU(t.native.record.end).format(`DD.MM.YYYY HH:mm:ss`)),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Pd,{onClick:n=>{n.stopPropagation(),e.socket.setState(t._id,`record`)},size:`small`,children:(0,V.jsx)(Nx,{style:{color:`yellow`}})})})})]})},t._id))})]}),a&&(0,V.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,flex:1},children:(0,V.jsx)(d5,{systemConfig:e.systemConfig,socket:e.socket,isSimulation:!0,calendarPrefix:a,simulationId:a,simulation:t.find(e=>e._id===a),simulations:t,theme:e.theme,readOnly:r[a]===`play`,simulationState:r[a],button:b},a)})]})},O5={field:{display:`flex`,alignItems:`end`,gap:20},hint:{fontSize:12,fontStyle:`italic`}},k5=e=>{let[t,n]=(0,B.useState)(e.calendar),[r,i]=(0,B.useState)(!1);return t?(0,V.jsxs)(zh,{open:!0,onClose:e.onClose,children:[(0,V.jsx)(ng,{children:Y.t(`Edit calendar`)}),(0,V.jsxs)(Yh,{children:[(0,V.jsx)(`div`,{style:O5.field,children:(0,V.jsx)($b,{label:Y.t(`Name`),value:t.common.name||``,onChange:e=>{let r=JSON.parse(JSON.stringify(t));r.common.name=e.target.value,n(r)},variant:`standard`})}),(0,V.jsx)(`div`,{style:O5.field,children:(0,V.jsx)(Dg,{control:(0,V.jsx)(Zm,{checked:t.common.enabled!==!1,onChange:e=>{let r=JSON.parse(JSON.stringify(t));r.common.enabled=e.target.checked,n(r)}}),label:(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{children:Y.t(`Active`)}),(0,V.jsx)(`div`,{style:O5.hint,children:Y.t(`Inactive calendars do not execute their events`)})]})})})]}),(0,V.jsxs)(Uh,{children:[(0,V.jsx)(Lm,{variant:`contained`,color:`secondary`,startIcon:(0,V.jsx)(_x,{}),onClick:()=>i(!0),children:Y.t(`Delete`)}),(0,V.jsx)(Lm,{disabled:!t||!e.calendar||!t.common.name||t.common.name===e.calendar.common.name&&t.common.enabled!==!1==(e.calendar.common.enabled!==!1),onClick:async()=>{await e.socket.setObject(t._id,t),await e.updateCalendars(),e.onClose()},variant:`contained`,color:`primary`,startIcon:(0,V.jsx)(Ux,{}),children:Y.t(`Save`)}),(0,V.jsx)(Lm,{onClick:e.onClose,variant:`contained`,color:`grey`,startIcon:(0,V.jsx)(cx,{}),children:Y.t(`Cancel`)})]}),r&&(0,V.jsx)(AS,{fullWidth:!1,title:Y.t(`Delete calendar`),text:Y.t(`Calendar will be deleted. Confirm?`),ok:Y.t(`Delete`),onClose:async n=>{if(n){try{let n=Object.keys(await e.socket.getObjectViewCustom(`schedule`,`schedule`,`${t._id}.`,`${t._id}.\u9999`));await e.socket.delObject(t._id),await Promise.all(n.map(t=>e.socket.delObject(t))),e.calendarPrefix===t._id&&e.setCalendarPrefix(`fullcalendar.${e.instance}`),await e.updateCalendars()}catch(e){window.alert(`Cannot delete calendar: ${e}`)}e.onClose()}i(!1)}})]}):null},A5={column:{width:`100%`,display:`flex`,flexDirection:`column`,alignItems:`start`,height:`100%`},calendars:{height:`100%`},container:{display:`flex`,width:`100%`,flex:1},tooltip:{pointerEvents:`none`}},j5=e=>{let[t,n]=(0,B.useState)(window.localStorage.getItem(`fullcalendar.calendar`)||`fullcalendar.${e.instance}`),[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)([]),[s,c]=(0,B.useState)(window.localStorage.getItem(`fullcalendar.tab`)===`1`),[l,u]=(0,B.useState)(!1),[d,f]=(0,B.useState)(window.localStorage.getItem(`fullcalendar.splitSizes`)?JSON.parse(window.localStorage.getItem(`fullcalendar.splitSizes`)):[15,85]),p=async()=>{let r=await e.socket.getObjectViewSystem(`folder`,`fullcalendar.${e.instance}.Calendars.`,`fullcalendar.${e.instance}.Calendars.\u9999`);o(Object.values(r)),Object.keys(r).includes(t)||(window.localStorage.removeItem(`fullcalendar.calendar`),n(`fullcalendar.${e.instance}`))},m=async t=>{let n=JSON.parse(JSON.stringify(t));n.common.enabled=t.common.enabled===!1,await e.socket.setObject(n._id,n),await p()},h=()=>c(e=>(window.localStorage.setItem(`fullcalendar.tab`,e?`0`:`1`),!e));return(0,B.useEffect)(()=>{let t=(e,t)=>{let n=t&&t.val||!1;u(!!n)};return p().catch(e=>console.error(e)),e.socket.subscribeState(`system.adapter.fullcalendar.${e.instance}.alive`,t).catch(e=>console.error(e)),e.socket.getState(`system.adapter.fullcalendar.${e.instance}.alive`).then(e=>u(!!(e&&e.val))).catch(e=>console.error(e)),()=>{e.socket.unsubscribeState(`system.adapter.fullcalendar.${e.instance}.alive`,t)}},[]),(0,V.jsxs)(`div`,{style:A5.column,children:[s?(0,V.jsx)(D5,{systemConfig:e.systemConfig,socket:e.socket,theme:e.theme,instance:e.instance,updateCalendars:p,changeCalendarType:h,setCalendarPrefix:n,alive:l}):(0,V.jsx)(`div`,{style:A5.container,children:(0,V.jsxs)(dD,{direction:oD.Horizontal,initialSizes:d,minWidths:[195,500],onResizeFinished:(e,t)=>{f(t),window.localStorage.setItem(`fullcalendar.splitSizes`,JSON.stringify(t))},gutterTheme:e.themeType===`dark`?sD.Dark:sD.Light,gutterClassName:e.themeType===`dark`?`Dark visGutter`:`Light visGutter`,children:[(0,V.jsx)(`div`,{style:A5.calendars,children:(0,V.jsxs)(C5,{isSimulations:!1,onChangeMode:h,title:Y.t(`Calendars`),addTitle:Y.t(`Add new calendar`),alive:l,onAdd:async()=>{let t=`fullcalendar.${e.instance}.Calendars.Calendar-${sU()}`;await e.socket.setObject(t,{type:`folder`,common:{name:`NewCalendar`},native:{}}),await p(),n(t),window.localStorage.setItem(`fullcalendar.calendar`,t),setTimeout(()=>i(t),300)},children:[(0,V.jsx)(w5,{name:Y.t(`Default`),selected:!a.find(e=>e._id===t),onClick:()=>{let t=`fullcalendar.${e.instance}`;window.localStorage.setItem(`fullcalendar.calendar`,t),n(t)}}),a.map(e=>(0,V.jsx)(w5,{name:e.common.name,color:e.common.color,icon:e.common.icon,selected:e._id===t,inactive:e.common.enabled===!1,onClick:()=>{window.localStorage.setItem(`fullcalendar.calendar`,e._id),n(e._id)},status:e.common.enabled===!1?(0,V.jsx)(lb,{title:Y.t(`Calendar is inactive. Click to activate`),slotProps:{popper:{sx:A5.tooltip}},children:(0,V.jsx)(Pd,{size:`small`,onClick:t=>{t.stopPropagation(),m(e)},children:(0,V.jsx)(wx,{})})}):null,actions:(0,V.jsxs)(V.Fragment,{children:[e.common.enabled===!1?null:(0,V.jsx)(lb,{title:Y.t(`Deactivate calendar`),slotProps:{popper:{sx:A5.tooltip}},children:(0,V.jsx)(Pd,{size:`small`,onClick:t=>{t.stopPropagation(),m(e)},children:(0,V.jsx)(Cx,{})})}),(0,V.jsx)(lb,{title:Y.t(`Edit name or delete calendar`),slotProps:{popper:{sx:A5.tooltip}},children:(0,V.jsx)(Pd,{size:`small`,onClick:t=>{i(e._id),t.stopPropagation()},children:(0,V.jsx)(bx,{})})})]})},e._id))]})}),(0,V.jsx)(d5,{systemConfig:e.systemConfig,socket:e.socket,theme:e.theme,calendarPrefix:t},t)]})}),r?(0,V.jsx)(k5,{onClose:()=>i(null),calendarPrefix:t,setCalendarPrefix:n,calendar:a.find(e=>e._id===r),socket:e.socket,instance:e.instance,updateCalendars:p}):null]})},M5=class extends HS{constructor(e){let t={...e};t.translations={en:zE,de:BE,ru:VE,pt:HE,nl:UE,fr:WE,it:GE,es:KE,pl:qE,uk:JE,"zh-cn":YE},t.sentryDSN=window.sentryDSN,window.location.port,window.socketUrl&&window.socketUrl.startsWith(`:`)&&(window.socketUrl=`${window.location.protocol}//${window.location.hostname}${window.socketUrl}`),super(e,t)}render(){return this.state.loaded?(0,V.jsx)(Kt,{injectFirst:!0,children:(0,V.jsx)(qc,{theme:this.state.theme,children:(0,V.jsx)(`div`,{style:{overflow:`auto`,height:`100%`},id:`rootDiv`,children:(0,V.jsx)(j5,{systemConfig:this._systemConfig,socket:this.socket,theme:this.state.theme,instance:this.instance,alive:!!this.state.alive,themeType:this.state.themeType})})})}):(0,V.jsx)(Kt,{injectFirst:!0,children:(0,V.jsx)(qc,{theme:this.state.theme,children:(0,V.jsx)(pS,{themeType:this.state.themeType})})})}};window.location.hostname===`localhost`||window.location.hostname===`[::1]`||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/);function N5(){`serviceWorker`in navigator&&navigator.serviceWorker.ready.then(e=>{e.unregister()})}var P5={name:`fullcalendar-admin`,version:`3.3.0`,private:!0,dependencies:{"@emotion/react":`^11.14.0`,"@emotion/styled":`^11.14.1`,"@devbookhq/splitter":`^1.4.2`,"@fullcalendar/core":`^6.1.22`,"@fullcalendar/daygrid":`^6.1.22`,"@fullcalendar/interaction":`^6.1.22`,"@fullcalendar/list":`^6.1.22`,"@fullcalendar/react":`^6.1.22`,"@fullcalendar/rrule":`^6.1.22`,"@fullcalendar/timegrid":`^6.1.22`,"@iobroker/gui-components":`^10.3.14`,"@iobroker/type-detector":`^6.2.0`,"@material-icons/svg":`^1.0.33`,"@mui/icons-material":`^9.5.0`,"@mui/material":`^9.5.0`,"@mui/system":`^9.5.0`,"@mui/x-date-pickers":`^9.16.0`,"@sentry/browser":`^11.10.0`,"@vitejs/plugin-react":`^6.1.2`,dayjs:`^1.11.23`,moment:`^2.31.0`,react:`^19.3.1`,"react-ace":`^15.0.0`,"react-dnd":`^16.0.1`,"react-dnd-html5-backend":`^16.0.1`,"react-dnd-preview":`^9.0.0`,"react-dnd-touch-backend":`^16.0.1`,"react-dom":`^19.3.1`,"react-dropzone":`^20.1.4`,"react-icons":`^5.7.0`,rrule:`^2.8.1`,suncalc2:`^1.8.1`,vite:`^8.3.5`},scripts:{start:`vite --host`,build:`vite build`,lint:`eslint -c eslint.config.mjs`,"check-ts":`tsc --noEmit --checkJS false`,tsc:`tsc --project tsconfig.json`},eslintConfig:{extends:`react-app`},homepage:`.`,browserslist:[`>0.2%`,`not dead`,`not ie <= 11`,`not op_mini all`]},F5=e=>{let t=cl(e);return t&&(t.palette.text.danger={color:`#dd5325`},t.palette.text.success={color:`#73b6a8`},t)},I5=ES.getThemeName();window.adapterName=`fullcalendar`,console.log(`iobroker.${window.adapterName}@${P5.version} using theme "${I5}"`);function L5(e,t,n){let r=(e||``).split(` `).map(e=>e.trim()).filter(e=>e),i=r.indexOf(n);return i!==-1&&r.splice(i,1),!r.includes(t)&&r.push(t),r.join(` `)}var R5=()=>{let[e,t]=(0,B.useState)(I5),n=F5(e),r=()=>n,i=n.palette.mode;return(0,B.useEffect)(()=>{i===`dark`?window.document.body.className=L5(window.document.body.className,`body-dark`,`body-light`):window.document.body.className=L5(window.document.body.className,`body-light`,`body-dark`)},[i]),(0,V.jsx)(Kt,{injectFirst:!0,children:(0,V.jsx)(qc,{theme:r(),children:(0,V.jsx)(M5,{onThemeChange:e=>t(e)})})})};function z5(){let e=document.getElementById(`root`);(0,Jc.createRoot)(e).render((0,V.jsx)(R5,{}))}z5(),N5();
|
|
788
|
+
`}),(0,V.jsx)(ng,{children:Y.t(`Edit simulation`)}),(0,V.jsxs)(Yh,{children:[(0,V.jsxs)(`div`,{style:m5.field,children:[(0,V.jsx)($b,{label:Y.t(`Name`),value:t.common.name||``,onChange:e=>{let r=JSON.parse(JSON.stringify(t));r.common.name=e.target.value,n(r)},variant:`standard`}),(0,V.jsxs)(Cg,{variant:`standard`,children:[(0,V.jsx)(n_,{children:Y.t(`Interval`)}),(0,V.jsx)(By,{value:t.native.interval||``,onChange:e=>{let r=JSON.parse(JSON.stringify(t));r.native.interval=e.target.value,n(r)},variant:`standard`,children:[`day`,`week`].map(e=>(0,V.jsx)(Qv,{value:e,children:Y.t(e)},e))})]})]}),(0,V.jsx)(`div`,{style:m5.field,children:(0,V.jsx)(zC,{label:Y.t(`Default color`),value:t.common.color,onChange:e=>{let r=JSON.parse(JSON.stringify(t));r.common.color=e,n(r)}})}),(0,V.jsxs)(`h4`,{style:m5.headers,children:[Y.t(`States`),(0,V.jsx)(lb,{title:Y.t(`Add states for recording`),slotProps:{popper:{sx:m5.tooltip}},children:(0,V.jsx)(Pd,{style:!l.length&&t?.native?.record?.states?.length?m5.blink:void 0,size:`small`,onClick:()=>o(!0),color:`primary`,children:(0,V.jsx)(tx,{})})})]}),(0,V.jsx)(`div`,{children:t.native.record?.states.map((e,r)=>v(e,()=>{let e=JSON.parse(JSON.stringify(t));e.native.record.states.splice(r,1),n(e)}))}),(0,V.jsxs)(`h4`,{style:m5.headers,children:[Y.t(`Categories`),(0,V.jsx)(lb,{title:Y.t(`Add overlap of categories for recording`),slotProps:{popper:{sx:m5.tooltip}},children:(0,V.jsx)(Pd,{style:!l.length&&t?.native?.record?.states?.length?m5.blink:void 0,size:`small`,onClick:()=>c(!0),color:`primary`,children:(0,V.jsx)(tx,{})})})]}),(0,V.jsx)(`div`,{children:t.native.record?.enums.map((e,r)=>{let i=e.map(e=>(0,V.jsx)(LE,{value:d[e]||e,lang:Y.getLanguage()},e)),a=1,o=i.reduce((e,t)=>[e,(0,V.jsx)(`span`,{children:`+`},a++),t],null);return(0,V.jsx)(am,{onClick:()=>c(r),onDelete:()=>{let e=JSON.parse(JSON.stringify(t));e.native.record.enums.splice(r,1),n(e)},label:o,sx:{"& .MuiChip-label":m5.chipLabel},style:m5.chip},r)})}),(0,V.jsx)(`h4`,{style:{marginBottom:-0},children:Y.t(`Recorded states`)}),(0,V.jsxs)(`div`,{children:[h&&(0,V.jsx)(v_,{}),Object.keys(p).map(e=>v(e))]})]}),(0,V.jsxs)(Uh,{children:[(0,V.jsx)(Lm,{variant:`contained`,color:`secondary`,startIcon:(0,V.jsx)(_x,{}),onClick:()=>i(!0),children:Y.t(`Delete`)}),(0,V.jsx)(Lm,{disabled:y,onClick:async()=>{let n=JSON.parse(JSON.stringify(t));n.native.interval!==e.simulation.native.interval&&n.native.interval===`day`&&(console.log(n),n.native.events.forEach(e=>{console.log(e.native.cron);let t=ZH(e.native.cron);console.log(t),t.dows=[0,1,2,3,4,5,6],e.native.cron=$H(t),console.log(e.native.cron)})),await e.socket.setObject(t._id,n),e.onClose()},variant:`contained`,color:`primary`,startIcon:(0,V.jsx)(Ux,{}),children:Y.t(`Save`)}),(0,V.jsx)(Lm,{onClick:e.onClose,variant:`contained`,color:`grey`,startIcon:(0,V.jsx)(cx,{}),children:y?Y.t(`ra_Close`):Y.t(`ra_Cancel`)})]}),r&&(0,V.jsx)(AS,{fullWidth:!1,title:Y.t(`Delete simulation`),text:Y.t(`Simulation will be deleted. Confirm?`),ok:Y.t(`ra_Delete`),onClose:async n=>{n&&(await e.onDelete(t._id),e.onClose()),i(!1)}}),a&&(0,V.jsx)(RE,{imagePrefix:`../..`,multiSelect:!0,theme:e.theme,selected:t.native.record.states,onOk:e=>{let r=JSON.parse(JSON.stringify(t));r.native.record=r.native.record||{enums:[],states:[]},r.native.record.states=r.native.record.states||[],r.native.record.states=Array.isArray(e)?e:[e],n(r),o(!1)},onClose:()=>o(!1),socket:e.socket}),s===!1?null:(0,V.jsx)(p5,{socket:e.socket,enumsObjects:d,selectedEnums:typeof s==`number`?t.native.record.enums[s]:[],exceptions:t.native.record.enumsExceptions||[],onSelect:(e,r)=>{let i=JSON.parse(JSON.stringify(t));i.native.record=i.native.record||{enums:[],states:[]},i.native.record.enums=i.native.record.enums||[],i.native.record.enumsExceptions=r||[],typeof s==`number`?i.native.record.enums[s]=e:i.native.record.enums.push(e),n(i),c(!1)},onClose:()=>c(!1)})]})},g5={Y:`year`,YY:`year`,YYYY:{sectionType:`year`,contentType:`digit`,maxLength:4},M:{sectionType:`month`,contentType:`digit`,maxLength:2},MM:`month`,MMM:{sectionType:`month`,contentType:`letter`},MMMM:{sectionType:`month`,contentType:`letter`},D:{sectionType:`day`,contentType:`digit`,maxLength:2},DD:`day`,Do:{sectionType:`day`,contentType:`digit-with-letter`},E:{sectionType:`weekDay`,contentType:`digit`,maxLength:1},e:{sectionType:`weekDay`,contentType:`digit`,maxLength:1},d:{sectionType:`weekDay`,contentType:`digit`,maxLength:1},dd:{sectionType:`weekDay`,contentType:`letter`},ddd:{sectionType:`weekDay`,contentType:`letter`},dddd:{sectionType:`weekDay`,contentType:`letter`},A:`meridiem`,a:`meridiem`,H:{sectionType:`hours`,contentType:`digit`,maxLength:2},HH:`hours`,h:{sectionType:`hours`,contentType:`digit`,maxLength:2},hh:`hours`,k:{sectionType:`hours`,contentType:`digit`,maxLength:2},kk:`hours`,m:{sectionType:`minutes`,contentType:`digit`,maxLength:2},mm:`minutes`,s:{sectionType:`seconds`,contentType:`digit`,maxLength:2},ss:`seconds`},_5={year:`YYYY`,month:`MMMM`,monthShort:`MMM`,dayOfMonth:`D`,dayOfMonthFull:`Do`,weekday:`dddd`,weekdayShort:`ddd`,hours24h:`HH`,hours12h:`hh`,meridiem:`A`,minutes:`mm`,seconds:`ss`,fullDate:`ll`,keyboardDate:`L`,shortDate:`MMM D`,normalDate:`D MMMM`,normalDateWithWeekday:`ddd, MMM D`,fullTime12h:`hh:mm A`,fullTime24h:`HH:mm`,keyboardDateTime12h:`L hh:mm A`,keyboardDateTime24h:`L HH:mm`};function v5(){throw Error(BX(140))}var y5=class{isMUIAdapter=!0;isTimezoneCompatible=!0;lib=`moment`;escapedCharacters={start:`[`,end:`]`};formatTokenMap=g5;constructor({locale:e,formats:t,instance:n}={}){this.moment=n||dU,this.locale=e,this.formats=b({},_5,t)}setLocaleToValue=e=>{let t=this.getCurrentLocaleCode();return t===e.locale()?e:e.locale(t)};hasTimezonePlugin=()=>this.moment.tz!==void 0;createSystemDate=e=>{let t=this.moment(e).local();return this.locale===void 0?t:t.locale(this.locale)};createUTCDate=e=>{let t=this.moment.utc(e);return this.locale===void 0?t:t.locale(this.locale)};createTZDate=(e,t)=>{this.hasTimezonePlugin()||v5();let n=t==="default"?this.moment(e):this.moment.tz(e,t);return this.locale===void 0?n:n.locale(this.locale)};date=(e,t=`default`)=>e===null?null:t===`UTC`?this.createUTCDate(e):t===`system`||t==="default"&&!this.hasTimezonePlugin()?this.createSystemDate(e):this.createTZDate(e,t);getInvalidDate=()=>this.moment(new Date(`Invalid Date`));getTimezone=e=>{let t=e._z?.name,n=e.isUTC()?`UTC`:`system`;return t??this.moment.defaultZone?.name??n};setTimezone=(e,t)=>{if(this.getTimezone(e)===t)return e;if(t===`UTC`)return e.clone().utc();if(t===`system`)return e.clone().local();if(!this.hasTimezonePlugin())return t!=="default"&&v5(),e;let n=t==="default"?this.moment.defaultZone?.name??`system`:t;if(n===`system`)return e.clone().local();let r=e.clone();return r.tz(n),r};toJsDate=e=>e.toDate();parse=(e,t)=>e===``?null:this.locale?this.moment(e,t,this.locale,!0):this.moment(e,t,!0);getCurrentLocaleCode=()=>this.locale||dU.locale();is12HourCycleInCurrentLocale=()=>/A|a/.test(dU.localeData(this.getCurrentLocaleCode()).longDateFormat(`LT`));expandFormat=e=>e.match(/(\[[^[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})|./g).map(e=>{let t=e[0];return t===`L`||t===`;`?dU.localeData(this.getCurrentLocaleCode()).longDateFormat(e):e}).join(``);isValid=e=>e!=null&&e.isValid();format=(e,t)=>this.formatByString(e,this.formats[t]);formatByString=(e,t)=>{let n=e.clone();return n.locale(this.getCurrentLocaleCode()),n.format(t)};formatNumber=e=>e;isEqual=(e,t)=>e===null&&t===null?!0:e===null||t===null?!1:e.isSame(t);isSameYear=(e,t)=>e.isSame(t,`year`);isSameMonth=(e,t)=>e.isSame(t,`month`);isSameDay=(e,t)=>e.isSame(t,`day`);isSameHour=(e,t)=>e.isSame(t,`hour`);isAfter=(e,t)=>e.isAfter(t);isAfterYear=(e,t)=>e.isAfter(t,`year`);isAfterDay=(e,t)=>e.isAfter(t,`day`);isBefore=(e,t)=>e.isBefore(t);isBeforeYear=(e,t)=>e.isBefore(t,`year`);isBeforeDay=(e,t)=>e.isBefore(t,`day`);isWithinRange=(e,[t,n])=>e.isBetween(t,n,null,`[]`);startOfYear=e=>e.clone().startOf(`year`);startOfMonth=e=>e.clone().startOf(`month`);startOfWeek=e=>this.setLocaleToValue(e.clone()).startOf(`week`);startOfDay=e=>e.clone().startOf(`day`);endOfYear=e=>e.clone().endOf(`year`);endOfMonth=e=>e.clone().endOf(`month`);endOfWeek=e=>this.setLocaleToValue(e.clone()).endOf(`week`);endOfDay=e=>e.clone().endOf(`day`);addYears=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`years`):e.clone().add(t,`years`);addMonths=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`months`):e.clone().add(t,`months`);addWeeks=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`weeks`):e.clone().add(t,`weeks`);addDays=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`days`):e.clone().add(t,`days`);addHours=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`hours`):e.clone().add(t,`hours`);addMinutes=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`minutes`):e.clone().add(t,`minutes`);addSeconds=(e,t)=>t<0?e.clone().subtract(Math.abs(t),`seconds`):e.clone().add(t,`seconds`);getYear=e=>e.get(`year`);getMonth=e=>e.get(`month`);getDate=e=>e.get(`date`);getHours=e=>e.get(`hours`);getMinutes=e=>e.get(`minutes`);getSeconds=e=>e.get(`seconds`);getMilliseconds=e=>e.get(`milliseconds`);setYear=(e,t)=>e.clone().year(t);setMonth=(e,t)=>e.clone().month(t);setDate=(e,t)=>e.clone().date(t);setHours=(e,t)=>e.clone().hours(t);setMinutes=(e,t)=>e.clone().minutes(t);setSeconds=(e,t)=>e.clone().seconds(t);setMilliseconds=(e,t)=>e.clone().milliseconds(t);getDaysInMonth=e=>e.daysInMonth();getWeekArray=e=>{let t=this.startOfWeek(this.startOfMonth(e)),n=this.endOfWeek(this.endOfMonth(e)),r=0,i=t,a=i.get(`dayOfYear`),o=[];for(;i.isBefore(n);){let e=Math.floor(r/7);o[e]=o[e]||[],o[e].push(i);let t=a;i=this.addDays(i,1),a=i.get(`dayOfYear`),t===a&&(i=i.add(12,`h`).startOf(`day`)),r+=1}return o};getWeekNumber=e=>e.week();getDayOfWeek=e=>e.day()+1;getYearRange([e,t]){let n=this.startOfYear(e),r=this.endOfYear(t),i=[],a=n;for(;this.isBefore(a,r);)i.push(a),a=this.addYears(a,1);return i}},b5={field:{"& .MuiFormControl-root":{width:`100%`},display:`flex`,alignItems:`end`,gap:`20px`},tableCell:{textAlign:`center`}},x5=e=>{let[t,n]=(0,B.useState)({start:null,end:null,dow:[0,1,2,3,4,5,6]});return dU.locale(Y.getLanguage()),(0,V.jsxs)(zh,{open:!0,onClose:e.onClose,children:[(0,V.jsx)(ng,{children:Y.t(`Play simulation`)}),(0,V.jsxs)(Yh,{children:[(0,V.jsxs)(qX,{dateAdapter:y5,children:[(0,V.jsxs)(Tm,{component:`div`,sx:b5.field,style:{width:`100%`,marginBottom:20,marginTop:10},children:[(0,V.jsx)(M8,{label:`Start`,sx:e=>({borderBottom:`1px solid ${e.palette.text.primary}`,"& fieldset":{display:`none`},"& input":{padding:`${e.spacing(1.5)} 0 4px 0`},"& .MuiInputAdornment-root":{marginLeft:0,marginTop:1},"& label":{transform:`translate(0px, -9px) scale(0.75)`},"&.MuiTextField-root":{width:`100%`}}),value:t.start,onChange:e=>n({...t,start:e})}),t.start&&(0,V.jsx)(Pd,{onClick:()=>n({...t,start:null}),children:(0,V.jsx)(_x,{})})]}),(0,V.jsxs)(Tm,{component:`div`,sx:b5.field,style:{width:`100%`,marginBottom:30},children:[(0,V.jsx)(M8,{label:`End`,sx:e=>({borderBottom:`1px solid ${e.palette.text.primary}`,"& fieldset":{display:`none`},"& input":{padding:`${e.spacing(1.5)} 0 4px 0`},"& .MuiInputAdornment-root":{marginLeft:0,marginTop:1},"& label":{transform:`translate(0px, -9px) scale(0.75)`}}),value:t.end,onChange:e=>n({...t,end:e})}),t.end&&(0,V.jsx)(Pd,{onClick:()=>n({...t,end:null}),children:(0,V.jsx)(_x,{})})]})]}),(0,V.jsx)(`div`,{children:(0,V.jsxs)(`table`,{children:[(0,V.jsx)(`thead`,{children:(0,V.jsx)(`tr`,{children:[0,1,2,3,4,5,6].map(e=>(0,V.jsx)(`td`,{style:b5.tableCell,children:dU().day(e).format(`ddd`)},e))})}),(0,V.jsx)(`tbody`,{children:(0,V.jsx)(`tr`,{children:[0,1,2,3,4,5,6].map(r=>(0,V.jsx)(`td`,{children:(0,V.jsx)(Zm,{"aria-label":`play simulation`,checked:t.dow.includes(r),disabled:e.readOnly,onChange:e=>{e.target.checked?n({...t,dow:[...t.dow,r]}):n({...t,dow:t.dow.filter(e=>e!==r)})},size:`small`})},r))})})]})})]}),(0,V.jsxs)(Uh,{children:[(0,V.jsx)(Lm,{onClick:()=>{e.playSimulation(e.simulation._id,t),e.onClose()},variant:`contained`,color:`primary`,startIcon:(0,V.jsx)(Ix,{}),children:Y.t(`Play`)}),(0,V.jsx)(Lm,{onClick:e.onClose,variant:`contained`,color:`grey`,startIcon:(0,V.jsx)(cx,{}),children:Y.t(`Cancel`)})]})]})},S5={panel:e=>({height:`100%`,display:`flex`,flexDirection:`column`,borderRadius:0,borderRight:`1px solid ${e.palette.divider}`,overflow:`hidden`}),modeTabs:{flexShrink:0,minHeight:42,"& .MuiTab-root":{minHeight:42,minWidth:0,flex:1,padding:`0 8px`}},header:e=>({flexShrink:0,display:`flex`,alignItems:`center`,gap:1,minHeight:44,padding:`6px 6px 6px 12px`,borderBottom:`1px solid ${e.palette.divider}`}),headerTitle:e=>({flexGrow:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontSize:11,fontWeight:600,letterSpacing:`0.08em`,textTransform:`uppercase`,color:e.palette.text.secondary}),addButton:e=>({flexShrink:0,width:28,height:28,color:e.palette.primary.contrastText||`#fff`,backgroundColor:e.palette.primary.main,"&:hover":{color:e.palette.primary.contrastText||`#fff`,backgroundColor:e.palette.primary.dark},"& .MuiSvgIcon-root":{fontSize:18}}),alert:e=>({display:`flex`,flexShrink:0,color:e.palette.error.main,"& .MuiSvgIcon-root":{fontSize:18}}),list:{flex:1,overflowY:`auto`,overflowX:`hidden`,padding:`6px`},item:e=>({gap:1,minHeight:34,paddingTop:`3px`,paddingBottom:`3px`,paddingLeft:`8px`,paddingRight:`4px`,marginBottom:`2px`,"& .actions":{opacity:0,transition:`opacity 0.15s ease-in-out`},"&:hover .actions, &.Mui-focusVisible .actions, &.Mui-selected .actions":{opacity:1},"&.Mui-selected .MuiIconButton-root":{color:`inherit`},"&.Mui-selected .count":{backgroundColor:`rgba(255, 255, 255, 0.22)`,color:`inherit`},...e.name?.startsWith(`modern`)?void 0:{"&.Mui-selected":{backgroundColor:e.palette.primary.main,color:e.palette.primary.contrastText,"&:hover":{backgroundColor:e.palette.primary.dark}}}}),itemText:{margin:0,overflow:`hidden`},swatch:{flexShrink:0,width:10,height:10,borderRadius:`3px`,boxShadow:`inset 0 0 0 1px rgba(0, 0, 0, 0.25)`},icon:{flexShrink:0,width:16,height:16},actions:{display:`flex`,alignItems:`center`,flexShrink:0,"& .MuiIconButton-root":{padding:`4px`},"& .MuiSvgIcon-root":{fontSize:18}},count:e=>({flexShrink:0,minWidth:20,height:18,padding:`0 5px`,borderRadius:`9px`,fontSize:10,fontWeight:600,lineHeight:`18px`,textAlign:`center`,backgroundColor:Ti(e.palette.text.primary,.08),color:e.palette.text.secondary}),tooltip:{pointerEvents:`none`}};function C5(e){return(0,V.jsxs)(vu,{sx:[S5.panel,{width:e.width??`100%`}],children:[(0,V.jsxs)(Jb,{value:+!!e.isSimulations,onChange:e.onChangeMode,variant:`fullWidth`,sx:S5.modeTabs,children:[(0,V.jsx)(Sb,{title:Y.t(`Calendars`),icon:(0,V.jsx)(ox,{})}),(0,V.jsx)(Sb,{title:Y.t(`Simulations`),icon:(0,V.jsx)(Lx,{})})]}),(0,V.jsxs)(Tm,{sx:S5.header,children:[(0,V.jsx)(Tm,{component:`div`,sx:S5.headerTitle,children:e.title}),e.alive===!1&&(0,V.jsx)(lb,{title:Y.t(`Instance inactive`),slotProps:{popper:{sx:S5.tooltip}},children:(0,V.jsx)(Tm,{component:`span`,sx:S5.alert,children:(0,V.jsx)(Vx,{})})}),(0,V.jsx)(lb,{title:e.addTitle,slotProps:{popper:{sx:S5.tooltip}},children:(0,V.jsx)(Pd,{size:`small`,sx:S5.addButton,onClick:e.onAdd,children:(0,V.jsx)(tx,{})})})]}),(0,V.jsx)(C_,{dense:!0,disablePadding:!0,sx:S5.list,children:e.children})]})}function w5(e){return(0,V.jsxs)(O_,{selected:e.selected,onClick:e.onClick,sx:S5.item,children:[e.icon?(0,V.jsx)(Cw,{src:e.icon,style:S5.icon}):e.color?(0,V.jsx)(Tm,{component:`span`,sx:S5.swatch,style:{backgroundColor:e.color}}):null,(0,V.jsx)(q_,{sx:S5.itemText,title:e.name,primary:e.name,slotProps:{primary:{noWrap:!0,sx:{fontSize:13,fontWeight:e.selected?600:400,opacity:e.inactive?.5:1}}}}),e.actions?(0,V.jsx)(Tm,{component:`span`,className:`actions`,sx:S5.actions,children:e.actions}):null,e.status?(0,V.jsx)(Tm,{component:`span`,sx:S5.actions,children:e.status}):null,e.count===void 0?null:(0,V.jsx)(lb,{title:Y.t(`Events`),slotProps:{popper:{sx:S5.tooltip}},children:(0,V.jsx)(Tm,{component:`span`,className:`count`,sx:S5.count,children:e.count})})]})}var T5=260,E5={container:{display:`flex`,width:`100%`,flex:1},toCalendar:{paddingLeft:20},simulations:e=>({backgroundColor:Ti(e.palette.primary.main,e.palette.mode===`dark`?.04:.05)}),tooltip:{pointerEvents:`none`}},D5=e=>{let[t,n]=(0,B.useState)([]),[r,i]=(0,B.useState)({}),[a,o]=(0,B.useState)(window.localStorage.getItem(`fullcalendar.selectedSimulation`)||null),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(!1),[d,f]=(0,B.useState)(null),[p,m]=(0,B.useState)(null),h=(e,t)=>{t&&i(n=>({...n,[e]:t.val}))},g=(e,t)=>{n(n=>{let r=JSON.parse(JSON.stringify(n)),i=r.findIndex(t=>t._id===e);if(i===-1){if(!t)return n;r.push(t)}else t?r[i]=t:r.splice(i,1);return r})},_=async()=>{let r=await e.socket.getObjectViewSystem(`state`,`fullcalendar.${e.instance}.Simulations.`,`fullcalendar.${e.instance}.Simulations.\u9999`),s={};for(let t in r)s[t]=(await e.socket.getState(t))?.val;let c=Object.values(r);c.sort((e,t)=>e.common.name.localeCompare(t.common.name)),n(c),(!a||t.length&&!t.find(e=>e._id===a))&&o(t[0]?._id||null),i(s),e.socket.subscribeObject(`fullcalendar.${e.instance}.Simulations.*`,g),e.socket.subscribeState(`fullcalendar.${e.instance}.Simulations.*`,h)};(0,B.useEffect)(()=>(_().catch(()=>{}),()=>{e.socket.unsubscribeObject(`fullcalendar.${e.instance}.Simulations.*`,g),e.socket.unsubscribeState(`fullcalendar.${e.instance}.Simulations.*`,h)}),[]),(0,B.useEffect)(()=>{(!a||t.length&&!t.find(e=>e._id===a))&&o(t[0]?._id||null)},[t]);let v=async(t,n)=>{n||=await e.socket.getObject(t),n.native.record=n.native.record||{},n.native.record.start=Date.now(),n.native.record.end=n.native.interval===`day`?new Date(Date.now()+864e5):new Date(Date.now()+6048e5),await e.socket.setObject(t,n),e.socket.setState(t,`record`)},y=async(t,n)=>{let r=await e.socket.getObject(t);r.native.play=n,await e.socket.setObject(t,r),e.socket.setState(t,`play`)},b=(0,V.jsx)(`div`,{style:E5.toCalendar,children:(0,V.jsx)(lb,{title:Y.t(`You can export events to static calender`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(Lm,{variant:`contained`,onClick:async()=>{let n=`fullcalendar.${e.instance}.Calendars.Calendar-${sU()}`;await e.socket.setObject(n,{type:`folder`,common:{name:`NewCalendar`},native:{}});let r=t.find(e=>e._id===a).native.events;for(let t of r){let r=JSON.parse(JSON.stringify(t));r.id=`${n}.event-${sU()}`,e.socket.setObject(r.id,r)}e.updateCalendars(),e.changeCalendarType(),e.setCalendarPrefix(n)},children:Y.t(`To calendar`)})})}),x=(a&&t.find(e=>e._id===a)?a:t[0]?._id)||``;return(0,V.jsxs)(Tm,{component:`div`,style:E5.container,sx:E5.simulations,children:[(0,V.jsxs)(`div`,{children:[d&&(0,V.jsx)(h5,{socket:e.socket,simulation:t.find(e=>e._id===d),onClose:()=>f(null),theme:e.theme,onDelete:async n=>{try{if(a===n){let e=t.find(e=>e._id!==n);o(e?._id||null)}await e.socket.delObject(n)}catch(e){window.alert(`Cannot delete simulation: ${e}`)}}}),p&&(0,V.jsx)(x5,{playSimulation:y,simulation:t.find(e=>e._id===p),onClose:()=>m(null)}),s&&(0,V.jsxs)(zh,{open:!0,maxWidth:`md`,onClose:(e,t)=>{t!==`backdropClick`&&t!==`escapeKeyDown`&&c(!1)},children:[(0,V.jsx)(ng,{id:`confirmation-dialog-title`,children:Y.t(`Start recording`)}),(0,V.jsx)(Yh,{children:(0,V.jsx)($h,{children:Y.t(`Do you want to delete previously recorded events?`)})}),(0,V.jsxs)(Uh,{children:[(0,V.jsx)(Lm,{variant:`contained`,onClick:async()=>{let t=await e.socket.getObject(s);t.native.events=[],await v(t._id,t),c(!1)},style:{backgroundColor:`red`,color:`white`},autoFocus:!0,startIcon:(0,V.jsx)(_x,{}),children:Y.t(`Delete events`)}),(0,V.jsx)(Lm,{variant:`contained`,onClick:async()=>{await v(s),c(!1)},color:`grey`,startIcon:(0,V.jsx)(lx,{}),children:Y.t(`Keep events`)})]})]}),l!==!1&&(0,V.jsx)(AS,{fullWidth:!1,title:Y.t(`Stop recording`),text:Y.t(`Do you want to stop recording? You cannot restart it again.`),ok:Y.t(`Stop`),onClose:t=>{t&&e.socket.setState(l,`stop`),u(!1)}}),(0,V.jsx)(C5,{isSimulations:!0,onChangeMode:e.changeCalendarType,title:Y.t(`Simulations`),addTitle:Y.t(`Create new simulation`),alive:e.alive,width:T5,onAdd:async()=>{let n=`fullcalendar.${e.instance}.Simulations.${sU()}`;await e.socket.setObject(n,{common:{name:Y.t(`Simulation %s`,t.length+1),role:`state`,type:`string`,states:[`stop`,`record`,`play`,`pause`],color:`#3A87AD`},native:{events:[],interval:`day`,record:{states:[],enums:[],start:null,end:null}},type:`state`}),await e.socket.setState(n,`stop`),window.localStorage.setItem(`fullcalendar.selectedSimulation`,n),setTimeout(()=>{o(n),f(n)},300)},children:t.map(t=>(0,V.jsx)(w5,{name:t.common.name||t._id,color:t.common.color,icon:t.common.icon,count:t.native.events?.length||0,selected:t._id===x,onClick:()=>{window.localStorage.setItem(`fullcalendar.selectedSimulation`,t._id),o(t._id)},actions:(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(lb,{title:Y.t(`Edit name and settings`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(Pd,{onClick:e=>{e.stopPropagation(),f(t._id)},size:`small`,children:(0,V.jsx)(bx,{})})}),r[t._id]===`stop`&&(0,V.jsx)(lb,{title:Y.t(`Start recording`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Pd,{onClick:async e=>{e.stopPropagation(),t.native.events.length?c(t._id):await v(t._id)},size:`small`,children:(0,V.jsx)(Ex,{})})})}),r[t._id]===`stop`&&t.native.events.length>0&&(0,V.jsx)(lb,{title:Y.t(`Start playing`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Pd,{onClick:e=>{e.stopPropagation(),m(t._id)},size:`small`,children:(0,V.jsx)(Fx,{})})})})]}),status:(0,V.jsxs)(V.Fragment,{children:[(r[t._id]===`record`||r[t._id]===`pause`)&&(0,V.jsx)(lb,{title:Y.t(`Stop recording. Recording till %s`,dU(t.native.record.end).format(`DD.MM.YYYY HH:mm:ss`)),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{style:{opacity:r[t._id]===`pause`?.5:1},children:(0,V.jsx)(Pd,{disabled:r[t._id]===`pause`,onClick:e=>{e.stopPropagation(),u(t._id)},size:`small`,children:(0,V.jsx)(qx,{style:{color:`red`}})})})}),r[t._id]===`play`&&(0,V.jsx)(lb,{title:Y.t(`Stop playing`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Pd,{onClick:n=>{n.stopPropagation(),e.socket.setState(t._id,`stop`)},size:`small`,children:(0,V.jsx)(qx,{style:{color:`green`}})})})}),r[t._id]===`record`&&(0,V.jsx)(lb,{title:Y.t(`Pause recording`),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Pd,{onClick:n=>{n.stopPropagation(),e.socket.setState(t._id,`pause`)},size:`small`,children:(0,V.jsx)(Nx,{})})})}),r[t._id]===`pause`&&(0,V.jsx)(lb,{title:Y.t(`Resume recording. Recording till %s`,dU(t.native.record.end).format(`DD.MM.YYYY HH:mm:ss`)),slotProps:{popper:{sx:E5.tooltip}},children:(0,V.jsx)(`span`,{children:(0,V.jsx)(Pd,{onClick:n=>{n.stopPropagation(),e.socket.setState(t._id,`record`)},size:`small`,children:(0,V.jsx)(Nx,{style:{color:`yellow`}})})})})]})},t._id))})]}),a&&(0,V.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,flex:1},children:(0,V.jsx)(d5,{systemConfig:e.systemConfig,socket:e.socket,isSimulation:!0,calendarPrefix:a,simulationId:a,simulation:t.find(e=>e._id===a),simulations:t,theme:e.theme,readOnly:r[a]===`play`,simulationState:r[a],button:b},a)})]})},O5={field:{display:`flex`,alignItems:`end`,gap:20},hint:{fontSize:12,fontStyle:`italic`}},k5=e=>{let[t,n]=(0,B.useState)(e.calendar),[r,i]=(0,B.useState)(!1);return t?(0,V.jsxs)(zh,{open:!0,onClose:e.onClose,children:[(0,V.jsx)(ng,{children:Y.t(`Edit calendar`)}),(0,V.jsxs)(Yh,{children:[(0,V.jsx)(`div`,{style:O5.field,children:(0,V.jsx)($b,{label:Y.t(`Name`),value:t.common.name||``,onChange:e=>{let r=JSON.parse(JSON.stringify(t));r.common.name=e.target.value,n(r)},variant:`standard`})}),(0,V.jsx)(`div`,{style:O5.field,children:(0,V.jsx)(Dg,{control:(0,V.jsx)(Zm,{checked:t.common.enabled!==!1,onChange:e=>{let r=JSON.parse(JSON.stringify(t));r.common.enabled=e.target.checked,n(r)}}),label:(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{children:Y.t(`Active`)}),(0,V.jsx)(`div`,{style:O5.hint,children:Y.t(`Inactive calendars do not execute their events`)})]})})})]}),(0,V.jsxs)(Uh,{children:[(0,V.jsx)(Lm,{variant:`contained`,color:`secondary`,startIcon:(0,V.jsx)(_x,{}),onClick:()=>i(!0),children:Y.t(`Delete`)}),(0,V.jsx)(Lm,{disabled:!t||!e.calendar||!t.common.name||t.common.name===e.calendar.common.name&&t.common.enabled!==!1==(e.calendar.common.enabled!==!1),onClick:async()=>{await e.socket.setObject(t._id,t),await e.updateCalendars(),e.onClose()},variant:`contained`,color:`primary`,startIcon:(0,V.jsx)(Ux,{}),children:Y.t(`Save`)}),(0,V.jsx)(Lm,{onClick:e.onClose,variant:`contained`,color:`grey`,startIcon:(0,V.jsx)(cx,{}),children:Y.t(`Cancel`)})]}),r&&(0,V.jsx)(AS,{fullWidth:!1,title:Y.t(`Delete calendar`),text:Y.t(`Calendar will be deleted. Confirm?`),ok:Y.t(`Delete`),onClose:async n=>{if(n){try{let n=Object.keys(await e.socket.getObjectViewCustom(`schedule`,`schedule`,`${t._id}.`,`${t._id}.\u9999`));await e.socket.delObject(t._id),await Promise.all(n.map(t=>e.socket.delObject(t))),e.calendarPrefix===t._id&&e.setCalendarPrefix(`fullcalendar.${e.instance}`),await e.updateCalendars()}catch(e){window.alert(`Cannot delete calendar: ${e}`)}e.onClose()}i(!1)}})]}):null},A5={column:{width:`100%`,display:`flex`,flexDirection:`column`,alignItems:`start`,height:`100%`},calendars:{height:`100%`},container:{display:`flex`,width:`100%`,flex:1},tooltip:{pointerEvents:`none`}},j5=e=>{let[t,n]=(0,B.useState)(window.localStorage.getItem(`fullcalendar.calendar`)||`fullcalendar.${e.instance}`),[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)([]),[s,c]=(0,B.useState)(window.localStorage.getItem(`fullcalendar.tab`)===`1`),[l,u]=(0,B.useState)(!1),[d,f]=(0,B.useState)(window.localStorage.getItem(`fullcalendar.splitSizes`)?JSON.parse(window.localStorage.getItem(`fullcalendar.splitSizes`)):[15,85]),p=async()=>{let r=await e.socket.getObjectViewSystem(`folder`,`fullcalendar.${e.instance}.Calendars.`,`fullcalendar.${e.instance}.Calendars.\u9999`);o(Object.values(r)),Object.keys(r).includes(t)||(window.localStorage.removeItem(`fullcalendar.calendar`),n(`fullcalendar.${e.instance}`))},m=async t=>{let n=JSON.parse(JSON.stringify(t));n.common.enabled=t.common.enabled===!1,await e.socket.setObject(n._id,n),await p()},h=()=>c(e=>(window.localStorage.setItem(`fullcalendar.tab`,e?`0`:`1`),!e));return(0,B.useEffect)(()=>{let t=(e,t)=>{let n=t&&t.val||!1;u(!!n)};return p().catch(e=>console.error(e)),e.socket.subscribeState(`system.adapter.fullcalendar.${e.instance}.alive`,t).catch(e=>console.error(e)),e.socket.getState(`system.adapter.fullcalendar.${e.instance}.alive`).then(e=>u(!!(e&&e.val))).catch(e=>console.error(e)),()=>{e.socket.unsubscribeState(`system.adapter.fullcalendar.${e.instance}.alive`,t)}},[]),(0,V.jsxs)(`div`,{style:A5.column,children:[s?(0,V.jsx)(D5,{systemConfig:e.systemConfig,socket:e.socket,theme:e.theme,instance:e.instance,updateCalendars:p,changeCalendarType:h,setCalendarPrefix:n,alive:l}):(0,V.jsx)(`div`,{style:A5.container,children:(0,V.jsxs)(dD,{direction:oD.Horizontal,initialSizes:d,minWidths:[195,500],onResizeFinished:(e,t)=>{f(t),window.localStorage.setItem(`fullcalendar.splitSizes`,JSON.stringify(t))},gutterTheme:e.themeType===`dark`?sD.Dark:sD.Light,gutterClassName:e.themeType===`dark`?`Dark visGutter`:`Light visGutter`,children:[(0,V.jsx)(`div`,{style:A5.calendars,children:(0,V.jsxs)(C5,{isSimulations:!1,onChangeMode:h,title:Y.t(`Calendars`),addTitle:Y.t(`Add new calendar`),alive:l,onAdd:async()=>{let t=`fullcalendar.${e.instance}.Calendars.Calendar-${sU()}`;await e.socket.setObject(t,{type:`folder`,common:{name:`NewCalendar`},native:{}}),await p(),n(t),window.localStorage.setItem(`fullcalendar.calendar`,t),setTimeout(()=>i(t),300)},children:[(0,V.jsx)(w5,{name:Y.t(`Default`),selected:!a.find(e=>e._id===t),onClick:()=>{let t=`fullcalendar.${e.instance}`;window.localStorage.setItem(`fullcalendar.calendar`,t),n(t)}}),a.map(e=>(0,V.jsx)(w5,{name:e.common.name,color:e.common.color,icon:e.common.icon,selected:e._id===t,inactive:e.common.enabled===!1,onClick:()=>{window.localStorage.setItem(`fullcalendar.calendar`,e._id),n(e._id)},status:e.common.enabled===!1?(0,V.jsx)(lb,{title:Y.t(`Calendar is inactive. Click to activate`),slotProps:{popper:{sx:A5.tooltip}},children:(0,V.jsx)(Pd,{size:`small`,onClick:t=>{t.stopPropagation(),m(e)},children:(0,V.jsx)(wx,{})})}):null,actions:(0,V.jsxs)(V.Fragment,{children:[e.common.enabled===!1?null:(0,V.jsx)(lb,{title:Y.t(`Deactivate calendar`),slotProps:{popper:{sx:A5.tooltip}},children:(0,V.jsx)(Pd,{size:`small`,onClick:t=>{t.stopPropagation(),m(e)},children:(0,V.jsx)(Cx,{})})}),(0,V.jsx)(lb,{title:Y.t(`Edit name or delete calendar`),slotProps:{popper:{sx:A5.tooltip}},children:(0,V.jsx)(Pd,{size:`small`,onClick:t=>{i(e._id),t.stopPropagation()},children:(0,V.jsx)(bx,{})})})]})},e._id))]})}),(0,V.jsx)(d5,{systemConfig:e.systemConfig,socket:e.socket,theme:e.theme,calendarPrefix:t},t)]})}),r?(0,V.jsx)(k5,{onClose:()=>i(null),calendarPrefix:t,setCalendarPrefix:n,calendar:a.find(e=>e._id===r),socket:e.socket,instance:e.instance,updateCalendars:p}):null]})},M5=class extends HS{constructor(e){let t={...e};t.translations={en:zE,de:BE,ru:VE,pt:HE,nl:UE,fr:WE,it:GE,es:KE,pl:qE,uk:JE,"zh-cn":YE},t.sentryDSN=window.sentryDSN,window.location.port,window.socketUrl&&window.socketUrl.startsWith(`:`)&&(window.socketUrl=`${window.location.protocol}//${window.location.hostname}${window.socketUrl}`),super(e,t)}render(){return this.state.loaded?(0,V.jsx)(Kt,{injectFirst:!0,children:(0,V.jsx)(qc,{theme:this.state.theme,children:(0,V.jsx)(`div`,{style:{overflow:`auto`,height:`100%`},id:`rootDiv`,children:(0,V.jsx)(j5,{systemConfig:this._systemConfig,socket:this.socket,theme:this.state.theme,instance:this.instance,alive:!!this.state.alive,themeType:this.state.themeType})})})}):(0,V.jsx)(Kt,{injectFirst:!0,children:(0,V.jsx)(qc,{theme:this.state.theme,children:(0,V.jsx)(pS,{themeType:this.state.themeType})})})}};window.location.hostname===`localhost`||window.location.hostname===`[::1]`||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/);function N5(){`serviceWorker`in navigator&&navigator.serviceWorker.ready.then(e=>{e.unregister()})}var P5={name:`fullcalendar-admin`,version:`3.3.1`,private:!0,dependencies:{"@emotion/react":`^11.14.0`,"@emotion/styled":`^11.14.1`,"@devbookhq/splitter":`^1.4.2`,"@fullcalendar/core":`^6.1.22`,"@fullcalendar/daygrid":`^6.1.22`,"@fullcalendar/interaction":`^6.1.22`,"@fullcalendar/list":`^6.1.22`,"@fullcalendar/react":`^6.1.22`,"@fullcalendar/rrule":`^6.1.22`,"@fullcalendar/timegrid":`^6.1.22`,"@iobroker/gui-components":`^10.3.14`,"@iobroker/type-detector":`^6.2.0`,"@material-icons/svg":`^1.0.33`,"@mui/icons-material":`^9.5.0`,"@mui/material":`^9.5.0`,"@mui/system":`^9.5.0`,"@mui/x-date-pickers":`^9.16.0`,"@sentry/browser":`^11.10.0`,"@vitejs/plugin-react":`^6.1.2`,dayjs:`^1.11.23`,moment:`^2.31.0`,react:`^19.3.1`,"react-ace":`^15.0.0`,"react-dnd":`^16.0.1`,"react-dnd-html5-backend":`^16.0.1`,"react-dnd-preview":`^9.0.0`,"react-dnd-touch-backend":`^16.0.1`,"react-dom":`^19.3.1`,"react-dropzone":`^20.1.4`,"react-icons":`^5.7.0`,rrule:`^2.8.1`,suncalc2:`^1.8.1`,vite:`^8.3.5`},scripts:{start:`vite --host`,build:`vite build`,lint:`eslint -c eslint.config.mjs`,"check-ts":`tsc --noEmit --checkJS false`,tsc:`tsc --project tsconfig.json`},eslintConfig:{extends:`react-app`},homepage:`.`,browserslist:[`>0.2%`,`not dead`,`not ie <= 11`,`not op_mini all`]},F5=e=>{let t=cl(e);return t&&(t.palette.text.danger={color:`#dd5325`},t.palette.text.success={color:`#73b6a8`},t)},I5=ES.getThemeName();window.adapterName=`fullcalendar`,console.log(`iobroker.${window.adapterName}@${P5.version} using theme "${I5}"`);function L5(e,t,n){let r=(e||``).split(` `).map(e=>e.trim()).filter(e=>e),i=r.indexOf(n);return i!==-1&&r.splice(i,1),!r.includes(t)&&r.push(t),r.join(` `)}var R5=()=>{let[e,t]=(0,B.useState)(I5),n=F5(e),r=()=>n,i=n.palette.mode;return(0,B.useEffect)(()=>{i===`dark`?window.document.body.className=L5(window.document.body.className,`body-dark`,`body-light`):window.document.body.className=L5(window.document.body.className,`body-light`,`body-dark`)},[i]),(0,V.jsx)(Kt,{injectFirst:!0,children:(0,V.jsx)(qc,{theme:r(),children:(0,V.jsx)(M5,{onThemeChange:e=>t(e)})})})};function z5(){let e=document.getElementById(`root`);(0,Jc.createRoot)(e).render((0,V.jsx)(R5,{}))}z5(),N5();
|
package/admin/tab_m.html
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
document.head.appendChild(script);
|
|
44
44
|
</script>
|
|
45
45
|
<!--script type="text/javascript" src="../../socket.io/socket.io.js"></script-->
|
|
46
|
-
<script type="module" crossorigin src="./assets/index-
|
|
46
|
+
<script type="module" crossorigin src="./assets/index-BF-xuLMY.js"></script>
|
|
47
47
|
<link rel="stylesheet" crossorigin href="./assets/index-gxlVzAAs.css">
|
|
48
48
|
</head>
|
|
49
49
|
<body>
|
package/build/main.js
CHANGED
|
@@ -78,6 +78,13 @@ const COMMANDS = [
|
|
|
78
78
|
'name, calendar (name or ID), color',
|
|
79
79
|
answer: '{id, name, type, start, ts, cron?}: start/ts = first execution',
|
|
80
80
|
},
|
|
81
|
+
{
|
|
82
|
+
command: 'updateEvent',
|
|
83
|
+
params: 'id, and every parameter of addEvent to change (the others stay): start or in moves a one-shot event, ' +
|
|
84
|
+
'of a series it changes the time of day; recurring/rrule make it a series, recurring: false (with start ' +
|
|
85
|
+
'or in) a one-shot event; enabled; calendar moves it (new id)',
|
|
86
|
+
answer: '{id, name, type, enabled, start, ts, cron?}: start/ts = next execution, null if none',
|
|
87
|
+
},
|
|
81
88
|
{
|
|
82
89
|
command: 'deleteEvent',
|
|
83
90
|
params: 'id, ids (a list) and/or name (all events with this name), optional calendar for name',
|
|
@@ -98,10 +105,10 @@ const COMMANDS = [
|
|
|
98
105
|
function isGiven(value) {
|
|
99
106
|
return value !== undefined && value !== null && value !== '';
|
|
100
107
|
}
|
|
101
|
-
function stopEvent(event) {
|
|
108
|
+
function stopEvent(adapter, event) {
|
|
102
109
|
if (event.timer) {
|
|
103
|
-
clearTimeout(event.timer);
|
|
104
|
-
event.timer =
|
|
110
|
+
adapter.clearTimeout(event.timer);
|
|
111
|
+
event.timer = undefined;
|
|
105
112
|
}
|
|
106
113
|
}
|
|
107
114
|
function checkEvent(event) {
|
|
@@ -173,13 +180,13 @@ function buildOverlap(enumIds, enumObjs, enumsExceptions) {
|
|
|
173
180
|
}
|
|
174
181
|
class Fullcalendar extends adapter_core_1.Adapter {
|
|
175
182
|
events = {};
|
|
176
|
-
nextTimer
|
|
183
|
+
nextTimer;
|
|
177
184
|
/** cached `system.config` object (`systemConfig` is taken by the base class) */
|
|
178
185
|
sysConfig;
|
|
179
186
|
/** cached own `system.adapter.*` object (`adapterConfig` is taken by the base class) */
|
|
180
187
|
instanceConfig;
|
|
181
|
-
timeZoneInterval
|
|
182
|
-
updateInterval
|
|
188
|
+
timeZoneInterval;
|
|
189
|
+
updateInterval;
|
|
183
190
|
/** system language (`language` is taken by the base class) */
|
|
184
191
|
lang = 'en';
|
|
185
192
|
names = {};
|
|
@@ -195,9 +202,9 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
195
202
|
/** object IDs of the calendars switched off (`common.enabled === false` of the calendar folder) */
|
|
196
203
|
disabledCalendars = new Set();
|
|
197
204
|
/** debounce of the agenda states */
|
|
198
|
-
agendaTimer
|
|
205
|
+
agendaTimer;
|
|
199
206
|
/** re-renders the agenda at midnight: "today" and "tomorrow" move on */
|
|
200
|
-
midnightTimer
|
|
207
|
+
midnightTimer;
|
|
201
208
|
/** set at the end of `onReady`: before, the events are not read yet and the agenda would come out empty */
|
|
202
209
|
agendaReady = false;
|
|
203
210
|
constructor(options = {}) {
|
|
@@ -339,10 +346,10 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
339
346
|
return;
|
|
340
347
|
}
|
|
341
348
|
if (this.agendaTimer) {
|
|
342
|
-
clearTimeout(this.agendaTimer);
|
|
349
|
+
this.clearTimeout(this.agendaTimer);
|
|
343
350
|
}
|
|
344
|
-
this.agendaTimer = setTimeout(() => {
|
|
345
|
-
this.agendaTimer =
|
|
351
|
+
this.agendaTimer = this.setTimeout(() => {
|
|
352
|
+
this.agendaTimer = undefined;
|
|
346
353
|
this.renderAgenda().catch(e => this.log.warn(`Cannot update the agenda: ${e}`));
|
|
347
354
|
}, 300);
|
|
348
355
|
}
|
|
@@ -356,10 +363,10 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
356
363
|
await this.setStateChangedAsync('events.next', JSON.stringify(agenda.next), true);
|
|
357
364
|
await this.setStateChangedAsync('events.count', agenda.list.length, true);
|
|
358
365
|
if (this.midnightTimer) {
|
|
359
|
-
clearTimeout(this.midnightTimer);
|
|
366
|
+
this.clearTimeout(this.midnightTimer);
|
|
360
367
|
}
|
|
361
|
-
this.midnightTimer = setTimeout(() => {
|
|
362
|
-
this.midnightTimer =
|
|
368
|
+
this.midnightTimer = this.setTimeout(() => {
|
|
369
|
+
this.midnightTimer = undefined;
|
|
363
370
|
this.scheduleAgenda();
|
|
364
371
|
}, (0, agenda_1.startOfDay)(now, 1).getTime() - now.getTime() + 1000);
|
|
365
372
|
}
|
|
@@ -378,6 +385,65 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
378
385
|
if (params.value === undefined) {
|
|
379
386
|
throw new Error('"value" is missing');
|
|
380
387
|
}
|
|
388
|
+
const obj = await this.writableState(oid);
|
|
389
|
+
const recurrence = (0, recurrence_1.parseRecurrence)(params);
|
|
390
|
+
const time = this.resolveTime(params, !!recurrence);
|
|
391
|
+
if (!time) {
|
|
392
|
+
throw new Error('Give "start" (a time) or "in" (a delay)');
|
|
393
|
+
}
|
|
394
|
+
const action = this.resolveAction(params, params.value);
|
|
395
|
+
const type = action.type;
|
|
396
|
+
const calendarId = this.findCalendar(params.calendar, await this.readCalendars());
|
|
397
|
+
const id = `${calendarId}.event-${(0, node_crypto_1.randomUUID)()}`;
|
|
398
|
+
const states = obj.common.states;
|
|
399
|
+
const native = {
|
|
400
|
+
id: Date.now(),
|
|
401
|
+
type,
|
|
402
|
+
oid,
|
|
403
|
+
startValue: params.value,
|
|
404
|
+
};
|
|
405
|
+
if (recurrence) {
|
|
406
|
+
native.cron = (0, recurrence_1.recurrenceToCron)(recurrence, time);
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
native.start = timeUtils.toLocalTime(time);
|
|
410
|
+
}
|
|
411
|
+
if (states && typeof states === 'object' && !Array.isArray(states)) {
|
|
412
|
+
native.states = states;
|
|
413
|
+
}
|
|
414
|
+
if (action.intervals) {
|
|
415
|
+
native.intervals = action.intervals;
|
|
416
|
+
}
|
|
417
|
+
const first = this.firstExecution(id, native);
|
|
418
|
+
const name = typeof params.name === 'string' && params.name.trim()
|
|
419
|
+
? params.name.trim()
|
|
420
|
+
: (await this.getStateName(oid)).name;
|
|
421
|
+
await this.setForeignObjectAsync(id, {
|
|
422
|
+
type: 'schedule',
|
|
423
|
+
common: {
|
|
424
|
+
name,
|
|
425
|
+
enabled: true,
|
|
426
|
+
color: typeof params.color === 'string' && params.color ? params.color : '#3A87AD',
|
|
427
|
+
icon: (await this.getImage(obj)) || undefined,
|
|
428
|
+
},
|
|
429
|
+
native,
|
|
430
|
+
});
|
|
431
|
+
const start = timeUtils.toLocalTime(first);
|
|
432
|
+
this.log.info(`Event "${name}" created: ${oid} = ${(0, agenda_1.show)(params.value)} ${native.cron ? `with cron "${native.cron}", next at` : 'at'} ${start}`);
|
|
433
|
+
const result = {
|
|
434
|
+
id,
|
|
435
|
+
name,
|
|
436
|
+
type,
|
|
437
|
+
start,
|
|
438
|
+
ts: first.getTime(),
|
|
439
|
+
};
|
|
440
|
+
if (native.cron) {
|
|
441
|
+
result.cron = native.cron;
|
|
442
|
+
}
|
|
443
|
+
return result;
|
|
444
|
+
}
|
|
445
|
+
/** The state an event writes: it must exist and be writable */
|
|
446
|
+
async writableState(oid) {
|
|
381
447
|
const obj = await this.getForeignObjectAsync(oid);
|
|
382
448
|
if (obj?.type !== 'state') {
|
|
383
449
|
throw new Error(`State "${oid}" does not exist`);
|
|
@@ -385,22 +451,30 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
385
451
|
if (obj.common.write === false) {
|
|
386
452
|
throw new Error(`State "${oid}" is read-only`);
|
|
387
453
|
}
|
|
388
|
-
|
|
454
|
+
return obj;
|
|
455
|
+
}
|
|
456
|
+
/**
|
|
457
|
+
* The time of `start` or `in`, null if neither is given. A one-shot time must not be in the past, "07:30" means
|
|
458
|
+
* the next 07:30 then. A series may start in the past (a birthday): it runs at its next date.
|
|
459
|
+
*
|
|
460
|
+
* @param params the message
|
|
461
|
+
* @param recurring the event is a series
|
|
462
|
+
*/
|
|
463
|
+
resolveTime(params, recurring) {
|
|
389
464
|
let time;
|
|
390
|
-
if (params.start
|
|
465
|
+
if (isGiven(params.start)) {
|
|
391
466
|
time = (0, agenda_1.parseTime)(params.start);
|
|
392
467
|
if (!time) {
|
|
393
468
|
throw new Error(`Cannot understand the time "${(0, agenda_1.show)(params.start)}"`);
|
|
394
469
|
}
|
|
395
|
-
|
|
396
|
-
if (!recurrence &&
|
|
470
|
+
if (!recurring &&
|
|
397
471
|
typeof params.start === 'string' &&
|
|
398
472
|
/^\d{1,2}:\d{2}(:\d{2})?$/.test(params.start.trim()) &&
|
|
399
473
|
time.getTime() < Date.now() - 1000) {
|
|
400
474
|
time = new Date(time.getFullYear(), time.getMonth(), time.getDate() + 1, time.getHours(), time.getMinutes(), time.getSeconds());
|
|
401
475
|
}
|
|
402
476
|
}
|
|
403
|
-
else if (params.in
|
|
477
|
+
else if (isGiven(params.in)) {
|
|
404
478
|
const seconds = (0, agenda_1.parseDelaySeconds)(params.in);
|
|
405
479
|
if (seconds === null) {
|
|
406
480
|
throw new Error(`Cannot understand the delay "${(0, agenda_1.show)(params.in)}"`);
|
|
@@ -408,105 +482,258 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
408
482
|
time = new Date(Date.now() + seconds * 1000);
|
|
409
483
|
}
|
|
410
484
|
else {
|
|
411
|
-
|
|
485
|
+
return null;
|
|
412
486
|
}
|
|
413
487
|
// the scheduler compares whole seconds
|
|
414
488
|
time = new Date(Math.round(time.getTime() / 1000) * 1000);
|
|
415
|
-
|
|
416
|
-
if (!recurrence && time.getTime() < Date.now() - 1000) {
|
|
489
|
+
if (!recurring && time.getTime() < Date.now() - 1000) {
|
|
417
490
|
throw new Error(`The time ${timeUtils.toLocalTime(time)} is in the past`);
|
|
418
491
|
}
|
|
419
|
-
|
|
492
|
+
return time;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* What an event does: `type` and the second write (`intervals`) from `type`, `duration` (or `durationSec`, the name
|
|
496
|
+
* in `events.list`) and `endValue`. Missing parameters are taken from `current` (an existing event).
|
|
497
|
+
*
|
|
498
|
+
* @param params the message
|
|
499
|
+
* @param value the value the event writes first
|
|
500
|
+
* @param current the event before the change
|
|
501
|
+
* @param current.native the settings of the event before the change
|
|
502
|
+
*/
|
|
503
|
+
resolveAction(params, value, current) {
|
|
504
|
+
const old = current?.native;
|
|
505
|
+
const oldType = old?.type || 'single';
|
|
506
|
+
const oldOffset = parseInt(String(old?.intervals?.[0]?.timeOffset || 0), 10);
|
|
420
507
|
const durationParam = isGiven(params.duration) ? params.duration : params.durationSec;
|
|
421
|
-
|
|
422
|
-
if
|
|
508
|
+
const durationGiven = isGiven(durationParam);
|
|
509
|
+
// the scheduler takes 1 second, if an old event has no duration stored
|
|
510
|
+
let duration = old && oldType !== 'single' ? (oldOffset || 1000) / 1000 : null;
|
|
511
|
+
if (durationGiven) {
|
|
423
512
|
duration = (0, agenda_1.parseDelaySeconds)(durationParam);
|
|
424
513
|
if (!duration) {
|
|
425
514
|
throw new Error(`Cannot understand the duration "${(0, agenda_1.show)(durationParam)}"`);
|
|
426
515
|
}
|
|
427
516
|
}
|
|
428
|
-
|
|
517
|
+
let type;
|
|
518
|
+
if (isGiven(params.type)) {
|
|
519
|
+
type = params.type;
|
|
520
|
+
}
|
|
521
|
+
else if (durationGiven) {
|
|
522
|
+
type = oldType === 'toggle' ? 'toggle' : 'double';
|
|
523
|
+
}
|
|
524
|
+
else {
|
|
525
|
+
type = old ? oldType : duration ? 'double' : 'single';
|
|
526
|
+
}
|
|
429
527
|
if (type !== 'single' && type !== 'double' && type !== 'toggle') {
|
|
430
528
|
throw new Error(`Unknown type "${(0, agenda_1.show)(type)}" (single, double or toggle)`);
|
|
431
529
|
}
|
|
530
|
+
if (type === 'single' && !durationGiven) {
|
|
531
|
+
// switched to "single": the old duration is dropped
|
|
532
|
+
duration = null;
|
|
533
|
+
}
|
|
432
534
|
if (type !== 'single' && !duration) {
|
|
433
535
|
throw new Error(`Type "${type}" needs "duration" (seconds, or "90s", "5m", "1h")`);
|
|
434
536
|
}
|
|
435
537
|
if (type === 'single' && duration) {
|
|
436
538
|
throw new Error('"duration" needs the type "double" or "toggle"');
|
|
437
539
|
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
540
|
+
if (type === 'single') {
|
|
541
|
+
return { type };
|
|
542
|
+
}
|
|
543
|
+
const timeOffset = Math.round(duration * 1000);
|
|
544
|
+
if (type === 'toggle') {
|
|
545
|
+
return { type, intervals: [{ timeOffset }] };
|
|
546
|
+
}
|
|
547
|
+
let endValue = params.endValue;
|
|
548
|
+
if (endValue === undefined && oldType === 'double' && old?.intervals?.[0]?.value !== undefined) {
|
|
549
|
+
endValue = old.intervals[0].value;
|
|
550
|
+
// a boolean event that now switches the other way: its end value follows
|
|
551
|
+
if (typeof value === 'boolean' &&
|
|
552
|
+
typeof old.startValue === 'boolean' &&
|
|
553
|
+
value !== old.startValue &&
|
|
554
|
+
endValue === !old.startValue) {
|
|
555
|
+
endValue = !value;
|
|
446
556
|
}
|
|
447
557
|
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
type,
|
|
454
|
-
oid,
|
|
455
|
-
startValue: params.value,
|
|
456
|
-
};
|
|
457
|
-
if (recurrence) {
|
|
458
|
-
native.cron = (0, recurrence_1.recurrenceToCron)(recurrence, time);
|
|
558
|
+
if (endValue === undefined) {
|
|
559
|
+
if (typeof value !== 'boolean') {
|
|
560
|
+
throw new Error('"endValue" is missing (needed for "duration" unless the value is a boolean)');
|
|
561
|
+
}
|
|
562
|
+
endValue = !value;
|
|
459
563
|
}
|
|
460
|
-
|
|
461
|
-
|
|
564
|
+
return { type, intervals: [{ value: endValue, timeOffset }] };
|
|
565
|
+
}
|
|
566
|
+
/**
|
|
567
|
+
* The next execution of a series, or the time of a one-shot event
|
|
568
|
+
*
|
|
569
|
+
* @param id ID of the event
|
|
570
|
+
* @param native the event
|
|
571
|
+
*/
|
|
572
|
+
firstExecution(id, native) {
|
|
573
|
+
if (native.cron) {
|
|
574
|
+
// a yearly event on February 29 can be 4 years ahead
|
|
575
|
+
const fiveYears = new Date(Date.now() + 5 * 366 * 24 * 3600_000);
|
|
576
|
+
const next = (0, agenda_1.occurrencesOf)({ _id: id, common: { enabled: true }, native }, new Date(), fiveYears, this.resolveAstro, 1)[0];
|
|
577
|
+
if (!next) {
|
|
578
|
+
throw new Error(`The recurrence never happens (cron "${native.cron}")`);
|
|
579
|
+
}
|
|
580
|
+
return next;
|
|
462
581
|
}
|
|
463
|
-
|
|
464
|
-
native.
|
|
582
|
+
const time = native.astro
|
|
583
|
+
? this.resolveAstro(native.astro, native.offset, timeUtils.parseISOLocal(native.start))
|
|
584
|
+
: timeUtils.parseISOLocal(native.start);
|
|
585
|
+
if (!time) {
|
|
586
|
+
throw new Error(`Cannot calculate the time of the event`);
|
|
587
|
+
}
|
|
588
|
+
return time;
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* Change an event in place: every parameter of `addEvent` can be given, the missing ones stay as they are.
|
|
592
|
+
*
|
|
593
|
+
* - `start` or `in` alone moves a one-shot event; of a series it changes the time of day, the days stay.
|
|
594
|
+
* - `recurring`/`rrule` make it a series (at the time of `start`, or at its current time of day),
|
|
595
|
+
* `recurring: false` with `start` or `in` makes it a one-shot event again.
|
|
596
|
+
* - `calendar` moves it to another calendar: then it gets a new ID (the answer has it).
|
|
597
|
+
* - `enabled` switches it on or off.
|
|
598
|
+
*
|
|
599
|
+
* @param params the message
|
|
600
|
+
*/
|
|
601
|
+
async updateEvent(params) {
|
|
602
|
+
const id = typeof params.id === 'string' ? params.id.trim() : '';
|
|
603
|
+
if (!id) {
|
|
604
|
+
throw new Error('"id" is missing');
|
|
465
605
|
}
|
|
466
|
-
if (
|
|
467
|
-
|
|
606
|
+
if (!id.startsWith(`${this.namespace}.`) || id.startsWith(`${this.namespace}.Simulations.`)) {
|
|
607
|
+
throw new Error(`"${id}" is no event of ${this.namespace}`);
|
|
468
608
|
}
|
|
469
|
-
|
|
470
|
-
|
|
609
|
+
const obj = (await this.getForeignObjectAsync(id));
|
|
610
|
+
if (obj?.type !== 'schedule' || !obj.native) {
|
|
611
|
+
throw new Error(`Event "${id}" does not exist`);
|
|
471
612
|
}
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
613
|
+
const old = { native: JSON.parse(JSON.stringify(obj.native)) };
|
|
614
|
+
const native = JSON.parse(JSON.stringify(obj.native));
|
|
615
|
+
const common = { ...obj.common };
|
|
616
|
+
// what it writes
|
|
617
|
+
let stateObj = null;
|
|
618
|
+
if (isGiven(params.oid)) {
|
|
619
|
+
native.oid = (0, agenda_1.show)(params.oid).trim();
|
|
620
|
+
stateObj = await this.writableState(native.oid);
|
|
621
|
+
const states = stateObj.common.states;
|
|
622
|
+
if (states && typeof states === 'object' && !Array.isArray(states)) {
|
|
623
|
+
native.states = states;
|
|
624
|
+
}
|
|
625
|
+
else {
|
|
626
|
+
delete native.states;
|
|
480
627
|
}
|
|
481
|
-
first = next;
|
|
482
628
|
}
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
629
|
+
if (params.value !== undefined) {
|
|
630
|
+
native.startValue = params.value;
|
|
631
|
+
}
|
|
632
|
+
if ([params.type, params.duration, params.durationSec].some(isGiven) ||
|
|
633
|
+
params.endValue !== undefined ||
|
|
634
|
+
params.value !== undefined) {
|
|
635
|
+
const action = this.resolveAction(params, native.startValue, old);
|
|
636
|
+
native.type = action.type;
|
|
637
|
+
if (action.intervals) {
|
|
638
|
+
native.intervals = action.intervals;
|
|
639
|
+
}
|
|
640
|
+
else {
|
|
641
|
+
delete native.intervals;
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
// when
|
|
645
|
+
const recurrenceGiven = params.recurring !== undefined || isGiven(params.rrule);
|
|
646
|
+
if (recurrenceGiven || isGiven(params.start) || isGiven(params.in)) {
|
|
647
|
+
const recurrence = recurrenceGiven ? (0, recurrence_1.parseRecurrence)(params) : null;
|
|
648
|
+
const keepSeries = !recurrenceGiven && !!native.cron;
|
|
649
|
+
const time = this.resolveTime(params, !!recurrence || keepSeries);
|
|
650
|
+
if (keepSeries) {
|
|
651
|
+
// a series moved to another time of day: the days stay
|
|
652
|
+
const parts = native.cron.trim().split(/\s+/);
|
|
653
|
+
const offset = parts.length === 6 ? 1 : 0;
|
|
654
|
+
if (parts.length === 6) {
|
|
655
|
+
parts[0] = '0';
|
|
656
|
+
}
|
|
657
|
+
parts[offset] = String(time.getMinutes());
|
|
658
|
+
parts[offset + 1] = String(time.getHours());
|
|
659
|
+
native.cron = parts.join(' ');
|
|
660
|
+
}
|
|
661
|
+
else if (recurrence) {
|
|
662
|
+
native.cron = (0, recurrence_1.recurrenceToCron)(recurrence, time || this.timeOfDay(native));
|
|
663
|
+
delete native.start;
|
|
664
|
+
}
|
|
665
|
+
else {
|
|
666
|
+
if (!time) {
|
|
667
|
+
throw new Error('Give "start" (a time) or "in" (a delay) for the one-shot event');
|
|
668
|
+
}
|
|
669
|
+
native.start = timeUtils.toLocalTime(time);
|
|
670
|
+
delete native.cron;
|
|
671
|
+
}
|
|
672
|
+
// a new time replaces an astro time
|
|
673
|
+
delete native.astro;
|
|
674
|
+
delete native.offset;
|
|
675
|
+
}
|
|
676
|
+
if (typeof params.name === 'string' && params.name.trim()) {
|
|
677
|
+
common.name = params.name.trim();
|
|
678
|
+
}
|
|
679
|
+
if (typeof params.color === 'string' && params.color) {
|
|
680
|
+
common.color = params.color;
|
|
681
|
+
}
|
|
682
|
+
if (params.enabled !== undefined) {
|
|
683
|
+
common.enabled = params.enabled !== false && params.enabled !== 'false' && params.enabled !== 0;
|
|
684
|
+
}
|
|
685
|
+
if (stateObj) {
|
|
686
|
+
common.icon = (await this.getImage(stateObj)) || undefined;
|
|
687
|
+
}
|
|
688
|
+
let newId = id;
|
|
689
|
+
if (isGiven(params.calendar)) {
|
|
690
|
+
const calendarId = this.findCalendar(params.calendar, await this.readCalendars());
|
|
691
|
+
if (calendarId !== this.calendarIdOf(id)) {
|
|
692
|
+
newId = `${calendarId}.event-${(0, node_crypto_1.randomUUID)()}`;
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
const next = common.enabled ? this.firstExecution(newId, native) : null;
|
|
696
|
+
const event = {
|
|
487
697
|
type: 'schedule',
|
|
488
|
-
common
|
|
489
|
-
name,
|
|
490
|
-
enabled: true,
|
|
491
|
-
color: typeof params.color === 'string' && params.color ? params.color : '#3A87AD',
|
|
492
|
-
icon: (await this.getImage(obj)) || undefined,
|
|
493
|
-
},
|
|
698
|
+
common,
|
|
494
699
|
native,
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
|
|
700
|
+
};
|
|
701
|
+
await this.setForeignObjectAsync(newId, event);
|
|
702
|
+
if (newId !== id) {
|
|
703
|
+
await this.delForeignObjectAsync(id);
|
|
704
|
+
}
|
|
705
|
+
const name = (0, agenda_1.textOf)(common.name, this.lang);
|
|
706
|
+
this.log.info(`Event "${name}" changed${newId !== id ? ` and moved to ${this.calendarIdOf(newId)}` : ''}`);
|
|
498
707
|
const result = {
|
|
499
|
-
id,
|
|
708
|
+
id: newId,
|
|
500
709
|
name,
|
|
501
|
-
type,
|
|
502
|
-
|
|
503
|
-
|
|
710
|
+
type: native.type || 'single',
|
|
711
|
+
enabled: !!common.enabled,
|
|
712
|
+
// a one-shot event in the past has no next execution
|
|
713
|
+
start: next && next.getTime() >= Date.now() - 1000 ? timeUtils.toLocalTime(next) : null,
|
|
714
|
+
ts: next && next.getTime() >= Date.now() - 1000 ? next.getTime() : null,
|
|
504
715
|
};
|
|
505
716
|
if (native.cron) {
|
|
506
717
|
result.cron = native.cron;
|
|
507
718
|
}
|
|
508
719
|
return result;
|
|
509
720
|
}
|
|
721
|
+
/**
|
|
722
|
+
* Time of day of an event today, from its cron or its start
|
|
723
|
+
*
|
|
724
|
+
* @param native the event
|
|
725
|
+
*/
|
|
726
|
+
timeOfDay(native) {
|
|
727
|
+
const now = new Date();
|
|
728
|
+
if (native.cron) {
|
|
729
|
+
const parts = native.cron.trim().split(/\s+/);
|
|
730
|
+
const offset = parts.length === 6 ? 1 : 0;
|
|
731
|
+
const minutes = parseInt(parts[offset], 10) || 0;
|
|
732
|
+
const hours = parseInt(parts[offset + 1], 10) || 0;
|
|
733
|
+
return new Date(now.getFullYear(), now.getMonth(), now.getDate(), hours, minutes, 0, 0);
|
|
734
|
+
}
|
|
735
|
+
return native.start ? timeUtils.parseISOLocal(native.start) : now;
|
|
736
|
+
}
|
|
510
737
|
/**
|
|
511
738
|
* Delete calendar events by `id`, a list `ids` (or `id` as a list) and/or by `name` (all events with exactly this
|
|
512
739
|
* name, optionally only in `calendar`). Events of simulations live inside the simulation object and are not deleted.
|
|
@@ -625,6 +852,9 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
625
852
|
case 'getEvent':
|
|
626
853
|
result = await this.getEvent(params);
|
|
627
854
|
break;
|
|
855
|
+
case 'updateEvent':
|
|
856
|
+
result = await this.updateEvent(params);
|
|
857
|
+
break;
|
|
628
858
|
case 'listEvents':
|
|
629
859
|
result = await this.listEvents(params);
|
|
630
860
|
break;
|
|
@@ -768,7 +998,7 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
768
998
|
// stop playing
|
|
769
999
|
this.recordingSimulations[id].native.events.forEach(event => {
|
|
770
1000
|
if (this.events[event._id]) {
|
|
771
|
-
stopEvent(this.events[event._id]);
|
|
1001
|
+
stopEvent(this, this.events[event._id]);
|
|
772
1002
|
delete this.events[event._id];
|
|
773
1003
|
}
|
|
774
1004
|
});
|
|
@@ -950,7 +1180,7 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
950
1180
|
}
|
|
951
1181
|
}
|
|
952
1182
|
if (event.native.type !== 'single' && event.native.intervals && event.native.intervals.length) {
|
|
953
|
-
event.timer = setTimeout((_event, _obj) => {
|
|
1183
|
+
event.timer = this.setTimeout((_event, _obj) => {
|
|
954
1184
|
if (_event.native.type === 'toggle') {
|
|
955
1185
|
let value = _event.native.startValue;
|
|
956
1186
|
if (_obj.common.type === 'number') {
|
|
@@ -1032,7 +1262,7 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
1032
1262
|
}
|
|
1033
1263
|
calculateNext() {
|
|
1034
1264
|
if (this.nextTimer) {
|
|
1035
|
-
clearTimeout(this.nextTimer);
|
|
1265
|
+
this.clearTimeout(this.nextTimer);
|
|
1036
1266
|
}
|
|
1037
1267
|
let timeout = null;
|
|
1038
1268
|
const nowObj = new Date();
|
|
@@ -1126,7 +1356,7 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
1126
1356
|
timeout = 3600000;
|
|
1127
1357
|
}
|
|
1128
1358
|
this.log.debug(`Next check in ${Math.round(timeout / 1000)} seconds`);
|
|
1129
|
-
this.nextTimer = setTimeout(() => this.calculateNext(), timeout);
|
|
1359
|
+
this.nextTimer = this.setTimeout(() => this.calculateNext(), timeout);
|
|
1130
1360
|
this.scheduleAgenda();
|
|
1131
1361
|
}
|
|
1132
1362
|
getRoomFunc(id) {
|
|
@@ -1159,7 +1389,7 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
1159
1389
|
setTimeZone() {
|
|
1160
1390
|
void this.setState('info.timeZone', new Date().getTimezoneOffset(), true);
|
|
1161
1391
|
// because of winter time, update timezone every 30 minutes
|
|
1162
|
-
this.timeZoneInterval = this.timeZoneInterval || setInterval(() => this.setTimeZone(), 30000);
|
|
1392
|
+
this.timeZoneInterval = this.timeZoneInterval || this.setInterval(() => this.setTimeZone(), 30000);
|
|
1163
1393
|
}
|
|
1164
1394
|
async onStateChange(stateId, state) {
|
|
1165
1395
|
if (stateId && state) {
|
|
@@ -1331,7 +1561,7 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
1331
1561
|
}
|
|
1332
1562
|
const wasEvent = !!this.events[id];
|
|
1333
1563
|
if (this.events[id]) {
|
|
1334
|
-
stopEvent(this.events[id]);
|
|
1564
|
+
stopEvent(this, this.events[id]);
|
|
1335
1565
|
delete this.events[id];
|
|
1336
1566
|
}
|
|
1337
1567
|
if (this.names[id]) {
|
|
@@ -1353,27 +1583,27 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
1353
1583
|
}
|
|
1354
1584
|
onUnload(callback) {
|
|
1355
1585
|
if (this.timeZoneInterval) {
|
|
1356
|
-
clearInterval(this.timeZoneInterval);
|
|
1357
|
-
this.timeZoneInterval =
|
|
1586
|
+
this.clearInterval(this.timeZoneInterval);
|
|
1587
|
+
this.timeZoneInterval = undefined;
|
|
1358
1588
|
}
|
|
1359
1589
|
if (this.updateInterval) {
|
|
1360
|
-
clearInterval(this.updateInterval);
|
|
1361
|
-
this.updateInterval =
|
|
1590
|
+
this.clearInterval(this.updateInterval);
|
|
1591
|
+
this.updateInterval = undefined;
|
|
1362
1592
|
}
|
|
1363
1593
|
if (this.nextTimer) {
|
|
1364
|
-
clearTimeout(this.nextTimer);
|
|
1365
|
-
this.nextTimer =
|
|
1594
|
+
this.clearTimeout(this.nextTimer);
|
|
1595
|
+
this.nextTimer = undefined;
|
|
1366
1596
|
}
|
|
1367
1597
|
if (this.agendaTimer) {
|
|
1368
|
-
clearTimeout(this.agendaTimer);
|
|
1369
|
-
this.agendaTimer =
|
|
1598
|
+
this.clearTimeout(this.agendaTimer);
|
|
1599
|
+
this.agendaTimer = undefined;
|
|
1370
1600
|
}
|
|
1371
1601
|
if (this.midnightTimer) {
|
|
1372
|
-
clearTimeout(this.midnightTimer);
|
|
1373
|
-
this.midnightTimer =
|
|
1602
|
+
this.clearTimeout(this.midnightTimer);
|
|
1603
|
+
this.midnightTimer = undefined;
|
|
1374
1604
|
}
|
|
1375
1605
|
this.agendaReady = false;
|
|
1376
|
-
Object.keys(this.events).forEach(id => stopEvent(this.events[id]));
|
|
1606
|
+
Object.keys(this.events).forEach(id => stopEvent(this, this.events[id]));
|
|
1377
1607
|
callback && callback();
|
|
1378
1608
|
}
|
|
1379
1609
|
async onReady() {
|
|
@@ -1470,7 +1700,7 @@ class Fullcalendar extends adapter_core_1.Adapter {
|
|
|
1470
1700
|
}
|
|
1471
1701
|
}
|
|
1472
1702
|
await this.subscribeForeignStatesAsync(`${this.namespace}.Simulations.*`); // subscribe on own events and simulations
|
|
1473
|
-
this.updateInterval = setInterval(() => {
|
|
1703
|
+
this.updateInterval = this.setInterval(() => {
|
|
1474
1704
|
Object.keys(this.recordingSimulations).forEach(id => {
|
|
1475
1705
|
if ((this.recordingSimulations[id].value === 'record' ||
|
|
1476
1706
|
this.recordingSimulations[id].value === 'pause') &&
|
package/build/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "fullcalendar",
|
|
4
|
-
"version": "3.3.
|
|
4
|
+
"version": "3.3.1",
|
|
5
5
|
"news": {
|
|
6
|
+
"3.3.1": {
|
|
7
|
+
"en": "Added the admin >= 7.6.17 dependency, the translated name of the admin tab and the uk translations (#557)\nThe adapter timers (`this.setTimeout`/`this.setInterval`) are used instead of the plain ones (#557)\nAdded the message `updateEvent`: move or change an event without deleting and creating it again",
|
|
8
|
+
"de": "Admin >= 7.6.17, übersetzter Name des Admin-Tabs und UK-Übersetzungen hinzugefügt (#557)\nDie Adapter-Timer (`this.setTimeout`/`this.setInterval`) werden benutzt (#557)\nNachricht `updateEvent` hinzugefügt: Event verschieben oder ändern, ohne es neu zu erstellen",
|
|
9
|
+
"ru": "Добавлена зависимость admin >= 7.6.17, переведенное имя вкладки admin и переводы для Великобритании (#557)\nТаймеры адаптера (`this.setTimeout`/`this.setInterval`) используются вместо обычных (#557)\nДобавлено сообщение `updateEvent`: перемещайте или изменяйте событие, не удаляя и не создавая его снова",
|
|
10
|
+
"pt": "Adicionou a dependência admin >= 7.6.17, o nome traduzido da aba admin e as traduções do Reino Unido (#557)\nOs timers do adaptador (`this.setTimeout`/`this.setInterval`) são usados em vez dos simples (#557)\nAdicionada a mensagem `updateEvent`: mova ou altere um evento sem excluí-lo e criá-lo",
|
|
11
|
+
"nl": "De afhankelijkheid admin >= 7.6.17, de vertaalde naam van het tabblad admin en de Engelse vertalingen (#557) toegevoegd\nDe timers van de adapter (`This.setTimeout`/`This.setInterval`) worden gebruikt in plaats van de gewone timers (#557)\nDe boodschap `UpdateEvent` toegevoegd: een gebeurtenis verplaatsen of wijzigen zonder deze te verwijderen en opnieuw aan te maken",
|
|
12
|
+
"fr": "Ajout de la dépendance admin >= 7.6.17, du nom traduit de l'onglet admin et des traductions britanniques (#557)\nLes temporisateurs (`this.setTimeout`/`this.setInterval`) sont utilisés au lieu des simples (#557)\nAjout du message « UpdateEvent » : déplacer ou modifier un événement sans le supprimer ni le créer",
|
|
13
|
+
"it": "Aggiunti la dipendenza admin >= 7.6.17, il nome tradotto e le traduzioni in UK (#557)\nI timer adattatori (`this.setTimeout`/`this.setInterval`) sono usati al posto di quelli semplici (#557)\nAggiunto il messaggio `UpdateEvent`: sposta o modifica un evento senza eliminarlo e crearlo",
|
|
14
|
+
"es": "Se ha añadido la dependencia admin >= 7.6.17, el nombre traducido de la pestaña admin y UK Translations (#557)\nLos temporizadores adaptadores (`this.setTimeout`/`this.setInterval`) se usan en lugar de los normales (#557)\nAñadió el mensaje `UpdateEvent`: mover o cambiar un evento sin eliminarlo y volver a crearlo",
|
|
15
|
+
"pl": "Dodano zależność admin >= 7.6.17, przetłumaczoną nazwę zakładki admin i tłumaczenia brytyjskie (#557)\nCzasomierze adaptera (`this.setTimeout`/`this.setInterval`) są używane zamiast zwykłych (#557)\nDodano komunikat `UpdateEvent`: przenieś lub zmień zdarzenie bez usuwania i ponownego tworzenia",
|
|
16
|
+
"uk": "Додано залежність admin >= 7.6.17, перекладена назва вкладки адміністратора та переклади Великобританії (#557)\nЗамість простих (#557) використовуються таймери адаптера (`this.setTimeout`/`this.setInterval`)\nДодано повідомлення `updateEvent`: перемістіть або змініть подію, не видаляючи та створюючи її знову",
|
|
17
|
+
"zh-cn": "添加了管理员 >= 7.6.17 依赖项、管理选项卡的翻译名称和英国翻译 (#557)\n使用适配器计时器 (`this.setTimeout`/`this.setInterval`) 而不是普通计时器 (#557)\n添加了消息 `updateEvent`:在不删除和重新创建的情况下移动或更改事件"
|
|
18
|
+
},
|
|
6
19
|
"3.3.0": {
|
|
7
20
|
"en": "Fixed: `addEvent` ignored `type` and `durationSec`, a \"double\" event was saved as \"single\"\nAdded recurring events to `addEvent`: `recurring` (daily, weekly, monthly, yearly) or an iCal `rrule`\n`deleteEvent` deletes a list of events (`ids`) or all events with a name (`name`)\nAdded the messages `getEvent` and `getCommands`, an unknown command answers with the list of the commands\nDocumented all messages and parameters in the README",
|
|
8
21
|
"de": "Behoben: `addEvent` ignorierte `Type` und `DurationSec`, ein Doppelevent wurde als „Single“ gespeichert\n„AddEvent“: „wiederkehrend“ (täglich, wöchentlich, monatlich, jährlich) oder eine iCal-Regel hinzugefügt\n`DeleteEvent` löscht eine Eventliste (`ids`) oder alle Events mit Namen (`Name`)\nDie Meldungen `getEvent` und `getCommands` hinzugefügt, ein unbekannter Befehl gibt eine Liste\nDokumentiert alle Meldungen und Parameter im README",
|
|
@@ -80,19 +93,6 @@
|
|
|
80
93
|
"pl": "Poprawione okno dialogowe SelectID",
|
|
81
94
|
"uk": "Корекція ВиберітьД Діалог",
|
|
82
95
|
"zh-cn": "已更正的选定ID对话框"
|
|
83
|
-
},
|
|
84
|
-
"2.4.4": {
|
|
85
|
-
"en": "Removed withStyles package",
|
|
86
|
-
"de": "MitStyles-Paket entfernt",
|
|
87
|
-
"ru": "Удаленный пакет со Стайлз",
|
|
88
|
-
"pt": "Removido com pacote Estilos",
|
|
89
|
-
"nl": "Verwijderd metStyles pakket",
|
|
90
|
-
"fr": "Enlever avec le paquetStyles",
|
|
91
|
-
"it": "Rimosso con pacchettoStyles",
|
|
92
|
-
"es": "Retire el paquete de estilos",
|
|
93
|
-
"pl": "Usunięty z pakietem Styles",
|
|
94
|
-
"uk": "Видаліть пакет \"Стиль\"",
|
|
95
|
-
"zh-cn": "用 Styles 软件包删除"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
"it": "Calendario",
|
|
106
106
|
"es": "Calendario calendario",
|
|
107
107
|
"pl": "Harmonogram kalendarza",
|
|
108
|
+
"uk": "Розклад календаря",
|
|
108
109
|
"zh-cn": "日历时间表"
|
|
109
110
|
},
|
|
110
111
|
"desc": {
|
|
@@ -117,6 +118,7 @@
|
|
|
117
118
|
"it": "Questo adattatore consente la piallatura con calendario",
|
|
118
119
|
"es": "Este adaptador permite planear con calendario",
|
|
119
120
|
"pl": "Ten adapter umożliwia struganie za pomocą kalendarza",
|
|
121
|
+
"uk": "Цей адаптер дозволяє планувати за допомогою календаря",
|
|
120
122
|
"zh-cn": "该适配器允许日历计划"
|
|
121
123
|
},
|
|
122
124
|
"authors": [
|
|
@@ -141,13 +143,31 @@
|
|
|
141
143
|
"tier": 2,
|
|
142
144
|
"adminTab": {
|
|
143
145
|
"singleton": false,
|
|
144
|
-
"name":
|
|
146
|
+
"name": {
|
|
147
|
+
"en": "Calendar",
|
|
148
|
+
"de": "Kalender",
|
|
149
|
+
"ru": "Календарь",
|
|
150
|
+
"pt": "Calendário",
|
|
151
|
+
"nl": "Kalender",
|
|
152
|
+
"fr": "Calendrier",
|
|
153
|
+
"it": "Calendario",
|
|
154
|
+
"es": "Calendario",
|
|
155
|
+
"pl": "Kalendarz",
|
|
156
|
+
"uk": "Календар",
|
|
157
|
+
"zh-cn": "日历"
|
|
158
|
+
}
|
|
145
159
|
},
|
|
146
160
|
"dependencies": [
|
|
147
161
|
{
|
|
148
162
|
"js-controller": ">=6.0.11"
|
|
149
163
|
}
|
|
150
164
|
],
|
|
165
|
+
"globalDependencies": [
|
|
166
|
+
{
|
|
167
|
+
"admin": ">=7.6.17"
|
|
168
|
+
}
|
|
169
|
+
],
|
|
170
|
+
"nogit": true,
|
|
151
171
|
"enabled": true,
|
|
152
172
|
"type": "date-and-time",
|
|
153
173
|
"connectionType": "local",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.fullcalendar",
|
|
3
3
|
"description": "This adapter allows planning with calendar.",
|
|
4
|
-
"version": "3.3.
|
|
4
|
+
"version": "3.3.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "bluefox",
|
|
7
7
|
"email": "dogafox@gmail.com"
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@iobroker/legacy-testing": "^4.0.1",
|
|
41
41
|
"@iobroker/types": "^7.2.5",
|
|
42
42
|
"@types/node": "^22.20.5",
|
|
43
|
-
"@iobroker/vis-2-widgets-testing": "^2.0.
|
|
43
|
+
"@iobroker/vis-2-widgets-testing": "^2.0.1",
|
|
44
44
|
"colorette": "^2.0.20",
|
|
45
45
|
"puppeteer": "^25.16.0",
|
|
46
46
|
"typescript": "~6.0.3"
|