@fullcalendar/core 7.0.0-beta.3 → 7.0.0-beta.4
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.cjs +54 -45
- package/index.global.js +205 -151
- package/index.global.min.js +2 -2
- package/index.js +56 -47
- package/internal-common.cjs +5151 -5106
- package/internal-common.d.ts +128 -85
- package/internal-common.js +5150 -5106
- package/internal.cjs +2 -1
- package/internal.d.ts +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.global.js +1 -1
- package/locales/ar-dz.global.min.js +1 -1
- package/locales/ar-kw.global.js +1 -1
- package/locales/ar-kw.global.min.js +1 -1
- package/locales/ar-ly.global.js +1 -1
- package/locales/ar-ly.global.min.js +1 -1
- package/locales/ar-ma.global.js +1 -1
- package/locales/ar-ma.global.min.js +1 -1
- package/locales/ar-sa.global.js +1 -1
- package/locales/ar-sa.global.min.js +1 -1
- package/locales/ar-tn.global.js +1 -1
- package/locales/ar-tn.global.min.js +1 -1
- package/locales/ar.global.js +1 -1
- package/locales/ar.global.min.js +1 -1
- package/locales/az.global.js +1 -1
- package/locales/az.global.min.js +1 -1
- package/locales/bg.global.js +1 -1
- package/locales/bg.global.min.js +1 -1
- package/locales/bn.global.js +1 -1
- package/locales/bn.global.min.js +1 -1
- package/locales/bs.global.js +1 -1
- package/locales/bs.global.min.js +1 -1
- package/locales/ca.global.js +1 -1
- package/locales/ca.global.min.js +1 -1
- package/locales/cs.global.js +1 -1
- package/locales/cs.global.min.js +1 -1
- package/locales/cy.global.js +1 -1
- package/locales/cy.global.min.js +1 -1
- package/locales/da.global.js +1 -1
- package/locales/da.global.min.js +1 -1
- package/locales/de-at.cjs +1 -2
- package/locales/de-at.global.js +2 -3
- package/locales/de-at.global.min.js +2 -2
- package/locales/de-at.js +1 -2
- package/locales/de.cjs +1 -2
- package/locales/de.global.js +2 -3
- package/locales/de.global.min.js +2 -2
- package/locales/de.js +1 -2
- package/locales/el.global.js +1 -1
- package/locales/el.global.min.js +1 -1
- 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.global.js +1 -1
- package/locales/eo.global.min.js +1 -1
- package/locales/es-us.global.js +1 -1
- package/locales/es-us.global.min.js +1 -1
- package/locales/es.cjs +1 -2
- package/locales/es.global.js +2 -3
- package/locales/es.global.min.js +2 -2
- package/locales/es.js +1 -2
- package/locales/et.global.js +1 -1
- package/locales/et.global.min.js +1 -1
- package/locales/eu.global.js +1 -1
- package/locales/eu.global.min.js +1 -1
- package/locales/fa.global.js +1 -1
- package/locales/fa.global.min.js +1 -1
- package/locales/fi.global.js +1 -1
- package/locales/fi.global.min.js +1 -1
- package/locales/fr-ca.global.js +1 -1
- package/locales/fr-ca.global.min.js +1 -1
- package/locales/fr-ch.global.js +1 -1
- package/locales/fr-ch.global.min.js +1 -1
- package/locales/fr.global.js +1 -1
- package/locales/fr.global.min.js +1 -1
- package/locales/gl.cjs +1 -2
- package/locales/gl.global.js +2 -3
- package/locales/gl.global.min.js +2 -2
- package/locales/gl.js +1 -2
- package/locales/he.global.js +1 -1
- package/locales/he.global.min.js +1 -1
- package/locales/hi.global.js +1 -1
- package/locales/hi.global.min.js +1 -1
- package/locales/hr.global.js +1 -1
- package/locales/hr.global.min.js +1 -1
- package/locales/hu.global.js +1 -1
- package/locales/hu.global.min.js +1 -1
- package/locales/hy-am.global.js +1 -1
- package/locales/hy-am.global.min.js +1 -1
- package/locales/id.global.js +1 -1
- package/locales/id.global.min.js +1 -1
- package/locales/is.global.js +1 -1
- package/locales/is.global.min.js +1 -1
- package/locales/it.global.js +1 -1
- package/locales/it.global.min.js +1 -1
- package/locales/ja.global.js +1 -1
- package/locales/ja.global.min.js +1 -1
- package/locales/ka.global.js +1 -1
- package/locales/ka.global.min.js +1 -1
- package/locales/kk.global.js +1 -1
- package/locales/kk.global.min.js +1 -1
- package/locales/km.global.js +1 -1
- package/locales/km.global.min.js +1 -1
- package/locales/ko.global.js +1 -1
- package/locales/ko.global.min.js +1 -1
- package/locales/ku.global.js +1 -1
- package/locales/ku.global.min.js +1 -1
- package/locales/lb.global.js +1 -1
- package/locales/lb.global.min.js +1 -1
- package/locales/lt.global.js +1 -1
- package/locales/lt.global.min.js +1 -1
- package/locales/lv.global.js +1 -1
- package/locales/lv.global.min.js +1 -1
- package/locales/mk.global.js +1 -1
- package/locales/mk.global.min.js +1 -1
- package/locales/ms.global.js +1 -1
- package/locales/ms.global.min.js +1 -1
- package/locales/nb.global.js +1 -1
- package/locales/nb.global.min.js +1 -1
- package/locales/ne.global.js +1 -1
- package/locales/ne.global.min.js +1 -1
- package/locales/nl.global.js +1 -1
- package/locales/nl.global.min.js +1 -1
- package/locales/nn.global.js +1 -1
- package/locales/nn.global.min.js +1 -1
- package/locales/pl.global.js +1 -1
- package/locales/pl.global.min.js +1 -1
- package/locales/pt-br.cjs +1 -2
- package/locales/pt-br.global.js +2 -3
- package/locales/pt-br.global.min.js +2 -2
- package/locales/pt-br.js +1 -2
- package/locales/pt.global.js +1 -1
- package/locales/pt.global.min.js +1 -1
- package/locales/ro.global.js +1 -1
- package/locales/ro.global.min.js +1 -1
- package/locales/ru.global.js +1 -1
- package/locales/ru.global.min.js +1 -1
- package/locales/si-lk.global.js +1 -1
- package/locales/si-lk.global.min.js +1 -1
- package/locales/sk.global.js +1 -1
- package/locales/sk.global.min.js +1 -1
- package/locales/sl.global.js +1 -1
- package/locales/sl.global.min.js +1 -1
- package/locales/sm.global.js +1 -1
- package/locales/sm.global.min.js +1 -1
- package/locales/sq.global.js +1 -1
- package/locales/sq.global.min.js +1 -1
- package/locales/sr-cyrl.global.js +1 -1
- package/locales/sr-cyrl.global.min.js +1 -1
- package/locales/sr.global.js +1 -1
- package/locales/sr.global.min.js +1 -1
- package/locales/sv.cjs +1 -2
- package/locales/sv.global.js +2 -3
- package/locales/sv.global.min.js +2 -2
- package/locales/sv.js +1 -2
- package/locales/ta-in.global.js +1 -1
- package/locales/ta-in.global.min.js +1 -1
- package/locales/th.global.js +1 -1
- package/locales/th.global.min.js +1 -1
- package/locales/tr.global.js +1 -1
- package/locales/tr.global.min.js +1 -1
- package/locales/ug.global.js +1 -1
- package/locales/ug.global.min.js +1 -1
- package/locales/uk.global.js +1 -1
- package/locales/uk.global.min.js +1 -1
- package/locales/uz-cy.global.js +1 -1
- package/locales/uz-cy.global.min.js +1 -1
- package/locales/uz.global.js +1 -1
- package/locales/uz.global.min.js +1 -1
- package/locales/vi.global.js +1 -1
- package/locales/vi.global.min.js +1 -1
- package/locales/zh-cn.global.js +1 -1
- package/locales/zh-cn.global.min.js +1 -1
- package/locales/zh-tw.global.js +1 -1
- package/locales/zh-tw.global.min.js +1 -1
- package/locales-all.global.js +7 -13
- package/locales-all.global.min.js +2 -2
- package/package.json +1 -1
- package/preact.js +1 -1
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { m as mergeProps, g as guid, i as isArraysEqual, T as Theme, a as mapHash, B as BaseComponent, V as ViewContextType, C as ContentContainer, b as buildViewClassName, c as greatestDurationDenominator, d as createDuration, e 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 joinClassNames, Z as Interaction, _ as getElEventRange, $ as EventImpl, a0 as listenBySelector, a1 as listenToHoverBySelector, a2 as PureComponent, a3 as buildViewContext, a4 as
|
|
2
|
-
export {
|
|
1
|
+
import { m as mergeProps, g as guid, i as isArraysEqual, T as Theme, a as mapHash, B as BaseComponent, V as ViewContextType, C as ContentContainer, b as buildViewClassName, c as greatestDurationDenominator, d as createDuration, e 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 joinClassNames, Z as Interaction, _ as getElEventRange, $ as EventImpl, a0 as listenBySelector, a1 as listenToHoverBySelector, a2 as PureComponent, a3 as buildViewContext, a4 as getUniqueDomId, a5 as parseInteractionSettings, a6 as interactionSettingsStore, a7 as getNow, a8 as getIsHeightAuto, a9 as CalendarImpl, aa as flushSync, ab as CalendarRoot, ac as RenderId, ad as ensureElHasStyles, ae as applyStyleProp, af as sliceEventStore } from './internal-common.js';
|
|
2
|
+
export { ag as JsonRequestError } from './internal-common.js';
|
|
3
3
|
import { createElement, Component, Fragment, render } from 'preact';
|
|
4
4
|
import 'preact/compat';
|
|
5
5
|
|
|
@@ -27,9 +27,9 @@ const MINIMAL_RAW_EN_LOCALE = {
|
|
|
27
27
|
weekText: 'W',
|
|
28
28
|
weekTextLong: 'Week',
|
|
29
29
|
closeHint: 'Close',
|
|
30
|
-
|
|
31
|
-
eventHint: 'Event',
|
|
30
|
+
eventsHint: 'Events',
|
|
32
31
|
allDayText: 'all-day',
|
|
32
|
+
timedText: 'timed',
|
|
33
33
|
moreLinkText: 'more',
|
|
34
34
|
noEventsText: 'No events to display',
|
|
35
35
|
};
|
|
@@ -44,7 +44,7 @@ const RAW_EN_LOCALE = Object.assign(Object.assign({}, MINIMAL_RAW_EN_LOCALE), {
|
|
|
44
44
|
? 'Today'
|
|
45
45
|
: `This ${buttonText}`;
|
|
46
46
|
},
|
|
47
|
-
}, viewHint: '$0 view', navLinkHint: 'Go to $0', moreLinkHint(eventCnt) {
|
|
47
|
+
}, viewHint: '$0 view', viewChangeHint: 'Change view', navLinkHint: 'Go to $0', moreLinkHint(eventCnt) {
|
|
48
48
|
return `Show ${eventCnt} more event${eventCnt === 1 ? '' : 's'}`;
|
|
49
49
|
} });
|
|
50
50
|
function organizeRawLocales(explicitRawLocales) {
|
|
@@ -716,17 +716,25 @@ function parseToolbars(calendarOptions, calendarOptionOverrides, theme, viewSpec
|
|
|
716
716
|
return { header, footer };
|
|
717
717
|
}
|
|
718
718
|
function parseToolbar(sectionStrHash, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi) {
|
|
719
|
-
let
|
|
719
|
+
let isRtl = calendarOptions.direction === 'rtl';
|
|
720
720
|
let viewsWithButtons = [];
|
|
721
721
|
let hasTitle = false;
|
|
722
|
-
|
|
723
|
-
let sectionStr = sectionStrHash[sectionName];
|
|
722
|
+
function processSectionStr(sectionStr) {
|
|
724
723
|
let sectionRes = parseSection(sectionStr, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi);
|
|
725
|
-
sectionWidgets[sectionName] = sectionRes.widgets;
|
|
726
724
|
viewsWithButtons.push(...sectionRes.viewsWithButtons);
|
|
727
725
|
hasTitle = hasTitle || sectionRes.hasTitle;
|
|
726
|
+
return sectionRes.widgets;
|
|
728
727
|
}
|
|
729
|
-
|
|
728
|
+
const sectionWidgets = {
|
|
729
|
+
start: processSectionStr(sectionStrHash[isRtl ? 'right' : 'left'] || sectionStrHash.start || ''),
|
|
730
|
+
center: processSectionStr(sectionStrHash.center || ''),
|
|
731
|
+
end: processSectionStr(sectionStrHash[isRtl ? 'left' : 'right'] || sectionStrHash.end || ''),
|
|
732
|
+
};
|
|
733
|
+
return {
|
|
734
|
+
sectionWidgets,
|
|
735
|
+
viewsWithButtons,
|
|
736
|
+
hasTitle,
|
|
737
|
+
};
|
|
730
738
|
}
|
|
731
739
|
/*
|
|
732
740
|
BAD: querying icons and text here. should be done at render time
|
|
@@ -754,6 +762,7 @@ theme, viewSpecs, calendarApi) {
|
|
|
754
762
|
let buttonIcon; // only one of these will be set
|
|
755
763
|
let buttonText; // "
|
|
756
764
|
let buttonHint;
|
|
765
|
+
let isView = false;
|
|
757
766
|
// ^ for the title="" attribute, for accessibility
|
|
758
767
|
if ((customButtonProps = calendarCustomButtons[buttonName])) {
|
|
759
768
|
buttonClick = (ev) => {
|
|
@@ -767,6 +776,7 @@ theme, viewSpecs, calendarApi) {
|
|
|
767
776
|
buttonHint = customButtonProps.hint || customButtonProps.text;
|
|
768
777
|
}
|
|
769
778
|
else if ((viewSpec = viewSpecs[buttonName])) {
|
|
779
|
+
isView = true;
|
|
770
780
|
viewsWithButtons.push(buttonName);
|
|
771
781
|
buttonClick = () => {
|
|
772
782
|
calendarApi.changeView(buttonName);
|
|
@@ -804,7 +814,7 @@ theme, viewSpecs, calendarApi) {
|
|
|
804
814
|
], calendarButtonText[buttonName]);
|
|
805
815
|
}
|
|
806
816
|
}
|
|
807
|
-
return { buttonName, buttonClick, buttonIcon, buttonText, buttonHint };
|
|
817
|
+
return { buttonName, buttonClick, buttonIcon, buttonText, buttonHint, isView };
|
|
808
818
|
})));
|
|
809
819
|
return { widgets, viewsWithButtons, hasTitle };
|
|
810
820
|
}
|
|
@@ -1628,27 +1638,41 @@ class ToolbarSection extends BaseComponent {
|
|
|
1628
1638
|
}, ...children);
|
|
1629
1639
|
}
|
|
1630
1640
|
renderWidgetGroup(widgetGroup) {
|
|
1631
|
-
let { props } = this;
|
|
1632
|
-
let { theme } =
|
|
1641
|
+
let { props, context } = this;
|
|
1642
|
+
let { options, theme } = context;
|
|
1633
1643
|
let children = [];
|
|
1634
1644
|
let isOnlyButtons = true;
|
|
1645
|
+
let isOnlyView = true;
|
|
1646
|
+
for (const widget of widgetGroup) {
|
|
1647
|
+
const { buttonName, isView } = widget;
|
|
1648
|
+
if (buttonName === 'title') {
|
|
1649
|
+
isOnlyButtons = false;
|
|
1650
|
+
}
|
|
1651
|
+
else if (!isView) {
|
|
1652
|
+
isOnlyView = false;
|
|
1653
|
+
}
|
|
1654
|
+
}
|
|
1635
1655
|
for (let widget of widgetGroup) {
|
|
1636
1656
|
let { buttonName, buttonClick, buttonText, buttonIcon, buttonHint } = widget;
|
|
1637
1657
|
if (buttonName === 'title') {
|
|
1638
|
-
|
|
1639
|
-
children.push(createElement("h2", { className: "fc-toolbar-title" }, props.title));
|
|
1658
|
+
children.push(createElement("div", { role: 'heading', "aria-level": options.headingLevel, id: props.titleId, className: 'fc-toolbar-title' }, props.title));
|
|
1640
1659
|
}
|
|
1641
1660
|
else {
|
|
1642
1661
|
let isPressed = buttonName === props.activeButton;
|
|
1643
1662
|
let isDisabled = (!props.isTodayEnabled && buttonName === 'today') ||
|
|
1644
1663
|
(!props.isPrevEnabled && buttonName === 'prev') ||
|
|
1645
1664
|
(!props.isNextEnabled && buttonName === 'next');
|
|
1646
|
-
children.push(createElement("button", { type: "button",
|
|
1665
|
+
children.push(createElement("button", Object.assign({ type: "button", disabled: isDisabled }, ((isOnlyButtons && isOnlyView)
|
|
1666
|
+
? { 'role': 'tab', 'aria-selected': isPressed }
|
|
1667
|
+
: { 'aria-pressed': isPressed }), { "aria-label": typeof buttonHint === 'function' ? buttonHint(props.navUnit) : buttonHint, className: joinClassNames(`fc-${buttonName}-button`, theme.getClassName('button'), isPressed && theme.getClassName('buttonActive')), onClick: buttonClick }), buttonText || (buttonIcon ? createElement("span", { className: buttonIcon, "aria-hidden": true }) : '')));
|
|
1647
1668
|
}
|
|
1648
1669
|
}
|
|
1649
1670
|
if (children.length > 1) {
|
|
1650
|
-
|
|
1651
|
-
|
|
1671
|
+
return createElement('div', {
|
|
1672
|
+
role: (isOnlyButtons && isOnlyView) ? 'tablist' : undefined,
|
|
1673
|
+
'aria-label': (isOnlyButtons && isOnlyView) ? options.viewChangeHint : undefined,
|
|
1674
|
+
className: isOnlyButtons ? theme.getClassName('buttonGroup') : undefined,
|
|
1675
|
+
}, ...children);
|
|
1652
1676
|
}
|
|
1653
1677
|
return children[0];
|
|
1654
1678
|
}
|
|
@@ -1657,33 +1681,15 @@ class ToolbarSection extends BaseComponent {
|
|
|
1657
1681
|
class Toolbar extends BaseComponent {
|
|
1658
1682
|
render() {
|
|
1659
1683
|
let { model, className } = this.props;
|
|
1660
|
-
let
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
if (sectionWidgets.left) {
|
|
1666
|
-
forceLtr = true;
|
|
1667
|
-
startContent = sectionWidgets.left;
|
|
1668
|
-
}
|
|
1669
|
-
else {
|
|
1670
|
-
startContent = sectionWidgets.start;
|
|
1671
|
-
}
|
|
1672
|
-
if (sectionWidgets.right) {
|
|
1673
|
-
forceLtr = true;
|
|
1674
|
-
endContent = sectionWidgets.right;
|
|
1675
|
-
}
|
|
1676
|
-
else {
|
|
1677
|
-
endContent = sectionWidgets.end;
|
|
1678
|
-
}
|
|
1679
|
-
return (createElement("div", { className: joinClassNames(className, 'fc-toolbar', forceLtr && 'fc-toolbar-ltr') },
|
|
1680
|
-
this.renderSection('start', startContent || []),
|
|
1681
|
-
this.renderSection('center', centerContent || []),
|
|
1682
|
-
this.renderSection('end', endContent || [])));
|
|
1684
|
+
let { sectionWidgets } = model;
|
|
1685
|
+
return (createElement("div", { className: joinClassNames(className, 'fc-toolbar') },
|
|
1686
|
+
this.renderSection('start', sectionWidgets.start),
|
|
1687
|
+
this.renderSection('center', sectionWidgets.center),
|
|
1688
|
+
this.renderSection('end', sectionWidgets.end)));
|
|
1683
1689
|
}
|
|
1684
1690
|
renderSection(key, widgetGroups) {
|
|
1685
1691
|
let { props } = this;
|
|
1686
|
-
return (createElement(ToolbarSection, { key: key, name: key, widgetGroups: widgetGroups, title: props.title, navUnit: props.navUnit, activeButton: props.activeButton, isTodayEnabled: props.isTodayEnabled, isPrevEnabled: props.isPrevEnabled, isNextEnabled: props.isNextEnabled }));
|
|
1692
|
+
return (createElement(ToolbarSection, { key: key, name: key, widgetGroups: widgetGroups, title: props.title, titleId: props.titleId, navUnit: props.navUnit, activeButton: props.activeButton, isTodayEnabled: props.isTodayEnabled, isPrevEnabled: props.isPrevEnabled, isNextEnabled: props.isNextEnabled }));
|
|
1687
1693
|
}
|
|
1688
1694
|
}
|
|
1689
1695
|
|
|
@@ -1782,6 +1788,7 @@ class CalendarContent extends PureComponent {
|
|
|
1782
1788
|
this.buildViewPropTransformers = memoize(buildViewPropTransformers);
|
|
1783
1789
|
this.buildToolbarProps = memoize(buildToolbarProps);
|
|
1784
1790
|
this.interactionsStore = {};
|
|
1791
|
+
this.viewTitleId = getUniqueDomId();
|
|
1785
1792
|
// Component Registration
|
|
1786
1793
|
// -----------------------------------------------------------------------------------------------------------------
|
|
1787
1794
|
this.registerInteractiveComponent = (component, settingsInput) => {
|
|
@@ -1832,9 +1839,9 @@ class CalendarContent extends PureComponent {
|
|
|
1832
1839
|
}
|
|
1833
1840
|
let viewContext = this.buildViewContext(props.viewSpec, props.viewApi, props.options, props.dateProfileGenerator, props.dateEnv, props.theme, props.pluginHooks, props.dispatch, props.getCurrentData, props.emitter, props.calendarApi, this.registerInteractiveComponent, this.unregisterInteractiveComponent);
|
|
1834
1841
|
return (createElement(ViewContextType.Provider, { value: viewContext },
|
|
1835
|
-
toolbarConfig.header && (createElement(Toolbar, Object.assign({ className: "fc-header-toolbar", model: toolbarConfig.header }, toolbarProps))),
|
|
1842
|
+
toolbarConfig.header && (createElement(Toolbar, Object.assign({ className: "fc-header-toolbar", model: toolbarConfig.header, titleId: this.viewTitleId }, toolbarProps))),
|
|
1836
1843
|
createElement(ViewHarness, { height: viewHeight, heightLiquid: viewHeightLiquid, aspectRatio: viewAspectRatio },
|
|
1837
|
-
this.renderView(props),
|
|
1844
|
+
this.renderView(props, toolbarProps.title),
|
|
1838
1845
|
this.buildAppendContent()),
|
|
1839
1846
|
toolbarConfig.footer && (createElement(Toolbar, Object.assign({ className: "fc-footer-toolbar", model: toolbarConfig.footer }, toolbarProps)))));
|
|
1840
1847
|
}
|
|
@@ -1867,9 +1874,9 @@ class CalendarContent extends PureComponent {
|
|
|
1867
1874
|
let children = props.pluginHooks.viewContainerAppends.map((buildAppendContent) => buildAppendContent(props));
|
|
1868
1875
|
return createElement(Fragment, {}, ...children);
|
|
1869
1876
|
}
|
|
1870
|
-
renderView(props) {
|
|
1877
|
+
renderView(props, title) {
|
|
1871
1878
|
let { pluginHooks } = props;
|
|
1872
|
-
let { viewSpec } = props;
|
|
1879
|
+
let { viewSpec, toolbarConfig } = props;
|
|
1873
1880
|
let viewProps = {
|
|
1874
1881
|
dateProfile: props.dateProfile,
|
|
1875
1882
|
businessHours: props.businessHours,
|
|
@@ -1880,6 +1887,8 @@ class CalendarContent extends PureComponent {
|
|
|
1880
1887
|
eventDrag: props.eventDrag,
|
|
1881
1888
|
eventResize: props.eventResize,
|
|
1882
1889
|
forPrint: props.forPrint,
|
|
1890
|
+
labelId: toolbarConfig.header && toolbarConfig.header.hasTitle ? this.viewTitleId : undefined,
|
|
1891
|
+
labelStr: toolbarConfig.header && toolbarConfig.header.hasTitle ? undefined : title,
|
|
1883
1892
|
};
|
|
1884
1893
|
let transformers = this.buildViewPropTransformers(pluginHooks.viewPropsTransformers);
|
|
1885
1894
|
for (let transformer of transformers) {
|
|
@@ -2057,6 +2066,6 @@ function sliceEvents(props, allDay) {
|
|
|
2057
2066
|
return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
|
|
2058
2067
|
}
|
|
2059
2068
|
|
|
2060
|
-
const version = '7.0.0-beta.
|
|
2069
|
+
const version = '7.0.0-beta.4';
|
|
2061
2070
|
|
|
2062
2071
|
export { Calendar, createPlugin, formatDate, formatRange, globalLocales, globalPlugins, sliceEvents, version };
|