@fullcalendar/timeline 7.0.0-beta.0 → 7.0.0-beta.3

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/internal.d.ts CHANGED
@@ -1,11 +1,10 @@
1
- import { DateComponent, ViewProps, Hit, DateRange, DateMarker, DateProfile, DateEnv, BaseOptionsRefined, DateProfileGenerator, Seg, Slicer, EventStore, EventUiHash, DateSpan, EventInteractionState, BaseComponent, SegGroup, SegSpan } from '@fullcalendar/core/internal';
1
+ import { DateComponent, ViewProps, Hit, DateRange, DateMarker, DateProfile, DateEnv, BaseOptionsRefined, DateProfileGenerator, Slicer, CoordRange, EventStore, EventUiHash, DateSpan, EventInteractionState, BaseComponent, EventRangeProps, CoordSpan, SegGroup } from '@fullcalendar/core/internal';
2
2
  import { createElement, Ref } from '@fullcalendar/core/preact';
3
- import { Duration, CssDimValue } from '@fullcalendar/core';
3
+ import { Duration } from '@fullcalendar/core';
4
4
 
5
5
  interface TimelineViewState {
6
- scrollerWidth?: number;
7
- leftScrollbarWidth?: number;
8
- rightScrollbarWidth?: number;
6
+ clientWidth?: number;
7
+ endScrollbarWidth?: number;
9
8
  slotInnerWidth?: number;
10
9
  }
