@forcecalendar/interface 1.0.52 → 1.0.53
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/force-calendar-interface.esm.js +9 -3
- package/dist/force-calendar-interface.esm.js.map +1 -1
- package/dist/force-calendar-interface.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/renderers/BaseViewRenderer.js +3 -1
- package/src/renderers/DayViewRenderer.js +10 -2
- package/src/renderers/WeekViewRenderer.js +10 -2
package/package.json
CHANGED
|
@@ -179,7 +179,9 @@ export class BaseViewRenderer {
|
|
|
179
179
|
});
|
|
180
180
|
|
|
181
181
|
// Sort by start time, then by longer duration first
|
|
182
|
-
entries.sort(
|
|
182
|
+
entries.sort(
|
|
183
|
+
(a, b) => a.startMin - b.startMin || b.endMin - b.startMin - (a.endMin - a.startMin)
|
|
184
|
+
);
|
|
183
185
|
|
|
184
186
|
// Assign columns greedily
|
|
185
187
|
const columns = []; // each column tracks the end time of its last event
|
|
@@ -173,7 +173,11 @@ export class DayViewRenderer extends BaseViewRenderer {
|
|
|
173
173
|
<!-- Timed events -->
|
|
174
174
|
${(() => {
|
|
175
175
|
const layout = this.computeOverlapLayout(timedEvents);
|
|
176
|
-
return timedEvents
|
|
176
|
+
return timedEvents
|
|
177
|
+
.map(evt =>
|
|
178
|
+
this.renderTimedEvent(evt, { compact: false, overlapLayout: layout })
|
|
179
|
+
)
|
|
180
|
+
.join('');
|
|
177
181
|
})()}
|
|
178
182
|
</div>
|
|
179
183
|
`;
|
|
@@ -188,7 +192,11 @@ export class DayViewRenderer extends BaseViewRenderer {
|
|
|
188
192
|
const date = new Date(dayEl.dataset.date);
|
|
189
193
|
const scrollContainer = this.container.querySelector('#day-scroll-container');
|
|
190
194
|
const gridTop = dayEl.offsetTop;
|
|
191
|
-
const y =
|
|
195
|
+
const y =
|
|
196
|
+
e.clientY -
|
|
197
|
+
dayEl.getBoundingClientRect().top +
|
|
198
|
+
(scrollContainer ? scrollContainer.scrollTop : 0) -
|
|
199
|
+
gridTop;
|
|
192
200
|
|
|
193
201
|
// Calculate time from click position within the 1440px time grid
|
|
194
202
|
const clampedY = Math.max(0, Math.min(y + gridTop, this.totalHeight));
|
|
@@ -152,7 +152,11 @@ export class WeekViewRenderer extends BaseViewRenderer {
|
|
|
152
152
|
<!-- Timed events -->
|
|
153
153
|
${(() => {
|
|
154
154
|
const layout = this.computeOverlapLayout(day.timedEvents);
|
|
155
|
-
return day.timedEvents
|
|
155
|
+
return day.timedEvents
|
|
156
|
+
.map(evt =>
|
|
157
|
+
this.renderTimedEvent(evt, { compact: true, overlapLayout: layout })
|
|
158
|
+
)
|
|
159
|
+
.join('');
|
|
156
160
|
})()}
|
|
157
161
|
</div>
|
|
158
162
|
`;
|
|
@@ -167,7 +171,11 @@ export class WeekViewRenderer extends BaseViewRenderer {
|
|
|
167
171
|
const date = new Date(dayEl.dataset.date);
|
|
168
172
|
const scrollContainer = this.container.querySelector('#week-scroll-container');
|
|
169
173
|
const gridTop = dayEl.offsetTop;
|
|
170
|
-
const y =
|
|
174
|
+
const y =
|
|
175
|
+
e.clientY -
|
|
176
|
+
dayEl.getBoundingClientRect().top +
|
|
177
|
+
(scrollContainer ? scrollContainer.scrollTop : 0) -
|
|
178
|
+
gridTop;
|
|
171
179
|
|
|
172
180
|
// Calculate time from click position within the 1440px time grid
|
|
173
181
|
const clampedY = Math.max(0, Math.min(y + gridTop, this.totalHeight));
|