@sme.up/ketchup 10.3.1 → 10.3.2
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/dist/cjs/{component-cb3b32f5.js → component-a6dd6c14.js} +1 -1
- package/dist/cjs/{f-cell-be0c55ac.js → f-cell-7a2faf7a.js} +8 -6
- package/dist/cjs/{f-chip-dc085b9b.js → f-chip-f2d6124b.js} +1 -1
- package/dist/cjs/{f-object-field-96e1c599.js → f-object-field-3810f288.js} +2 -2
- package/dist/cjs/{f-paginator-utils-3f233ebe.js → f-paginator-utils-3855e84c.js} +1 -1
- package/dist/cjs/{f-text-field-d91ab1e8.js → f-text-field-a34a5979.js} +2 -2
- package/dist/cjs/{f-text-field-mdc-2a3c8c01.js → f-text-field-mdc-29aae9c9.js} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/ketchup.cjs.js +1 -1
- package/dist/cjs/kup-accordion.cjs.entry.js +247 -44
- package/dist/cjs/kup-activity-timeline.cjs.entry.js +2 -2
- package/dist/cjs/kup-autocomplete_29.cjs.entry.js +927 -894
- package/dist/cjs/kup-box.cjs.entry.js +9 -9
- package/dist/cjs/kup-calendar.cjs.entry.js +925 -87
- package/dist/cjs/kup-card-list.cjs.entry.js +1 -1
- package/dist/cjs/kup-cell.cjs.entry.js +5 -5
- package/dist/cjs/kup-dashboard.cjs.entry.js +4 -4
- package/dist/cjs/{kup-data-table-helper-ff263f4f.js → kup-data-table-helper-f53032e7.js} +1 -1
- package/dist/cjs/kup-drawer.cjs.entry.js +1 -1
- package/dist/cjs/kup-echart.cjs.entry.js +5 -4
- package/dist/cjs/kup-editor.cjs.entry.js +3 -3
- package/dist/cjs/kup-family-tree.cjs.entry.js +1 -1
- package/dist/cjs/kup-grid.cjs.entry.js +1 -1
- package/dist/cjs/kup-htm.cjs.entry.js +1 -1
- package/dist/cjs/kup-iframe.cjs.entry.js +1 -1
- package/dist/cjs/kup-image-list.cjs.entry.js +6 -6
- package/dist/cjs/kup-input-panel.cjs.entry.js +58 -31
- package/dist/cjs/kup-lazy.cjs.entry.js +1 -1
- package/dist/cjs/kup-magic-box.cjs.entry.js +1 -1
- package/dist/cjs/{kup-manager-ecc44384.js → kup-manager-c70d3188.js} +122 -24
- package/dist/cjs/kup-nav-bar.cjs.entry.js +1 -1
- package/dist/cjs/kup-numeric-picker.cjs.entry.js +4 -4
- package/dist/cjs/kup-object-field.cjs.entry.js +3 -3
- package/dist/cjs/kup-pdf.cjs.entry.js +1 -1
- package/dist/cjs/kup-planner.cjs.entry.js +4 -4
- package/dist/cjs/kup-probe.cjs.entry.js +1 -1
- package/dist/cjs/kup-qlik.cjs.entry.js +1 -1
- package/dist/cjs/kup-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/kup-txt.cjs.entry.js +1 -1
- package/dist/cjs/kup-typography-list.cjs.entry.js +1 -1
- package/dist/cjs/kup-typography.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/accordion.js +73 -18
- package/dist/collection/assets/dashboard.js +3 -9
- package/dist/collection/components/kup-accordion/kup-accordion-declarations.js +6 -1
- package/dist/collection/components/kup-accordion/kup-accordion.css +10 -2
- package/dist/collection/components/kup-accordion/kup-accordion.js +432 -54
- package/dist/collection/components/kup-autocomplete/kup-autocomplete-declarations.js +2 -0
- package/dist/collection/components/kup-autocomplete/kup-autocomplete.js +44 -28
- package/dist/collection/components/kup-calendar/kup-calendar.css +13 -0
- package/dist/collection/components/kup-card/built-in/kup-card-column-drop-menu.js +3 -3
- package/dist/collection/components/kup-card/kup-card-helper.js +3 -2
- package/dist/collection/components/kup-card/kup-card.css +16 -0
- package/dist/collection/components/kup-card/standard/kup-card-standard.js +10 -3
- package/dist/collection/components/kup-chip/kup-chip.js +5 -5
- package/dist/collection/components/kup-combobox/kup-combobox-declarations.js +1 -0
- package/dist/collection/components/kup-combobox/kup-combobox.js +37 -2
- package/dist/collection/components/kup-data-table/kup-data-table.js +45 -46
- package/dist/collection/components/kup-date-picker/kup-date-picker.js +1 -1
- package/dist/collection/components/kup-echart/kup-echart.js +4 -3
- package/dist/collection/components/kup-input-panel/kup-input-panel-declarations.js +1 -0
- package/dist/collection/components/kup-input-panel/kup-input-panel-utils.js +20 -14
- package/dist/collection/components/kup-input-panel/kup-input-panel.js +53 -13
- package/dist/collection/components/kup-tab-bar/kup-tab-bar-declarations.js +4 -0
- package/dist/collection/components/kup-tab-bar/kup-tab-bar.js +26 -43
- package/dist/collection/components/kup-toolbar/kup-toolbar.css +17 -6
- package/dist/collection/components/kup-tree/kup-tree.js +7 -10
- package/dist/collection/f-components/f-cell/f-cell.js +2 -1
- package/dist/collection/f-components/f-radio/f-radio.js +1 -1
- package/dist/collection/f-components/f-text-field/f-text-field.js +1 -1
- package/dist/collection/managers/kup-data/kup-data.js +2 -0
- package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position.js +45 -1
- package/dist/collection/managers/kup-language/kup-language-declarations.js +2 -0
- package/dist/collection/managers/kup-manager/kup-manager.js +3 -2
- package/dist/collection/managers/kup-perf-tuning/kup-perf-tuning-declarations.js +1 -0
- package/dist/collection/managers/kup-perf-tuning/kup-perf-tuning.js +25 -0
- package/dist/collection/utils/cell-utils.js +21 -0
- package/dist/components/index.js +1 -1
- package/dist/components/kup-accordion.js +253 -45
- package/dist/components/kup-activity-timeline.js +2 -2
- package/dist/components/kup-autocomplete.js +1 -1
- package/dist/components/kup-badge.js +1 -1
- package/dist/components/kup-box.js +1 -1
- package/dist/components/kup-button-list.js +1 -1
- package/dist/components/kup-button.js +1 -1
- package/dist/components/kup-calendar.js +925 -87
- package/dist/components/kup-card-list.js +3 -3
- package/dist/components/kup-card.js +1 -1
- package/dist/components/kup-cell.js +2 -2
- package/dist/components/kup-chart.js +1 -1
- package/dist/components/kup-checkbox.js +1 -1
- package/dist/components/kup-chip.js +1 -1
- package/dist/components/kup-color-picker.js +1 -1
- package/dist/components/kup-combobox.js +1 -1
- package/dist/components/kup-dashboard.js +2 -2
- package/dist/components/kup-data-table.js +1 -1
- package/dist/components/kup-date-picker.js +1 -1
- package/dist/components/kup-dialog.js +1 -1
- package/dist/components/kup-drawer.js +2 -2
- package/dist/components/kup-dropdown-button.js +1 -1
- package/dist/components/kup-echart.js +1 -1
- package/dist/components/kup-editor.js +1 -1
- package/dist/components/kup-family-tree.js +3 -3
- package/dist/components/kup-file-upload.js +1 -1
- package/dist/components/kup-form.js +1 -1
- package/dist/components/kup-gauge.js +1 -1
- package/dist/components/kup-grid.js +1 -1
- package/dist/components/kup-htm.js +2 -2
- package/dist/components/kup-iframe.js +2 -2
- package/dist/components/kup-image-list.js +2 -2
- package/dist/components/kup-image.js +1 -1
- package/dist/components/kup-input-panel.js +55 -27
- package/dist/components/kup-lazy.js +2 -2
- package/dist/components/kup-list.js +1 -1
- package/dist/components/kup-magic-box.js +4 -4
- package/dist/components/kup-nav-bar.js +2 -2
- package/dist/components/kup-numeric-picker.js +2 -2
- package/dist/components/kup-object-field.js +2 -2
- package/dist/components/kup-pdf.js +2 -2
- package/dist/components/kup-planner.js +2 -2
- package/dist/components/kup-probe.js +2 -2
- package/dist/components/kup-progress-bar.js +1 -1
- package/dist/components/kup-qlik.js +2 -2
- package/dist/components/kup-radio.js +1 -1
- package/dist/components/kup-rating.js +1 -1
- package/dist/components/kup-snackbar.js +2 -2
- package/dist/components/kup-spinner.js +1 -1
- package/dist/components/kup-switch.js +1 -1
- package/dist/components/kup-tab-bar.js +1 -1
- package/dist/components/kup-text-field.js +1 -1
- package/dist/components/kup-time-picker.js +1 -1
- package/dist/components/kup-toolbar.js +1 -1
- package/dist/components/kup-tree.js +1 -1
- package/dist/components/kup-txt.js +2 -2
- package/dist/components/kup-typography-list.js +2 -2
- package/dist/components/kup-typography.js +2 -2
- package/dist/components/{p-680ee680.js → p-286915d4.js} +2 -2
- package/dist/components/{p-685106b4.js → p-3ba7c133.js} +2 -2
- package/dist/components/{p-e0031e17.js → p-55fda958.js} +2025 -1983
- package/dist/components/{p-8037ef07.js → p-7bdb5142.js} +4 -4
- package/dist/components/{p-73922583.js → p-9859e801.js} +122 -25
- package/dist/components/{p-39e807bc.js → p-a22e5ee4.js} +6 -5
- package/dist/esm/{component-879e99bf.js → component-a35bc7f1.js} +1 -1
- package/dist/esm/{f-cell-eea4e836.js → f-cell-ae0c965d.js} +8 -6
- package/dist/esm/{f-chip-72bcea75.js → f-chip-29242e70.js} +1 -1
- package/dist/esm/{f-object-field-1827746c.js → f-object-field-75069ac2.js} +2 -2
- package/dist/esm/{f-paginator-utils-e785d34e.js → f-paginator-utils-212f93c3.js} +1 -1
- package/dist/esm/{f-text-field-591dc383.js → f-text-field-ebe023fb.js} +2 -2
- package/dist/esm/{f-text-field-mdc-9a862967.js → f-text-field-mdc-81ce6c7c.js} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/ketchup.js +1 -1
- package/dist/esm/kup-accordion.entry.js +247 -44
- package/dist/esm/kup-activity-timeline.entry.js +2 -2
- package/dist/esm/kup-autocomplete_29.entry.js +164 -131
- package/dist/esm/kup-box.entry.js +9 -9
- package/dist/esm/kup-calendar.entry.js +925 -87
- package/dist/esm/kup-card-list.entry.js +1 -1
- package/dist/esm/kup-cell.entry.js +5 -5
- package/dist/esm/kup-dashboard.entry.js +4 -4
- package/dist/esm/{kup-data-table-helper-0fbe9df1.js → kup-data-table-helper-ca11e6e9.js} +1 -1
- package/dist/esm/kup-drawer.entry.js +1 -1
- package/dist/esm/kup-echart.entry.js +5 -4
- package/dist/esm/kup-editor.entry.js +3 -3
- package/dist/esm/kup-family-tree.entry.js +1 -1
- package/dist/esm/kup-grid.entry.js +1 -1
- package/dist/esm/kup-htm.entry.js +1 -1
- package/dist/esm/kup-iframe.entry.js +1 -1
- package/dist/esm/kup-image-list.entry.js +6 -6
- package/dist/esm/kup-input-panel.entry.js +58 -31
- package/dist/esm/kup-lazy.entry.js +1 -1
- package/dist/esm/kup-magic-box.entry.js +1 -1
- package/dist/esm/{kup-manager-a3f8ee8f.js → kup-manager-63a8048f.js} +122 -25
- package/dist/esm/kup-nav-bar.entry.js +1 -1
- package/dist/esm/kup-numeric-picker.entry.js +4 -4
- package/dist/esm/kup-object-field.entry.js +3 -3
- package/dist/esm/kup-pdf.entry.js +1 -1
- package/dist/esm/kup-planner.entry.js +4 -4
- package/dist/esm/kup-probe.entry.js +1 -1
- package/dist/esm/kup-qlik.entry.js +1 -1
- package/dist/esm/kup-snackbar.entry.js +1 -1
- package/dist/esm/kup-txt.entry.js +1 -1
- package/dist/esm/kup-typography-list.entry.js +1 -1
- package/dist/esm/kup-typography.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/ketchup/index.esm.js +1 -1
- package/dist/ketchup/ketchup.esm.js +1 -1
- package/dist/ketchup/p-102d35b1.js +1 -0
- package/dist/ketchup/p-11e54526.entry.js +1 -0
- package/dist/ketchup/{p-5e55604b.entry.js → p-260587c5.entry.js} +1 -1
- package/dist/ketchup/p-3533879b.entry.js +1 -0
- package/dist/ketchup/{p-8cf7b4a6.entry.js → p-434f2c39.entry.js} +1 -1
- package/dist/ketchup/{p-cd5db3b1.entry.js → p-4365fbd3.entry.js} +1 -1
- package/dist/ketchup/p-43f12940.entry.js +1 -0
- package/dist/ketchup/{p-442a16b1.entry.js → p-4a64f9f2.entry.js} +1 -1
- package/dist/ketchup/{p-64e064f0.js → p-4cfa35bc.js} +1 -1
- package/dist/ketchup/{p-d2e3f987.entry.js → p-5bf3d60d.entry.js} +2 -2
- package/dist/ketchup/p-5d28e8e0.entry.js +8 -0
- package/dist/ketchup/{p-932940cb.js → p-610faea9.js} +1 -1
- package/dist/ketchup/{p-2faa7118.entry.js → p-6c41cd20.entry.js} +1 -1
- package/dist/ketchup/{p-dcf2c5c0.entry.js → p-6f1dec16.entry.js} +1 -1
- package/dist/ketchup/{p-f1886258.js → p-7375d456.js} +1 -1
- package/dist/ketchup/{p-2f0664cb.entry.js → p-7b326bde.entry.js} +1 -1
- package/dist/ketchup/{p-c4054aba.js → p-7db300e0.js} +1 -1
- package/dist/ketchup/{p-36ec5bc3.entry.js → p-7dfc42f0.entry.js} +1 -1
- package/dist/ketchup/p-81743364.entry.js +1 -0
- package/dist/ketchup/p-8610d5b5.js +21 -0
- package/dist/ketchup/{p-beef4fe9.entry.js → p-8ba1d444.entry.js} +1 -1
- package/dist/ketchup/{p-a4168ce9.entry.js → p-93541362.entry.js} +1 -1
- package/dist/ketchup/{p-ee0836a4.entry.js → p-9b200a90.entry.js} +1 -1
- package/dist/ketchup/{p-43dc9f87.entry.js → p-9baa1d6d.entry.js} +1 -1
- package/dist/ketchup/{p-57a93686.entry.js → p-a2d40711.entry.js} +1 -1
- package/dist/ketchup/{p-0f9ae966.entry.js → p-b068a383.entry.js} +1 -1
- package/dist/ketchup/{p-2c11b778.entry.js → p-b6beace3.entry.js} +1 -1
- package/dist/ketchup/{p-5340f777.entry.js → p-b91e3bae.entry.js} +1 -1
- package/dist/ketchup/{p-4c5b911e.entry.js → p-bc789017.entry.js} +1 -1
- package/dist/ketchup/{p-79e580bc.entry.js → p-c8cd012e.entry.js} +1 -1
- package/dist/ketchup/{p-d9ae70bb.entry.js → p-d84e4e90.entry.js} +1 -1
- package/dist/ketchup/{p-d1fa33e0.js → p-da694791.js} +1 -1
- package/dist/ketchup/{p-8140c1d2.js → p-e705eb4a.js} +1 -1
- package/dist/ketchup/{p-21a2d25a.entry.js → p-e7293ae8.entry.js} +1 -1
- package/dist/ketchup/{p-283f7bfc.entry.js → p-eb090acd.entry.js} +1 -1
- package/dist/ketchup/{p-d03527d8.entry.js → p-fb7c0958.entry.js} +1 -1
- package/dist/ketchup/p-fb82cad9.entry.js +1 -0
- package/dist/ketchup/{p-6fe57b1a.entry.js → p-fe42ae2d.entry.js} +1 -1
- package/dist/types/components/kup-accordion/kup-accordion-declarations.d.ts +14 -7
- package/dist/types/components/kup-accordion/kup-accordion.d.ts +62 -6
- package/dist/types/components/kup-autocomplete/kup-autocomplete-declarations.d.ts +3 -1
- package/dist/types/components/kup-autocomplete/kup-autocomplete.d.ts +7 -2
- package/dist/types/components/kup-card/kup-card-declarations.d.ts +1 -1
- package/dist/types/components/kup-card/kup-card-helper.d.ts +2 -1
- package/dist/types/components/kup-combobox/kup-combobox-declarations.d.ts +2 -1
- package/dist/types/components/kup-combobox/kup-combobox.d.ts +5 -0
- package/dist/types/components/kup-input-panel/kup-input-panel-declarations.d.ts +2 -1
- package/dist/types/components/kup-input-panel/kup-input-panel-utils.d.ts +1 -1
- package/dist/types/components/kup-input-panel/kup-input-panel.d.ts +6 -0
- package/dist/types/components/kup-tab-bar/kup-tab-bar-declarations.d.ts +6 -1
- package/dist/types/components/kup-tab-bar/kup-tab-bar.d.ts +1 -5
- package/dist/types/components.d.ts +86 -21
- package/dist/types/f-components/f-radio/f-radio-declarations.d.ts +1 -0
- package/dist/types/managers/kup-dynamic-position/kup-dynamic-position.d.ts +1 -0
- package/dist/types/managers/kup-language/kup-language-declarations.d.ts +3 -1
- package/dist/types/managers/kup-perf-tuning/kup-perf-tuning-declarations.d.ts +3 -1
- package/dist/types/managers/kup-perf-tuning/kup-perf-tuning.d.ts +1 -0
- package/dist/types/utils/cell-utils.d.ts +2 -0
- package/package.json +2 -2
- package/dist/ketchup/p-0eea54ac.js +0 -1
- package/dist/ketchup/p-1a9fb6e7.entry.js +0 -1
- package/dist/ketchup/p-32a6feed.entry.js +0 -9
- package/dist/ketchup/p-4c16edda.entry.js +0 -1
- package/dist/ketchup/p-e1281898.entry.js +0 -1
- package/dist/ketchup/p-ec86f88f.entry.js +0 -1
- package/dist/ketchup/p-fb4f10d5.js +0 -21
- package/dist/ketchup/p-fc750bff.entry.js +0 -1
- /package/dist/ketchup/{p-d4a879fc.js → p-c56195a0.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H as H$2, c as createEvent, f as forceUpdate, h as h$1, d as Host } from './p-ef8cbd35.js';
|
|
2
|
-
import { k as kupManagerInstance, g as getProps, s as setProps,
|
|
3
|
-
import { c as componentWrapperId, T as FButton, O as FChip, d as defineCustomElement$2, a as defineCustomElement$3, b as defineCustomElement$4, e as defineCustomElement$5, f as defineCustomElement$6, g as defineCustomElement$7, h as defineCustomElement$8, i as defineCustomElement$9, j as defineCustomElement$a, k as defineCustomElement$b, l as defineCustomElement$c, m as defineCustomElement$d, n as defineCustomElement$e, o as defineCustomElement$f, p as defineCustomElement$g, q as defineCustomElement$h, r as defineCustomElement$i, s as defineCustomElement$j, t as defineCustomElement$k, u as defineCustomElement$l, v as defineCustomElement$m, w as defineCustomElement$n, x as defineCustomElement$o, y as defineCustomElement$p, z as defineCustomElement$q, A as defineCustomElement$r, B as defineCustomElement$s, C as defineCustomElement$t, D as defineCustomElement$u, U as FChipType } from './p-
|
|
2
|
+
import { k as kupManagerInstance, g as getProps, s as setProps, e as KupLanguageGeneric, L as getColumnByName, u as KupDebugCategory } from './p-9859e801.js';
|
|
3
|
+
import { c as componentWrapperId, T as FButton, O as FChip, d as defineCustomElement$2, a as defineCustomElement$3, b as defineCustomElement$4, e as defineCustomElement$5, f as defineCustomElement$6, g as defineCustomElement$7, h as defineCustomElement$8, i as defineCustomElement$9, j as defineCustomElement$a, k as defineCustomElement$b, l as defineCustomElement$c, m as defineCustomElement$d, n as defineCustomElement$e, o as defineCustomElement$f, p as defineCustomElement$g, q as defineCustomElement$h, r as defineCustomElement$i, s as defineCustomElement$j, t as defineCustomElement$k, u as defineCustomElement$l, v as defineCustomElement$m, w as defineCustomElement$n, x as defineCustomElement$o, y as defineCustomElement$p, z as defineCustomElement$q, A as defineCustomElement$r, B as defineCustomElement$s, C as defineCustomElement$t, D as defineCustomElement$u, U as FChipType } from './p-55fda958.js';
|
|
4
4
|
import { b as KupDatesLocales, K as KupDatesFormats } from './p-1581348d.js';
|
|
5
5
|
|
|
6
6
|
var n,l$1,u$1,i$1,t,r$1,o,f$1,e$1,c$1={},s=[],a$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function h(n,l){for(var u in l)n[u]=l[u];return n}function v$1(n){var l=n.parentNode;l&&l.removeChild(n);}function y(l,u,i){var t,r,o,f={};for(o in u)"key"==o?t=u[o]:"ref"==o?r=u[o]:f[o]=u[o];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),"function"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===f[o]&&(f[o]=l.defaultProps[o]);return p(l,f,t,r,null)}function p(n,i,t,r,o){var f={type:n,props:i,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++u$1:o};return null==o&&null!=l$1.vnode&&l$1.vnode(f),f}function d(){return {current:null}}function _(n){return n.children}function k$1(n,l,u,i,t){var r;for(r in u)"children"===r||"key"===r||r in l||g$2(n,r,null,u[r],i);for(r in l)t&&"function"!=typeof l[r]||"children"===r||"key"===r||"value"===r||"checked"===r||u[r]===l[r]||g$2(n,r,l[r],u[r],i);}function b$1(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||a$1.test(l)?u:u+"px";}function g$2(n,l,u,i,t){var r;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof i&&(n.style.cssText=i=""),i)for(l in i)u&&l in u||b$1(n.style,l,"");if(u)for(l in u)i&&u[l]===i[l]||b$1(n.style,l,u[l]);}else if("o"===l[0]&&"n"===l[1])r=l!==(l=l.replace(/Capture$/,"")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+r]=u,u?i||n.addEventListener(l,r?w$2:m$1,r):n.removeEventListener(l,r?w$2:m$1,r);else if("dangerouslySetInnerHTML"!==l){if(t)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==l&&"height"!==l&&"href"!==l&&"list"!==l&&"form"!==l&&"tabIndex"!==l&&"download"!==l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&-1==l.indexOf("-")?n.removeAttribute(l):n.setAttribute(l,u));}}function m$1(n){t=!0;try{return this.l[n.type+!1](l$1.event?l$1.event(n):n)}finally{t=!1;}}function w$2(n){t=!0;try{return this.l[n.type+!0](l$1.event?l$1.event(n):n)}finally{t=!1;}}function x$1(n,l){this.props=n,this.context=l;}function A(n,l){if(null==l)return n.__?A(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?A(n):null}function P$1(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return P$1(n)}}function C$1(n){t?setTimeout(n):f$1(n);}function T$1(n){(!n.__d&&(n.__d=!0)&&r$1.push(n)&&!$$1.__r++||o!==l$1.debounceRendering)&&((o=l$1.debounceRendering)||C$1)($$1);}function $$1(){var n,l,u,i,t,o,f,e;for(r$1.sort(function(n,l){return n.__v.__b-l.__v.__b});n=r$1.shift();)n.__d&&(l=r$1.length,i=void 0,t=void 0,f=(o=(u=n).__v).__e,(e=u.__P)&&(i=[],(t=h({},o)).__v=o.__v+1,M(e,o,t,u.__n,void 0!==e.ownerSVGElement,null!=o.__h?[f]:null,i,null==f?A(o):f,o.__h),N(i,o),o.__e!=f&&P$1(o)),r$1.length>l&&r$1.sort(function(n,l){return n.__v.__b-l.__v.__b}));$$1.__r=0;}function H$1(n,l,u,i,t,r,o,f,e,a){var h,v,y,d,k,b,g,m=i&&i.__k||s,w=m.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(d=u.__k[h]=null==(d=l[h])||"boolean"==typeof d?null:"string"==typeof d||"number"==typeof d||"bigint"==typeof d?p(null,d,null,null,d):Array.isArray(d)?p(_,{children:d},null,null,null):d.__b>0?p(d.type,d.props,d.key,d.ref?d.ref:null,d.__v):d)){if(d.__=u,d.__b=u.__b+1,null===(y=m[h])||y&&d.key==y.key&&d.type===y.type)m[h]=void 0;else for(v=0;v<w;v++){if((y=m[v])&&d.key==y.key&&d.type===y.type){m[v]=void 0;break}y=null;}M(n,d,y=y||c$1,t,r,o,f,e,a),k=d.__e,(v=d.ref)&&y.ref!=v&&(g||(g=[]),y.ref&&g.push(y.ref,null,d),g.push(v,d.__c||k,d)),null!=k?(null==b&&(b=k),"function"==typeof d.type&&d.__k===y.__k?d.__d=e=I$1(d,e,n):e=z$1(n,d,y,m,k,e),"function"==typeof u.type&&(u.__d=e)):e&&y.__e==e&&e.parentNode!=n&&(e=A(y));}for(u.__e=b,h=w;h--;)null!=m[h]&&("function"==typeof u.type&&null!=m[h].__e&&m[h].__e==u.__d&&(u.__d=L$1(i).nextSibling),q(m[h],m[h]));if(g)for(h=0;h<g.length;h++)S(g[h],g[++h],g[++h]);}function I$1(n,l,u){for(var i,t=n.__k,r=0;t&&r<t.length;r++)(i=t[r])&&(i.__=n,l="function"==typeof i.type?I$1(i,l,u):z$1(u,i,i,t,i.__e,l));return l}function j$2(n,l){return l=l||[],null==n||"boolean"==typeof n||(Array.isArray(n)?n.some(function(n){j$2(n,l);}):l.push(n)),l}function z$1(n,l,u,i,t,r){var o,f,e;if(void 0!==l.__d)o=l.__d,l.__d=void 0;else if(null==u||t!=r||null==t.parentNode)n:if(null==r||r.parentNode!==n)n.appendChild(t),o=null;else {for(f=r,e=0;(f=f.nextSibling)&&e<i.length;e+=1)if(f==t)break n;n.insertBefore(t,r),o=r;}return void 0!==o?o:t.nextSibling}function L$1(n){var l,u,i;if(null==n.type||"string"==typeof n.type)return n.__e;if(n.__k)for(l=n.__k.length-1;l>=0;l--)if((u=n.__k[l])&&(i=L$1(u)))return i;return null}function M(n,u,i,t,r,o,f,e,c){var s,a,v,y,p,d,k,b,g,m,w,A,P,C,T,$=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,o=[e]),(s=l$1.__b)&&s(u);try{n:if("function"==typeof $){if(b=u.props,g=(s=$.contextType)&&t[s.__c],m=s?g?g.props.value:s.__:t,i.__c?k=(a=u.__c=i.__c).__=a.__E:("prototype"in $&&$.prototype.render?u.__c=a=new $(b,m):(u.__c=a=new x$1(b,m),a.constructor=$,a.render=B$1),g&&g.sub(a),a.props=b,a.state||(a.state={}),a.context=m,a.__n=t,v=a.__d=!0,a.__h=[],a._sb=[]),null==a.__s&&(a.__s=a.state),null!=$.getDerivedStateFromProps&&(a.__s==a.state&&(a.__s=h({},a.__s)),h(a.__s,$.getDerivedStateFromProps(b,a.__s))),y=a.props,p=a.state,a.__v=u,v)null==$.getDerivedStateFromProps&&null!=a.componentWillMount&&a.componentWillMount(),null!=a.componentDidMount&&a.__h.push(a.componentDidMount);else {if(null==$.getDerivedStateFromProps&&b!==y&&null!=a.componentWillReceiveProps&&a.componentWillReceiveProps(b,m),!a.__e&&null!=a.shouldComponentUpdate&&!1===a.shouldComponentUpdate(b,a.__s,m)||u.__v===i.__v){for(u.__v!==i.__v&&(a.props=b,a.state=a.__s,a.__d=!1),u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u);}),w=0;w<a._sb.length;w++)a.__h.push(a._sb[w]);a._sb=[],a.__h.length&&f.push(a);break n}null!=a.componentWillUpdate&&a.componentWillUpdate(b,a.__s,m),null!=a.componentDidUpdate&&a.__h.push(function(){a.componentDidUpdate(y,p,d);});}if(a.context=m,a.props=b,a.__P=n,A=l$1.__r,P=0,"prototype"in $&&$.prototype.render){for(a.state=a.__s,a.__d=!1,A&&A(u),s=a.render(a.props,a.state,a.context),C=0;C<a._sb.length;C++)a.__h.push(a._sb[C]);a._sb=[];}else do{a.__d=!1,A&&A(u),s=a.render(a.props,a.state,a.context),a.state=a.__s;}while(a.__d&&++P<25);a.state=a.__s,null!=a.getChildContext&&(t=h(h({},t),a.getChildContext())),v||null==a.getSnapshotBeforeUpdate||(d=a.getSnapshotBeforeUpdate(y,p)),T=null!=s&&s.type===_&&null==s.key?s.props.children:s,H$1(n,Array.isArray(T)?T:[T],u,i,t,r,o,f,e,c),a.base=u.__e,u.__h=null,a.__h.length&&f.push(a),k&&(a.__E=a.__=null),a.__e=!1;}else null==o&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=O(i.__e,u,i,t,r,o,f,c);(s=l$1.diffed)&&s(u);}catch(n){u.__v=null,(c||null!=o)&&(u.__e=e,u.__h=!!c,o[o.indexOf(e)]=null),l$1.__e(n,u,i);}}function N(n,u){l$1.__c&&l$1.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l$1.__e(n,u.__v);}});}function O(l,u,i,t,r,o,f,e){var s,a,h,y=i.props,p=u.props,d=u.type,_=0;if("svg"===d&&(r=!0),null!=o)for(;_<o.length;_++)if((s=o[_])&&"setAttribute"in s==!!d&&(d?s.localName===d:3===s.nodeType)){l=s,o[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=r?document.createElementNS("http://www.w3.org/2000/svg",d):document.createElement(d,p.is&&p),o=null,e=!1;}if(null===d)y===p||e&&l.data===p||(l.data=p);else {if(o=o&&n.call(l.childNodes),a=(y=i.props||c$1).dangerouslySetInnerHTML,h=p.dangerouslySetInnerHTML,!e){if(null!=o)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(h||a)&&(h&&(a&&h.__html==a.__html||h.__html===l.innerHTML)||(l.innerHTML=h&&h.__html||""));}if(k$1(l,p,y,r,e),h)u.__k=[];else if(_=u.props.children,H$1(l,Array.isArray(_)?_:[_],u,i,t,r&&"foreignObject"!==d,o,f,o?o[0]:i.__k&&A(i,0),e),null!=o)for(_=o.length;_--;)null!=o[_]&&v$1(o[_]);e||("value"in p&&void 0!==(_=p.value)&&(_!==l.value||"progress"===d&&!_||"option"===d&&_!==y.value)&&g$2(l,"value",_,y.value,!1),"checked"in p&&void 0!==(_=p.checked)&&_!==l.checked&&g$2(l,"checked",_,y.checked,!1));}return l}function S(n,u,i){try{"function"==typeof n?n(u):n.current=u;}catch(n){l$1.__e(n,i);}}function q(n,u,i){var t,r;if(l$1.unmount&&l$1.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||S(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount();}catch(n){l$1.__e(n,u);}t.base=t.__P=null,n.__c=void 0;}if(t=n.__k)for(r=0;r<t.length;r++)t[r]&&q(t[r],u,i||"function"!=typeof n.type);i||null==n.__e||v$1(n.__e),n.__=n.__e=n.__d=void 0;}function B$1(n,l,u){return this.constructor(n,u)}function D$1(u,i,t){var r,o,f;l$1.__&&l$1.__(u,i),o=(r="function"==typeof t)?null:t&&t.__k||i.__k,f=[],M(i,u=(!r&&t||i).__k=y(_,null,[u]),o||c$1,c$1,void 0!==i.ownerSVGElement,!r&&t?[t]:o?null:i.firstChild?n.call(i.childNodes):null,f,!r&&t?t:o?o.__e:i.firstChild,r),N(f,u);}function G$1(n,l){var u={__c:l="__cC"+e$1++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,T$1(n);});},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n);};}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s.slice,l$1={__e:function(n,l,u,i){for(var t,r,o;l=l.__;)if((t=l.__c)&&!t.__)try{if((r=t.constructor)&&null!=r.getDerivedStateFromError&&(t.setState(r.getDerivedStateFromError(n)),o=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(n,i||{}),o=t.__d),o)return t.__E=t}catch(l){n=l;}throw n}},u$1=0,i$1=function(n){return null!=n&&void 0===n.constructor},t=!1,x$1.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=h({},this.state),"function"==typeof n&&(n=n(h({},u),this.props)),n&&h(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),T$1(this));},x$1.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),T$1(this));},x$1.prototype.render=_,r$1=[],f$1="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,$$1.__r=0,e$1=0;
|
|
@@ -89,8 +89,8 @@ if (typeof document !== 'undefined') {
|
|
|
89
89
|
registerStylesRoot(document);
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
var css_248z$3 = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
|
|
93
|
-
injectStyles(css_248z$
|
|
92
|
+
var css_248z$4 = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
|
|
93
|
+
injectStyles(css_248z$4);
|
|
94
94
|
|
|
95
95
|
class DelayedRunner {
|
|
96
96
|
constructor(drainedOption) {
|
|
@@ -7017,10 +7017,10 @@ class BgEvent extends BaseComponent {
|
|
|
7017
7017
|
render() {
|
|
7018
7018
|
let { props } = this;
|
|
7019
7019
|
let { seg } = props;
|
|
7020
|
-
return (y(EventContainer, { elTag: "div", elClasses: ['fc-bg-event'], elStyle: { backgroundColor: seg.eventRange.ui.backgroundColor }, defaultGenerator: renderInnerContent$
|
|
7020
|
+
return (y(EventContainer, { elTag: "div", elClasses: ['fc-bg-event'], elStyle: { backgroundColor: seg.eventRange.ui.backgroundColor }, defaultGenerator: renderInnerContent$4, seg: seg, timeText: "", isDragging: false, isResizing: false, isDateSelecting: false, isSelected: false, isPast: props.isPast, isFuture: props.isFuture, isToday: props.isToday, disableDragging: true, disableResizing: true }));
|
|
7021
7021
|
}
|
|
7022
7022
|
}
|
|
7023
|
-
function renderInnerContent$
|
|
7023
|
+
function renderInnerContent$4(props) {
|
|
7024
7024
|
let { title } = props.event;
|
|
7025
7025
|
return title && (y("div", { className: "fc-event-title" }, props.event.title));
|
|
7026
7026
|
}
|
|
@@ -9460,7 +9460,7 @@ class TableView extends DateComponent {
|
|
|
9460
9460
|
}
|
|
9461
9461
|
}
|
|
9462
9462
|
|
|
9463
|
-
function splitSegsByRow(segs, rowCnt) {
|
|
9463
|
+
function splitSegsByRow$1(segs, rowCnt) {
|
|
9464
9464
|
let byRow = [];
|
|
9465
9465
|
for (let i = 0; i < rowCnt; i += 1) {
|
|
9466
9466
|
byRow[i] = [];
|
|
@@ -9470,7 +9470,7 @@ function splitSegsByRow(segs, rowCnt) {
|
|
|
9470
9470
|
}
|
|
9471
9471
|
return byRow;
|
|
9472
9472
|
}
|
|
9473
|
-
function splitSegsByFirstCol(segs, colCnt) {
|
|
9473
|
+
function splitSegsByFirstCol$1(segs, colCnt) {
|
|
9474
9474
|
let byCol = [];
|
|
9475
9475
|
for (let i = 0; i < colCnt; i += 1) {
|
|
9476
9476
|
byCol[i] = [];
|
|
@@ -9480,7 +9480,7 @@ function splitSegsByFirstCol(segs, colCnt) {
|
|
|
9480
9480
|
}
|
|
9481
9481
|
return byCol;
|
|
9482
9482
|
}
|
|
9483
|
-
function splitInteractionByRow(ui, rowCnt) {
|
|
9483
|
+
function splitInteractionByRow$1(ui, rowCnt) {
|
|
9484
9484
|
let byRow = [];
|
|
9485
9485
|
if (!ui) {
|
|
9486
9486
|
for (let i = 0; i < rowCnt; i += 1) {
|
|
@@ -9502,13 +9502,13 @@ function splitInteractionByRow(ui, rowCnt) {
|
|
|
9502
9502
|
return byRow;
|
|
9503
9503
|
}
|
|
9504
9504
|
|
|
9505
|
-
const DEFAULT_TABLE_EVENT_TIME_FORMAT = createFormatter({
|
|
9505
|
+
const DEFAULT_TABLE_EVENT_TIME_FORMAT$1 = createFormatter({
|
|
9506
9506
|
hour: 'numeric',
|
|
9507
9507
|
minute: '2-digit',
|
|
9508
9508
|
omitZeroMinute: true,
|
|
9509
9509
|
meridiem: 'narrow',
|
|
9510
9510
|
});
|
|
9511
|
-
function hasListItemDisplay(seg) {
|
|
9511
|
+
function hasListItemDisplay$1(seg) {
|
|
9512
9512
|
let { display } = seg.eventRange.ui;
|
|
9513
9513
|
return display === 'list-item' || (display === 'auto' &&
|
|
9514
9514
|
!seg.eventRange.def.allDay &&
|
|
@@ -9518,34 +9518,34 @@ function hasListItemDisplay(seg) {
|
|
|
9518
9518
|
);
|
|
9519
9519
|
}
|
|
9520
9520
|
|
|
9521
|
-
class TableBlockEvent extends BaseComponent {
|
|
9521
|
+
class TableBlockEvent$1 extends BaseComponent {
|
|
9522
9522
|
render() {
|
|
9523
9523
|
let { props } = this;
|
|
9524
|
-
return (y(StandardEvent, Object.assign({}, props, { elClasses: ['fc-daygrid-event', 'fc-daygrid-block-event', 'fc-h-event'], defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT, defaultDisplayEventEnd: props.defaultDisplayEventEnd, disableResizing: !props.seg.eventRange.def.allDay })));
|
|
9524
|
+
return (y(StandardEvent, Object.assign({}, props, { elClasses: ['fc-daygrid-event', 'fc-daygrid-block-event', 'fc-h-event'], defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT$1, defaultDisplayEventEnd: props.defaultDisplayEventEnd, disableResizing: !props.seg.eventRange.def.allDay })));
|
|
9525
9525
|
}
|
|
9526
9526
|
}
|
|
9527
9527
|
|
|
9528
|
-
class TableListItemEvent extends BaseComponent {
|
|
9528
|
+
class TableListItemEvent$1 extends BaseComponent {
|
|
9529
9529
|
render() {
|
|
9530
9530
|
let { props, context } = this;
|
|
9531
9531
|
let { options } = context;
|
|
9532
9532
|
let { seg } = props;
|
|
9533
|
-
let timeFormat = options.eventTimeFormat || DEFAULT_TABLE_EVENT_TIME_FORMAT;
|
|
9533
|
+
let timeFormat = options.eventTimeFormat || DEFAULT_TABLE_EVENT_TIME_FORMAT$1;
|
|
9534
9534
|
let timeText = buildSegTimeText(seg, timeFormat, context, true, props.defaultDisplayEventEnd);
|
|
9535
|
-
return (y(EventContainer, Object.assign({}, props, { elTag: "a", elClasses: ['fc-daygrid-event', 'fc-daygrid-dot-event'], elAttrs: getSegAnchorAttrs(props.seg, context), defaultGenerator: renderInnerContent$
|
|
9535
|
+
return (y(EventContainer, Object.assign({}, props, { elTag: "a", elClasses: ['fc-daygrid-event', 'fc-daygrid-dot-event'], elAttrs: getSegAnchorAttrs(props.seg, context), defaultGenerator: renderInnerContent$3, timeText: timeText, isResizing: false, isDateSelecting: false })));
|
|
9536
9536
|
}
|
|
9537
9537
|
}
|
|
9538
|
-
function renderInnerContent$
|
|
9538
|
+
function renderInnerContent$3(renderProps) {
|
|
9539
9539
|
return (y(_, null,
|
|
9540
9540
|
y("div", { className: "fc-daygrid-event-dot", style: { borderColor: renderProps.borderColor || renderProps.backgroundColor } }),
|
|
9541
9541
|
renderProps.timeText && (y("div", { className: "fc-event-time" }, renderProps.timeText)),
|
|
9542
9542
|
y("div", { className: "fc-event-title" }, renderProps.event.title || y(_, null, "\u00A0"))));
|
|
9543
9543
|
}
|
|
9544
9544
|
|
|
9545
|
-
class TableCellMoreLink extends BaseComponent {
|
|
9545
|
+
class TableCellMoreLink$1 extends BaseComponent {
|
|
9546
9546
|
constructor() {
|
|
9547
9547
|
super(...arguments);
|
|
9548
|
-
this.compileSegs = memoize(compileSegs);
|
|
9548
|
+
this.compileSegs = memoize(compileSegs$1);
|
|
9549
9549
|
}
|
|
9550
9550
|
render() {
|
|
9551
9551
|
let { props } = this;
|
|
@@ -9558,12 +9558,12 @@ class TableCellMoreLink extends BaseComponent {
|
|
|
9558
9558
|
let instanceId = seg.eventRange.instance.instanceId;
|
|
9559
9559
|
return (y("div", { className: "fc-daygrid-event-harness", key: instanceId, style: {
|
|
9560
9560
|
visibility: isForcedInvisible[instanceId] ? 'hidden' : '',
|
|
9561
|
-
} }, hasListItemDisplay(seg) ? (y(TableListItemEvent, Object.assign({ seg: seg, isDragging: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange)))) : (y(TableBlockEvent, Object.assign({ seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange))))));
|
|
9561
|
+
} }, hasListItemDisplay$1(seg) ? (y(TableListItemEvent$1, Object.assign({ seg: seg, isDragging: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange)))) : (y(TableBlockEvent$1, Object.assign({ seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange))))));
|
|
9562
9562
|
})));
|
|
9563
9563
|
} }));
|
|
9564
9564
|
}
|
|
9565
9565
|
}
|
|
9566
|
-
function compileSegs(singlePlacements) {
|
|
9566
|
+
function compileSegs$1(singlePlacements) {
|
|
9567
9567
|
let allSegs = [];
|
|
9568
9568
|
let invisibleSegs = [];
|
|
9569
9569
|
for (let placement of singlePlacements) {
|
|
@@ -9575,8 +9575,8 @@ function compileSegs(singlePlacements) {
|
|
|
9575
9575
|
return { allSegs, invisibleSegs };
|
|
9576
9576
|
}
|
|
9577
9577
|
|
|
9578
|
-
const DEFAULT_WEEK_NUM_FORMAT$
|
|
9579
|
-
class TableCell extends DateComponent {
|
|
9578
|
+
const DEFAULT_WEEK_NUM_FORMAT$2 = createFormatter({ week: 'narrow' });
|
|
9579
|
+
class TableCell$1 extends DateComponent {
|
|
9580
9580
|
constructor() {
|
|
9581
9581
|
super(...arguments);
|
|
9582
9582
|
this.rootElRef = d();
|
|
@@ -9594,12 +9594,12 @@ class TableCell extends DateComponent {
|
|
|
9594
9594
|
let { date, dateProfile } = props;
|
|
9595
9595
|
// TODO: memoize this?
|
|
9596
9596
|
const isMonthStart = props.showDayNumber &&
|
|
9597
|
-
shouldDisplayMonthStart(date, dateProfile.currentRange, dateEnv);
|
|
9597
|
+
shouldDisplayMonthStart$1(date, dateProfile.currentRange, dateEnv);
|
|
9598
9598
|
return (y(DayCellContainer, { elTag: "td", elRef: this.handleRootEl, elClasses: [
|
|
9599
9599
|
'fc-daygrid-day',
|
|
9600
9600
|
...(props.extraClassNames || []),
|
|
9601
|
-
], elAttrs: Object.assign(Object.assign(Object.assign({}, props.extraDataAttrs), (props.showDayNumber ? { 'aria-labelledby': state.dayNumberId } : {})), { role: 'gridcell' }), defaultGenerator: renderTopInner, date: date, dateProfile: dateProfile, todayRange: props.todayRange, showDayNumber: props.showDayNumber, isMonthStart: isMonthStart, extraRenderProps: props.extraRenderProps }, (InnerContent, renderProps) => (y("div", { ref: props.innerElRef, className: "fc-daygrid-day-frame fc-scrollgrid-sync-inner", style: { minHeight: props.minHeight } },
|
|
9602
|
-
props.showWeekNumber && (y(WeekNumberContainer, { elTag: "a", elClasses: ['fc-daygrid-week-number'], elAttrs: buildNavLinkAttrs(context, date, 'week'), date: date, defaultFormat: DEFAULT_WEEK_NUM_FORMAT$
|
|
9601
|
+
], elAttrs: Object.assign(Object.assign(Object.assign({}, props.extraDataAttrs), (props.showDayNumber ? { 'aria-labelledby': state.dayNumberId } : {})), { role: 'gridcell' }), defaultGenerator: renderTopInner$1, date: date, dateProfile: dateProfile, todayRange: props.todayRange, showDayNumber: props.showDayNumber, isMonthStart: isMonthStart, extraRenderProps: props.extraRenderProps }, (InnerContent, renderProps) => (y("div", { ref: props.innerElRef, className: "fc-daygrid-day-frame fc-scrollgrid-sync-inner", style: { minHeight: props.minHeight } },
|
|
9602
|
+
props.showWeekNumber && (y(WeekNumberContainer, { elTag: "a", elClasses: ['fc-daygrid-week-number'], elAttrs: buildNavLinkAttrs(context, date, 'week'), date: date, defaultFormat: DEFAULT_WEEK_NUM_FORMAT$2 })),
|
|
9603
9603
|
!renderProps.isDisabled &&
|
|
9604
9604
|
(props.showDayNumber || hasCustomDayCellContent(options) || props.forceDayTop) ? (y("div", { className: "fc-daygrid-day-top" },
|
|
9605
9605
|
y(InnerContent, { elTag: "a", elClasses: [
|
|
@@ -9612,14 +9612,14 @@ class TableCell extends DateComponent {
|
|
|
9612
9612
|
y("div", { className: "fc-daygrid-day-events", ref: props.fgContentElRef },
|
|
9613
9613
|
props.fgContent,
|
|
9614
9614
|
y("div", { className: "fc-daygrid-day-bottom", style: { marginTop: props.moreMarginTop } },
|
|
9615
|
-
y(TableCellMoreLink, { allDayDate: date, singlePlacements: props.singlePlacements, moreCnt: props.moreCnt, alignmentElRef: rootElRef, alignGridTop: !props.showDayNumber, extraDateSpan: props.extraDateSpan, dateProfile: props.dateProfile, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange }))),
|
|
9615
|
+
y(TableCellMoreLink$1, { allDayDate: date, singlePlacements: props.singlePlacements, moreCnt: props.moreCnt, alignmentElRef: rootElRef, alignGridTop: !props.showDayNumber, extraDateSpan: props.extraDateSpan, dateProfile: props.dateProfile, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange }))),
|
|
9616
9616
|
y("div", { className: "fc-daygrid-day-bg" }, props.bgContent)))));
|
|
9617
9617
|
}
|
|
9618
9618
|
}
|
|
9619
|
-
function renderTopInner(props) {
|
|
9619
|
+
function renderTopInner$1(props) {
|
|
9620
9620
|
return props.dayNumberText || y(_, null, "\u00A0");
|
|
9621
9621
|
}
|
|
9622
|
-
function shouldDisplayMonthStart(date, currentRange, dateEnv) {
|
|
9622
|
+
function shouldDisplayMonthStart$1(date, currentRange, dateEnv) {
|
|
9623
9623
|
const { start: currentStart, end: currentEnd } = currentRange;
|
|
9624
9624
|
const currentEndIncl = addMs(currentEnd, -1);
|
|
9625
9625
|
const currentFirstYear = dateEnv.getYear(currentStart);
|
|
@@ -9635,15 +9635,15 @@ function shouldDisplayMonthStart(date, currentRange, dateEnv) {
|
|
|
9635
9635
|
(dateEnv.getDay(date) === 1 && date.valueOf() < currentEnd.valueOf()));
|
|
9636
9636
|
}
|
|
9637
9637
|
|
|
9638
|
-
function generateSegKey(seg) {
|
|
9638
|
+
function generateSegKey$1(seg) {
|
|
9639
9639
|
return seg.eventRange.instance.instanceId + ':' + seg.firstCol;
|
|
9640
9640
|
}
|
|
9641
|
-
function generateSegUid(seg) {
|
|
9642
|
-
return generateSegKey(seg) + ':' + seg.lastCol;
|
|
9641
|
+
function generateSegUid$1(seg) {
|
|
9642
|
+
return generateSegKey$1(seg) + ':' + seg.lastCol;
|
|
9643
9643
|
}
|
|
9644
|
-
function computeFgSegPlacement(segs, // assumed already sorted
|
|
9644
|
+
function computeFgSegPlacement$1(segs, // assumed already sorted
|
|
9645
9645
|
dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells) {
|
|
9646
|
-
let hierarchy = new DayGridSegHierarchy((segEntry) => {
|
|
9646
|
+
let hierarchy = new DayGridSegHierarchy$1((segEntry) => {
|
|
9647
9647
|
// TODO: more DRY with generateSegUid
|
|
9648
9648
|
let segUid = segs[segEntry.index].eventRange.instance.instanceId +
|
|
9649
9649
|
':' + segEntry.span.start +
|
|
@@ -9669,7 +9669,7 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
|
|
|
9669
9669
|
let unknownHeightSegs = [];
|
|
9670
9670
|
for (let i = 0; i < segs.length; i += 1) {
|
|
9671
9671
|
let seg = segs[i];
|
|
9672
|
-
let segUid = generateSegUid(seg);
|
|
9672
|
+
let segUid = generateSegUid$1(seg);
|
|
9673
9673
|
let eventHeight = segHeights[segUid];
|
|
9674
9674
|
if (eventHeight != null) {
|
|
9675
9675
|
segInputs.push({
|
|
@@ -9686,7 +9686,7 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
|
|
|
9686
9686
|
}
|
|
9687
9687
|
let hiddenEntries = hierarchy.addSegs(segInputs);
|
|
9688
9688
|
let segRects = hierarchy.toRects();
|
|
9689
|
-
let { singleColPlacements, multiColPlacements, leftoverMargins } = placeRects(segRects, segs, cells);
|
|
9689
|
+
let { singleColPlacements, multiColPlacements, leftoverMargins } = placeRects$1(segRects, segs, cells);
|
|
9690
9690
|
let moreCnts = [];
|
|
9691
9691
|
let moreMarginTops = [];
|
|
9692
9692
|
// add segs with unknown heights
|
|
@@ -9700,7 +9700,7 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
|
|
|
9700
9700
|
});
|
|
9701
9701
|
for (let col = seg.firstCol; col <= seg.lastCol; col += 1) {
|
|
9702
9702
|
singleColPlacements[col].push({
|
|
9703
|
-
seg: resliceSeg(seg, col, col + 1, cells),
|
|
9703
|
+
seg: resliceSeg$1(seg, col, col + 1, cells),
|
|
9704
9704
|
isVisible: false,
|
|
9705
9705
|
isAbsolute: false,
|
|
9706
9706
|
absoluteTop: 0,
|
|
@@ -9716,7 +9716,7 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
|
|
|
9716
9716
|
let seg = segs[hiddenEntry.index];
|
|
9717
9717
|
let hiddenSpan = hiddenEntry.span;
|
|
9718
9718
|
multiColPlacements[hiddenSpan.start].push({
|
|
9719
|
-
seg: resliceSeg(seg, hiddenSpan.start, hiddenSpan.end, cells),
|
|
9719
|
+
seg: resliceSeg$1(seg, hiddenSpan.start, hiddenSpan.end, cells),
|
|
9720
9720
|
isVisible: false,
|
|
9721
9721
|
isAbsolute: true,
|
|
9722
9722
|
absoluteTop: 0,
|
|
@@ -9725,7 +9725,7 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
|
|
|
9725
9725
|
for (let col = hiddenSpan.start; col < hiddenSpan.end; col += 1) {
|
|
9726
9726
|
moreCnts[col] += 1;
|
|
9727
9727
|
singleColPlacements[col].push({
|
|
9728
|
-
seg: resliceSeg(seg, col, col + 1, cells),
|
|
9728
|
+
seg: resliceSeg$1(seg, col, col + 1, cells),
|
|
9729
9729
|
isVisible: false,
|
|
9730
9730
|
isAbsolute: false,
|
|
9731
9731
|
absoluteTop: 0,
|
|
@@ -9740,8 +9740,8 @@ dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells)
|
|
|
9740
9740
|
return { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops };
|
|
9741
9741
|
}
|
|
9742
9742
|
// rects ordered by top coord, then left
|
|
9743
|
-
function placeRects(allRects, segs, cells) {
|
|
9744
|
-
let rectsByEachCol = groupRectsByEachCol(allRects, cells.length);
|
|
9743
|
+
function placeRects$1(allRects, segs, cells) {
|
|
9744
|
+
let rectsByEachCol = groupRectsByEachCol$1(allRects, cells.length);
|
|
9745
9745
|
let singleColPlacements = [];
|
|
9746
9746
|
let multiColPlacements = [];
|
|
9747
9747
|
let leftoverMargins = [];
|
|
@@ -9754,7 +9754,7 @@ function placeRects(allRects, segs, cells) {
|
|
|
9754
9754
|
for (let rect of rects) {
|
|
9755
9755
|
let seg = segs[rect.index];
|
|
9756
9756
|
singlePlacements.push({
|
|
9757
|
-
seg: resliceSeg(seg, col, col + 1, cells),
|
|
9757
|
+
seg: resliceSeg$1(seg, col, col + 1, cells),
|
|
9758
9758
|
isVisible: true,
|
|
9759
9759
|
isAbsolute: false,
|
|
9760
9760
|
absoluteTop: rect.levelCoord,
|
|
@@ -9776,7 +9776,7 @@ function placeRects(allRects, segs, cells) {
|
|
|
9776
9776
|
currentMarginTop += rect.thickness;
|
|
9777
9777
|
if (isFirstCol) {
|
|
9778
9778
|
multiPlacements.push({
|
|
9779
|
-
seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),
|
|
9779
|
+
seg: resliceSeg$1(seg, rect.span.start, rect.span.end, cells),
|
|
9780
9780
|
isVisible: true,
|
|
9781
9781
|
isAbsolute: true,
|
|
9782
9782
|
absoluteTop: rect.levelCoord,
|
|
@@ -9786,7 +9786,7 @@ function placeRects(allRects, segs, cells) {
|
|
|
9786
9786
|
}
|
|
9787
9787
|
else if (isFirstCol) {
|
|
9788
9788
|
multiPlacements.push({
|
|
9789
|
-
seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),
|
|
9789
|
+
seg: resliceSeg$1(seg, rect.span.start, rect.span.end, cells),
|
|
9790
9790
|
isVisible: true,
|
|
9791
9791
|
isAbsolute: false,
|
|
9792
9792
|
absoluteTop: rect.levelCoord,
|
|
@@ -9801,7 +9801,7 @@ function placeRects(allRects, segs, cells) {
|
|
|
9801
9801
|
}
|
|
9802
9802
|
return { singleColPlacements, multiColPlacements, leftoverMargins };
|
|
9803
9803
|
}
|
|
9804
|
-
function groupRectsByEachCol(rects, colCnt) {
|
|
9804
|
+
function groupRectsByEachCol$1(rects, colCnt) {
|
|
9805
9805
|
let rectsByEachCol = [];
|
|
9806
9806
|
for (let col = 0; col < colCnt; col += 1) {
|
|
9807
9807
|
rectsByEachCol.push([]);
|
|
@@ -9813,7 +9813,7 @@ function groupRectsByEachCol(rects, colCnt) {
|
|
|
9813
9813
|
}
|
|
9814
9814
|
return rectsByEachCol;
|
|
9815
9815
|
}
|
|
9816
|
-
function resliceSeg(seg, spanStart, spanEnd, cells) {
|
|
9816
|
+
function resliceSeg$1(seg, spanStart, spanEnd, cells) {
|
|
9817
9817
|
if (seg.firstCol === spanStart && seg.lastCol === spanEnd - 1) {
|
|
9818
9818
|
return seg;
|
|
9819
9819
|
}
|
|
@@ -9830,7 +9830,7 @@ function resliceSeg(seg, spanStart, spanEnd, cells) {
|
|
|
9830
9830
|
range: slicedRange,
|
|
9831
9831
|
}, isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(), isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf() });
|
|
9832
9832
|
}
|
|
9833
|
-
class DayGridSegHierarchy extends SegHierarchy {
|
|
9833
|
+
class DayGridSegHierarchy$1 extends SegHierarchy {
|
|
9834
9834
|
constructor() {
|
|
9835
9835
|
super(...arguments);
|
|
9836
9836
|
// config
|
|
@@ -9877,7 +9877,7 @@ class DayGridSegHierarchy extends SegHierarchy {
|
|
|
9877
9877
|
}
|
|
9878
9878
|
}
|
|
9879
9879
|
|
|
9880
|
-
class TableRow extends DateComponent {
|
|
9880
|
+
class TableRow$1 extends DateComponent {
|
|
9881
9881
|
constructor() {
|
|
9882
9882
|
super(...arguments);
|
|
9883
9883
|
this.cellElRefs = new RefMap(); // the <td>
|
|
@@ -9900,11 +9900,11 @@ class TableRow extends DateComponent {
|
|
|
9900
9900
|
let { props, state, context } = this;
|
|
9901
9901
|
let { options } = context;
|
|
9902
9902
|
let colCnt = props.cells.length;
|
|
9903
|
-
let businessHoursByCol = splitSegsByFirstCol(props.businessHourSegs, colCnt);
|
|
9904
|
-
let bgEventSegsByCol = splitSegsByFirstCol(props.bgEventSegs, colCnt);
|
|
9905
|
-
let highlightSegsByCol = splitSegsByFirstCol(this.getHighlightSegs(), colCnt);
|
|
9906
|
-
let mirrorSegsByCol = splitSegsByFirstCol(this.getMirrorSegs(), colCnt);
|
|
9907
|
-
let { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops } = computeFgSegPlacement(sortEventSegs(props.fgEventSegs, options.eventOrder), props.dayMaxEvents, props.dayMaxEventRows, options.eventOrderStrict, state.segHeights, state.maxContentHeight, props.cells);
|
|
9903
|
+
let businessHoursByCol = splitSegsByFirstCol$1(props.businessHourSegs, colCnt);
|
|
9904
|
+
let bgEventSegsByCol = splitSegsByFirstCol$1(props.bgEventSegs, colCnt);
|
|
9905
|
+
let highlightSegsByCol = splitSegsByFirstCol$1(this.getHighlightSegs(), colCnt);
|
|
9906
|
+
let mirrorSegsByCol = splitSegsByFirstCol$1(this.getMirrorSegs(), colCnt);
|
|
9907
|
+
let { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops } = computeFgSegPlacement$1(sortEventSegs(props.fgEventSegs, options.eventOrder), props.dayMaxEvents, props.dayMaxEventRows, options.eventOrderStrict, state.segHeights, state.maxContentHeight, props.cells);
|
|
9908
9908
|
let isForcedInvisible = // TODO: messy way to compute this
|
|
9909
9909
|
(props.eventDrag && props.eventDrag.affectedInstances) ||
|
|
9910
9910
|
(props.eventResize && props.eventResize.affectedInstances) ||
|
|
@@ -9913,8 +9913,8 @@ class TableRow extends DateComponent {
|
|
|
9913
9913
|
props.renderIntro && props.renderIntro(),
|
|
9914
9914
|
props.cells.map((cell, col) => {
|
|
9915
9915
|
let normalFgNodes = this.renderFgSegs(col, props.forPrint ? singleColPlacements[col] : multiColPlacements[col], props.todayRange, isForcedInvisible);
|
|
9916
|
-
let mirrorFgNodes = this.renderFgSegs(col, buildMirrorPlacements(mirrorSegsByCol[col], multiColPlacements), props.todayRange, {}, Boolean(props.eventDrag), Boolean(props.eventResize), false);
|
|
9917
|
-
return (y(TableCell, { key: cell.key, elRef: this.cellElRefs.createRef(cell.key), innerElRef: this.frameElRefs.createRef(cell.key) /* FF <td> problem, but okay to use for left/right. TODO: rename prop */, dateProfile: props.dateProfile, date: cell.date, showDayNumber: props.showDayNumbers, showWeekNumber: props.showWeekNumbers && col === 0, forceDayTop: props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */, todayRange: props.todayRange, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, extraRenderProps: cell.extraRenderProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, moreCnt: moreCnts[col], moreMarginTop: moreMarginTops[col], singlePlacements: singleColPlacements[col], fgContentElRef: this.fgElRefs.createRef(cell.key), fgContent: ( // Fragment scopes the keys
|
|
9916
|
+
let mirrorFgNodes = this.renderFgSegs(col, buildMirrorPlacements$1(mirrorSegsByCol[col], multiColPlacements), props.todayRange, {}, Boolean(props.eventDrag), Boolean(props.eventResize), false);
|
|
9917
|
+
return (y(TableCell$1, { key: cell.key, elRef: this.cellElRefs.createRef(cell.key), innerElRef: this.frameElRefs.createRef(cell.key) /* FF <td> problem, but okay to use for left/right. TODO: rename prop */, dateProfile: props.dateProfile, date: cell.date, showDayNumber: props.showDayNumbers, showWeekNumber: props.showWeekNumbers && col === 0, forceDayTop: props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */, todayRange: props.todayRange, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, extraRenderProps: cell.extraRenderProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, moreCnt: moreCnts[col], moreMarginTop: moreMarginTops[col], singlePlacements: singleColPlacements[col], fgContentElRef: this.fgElRefs.createRef(cell.key), fgContent: ( // Fragment scopes the keys
|
|
9918
9918
|
y(_, null,
|
|
9919
9919
|
y(_, null, normalFgNodes),
|
|
9920
9920
|
y(_, null, mirrorFgNodes))), bgContent: ( // Fragment scopes the keys
|
|
@@ -9981,13 +9981,13 @@ class TableRow extends DateComponent {
|
|
|
9981
9981
|
known bug: events that are force to be list-item but span multiple days still take up space in later columns
|
|
9982
9982
|
todo: in print view, for multi-day events, don't display title within non-start/end segs
|
|
9983
9983
|
*/
|
|
9984
|
-
nodes.push(y("div", { className: 'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : ''), key: generateSegKey(seg), ref: isMirror ? null : this.segHarnessRefs.createRef(generateSegUid(seg)), style: {
|
|
9984
|
+
nodes.push(y("div", { className: 'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : ''), key: generateSegKey$1(seg), ref: isMirror ? null : this.segHarnessRefs.createRef(generateSegUid$1(seg)), style: {
|
|
9985
9985
|
visibility: isVisible ? '' : 'hidden',
|
|
9986
9986
|
marginTop: isAbsolute ? '' : placement.marginTop,
|
|
9987
9987
|
top: isAbsolute ? placement.absoluteTop : '',
|
|
9988
9988
|
left,
|
|
9989
9989
|
right,
|
|
9990
|
-
} }, hasListItemDisplay(seg) ? (y(TableListItemEvent, Object.assign({ seg: seg, isDragging: isDragging, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange)))) : (y(TableBlockEvent, Object.assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange))))));
|
|
9990
|
+
} }, hasListItemDisplay$1(seg) ? (y(TableListItemEvent$1, Object.assign({ seg: seg, isDragging: isDragging, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange)))) : (y(TableBlockEvent$1, Object.assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange))))));
|
|
9991
9991
|
}
|
|
9992
9992
|
}
|
|
9993
9993
|
return nodes;
|
|
@@ -10065,14 +10065,14 @@ class TableRow extends DateComponent {
|
|
|
10065
10065
|
return this.props.cells.map((cell) => elMap[cell.key]);
|
|
10066
10066
|
}
|
|
10067
10067
|
}
|
|
10068
|
-
TableRow.addStateEquality({
|
|
10068
|
+
TableRow$1.addStateEquality({
|
|
10069
10069
|
segHeights: isPropsEqual,
|
|
10070
10070
|
});
|
|
10071
|
-
function buildMirrorPlacements(mirrorSegs, colPlacements) {
|
|
10071
|
+
function buildMirrorPlacements$1(mirrorSegs, colPlacements) {
|
|
10072
10072
|
if (!mirrorSegs.length) {
|
|
10073
10073
|
return [];
|
|
10074
10074
|
}
|
|
10075
|
-
let topsByInstanceId = buildAbsoluteTopHash(colPlacements); // TODO: cache this at first render?
|
|
10075
|
+
let topsByInstanceId = buildAbsoluteTopHash$1(colPlacements); // TODO: cache this at first render?
|
|
10076
10076
|
return mirrorSegs.map((seg) => ({
|
|
10077
10077
|
seg,
|
|
10078
10078
|
isVisible: true,
|
|
@@ -10081,7 +10081,7 @@ function buildMirrorPlacements(mirrorSegs, colPlacements) {
|
|
|
10081
10081
|
marginTop: 0,
|
|
10082
10082
|
}));
|
|
10083
10083
|
}
|
|
10084
|
-
function buildAbsoluteTopHash(colPlacements) {
|
|
10084
|
+
function buildAbsoluteTopHash$1(colPlacements) {
|
|
10085
10085
|
let topsByInstanceId = {};
|
|
10086
10086
|
for (let placements of colPlacements) {
|
|
10087
10087
|
for (let placement of placements) {
|
|
@@ -10091,15 +10091,15 @@ function buildAbsoluteTopHash(colPlacements) {
|
|
|
10091
10091
|
return topsByInstanceId;
|
|
10092
10092
|
}
|
|
10093
10093
|
|
|
10094
|
-
class TableRows extends DateComponent {
|
|
10094
|
+
class TableRows$1 extends DateComponent {
|
|
10095
10095
|
constructor() {
|
|
10096
10096
|
super(...arguments);
|
|
10097
|
-
this.splitBusinessHourSegs = memoize(splitSegsByRow);
|
|
10098
|
-
this.splitBgEventSegs = memoize(splitSegsByRow);
|
|
10099
|
-
this.splitFgEventSegs = memoize(splitSegsByRow);
|
|
10100
|
-
this.splitDateSelectionSegs = memoize(splitSegsByRow);
|
|
10101
|
-
this.splitEventDrag = memoize(splitInteractionByRow);
|
|
10102
|
-
this.splitEventResize = memoize(splitInteractionByRow);
|
|
10097
|
+
this.splitBusinessHourSegs = memoize(splitSegsByRow$1);
|
|
10098
|
+
this.splitBgEventSegs = memoize(splitSegsByRow$1);
|
|
10099
|
+
this.splitFgEventSegs = memoize(splitSegsByRow$1);
|
|
10100
|
+
this.splitDateSelectionSegs = memoize(splitSegsByRow$1);
|
|
10101
|
+
this.splitEventDrag = memoize(splitInteractionByRow$1);
|
|
10102
|
+
this.splitEventResize = memoize(splitInteractionByRow$1);
|
|
10103
10103
|
this.rowRefs = new RefMap();
|
|
10104
10104
|
}
|
|
10105
10105
|
render() {
|
|
@@ -10116,10 +10116,10 @@ class TableRows extends DateComponent {
|
|
|
10116
10116
|
let cellMinHeight = (rowCnt >= 7 && props.clientWidth) ?
|
|
10117
10117
|
props.clientWidth / context.options.aspectRatio / 6 :
|
|
10118
10118
|
null;
|
|
10119
|
-
return (y(NowTimer, { unit: "day" }, (nowDate, todayRange) => (y(_, null, props.cells.map((cells, row) => (y(TableRow, { ref: this.rowRefs.createRef(row), key: cells.length
|
|
10119
|
+
return (y(NowTimer, { unit: "day" }, (nowDate, todayRange) => (y(_, null, props.cells.map((cells, row) => (y(TableRow$1, { ref: this.rowRefs.createRef(row), key: cells.length
|
|
10120
10120
|
? cells[0].date.toISOString() /* best? or put key on cell? or use diff formatter? */
|
|
10121
10121
|
: row // in case there are no cells (like when resource view is loading)
|
|
10122
|
-
, showDayNumbers: rowCnt > 1, showWeekNumbers: props.showWeekNumbers, todayRange: todayRange, dateProfile: props.dateProfile, cells: cells, renderIntro: props.renderRowIntro, businessHourSegs: businessHourSegsByRow[row], eventSelection: props.eventSelection, bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay) /* hack */, fgEventSegs: fgEventSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, clientWidth: props.clientWidth, clientHeight: props.clientHeight, cellMinHeight: cellMinHeight, forPrint: props.forPrint })))))));
|
|
10122
|
+
, showDayNumbers: rowCnt > 1, showWeekNumbers: props.showWeekNumbers, todayRange: todayRange, dateProfile: props.dateProfile, cells: cells, renderIntro: props.renderRowIntro, businessHourSegs: businessHourSegsByRow[row], eventSelection: props.eventSelection, bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay$1) /* hack */, fgEventSegs: fgEventSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, clientWidth: props.clientWidth, clientHeight: props.clientHeight, cellMinHeight: cellMinHeight, forPrint: props.forPrint })))))));
|
|
10123
10123
|
}
|
|
10124
10124
|
componentDidMount() {
|
|
10125
10125
|
this.registerInteractiveComponent();
|
|
@@ -10188,11 +10188,11 @@ class TableRows extends DateComponent {
|
|
|
10188
10188
|
return { start, end };
|
|
10189
10189
|
}
|
|
10190
10190
|
}
|
|
10191
|
-
function isSegAllDay(seg) {
|
|
10191
|
+
function isSegAllDay$1(seg) {
|
|
10192
10192
|
return seg.eventRange.def.allDay;
|
|
10193
10193
|
}
|
|
10194
10194
|
|
|
10195
|
-
class Table extends DateComponent {
|
|
10195
|
+
class Table$1 extends DateComponent {
|
|
10196
10196
|
constructor() {
|
|
10197
10197
|
super(...arguments);
|
|
10198
10198
|
this.elRef = d();
|
|
@@ -10227,7 +10227,7 @@ class Table extends DateComponent {
|
|
|
10227
10227
|
} },
|
|
10228
10228
|
props.colGroupNode,
|
|
10229
10229
|
y("tbody", { role: "presentation" },
|
|
10230
|
-
y(TableRows, { dateProfile: props.dateProfile, cells: props.cells, renderRowIntro: props.renderRowIntro, showWeekNumbers: props.showWeekNumbers, clientWidth: props.clientWidth, clientHeight: props.clientHeight, businessHourSegs: props.businessHourSegs, bgEventSegs: props.bgEventSegs, fgEventSegs: props.fgEventSegs, dateSelectionSegs: props.dateSelectionSegs, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed })))));
|
|
10230
|
+
y(TableRows$1, { dateProfile: props.dateProfile, cells: props.cells, renderRowIntro: props.renderRowIntro, showWeekNumbers: props.showWeekNumbers, clientWidth: props.clientWidth, clientHeight: props.clientHeight, businessHourSegs: props.businessHourSegs, bgEventSegs: props.bgEventSegs, fgEventSegs: props.fgEventSegs, dateSelectionSegs: props.dateSelectionSegs, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed })))));
|
|
10231
10231
|
}
|
|
10232
10232
|
componentDidMount() {
|
|
10233
10233
|
this.requestScrollReset();
|
|
@@ -10248,7 +10248,7 @@ class Table extends DateComponent {
|
|
|
10248
10248
|
if (this.needsScrollReset &&
|
|
10249
10249
|
this.props.clientWidth // sizes computed?
|
|
10250
10250
|
) {
|
|
10251
|
-
const subjectEl = getScrollSubjectEl(this.elRef.current, this.props.dateProfile);
|
|
10251
|
+
const subjectEl = getScrollSubjectEl$1(this.elRef.current, this.props.dateProfile);
|
|
10252
10252
|
if (subjectEl) {
|
|
10253
10253
|
const originEl = subjectEl.closest('.fc-daygrid-body');
|
|
10254
10254
|
const scrollEl = originEl.closest('.fc-scroller');
|
|
@@ -10260,7 +10260,7 @@ class Table extends DateComponent {
|
|
|
10260
10260
|
}
|
|
10261
10261
|
}
|
|
10262
10262
|
}
|
|
10263
|
-
function getScrollSubjectEl(containerEl, dateProfile) {
|
|
10263
|
+
function getScrollSubjectEl$1(containerEl, dateProfile) {
|
|
10264
10264
|
let el;
|
|
10265
10265
|
if (dateProfile.currentRangeUnit.match(/year|month/)) {
|
|
10266
10266
|
el = containerEl.querySelector(`[data-date="${formatIsoMonthStr(dateProfile.currentDate)}-01"]`);
|
|
@@ -10273,7 +10273,7 @@ function getScrollSubjectEl(containerEl, dateProfile) {
|
|
|
10273
10273
|
return el;
|
|
10274
10274
|
}
|
|
10275
10275
|
|
|
10276
|
-
class DayTableSlicer extends Slicer {
|
|
10276
|
+
class DayTableSlicer$1 extends Slicer {
|
|
10277
10277
|
constructor() {
|
|
10278
10278
|
super(...arguments);
|
|
10279
10279
|
this.forceDayIfListItem = true;
|
|
@@ -10283,15 +10283,15 @@ class DayTableSlicer extends Slicer {
|
|
|
10283
10283
|
}
|
|
10284
10284
|
}
|
|
10285
10285
|
|
|
10286
|
-
class DayTable extends DateComponent {
|
|
10286
|
+
class DayTable$1 extends DateComponent {
|
|
10287
10287
|
constructor() {
|
|
10288
10288
|
super(...arguments);
|
|
10289
|
-
this.slicer = new DayTableSlicer();
|
|
10289
|
+
this.slicer = new DayTableSlicer$1();
|
|
10290
10290
|
this.tableRef = d();
|
|
10291
10291
|
}
|
|
10292
10292
|
render() {
|
|
10293
10293
|
let { props, context } = this;
|
|
10294
|
-
return (y(Table, Object.assign({ ref: this.tableRef }, this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel), { dateProfile: props.dateProfile, cells: props.dayTableModel.cells, colGroupNode: props.colGroupNode, tableMinWidth: props.tableMinWidth, renderRowIntro: props.renderRowIntro, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, showWeekNumbers: props.showWeekNumbers, expandRows: props.expandRows, headerAlignElRef: props.headerAlignElRef, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })));
|
|
10294
|
+
return (y(Table$1, Object.assign({ ref: this.tableRef }, this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel), { dateProfile: props.dateProfile, cells: props.dayTableModel.cells, colGroupNode: props.colGroupNode, tableMinWidth: props.tableMinWidth, renderRowIntro: props.renderRowIntro, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, showWeekNumbers: props.showWeekNumbers, expandRows: props.expandRows, headerAlignElRef: props.headerAlignElRef, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })));
|
|
10295
10295
|
}
|
|
10296
10296
|
}
|
|
10297
10297
|
|
|
@@ -10308,7 +10308,7 @@ class DayTableView extends TableView {
|
|
|
10308
10308
|
let { props } = this;
|
|
10309
10309
|
let dayTableModel = this.buildDayTableModel(props.dateProfile, dateProfileGenerator);
|
|
10310
10310
|
let headerContent = options.dayHeaders && (y(DayHeader, { ref: this.headerRef, dateProfile: props.dateProfile, dates: dayTableModel.headerDates, datesRepDistinctDays: dayTableModel.rowCnt === 1 }));
|
|
10311
|
-
let bodyContent = (contentArg) => (y(DayTable, { ref: this.tableRef, dateProfile: props.dateProfile, dayTableModel: dayTableModel, businessHours: props.businessHours, dateSelection: props.dateSelection, eventStore: props.eventStore, eventUiBases: props.eventUiBases, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, nextDayThreshold: options.nextDayThreshold, colGroupNode: contentArg.tableColGroupNode, tableMinWidth: contentArg.tableMinWidth, dayMaxEvents: options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows, showWeekNumbers: options.weekNumbers, expandRows: !props.isHeightAuto, headerAlignElRef: this.headerElRef, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, forPrint: props.forPrint }));
|
|
10311
|
+
let bodyContent = (contentArg) => (y(DayTable$1, { ref: this.tableRef, dateProfile: props.dateProfile, dayTableModel: dayTableModel, businessHours: props.businessHours, dateSelection: props.dateSelection, eventStore: props.eventStore, eventUiBases: props.eventUiBases, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, nextDayThreshold: options.nextDayThreshold, colGroupNode: contentArg.tableColGroupNode, tableMinWidth: contentArg.tableMinWidth, dayMaxEvents: options.dayMaxEvents, dayMaxEventRows: options.dayMaxEventRows, showWeekNumbers: options.weekNumbers, expandRows: !props.isHeightAuto, headerAlignElRef: this.headerElRef, clientWidth: contentArg.clientWidth, clientHeight: contentArg.clientHeight, forPrint: props.forPrint }));
|
|
10312
10312
|
return options.dayMinWidth
|
|
10313
10313
|
? this.renderHScrollLayout(headerContent, bodyContent, dayTableModel.colCnt, options.dayMinWidth)
|
|
10314
10314
|
: this.renderSimpleLayout(headerContent, bodyContent);
|
|
@@ -10357,8 +10357,8 @@ function buildDayTableRenderRange(props) {
|
|
|
10357
10357
|
return { start, end };
|
|
10358
10358
|
}
|
|
10359
10359
|
|
|
10360
|
-
var css_248z$
|
|
10361
|
-
injectStyles(css_248z$
|
|
10360
|
+
var css_248z$3 = ":root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:\"\";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:0 2px}.fc .fc-daygrid-day-bottom:after,.fc .fc-daygrid-day-bottom:before{clear:both;content:\"\";display:table}.fc .fc-daygrid-more-link{border-radius:3px;cursor:pointer;line-height:1;margin-top:1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap;z-index:4}.fc .fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc .fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:5}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-more-link{float:left}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-more-link{float:right}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}";
|
|
10361
|
+
injectStyles(css_248z$3);
|
|
10362
10362
|
|
|
10363
10363
|
var index$3 = createPlugin({
|
|
10364
10364
|
name: '@fullcalendar/daygrid',
|
|
@@ -12286,7 +12286,7 @@ class ListViewHeaderRow extends BaseComponent {
|
|
|
12286
12286
|
...getDayClassNames(dayMeta, theme),
|
|
12287
12287
|
], elAttrs: {
|
|
12288
12288
|
'data-date': formatDayString(dayDate),
|
|
12289
|
-
}, renderProps: renderProps, generatorName: "dayHeaderContent", customGenerator: options.dayHeaderContent, defaultGenerator: renderInnerContent$
|
|
12289
|
+
}, renderProps: renderProps, generatorName: "dayHeaderContent", customGenerator: options.dayHeaderContent, defaultGenerator: renderInnerContent$2, classNameGenerator: options.dayHeaderClassNames, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, (InnerContent) => ( // TODO: force-hide top border based on :first-child
|
|
12290
12290
|
y("th", { scope: "colgroup", colSpan: 3, id: cellId, "aria-labelledby": textId },
|
|
12291
12291
|
y(InnerContent, { elTag: "div", elClasses: [
|
|
12292
12292
|
'fc-list-day-cushion',
|
|
@@ -12294,7 +12294,7 @@ class ListViewHeaderRow extends BaseComponent {
|
|
|
12294
12294
|
] })))));
|
|
12295
12295
|
}
|
|
12296
12296
|
}
|
|
12297
|
-
function renderInnerContent$
|
|
12297
|
+
function renderInnerContent$2(props) {
|
|
12298
12298
|
return (y(_, null,
|
|
12299
12299
|
props.text && (y("a", Object.assign({ id: props.textId, className: "fc-list-day-text" }, props.navLinkAttrs), props.text)),
|
|
12300
12300
|
props.sideText && ( /* not keyboard tabbable */y("a", Object.assign({ "aria-hidden": true, className: "fc-list-day-side-text" }, props.sideNavLinkAttrs), props.sideText))));
|
|
@@ -12521,8 +12521,8 @@ function groupSegsByDay(segs) {
|
|
|
12521
12521
|
return segsByDay;
|
|
12522
12522
|
}
|
|
12523
12523
|
|
|
12524
|
-
var css_248z$
|
|
12525
|
-
injectStyles(css_248z$
|
|
12524
|
+
var css_248z$2 = ":root{--fc-list-event-dot-width:10px;--fc-list-event-hover-bg-color:#f5f5f5}.fc-theme-standard .fc-list{border:1px solid var(--fc-border-color)}.fc .fc-list-empty{align-items:center;background-color:var(--fc-neutral-bg-color);display:flex;height:100%;justify-content:center}.fc .fc-list-empty-cushion{margin:5em 0}.fc .fc-list-table{border-style:hidden;width:100%}.fc .fc-list-table tr>*{border-left:0;border-right:0}.fc .fc-list-sticky .fc-list-day>*{background:var(--fc-page-bg-color);position:sticky;top:0}.fc .fc-list-table thead{left:-10000px;position:absolute}.fc .fc-list-table tbody>tr:first-child th{border-top:0}.fc .fc-list-table th{padding:0}.fc .fc-list-day-cushion,.fc .fc-list-table td{padding:8px 14px}.fc .fc-list-day-cushion:after{clear:both;content:\"\";display:table}.fc-theme-standard .fc-list-day-cushion{background-color:var(--fc-neutral-bg-color)}.fc-direction-ltr .fc-list-day-text,.fc-direction-rtl .fc-list-day-side-text{float:left}.fc-direction-ltr .fc-list-day-side-text,.fc-direction-rtl .fc-list-day-text{float:right}.fc-direction-ltr .fc-list-table .fc-list-event-graphic{padding-right:0}.fc-direction-rtl .fc-list-table .fc-list-event-graphic{padding-left:0}.fc .fc-list-event.fc-event-forced-url{cursor:pointer}.fc .fc-list-event:hover td{background-color:var(--fc-list-event-hover-bg-color)}.fc .fc-list-event-graphic,.fc .fc-list-event-time{white-space:nowrap;width:1px}.fc .fc-list-event-dot{border:calc(var(--fc-list-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-list-event-dot-width)/2);box-sizing:content-box;display:inline-block;height:0;width:0}.fc .fc-list-event-title a{color:inherit;text-decoration:none}.fc .fc-list-event.fc-event-forced-url:hover a{text-decoration:underline}";
|
|
12525
|
+
injectStyles(css_248z$2);
|
|
12526
12526
|
|
|
12527
12527
|
const OPTION_REFINERS$1 = {
|
|
12528
12528
|
listDayFormat: createFalsableFormatter,
|
|
@@ -12570,6 +12570,844 @@ var index$1 = createPlugin({
|
|
|
12570
12570
|
},
|
|
12571
12571
|
});
|
|
12572
12572
|
|
|
12573
|
+
function splitSegsByRow(segs, rowCnt) {
|
|
12574
|
+
let byRow = [];
|
|
12575
|
+
for (let i = 0; i < rowCnt; i += 1) {
|
|
12576
|
+
byRow[i] = [];
|
|
12577
|
+
}
|
|
12578
|
+
for (let seg of segs) {
|
|
12579
|
+
byRow[seg.row].push(seg);
|
|
12580
|
+
}
|
|
12581
|
+
return byRow;
|
|
12582
|
+
}
|
|
12583
|
+
function splitSegsByFirstCol(segs, colCnt) {
|
|
12584
|
+
let byCol = [];
|
|
12585
|
+
for (let i = 0; i < colCnt; i += 1) {
|
|
12586
|
+
byCol[i] = [];
|
|
12587
|
+
}
|
|
12588
|
+
for (let seg of segs) {
|
|
12589
|
+
byCol[seg.firstCol].push(seg);
|
|
12590
|
+
}
|
|
12591
|
+
return byCol;
|
|
12592
|
+
}
|
|
12593
|
+
function splitInteractionByRow(ui, rowCnt) {
|
|
12594
|
+
let byRow = [];
|
|
12595
|
+
if (!ui) {
|
|
12596
|
+
for (let i = 0; i < rowCnt; i += 1) {
|
|
12597
|
+
byRow[i] = null;
|
|
12598
|
+
}
|
|
12599
|
+
}
|
|
12600
|
+
else {
|
|
12601
|
+
for (let i = 0; i < rowCnt; i += 1) {
|
|
12602
|
+
byRow[i] = {
|
|
12603
|
+
affectedInstances: ui.affectedInstances,
|
|
12604
|
+
isEvent: ui.isEvent,
|
|
12605
|
+
segs: [],
|
|
12606
|
+
};
|
|
12607
|
+
}
|
|
12608
|
+
for (let seg of ui.segs) {
|
|
12609
|
+
byRow[seg.row].segs.push(seg);
|
|
12610
|
+
}
|
|
12611
|
+
}
|
|
12612
|
+
return byRow;
|
|
12613
|
+
}
|
|
12614
|
+
|
|
12615
|
+
const DEFAULT_TABLE_EVENT_TIME_FORMAT = createFormatter({
|
|
12616
|
+
hour: 'numeric',
|
|
12617
|
+
minute: '2-digit',
|
|
12618
|
+
omitZeroMinute: true,
|
|
12619
|
+
meridiem: 'narrow',
|
|
12620
|
+
});
|
|
12621
|
+
function hasListItemDisplay(seg) {
|
|
12622
|
+
let { display } = seg.eventRange.ui;
|
|
12623
|
+
return display === 'list-item' || (display === 'auto' &&
|
|
12624
|
+
!seg.eventRange.def.allDay &&
|
|
12625
|
+
seg.firstCol === seg.lastCol && // can't be multi-day
|
|
12626
|
+
seg.isStart && // "
|
|
12627
|
+
seg.isEnd // "
|
|
12628
|
+
);
|
|
12629
|
+
}
|
|
12630
|
+
|
|
12631
|
+
class TableBlockEvent extends BaseComponent {
|
|
12632
|
+
render() {
|
|
12633
|
+
let { props } = this;
|
|
12634
|
+
return (y(StandardEvent, Object.assign({}, props, { elClasses: ['fc-daygrid-event', 'fc-daygrid-block-event', 'fc-h-event'], defaultTimeFormat: DEFAULT_TABLE_EVENT_TIME_FORMAT, defaultDisplayEventEnd: props.defaultDisplayEventEnd, disableResizing: !props.seg.eventRange.def.allDay })));
|
|
12635
|
+
}
|
|
12636
|
+
}
|
|
12637
|
+
|
|
12638
|
+
class TableListItemEvent extends BaseComponent {
|
|
12639
|
+
render() {
|
|
12640
|
+
let { props, context } = this;
|
|
12641
|
+
let { options } = context;
|
|
12642
|
+
let { seg } = props;
|
|
12643
|
+
let timeFormat = options.eventTimeFormat || DEFAULT_TABLE_EVENT_TIME_FORMAT;
|
|
12644
|
+
let timeText = buildSegTimeText(seg, timeFormat, context, true, props.defaultDisplayEventEnd);
|
|
12645
|
+
return (y(EventContainer, Object.assign({}, props, { elTag: "a", elClasses: ['fc-daygrid-event', 'fc-daygrid-dot-event'], elAttrs: getSegAnchorAttrs(props.seg, context), defaultGenerator: renderInnerContent$1, timeText: timeText, isResizing: false, isDateSelecting: false })));
|
|
12646
|
+
}
|
|
12647
|
+
}
|
|
12648
|
+
function renderInnerContent$1(renderProps) {
|
|
12649
|
+
return (y(_, null,
|
|
12650
|
+
y("div", { className: "fc-daygrid-event-dot", style: { borderColor: renderProps.borderColor || renderProps.backgroundColor } }),
|
|
12651
|
+
renderProps.timeText && (y("div", { className: "fc-event-time" }, renderProps.timeText)),
|
|
12652
|
+
y("div", { className: "fc-event-title" }, renderProps.event.title || y(_, null, "\u00A0"))));
|
|
12653
|
+
}
|
|
12654
|
+
|
|
12655
|
+
class TableCellMoreLink extends BaseComponent {
|
|
12656
|
+
constructor() {
|
|
12657
|
+
super(...arguments);
|
|
12658
|
+
this.compileSegs = memoize(compileSegs);
|
|
12659
|
+
}
|
|
12660
|
+
render() {
|
|
12661
|
+
let { props } = this;
|
|
12662
|
+
let { allSegs, invisibleSegs } = this.compileSegs(props.singlePlacements);
|
|
12663
|
+
return (y(MoreLinkContainer, { elClasses: ['fc-daygrid-more-link'], dateProfile: props.dateProfile, todayRange: props.todayRange, allDayDate: props.allDayDate, moreCnt: props.moreCnt, allSegs: allSegs, hiddenSegs: invisibleSegs, alignmentElRef: props.alignmentElRef, alignGridTop: props.alignGridTop, extraDateSpan: props.extraDateSpan, popoverContent: () => {
|
|
12664
|
+
let isForcedInvisible = (props.eventDrag ? props.eventDrag.affectedInstances : null) ||
|
|
12665
|
+
(props.eventResize ? props.eventResize.affectedInstances : null) ||
|
|
12666
|
+
{};
|
|
12667
|
+
return (y(_, null, allSegs.map((seg) => {
|
|
12668
|
+
let instanceId = seg.eventRange.instance.instanceId;
|
|
12669
|
+
return (y("div", { className: "fc-daygrid-event-harness", key: instanceId, style: {
|
|
12670
|
+
visibility: isForcedInvisible[instanceId] ? 'hidden' : '',
|
|
12671
|
+
} }, hasListItemDisplay(seg) ? (y(TableListItemEvent, Object.assign({ seg: seg, isDragging: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange)))) : (y(TableBlockEvent, Object.assign({ seg: seg, isDragging: false, isResizing: false, isDateSelecting: false, isSelected: instanceId === props.eventSelection, defaultDisplayEventEnd: false }, getSegMeta(seg, props.todayRange))))));
|
|
12672
|
+
})));
|
|
12673
|
+
} }));
|
|
12674
|
+
}
|
|
12675
|
+
}
|
|
12676
|
+
function compileSegs(singlePlacements) {
|
|
12677
|
+
let allSegs = [];
|
|
12678
|
+
let invisibleSegs = [];
|
|
12679
|
+
for (let placement of singlePlacements) {
|
|
12680
|
+
allSegs.push(placement.seg);
|
|
12681
|
+
if (!placement.isVisible) {
|
|
12682
|
+
invisibleSegs.push(placement.seg);
|
|
12683
|
+
}
|
|
12684
|
+
}
|
|
12685
|
+
return { allSegs, invisibleSegs };
|
|
12686
|
+
}
|
|
12687
|
+
|
|
12688
|
+
const DEFAULT_WEEK_NUM_FORMAT$1 = createFormatter({ week: 'narrow' });
|
|
12689
|
+
class TableCell extends DateComponent {
|
|
12690
|
+
constructor() {
|
|
12691
|
+
super(...arguments);
|
|
12692
|
+
this.rootElRef = d();
|
|
12693
|
+
this.state = {
|
|
12694
|
+
dayNumberId: getUniqueDomId(),
|
|
12695
|
+
};
|
|
12696
|
+
this.handleRootEl = (el) => {
|
|
12697
|
+
setRef(this.rootElRef, el);
|
|
12698
|
+
setRef(this.props.elRef, el);
|
|
12699
|
+
};
|
|
12700
|
+
}
|
|
12701
|
+
render() {
|
|
12702
|
+
let { context, props, state, rootElRef } = this;
|
|
12703
|
+
let { options, dateEnv } = context;
|
|
12704
|
+
let { date, dateProfile } = props;
|
|
12705
|
+
// TODO: memoize this?
|
|
12706
|
+
const isMonthStart = props.showDayNumber &&
|
|
12707
|
+
shouldDisplayMonthStart(date, dateProfile.currentRange, dateEnv);
|
|
12708
|
+
return (y(DayCellContainer, { elTag: "td", elRef: this.handleRootEl, elClasses: [
|
|
12709
|
+
'fc-daygrid-day',
|
|
12710
|
+
...(props.extraClassNames || []),
|
|
12711
|
+
], elAttrs: Object.assign(Object.assign(Object.assign({}, props.extraDataAttrs), (props.showDayNumber ? { 'aria-labelledby': state.dayNumberId } : {})), { role: 'gridcell' }), defaultGenerator: renderTopInner, date: date, dateProfile: dateProfile, todayRange: props.todayRange, showDayNumber: props.showDayNumber, isMonthStart: isMonthStart, extraRenderProps: props.extraRenderProps }, (InnerContent, renderProps) => (y("div", { ref: props.innerElRef, className: "fc-daygrid-day-frame fc-scrollgrid-sync-inner", style: { minHeight: props.minHeight } },
|
|
12712
|
+
props.showWeekNumber && (y(WeekNumberContainer, { elTag: "a", elClasses: ['fc-daygrid-week-number'], elAttrs: buildNavLinkAttrs(context, date, 'week'), date: date, defaultFormat: DEFAULT_WEEK_NUM_FORMAT$1 })),
|
|
12713
|
+
!renderProps.isDisabled &&
|
|
12714
|
+
(props.showDayNumber || hasCustomDayCellContent(options) || props.forceDayTop) ? (y("div", { className: "fc-daygrid-day-top" },
|
|
12715
|
+
y(InnerContent, { elTag: "a", elClasses: [
|
|
12716
|
+
'fc-daygrid-day-number',
|
|
12717
|
+
isMonthStart && 'fc-daygrid-month-start',
|
|
12718
|
+
], elAttrs: Object.assign(Object.assign({}, buildNavLinkAttrs(context, date)), { id: state.dayNumberId }) }))) : props.showDayNumber ? (
|
|
12719
|
+
// for creating correct amount of space (see issue #7162)
|
|
12720
|
+
y("div", { className: "fc-daygrid-day-top", style: { visibility: 'hidden' } },
|
|
12721
|
+
y("a", { className: "fc-daygrid-day-number" }, "\u00A0"))) : undefined,
|
|
12722
|
+
y("div", { className: "fc-daygrid-day-events", ref: props.fgContentElRef },
|
|
12723
|
+
props.fgContent,
|
|
12724
|
+
y("div", { className: "fc-daygrid-day-bottom", style: { marginTop: props.moreMarginTop } },
|
|
12725
|
+
y(TableCellMoreLink, { allDayDate: date, singlePlacements: props.singlePlacements, moreCnt: props.moreCnt, alignmentElRef: rootElRef, alignGridTop: !props.showDayNumber, extraDateSpan: props.extraDateSpan, dateProfile: props.dateProfile, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, todayRange: props.todayRange }))),
|
|
12726
|
+
y("div", { className: "fc-daygrid-day-bg" }, props.bgContent)))));
|
|
12727
|
+
}
|
|
12728
|
+
}
|
|
12729
|
+
function renderTopInner(props) {
|
|
12730
|
+
return props.dayNumberText || y(_, null, "\u00A0");
|
|
12731
|
+
}
|
|
12732
|
+
function shouldDisplayMonthStart(date, currentRange, dateEnv) {
|
|
12733
|
+
const { start: currentStart, end: currentEnd } = currentRange;
|
|
12734
|
+
const currentEndIncl = addMs(currentEnd, -1);
|
|
12735
|
+
const currentFirstYear = dateEnv.getYear(currentStart);
|
|
12736
|
+
const currentFirstMonth = dateEnv.getMonth(currentStart);
|
|
12737
|
+
const currentLastYear = dateEnv.getYear(currentEndIncl);
|
|
12738
|
+
const currentLastMonth = dateEnv.getMonth(currentEndIncl);
|
|
12739
|
+
// spans more than one month?
|
|
12740
|
+
return !(currentFirstYear === currentLastYear && currentFirstMonth === currentLastMonth) &&
|
|
12741
|
+
Boolean(
|
|
12742
|
+
// first date in current view?
|
|
12743
|
+
date.valueOf() === currentStart.valueOf() ||
|
|
12744
|
+
// a month-start that's within the current range?
|
|
12745
|
+
(dateEnv.getDay(date) === 1 && date.valueOf() < currentEnd.valueOf()));
|
|
12746
|
+
}
|
|
12747
|
+
|
|
12748
|
+
function generateSegKey(seg) {
|
|
12749
|
+
return seg.eventRange.instance.instanceId + ':' + seg.firstCol;
|
|
12750
|
+
}
|
|
12751
|
+
function generateSegUid(seg) {
|
|
12752
|
+
return generateSegKey(seg) + ':' + seg.lastCol;
|
|
12753
|
+
}
|
|
12754
|
+
function computeFgSegPlacement(segs, // assumed already sorted
|
|
12755
|
+
dayMaxEvents, dayMaxEventRows, strictOrder, segHeights, maxContentHeight, cells) {
|
|
12756
|
+
let hierarchy = new DayGridSegHierarchy((segEntry) => {
|
|
12757
|
+
// TODO: more DRY with generateSegUid
|
|
12758
|
+
let segUid = segs[segEntry.index].eventRange.instance.instanceId +
|
|
12759
|
+
':' + segEntry.span.start +
|
|
12760
|
+
':' + (segEntry.span.end - 1);
|
|
12761
|
+
// if no thickness known, assume 1 (if 0, so small it always fits)
|
|
12762
|
+
return segHeights[segUid] || 1;
|
|
12763
|
+
});
|
|
12764
|
+
hierarchy.allowReslicing = true;
|
|
12765
|
+
hierarchy.strictOrder = strictOrder;
|
|
12766
|
+
if (dayMaxEvents === true || dayMaxEventRows === true) {
|
|
12767
|
+
hierarchy.maxCoord = maxContentHeight;
|
|
12768
|
+
hierarchy.hiddenConsumes = true;
|
|
12769
|
+
}
|
|
12770
|
+
else if (typeof dayMaxEvents === 'number') {
|
|
12771
|
+
hierarchy.maxStackCnt = dayMaxEvents;
|
|
12772
|
+
}
|
|
12773
|
+
else if (typeof dayMaxEventRows === 'number') {
|
|
12774
|
+
hierarchy.maxStackCnt = dayMaxEventRows;
|
|
12775
|
+
hierarchy.hiddenConsumes = true;
|
|
12776
|
+
}
|
|
12777
|
+
// create segInputs only for segs with known heights
|
|
12778
|
+
let segInputs = [];
|
|
12779
|
+
let unknownHeightSegs = [];
|
|
12780
|
+
for (let i = 0; i < segs.length; i += 1) {
|
|
12781
|
+
let seg = segs[i];
|
|
12782
|
+
let segUid = generateSegUid(seg);
|
|
12783
|
+
let eventHeight = segHeights[segUid];
|
|
12784
|
+
if (eventHeight != null) {
|
|
12785
|
+
segInputs.push({
|
|
12786
|
+
index: i,
|
|
12787
|
+
span: {
|
|
12788
|
+
start: seg.firstCol,
|
|
12789
|
+
end: seg.lastCol + 1,
|
|
12790
|
+
},
|
|
12791
|
+
});
|
|
12792
|
+
}
|
|
12793
|
+
else {
|
|
12794
|
+
unknownHeightSegs.push(seg);
|
|
12795
|
+
}
|
|
12796
|
+
}
|
|
12797
|
+
let hiddenEntries = hierarchy.addSegs(segInputs);
|
|
12798
|
+
let segRects = hierarchy.toRects();
|
|
12799
|
+
let { singleColPlacements, multiColPlacements, leftoverMargins } = placeRects(segRects, segs, cells);
|
|
12800
|
+
let moreCnts = [];
|
|
12801
|
+
let moreMarginTops = [];
|
|
12802
|
+
// add segs with unknown heights
|
|
12803
|
+
for (let seg of unknownHeightSegs) {
|
|
12804
|
+
multiColPlacements[seg.firstCol].push({
|
|
12805
|
+
seg,
|
|
12806
|
+
isVisible: false,
|
|
12807
|
+
isAbsolute: true,
|
|
12808
|
+
absoluteTop: 0,
|
|
12809
|
+
marginTop: 0,
|
|
12810
|
+
});
|
|
12811
|
+
for (let col = seg.firstCol; col <= seg.lastCol; col += 1) {
|
|
12812
|
+
singleColPlacements[col].push({
|
|
12813
|
+
seg: resliceSeg(seg, col, col + 1, cells),
|
|
12814
|
+
isVisible: false,
|
|
12815
|
+
isAbsolute: false,
|
|
12816
|
+
absoluteTop: 0,
|
|
12817
|
+
marginTop: 0,
|
|
12818
|
+
});
|
|
12819
|
+
}
|
|
12820
|
+
}
|
|
12821
|
+
// add the hidden entries
|
|
12822
|
+
for (let col = 0; col < cells.length; col += 1) {
|
|
12823
|
+
moreCnts.push(0);
|
|
12824
|
+
}
|
|
12825
|
+
for (let hiddenEntry of hiddenEntries) {
|
|
12826
|
+
let seg = segs[hiddenEntry.index];
|
|
12827
|
+
let hiddenSpan = hiddenEntry.span;
|
|
12828
|
+
multiColPlacements[hiddenSpan.start].push({
|
|
12829
|
+
seg: resliceSeg(seg, hiddenSpan.start, hiddenSpan.end, cells),
|
|
12830
|
+
isVisible: false,
|
|
12831
|
+
isAbsolute: true,
|
|
12832
|
+
absoluteTop: 0,
|
|
12833
|
+
marginTop: 0,
|
|
12834
|
+
});
|
|
12835
|
+
for (let col = hiddenSpan.start; col < hiddenSpan.end; col += 1) {
|
|
12836
|
+
moreCnts[col] += 1;
|
|
12837
|
+
singleColPlacements[col].push({
|
|
12838
|
+
seg: resliceSeg(seg, col, col + 1, cells),
|
|
12839
|
+
isVisible: false,
|
|
12840
|
+
isAbsolute: false,
|
|
12841
|
+
absoluteTop: 0,
|
|
12842
|
+
marginTop: 0,
|
|
12843
|
+
});
|
|
12844
|
+
}
|
|
12845
|
+
}
|
|
12846
|
+
// deal with leftover margins
|
|
12847
|
+
for (let col = 0; col < cells.length; col += 1) {
|
|
12848
|
+
moreMarginTops.push(leftoverMargins[col]);
|
|
12849
|
+
}
|
|
12850
|
+
return { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops };
|
|
12851
|
+
}
|
|
12852
|
+
// rects ordered by top coord, then left
|
|
12853
|
+
function placeRects(allRects, segs, cells) {
|
|
12854
|
+
let rectsByEachCol = groupRectsByEachCol(allRects, cells.length);
|
|
12855
|
+
let singleColPlacements = [];
|
|
12856
|
+
let multiColPlacements = [];
|
|
12857
|
+
let leftoverMargins = [];
|
|
12858
|
+
for (let col = 0; col < cells.length; col += 1) {
|
|
12859
|
+
let rects = rectsByEachCol[col];
|
|
12860
|
+
// compute all static segs in singlePlacements
|
|
12861
|
+
let singlePlacements = [];
|
|
12862
|
+
let currentHeight = 0;
|
|
12863
|
+
let currentMarginTop = 0;
|
|
12864
|
+
for (let rect of rects) {
|
|
12865
|
+
let seg = segs[rect.index];
|
|
12866
|
+
singlePlacements.push({
|
|
12867
|
+
seg: resliceSeg(seg, col, col + 1, cells),
|
|
12868
|
+
isVisible: true,
|
|
12869
|
+
isAbsolute: false,
|
|
12870
|
+
absoluteTop: rect.levelCoord,
|
|
12871
|
+
marginTop: rect.levelCoord - currentHeight,
|
|
12872
|
+
});
|
|
12873
|
+
currentHeight = rect.levelCoord + rect.thickness;
|
|
12874
|
+
}
|
|
12875
|
+
// compute mixed static/absolute segs in multiPlacements
|
|
12876
|
+
let multiPlacements = [];
|
|
12877
|
+
currentHeight = 0;
|
|
12878
|
+
currentMarginTop = 0;
|
|
12879
|
+
for (let rect of rects) {
|
|
12880
|
+
let seg = segs[rect.index];
|
|
12881
|
+
let isAbsolute = rect.span.end - rect.span.start > 1; // multi-column?
|
|
12882
|
+
let isFirstCol = rect.span.start === col;
|
|
12883
|
+
currentMarginTop += rect.levelCoord - currentHeight; // amount of space since bottom of previous seg
|
|
12884
|
+
currentHeight = rect.levelCoord + rect.thickness; // height will now be bottom of current seg
|
|
12885
|
+
if (isAbsolute) {
|
|
12886
|
+
currentMarginTop += rect.thickness;
|
|
12887
|
+
if (isFirstCol) {
|
|
12888
|
+
multiPlacements.push({
|
|
12889
|
+
seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),
|
|
12890
|
+
isVisible: true,
|
|
12891
|
+
isAbsolute: true,
|
|
12892
|
+
absoluteTop: rect.levelCoord,
|
|
12893
|
+
marginTop: 0,
|
|
12894
|
+
});
|
|
12895
|
+
}
|
|
12896
|
+
}
|
|
12897
|
+
else if (isFirstCol) {
|
|
12898
|
+
multiPlacements.push({
|
|
12899
|
+
seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),
|
|
12900
|
+
isVisible: true,
|
|
12901
|
+
isAbsolute: false,
|
|
12902
|
+
absoluteTop: rect.levelCoord,
|
|
12903
|
+
marginTop: currentMarginTop, // claim the margin
|
|
12904
|
+
});
|
|
12905
|
+
currentMarginTop = 0;
|
|
12906
|
+
}
|
|
12907
|
+
}
|
|
12908
|
+
singleColPlacements.push(singlePlacements);
|
|
12909
|
+
multiColPlacements.push(multiPlacements);
|
|
12910
|
+
leftoverMargins.push(currentMarginTop);
|
|
12911
|
+
}
|
|
12912
|
+
return { singleColPlacements, multiColPlacements, leftoverMargins };
|
|
12913
|
+
}
|
|
12914
|
+
function groupRectsByEachCol(rects, colCnt) {
|
|
12915
|
+
let rectsByEachCol = [];
|
|
12916
|
+
for (let col = 0; col < colCnt; col += 1) {
|
|
12917
|
+
rectsByEachCol.push([]);
|
|
12918
|
+
}
|
|
12919
|
+
for (let rect of rects) {
|
|
12920
|
+
for (let col = rect.span.start; col < rect.span.end; col += 1) {
|
|
12921
|
+
rectsByEachCol[col].push(rect);
|
|
12922
|
+
}
|
|
12923
|
+
}
|
|
12924
|
+
return rectsByEachCol;
|
|
12925
|
+
}
|
|
12926
|
+
function resliceSeg(seg, spanStart, spanEnd, cells) {
|
|
12927
|
+
if (seg.firstCol === spanStart && seg.lastCol === spanEnd - 1) {
|
|
12928
|
+
return seg;
|
|
12929
|
+
}
|
|
12930
|
+
let eventRange = seg.eventRange;
|
|
12931
|
+
let origRange = eventRange.range;
|
|
12932
|
+
let slicedRange = intersectRanges(origRange, {
|
|
12933
|
+
start: cells[spanStart].date,
|
|
12934
|
+
end: addDays(cells[spanEnd - 1].date, 1),
|
|
12935
|
+
});
|
|
12936
|
+
return Object.assign(Object.assign({}, seg), { firstCol: spanStart, lastCol: spanEnd - 1, eventRange: {
|
|
12937
|
+
def: eventRange.def,
|
|
12938
|
+
ui: Object.assign(Object.assign({}, eventRange.ui), { durationEditable: false }),
|
|
12939
|
+
instance: eventRange.instance,
|
|
12940
|
+
range: slicedRange,
|
|
12941
|
+
}, isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(), isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf() });
|
|
12942
|
+
}
|
|
12943
|
+
class DayGridSegHierarchy extends SegHierarchy {
|
|
12944
|
+
constructor() {
|
|
12945
|
+
super(...arguments);
|
|
12946
|
+
// config
|
|
12947
|
+
this.hiddenConsumes = false;
|
|
12948
|
+
// allows us to keep hidden entries in the hierarchy so they take up space
|
|
12949
|
+
this.forceHidden = {};
|
|
12950
|
+
}
|
|
12951
|
+
addSegs(segInputs) {
|
|
12952
|
+
const hiddenSegs = super.addSegs(segInputs);
|
|
12953
|
+
const { entriesByLevel } = this;
|
|
12954
|
+
const excludeHidden = (entry) => !this.forceHidden[buildEntryKey(entry)];
|
|
12955
|
+
// remove the forced-hidden segs
|
|
12956
|
+
for (let level = 0; level < entriesByLevel.length; level += 1) {
|
|
12957
|
+
entriesByLevel[level] = entriesByLevel[level].filter(excludeHidden);
|
|
12958
|
+
}
|
|
12959
|
+
return hiddenSegs;
|
|
12960
|
+
}
|
|
12961
|
+
handleInvalidInsertion(insertion, entry, hiddenEntries) {
|
|
12962
|
+
const { entriesByLevel, forceHidden } = this;
|
|
12963
|
+
const { touchingEntry, touchingLevel, touchingLateral } = insertion;
|
|
12964
|
+
// the entry that the new insertion is touching must be hidden
|
|
12965
|
+
if (this.hiddenConsumes && touchingEntry) {
|
|
12966
|
+
const touchingEntryId = buildEntryKey(touchingEntry);
|
|
12967
|
+
if (!forceHidden[touchingEntryId]) {
|
|
12968
|
+
if (this.allowReslicing) {
|
|
12969
|
+
// split up the touchingEntry, reinsert it
|
|
12970
|
+
const hiddenEntry = Object.assign(Object.assign({}, touchingEntry), { span: intersectSpans(touchingEntry.span, entry.span) });
|
|
12971
|
+
// reinsert the area that turned into a "more" link (so no other entries try to
|
|
12972
|
+
// occupy the space) but mark it forced-hidden
|
|
12973
|
+
const hiddenEntryId = buildEntryKey(hiddenEntry);
|
|
12974
|
+
forceHidden[hiddenEntryId] = true;
|
|
12975
|
+
entriesByLevel[touchingLevel][touchingLateral] = hiddenEntry;
|
|
12976
|
+
hiddenEntries.push(hiddenEntry);
|
|
12977
|
+
this.splitEntry(touchingEntry, entry, hiddenEntries);
|
|
12978
|
+
}
|
|
12979
|
+
else {
|
|
12980
|
+
forceHidden[touchingEntryId] = true;
|
|
12981
|
+
hiddenEntries.push(touchingEntry);
|
|
12982
|
+
}
|
|
12983
|
+
}
|
|
12984
|
+
}
|
|
12985
|
+
// will try to reslice...
|
|
12986
|
+
super.handleInvalidInsertion(insertion, entry, hiddenEntries);
|
|
12987
|
+
}
|
|
12988
|
+
}
|
|
12989
|
+
|
|
12990
|
+
class TableRow extends DateComponent {
|
|
12991
|
+
constructor() {
|
|
12992
|
+
super(...arguments);
|
|
12993
|
+
this.cellElRefs = new RefMap(); // the <td>
|
|
12994
|
+
this.frameElRefs = new RefMap(); // the fc-daygrid-day-frame
|
|
12995
|
+
this.fgElRefs = new RefMap(); // the fc-daygrid-day-events
|
|
12996
|
+
this.segHarnessRefs = new RefMap(); // indexed by "instanceId:firstCol"
|
|
12997
|
+
this.rootElRef = d();
|
|
12998
|
+
this.state = {
|
|
12999
|
+
framePositions: null,
|
|
13000
|
+
maxContentHeight: null,
|
|
13001
|
+
segHeights: {},
|
|
13002
|
+
};
|
|
13003
|
+
this.handleResize = (isForced) => {
|
|
13004
|
+
if (isForced) {
|
|
13005
|
+
this.updateSizing(true); // isExternal=true
|
|
13006
|
+
}
|
|
13007
|
+
};
|
|
13008
|
+
}
|
|
13009
|
+
render() {
|
|
13010
|
+
let { props, state, context } = this;
|
|
13011
|
+
let { options } = context;
|
|
13012
|
+
let colCnt = props.cells.length;
|
|
13013
|
+
let businessHoursByCol = splitSegsByFirstCol(props.businessHourSegs, colCnt);
|
|
13014
|
+
let bgEventSegsByCol = splitSegsByFirstCol(props.bgEventSegs, colCnt);
|
|
13015
|
+
let highlightSegsByCol = splitSegsByFirstCol(this.getHighlightSegs(), colCnt);
|
|
13016
|
+
let mirrorSegsByCol = splitSegsByFirstCol(this.getMirrorSegs(), colCnt);
|
|
13017
|
+
let { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops } = computeFgSegPlacement(sortEventSegs(props.fgEventSegs, options.eventOrder), props.dayMaxEvents, props.dayMaxEventRows, options.eventOrderStrict, state.segHeights, state.maxContentHeight, props.cells);
|
|
13018
|
+
let isForcedInvisible = // TODO: messy way to compute this
|
|
13019
|
+
(props.eventDrag && props.eventDrag.affectedInstances) ||
|
|
13020
|
+
(props.eventResize && props.eventResize.affectedInstances) ||
|
|
13021
|
+
{};
|
|
13022
|
+
return (y("tr", { ref: this.rootElRef, role: "row" },
|
|
13023
|
+
props.renderIntro && props.renderIntro(),
|
|
13024
|
+
props.cells.map((cell, col) => {
|
|
13025
|
+
let normalFgNodes = this.renderFgSegs(col, props.forPrint ? singleColPlacements[col] : multiColPlacements[col], props.todayRange, isForcedInvisible);
|
|
13026
|
+
let mirrorFgNodes = this.renderFgSegs(col, buildMirrorPlacements(mirrorSegsByCol[col], multiColPlacements), props.todayRange, {}, Boolean(props.eventDrag), Boolean(props.eventResize), false);
|
|
13027
|
+
return (y(TableCell, { key: cell.key, elRef: this.cellElRefs.createRef(cell.key), innerElRef: this.frameElRefs.createRef(cell.key) /* FF <td> problem, but okay to use for left/right. TODO: rename prop */, dateProfile: props.dateProfile, date: cell.date, showDayNumber: props.showDayNumbers, showWeekNumber: props.showWeekNumbers && col === 0, forceDayTop: props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */, todayRange: props.todayRange, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, extraRenderProps: cell.extraRenderProps, extraDataAttrs: cell.extraDataAttrs, extraClassNames: cell.extraClassNames, extraDateSpan: cell.extraDateSpan, moreCnt: moreCnts[col], moreMarginTop: moreMarginTops[col], singlePlacements: singleColPlacements[col], fgContentElRef: this.fgElRefs.createRef(cell.key), fgContent: ( // Fragment scopes the keys
|
|
13028
|
+
y(_, null,
|
|
13029
|
+
y(_, null, normalFgNodes),
|
|
13030
|
+
y(_, null, mirrorFgNodes))), bgContent: ( // Fragment scopes the keys
|
|
13031
|
+
y(_, null,
|
|
13032
|
+
this.renderFillSegs(highlightSegsByCol[col], 'highlight'),
|
|
13033
|
+
this.renderFillSegs(businessHoursByCol[col], 'non-business'),
|
|
13034
|
+
this.renderFillSegs(bgEventSegsByCol[col], 'bg-event'))), minHeight: props.cellMinHeight }));
|
|
13035
|
+
})));
|
|
13036
|
+
}
|
|
13037
|
+
componentDidMount() {
|
|
13038
|
+
this.updateSizing(true);
|
|
13039
|
+
this.context.addResizeHandler(this.handleResize);
|
|
13040
|
+
}
|
|
13041
|
+
componentDidUpdate(prevProps, prevState) {
|
|
13042
|
+
let currentProps = this.props;
|
|
13043
|
+
this.updateSizing(!isPropsEqual(prevProps, currentProps));
|
|
13044
|
+
}
|
|
13045
|
+
componentWillUnmount() {
|
|
13046
|
+
this.context.removeResizeHandler(this.handleResize);
|
|
13047
|
+
}
|
|
13048
|
+
getHighlightSegs() {
|
|
13049
|
+
let { props } = this;
|
|
13050
|
+
if (props.eventDrag && props.eventDrag.segs.length) { // messy check
|
|
13051
|
+
return props.eventDrag.segs;
|
|
13052
|
+
}
|
|
13053
|
+
if (props.eventResize && props.eventResize.segs.length) { // messy check
|
|
13054
|
+
return props.eventResize.segs;
|
|
13055
|
+
}
|
|
13056
|
+
return props.dateSelectionSegs;
|
|
13057
|
+
}
|
|
13058
|
+
getMirrorSegs() {
|
|
13059
|
+
let { props } = this;
|
|
13060
|
+
if (props.eventResize && props.eventResize.segs.length) { // messy check
|
|
13061
|
+
return props.eventResize.segs;
|
|
13062
|
+
}
|
|
13063
|
+
return [];
|
|
13064
|
+
}
|
|
13065
|
+
renderFgSegs(col, segPlacements, todayRange, isForcedInvisible, isDragging, isResizing, isDateSelecting) {
|
|
13066
|
+
let { context } = this;
|
|
13067
|
+
let { eventSelection } = this.props;
|
|
13068
|
+
let { framePositions } = this.state;
|
|
13069
|
+
let defaultDisplayEventEnd = this.props.cells.length === 1; // colCnt === 1
|
|
13070
|
+
let isMirror = isDragging || isResizing || isDateSelecting;
|
|
13071
|
+
let nodes = [];
|
|
13072
|
+
if (framePositions) {
|
|
13073
|
+
for (let placement of segPlacements) {
|
|
13074
|
+
let { seg } = placement;
|
|
13075
|
+
let { instanceId } = seg.eventRange.instance;
|
|
13076
|
+
let isVisible = placement.isVisible && !isForcedInvisible[instanceId];
|
|
13077
|
+
let isAbsolute = placement.isAbsolute;
|
|
13078
|
+
let left = '';
|
|
13079
|
+
let right = '';
|
|
13080
|
+
if (isAbsolute) {
|
|
13081
|
+
if (context.isRtl) {
|
|
13082
|
+
right = 0;
|
|
13083
|
+
left = framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol];
|
|
13084
|
+
}
|
|
13085
|
+
else {
|
|
13086
|
+
left = 0;
|
|
13087
|
+
right = framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol];
|
|
13088
|
+
}
|
|
13089
|
+
}
|
|
13090
|
+
/*
|
|
13091
|
+
known bug: events that are force to be list-item but span multiple days still take up space in later columns
|
|
13092
|
+
todo: in print view, for multi-day events, don't display title within non-start/end segs
|
|
13093
|
+
*/
|
|
13094
|
+
nodes.push(y("div", { className: 'fc-daygrid-event-harness' + (isAbsolute ? ' fc-daygrid-event-harness-abs' : ''), key: generateSegKey(seg), ref: isMirror ? null : this.segHarnessRefs.createRef(generateSegUid(seg)), style: {
|
|
13095
|
+
visibility: isVisible ? '' : 'hidden',
|
|
13096
|
+
marginTop: isAbsolute ? '' : placement.marginTop,
|
|
13097
|
+
top: isAbsolute ? placement.absoluteTop : '',
|
|
13098
|
+
left,
|
|
13099
|
+
right,
|
|
13100
|
+
} }, hasListItemDisplay(seg) ? (y(TableListItemEvent, Object.assign({ seg: seg, isDragging: isDragging, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange)))) : (y(TableBlockEvent, Object.assign({ seg: seg, isDragging: isDragging, isResizing: isResizing, isDateSelecting: isDateSelecting, isSelected: instanceId === eventSelection, defaultDisplayEventEnd: defaultDisplayEventEnd }, getSegMeta(seg, todayRange))))));
|
|
13101
|
+
}
|
|
13102
|
+
}
|
|
13103
|
+
return nodes;
|
|
13104
|
+
}
|
|
13105
|
+
renderFillSegs(segs, fillType) {
|
|
13106
|
+
let { isRtl } = this.context;
|
|
13107
|
+
let { todayRange } = this.props;
|
|
13108
|
+
let { framePositions } = this.state;
|
|
13109
|
+
let nodes = [];
|
|
13110
|
+
if (framePositions) {
|
|
13111
|
+
for (let seg of segs) {
|
|
13112
|
+
let leftRightCss = isRtl ? {
|
|
13113
|
+
right: 0,
|
|
13114
|
+
left: framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol],
|
|
13115
|
+
} : {
|
|
13116
|
+
left: 0,
|
|
13117
|
+
right: framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol],
|
|
13118
|
+
};
|
|
13119
|
+
nodes.push(y("div", { key: buildEventRangeKey(seg.eventRange), className: "fc-daygrid-bg-harness", style: leftRightCss }, fillType === 'bg-event' ?
|
|
13120
|
+
y(BgEvent, Object.assign({ seg: seg }, getSegMeta(seg, todayRange))) :
|
|
13121
|
+
renderFill(fillType)));
|
|
13122
|
+
}
|
|
13123
|
+
}
|
|
13124
|
+
return y(_, {}, ...nodes);
|
|
13125
|
+
}
|
|
13126
|
+
updateSizing(isExternalSizingChange) {
|
|
13127
|
+
let { props, state, frameElRefs } = this;
|
|
13128
|
+
if (!props.forPrint &&
|
|
13129
|
+
props.clientWidth !== null // positioning ready?
|
|
13130
|
+
) {
|
|
13131
|
+
if (isExternalSizingChange) {
|
|
13132
|
+
let frameEls = props.cells.map((cell) => frameElRefs.currentMap[cell.key]);
|
|
13133
|
+
if (frameEls.length) {
|
|
13134
|
+
let originEl = this.rootElRef.current;
|
|
13135
|
+
let newPositionCache = new PositionCache(originEl, frameEls, true, // isHorizontal
|
|
13136
|
+
false);
|
|
13137
|
+
if (!state.framePositions || !state.framePositions.similarTo(newPositionCache)) {
|
|
13138
|
+
this.setState({
|
|
13139
|
+
framePositions: new PositionCache(originEl, frameEls, true, // isHorizontal
|
|
13140
|
+
false),
|
|
13141
|
+
});
|
|
13142
|
+
}
|
|
13143
|
+
}
|
|
13144
|
+
}
|
|
13145
|
+
const oldSegHeights = this.state.segHeights;
|
|
13146
|
+
const newSegHeights = this.querySegHeights();
|
|
13147
|
+
const limitByContentHeight = props.dayMaxEvents === true || props.dayMaxEventRows === true;
|
|
13148
|
+
this.safeSetState({
|
|
13149
|
+
// HACK to prevent oscillations of events being shown/hidden from max-event-rows
|
|
13150
|
+
// Essentially, once you compute an element's height, never null-out.
|
|
13151
|
+
// TODO: always display all events, as visibility:hidden?
|
|
13152
|
+
segHeights: Object.assign(Object.assign({}, oldSegHeights), newSegHeights),
|
|
13153
|
+
maxContentHeight: limitByContentHeight ? this.computeMaxContentHeight() : null,
|
|
13154
|
+
});
|
|
13155
|
+
}
|
|
13156
|
+
}
|
|
13157
|
+
querySegHeights() {
|
|
13158
|
+
let segElMap = this.segHarnessRefs.currentMap;
|
|
13159
|
+
let segHeights = {};
|
|
13160
|
+
// get the max height amongst instance segs
|
|
13161
|
+
for (let segUid in segElMap) {
|
|
13162
|
+
let height = Math.round(segElMap[segUid].getBoundingClientRect().height);
|
|
13163
|
+
segHeights[segUid] = Math.max(segHeights[segUid] || 0, height);
|
|
13164
|
+
}
|
|
13165
|
+
return segHeights;
|
|
13166
|
+
}
|
|
13167
|
+
computeMaxContentHeight() {
|
|
13168
|
+
let firstKey = this.props.cells[0].key;
|
|
13169
|
+
let cellEl = this.cellElRefs.currentMap[firstKey];
|
|
13170
|
+
let fcContainerEl = this.fgElRefs.currentMap[firstKey];
|
|
13171
|
+
return cellEl.getBoundingClientRect().bottom - fcContainerEl.getBoundingClientRect().top;
|
|
13172
|
+
}
|
|
13173
|
+
getCellEls() {
|
|
13174
|
+
let elMap = this.cellElRefs.currentMap;
|
|
13175
|
+
return this.props.cells.map((cell) => elMap[cell.key]);
|
|
13176
|
+
}
|
|
13177
|
+
}
|
|
13178
|
+
TableRow.addStateEquality({
|
|
13179
|
+
segHeights: isPropsEqual,
|
|
13180
|
+
});
|
|
13181
|
+
function buildMirrorPlacements(mirrorSegs, colPlacements) {
|
|
13182
|
+
if (!mirrorSegs.length) {
|
|
13183
|
+
return [];
|
|
13184
|
+
}
|
|
13185
|
+
let topsByInstanceId = buildAbsoluteTopHash(colPlacements); // TODO: cache this at first render?
|
|
13186
|
+
return mirrorSegs.map((seg) => ({
|
|
13187
|
+
seg,
|
|
13188
|
+
isVisible: true,
|
|
13189
|
+
isAbsolute: true,
|
|
13190
|
+
absoluteTop: topsByInstanceId[seg.eventRange.instance.instanceId],
|
|
13191
|
+
marginTop: 0,
|
|
13192
|
+
}));
|
|
13193
|
+
}
|
|
13194
|
+
function buildAbsoluteTopHash(colPlacements) {
|
|
13195
|
+
let topsByInstanceId = {};
|
|
13196
|
+
for (let placements of colPlacements) {
|
|
13197
|
+
for (let placement of placements) {
|
|
13198
|
+
topsByInstanceId[placement.seg.eventRange.instance.instanceId] = placement.absoluteTop;
|
|
13199
|
+
}
|
|
13200
|
+
}
|
|
13201
|
+
return topsByInstanceId;
|
|
13202
|
+
}
|
|
13203
|
+
|
|
13204
|
+
class TableRows extends DateComponent {
|
|
13205
|
+
constructor() {
|
|
13206
|
+
super(...arguments);
|
|
13207
|
+
this.splitBusinessHourSegs = memoize(splitSegsByRow);
|
|
13208
|
+
this.splitBgEventSegs = memoize(splitSegsByRow);
|
|
13209
|
+
this.splitFgEventSegs = memoize(splitSegsByRow);
|
|
13210
|
+
this.splitDateSelectionSegs = memoize(splitSegsByRow);
|
|
13211
|
+
this.splitEventDrag = memoize(splitInteractionByRow);
|
|
13212
|
+
this.splitEventResize = memoize(splitInteractionByRow);
|
|
13213
|
+
this.rowRefs = new RefMap();
|
|
13214
|
+
}
|
|
13215
|
+
render() {
|
|
13216
|
+
let { props, context } = this;
|
|
13217
|
+
let rowCnt = props.cells.length;
|
|
13218
|
+
let businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, rowCnt);
|
|
13219
|
+
let bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, rowCnt);
|
|
13220
|
+
let fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, rowCnt);
|
|
13221
|
+
let dateSelectionSegsByRow = this.splitDateSelectionSegs(props.dateSelectionSegs, rowCnt);
|
|
13222
|
+
let eventDragByRow = this.splitEventDrag(props.eventDrag, rowCnt);
|
|
13223
|
+
let eventResizeByRow = this.splitEventResize(props.eventResize, rowCnt);
|
|
13224
|
+
// for DayGrid view with many rows, force a min-height on cells so doesn't appear squished
|
|
13225
|
+
// choose 7 because a month view will have max 6 rows
|
|
13226
|
+
let cellMinHeight = (rowCnt >= 7 && props.clientWidth) ?
|
|
13227
|
+
props.clientWidth / context.options.aspectRatio / 6 :
|
|
13228
|
+
null;
|
|
13229
|
+
return (y(NowTimer, { unit: "day" }, (nowDate, todayRange) => (y(_, null, props.cells.map((cells, row) => (y(TableRow, { ref: this.rowRefs.createRef(row), key: cells.length
|
|
13230
|
+
? cells[0].date.toISOString() /* best? or put key on cell? or use diff formatter? */
|
|
13231
|
+
: row // in case there are no cells (like when resource view is loading)
|
|
13232
|
+
, showDayNumbers: rowCnt > 1, showWeekNumbers: props.showWeekNumbers, todayRange: todayRange, dateProfile: props.dateProfile, cells: cells, renderIntro: props.renderRowIntro, businessHourSegs: businessHourSegsByRow[row], eventSelection: props.eventSelection, bgEventSegs: bgEventSegsByRow[row].filter(isSegAllDay) /* hack */, fgEventSegs: fgEventSegsByRow[row], dateSelectionSegs: dateSelectionSegsByRow[row], eventDrag: eventDragByRow[row], eventResize: eventResizeByRow[row], dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, clientWidth: props.clientWidth, clientHeight: props.clientHeight, cellMinHeight: cellMinHeight, forPrint: props.forPrint })))))));
|
|
13233
|
+
}
|
|
13234
|
+
componentDidMount() {
|
|
13235
|
+
this.registerInteractiveComponent();
|
|
13236
|
+
}
|
|
13237
|
+
componentDidUpdate() {
|
|
13238
|
+
// for if started with zero cells
|
|
13239
|
+
this.registerInteractiveComponent();
|
|
13240
|
+
}
|
|
13241
|
+
registerInteractiveComponent() {
|
|
13242
|
+
if (!this.rootEl) {
|
|
13243
|
+
// HACK: need a daygrid wrapper parent to do positioning
|
|
13244
|
+
// NOTE: a daygrid resource view w/o resources can have zero cells
|
|
13245
|
+
const firstCellEl = this.rowRefs.currentMap[0].getCellEls()[0];
|
|
13246
|
+
const rootEl = firstCellEl ? firstCellEl.closest('.fc-daygrid-body') : null;
|
|
13247
|
+
if (rootEl) {
|
|
13248
|
+
this.rootEl = rootEl;
|
|
13249
|
+
this.context.registerInteractiveComponent(this, {
|
|
13250
|
+
el: rootEl,
|
|
13251
|
+
isHitComboAllowed: this.props.isHitComboAllowed,
|
|
13252
|
+
});
|
|
13253
|
+
}
|
|
13254
|
+
}
|
|
13255
|
+
}
|
|
13256
|
+
componentWillUnmount() {
|
|
13257
|
+
if (this.rootEl) {
|
|
13258
|
+
this.context.unregisterInteractiveComponent(this);
|
|
13259
|
+
this.rootEl = null;
|
|
13260
|
+
}
|
|
13261
|
+
}
|
|
13262
|
+
// Hit System
|
|
13263
|
+
// ----------------------------------------------------------------------------------------------------
|
|
13264
|
+
prepareHits() {
|
|
13265
|
+
this.rowPositions = new PositionCache(this.rootEl, this.rowRefs.collect().map((rowObj) => rowObj.getCellEls()[0]), // first cell el in each row. TODO: not optimal
|
|
13266
|
+
false, true);
|
|
13267
|
+
this.colPositions = new PositionCache(this.rootEl, this.rowRefs.currentMap[0].getCellEls(), // cell els in first row
|
|
13268
|
+
true, // horizontal
|
|
13269
|
+
false);
|
|
13270
|
+
}
|
|
13271
|
+
queryHit(positionLeft, positionTop) {
|
|
13272
|
+
let { colPositions, rowPositions } = this;
|
|
13273
|
+
let col = colPositions.leftToIndex(positionLeft);
|
|
13274
|
+
let row = rowPositions.topToIndex(positionTop);
|
|
13275
|
+
if (row != null && col != null) {
|
|
13276
|
+
let cell = this.props.cells[row][col];
|
|
13277
|
+
return {
|
|
13278
|
+
dateProfile: this.props.dateProfile,
|
|
13279
|
+
dateSpan: Object.assign({ range: this.getCellRange(row, col), allDay: true }, cell.extraDateSpan),
|
|
13280
|
+
dayEl: this.getCellEl(row, col),
|
|
13281
|
+
rect: {
|
|
13282
|
+
left: colPositions.lefts[col],
|
|
13283
|
+
right: colPositions.rights[col],
|
|
13284
|
+
top: rowPositions.tops[row],
|
|
13285
|
+
bottom: rowPositions.bottoms[row],
|
|
13286
|
+
},
|
|
13287
|
+
layer: 0,
|
|
13288
|
+
};
|
|
13289
|
+
}
|
|
13290
|
+
return null;
|
|
13291
|
+
}
|
|
13292
|
+
getCellEl(row, col) {
|
|
13293
|
+
return this.rowRefs.currentMap[row].getCellEls()[col]; // TODO: not optimal
|
|
13294
|
+
}
|
|
13295
|
+
getCellRange(row, col) {
|
|
13296
|
+
let start = this.props.cells[row][col].date;
|
|
13297
|
+
let end = addDays(start, 1);
|
|
13298
|
+
return { start, end };
|
|
13299
|
+
}
|
|
13300
|
+
}
|
|
13301
|
+
function isSegAllDay(seg) {
|
|
13302
|
+
return seg.eventRange.def.allDay;
|
|
13303
|
+
}
|
|
13304
|
+
|
|
13305
|
+
class Table extends DateComponent {
|
|
13306
|
+
constructor() {
|
|
13307
|
+
super(...arguments);
|
|
13308
|
+
this.elRef = d();
|
|
13309
|
+
this.needsScrollReset = false;
|
|
13310
|
+
}
|
|
13311
|
+
render() {
|
|
13312
|
+
let { props } = this;
|
|
13313
|
+
let { dayMaxEventRows, dayMaxEvents, expandRows } = props;
|
|
13314
|
+
let limitViaBalanced = dayMaxEvents === true || dayMaxEventRows === true;
|
|
13315
|
+
// if rows can't expand to fill fixed height, can't do balanced-height event limit
|
|
13316
|
+
// TODO: best place to normalize these options?
|
|
13317
|
+
if (limitViaBalanced && !expandRows) {
|
|
13318
|
+
limitViaBalanced = false;
|
|
13319
|
+
dayMaxEventRows = null;
|
|
13320
|
+
dayMaxEvents = null;
|
|
13321
|
+
}
|
|
13322
|
+
let classNames = [
|
|
13323
|
+
'fc-daygrid-body',
|
|
13324
|
+
limitViaBalanced ? 'fc-daygrid-body-balanced' : 'fc-daygrid-body-unbalanced',
|
|
13325
|
+
expandRows ? '' : 'fc-daygrid-body-natural', // will height of one row depend on the others?
|
|
13326
|
+
];
|
|
13327
|
+
return (y("div", { ref: this.elRef, className: classNames.join(' '), style: {
|
|
13328
|
+
// these props are important to give this wrapper correct dimensions for interactions
|
|
13329
|
+
// TODO: if we set it here, can we avoid giving to inner tables?
|
|
13330
|
+
width: props.clientWidth,
|
|
13331
|
+
minWidth: props.tableMinWidth,
|
|
13332
|
+
} },
|
|
13333
|
+
y("table", { role: "presentation", className: "fc-scrollgrid-sync-table", style: {
|
|
13334
|
+
width: props.clientWidth,
|
|
13335
|
+
minWidth: props.tableMinWidth,
|
|
13336
|
+
height: expandRows ? props.clientHeight : '',
|
|
13337
|
+
} },
|
|
13338
|
+
props.colGroupNode,
|
|
13339
|
+
y("tbody", { role: "presentation" },
|
|
13340
|
+
y(TableRows, { dateProfile: props.dateProfile, cells: props.cells, renderRowIntro: props.renderRowIntro, showWeekNumbers: props.showWeekNumbers, clientWidth: props.clientWidth, clientHeight: props.clientHeight, businessHourSegs: props.businessHourSegs, bgEventSegs: props.bgEventSegs, fgEventSegs: props.fgEventSegs, dateSelectionSegs: props.dateSelectionSegs, eventSelection: props.eventSelection, eventDrag: props.eventDrag, eventResize: props.eventResize, dayMaxEvents: dayMaxEvents, dayMaxEventRows: dayMaxEventRows, forPrint: props.forPrint, isHitComboAllowed: props.isHitComboAllowed })))));
|
|
13341
|
+
}
|
|
13342
|
+
componentDidMount() {
|
|
13343
|
+
this.requestScrollReset();
|
|
13344
|
+
}
|
|
13345
|
+
componentDidUpdate(prevProps) {
|
|
13346
|
+
if (prevProps.dateProfile !== this.props.dateProfile) {
|
|
13347
|
+
this.requestScrollReset();
|
|
13348
|
+
}
|
|
13349
|
+
else {
|
|
13350
|
+
this.flushScrollReset();
|
|
13351
|
+
}
|
|
13352
|
+
}
|
|
13353
|
+
requestScrollReset() {
|
|
13354
|
+
this.needsScrollReset = true;
|
|
13355
|
+
this.flushScrollReset();
|
|
13356
|
+
}
|
|
13357
|
+
flushScrollReset() {
|
|
13358
|
+
if (this.needsScrollReset &&
|
|
13359
|
+
this.props.clientWidth // sizes computed?
|
|
13360
|
+
) {
|
|
13361
|
+
const subjectEl = getScrollSubjectEl(this.elRef.current, this.props.dateProfile);
|
|
13362
|
+
if (subjectEl) {
|
|
13363
|
+
const originEl = subjectEl.closest('.fc-daygrid-body');
|
|
13364
|
+
const scrollEl = originEl.closest('.fc-scroller');
|
|
13365
|
+
const scrollTop = subjectEl.getBoundingClientRect().top -
|
|
13366
|
+
originEl.getBoundingClientRect().top;
|
|
13367
|
+
scrollEl.scrollTop = scrollTop ? (scrollTop + 1) : 0; // overcome border
|
|
13368
|
+
}
|
|
13369
|
+
this.needsScrollReset = false;
|
|
13370
|
+
}
|
|
13371
|
+
}
|
|
13372
|
+
}
|
|
13373
|
+
function getScrollSubjectEl(containerEl, dateProfile) {
|
|
13374
|
+
let el;
|
|
13375
|
+
if (dateProfile.currentRangeUnit.match(/year|month/)) {
|
|
13376
|
+
el = containerEl.querySelector(`[data-date="${formatIsoMonthStr(dateProfile.currentDate)}-01"]`);
|
|
13377
|
+
// even if view is month-based, first-of-month might be hidden...
|
|
13378
|
+
}
|
|
13379
|
+
if (!el) {
|
|
13380
|
+
el = containerEl.querySelector(`[data-date="${formatDayString(dateProfile.currentDate)}"]`);
|
|
13381
|
+
// could still be hidden if an interior-view hidden day
|
|
13382
|
+
}
|
|
13383
|
+
return el;
|
|
13384
|
+
}
|
|
13385
|
+
|
|
13386
|
+
class DayTableSlicer extends Slicer {
|
|
13387
|
+
constructor() {
|
|
13388
|
+
super(...arguments);
|
|
13389
|
+
this.forceDayIfListItem = true;
|
|
13390
|
+
}
|
|
13391
|
+
sliceRange(dateRange, dayTableModel) {
|
|
13392
|
+
return dayTableModel.sliceRange(dateRange);
|
|
13393
|
+
}
|
|
13394
|
+
}
|
|
13395
|
+
|
|
13396
|
+
class DayTable extends DateComponent {
|
|
13397
|
+
constructor() {
|
|
13398
|
+
super(...arguments);
|
|
13399
|
+
this.slicer = new DayTableSlicer();
|
|
13400
|
+
this.tableRef = d();
|
|
13401
|
+
}
|
|
13402
|
+
render() {
|
|
13403
|
+
let { props, context } = this;
|
|
13404
|
+
return (y(Table, Object.assign({ ref: this.tableRef }, this.slicer.sliceProps(props, props.dateProfile, props.nextDayThreshold, context, props.dayTableModel), { dateProfile: props.dateProfile, cells: props.dayTableModel.cells, colGroupNode: props.colGroupNode, tableMinWidth: props.tableMinWidth, renderRowIntro: props.renderRowIntro, dayMaxEvents: props.dayMaxEvents, dayMaxEventRows: props.dayMaxEventRows, showWeekNumbers: props.showWeekNumbers, expandRows: props.expandRows, headerAlignElRef: props.headerAlignElRef, clientWidth: props.clientWidth, clientHeight: props.clientHeight, forPrint: props.forPrint })));
|
|
13405
|
+
}
|
|
13406
|
+
}
|
|
13407
|
+
|
|
13408
|
+
var css_248z$1 = ":root{--fc-daygrid-event-dot-width:8px}.fc-daygrid-day-events:after,.fc-daygrid-day-events:before,.fc-daygrid-day-frame:after,.fc-daygrid-day-frame:before,.fc-daygrid-event-harness:after,.fc-daygrid-event-harness:before{clear:both;content:\"\";display:table}.fc .fc-daygrid-body{position:relative;z-index:1}.fc .fc-daygrid-day.fc-day-today{background-color:var(--fc-today-bg-color)}.fc .fc-daygrid-day-frame{min-height:100%;position:relative}.fc .fc-daygrid-day-top{display:flex;flex-direction:row-reverse}.fc .fc-day-other .fc-daygrid-day-top{opacity:.3}.fc .fc-daygrid-day-number{padding:4px;position:relative;z-index:4}.fc .fc-daygrid-month-start{font-size:1.1em;font-weight:700}.fc .fc-daygrid-day-events{margin-top:1px}.fc .fc-daygrid-body-balanced .fc-daygrid-day-events{left:0;position:absolute;right:0}.fc .fc-daygrid-body-unbalanced .fc-daygrid-day-events{min-height:2em;position:relative}.fc .fc-daygrid-body-natural .fc-daygrid-day-events{margin-bottom:1em}.fc .fc-daygrid-event-harness{position:relative}.fc .fc-daygrid-event-harness-abs{left:0;position:absolute;right:0;top:0}.fc .fc-daygrid-bg-harness{bottom:0;position:absolute;top:0}.fc .fc-daygrid-day-bg .fc-non-business{z-index:1}.fc .fc-daygrid-day-bg .fc-bg-event{z-index:2}.fc .fc-daygrid-day-bg .fc-highlight{z-index:3}.fc .fc-daygrid-event{margin-top:1px;z-index:6}.fc .fc-daygrid-event.fc-event-mirror{z-index:7}.fc .fc-daygrid-day-bottom{font-size:.85em;margin:0 2px}.fc .fc-daygrid-day-bottom:after,.fc .fc-daygrid-day-bottom:before{clear:both;content:\"\";display:table}.fc .fc-daygrid-more-link{border-radius:3px;cursor:pointer;line-height:1;margin-top:1px;max-width:100%;overflow:hidden;padding:2px;position:relative;white-space:nowrap;z-index:4}.fc .fc-daygrid-more-link:hover{background-color:rgba(0,0,0,.1)}.fc .fc-daygrid-week-number{background-color:var(--fc-neutral-bg-color);color:var(--fc-neutral-text-color);min-width:1.5em;padding:2px;position:absolute;text-align:center;top:0;z-index:5}.fc .fc-more-popover .fc-popover-body{min-width:220px;padding:10px}.fc-direction-ltr .fc-daygrid-event.fc-event-start,.fc-direction-rtl .fc-daygrid-event.fc-event-end{margin-left:2px}.fc-direction-ltr .fc-daygrid-event.fc-event-end,.fc-direction-rtl .fc-daygrid-event.fc-event-start{margin-right:2px}.fc-direction-ltr .fc-daygrid-more-link{float:left}.fc-direction-ltr .fc-daygrid-week-number{border-radius:0 0 3px 0;left:0}.fc-direction-rtl .fc-daygrid-more-link{float:right}.fc-direction-rtl .fc-daygrid-week-number{border-radius:0 0 0 3px;right:0}.fc-liquid-hack .fc-daygrid-day-frame{position:static}.fc-daygrid-event{border-radius:3px;font-size:var(--fc-small-font-size);position:relative;white-space:nowrap}.fc-daygrid-block-event .fc-event-time{font-weight:700}.fc-daygrid-block-event .fc-event-time,.fc-daygrid-block-event .fc-event-title{padding:1px}.fc-daygrid-dot-event{align-items:center;display:flex;padding:2px 0}.fc-daygrid-dot-event .fc-event-title{flex-grow:1;flex-shrink:1;font-weight:700;min-width:0;overflow:hidden}.fc-daygrid-dot-event.fc-event-mirror,.fc-daygrid-dot-event:hover{background:rgba(0,0,0,.1)}.fc-daygrid-dot-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-daygrid-event-dot{border:calc(var(--fc-daygrid-event-dot-width)/2) solid var(--fc-event-border-color);border-radius:calc(var(--fc-daygrid-event-dot-width)/2);box-sizing:content-box;height:0;margin:0 4px;width:0}.fc-direction-ltr .fc-daygrid-event .fc-event-time{margin-right:3px}.fc-direction-rtl .fc-daygrid-event .fc-event-time{margin-left:3px}";
|
|
13409
|
+
injectStyles(css_248z$1);
|
|
13410
|
+
|
|
12573
13411
|
class AllDaySplitter extends Splitter {
|
|
12574
13412
|
getKeyInfo() {
|
|
12575
13413
|
return {
|
|
@@ -13958,7 +14796,7 @@ class KupCalendarState {
|
|
|
13958
14796
|
}
|
|
13959
14797
|
}
|
|
13960
14798
|
|
|
13961
|
-
const kupCalendarCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:var(--kup-label-01-font-size, 12px);line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-heading-compact-01-font-size, 14px);line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:var(--kup-heading-01-font-size, 14px);line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_calendar_background_color:var(\n --kup-calendar-background-color,\n var(--kup-layer-1)\n );--kup_calendar_border_color:var(\n --kup-calendar-border-color,\n var(--kup-border-subtle)\n );--kup_calendar_event_background_color:var(\n --kup-calendar-event-background-color,\n var(--kup-gray-color-30)\n );--kup_calendar_event_border_radius:var(\n --kup-calendar-event-border-radius,\n 4px\n );--kup_calendar_event_color:var(\n --kup-calendar-event-color,\n var(--kup-text-secondary)\n );--kup_calendar_font_family:var(\n --kup-calendar-font-family,\n var(--kup-font-family)\n );--kup_calendar_font_size:var(--kup-calendar-font-size, var(--kup-font-size));--kup_calendar_header_background_color:var(\n --kup-calendar-header-background-color,\n var(--kup-layer-2)\n );--kup_calendar_header_color:var(\n --kup-calendar-header-color,\n var(--kup-text-secondary)\n );--kup_calendar_navigator_border:var(\n --kup-calendar-navigator-border,\n 1px solid var(--kup-border-subtle)\n );--kup_calendar_no_work_day_background_color:var(\n --kup-calendar-no-work-day-background-color,\n var(--kup-layer-0)\n );--kup_calendar_no_work_day_color:var(\n --kup-calendar-no-work-day-color,\n var(--kup-text-secondary)\n );--kup_calendar_today_background_color:var(\n --kup-calendar-today-background-color,\n var(--kup-layer-2)\n );--kup_calendar_border_top_color:var(\n --kup-calendar-border-top-color,\n var(--kup-border-interactive)\n );--fc-border-color:var(--kup_calendar_border_color);background-color:var(--kup_calendar_background_color);display:block;font-family:var(--kup_calendar_font_family);font-size:var(--kup_calendar_font_size);height:100%;width:100%}.navigation{align-items:center;display:flex;justify-content:space-between;background-color:var(--kup_calendar_background_color)}.navigation__left{--kup-font-size:0.875em;display:flex;margin-left:var(--kup-space-03)}.navigation__right{display:flex;margin-right:var(--kup-space-03)}.navigation__title{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0;margin:0px;padding:0px 0.5em}.navigation__title--centered{padding:0.35em 0;text-align:center;width:100%}.icon-wrapper{display:flex;justify-content:flex-end;flex-wrap:wrap}.image-wrapper{display:flex;justify-content:space-between;flex-wrap:wrap}.image-wrapper img{width:20px;height:20px}.custom-icon{background-color:var(--kup_calendar_event_color);height:1.5em;width:1.5em}#kup-component .fc-toolbar.fc-header-toolbar{margin-top:1.5rem}#kup-component .fc-ltr .fc-dayGrid-view .fc-day-top{text-align:center;padding:0.5rem}#kup-component .fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:none}#kup-component .fc-content{padding:0.25rem}#kup-component .fc-event-title{white-space:normal;word-break:break-word}#kup-component .fc-content,#kup-component .fc-divider,#kup-component .fc-list-heading td,#kup-component .fc-list-view,#kup-component .fc-popover,#kup-component .fc-row,#kup-component .fc-scrollgrid,#kup-component tbody,#kup-component td{border-color:var(--kup_calendar_border_color)}#kup-component .fc-col-header-cell{background:var(--kup_calendar_header_background_color);color:var(--kup_calendar_header_color)}#kup-component .fc-h-event{background:none;border:none}#kup-component .fc-list-event-dot{border-color:var(--kup_calendar_event_background_color)}#kup-component .fc-list-day-cushion{background:var(--kup_calendar_header_background_color);color:var(--kup_calendar_header_color);font-family:var(--kup-font-family);font-size:var(--kup-heading-01-font-size, 14px);line-height:20px;font-weight:600;letter-spacing:0.16px}#kup-component .fc-list-event:hover td{background:var(--kup-hover-background-color);color:var(--kup-hover-color)}#kup-component .fc-daygrid-event,#kup-component .fc-timegrid-event{background:var(--kup_calendar_event_background_color);border:none;border-color:var(--kup_calendar_event_background_color);color:var(--kup_calendar_event_color)}#kup-component .fc-event{padding:0.5rem}#kup-component .fc-event-main{color:inherit;display:flex}#kup-component .fc-event-title .fc-event-time{padding:0.25em}#kup-component .fc-event-time{white-space:pre}#kup-component td.fc-day-today{background-color:var(--kup_calendar_today_background_color);border-top:2px solid var(--kup_calendar_border_top_color)}#kup-component td.fc-day-sun,#kup-component td.fc-day-sat{background-color:var(--kup_calendar_no_work_day_background_color);color:var(--kup_calendar_no_work_day_color);opacity:0.7}@media (max-width: 599px){.navigation{flex-direction:column}.calendar{height:100%}.calendar .fc-view-harness{min-height:450px}.navigation .navigation__left{font-size:20px;gap:8px}.navigation .navigation__right .f-chip .chip-set .chip-set__item{font-size:16px}}@media (min-width: 599px){#kup-component .fc-daygrid-event{align-items:baseline;white-space:pre-line}}";
|
|
14799
|
+
const kupCalendarCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:var(--kup-label-01-font-size, 12px);line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-heading-compact-01-font-size, 14px);line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:var(--kup-heading-01-font-size, 14px);line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}:host{--kup_calendar_background_color:var(\n --kup-calendar-background-color,\n var(--kup-layer-1)\n );--kup_calendar_border_color:var(\n --kup-calendar-border-color,\n var(--kup-border-subtle)\n );--kup_calendar_event_background_color:var(\n --kup-calendar-event-background-color,\n var(--kup-gray-color-30)\n );--kup_calendar_event_border_radius:var(\n --kup-calendar-event-border-radius,\n 4px\n );--kup_calendar_event_color:var(\n --kup-calendar-event-color,\n var(--kup-text-secondary)\n );--kup_calendar_font_family:var(\n --kup-calendar-font-family,\n var(--kup-font-family)\n );--kup_calendar_font_size:var(--kup-calendar-font-size, var(--kup-font-size));--kup_calendar_header_background_color:var(\n --kup-calendar-header-background-color,\n var(--kup-layer-2)\n );--kup_calendar_header_color:var(\n --kup-calendar-header-color,\n var(--kup-text-secondary)\n );--kup_calendar_navigator_border:var(\n --kup-calendar-navigator-border,\n 1px solid var(--kup-border-subtle)\n );--kup_calendar_no_work_day_background_color:var(\n --kup-calendar-no-work-day-background-color,\n var(--kup-layer-0)\n );--kup_calendar_no_work_day_color:var(\n --kup-calendar-no-work-day-color,\n var(--kup-text-secondary)\n );--kup_calendar_today_background_color:var(\n --kup-calendar-today-background-color,\n var(--kup-layer-2)\n );--kup_calendar_border_top_color:var(\n --kup-calendar-border-top-color,\n var(--kup-border-interactive)\n );--fc-border-color:var(--kup_calendar_border_color);background-color:var(--kup_calendar_background_color);display:block;font-family:var(--kup_calendar_font_family);font-size:var(--kup_calendar_font_size);height:100%;width:100%}.navigation{align-items:center;display:flex;justify-content:space-between;background-color:var(--kup_calendar_background_color)}.navigation__left{--kup-font-size:0.875em;display:flex;margin-left:var(--kup-space-03)}.navigation__right{display:flex;margin-right:var(--kup-space-03)}.navigation__title{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0;margin:0px;padding:0px 0.5em}.navigation__title--centered{padding:0.35em 0;text-align:center;width:100%}.icon-wrapper{display:flex;justify-content:flex-end;flex-wrap:wrap}.image-wrapper{display:flex;justify-content:space-between;flex-wrap:wrap}.image-wrapper img{width:20px;height:20px}.custom-icon{background-color:var(--kup_calendar_event_color);height:1.5em;width:1.5em}#kup-component .fc-toolbar.fc-header-toolbar{margin-top:1.5rem}#kup-component .fc-ltr .fc-dayGrid-view .fc-day-top{text-align:center;padding:0.5rem}#kup-component .fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:none}#kup-component .fc-content{padding:0.25rem}#kup-component .fc-event-title{white-space:normal;word-break:break-word}#kup-component .fc-content,#kup-component .fc-divider,#kup-component .fc-list-heading td,#kup-component .fc-list-view,#kup-component .fc-popover,#kup-component .fc-row,#kup-component .fc-scrollgrid,#kup-component tbody,#kup-component td{border-color:var(--kup_calendar_border_color)}#kup-component .fc-col-header-cell{background:var(--kup_calendar_header_background_color);color:var(--kup_calendar_header_color)}#kup-component .fc-h-event{background:none;border:none}#kup-component .fc-list-event-dot{border-color:var(--kup_calendar_event_background_color)}#kup-component .fc-list-day-cushion{background:var(--kup_calendar_header_background_color);color:var(--kup_calendar_header_color);font-family:var(--kup-font-family);font-size:var(--kup-heading-01-font-size, 14px);line-height:20px;font-weight:600;letter-spacing:0.16px}#kup-component .fc-list-event:hover td{background:var(--kup-hover-background-color);color:var(--kup-hover-color)}#kup-component .fc-daygrid-event,#kup-component .fc-timegrid-event{background:var(--kup_calendar_event_background_color);border:none;border-color:var(--kup_calendar_event_background_color);color:var(--kup_calendar_event_color)}#kup-component .fc-event{padding:0.5rem}#kup-component .fc-event-main{color:inherit;display:flex}#kup-component .fc-event-title .fc-event-time{padding:0.25em}#kup-component .fc-event-time{white-space:pre}#kup-component td.fc-day-today{background-color:var(--kup_calendar_today_background_color);border-top:2px solid var(--kup_calendar_border_top_color)}#kup-component td.fc-day-sun,#kup-component td.fc-day-sat{background-color:var(--kup_calendar_no_work_day_background_color);color:var(--kup_calendar_no_work_day_color);opacity:0.7}@media (max-width: 599px){.navigation{flex-direction:column}.calendar{height:100%}.calendar .fc-view-harness{min-height:450px}.fc-event{display:flex;flex-direction:column;padding:0.2rem;gap:var(--kup-space-03)}.fc-event .fc-event-main{display:flex;flex-direction:column}.fc-event .fc-daygrid-event-dot{display:none}.navigation .navigation__left{font-size:20px;gap:8px}.navigation .navigation__right .f-chip .chip-set .chip-set__item{font-size:16px}}@media (min-width: 599px){#kup-component .fc-daygrid-event{align-items:baseline;white-space:pre-line}}";
|
|
13962
14800
|
const KupCalendarStyle0 = kupCalendarCss;
|
|
13963
14801
|
|
|
13964
14802
|
const KupCalendar$1 = /*@__PURE__*/ proxyCustomElement(class KupCalendar extends H$2 {
|