@fullcalendar/core 6.0.3 → 6.1.0
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/index.d.ts +1 -1
- package/index.esm.js +61 -36
- package/index.global.js +293 -150
- package/index.global.min.js +2 -2
- package/index.js +59 -34
- package/internal-common.d.ts +39 -19
- package/internal-common.esm.js +285 -167
- package/internal-common.js +285 -166
- package/internal.d.ts +1 -1
- package/internal.esm.js +1 -1
- package/internal.js +1 -1
- package/locales/af.global.js +1 -1
- package/locales/af.global.min.js +1 -1
- package/locales/ar-dz.esm.js +1 -0
- package/locales/ar-dz.global.js +2 -1
- package/locales/ar-dz.global.min.js +2 -2
- package/locales/ar-dz.js +1 -0
- package/locales/ar-kw.esm.js +1 -0
- package/locales/ar-kw.global.js +2 -1
- package/locales/ar-kw.global.min.js +2 -2
- package/locales/ar-kw.js +1 -0
- package/locales/ar-ly.esm.js +1 -0
- package/locales/ar-ly.global.js +2 -1
- package/locales/ar-ly.global.min.js +2 -2
- package/locales/ar-ly.js +1 -0
- package/locales/ar-ma.esm.js +1 -0
- package/locales/ar-ma.global.js +2 -1
- package/locales/ar-ma.global.min.js +2 -2
- package/locales/ar-ma.js +1 -0
- package/locales/ar-sa.esm.js +1 -0
- package/locales/ar-sa.global.js +2 -1
- package/locales/ar-sa.global.min.js +2 -2
- package/locales/ar-sa.js +1 -0
- package/locales/ar-tn.esm.js +1 -0
- package/locales/ar-tn.global.js +2 -1
- package/locales/ar-tn.global.min.js +2 -2
- package/locales/ar-tn.js +1 -0
- package/locales/ar.esm.js +1 -0
- package/locales/ar.global.js +2 -1
- package/locales/ar.global.min.js +2 -2
- package/locales/ar.js +1 -0
- package/locales/az.esm.js +1 -0
- package/locales/az.global.js +2 -1
- package/locales/az.global.min.js +2 -2
- package/locales/az.js +1 -0
- package/locales/bg.esm.js +1 -0
- package/locales/bg.global.js +2 -1
- package/locales/bg.global.min.js +2 -2
- package/locales/bg.js +1 -0
- package/locales/bn.esm.js +1 -0
- package/locales/bn.global.js +2 -1
- package/locales/bn.global.min.js +2 -2
- package/locales/bn.js +1 -0
- package/locales/bs.esm.js +1 -0
- package/locales/bs.global.js +2 -1
- package/locales/bs.global.min.js +2 -2
- package/locales/bs.js +1 -0
- package/locales/ca.esm.js +1 -0
- package/locales/ca.global.js +2 -1
- package/locales/ca.global.min.js +2 -2
- package/locales/ca.js +1 -0
- package/locales/cs.esm.js +1 -0
- package/locales/cs.global.js +2 -1
- package/locales/cs.global.min.js +2 -2
- package/locales/cs.js +1 -0
- package/locales/cy.global.js +1 -1
- package/locales/cy.global.min.js +1 -1
- package/locales/da.esm.js +1 -0
- package/locales/da.global.js +2 -1
- package/locales/da.global.min.js +2 -2
- package/locales/da.js +1 -0
- package/locales/de-at.global.js +1 -1
- package/locales/de-at.global.min.js +1 -1
- package/locales/de.global.js +1 -1
- package/locales/de.global.min.js +1 -1
- package/locales/el.esm.js +1 -0
- package/locales/el.global.js +2 -1
- package/locales/el.global.min.js +2 -2
- package/locales/el.js +1 -0
- package/locales/en-au.global.js +1 -1
- package/locales/en-au.global.min.js +1 -1
- package/locales/en-gb.global.js +1 -1
- package/locales/en-gb.global.min.js +1 -1
- package/locales/en-nz.global.js +1 -1
- package/locales/en-nz.global.min.js +1 -1
- package/locales/eo.esm.js +1 -0
- package/locales/eo.global.js +2 -1
- package/locales/eo.global.min.js +2 -2
- package/locales/eo.js +1 -0
- package/locales/es-us.esm.js +1 -0
- package/locales/es-us.global.js +2 -1
- package/locales/es-us.global.min.js +2 -2
- package/locales/es-us.js +1 -0
- package/locales/es.esm.js +1 -0
- package/locales/es.global.js +2 -1
- package/locales/es.global.min.js +2 -2
- package/locales/es.js +1 -0
- package/locales/et.esm.js +1 -0
- package/locales/et.global.js +2 -1
- package/locales/et.global.min.js +2 -2
- package/locales/et.js +1 -0
- package/locales/eu.esm.js +1 -0
- package/locales/eu.global.js +2 -1
- package/locales/eu.global.min.js +2 -2
- package/locales/eu.js +1 -0
- package/locales/fa.esm.js +1 -0
- package/locales/fa.global.js +2 -1
- package/locales/fa.global.min.js +2 -2
- package/locales/fa.js +1 -0
- package/locales/fi.esm.js +1 -0
- package/locales/fi.global.js +2 -1
- package/locales/fi.global.min.js +2 -2
- package/locales/fi.js +1 -0
- package/locales/fr-ca.esm.js +1 -1
- package/locales/fr-ca.global.js +2 -2
- package/locales/fr-ca.global.min.js +2 -2
- package/locales/fr-ca.js +1 -1
- package/locales/fr-ch.esm.js +1 -1
- package/locales/fr-ch.global.js +2 -2
- package/locales/fr-ch.global.min.js +2 -2
- package/locales/fr-ch.js +1 -1
- package/locales/fr.esm.js +2 -1
- package/locales/fr.global.js +3 -2
- package/locales/fr.global.min.js +2 -2
- package/locales/fr.js +2 -1
- package/locales/gl.esm.js +20 -0
- package/locales/gl.global.js +21 -1
- package/locales/gl.global.min.js +2 -2
- package/locales/gl.js +20 -0
- package/locales/he.esm.js +1 -0
- package/locales/he.global.js +2 -1
- package/locales/he.global.min.js +2 -2
- package/locales/he.js +1 -0
- package/locales/hi.esm.js +1 -0
- package/locales/hi.global.js +2 -1
- package/locales/hi.global.min.js +2 -2
- package/locales/hi.js +1 -0
- package/locales/hr.esm.js +1 -0
- package/locales/hr.global.js +2 -1
- package/locales/hr.global.min.js +2 -2
- package/locales/hr.js +1 -0
- package/locales/hu.esm.js +1 -0
- package/locales/hu.global.js +2 -1
- package/locales/hu.global.min.js +2 -2
- package/locales/hu.js +1 -0
- package/locales/hy-am.esm.js +1 -0
- package/locales/hy-am.global.js +2 -1
- package/locales/hy-am.global.min.js +2 -2
- package/locales/hy-am.js +1 -0
- package/locales/id.esm.js +1 -0
- package/locales/id.global.js +2 -1
- package/locales/id.global.min.js +2 -2
- package/locales/id.js +1 -0
- package/locales/is.esm.js +1 -0
- package/locales/is.global.js +2 -1
- package/locales/is.global.min.js +2 -2
- package/locales/is.js +1 -0
- package/locales/it.esm.js +1 -0
- package/locales/it.global.js +2 -1
- package/locales/it.global.min.js +2 -2
- package/locales/it.js +1 -0
- package/locales/ja.esm.js +1 -0
- package/locales/ja.global.js +2 -1
- package/locales/ja.global.min.js +2 -2
- package/locales/ja.js +1 -0
- package/locales/ka.esm.js +1 -0
- package/locales/ka.global.js +2 -1
- package/locales/ka.global.min.js +2 -2
- package/locales/ka.js +1 -0
- package/locales/kk.esm.js +1 -0
- package/locales/kk.global.js +2 -1
- package/locales/kk.global.min.js +2 -2
- package/locales/kk.js +1 -0
- package/locales/km.global.js +1 -1
- package/locales/km.global.min.js +1 -1
- package/locales/ko.esm.js +1 -0
- package/locales/ko.global.js +2 -1
- package/locales/ko.global.min.js +2 -2
- package/locales/ko.js +1 -0
- package/locales/ku.esm.js +1 -0
- package/locales/ku.global.js +2 -1
- package/locales/ku.global.min.js +2 -2
- package/locales/ku.js +1 -0
- package/locales/lb.esm.js +1 -0
- package/locales/lb.global.js +2 -1
- package/locales/lb.global.min.js +2 -2
- package/locales/lb.js +1 -0
- package/locales/lt.esm.js +1 -0
- package/locales/lt.global.js +2 -1
- package/locales/lt.global.min.js +2 -2
- package/locales/lt.js +1 -0
- package/locales/lv.esm.js +1 -0
- package/locales/lv.global.js +2 -1
- package/locales/lv.global.min.js +2 -2
- package/locales/lv.js +1 -0
- package/locales/mk.esm.js +1 -0
- package/locales/mk.global.js +2 -1
- package/locales/mk.global.min.js +2 -2
- package/locales/mk.js +1 -0
- package/locales/ms.esm.js +1 -0
- package/locales/ms.global.js +2 -1
- package/locales/ms.global.min.js +2 -2
- package/locales/ms.js +1 -0
- package/locales/nb.esm.js +1 -0
- package/locales/nb.global.js +2 -1
- package/locales/nb.global.min.js +2 -2
- package/locales/nb.js +1 -0
- package/locales/ne.esm.js +1 -0
- package/locales/ne.global.js +2 -1
- package/locales/ne.global.min.js +2 -2
- package/locales/ne.js +1 -0
- package/locales/nl.global.js +1 -1
- package/locales/nl.global.min.js +1 -1
- package/locales/nn.esm.js +1 -0
- package/locales/nn.global.js +2 -1
- package/locales/nn.global.min.js +2 -2
- package/locales/nn.js +1 -0
- package/locales/pl.esm.js +1 -0
- package/locales/pl.global.js +2 -1
- package/locales/pl.global.min.js +2 -2
- package/locales/pl.js +1 -0
- package/locales/pt-br.esm.js +22 -0
- package/locales/pt-br.global.js +23 -1
- package/locales/pt-br.global.min.js +2 -2
- package/locales/pt-br.js +22 -0
- package/locales/pt.esm.js +1 -0
- package/locales/pt.global.js +2 -1
- package/locales/pt.global.min.js +2 -2
- package/locales/pt.js +1 -0
- package/locales/ro.esm.js +1 -0
- package/locales/ro.global.js +2 -1
- package/locales/ro.global.min.js +2 -2
- package/locales/ro.js +1 -0
- package/locales/ru.esm.js +1 -0
- package/locales/ru.global.js +2 -1
- package/locales/ru.global.min.js +2 -2
- package/locales/ru.js +1 -0
- package/locales/si-lk.esm.js +1 -0
- package/locales/si-lk.global.js +2 -1
- package/locales/si-lk.global.min.js +2 -2
- package/locales/si-lk.js +1 -0
- package/locales/sk.esm.js +1 -0
- package/locales/sk.global.js +2 -1
- package/locales/sk.global.min.js +2 -2
- package/locales/sk.js +1 -0
- package/locales/sl.esm.js +1 -0
- package/locales/sl.global.js +2 -1
- package/locales/sl.global.min.js +2 -2
- package/locales/sl.js +1 -0
- package/locales/sm.esm.js +1 -0
- package/locales/sm.global.js +2 -1
- package/locales/sm.global.min.js +2 -2
- package/locales/sm.js +1 -0
- package/locales/sq.esm.js +2 -1
- package/locales/sq.global.js +3 -2
- package/locales/sq.global.min.js +2 -2
- package/locales/sq.js +2 -1
- package/locales/sr-cyrl.esm.js +1 -0
- package/locales/sr-cyrl.global.js +2 -1
- package/locales/sr-cyrl.global.min.js +2 -2
- package/locales/sr-cyrl.js +1 -0
- package/locales/sr.esm.js +1 -0
- package/locales/sr.global.js +2 -1
- package/locales/sr.global.min.js +2 -2
- package/locales/sr.js +1 -0
- package/locales/sv.esm.js +1 -0
- package/locales/sv.global.js +2 -1
- package/locales/sv.global.min.js +2 -2
- package/locales/sv.js +1 -0
- package/locales/ta-in.esm.js +1 -0
- package/locales/ta-in.global.js +2 -1
- package/locales/ta-in.global.min.js +2 -2
- package/locales/ta-in.js +1 -0
- package/locales/th.global.js +1 -1
- package/locales/th.global.min.js +1 -1
- package/locales/tr.esm.js +1 -0
- package/locales/tr.global.js +2 -1
- package/locales/tr.global.min.js +2 -2
- package/locales/tr.js +1 -0
- package/locales/ug.esm.js +4 -0
- package/locales/ug.global.js +5 -1
- package/locales/ug.global.min.js +2 -2
- package/locales/ug.js +4 -0
- package/locales/uk.esm.js +1 -0
- package/locales/uk.global.js +2 -1
- package/locales/uk.global.min.js +2 -2
- package/locales/uk.js +1 -0
- package/locales/uz-cy.d.ts +6 -0
- package/locales/uz-cy.esm.js +24 -0
- package/locales/uz-cy.global.js +34 -0
- package/locales/uz-cy.global.min.js +6 -0
- package/locales/uz-cy.js +28 -0
- package/locales/uz.esm.js +10 -2
- package/locales/uz.global.js +9 -1
- package/locales/uz.global.min.js +2 -2
- package/locales/uz.js +10 -2
- package/locales/vi.esm.js +3 -2
- package/locales/vi.global.js +2 -1
- package/locales/vi.global.min.js +2 -2
- package/locales/vi.js +3 -2
- package/locales/zh-cn.esm.js +3 -2
- package/locales/zh-cn.global.js +2 -1
- package/locales/zh-cn.global.min.js +2 -2
- package/locales/zh-cn.js +3 -2
- package/locales/zh-tw.esm.js +3 -2
- package/locales/zh-tw.global.js +2 -1
- package/locales/zh-tw.global.min.js +2 -2
- package/locales/zh-tw.js +3 -2
- package/locales-all.esm.js +6 -5
- package/locales-all.global.js +148 -9
- package/locales-all.global.min.js +2 -2
- package/locales-all.js +2 -1
- package/package.json +1 -1
- package/preact.esm.js +1 -1
package/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ declare class Calendar extends CalendarImpl {
|
|
|
22
22
|
batchRendering(func: any): void;
|
|
23
23
|
pauseRendering(): void;
|
|
24
24
|
resumeRendering(): void;
|
|
25
|
-
resetOptions(optionOverrides: any,
|
|
25
|
+
resetOptions(optionOverrides: any, changedOptionNames?: string[]): void;
|
|
26
26
|
private setClassNames;
|
|
27
27
|
private setHeight;
|
|
28
28
|
}
|
package/index.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as injectStyles, m as mergeProps, g as guid, a as isArraysEqual, T as Theme, b as mapHash, V as ViewContextType, C as ContentContainer, c as buildViewClassNames, d as greatestDurationDenominator, e as createDuration, B as BASE_OPTION_DEFAULTS, f as arrayToHash, h as filterHash, j as buildEventSourceRefiners, p as parseEventSource, k as formatWithOrdinals, u as unpromisify, l as buildRangeApiWithTimeZone, n as identity, r as requestJson, s as subtractDurations, o as intersectRanges, q as startOfDay, t as addDays, v as hashValuesToArray, w as buildEventApis, D as DelayedRunner, x as createFormatter, y as diffWholeDays, z as memoize, A as memoizeObjArg, E as isPropsEqual, F as Emitter, G as getInitialDate, H as rangeContainsMarker, I as createEmptyEventStore, J as reduceCurrentDate, K as reduceEventStore, L as rezoneEventStoreDates, M as mergeRawOptions, N as BASE_OPTION_REFINERS, O as CALENDAR_LISTENER_REFINERS, P as CALENDAR_OPTION_REFINERS, Q as COMPLEX_OPTION_COMPARATORS, R as VIEW_OPTION_REFINERS, S as DateEnv, U as DateProfileGenerator, W as createEventUi, X as parseBusinessHours, Y as BaseComponent, Z as setRef, _ as Interaction, $ as getElSeg, a0 as elementClosest, a1 as EventImpl, a2 as listenBySelector, a3 as listenToHoverBySelector, a4 as PureComponent, a5 as buildViewContext, a6 as getUniqueDomId, a7 as parseInteractionSettings, a8 as interactionSettingsStore, a9 as getNow, aa as CalendarImpl, ab as flushSync, ac as CalendarRoot, ad as RenderId, ae as
|
|
2
|
-
export {
|
|
1
|
+
import { i as injectStyles, m as mergeProps, g as guid, a as isArraysEqual, T as Theme, b as mapHash, V as ViewContextType, C as ContentContainer, c as buildViewClassNames, d as greatestDurationDenominator, e as createDuration, B as BASE_OPTION_DEFAULTS, f as arrayToHash, h as filterHash, j as buildEventSourceRefiners, p as parseEventSource, k as formatWithOrdinals, u as unpromisify, l as buildRangeApiWithTimeZone, n as identity, r as requestJson, s as subtractDurations, o as intersectRanges, q as startOfDay, t as addDays, v as hashValuesToArray, w as buildEventApis, D as DelayedRunner, x as createFormatter, y as diffWholeDays, z as memoize, A as memoizeObjArg, E as isPropsEqual, F as Emitter, G as getInitialDate, H as rangeContainsMarker, I as createEmptyEventStore, J as reduceCurrentDate, K as reduceEventStore, L as rezoneEventStoreDates, M as mergeRawOptions, N as BASE_OPTION_REFINERS, O as CALENDAR_LISTENER_REFINERS, P as CALENDAR_OPTION_REFINERS, Q as COMPLEX_OPTION_COMPARATORS, R as VIEW_OPTION_REFINERS, S as DateEnv, U as DateProfileGenerator, W as createEventUi, X as parseBusinessHours, Y as BaseComponent, Z as setRef, _ as Interaction, $ as getElSeg, a0 as elementClosest, a1 as EventImpl, a2 as listenBySelector, a3 as listenToHoverBySelector, a4 as PureComponent, a5 as buildViewContext, a6 as getUniqueDomId, a7 as parseInteractionSettings, a8 as interactionSettingsStore, a9 as getNow, aa as CalendarImpl, ab as flushSync, ac as CalendarRoot, ad as RenderId, ae as ensureElHasStyles, af as applyStyleProp, ag as sliceEventStore } from './internal-common.esm.js';
|
|
2
|
+
export { ah as JsonRequestError } from './internal-common.esm.js';
|
|
3
3
|
import { createElement, createRef, Fragment, render } from 'preact';
|
|
4
4
|
import 'preact/compat';
|
|
5
5
|
|
|
@@ -355,7 +355,7 @@ function parseViewConfig(input) {
|
|
|
355
355
|
};
|
|
356
356
|
}
|
|
357
357
|
function createViewHookComponent(options) {
|
|
358
|
-
return (viewProps) => (createElement(ViewContextType.Consumer, null, (context) => (createElement(ContentContainer, { elTag: "div", elClasses: buildViewClassNames(context.viewSpec), renderProps: Object.assign(Object.assign({}, viewProps), { nextDayThreshold: context.options.nextDayThreshold }), generatorName: undefined,
|
|
358
|
+
return (viewProps) => (createElement(ViewContextType.Consumer, null, (context) => (createElement(ContentContainer, { elTag: "div", elClasses: buildViewClassNames(context.viewSpec), renderProps: Object.assign(Object.assign({}, viewProps), { nextDayThreshold: context.options.nextDayThreshold }), generatorName: undefined, customGenerator: options.content, classNameGenerator: options.classNames, didMount: options.didMount, willUnmount: options.willUnmount }))));
|
|
359
359
|
}
|
|
360
360
|
|
|
361
361
|
function buildViewSpecs(defaultInputs, optionOverrides, dynamicOptionOverrides, localeDefaults) {
|
|
@@ -1031,6 +1031,16 @@ BUG: if `event` was supplied, all previously-given `eventSources` will be wiped
|
|
|
1031
1031
|
*/
|
|
1032
1032
|
function handleEventSources(inputs, context) {
|
|
1033
1033
|
let unfoundSources = hashValuesToArray(context.getCurrentData().eventSources);
|
|
1034
|
+
if (unfoundSources.length === 1 &&
|
|
1035
|
+
inputs.length === 1 &&
|
|
1036
|
+
Array.isArray(unfoundSources[0]._raw) &&
|
|
1037
|
+
Array.isArray(inputs[0])) {
|
|
1038
|
+
context.dispatch({
|
|
1039
|
+
type: 'RESET_RAW_EVENTS',
|
|
1040
|
+
sourceId: unfoundSources[0].sourceId,
|
|
1041
|
+
rawEvents: inputs[0],
|
|
1042
|
+
});
|
|
1043
|
+
}
|
|
1034
1044
|
let newInputs = [];
|
|
1035
1045
|
for (let input of inputs) {
|
|
1036
1046
|
let inputFound = false;
|
|
@@ -1168,7 +1178,6 @@ function buildTitleFormat(dateProfile) {
|
|
|
1168
1178
|
// also, whatever is happening in constructor, have it happen in action queue too
|
|
1169
1179
|
class CalendarDataManager {
|
|
1170
1180
|
constructor(props) {
|
|
1171
|
-
this.computeOptionsData = memoize(this._computeOptionsData);
|
|
1172
1181
|
this.computeCurrentViewData = memoize(this._computeCurrentViewData);
|
|
1173
1182
|
this.organizeRawLocales = memoize(organizeRawLocales);
|
|
1174
1183
|
this.buildLocale = memoize(buildLocale);
|
|
@@ -1191,6 +1200,8 @@ class CalendarDataManager {
|
|
|
1191
1200
|
this.currentViewOptionsInput = {};
|
|
1192
1201
|
this.currentViewOptionsRefined = {};
|
|
1193
1202
|
this.currentCalendarOptionsRefiners = {};
|
|
1203
|
+
this.optionsForRefining = [];
|
|
1204
|
+
this.optionsForHandling = [];
|
|
1194
1205
|
this.getCurrentData = () => this.data;
|
|
1195
1206
|
this.dispatch = (action) => {
|
|
1196
1207
|
this.actionRunner.request(action); // protects against recursive calls to _handleAction
|
|
@@ -1253,13 +1264,20 @@ class CalendarDataManager {
|
|
|
1253
1264
|
this.updateData();
|
|
1254
1265
|
this.actionRunner.resume();
|
|
1255
1266
|
}
|
|
1256
|
-
resetOptions(optionOverrides,
|
|
1267
|
+
resetOptions(optionOverrides, changedOptionNames) {
|
|
1257
1268
|
let { props } = this;
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1269
|
+
if (changedOptionNames === undefined) {
|
|
1270
|
+
props.optionOverrides = optionOverrides;
|
|
1271
|
+
}
|
|
1272
|
+
else {
|
|
1273
|
+
props.optionOverrides = Object.assign(Object.assign({}, (props.optionOverrides || {})), optionOverrides);
|
|
1274
|
+
this.optionsForRefining.push(...changedOptionNames);
|
|
1275
|
+
}
|
|
1276
|
+
if (changedOptionNames === undefined || changedOptionNames.length) {
|
|
1277
|
+
this.actionRunner.request({
|
|
1278
|
+
type: 'NOTHING',
|
|
1279
|
+
});
|
|
1280
|
+
}
|
|
1263
1281
|
}
|
|
1264
1282
|
_handleAction(action) {
|
|
1265
1283
|
let { props, state, emitter } = this;
|
|
@@ -1351,24 +1369,31 @@ class CalendarDataManager {
|
|
|
1351
1369
|
state.eventStore = data.eventStore = rezoneEventStoreDates(data.eventStore, oldData.dateEnv, data.dateEnv);
|
|
1352
1370
|
}
|
|
1353
1371
|
for (let optionName in changeHandlers) {
|
|
1354
|
-
if (
|
|
1372
|
+
if (this.optionsForHandling.indexOf(optionName) !== -1 ||
|
|
1373
|
+
oldCalendarOptions[optionName] !== newCalendarOptions[optionName]) {
|
|
1355
1374
|
changeHandlers[optionName](newCalendarOptions[optionName], data);
|
|
1356
1375
|
}
|
|
1357
1376
|
}
|
|
1358
1377
|
}
|
|
1378
|
+
this.optionsForHandling = [];
|
|
1359
1379
|
if (props.onData) {
|
|
1360
1380
|
props.onData(data);
|
|
1361
1381
|
}
|
|
1362
1382
|
}
|
|
1363
|
-
|
|
1383
|
+
computeOptionsData(optionOverrides, dynamicOptionOverrides, calendarApi) {
|
|
1364
1384
|
// TODO: blacklist options that are handled by optionChangeHandlers
|
|
1385
|
+
if (!this.optionsForRefining.length &&
|
|
1386
|
+
optionOverrides === this.stableOptionOverrides &&
|
|
1387
|
+
dynamicOptionOverrides === this.stableDynamicOptionOverrides) {
|
|
1388
|
+
return this.stableCalendarOptionsData;
|
|
1389
|
+
}
|
|
1365
1390
|
let { refinedOptions, pluginHooks, localeDefaults, availableLocaleData, extra, } = this.processRawCalendarOptions(optionOverrides, dynamicOptionOverrides);
|
|
1366
1391
|
warnUnknownOptions(extra);
|
|
1367
1392
|
let dateEnv = this.buildDateEnv(refinedOptions.timeZone, refinedOptions.locale, refinedOptions.weekNumberCalculation, refinedOptions.firstDay, refinedOptions.weekText, pluginHooks, availableLocaleData, refinedOptions.defaultRangeSeparator);
|
|
1368
|
-
let viewSpecs = this.buildViewSpecs(pluginHooks.views,
|
|
1393
|
+
let viewSpecs = this.buildViewSpecs(pluginHooks.views, this.stableOptionOverrides, this.stableDynamicOptionOverrides, localeDefaults);
|
|
1369
1394
|
let theme = this.buildTheme(refinedOptions, pluginHooks);
|
|
1370
|
-
let toolbarConfig = this.parseToolbars(refinedOptions,
|
|
1371
|
-
return {
|
|
1395
|
+
let toolbarConfig = this.parseToolbars(refinedOptions, this.stableOptionOverrides, theme, viewSpecs, calendarApi);
|
|
1396
|
+
return this.stableCalendarOptionsData = {
|
|
1372
1397
|
calendarOptions: refinedOptions,
|
|
1373
1398
|
pluginHooks,
|
|
1374
1399
|
dateEnv,
|
|
@@ -1403,26 +1428,27 @@ class CalendarDataManager {
|
|
|
1403
1428
|
let currentRefined = this.currentCalendarOptionsRefined;
|
|
1404
1429
|
let anyChanges = false;
|
|
1405
1430
|
for (let optionName in raw) {
|
|
1406
|
-
if (optionName
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
else {
|
|
1418
|
-
extra[optionName] = currentRaw[optionName];
|
|
1419
|
-
}
|
|
1431
|
+
if (this.optionsForRefining.indexOf(optionName) === -1 && (raw[optionName] === currentRaw[optionName] || (COMPLEX_OPTION_COMPARATORS[optionName] &&
|
|
1432
|
+
(optionName in currentRaw) &&
|
|
1433
|
+
COMPLEX_OPTION_COMPARATORS[optionName](currentRaw[optionName], raw[optionName])))) {
|
|
1434
|
+
refined[optionName] = currentRefined[optionName];
|
|
1435
|
+
}
|
|
1436
|
+
else if (refiners[optionName]) {
|
|
1437
|
+
refined[optionName] = refiners[optionName](raw[optionName]);
|
|
1438
|
+
anyChanges = true;
|
|
1439
|
+
}
|
|
1440
|
+
else {
|
|
1441
|
+
extra[optionName] = currentRaw[optionName];
|
|
1420
1442
|
}
|
|
1421
1443
|
}
|
|
1422
1444
|
if (anyChanges) {
|
|
1423
1445
|
this.currentCalendarOptionsInput = raw;
|
|
1424
1446
|
this.currentCalendarOptionsRefined = refined;
|
|
1447
|
+
this.stableOptionOverrides = optionOverrides;
|
|
1448
|
+
this.stableDynamicOptionOverrides = dynamicOptionOverrides;
|
|
1425
1449
|
}
|
|
1450
|
+
this.optionsForHandling.push(...this.optionsForRefining);
|
|
1451
|
+
this.optionsForRefining = [];
|
|
1426
1452
|
return {
|
|
1427
1453
|
rawOptions: this.currentCalendarOptionsInput,
|
|
1428
1454
|
refinedOptions: this.currentCalendarOptionsRefined,
|
|
@@ -1457,7 +1483,6 @@ class CalendarDataManager {
|
|
|
1457
1483
|
nowInput: refinedOptions.now,
|
|
1458
1484
|
validRangeInput: refinedOptions.validRange,
|
|
1459
1485
|
visibleRangeInput: refinedOptions.visibleRange,
|
|
1460
|
-
monthMode: refinedOptions.monthMode,
|
|
1461
1486
|
fixedWeekCount: refinedOptions.fixedWeekCount,
|
|
1462
1487
|
});
|
|
1463
1488
|
let viewApi = this.buildViewApi(viewType, this.getCurrentData, optionsData.dateEnv);
|
|
@@ -1666,8 +1691,7 @@ class Toolbar extends BaseComponent {
|
|
|
1666
1691
|
}
|
|
1667
1692
|
}
|
|
1668
1693
|
|
|
1669
|
-
|
|
1670
|
-
class ViewContainer extends BaseComponent {
|
|
1694
|
+
class ViewHarness extends BaseComponent {
|
|
1671
1695
|
constructor() {
|
|
1672
1696
|
super(...arguments);
|
|
1673
1697
|
this.state = {
|
|
@@ -1883,7 +1907,7 @@ class CalendarContent extends PureComponent {
|
|
|
1883
1907
|
: '';
|
|
1884
1908
|
return (createElement(ViewContextType.Provider, { value: viewContext },
|
|
1885
1909
|
toolbarConfig.header && (createElement(Toolbar, Object.assign({ ref: this.headerRef, extraClassName: "fc-header-toolbar", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))),
|
|
1886
|
-
createElement(
|
|
1910
|
+
createElement(ViewHarness, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId },
|
|
1887
1911
|
this.renderView(props),
|
|
1888
1912
|
this.buildAppendContent()),
|
|
1889
1913
|
toolbarConfig.footer && (createElement(Toolbar, Object.assign({ ref: this.footerRef, extraClassName: "fc-footer-toolbar", model: toolbarConfig.footer, titleId: "" }, toolbarProps)))));
|
|
@@ -2002,6 +2026,7 @@ class Calendar extends CalendarImpl {
|
|
|
2002
2026
|
this.setHeight('');
|
|
2003
2027
|
}
|
|
2004
2028
|
};
|
|
2029
|
+
ensureElHasStyles(el);
|
|
2005
2030
|
this.el = el;
|
|
2006
2031
|
this.renderRunner = new DelayedRunner(this.handleRenderRequest);
|
|
2007
2032
|
new CalendarDataManager({
|
|
@@ -2046,8 +2071,8 @@ class Calendar extends CalendarImpl {
|
|
|
2046
2071
|
resumeRendering() {
|
|
2047
2072
|
this.renderRunner.resume('pauseRendering', true);
|
|
2048
2073
|
}
|
|
2049
|
-
resetOptions(optionOverrides,
|
|
2050
|
-
this.currentDataManager.resetOptions(optionOverrides,
|
|
2074
|
+
resetOptions(optionOverrides, changedOptionNames) {
|
|
2075
|
+
this.currentDataManager.resetOptions(optionOverrides, changedOptionNames);
|
|
2051
2076
|
}
|
|
2052
2077
|
setClassNames(classNames) {
|
|
2053
2078
|
if (!isArraysEqual(classNames, this.currentClassNames)) {
|
|
@@ -2107,6 +2132,6 @@ function sliceEvents(props, allDay) {
|
|
|
2107
2132
|
return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
|
|
2108
2133
|
}
|
|
2109
2134
|
|
|
2110
|
-
const version = '6.0
|
|
2135
|
+
const version = '6.1.0';
|
|
2111
2136
|
|
|
2112
2137
|
export { Calendar, createPlugin, formatDate, formatRange, globalLocales, globalPlugins, sliceEvents, version };
|