@openremote/or-scheduler 1.12.0-snapshot.20251212165311

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/lib/index.d.ts ADDED
@@ -0,0 +1,125 @@
1
+ import { LitElement, PropertyValues, TemplateResult } from "lit";
2
+ import { CalendarEvent } from "@openremote/model";
3
+ import { InputType } from "@openremote/or-mwc-components/or-mwc-input";
4
+ import { OrMwcDialog } from "@openremote/or-mwc-components/or-mwc-dialog";
5
+ import { RRule } from "rrule";
6
+ import { EventTypes, rruleEnds } from "./util";
7
+ import type { RulePartKey, RuleParts, LabeledEventTypes, Frequency } from "./types";
8
+ export { RuleParts, RulePartKey, Frequency, LabeledEventTypes };
9
+ export * from "./util";
10
+ export interface OrSchedulerChangedEventDetail {
11
+ value?: CalendarEvent;
12
+ }
13
+ export declare class OrSchedulerChangedEvent extends CustomEvent<OrSchedulerChangedEventDetail> {
14
+ static readonly NAME = "or-scheduler-changed";
15
+ constructor(value?: CalendarEvent);
16
+ }
17
+ declare global {
18
+ export interface HTMLElementEventMap {
19
+ [OrSchedulerChangedEvent.NAME]: OrSchedulerChangedEvent;
20
+ }
21
+ }
22
+ declare const OrScheduler_base: (new (...args: any[]) => {
23
+ _i18nextJustInitialized: boolean;
24
+ _language: string;
25
+ connectedCallback(): void;
26
+ disconnectedCallback(): void;
27
+ shouldUpdate(changedProps: PropertyValues): any;
28
+ initCallback: (options: import("i18next").InitOptions) => void;
29
+ langChangedCallback: () => void;
30
+ readonly isConnected: boolean;
31
+ }) & typeof LitElement;
32
+ export declare class OrScheduler extends OrScheduler_base {
33
+ defaultSchedule?: CalendarEvent;
34
+ defaultEventTypeLabel: string;
35
+ disabledFrequencies: Frequency[];
36
+ disabledRRuleParts: RulePartKey[];
37
+ header: string;
38
+ isAllDay: boolean;
39
+ schedule?: CalendarEvent;
40
+ timezoneOffset: number;
41
+ protected _ends: keyof typeof rruleEnds;
42
+ protected _normalizedSchedule: CalendarEvent | undefined;
43
+ protected _rrule?: RRule;
44
+ protected dialog?: OrMwcDialog;
45
+ protected _byRRuleParts?: RulePartKey[];
46
+ protected _count: number;
47
+ protected _dialog?: OrMwcDialog;
48
+ protected _eventType: EventTypes;
49
+ protected _eventTypes: LabeledEventTypes;
50
+ protected _until: Date;
51
+ protected firstUpdated(_changedProps: PropertyValues): void;
52
+ protected willUpdate(changedProps: PropertyValues): void;
53
+ protected updated(changedProps: PropertyValues): void;
54
+ /**
55
+ * Converts the recurrence rule to string and normalizes it.
56
+ *
57
+ * The UTC timezone offset 'Z' for the UNTIL rule part is removed,
58
+ * because the backend uses a `LocalDateTime` object to compare.
59
+ * @param rrule The recurrence rule to normalize.
60
+ * @returns String representation of the defined Recurrence Rule
61
+ */
62
+ protected getRRule(rrule?: RRule | undefined): string | undefined;
63
+ protected setRRuleValue(value: any, key: keyof RuleParts | "start" | "end" | "start-time" | "end-time" | "all-day" | "recurrence-ends"): void;
64
+ protected timeLabel(): string | undefined;
65
+ protected setCalendarEventType(value: any): void;
66
+ /**
67
+ * Apply the timezone offset to the calendarEvent
68
+ * @param schedule The schedule for which to add/substract the offset
69
+ * @param substract Whether to substract the offset
70
+ * @returns The transformed calendar event
71
+ */
72
+ protected applyTimezoneOffset(schedule?: CalendarEvent, substract?: boolean): CalendarEvent | undefined;
73
+ protected render(): TemplateResult<1>;
74
+ protected showDialog(): void;
75
+ protected getDialogContent(): TemplateResult;
76
+ /**
77
+ * Check if this frequency is allowed
78
+ * @param freq The frequency to check
79
+ * @returns Whether the frequency is allowed
80
+ */
81
+ protected isAllowedFrequency(freq: Frequency): boolean;
82
+ /**
83
+ * Displays the interval, frequency and BY_XXX RRule part fields
84
+ *
85
+ * Applicable rule parts
86
+ * - `interval`
87
+ * - `freq`
88
+ * - `bysecond`
89
+ * - `byminute`
90
+ * - `byhour`
91
+ * - `byweekday`
92
+ * - `bymonthday`
93
+ * - `byyearday`
94
+ * - `byweekno`
95
+ * - `bymonth`
96
+ *
97
+ * Evaluation order: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY, BYHOUR, BYMINUTE and BYSECOND.
98
+ *
99
+ * @returns Inputs for the applicable rule parts
100
+ */
101
+ protected getRepeatTemplate(): TemplateResult;
102
+ /**
103
+ * Displays the BY_XXX RRule part fields if allowed by the frequency
104
+ *
105
+ * @returns The specified BY_XXX RRule part field or undefined if not applicable
106
+ */
107
+ protected getByRulePart<T>(part: RulePartKey, type: InputType, options: T[]): TemplateResult | undefined;
108
+ /**
109
+ * Displays the fields that define when and how long the particular event is
110
+ *
111
+ * @param calendar The specified calendar event
112
+ * @returns The periods allDay and from/to date and time fields
113
+ */
114
+ protected getPeriodTemplate(calendar: CalendarEvent): TemplateResult;
115
+ /**
116
+ * Displays the fields that define how a recurring event should end
117
+ *
118
+ * Applicable rule parts
119
+ * - `until`
120
+ * - `count`
121
+ * @returns The recurrence ends fields
122
+ */
123
+ protected getEndsTemplate(): TemplateResult;
124
+ }
125
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAQ,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAuB,MAAM,4CAA4C,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAc,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAA+B,KAAK,EAAuB,MAAM,OAAO,CAAC;AAGhF,OAAO,EAAkB,UAAU,EAAsD,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnH,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;AAEhE,cAAc,QAAQ,CAAC;AAmBvB,MAAM,WAAW,6BAA6B;IAC1C,KAAK,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,qBAAa,uBAAwB,SAAQ,WAAW,CAAC,6BAA6B,CAAC;IAEnF,gBAAuB,IAAI,0BAA0B;gBAEzC,KAAK,CAAC,EAAE,aAAa;CAOpC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,MAAM,WAAW,mBAAmB;QAChC,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;KAC3D;CACJ;;;;;;;;;;;AAED,qBACa,WAAY,SAAQ,gBAA8B;IAGpD,eAAe,CAAC,EAAE,aAAa,CAAC;IAGhC,qBAAqB,SAAa;IAGlC,mBAAmB,EAAE,SAAS,EAAE,CAAM;IAGtC,kBAAkB,EAAE,WAAW,EAAE,CAAM;IAGvC,MAAM,SAAsB;IAG5B,QAAQ,UAAQ;IAGhB,QAAQ,CAAC,EAAE,aAAa,CAAwB;IAGhD,cAAc,SAAK;IAG1B,SAAS,CAAC,KAAK,EAAE,MAAM,OAAO,SAAS,CAAW;IAGlD,SAAS,CAAC,mBAAmB,4BAA2C;IAGxE,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAGzB,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE/B,SAAS,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IACxC,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAChC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAsB;IACtD,SAAS,CAAC,WAAW,EAAE,iBAAiB,CAAc;IACtD,SAAS,CAAC,MAAM,OAAqB;IAErC,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc;IA0BpD,SAAS,CAAC,UAAU,CAAC,YAAY,EAAE,cAAc;IAMjD,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,cAAc;IAqB9C;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,KAAK,oBAAc,GAAG,MAAM,GAAG,SAAS;IAI3D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,iBAAiB;IAsEtI,SAAS,CAAC,SAAS,IAAI,MAAM,GAAG,SAAS;IAsBzC,SAAS,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG;IAyBzC;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,SAAS,UAAQ,GAAG,aAAa,GAAG,SAAS;IAerG,SAAS,CAAC,MAAM;IAMhB,SAAS,CAAC,UAAU;IAgFpB,SAAS,CAAC,gBAAgB,IAAI,cAAc;IAqB5C;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS;IAM5C;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,iBAAiB,IAAI,cAAc;IAiC7C;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,cAAc,GAAG,SAAS;IAoBxG;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,cAAc;IAqBpE;;;;;;;OAOG;IACH,SAAS,CAAC,eAAe,IAAI,cAAc;CA4B9C"}
package/lib/index.js ADDED
@@ -0,0 +1,131 @@
1
+ var __decorate=this&&this.__decorate||function(e,t,i,l){var r,n=arguments.length,s=n<3?t:null===l?l=Object.getOwnPropertyDescriptor(t,i):l;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,l);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(n<3?r(s):n>3?r(t,i,s):r(t,i))||s);return n>3&&s&&Object.defineProperty(t,i,s),s};import{html as e,LitElement as t}from"lit";import{customElement as i,property as l,query as r,state as n}from"lit/decorators.js";import{InputType as s}from"@openremote/or-mwc-components/or-mwc-input";import{translate as a,i18next as o}from"@openremote/or-translate";import{OrMwcDialog as d,showDialog as u}from"@openremote/or-mwc-components/or-mwc-dialog";import{Frequency as c,RRule as h}from"rrule";import p from"moment";import{Days as m}from"rrule/dist/esm/rrule";import{BY_RRULE_PARTS as y,EventTypes as v,FREQUENCIES as _,MONTHS as f,NOT_APPLICABLE_BY_RRULE_PARTS as g,rruleEnds as S}from"./util";import{when as b}from"lit/directives/when.js";export*from"./util";function range(e,t){return Array.from({length:t-e+1},(t,i)=>e+i)}function toSpliced(e,t,i){let l=[...e];return l.splice(t,i),l}let byWeekNoOptions=toSpliced(range(-53,53),53,1),byYearDayOptions=toSpliced(range(-366,366),366,1),byMonthDayOptions=toSpliced(range(-31,31),31,1),byHourOptions=range(1,24),byMinuteOrSecondsOptions=range(1,60);export class OrSchedulerChangedEvent extends CustomEvent{constructor(e){super(OrSchedulerChangedEvent.NAME,{detail:{value:e},bubbles:!0,composed:!0})}}OrSchedulerChangedEvent.NAME="or-scheduler-changed";let OrScheduler=class extends a(o)(t){constructor(){super(...arguments),this.defaultEventTypeLabel="default",this.disabledFrequencies=[],this.disabledRRuleParts=[],this.header="scheduleActivity",this.isAllDay=!0,this.schedule=this.defaultSchedule,this.timezoneOffset=0,this._ends="never",this._normalizedSchedule=this.applyTimezoneOffset(this.schedule),this._count=1,this._eventType=v.default,this._eventTypes=v,this._until=p().toDate()}firstUpdated(e){var t,i,l;if(this._eventTypes={default:o.t(this.defaultEventTypeLabel),period:o.t("planPeriod"),recurrence:o.t("planRecurrence")},(null==(t=this._normalizedSchedule)?void 0:t.start)&&(null==(i=this._normalizedSchedule)?void 0:i.end)&&(this._normalizedSchedule.recurrence?this._eventType=v.recurrence:this._eventType=v.period,this.isAllDay=this._normalizedSchedule&&p(this._normalizedSchedule.start).isSame(p(this._normalizedSchedule.start).clone().startOf("day"))&&p(this._normalizedSchedule.end).isSame(p(this._normalizedSchedule.end).clone().endOf("day"))),null==(l=this._normalizedSchedule)?void 0:l.recurrence){let e=h.fromString(this._normalizedSchedule.recurrence).origOptions;e.until?this._until=p(e.until).toDate():e.count&&(this._count=e.count)}}willUpdate(e){e.has("schedule")&&(this._normalizedSchedule=this.applyTimezoneOffset(this.schedule))}updated(e){var t,i,l,r,n,s;super.updated(e),e.has("_rrule")&&this._rrule&&(this._byRRuleParts=y.filter(e=>{var t;return!(null==(t=g[c[this._rrule.options.freq]])?void 0:t.includes(e.toUpperCase()))}).filter(e=>!this.disabledRRuleParts.includes(e)),this._ends=(null==(i=null==(t=this._rrule)?void 0:t.origOptions)?void 0:i.until)&&"until"||(null==(r=null==(l=this._rrule)?void 0:l.origOptions)?void 0:r.count)&&"count"||"never"),e.has("_normalizedSchedule")&&((null==(n=this._normalizedSchedule)?void 0:n.recurrence)?this._rrule=h.fromString(this._normalizedSchedule.recurrence):this._eventType===v.default&&(null==(s=this.defaultSchedule)?void 0:s.recurrence)?this._rrule=h.fromString(this.defaultSchedule.recurrence):this._rrule=void 0)}getRRule(e=this._rrule){var t,i,l;return null==(l=null==(i=null==(t=null==e?void 0:e.toString())?void 0:t.split("RRULE:"))?void 0:i[1])?void 0:l.replace(/(UNTIL=\d+T\d+)Z/,"$1")}setRRuleValue(e,t){var i;let l=null==(i=this._rrule)?void 0:i.origOptions,r=this._normalizedSchedule;if("interval"===t||"freq"===t||t.startsWith("by"))"byweekday"===t?l.byweekday=e.map(e=>h[e]):l[t]=e,this._eventType===v.recurrence&&(this._rrule=new h(l));else if("start"===t&&l){let[t,i,n]=e.split("-").map(Number);l.dtstart=p(r.start).set({year:t,month:i-1,date:n}).toDate(),r.start=l.dtstart.getTime(),this._eventType===v.recurrence&&(this._rrule=new h(l))}else if("end"===t){let[t,i,l]=e.split("-").map(Number);r.end=p(r.end).set({year:t,month:i-1,date:l}).toDate().getTime()}else if("start-time"===t){let[t,i]=e.split(":");l?l.dtstart=p(r.start).set({hour:t,minute:i,second:0,millisecond:0}).toDate():l=new h({dtstart:p(r.start).set({hour:t,minute:i,second:0,millisecond:0}).toDate()}).origOptions,r.start=p(l.dtstart).toDate().getTime(),this._eventType===v.recurrence&&(this._rrule=new h(l))}else if("end-time"===t){let[t,i]=e.split(":");r.end=p(r.end).set({hour:t,minute:i,second:0,millisecond:0}).toDate().getTime()}else switch(t){case"all-day":this.isAllDay=e;break;case"recurrence-ends":"until"===e?(l.until=this._until,delete l.count):("count"===e?l.count=this._count:delete l.count,delete l.until),this._ends=e,this._eventType===v.recurrence&&(this._rrule=new h(l));break;case"until":this._until=new Date(e),l.until=this._until,this._eventType===v.recurrence&&(this._rrule=new h(l));break;case"count":this._count=e,l.count=this._count,this._eventType===v.recurrence&&(this._rrule=new h(l))}this._normalizedSchedule=Object.assign({},r),this._dialog.requestUpdate(),this._normalizedSchedule.recurrence=this.getRRule()}timeLabel(){if(this._eventType===v.default)return o.t(this.defaultEventTypeLabel);if(this._normalizedSchedule&&this._rrule){let e=this._normalizedSchedule,t=p(e.end).diff(e.start,"days"),i="";return this.isAllDay?(t>0&&(i=" "+o.t("forDays",{days:t})),this._rrule.toText()+i):(t>0&&(i=o.t("fromToDays",{start:p(e.start).format("HH:mm"),end:p(e.end).format("HH:mm"),days:t})),0===t&&(i=o.t("fromTo",{start:p(e.start).format("HH:mm"),end:p(e.end).format("HH:mm")})),this._rrule.toText()+" "+i)}if(this._normalizedSchedule){let e="DD-MM-YYYY";return this.isAllDay||(e="DD-MM-YYYY HH:mm"),o.t("activeFromTo",{start:p(this._normalizedSchedule.start).format(e),end:p(this._normalizedSchedule.end).format(e)})}}setCalendarEventType(e){var t,i,l,r,n,s,a,o,d,u;switch(e){case v.default:this._normalizedSchedule=this.defaultSchedule,this._rrule=h.fromString(null!=(i=null==(t=this.defaultSchedule)?void 0:t.recurrence)?i:"")||void 0;break;case v.period:this._normalizedSchedule={start:null!=(r=null==(l=this._normalizedSchedule)?void 0:l.start)?r:p().startOf("day").toDate().getTime(),end:null!=(s=null==(n=this._normalizedSchedule)?void 0:n.end)?s:p().startOf("day").endOf("day").toDate().getTime()},this._rrule=void 0;break;case v.recurrence:this._normalizedSchedule={start:null!=(o=null==(a=this._normalizedSchedule)?void 0:a.start)?o:p().startOf("day").toDate().getTime(),end:null!=(u=null==(d=this._normalizedSchedule)?void 0:d.end)?u:p().startOf("day").endOf("day").toDate().getTime(),recurrence:"FREQ=DAILY"}}this._eventType=e,this._dialog.requestUpdate()}applyTimezoneOffset(e,t=!1){if(e){let i=t?-this.timezoneOffset:this.timezoneOffset,{start:l,end:r,recurrence:n}=Object.assign({},e);if(l&&(l+=i),r&&(r+=i),n&&h.fromString(n).origOptions.until){let e=h.fromString(n).origOptions;e.until=new Date(Number(e.until)+i),n=this.getRRule(new h(e))}return{start:l,end:r,recurrence:n}}}render(){return e`
2
+ <or-mwc-input outlined .type="${s.BUTTON}" label="${this.timeLabel()}" @or-mwc-input-changed="${()=>this.showDialog()}"></or-mwc-input>
3
+ `}showDialog(){this._dialog=u(new d().setHeading(o.t(this.header)).setStyles(e`
4
+ <style>
5
+ #dialog-content {
6
+ max-height: 100vh;
7
+ overflow: auto;
8
+ background-color: #f5f5f5;
9
+ }
10
+
11
+ .mdc-dialog .mdc-dialog__content {
12
+ padding: 8px 16px !important;
13
+ }
14
+
15
+ @media only screen and (max-width: 1279px) {
16
+ .mdc-dialog__surface {
17
+ overflow-x: auto !important;
18
+ overflow-y: auto !important;
19
+ }
20
+
21
+ #dialog-content {
22
+ min-height: 230px;
23
+ overflow: auto;
24
+ }
25
+ }
26
+
27
+ .section {
28
+ background-color: white;
29
+ margin-top: 10px;
30
+ padding: 8px 16px;
31
+ border-radius: 4px;
32
+ }
33
+ .section > * {
34
+ margin: 8px 0;
35
+ }
36
+ .section:first-child {
37
+ margin-top: 0;
38
+ }
39
+ .section:last-child {
40
+ margin-bottom: 0;
41
+ }
42
+
43
+ .title {
44
+ display: block;
45
+ font-weight: bold;
46
+ }
47
+ </style>`).setActions([{actionName:"cancel",content:e`<or-mwc-input class="button" .type="${s.BUTTON}" label="cancel"></or-mwc-input>`,action:()=>{this._dialog=void 0}},{actionName:"ok",default:!0,content:e`<or-mwc-input class="button" .type="${s.BUTTON}" label="apply"></or-mwc-input>`,action:()=>{var e;this._normalizedSchedule&&this.isAllDay&&(this._normalizedSchedule.start=p(this._normalizedSchedule.start).startOf("day").toDate().getTime(),this._normalizedSchedule.end=p(this._normalizedSchedule.end).startOf("day").endOf("day").toDate().getTime()),this._eventType===v.default?delete this._normalizedSchedule:this._eventType===v.recurrence&&(this._normalizedSchedule.recurrence=this.getRRule());let t=this.applyTimezoneOffset(null!=(e=this._normalizedSchedule)?e:this.defaultSchedule,!0);this.dispatchEvent(new OrSchedulerChangedEvent(t)),this._dialog=void 0}}]).setContent(()=>this.getDialogContent()).setDismissAction(null))}getDialogContent(){let t=this._normalizedSchedule;return e`
48
+ <div style="min-width: 635px; display:grid; flex-direction: row;">
49
+ <div id="event-type" class="section">
50
+ <label class="title"><or-translate value="schedule.type"></or-translate></label>
51
+ <div class="layout horizontal">
52
+ <or-mwc-input style="width: 100%"
53
+ .value="${this._eventType}"
54
+ .type="${s.SELECT}"
55
+ .options="${Object.entries(this._eventTypes)}"
56
+ @or-mwc-input-changed="${e=>this.setCalendarEventType(e.detail.value)}"></or-mwc-input>
57
+ </div>
58
+ </div>
59
+ ${this._eventType===v.recurrence?this.getRepeatTemplate():""}
60
+ ${t&&(this._eventType===v.period||this._eventType===v.recurrence)?this.getPeriodTemplate(t):""}
61
+ ${this._eventType===v.recurrence?this.getEndsTemplate():""}
62
+ </div>`}isAllowedFrequency(e){return"SECONDLY"!==e&&!this.disabledFrequencies.includes(e)}getRepeatTemplate(){var t,i,l,r,n;let a=null!=(i=null==(t=this._rrule)?void 0:t.origOptions.interval)?i:1,d=null!=(r=null==(l=this._rrule)?void 0:l.origOptions.freq)?r:c.DAILY,u=Object.entries(_).map(([e,t])=>[String(c[e]),o.t(t,{count:a})]).filter(([e])=>this.isAllowedFrequency(c[e]));return e`
63
+ <div id="recurrence" class="section">
64
+ <label class="title"><or-translate value="schedule.repeat"></or-translate></label>
65
+ <div class="layout horizontal" style="display: flex; gap: 8px;">
66
+ ${b(!(null==(n=this.disabledRRuleParts)?void 0:n.includes("interval")),()=>e`
67
+ <or-mwc-input style="width: 60px;" min="1" max="9" .value="${a}" .type="${s.NUMBER}"
68
+ @or-mwc-input-changed="${e=>this.setRRuleValue(e.detail.value,"interval")}"></or-mwc-input>
69
+ `)}
70
+ <or-mwc-input style="flex: 1;" .value="${d.toString()}" .type="${s.SELECT}" .options="${u}"
71
+ @or-mwc-input-changed="${e=>this.setRRuleValue(e.detail.value,"freq")}"></or-mwc-input>
72
+ </div>
73
+ <div>${this.getByRulePart("bymonth",s.CHECKBOX_LIST,Object.entries(f))}</div>
74
+ <div>
75
+ ${this.getByRulePart("byweekno",s.SELECT,byWeekNoOptions)}
76
+ ${this.getByRulePart("byyearday",s.SELECT,byYearDayOptions)}
77
+ ${this.getByRulePart("bymonthday",s.SELECT,byMonthDayOptions)}
78
+ </div>
79
+ <div>${this.getByRulePart("byweekday",s.CHECKBOX_LIST,Object.keys(m))}</div>
80
+ <div>
81
+ ${this.getByRulePart("byhour",s.SELECT,byHourOptions)}
82
+ ${this.getByRulePart("byminute",s.SELECT,byMinuteOrSecondsOptions)}
83
+ ${this.getByRulePart("bysecond",s.SELECT,byMinuteOrSecondsOptions)}
84
+ </div>
85
+ </div>`}getByRulePart(t,i,l){var r,n,s,a,o;if(!(null==(r=this._byRRuleParts)?void 0:r.includes(t)))return;let d="byweekday"===t?null==(a=null==(s=null==(n=this._rrule)?void 0:n.origOptions)?void 0:s.byweekday)?void 0:a.map(String):null==(o=this._rrule)?void 0:o.origOptions[t];return e`<or-mwc-input style="min-width: 30%"
86
+ .value="${null!=d?d:[]}"
87
+ .type="${i}"
88
+ .options="${l}"
89
+ .label="${t}"
90
+ multiple
91
+ @or-mwc-input-changed="${e=>{this.setRRuleValue(e.detail.value,t)}}"></or-mwc-input>`}getPeriodTemplate(t){return e`
92
+ <div id="period" class="section">
93
+ <label class="title"><or-translate value="period"></or-translate></label>
94
+ <div style="display: flex; gap: 8px;" class="layout horizontal">
95
+ <div>
96
+ <or-mwc-input value="${p(t.start).format("YYYY-MM-DD")}" .type="${s.DATE}" @or-mwc-input-changed="${e=>this.setRRuleValue(e.detail.value,"start")}" .label="${o.t("from")}"></or-mwc-input>
97
+ <or-mwc-input .disabled=${this.isAllDay} .value="${p(t.start).format("HH:mm")}" .type="${s.TIME}" @or-mwc-input-changed="${e=>this.setRRuleValue(e.detail.value,"start-time")}" .label="${o.t("from")}"></or-mwc-input>
98
+ </div>
99
+ <div>
100
+ <or-mwc-input .value="${p(t.end).format("YYYY-MM-DD")}" .type="${s.DATE}" @or-mwc-input-changed="${e=>this.setRRuleValue(e.detail.value,"end")}" .label="${o.t("to")}"></or-mwc-input>
101
+ <or-mwc-input .disabled=${this.isAllDay} .value="${p(t.end).format("HH:mm")}" .type="${s.TIME}" @or-mwc-input-changed="${e=>this.setRRuleValue(e.detail.value,"end-time")}" .label="${o.t("to")}"></or-mwc-input>
102
+ </div>
103
+ </div>
104
+
105
+ <div class="layout horizontal">
106
+ <or-mwc-input .value=${this.isAllDay} @or-mwc-input-changed="${e=>this.setRRuleValue(e.detail.value,"all-day")}" .type="${s.CHECKBOX}" .label="${o.t("allDay")}"></or-mwc-input>
107
+ </div>
108
+ </div>`}getEndsTemplate(){return e`
109
+ <div id="recurrence-ends" class="section">
110
+ <label class="title"><or-translate value="schedule._ends"></or-translate></label>
111
+ <div style="display: flex; gap: 8px;" class="layout horizontal">
112
+ <or-mwc-input style="padding-right: 10px" .type="${s.RADIO}"
113
+ .value="${this._ends}"
114
+ .options="${Object.entries(S).filter(([e])=>{var t;return!(null==(t=this.disabledRRuleParts)?void 0:t.includes(e))})}"
115
+ @or-mwc-input-changed="${e=>this.setRRuleValue(e.detail.value,"recurrence-ends")}">
116
+ </or-mwc-input>
117
+ <div style="display: flex; flex-direction: column-reverse; flex: 1">
118
+ ${b(!this.disabledRRuleParts.includes("count"),()=>e`
119
+ <or-mwc-input ?disabled="${"count"!==this._ends}" min="1" .type="${s.NUMBER}"
120
+ .value="${this._count}"
121
+ .label="${o.t("schedule.count",{count:this._count})}"
122
+ @or-mwc-input-changed="${e=>this.setRRuleValue(e.detail.value,"count")}">
123
+ </or-mwc-input>`)}
124
+ ${b(!this.disabledRRuleParts.includes("until"),()=>e`
125
+ <or-mwc-input ?disabled="${"until"!==this._ends}" .type="${s.DATETIME}"
126
+ .value="${p(this._until).format("YYYY-MM-DD HH:mm")}"
127
+ @or-mwc-input-changed="${e=>this.setRRuleValue(e.detail.value,"until")}">
128
+ </or-mwc-input>`)}
129
+ </div>
130
+ </div>
131
+ </div>`}};__decorate([l({type:Object})],OrScheduler.prototype,"defaultSchedule",void 0),__decorate([l({type:String})],OrScheduler.prototype,"defaultEventTypeLabel",void 0),__decorate([l({type:Array})],OrScheduler.prototype,"disabledFrequencies",void 0),__decorate([l({type:Array})],OrScheduler.prototype,"disabledRRuleParts",void 0),__decorate([l({type:String})],OrScheduler.prototype,"header",void 0),__decorate([l({type:Boolean})],OrScheduler.prototype,"isAllDay",void 0),__decorate([l({type:Object})],OrScheduler.prototype,"schedule",void 0),__decorate([l()],OrScheduler.prototype,"timezoneOffset",void 0),__decorate([n()],OrScheduler.prototype,"_ends",void 0),__decorate([n()],OrScheduler.prototype,"_normalizedSchedule",void 0),__decorate([n()],OrScheduler.prototype,"_rrule",void 0),__decorate([r("#radial-modal")],OrScheduler.prototype,"dialog",void 0),OrScheduler=__decorate([i("or-scheduler")],OrScheduler);export{OrScheduler};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ import { Frequency as FrequencyValue, Options } from "rrule";
2
+ import { EventTypes } from "./util";
3
+ /**
4
+ * Supported recurrence rule parts in evaluation order:
5
+ * - `interval`
6
+ * - `freq`
7
+ * - `bymonth`
8
+ * - `byweekno`
9
+ * - `byyearday`
10
+ * - `bymonthday`
11
+ * - `byweekday` = `byday` in {@link https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10|rfc5545#section-3.3.10}.
12
+ * - `byhour`
13
+ * - `byminute`
14
+ * - `bysecond`
15
+ * - `count`
16
+ * - `until`
17
+ * @todo wkst not implemented
18
+ *
19
+ * Ignored
20
+ * - | 'byeaster'// Not applicable, introduced by {@link https://labix.org/python-dateutil/#head-a65103993a21b717f6702063f3717e6e75b4ba66|python-dateutil}.
21
+ * - | 'bynmonthday' // Not specified
22
+ * - | 'bynweekday' // Not specified
23
+ * - | 'bysetpos' // Too complex for the time being
24
+ * - | 'dtstart' // Not applicable CalendarEvent already specifies start
25
+ * - | 'tzid' // Not part of the recurrence rule parts
26
+ *
27
+ * @see {@link RRule} and {@link https://labix.org/python-dateutil/#head-a65103993a21b717f6702063f3717e6e75b4ba66|python-dateutil}.
28
+ */
29
+ export type RuleParts = Pick<Options, "interval" | "freq" | "bymonth" | "byweekno" | "byyearday" | "bymonthday" | "byweekday" | "byhour" | "byminute" | "bysecond" | "count" | "until">;
30
+ export type LabeledEventTypes = Record<EventTypes, string>;
31
+ export type RulePartKey = keyof RuleParts;
32
+ export type Frequency = (keyof typeof FrequencyValue);
33
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,CACxB,OAAO,EACL,UAAU,GACV,MAAM,GACN,SAAS,GACT,UAAU,GACV,WAAW,GACX,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,UAAU,GACV,UAAU,GACV,OAAO,GACP,OAAO,CACZ,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAC3D,MAAM,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC;AAC1C,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC"}
package/lib/types.js ADDED
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/lib/util.d.ts ADDED
@@ -0,0 +1,37 @@
1
+ import { Frequency } from "rrule";
2
+ export declare const FREQUENCIES: Record<keyof typeof Frequency, string>;
3
+ /**
4
+ * Evaluation order: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY, BYHOUR, BYMINUTE and BYSECOND.
5
+ * As per https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 page 44
6
+ */
7
+ export declare const BY_RRULE_PARTS: readonly ["bymonth", "byweekno", "byyearday", "bymonthday", "byweekday", "byhour", "byminute", "bysecond"];
8
+ /**
9
+ * Dependency of by rule parts table
10
+ * As per https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 page 44
11
+ */
12
+ export declare const NOT_APPLICABLE_BY_RRULE_PARTS: Record<keyof typeof Frequency, string[]>;
13
+ export declare const MONTHS: {
14
+ 1: string;
15
+ 2: string;
16
+ 3: string;
17
+ 4: string;
18
+ 5: string;
19
+ 6: string;
20
+ 7: string;
21
+ 8: string;
22
+ 9: string;
23
+ 10: string;
24
+ 11: string;
25
+ 12: string;
26
+ };
27
+ export declare enum EventTypes {
28
+ default = "default",
29
+ period = "period",
30
+ recurrence = "recurrence"
31
+ }
32
+ export declare const rruleEnds: {
33
+ never: string;
34
+ until: string;
35
+ count: string;
36
+ };
37
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,eAAO,MAAM,WAAW,EAQnB,MAAM,CAAC,MAAM,OAAO,SAAS,EAAE,MAAM,CAAC,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,cAAc,4GASjB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAOrC,MAAM,CAAC,MAAM,OAAO,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;AAE9C,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAalB,CAAC;AAEF,oBAAY,UAAU;IAClB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,UAAU,eAAe;CAC5B;AAED,eAAO,MAAM,SAAS;;;;CAIrB,CAAA"}
package/lib/util.js ADDED
@@ -0,0 +1 @@
1
+ export const FREQUENCIES={YEARLY:"rrule.frequency.YEARLY",MONTHLY:"rrule.frequency.MONTHLY",WEEKLY:"rrule.frequency.WEEKLY",DAILY:"rrule.frequency.DAILY",HOURLY:"rrule.frequency.HOURLY",MINUTELY:"rrule.frequency.MINUTELY",SECONDLY:"rrule.frequency.SECONDLY"};export const BY_RRULE_PARTS=["bymonth","byweekno","byyearday","bymonthday","byweekday","byhour","byminute","bysecond"];export const NOT_APPLICABLE_BY_RRULE_PARTS={SECONDLY:["BYWEEKNO"],MINUTELY:["BYWEEKNO"],HOURLY:["BYWEEKNO"],DAILY:["BYWEEKNO","BYYEARDAY"],WEEKLY:["BYWEEKNO","BYYEARDAY","BYMONTHDAY"],MONTHLY:["BYWEEKNO","BYYEARDAY"]};export const MONTHS={1:"JAN",2:"FEB",3:"MAR",4:"APR",5:"MAY",6:"JUN",7:"JUL",8:"AUG",9:"SEP",10:"OCT",11:"NOV",12:"DEC"};export var EventTypes;!function(e){e.default="default",e.period="period",e.recurrence="recurrence"}(EventTypes||(EventTypes={}));export const rruleEnds={never:"never",until:"schedule.ends.until",count:"schedule.ends.count"};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,MAAM,EAAE,wBAAwB;IAChC,OAAO,EAAE,yBAAyB;IAClC,MAAM,EAAE,wBAAwB;IAChC,KAAK,EAAE,uBAAuB;IAC9B,MAAM,EAAE,wBAAwB;IAChC,QAAQ,EAAE,0BAA0B;IACpC,QAAQ,EAAE,0BAA0B;CACG,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,SAAS;IACT,UAAU;IACV,WAAW;IACX,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,UAAU;IACV,UAAU;CACJ,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IACzC,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,MAAM,EAAE,CAAC,UAAU,CAAC;IACpB,KAAK,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;IAChC,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC;IAC/C,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;CACO,CAAC;AAE9C,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;CACZ,CAAC;AAEF,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,uCAAyB,CAAA;AAC7B,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,qBAAqB;IAC5B,KAAK,EAAE,qBAAqB;CAC/B,CAAA"}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@openremote/or-scheduler",
3
+ "version": "1.12.0-snapshot.20251212165311",
4
+ "description": "OpenRemote scheduler UI component",
5
+ "customElements": "custom-elements.json",
6
+ "main": "dist/umd/index.bundle.js",
7
+ "module": "lib/index.js",
8
+ "exports": {
9
+ ".": "./lib/index.js",
10
+ "./*": "./lib/*.js"
11
+ },
12
+ "types": "lib/index.d.ts",
13
+ "scripts": {
14
+ "analyze": "npx cem analyze --config ../custom-elements-manifest.config.mjs",
15
+ "build": "npx tsc -b",
16
+ "test": "npx tsc -b && npx playwright test",
17
+ "prepack": "npx rspack"
18
+ },
19
+ "author": "OpenRemote",
20
+ "license": "AGPL-3.0-or-later",
21
+ "dependencies": {
22
+ "@openremote/model": "1.12.0-snapshot.20251212165311",
23
+ "@openremote/or-mwc-components": "1.12.0-snapshot.20251212165311",
24
+ "@openremote/or-translate": "1.12.0-snapshot.20251212165311",
25
+ "lit": "^3.3.1",
26
+ "moment": "^2.29.4",
27
+ "rrule": "^2.6.4"
28
+ },
29
+ "publishConfig": {
30
+ "access": "public"
31
+ }
32
+ }
@@ -0,0 +1,3 @@
1
+ import { defineCtConfig } from "@openremote/test/component.config";
2
+
3
+ export default defineCtConfig(__dirname);