@ibiz-template/vue3-components 0.7.26-alpha.0 → 0.7.26-alpha.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/{index-_h-elF6t.js → index-8tGeBxpc.js} +1 -1
- package/dist/{index--XeT2CTZ.js → index-CDgQJyai.js} +1 -1
- package/dist/index-o58Mv9D4.js +4 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{xlsx-util-W01Wk5pi.js → xlsx-util-Ux1_tuw5.js} +1 -1
- package/es/_virtual/localeData.mjs +3 -0
- package/es/control/calendar/calendar.css +1 -1
- package/es/control/calendar/calendar.d.ts +2 -3
- package/es/control/calendar/calendar.mjs +104 -173
- package/es/control/calendar/components/calendar-daily/calendar-daily.css +1 -0
- package/es/control/calendar/components/calendar-daily/calendar-daily.d.ts +18 -0
- package/es/control/calendar/components/calendar-daily/calendar-daily.mjs +175 -0
- package/es/control/calendar/components/calendar-daily/index.d.ts +18 -0
- package/es/control/calendar/components/calendar-daily/index.mjs +9 -0
- package/es/control/calendar/components/calendar-daily/use-calendar-daily.d.ts +154 -0
- package/es/control/calendar/components/calendar-daily/use-calendar-daily.mjs +196 -0
- package/es/control/calendar/components/calendar-month/calendar-month.css +1 -0
- package/es/control/calendar/components/calendar-month/calendar-month.d.ts +18 -0
- package/es/control/calendar/components/calendar-month/calendar-month.mjs +242 -0
- package/es/control/calendar/components/calendar-month/index.d.ts +18 -0
- package/es/control/calendar/components/calendar-month/index.mjs +9 -0
- package/es/control/calendar/components/calendar-month/use-calendar-month.d.ts +3 -0
- package/es/control/calendar/components/calendar-month/use-calendar-month.mjs +384 -0
- package/es/control/calendar/components/calendar-week/calendar-week.css +1 -0
- package/es/control/calendar/components/calendar-week/calendar-week.d.ts +18 -0
- package/es/control/calendar/components/calendar-week/calendar-week.mjs +241 -0
- package/es/control/calendar/components/calendar-week/index.d.ts +18 -0
- package/es/control/calendar/components/calendar-week/index.mjs +9 -0
- package/es/control/calendar/components/calendar-week/use-calendar-week.d.ts +159 -0
- package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +399 -0
- package/es/control/calendar/components/constant/event.d.ts +5 -0
- package/es/control/calendar/components/constant/event.mjs +8 -0
- package/es/control/calendar/components/constant/index.d.ts +1 -0
- package/es/control/calendar/components/constant/index.mjs +3 -0
- package/es/control/calendar/components/custom-calendar/custom-calendar.css +1 -0
- package/es/control/calendar/components/custom-calendar/custom-calendar.d.ts +24 -0
- package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +283 -0
- package/es/control/calendar/components/custom-calendar/index.d.ts +24 -0
- package/es/control/calendar/components/custom-calendar/index.mjs +12 -0
- package/es/control/calendar/components/custom-calendar/use-custom-calendar.d.ts +3 -0
- package/es/control/calendar/components/custom-calendar/use-custom-calendar.mjs +264 -0
- package/es/control/calendar/components/interface/calendar-daily.d.ts +12 -0
- package/es/control/calendar/components/interface/calendar-daily.mjs +34 -0
- package/es/control/calendar/components/interface/calendar-month.d.ts +20 -0
- package/es/control/calendar/components/interface/calendar-month.mjs +43 -0
- package/es/control/calendar/components/interface/calendar-week.d.ts +12 -0
- package/es/control/calendar/components/interface/calendar-week.mjs +34 -0
- package/es/control/calendar/components/interface/common.d.ts +116 -0
- package/es/control/calendar/components/interface/common.mjs +1 -0
- package/es/control/calendar/components/interface/custom-calendar.d.ts +14 -0
- package/es/control/calendar/components/interface/custom-calendar.mjs +67 -0
- package/es/control/calendar/components/interface/index.d.ts +5 -0
- package/es/control/calendar/components/interface/index.mjs +7 -0
- package/es/control/calendar/components/util/index.d.ts +1 -0
- package/es/control/calendar/components/util/index.mjs +4 -0
- package/es/control/calendar/components/util/util.d.ts +89 -0
- package/es/control/calendar/components/util/util.mjs +281 -0
- package/es/control/calendar/index.d.ts +1 -2
- package/es/control/calendar/index.mjs +2 -0
- package/es/control/kanban/kanban.css +1 -1
- package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.mjs +2 -2
- package/es/editor/date-picker/date-picker-editor.controller.mjs +3 -0
- package/es/editor/date-range/date-range-editor.controller.mjs +3 -0
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +11 -2
- package/es/editor/slider/ibiz-slider/ibiz-slider.css +1 -1
- package/es/editor/slider/ibiz-slider/ibiz-slider.d.ts +2 -0
- package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +76 -21
- package/es/locale/en/index.d.ts +46 -0
- package/es/locale/en/index.mjs +44 -1
- package/es/locale/zh-CN/index.d.ts +42 -0
- package/es/locale/zh-CN/index.mjs +40 -1
- package/es/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.mjs +13 -0
- package/lib/_virtual/localeData.cjs +5 -0
- package/lib/control/calendar/calendar.cjs +104 -173
- package/lib/control/calendar/calendar.css +1 -1
- package/lib/control/calendar/components/calendar-daily/calendar-daily.cjs +177 -0
- package/lib/control/calendar/components/calendar-daily/calendar-daily.css +1 -0
- package/lib/control/calendar/components/calendar-daily/index.cjs +14 -0
- package/lib/control/calendar/components/calendar-daily/use-calendar-daily.cjs +198 -0
- package/lib/control/calendar/components/calendar-month/calendar-month.cjs +244 -0
- package/lib/control/calendar/components/calendar-month/calendar-month.css +1 -0
- package/lib/control/calendar/components/calendar-month/index.cjs +14 -0
- package/lib/control/calendar/components/calendar-month/use-calendar-month.cjs +386 -0
- package/lib/control/calendar/components/calendar-week/calendar-week.cjs +243 -0
- package/lib/control/calendar/components/calendar-week/calendar-week.css +1 -0
- package/lib/control/calendar/components/calendar-week/index.cjs +14 -0
- package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +401 -0
- package/lib/control/calendar/components/constant/event.cjs +14 -0
- package/lib/control/calendar/components/constant/index.cjs +11 -0
- package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +285 -0
- package/lib/control/calendar/components/custom-calendar/custom-calendar.css +1 -0
- package/lib/control/calendar/components/custom-calendar/index.cjs +17 -0
- package/lib/control/calendar/components/custom-calendar/use-custom-calendar.cjs +266 -0
- package/lib/control/calendar/components/interface/calendar-daily.cjs +37 -0
- package/lib/control/calendar/components/interface/calendar-month.cjs +46 -0
- package/lib/control/calendar/components/interface/calendar-week.cjs +37 -0
- package/lib/control/calendar/components/interface/common.cjs +3 -0
- package/lib/control/calendar/components/interface/custom-calendar.cjs +70 -0
- package/lib/control/calendar/components/interface/index.cjs +18 -0
- package/lib/control/calendar/components/util/index.cjs +42 -0
- package/lib/control/calendar/components/util/util.cjs +316 -0
- package/lib/control/calendar/index.cjs +2 -0
- package/lib/control/kanban/kanban.css +1 -1
- package/lib/editor/data-picker/ibiz-picker-link/ibiz-picker-link.cjs +2 -2
- package/lib/editor/date-picker/date-picker-editor.controller.cjs +3 -0
- package/lib/editor/date-range/date-range-editor.controller.cjs +3 -0
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +11 -2
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
- package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +76 -21
- package/lib/editor/slider/ibiz-slider/ibiz-slider.css +1 -1
- package/lib/locale/en/index.cjs +44 -1
- package/lib/locale/zh-CN/index.cjs +40 -1
- package/lib/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.cjs +17 -0
- package/package.json +7 -7
- package/dist/index-WMgMgSGZ.js +0 -4
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
require('../util/index.cjs');
|
|
5
|
+
var util = require('../util/util.cjs');
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
const useCalendarWeek = (props, emit) => {
|
|
9
|
+
const drawData = vue.ref([]);
|
|
10
|
+
const curTimeTimer = vue.ref();
|
|
11
|
+
const curTimeTop = vue.ref(1);
|
|
12
|
+
const curTimeVal = vue.ref("00:00");
|
|
13
|
+
const resizableHand = vue.ref();
|
|
14
|
+
const calendarWeek = vue.ref();
|
|
15
|
+
const legends = vue.ref();
|
|
16
|
+
const multiple = vue.computed(() => props.multiple === true);
|
|
17
|
+
const selectedData = vue.ref([]);
|
|
18
|
+
const rows = vue.ref([]);
|
|
19
|
+
const rowsHeader = vue.ref([]);
|
|
20
|
+
const weekDays = vue.ref([]);
|
|
21
|
+
const popVisible = vue.ref(true);
|
|
22
|
+
let initialMouseY = 0;
|
|
23
|
+
let initialHeight = 0;
|
|
24
|
+
const handleDragStart = (event) => {
|
|
25
|
+
initialMouseY = event.clientY;
|
|
26
|
+
initialHeight = parseInt(
|
|
27
|
+
window.getComputedStyle(resizableHand.value).height,
|
|
28
|
+
10
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
const handleDrag = (event) => {
|
|
32
|
+
const heightChange = event.clientY - initialMouseY + initialHeight;
|
|
33
|
+
resizableHand.value.style.height = "".concat(heightChange, "px");
|
|
34
|
+
};
|
|
35
|
+
const getDateRanges = (firstDate, lastDate) => {
|
|
36
|
+
const firstDay = new Date(firstDate);
|
|
37
|
+
const targetDate = new Date(lastDate);
|
|
38
|
+
const dateArray = [];
|
|
39
|
+
firstDay.setHours(0, 0, 0, 0);
|
|
40
|
+
targetDate.setHours(0, 0, 0, 0);
|
|
41
|
+
for (let currentDate = new Date(firstDay); currentDate <= targetDate; currentDate.setDate(currentDate.getDate() + 1)) {
|
|
42
|
+
dateArray.push(new Date(currentDate));
|
|
43
|
+
}
|
|
44
|
+
return dateArray;
|
|
45
|
+
};
|
|
46
|
+
const handleUIEvents = () => {
|
|
47
|
+
const events = props.events;
|
|
48
|
+
const curDate = props == null ? void 0 : props.selectedDay;
|
|
49
|
+
const tempColors = /* @__PURE__ */ new Map();
|
|
50
|
+
const { firstDay, lastDay } = util.getCurWeekDates(curDate);
|
|
51
|
+
const tempArray = [];
|
|
52
|
+
const tempEvents = [];
|
|
53
|
+
const tempRowsHeader = [];
|
|
54
|
+
weekDays.value = [];
|
|
55
|
+
for (let i = 0; i < 7; i++) {
|
|
56
|
+
const addDay = i;
|
|
57
|
+
const dayValue = firstDay.getDate() + addDay;
|
|
58
|
+
const date = new Date(
|
|
59
|
+
firstDay.getFullYear(),
|
|
60
|
+
firstDay.getMonth(),
|
|
61
|
+
dayValue
|
|
62
|
+
);
|
|
63
|
+
const day = date.getDate();
|
|
64
|
+
const tempWeeks = [
|
|
65
|
+
"sunday",
|
|
66
|
+
"monday",
|
|
67
|
+
"tuesday",
|
|
68
|
+
"wednesday",
|
|
69
|
+
"thursday",
|
|
70
|
+
"friday",
|
|
71
|
+
"saturday"
|
|
72
|
+
];
|
|
73
|
+
const weeks = tempWeeks.map((item2) => {
|
|
74
|
+
return ibiz.i18n.t("control.calendar.calendarweek.weeks.".concat(item2));
|
|
75
|
+
});
|
|
76
|
+
const caption = weeks[i];
|
|
77
|
+
const isActivate = util.isToday(date, curDate);
|
|
78
|
+
const item = { date, day, caption, isActivate };
|
|
79
|
+
weekDays.value.push(item);
|
|
80
|
+
tempArray.push([]);
|
|
81
|
+
tempEvents.push([]);
|
|
82
|
+
tempRowsHeader.push([]);
|
|
83
|
+
}
|
|
84
|
+
events.forEach((event) => {
|
|
85
|
+
if (event.beginTime) {
|
|
86
|
+
const item = {};
|
|
87
|
+
Object.assign(item, event);
|
|
88
|
+
const targetEvent = selectedData.value.find(
|
|
89
|
+
(tempItem) => tempItem.id === event.id
|
|
90
|
+
);
|
|
91
|
+
if (targetEvent) {
|
|
92
|
+
Object.assign(item, { isSelectedEvent: true });
|
|
93
|
+
} else {
|
|
94
|
+
Object.assign(item, { isSelectedEvent: false });
|
|
95
|
+
}
|
|
96
|
+
if (!event.endTime && event.beginTime) {
|
|
97
|
+
Object.assign(item, { endTime: event.beginTime });
|
|
98
|
+
}
|
|
99
|
+
if (util.isDateInCurWeek(item.beginTime, firstDay, lastDay) && util.isDateInCurWeek(item.endTime, firstDay, lastDay)) {
|
|
100
|
+
const dateArray = getDateRanges(item.beginTime, item.endTime);
|
|
101
|
+
dateArray.forEach((date) => {
|
|
102
|
+
const weekIndex = new Date(date).getDay();
|
|
103
|
+
tempArray[weekIndex].push(item);
|
|
104
|
+
});
|
|
105
|
+
} else if (util.isDateInCurWeek(item.beginTime, firstDay, lastDay) && !util.isDateInCurWeek(item.endTime, firstDay, lastDay)) {
|
|
106
|
+
const dateArray = getDateRanges(item.beginTime, lastDay);
|
|
107
|
+
dateArray.forEach((date) => {
|
|
108
|
+
const weekIndex = new Date(date).getDay();
|
|
109
|
+
tempArray[weekIndex].push(item);
|
|
110
|
+
});
|
|
111
|
+
} else if (util.isDateInCurWeek(item.endTime, firstDay, lastDay) && !util.isDateInCurWeek(item.beginTime, firstDay, lastDay)) {
|
|
112
|
+
const dateArray = getDateRanges(firstDay, item.endTime);
|
|
113
|
+
dateArray.forEach((date) => {
|
|
114
|
+
const weekIndex = new Date(date).getDay();
|
|
115
|
+
tempArray[weekIndex].push(item);
|
|
116
|
+
});
|
|
117
|
+
} else if (!util.isDateInCurWeek(event.endTime, firstDay, lastDay) && !util.isDateInCurWeek(event.beginTime, firstDay, lastDay) && util.isTimeGreaterThan(firstDay, event.beginTime) && util.isTimeGreaterThan(event.endTime, firstDay)) {
|
|
118
|
+
const dateArray = getDateRanges(firstDay, lastDay);
|
|
119
|
+
dateArray.forEach((date) => {
|
|
120
|
+
const weekIndex = new Date(date).getDay();
|
|
121
|
+
tempArray[weekIndex].push(item);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
tempArray.forEach((item) => {
|
|
127
|
+
item.sort((a, b) => {
|
|
128
|
+
const tempA = a;
|
|
129
|
+
const tempB = b;
|
|
130
|
+
const beginTimeDifference = new Date(tempA.beginTime).getTime() - new Date(tempB.beginTime).getTime();
|
|
131
|
+
let type;
|
|
132
|
+
if (beginTimeDifference === 0) {
|
|
133
|
+
type = new Date(tempA.endTime).getTime() - new Date(tempB.endTime).getTime();
|
|
134
|
+
} else {
|
|
135
|
+
type = beginTimeDifference;
|
|
136
|
+
}
|
|
137
|
+
return type;
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
tempArray.forEach((item, hostIndex) => {
|
|
141
|
+
item.forEach((event, index) => {
|
|
142
|
+
const targetLegend = legends.value.find(
|
|
143
|
+
(legendItem) => Object.is(legendItem.id, event.itemType)
|
|
144
|
+
);
|
|
145
|
+
if (targetLegend && targetLegend.isShow || !targetLegend) {
|
|
146
|
+
const tempEventContent = {};
|
|
147
|
+
const tempEventHeader = {};
|
|
148
|
+
const length = tempArray[hostIndex].length;
|
|
149
|
+
const weekDay = weekDays.value[hostIndex];
|
|
150
|
+
Object.assign(tempEventContent, event);
|
|
151
|
+
Object.assign(tempEventContent, { zIndex: index + 1 });
|
|
152
|
+
const percentage = Number((100 / length).toFixed(3));
|
|
153
|
+
const width = "".concat(percentage, "%");
|
|
154
|
+
const styleLeft = "".concat(index * percentage, "%");
|
|
155
|
+
Object.assign(tempEventContent, { width, styleLeft });
|
|
156
|
+
let height = 3;
|
|
157
|
+
let styleTop = 60;
|
|
158
|
+
let timeRange = "";
|
|
159
|
+
if (util.isToday(event.beginTime, event.endTime)) {
|
|
160
|
+
height = getEventHeight(event.beginTime, event.endTime);
|
|
161
|
+
timeRange = util.handleTimeRange(
|
|
162
|
+
event.beginTime,
|
|
163
|
+
event.endTime,
|
|
164
|
+
"HH:mm"
|
|
165
|
+
);
|
|
166
|
+
const tempVal = handleTopOrCurVal(new Date(event.beginTime));
|
|
167
|
+
styleTop = tempVal.styleTop;
|
|
168
|
+
} else if (util.isToday(event.beginTime, weekDay.date) && !util.isToday(event.endTime, weekDay.date)) {
|
|
169
|
+
const endDate = new Date(weekDay.date);
|
|
170
|
+
endDate.setHours(23, 59, 59, 0);
|
|
171
|
+
height = getEventHeight(event.beginTime, endDate);
|
|
172
|
+
timeRange = util.handleTimeRange(
|
|
173
|
+
event.beginTime,
|
|
174
|
+
event.endTime,
|
|
175
|
+
"YYYY-MM-DD HH:mm"
|
|
176
|
+
);
|
|
177
|
+
const tempVal = handleTopOrCurVal(new Date(event.beginTime));
|
|
178
|
+
styleTop = tempVal.styleTop;
|
|
179
|
+
} else if (util.isToday(event.endTime, weekDay.date) && !util.isToday(event.beginTime, weekDay.date)) {
|
|
180
|
+
const beginDate = new Date(weekDay.date);
|
|
181
|
+
beginDate.setHours(0, 0, 0, 0);
|
|
182
|
+
height = getEventHeight(beginDate, event.endTime);
|
|
183
|
+
timeRange = util.handleTimeRange(
|
|
184
|
+
event.beginTime,
|
|
185
|
+
event.endTime,
|
|
186
|
+
"YYYY-MM-DD HH:mm"
|
|
187
|
+
);
|
|
188
|
+
const tempVal = handleTopOrCurVal(new Date(beginDate));
|
|
189
|
+
styleTop = tempVal.styleTop;
|
|
190
|
+
} else {
|
|
191
|
+
const date = new Date(weekDay.date);
|
|
192
|
+
const beginDate = new Date(date.setHours(0, 0, 0, 0));
|
|
193
|
+
const endDate = new Date(date.setHours(23, 59, 59, 59));
|
|
194
|
+
height = getEventHeight(beginDate, endDate);
|
|
195
|
+
timeRange = util.handleTimeRange(
|
|
196
|
+
event.beginTime,
|
|
197
|
+
event.endTime,
|
|
198
|
+
"YYYY-MM-DD HH:mm"
|
|
199
|
+
);
|
|
200
|
+
const tempVal = handleTopOrCurVal(new Date(beginDate));
|
|
201
|
+
styleTop = tempVal.styleTop;
|
|
202
|
+
}
|
|
203
|
+
Object.assign(tempEventContent, { height, styleTop, timeRange });
|
|
204
|
+
if (!(event == null ? void 0 : event.bkColor)) {
|
|
205
|
+
const bkColor = targetLegend ? targetLegend.bkcolor : util.handleBkColor(tempColors, event.itemType);
|
|
206
|
+
Object.assign(tempEventContent, { bkColor });
|
|
207
|
+
}
|
|
208
|
+
if (tempEventContent.bkColor) {
|
|
209
|
+
const tempBkColor = util.fade(tempEventContent.bkColor, 10);
|
|
210
|
+
Object.assign(tempEventContent, {
|
|
211
|
+
bkColorFade: tempBkColor
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
if ((tempEventContent == null ? void 0 : tempEventContent.height) && (tempEventContent == null ? void 0 : tempEventContent.height) > 10) {
|
|
215
|
+
const border = "1px solid #FFF";
|
|
216
|
+
Object.assign(tempEventContent, { border });
|
|
217
|
+
} else {
|
|
218
|
+
Object.assign(tempEventContent, { border: "none" });
|
|
219
|
+
}
|
|
220
|
+
tempEvents[hostIndex].push(tempEventContent);
|
|
221
|
+
if (!util.isToday(event.beginTime, event.endTime)) {
|
|
222
|
+
Object.assign(tempEventHeader, tempEventContent);
|
|
223
|
+
Object.assign(tempEventHeader, {
|
|
224
|
+
width: 0,
|
|
225
|
+
styleLeft: 0
|
|
226
|
+
});
|
|
227
|
+
let headerEVentWidth = 0;
|
|
228
|
+
let headerEventLeft = 0;
|
|
229
|
+
if (util.isDateInCurWeek(event.beginTime, firstDay, lastDay) && util.isDateInCurWeek(event.endTime, firstDay, lastDay)) {
|
|
230
|
+
const eventWidth = handleHeaderEventWidth(
|
|
231
|
+
event.beginTime,
|
|
232
|
+
event.endTime,
|
|
233
|
+
firstDay,
|
|
234
|
+
lastDay
|
|
235
|
+
);
|
|
236
|
+
const eventLeft = handleHeaderEventLeft(
|
|
237
|
+
event.beginTime,
|
|
238
|
+
firstDay,
|
|
239
|
+
lastDay
|
|
240
|
+
);
|
|
241
|
+
headerEVentWidth = "".concat(eventWidth, "%");
|
|
242
|
+
headerEventLeft = "".concat(eventLeft, "%");
|
|
243
|
+
} else if (util.isDateInCurWeek(event.beginTime, firstDay, lastDay) && !util.isDateInCurWeek(event.endTime, firstDay, lastDay)) {
|
|
244
|
+
const eventWidth = handleHeaderEventWidth(
|
|
245
|
+
event.beginTime,
|
|
246
|
+
lastDay,
|
|
247
|
+
firstDay,
|
|
248
|
+
lastDay
|
|
249
|
+
);
|
|
250
|
+
const eventLeft = handleHeaderEventLeft(
|
|
251
|
+
event.beginTime,
|
|
252
|
+
firstDay,
|
|
253
|
+
lastDay
|
|
254
|
+
);
|
|
255
|
+
headerEVentWidth = "".concat(eventWidth, "%");
|
|
256
|
+
headerEventLeft = "".concat(eventLeft, "%");
|
|
257
|
+
} else if (util.isDateInCurWeek(event.endTime, firstDay, lastDay) && !util.isDateInCurWeek(event.beginTime, firstDay, lastDay)) {
|
|
258
|
+
const eventWidth = handleHeaderEventWidth(
|
|
259
|
+
firstDay,
|
|
260
|
+
event.endTime,
|
|
261
|
+
firstDay,
|
|
262
|
+
lastDay
|
|
263
|
+
);
|
|
264
|
+
headerEVentWidth = "".concat(eventWidth, "%");
|
|
265
|
+
headerEventLeft = "".concat(0, "%");
|
|
266
|
+
} else if (!util.isDateInCurWeek(event.endTime, firstDay, lastDay) && !util.isDateInCurWeek(event.beginTime, firstDay, lastDay) && util.isTimeGreaterThan(firstDay, event.beginTime) && util.isTimeGreaterThan(event.endTime, firstDay)) {
|
|
267
|
+
const eventWidth = handleHeaderEventWidth(
|
|
268
|
+
firstDay,
|
|
269
|
+
lastDay,
|
|
270
|
+
firstDay,
|
|
271
|
+
lastDay
|
|
272
|
+
);
|
|
273
|
+
headerEVentWidth = "".concat(eventWidth, "%");
|
|
274
|
+
headerEventLeft = "".concat(0, "%");
|
|
275
|
+
}
|
|
276
|
+
Object.assign(tempEventHeader, {
|
|
277
|
+
width: headerEVentWidth,
|
|
278
|
+
styleLeft: headerEventLeft
|
|
279
|
+
});
|
|
280
|
+
let eventHeaderIsShow = false;
|
|
281
|
+
if (util.isDateInCurWeek(event.beginTime, firstDay, lastDay) && util.isToday(event.beginTime, weekDay.date)) {
|
|
282
|
+
eventHeaderIsShow = true;
|
|
283
|
+
} else if (hostIndex === 0) {
|
|
284
|
+
eventHeaderIsShow = true;
|
|
285
|
+
}
|
|
286
|
+
Object.assign(tempEventHeader, {
|
|
287
|
+
isShow: eventHeaderIsShow
|
|
288
|
+
});
|
|
289
|
+
tempRowsHeader[hostIndex].push(tempEventHeader);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
});
|
|
294
|
+
tempColors.clear();
|
|
295
|
+
rows.value = tempEvents;
|
|
296
|
+
rowsHeader.value = tempRowsHeader;
|
|
297
|
+
};
|
|
298
|
+
const getEventHeight = (startTime, endTime) => {
|
|
299
|
+
let height = 1;
|
|
300
|
+
if (util.isToday(startTime, endTime)) {
|
|
301
|
+
const difference = new Date(endTime).getTime() - new Date(startTime).getTime();
|
|
302
|
+
height = Math.floor(difference / (1e3 * 60));
|
|
303
|
+
}
|
|
304
|
+
if (height < 3) {
|
|
305
|
+
height = 3;
|
|
306
|
+
}
|
|
307
|
+
return height;
|
|
308
|
+
};
|
|
309
|
+
const handleHeaderEventWidth = (startTime, endTime, firstDay, lastDay) => {
|
|
310
|
+
let eventWidth = "0";
|
|
311
|
+
if (util.isDateInCurWeek(startTime, firstDay, lastDay) && util.isDateInCurWeek(endTime, firstDay, lastDay)) {
|
|
312
|
+
const hour = 24;
|
|
313
|
+
const ratio = Number((100 / hour).toFixed(3));
|
|
314
|
+
const difference = new Date(endTime).getTime() - new Date(startTime).getTime();
|
|
315
|
+
const totalHours = difference / (1e3 * 60 * 60);
|
|
316
|
+
eventWidth = (totalHours * ratio).toFixed(3);
|
|
317
|
+
}
|
|
318
|
+
return eventWidth;
|
|
319
|
+
};
|
|
320
|
+
const handleHeaderEventLeft = (startTime, firstDay, lastDay) => {
|
|
321
|
+
let eventLeft = "0";
|
|
322
|
+
if (util.isDateInCurWeek(startTime, firstDay, lastDay)) {
|
|
323
|
+
const beginTimeHour = new Date(startTime).getHours();
|
|
324
|
+
const beginTimeMinutes = new Date(startTime).getMinutes() / 60;
|
|
325
|
+
const hour = 24;
|
|
326
|
+
const ratio = Number((100 / hour).toFixed(3));
|
|
327
|
+
const positionTotalHour = beginTimeHour + beginTimeMinutes;
|
|
328
|
+
eventLeft = (positionTotalHour * ratio).toFixed(3);
|
|
329
|
+
}
|
|
330
|
+
return eventLeft;
|
|
331
|
+
};
|
|
332
|
+
const handleTopOrCurVal = (date) => {
|
|
333
|
+
const currentHours = date.getHours();
|
|
334
|
+
const currentMinutes = date.getMinutes();
|
|
335
|
+
const hours = String(currentHours).padStart(2, "0");
|
|
336
|
+
const minutes = String(currentMinutes).padStart(2, "0");
|
|
337
|
+
let styleTop;
|
|
338
|
+
let timeVal;
|
|
339
|
+
if (currentHours === 0 && currentMinutes === 0) {
|
|
340
|
+
styleTop = 1;
|
|
341
|
+
timeVal = "00:00";
|
|
342
|
+
} else {
|
|
343
|
+
const topVal = currentHours * 60 + currentMinutes;
|
|
344
|
+
styleTop = topVal;
|
|
345
|
+
timeVal = "".concat(hours, ":").concat(minutes);
|
|
346
|
+
}
|
|
347
|
+
return { styleTop, timeVal };
|
|
348
|
+
};
|
|
349
|
+
const handleCurTime = () => {
|
|
350
|
+
const { styleTop, timeVal } = handleTopOrCurVal(/* @__PURE__ */ new Date());
|
|
351
|
+
curTimeTop.value = styleTop;
|
|
352
|
+
curTimeVal.value = timeVal;
|
|
353
|
+
};
|
|
354
|
+
const initDrawData = () => {
|
|
355
|
+
const tempDrawData = [];
|
|
356
|
+
for (let i = 1; i < 24; i++) {
|
|
357
|
+
const hours = String(i).padStart(2, "0");
|
|
358
|
+
const timescale = "".concat(hours, ":00");
|
|
359
|
+
tempDrawData.push(timescale);
|
|
360
|
+
}
|
|
361
|
+
return tempDrawData;
|
|
362
|
+
};
|
|
363
|
+
const eventClick = async (item, location) => {
|
|
364
|
+
const res = await util.handleEVentClick(
|
|
365
|
+
item,
|
|
366
|
+
location,
|
|
367
|
+
props.events,
|
|
368
|
+
multiple.value,
|
|
369
|
+
selectedData.value,
|
|
370
|
+
emit
|
|
371
|
+
);
|
|
372
|
+
const { tempSelectedData, isSelectedEvent } = res;
|
|
373
|
+
if (!isSelectedEvent) {
|
|
374
|
+
Object.assign(item, { isSelectedEvent });
|
|
375
|
+
}
|
|
376
|
+
selectedData.value = tempSelectedData;
|
|
377
|
+
handleUIEvents();
|
|
378
|
+
};
|
|
379
|
+
return {
|
|
380
|
+
drawData,
|
|
381
|
+
curTimeTimer,
|
|
382
|
+
curTimeTop,
|
|
383
|
+
curTimeVal,
|
|
384
|
+
rows,
|
|
385
|
+
resizableHand,
|
|
386
|
+
calendarWeek,
|
|
387
|
+
selectedData,
|
|
388
|
+
weekDays,
|
|
389
|
+
legends,
|
|
390
|
+
rowsHeader,
|
|
391
|
+
popVisible,
|
|
392
|
+
handleCurTime,
|
|
393
|
+
handleDrag,
|
|
394
|
+
handleDragStart,
|
|
395
|
+
eventClick,
|
|
396
|
+
initDrawData,
|
|
397
|
+
handleUIEvents
|
|
398
|
+
};
|
|
399
|
+
};
|
|
400
|
+
|
|
401
|
+
exports.useCalendarWeek = useCalendarWeek;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
const UPDATE_MODEL_EVENT = "update:modelValue";
|
|
5
|
+
const CHANGE_EVENT = "change";
|
|
6
|
+
const INPUT_EVENT = "input";
|
|
7
|
+
const EVENT_CLICK_EVENT = "eventClick";
|
|
8
|
+
const EVENT_DBL_CLICK_EVENT = "eventDblClick";
|
|
9
|
+
|
|
10
|
+
exports.CHANGE_EVENT = CHANGE_EVENT;
|
|
11
|
+
exports.EVENT_CLICK_EVENT = EVENT_CLICK_EVENT;
|
|
12
|
+
exports.EVENT_DBL_CLICK_EVENT = EVENT_DBL_CLICK_EVENT;
|
|
13
|
+
exports.INPUT_EVENT = INPUT_EVENT;
|
|
14
|
+
exports.UPDATE_MODEL_EVENT = UPDATE_MODEL_EVENT;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var event = require('./event.cjs');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
|
|
7
|
+
exports.CHANGE_EVENT = event.CHANGE_EVENT;
|
|
8
|
+
exports.EVENT_CLICK_EVENT = event.EVENT_CLICK_EVENT;
|
|
9
|
+
exports.EVENT_DBL_CLICK_EVENT = event.EVENT_DBL_CLICK_EVENT;
|
|
10
|
+
exports.INPUT_EVENT = event.INPUT_EVENT;
|
|
11
|
+
exports.UPDATE_MODEL_EVENT = event.UPDATE_MODEL_EVENT;
|