11
10
  declare class TimelineView extends DateComponent<ViewProps, TimelineViewState> {
@@ -17,21 +16,23 @@ declare class TimelineView extends DateComponent<ViewProps, TimelineViewState> {
17
16
  private tDateProfile?;
18
17
  private bodyEl?;
19
18
  private slotWidth?;
20
- private headerSlotInnerWidth?;
19
+ private headerRowInnerWidthMap;
21
20
  private bodySlotInnerWidth?;
22
21
  private syncedScroller;
22
+ private scrollTime;
23
23
  render(): createElement.JSX.Element;
24
24
  componentDidMount(): void;
25
25
  componentDidUpdate(prevProps: ViewProps): void;
26
26
  componentWillUnmount(): void;
27
- handleHeaderSlotInnerWidth: (innerWidth: number) => void;
28
27
  handleBodySlotInnerWidth: (innerWidth: number) => void;
29
28
  handleSlotInnerWidths: () => void;
30
- handleScrollerWidth: (scrollerWidth: number) => void;
31
- handleLeftScrollbarWidth: (leftScrollbarWidth: number) => void;
32
- handleRightScrollbarWidth: (rightScrollbarWidth: number) => void;
33
- updateSyncedScroller(): void;
34
- private timeScrollResponder;
29
+ handleClientWidth: (clientWidth: number) => void;
30
+ handleEndScrollbarWidth: (endScrollbarWidth: number) => void;
31
+ private updateSyncedScroller;
32
+ private resetScroll;
33
+ private handleTimeScroll;
34
+ private updateScroll;
35
+ private clearScroll;
35
36
  handeBodyEl: (el: HTMLElement | null) => void;
36
37
  queryHit(positionLeft: number, positionTop: number, elWidth: number, elHeight: number): Hit;
37
38
  }
@@ -65,22 +66,20 @@ interface TimelineHeaderCellData {
65
66
  }
66
67
  declare function buildTimelineDateProfile(dateProfile: DateProfile, dateEnv: DateEnv, allOptions: BaseOptionsRefined, dateProfileGenerator: DateProfileGenerator): TimelineDateProfile;
67
68
 
68
- interface TimelineLaneSeg extends Seg {
69
- start: DateMarker;
70
- end: DateMarker;
71
- }
72
- declare class TimelineLaneSlicer extends Slicer<TimelineLaneSeg, [
69
+ interface TimelineRange {
70
+ startDate: DateMarker;
71
+ endDate: DateMarker;
72
+ isStart: boolean;
73
+ isEnd: boolean;
74
+ }
75
+ type TimelineCoordRange = TimelineRange & CoordRange;
76
+ declare class TimelineLaneSlicer extends Slicer<TimelineRange, [
73
77
  DateProfile,
74
78
  DateProfileGenerator,
75
79
  TimelineDateProfile,
76
80
  DateEnv
77
81
  ]> {
78
- sliceRange(origRange: DateRange, dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator, tDateProfile: TimelineDateProfile, dateEnv: DateEnv): TimelineLaneSeg[];
79
- }
80
-
81
- interface TimelineSegHorizontals {
82
- start: number;
83
- size: number;
82
+ sliceRange(origRange: DateRange, dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator, tDateProfile: TimelineDateProfile, dateEnv: DateEnv): TimelineRange[];
84
83
  }
85
84
 
86
85
  interface TimelineLaneProps {
@@ -109,15 +108,11 @@ declare class TimelineLane extends BaseComponent<TimelineLaneProps, TimelineLane
109
108
  private moreLinkHeightRefMap;
110
109
  private slicer;
111
110
  render(): createElement.JSX.Element;
112
- renderFgSegs(segs: TimelineLaneSeg[], segHorizontals: {
113
- [instanceId: string]: TimelineSegHorizontals;
114
- }, segTops: {
115
- [instanceId: string]: number;
116
- }, forcedInvisibleMap: {
111
+ renderFgSegs(segs: (TimelineRange & EventRangeProps)[], segHorizontals: {
112
+ [instanceId: string]: CoordSpan;
113
+ }, segTops: Map<string, number>, forcedInvisibleMap: {
117
114
  [instanceId: string]: any;
118
- }, hiddenGroups: SegGroup[], hiddenGroupTops: {
119
- [key: string]: number;
120
- }, isDragging: boolean, isResizing: boolean, isDateSelecting: boolean): createElement.JSX.Element;
115
+ }, hiddenGroups: SegGroup<TimelineCoordRange>[], hiddenGroupTops: Map<string, number>, isDragging: boolean, isResizing: boolean, isDateSelecting: boolean): createElement.JSX.Element;
121
116
  private handleMoreLinkHeights;
122
117
  private handleSegHeights;
123
118
  }
@@ -126,15 +121,15 @@ interface TimelineLaneBgProps {
126
121
  tDateProfile: TimelineDateProfile;
127
122
  nowDate: DateMarker;
128
123
  todayRange: DateRange;
129
- bgEventSegs: TimelineLaneSeg[] | null;
130
- businessHourSegs: TimelineLaneSeg[] | null;
131
- dateSelectionSegs: TimelineLaneSeg[];
132
- eventResizeSegs: TimelineLaneSeg[];
124
+ bgEventSegs: (TimelineRange & EventRangeProps)[] | null;
125
+ businessHourSegs: (TimelineRange & EventRangeProps)[] | null;
126
+ dateSelectionSegs: (TimelineRange & EventRangeProps)[];
127
+ eventResizeSegs: (TimelineRange & EventRangeProps)[];
133
128
  slotWidth: number | undefined;
134
129
  }
135
130
  declare class TimelineLaneBg extends BaseComponent<TimelineLaneBgProps> {
136
131
  render(): createElement.JSX.Element;
137
- renderSegs(segs: TimelineLaneSeg[], fillType: string): createElement.JSX.Element;
132
+ renderSegs(segs: (TimelineRange & EventRangeProps)[], fillType: string): createElement.JSX.Element;
138
133
  }
139
134
 
140
135
  interface TimelineSlatsProps {
@@ -142,6 +137,7 @@ interface TimelineSlatsProps {
142
137
  tDateProfile: TimelineDateProfile;
143
138
  nowDate: DateMarker;
144
139
  todayRange: DateRange;
140
+ height?: number;
145
141
  slotWidth: number | undefined;
146
142
  innerWidthRef?: Ref<number>;
147
143
  }
@@ -151,21 +147,12 @@ declare class TimelineSlats extends BaseComponent<TimelineSlatsProps> {
151
147
  handleInnerWidths: () => void;
152
148
  }
153
149
 
154
- interface CoordRange {
155
- start: number;
156
- size: number;
157
- }
158
- declare function createVerticalStyle(props: {
159
- start: number;
160
- size: number;
161
- } | undefined): {
150
+ declare function createVerticalStyle(props: CoordSpan | undefined): {
162
151
  top: number;
163
152
  height: number;
164
153
  } | undefined;
165
- declare function createHorizontalStyle(props: {
166
- start: number;
167
- size: number;
168
- } | undefined, isRtl: boolean): {
154
+ declare function createHorizontalStyle(// TODO: DRY up?
155
+ props: CoordSpan | undefined, isRtl: boolean): {
169
156
  left: number;
170
157
  width: number;
171
158
  } | {
@@ -180,15 +167,6 @@ declare function computeSlotWidth(slatCnt: number, slatsPerLabel: number, slatMi
180
167
  declare function timeToCoord(// pixels
181
168
  time: Duration, dateEnv: DateEnv, dateProfile: DateProfile, tDateProfile: TimelineDateProfile, slowWidth: number): number;
182
169
 
183
- declare function coordToCss(hcoord: number | null, isRtl: boolean): {
184
- left: CssDimValue;
185
- right: CssDimValue;
186
- };
187
- declare function coordsToCss(hcoords: SegSpan | null, isRtl: boolean): {
188
- left: CssDimValue;
189
- right: CssDimValue;
190
- };
191
-
192
170
  interface TimelineHeaderRowProps {
193
171
  dateProfile: DateProfile;
194
172
  tDateProfile: TimelineDateProfile;
@@ -200,7 +178,6 @@ interface TimelineHeaderRowProps {
200
178
  innerHeighRef?: Ref<number>;
201
179
  innerWidthRef?: Ref<number>;
202
180
  slotWidth: number | undefined;
203
- height?: number;
204
181
  }
205
182
  declare class TimelineHeaderRow extends BaseComponent<TimelineHeaderRowProps> {
206
183
  private innerWidthRefMap;
@@ -208,6 +185,7 @@ declare class TimelineHeaderRow extends BaseComponent<TimelineHeaderRowProps> {
208
185
  render(): createElement.JSX.Element;
209
186
  handleInnerWidths: () => void;
210
187
  handleInnerHeights: () => void;
188
+ componentWillUnmount(): void;
211
189
  }
212
190
 
213
191
  interface TimelineNowIndicatorArrowProps {
@@ -228,4 +206,4 @@ declare class TimelineNowIndicatorLine extends BaseComponent<TimelineNowIndicato
228
206
  render(): createElement.JSX.Element;
229
207
  }
230
208
 
231
- export { CoordRange, TimelineDateProfile, TimelineHeaderRow, TimelineLane, TimelineLaneBg, TimelineLaneProps, TimelineLaneSeg, TimelineLaneSlicer, TimelineNowIndicatorArrow, TimelineNowIndicatorLine, TimelineSlats, TimelineView, buildTimelineDateProfile, computeSlotWidth, coordToCss, coordsToCss, createHorizontalStyle, createVerticalStyle, timeToCoord };
209
+ export { TimelineDateProfile, TimelineHeaderRow, TimelineLane, TimelineLaneBg, TimelineLaneProps, TimelineLaneSlicer, TimelineNowIndicatorArrow, TimelineNowIndicatorLine, TimelineRange, TimelineSlats, TimelineView, buildTimelineDateProfile, computeSlotWidth, createHorizontalStyle, createVerticalStyle, timeToCoord };