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