@ibiz-template/vue3-components 0.7.26-alpha.3 → 0.7.26

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 (175) hide show
  1. package/dist/index-28jZm-aB.js +4 -0
  2. package/dist/{index-8tGeBxpc.js → index-RwYoggQd.js} +1 -1
  3. package/dist/{index-CDgQJyai.js → index-s7g1-ymW.js} +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{xlsx-util-8_6qMs6z.js → xlsx-util-Rf5FMxyR.js} +1 -1
  7. package/es/common/emoji-select/components/categories/categories.css +1 -0
  8. package/es/common/emoji-select/components/categories/categories.d.ts +30 -0
  9. package/es/common/emoji-select/components/categories/categories.mjs +48 -0
  10. package/es/common/emoji-select/components/categories/index.d.ts +1 -0
  11. package/es/common/emoji-select/components/categories/index.mjs +3 -0
  12. package/es/common/emoji-select/components/category-label/category-label.css +1 -0
  13. package/es/common/emoji-select/components/category-label/category-label.d.ts +18 -0
  14. package/es/common/emoji-select/components/category-label/category-label.mjs +28 -0
  15. package/es/common/emoji-select/components/category-label/index.d.ts +1 -0
  16. package/es/common/emoji-select/components/category-label/index.mjs +3 -0
  17. package/es/common/emoji-select/components/emoji-item/emoji-item.css +1 -0
  18. package/es/common/emoji-select/components/emoji-item/emoji-item.d.ts +44 -0
  19. package/es/common/emoji-select/components/emoji-item/emoji-item.mjs +56 -0
  20. package/es/common/emoji-select/components/emoji-item/index.d.ts +1 -0
  21. package/es/common/emoji-select/components/emoji-item/index.mjs +3 -0
  22. package/es/common/emoji-select/components/emoji-list/emoji-list.css +1 -0
  23. package/es/common/emoji-select/components/emoji-list/emoji-list.d.ts +92 -0
  24. package/es/common/emoji-select/components/emoji-list/emoji-list.mjs +165 -0
  25. package/es/common/emoji-select/components/emoji-list/index.d.ts +1 -0
  26. package/es/common/emoji-select/components/emoji-list/index.mjs +3 -0
  27. package/es/common/emoji-select/components/index.d.ts +5 -0
  28. package/es/common/emoji-select/components/index.mjs +12 -0
  29. package/es/common/emoji-select/components/input-search/index.d.ts +1 -0
  30. package/es/common/emoji-select/components/input-search/index.mjs +3 -0
  31. package/es/common/emoji-select/components/input-search/input-search.css +1 -0
  32. package/es/common/emoji-select/components/input-search/input-search.d.ts +9 -0
  33. package/es/common/emoji-select/components/input-search/input-search.mjs +49 -0
  34. package/es/common/emoji-select/emoji-select.css +1 -0
  35. package/es/common/emoji-select/emoji-select.d.ts +142 -0
  36. package/es/common/emoji-select/emoji-select.mjs +234 -0
  37. package/es/common/emoji-select/icons/categories.d.ts +2 -0
  38. package/es/common/emoji-select/icons/categories.mjs +64 -0
  39. package/es/common/emoji-select/icons/emoji.d.ts +2 -0
  40. package/es/common/emoji-select/icons/emoji.mjs +1444 -0
  41. package/es/common/emoji-select/icons/index.d.ts +3 -0
  42. package/es/common/emoji-select/icons/index.mjs +5 -0
  43. package/es/common/emoji-select/icons/search.d.ts +1 -0
  44. package/es/common/emoji-select/icons/search.mjs +16 -0
  45. package/es/common/emoji-select/interface/category.d.ts +44 -0
  46. package/es/common/emoji-select/interface/category.mjs +22 -0
  47. package/es/common/emoji-select/interface/emoji.d.ts +37 -0
  48. package/es/common/emoji-select/interface/emoji.mjs +19 -0
  49. package/es/common/emoji-select/interface/index.d.ts +3 -0
  50. package/es/common/emoji-select/interface/index.mjs +5 -0
  51. package/es/common/emoji-select/interface/map-emojis.d.ts +17 -0
  52. package/es/common/emoji-select/interface/map-emojis.mjs +1 -0
  53. package/es/common/index.mjs +2 -0
  54. package/es/common/view-message/view-message.d.ts +1 -0
  55. package/es/control/calendar/calendar.css +1 -1
  56. package/es/control/calendar/calendar.d.ts +3 -2
  57. package/es/control/calendar/calendar.mjs +203 -86
  58. package/es/control/calendar/components/calendar-daily/calendar-daily.d.ts +1 -1
  59. package/es/control/calendar/components/calendar-daily/index.d.ts +1 -1
  60. package/es/control/calendar/components/calendar-week/calendar-week.d.ts +1 -1
  61. package/es/control/calendar/components/calendar-week/calendar-week.mjs +15 -12
  62. package/es/control/calendar/components/calendar-week/index.d.ts +1 -1
  63. package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +1 -0
  64. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +4 -114
  65. package/es/control/calendar/components/interface/calendar-daily.mjs +0 -3
  66. package/es/control/calendar/components/interface/calendar-week.mjs +3 -2
  67. package/es/control/calendar/components/interface/custom-calendar.mjs +8 -3
  68. package/es/control/calendar/components/interface/index.d.ts +0 -1
  69. package/es/control/calendar/components/interface/index.mjs +0 -1
  70. package/es/control/calendar/index.d.ts +2 -1
  71. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +36 -2
  72. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +17 -7
  73. package/es/control/dashboard/dashboard-design/dashboard-design.d.ts +10 -32
  74. package/es/control/dashboard/dashboard-design/dashboard-design.mjs +93 -56
  75. package/es/control/drtab/drtab-control.util.mjs +1 -1
  76. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +25 -0
  77. package/es/control/grid/grid/grid-control.util.d.ts +8 -0
  78. package/es/control/grid/grid/grid-control.util.mjs +151 -1
  79. package/es/control/grid/grid/grid.css +1 -1
  80. package/es/control/grid/grid/grid.d.ts +8 -0
  81. package/es/control/grid/grid/grid.mjs +12 -2
  82. package/es/control/grid/grid/index.d.ts +8 -0
  83. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +1 -0
  84. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +21 -1
  85. package/es/control/grid/grid-column/grid-field-column/index.d.ts +1 -0
  86. package/es/control/tree/tree.css +1 -1
  87. package/es/editor/dropdown-list/dropdown-list-editor.provider.d.ts +1 -0
  88. package/es/editor/dropdown-list/dropdown-list-editor.provider.mjs +10 -1
  89. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.css +1 -0
  90. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.d.ts +72 -0
  91. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.mjs +123 -0
  92. package/es/editor/dropdown-list/index.d.ts +1 -0
  93. package/es/editor/dropdown-list/index.mjs +1 -0
  94. package/es/editor/index.mjs +6 -0
  95. package/es/editor/text-box/input/input.d.ts +1 -1
  96. package/es/locale/en/index.d.ts +14 -0
  97. package/es/locale/en/index.mjs +14 -0
  98. package/es/locale/zh-CN/index.d.ts +14 -0
  99. package/es/locale/zh-CN/index.mjs +14 -0
  100. package/es/panel-component/nav-tabs/nav-tabs.controller.d.ts +7 -0
  101. package/es/panel-component/nav-tabs/nav-tabs.controller.mjs +19 -0
  102. package/lib/common/emoji-select/components/categories/categories.cjs +50 -0
  103. package/lib/common/emoji-select/components/categories/categories.css +1 -0
  104. package/lib/common/emoji-select/components/categories/index.cjs +7 -0
  105. package/lib/common/emoji-select/components/category-label/category-label.cjs +30 -0
  106. package/lib/common/emoji-select/components/category-label/category-label.css +1 -0
  107. package/lib/common/emoji-select/components/category-label/index.cjs +7 -0
  108. package/lib/common/emoji-select/components/emoji-item/emoji-item.cjs +58 -0
  109. package/lib/common/emoji-select/components/emoji-item/emoji-item.css +1 -0
  110. package/lib/common/emoji-select/components/emoji-item/index.cjs +7 -0
  111. package/lib/common/emoji-select/components/emoji-list/emoji-list.cjs +167 -0
  112. package/lib/common/emoji-select/components/emoji-list/emoji-list.css +1 -0
  113. package/lib/common/emoji-select/components/emoji-list/index.cjs +7 -0
  114. package/lib/common/emoji-select/components/index.cjs +20 -0
  115. package/lib/common/emoji-select/components/input-search/index.cjs +7 -0
  116. package/lib/common/emoji-select/components/input-search/input-search.cjs +51 -0
  117. package/lib/common/emoji-select/components/input-search/input-search.css +1 -0
  118. package/lib/common/emoji-select/emoji-select.cjs +236 -0
  119. package/lib/common/emoji-select/emoji-select.css +1 -0
  120. package/lib/common/emoji-select/icons/categories.cjs +66 -0
  121. package/lib/common/emoji-select/icons/emoji.cjs +1446 -0
  122. package/lib/common/emoji-select/icons/index.cjs +11 -0
  123. package/lib/common/emoji-select/icons/search.cjs +18 -0
  124. package/lib/common/emoji-select/interface/category.cjs +24 -0
  125. package/lib/common/emoji-select/interface/emoji.cjs +21 -0
  126. package/lib/common/emoji-select/interface/index.cjs +10 -0
  127. package/lib/common/emoji-select/interface/map-emojis.cjs +3 -0
  128. package/lib/common/index.cjs +2 -0
  129. package/lib/control/calendar/calendar.cjs +203 -86
  130. package/lib/control/calendar/calendar.css +1 -1
  131. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +15 -12
  132. package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +1 -0
  133. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +7 -117
  134. package/lib/control/calendar/components/interface/calendar-daily.cjs +0 -3
  135. package/lib/control/calendar/components/interface/calendar-week.cjs +3 -2
  136. package/lib/control/calendar/components/interface/custom-calendar.cjs +8 -3
  137. package/lib/control/calendar/components/interface/index.cjs +0 -3
  138. package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +17 -7
  139. package/lib/control/dashboard/dashboard-design/dashboard-design.cjs +93 -56
  140. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  141. package/lib/control/grid/grid/grid-control.util.cjs +151 -1
  142. package/lib/control/grid/grid/grid.cjs +12 -2
  143. package/lib/control/grid/grid/grid.css +1 -1
  144. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +21 -1
  145. package/lib/control/tree/tree.css +1 -1
  146. package/lib/editor/dropdown-list/dropdown-list-editor.provider.cjs +10 -1
  147. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.cjs +125 -0
  148. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.css +1 -0
  149. package/lib/editor/dropdown-list/index.cjs +2 -0
  150. package/lib/editor/index.cjs +6 -0
  151. package/lib/locale/en/index.cjs +14 -0
  152. package/lib/locale/zh-CN/index.cjs +14 -0
  153. package/lib/panel-component/nav-tabs/nav-tabs.controller.cjs +19 -0
  154. package/package.json +8 -8
  155. package/dist/index-oBteffLj.js +0 -4
  156. package/es/_virtual/localeData.mjs +0 -3
  157. package/es/control/calendar/components/calendar-month/calendar-month.css +0 -1
  158. package/es/control/calendar/components/calendar-month/calendar-month.d.ts +0 -18
  159. package/es/control/calendar/components/calendar-month/calendar-month.mjs +0 -242
  160. package/es/control/calendar/components/calendar-month/index.d.ts +0 -18
  161. package/es/control/calendar/components/calendar-month/index.mjs +0 -9
  162. package/es/control/calendar/components/calendar-month/use-calendar-month.d.ts +0 -3
  163. package/es/control/calendar/components/calendar-month/use-calendar-month.mjs +0 -384
  164. package/es/control/calendar/components/interface/calendar-month.d.ts +0 -20
  165. package/es/control/calendar/components/interface/calendar-month.mjs +0 -43
  166. package/es/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.mjs +0 -13
  167. package/lib/_virtual/localeData.cjs +0 -5
  168. package/lib/control/calendar/components/calendar-month/calendar-month.cjs +0 -244
  169. package/lib/control/calendar/components/calendar-month/calendar-month.css +0 -1
  170. package/lib/control/calendar/components/calendar-month/index.cjs +0 -14
  171. package/lib/control/calendar/components/calendar-month/use-calendar-month.cjs +0 -386
  172. package/lib/control/calendar/components/interface/calendar-month.cjs +0 -46
  173. package/lib/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.cjs +0 -17
  174. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.25_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.26_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  175. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.25_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.26_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -1,244 +0,0 @@
1
- 'use strict';
2
-
3
- var vue = require('vue');
4
- var vue3Util = require('@ibiz-template/vue3-util');
5
- var qxUtil = require('qx-util');
6
- require('../interface/index.cjs');
7
- var useCalendarMonth = require('./use-calendar-month.cjs');
8
- require('./calendar-month.css');
9
- require('../util/index.cjs');
10
- var calendarMonth = require('../interface/calendar-month.cjs');
11
- var util = require('../util/util.cjs');
12
-
13
- "use strict";
14
- const CalendarMonth = /* @__PURE__ */ vue.defineComponent({
15
- name: "CalendarMonth",
16
- props: calendarMonth.calendarMonthProps,
17
- emits: calendarMonth.calendarMonthEmits,
18
- setup(props, {
19
- emit,
20
- slots
21
- }) {
22
- const ns = vue3Util.useNamespace("calendar-month");
23
- const {
24
- isInRange,
25
- rows,
26
- weekDays,
27
- hideHeader,
28
- tableTd,
29
- legends,
30
- popVisible,
31
- selectedDay,
32
- selectedData,
33
- getCellClass,
34
- getSlotData,
35
- handlePickDay,
36
- eventClick,
37
- handleMonthDraw,
38
- handleEventsMoreData
39
- } = useCalendarMonth.useCalendarMonth(props, emit);
40
- props.controller._evt.on("onActive", () => {
41
- vue.nextTick(() => {
42
- popVisible.value = false;
43
- });
44
- });
45
- vue.watch(() => props.selectedData, () => {
46
- if (props.selectedData && props.selectedData.length > 0) {
47
- const data = props.selectedData.length > selectedData.value.length ? props.selectedData : selectedData.value;
48
- selectedData.value = data;
49
- } else {
50
- selectedData.value = [];
51
- }
52
- }, {
53
- immediate: true,
54
- deep: true
55
- });
56
- vue.onMounted(() => {
57
- handleMonthDraw();
58
- });
59
- vue.watch(() => props.events, () => {
60
- handleMonthDraw();
61
- }, {
62
- immediate: true,
63
- deep: true
64
- });
65
- vue.watch(() => props.legends, () => {
66
- legends.value = props.legends || [];
67
- handleMonthDraw();
68
- }, {
69
- immediate: true,
70
- deep: true
71
- });
72
- vue.watch(() => props.selectedDay, () => {
73
- selectedDay.value = props.selectedDay;
74
- }, {
75
- immediate: true,
76
- deep: true
77
- });
78
- const renderPopover = (content, event) => {
79
- return vue.createVNode(vue.resolveComponent("el-popover"), {
80
- "show-after": 10,
81
- "offset": 4,
82
- "width": "auto",
83
- "popper-class": ns.e("event-popover"),
84
- "placement": "top"
85
- }, {
86
- reference: () => content,
87
- default: () => {
88
- var _a;
89
- return vue.createVNode("div", {
90
- "class": [ns.em("event-popover", "body")]
91
- }, [vue.createVNode("div", {
92
- "class": [ns.em("event-popover", "close")],
93
- "onClick": (el) => util.handlePopClose(el),
94
- "innerHTML": util.closeIcon
95
- }, null), vue.createVNode("div", {
96
- "class": [ns.em("event-popover", "scroll")]
97
- }, [(slots == null ? void 0 : slots.event) ? (_a = slots.event) == null ? void 0 : _a.call(slots, {
98
- data: event
99
- }) : vue.createVNode("div", {
100
- "class": [ns.em("event-popover", "content")]
101
- }, ["".concat(event.text || "", " ").concat(event.timeRange || "")])])]);
102
- }
103
- });
104
- };
105
- const renderEvent = (event) => {
106
- const node = vue.createVNode("div", {
107
- "class": ns.em("event-content", "event-summary")
108
- }, [event.text && vue.createVNode("span", {
109
- "class": [ns.em("event-content", "event-name")]
110
- }, [event.text]), event.timeRange && vue.createVNode("span", {
111
- "class": [ns.em("event-content", "time-range")]
112
- }, [event.timeRange])]);
113
- if (!props.controller.state.showDetail) {
114
- return node;
115
- }
116
- return renderPopover(node, event);
117
- };
118
- const renderEventItem = (event, eventIndex) => {
119
- let node = null;
120
- node = vue.createVNode("div", {
121
- "key": eventIndex,
122
- "class": [ns.e("event-box"), "event-box"],
123
- "style": {
124
- top: "".concat(Number(eventIndex * 24) + 30, "px"),
125
- width: "".concat(event == null ? void 0 : event.width)
126
- }
127
- }, [vue.createVNode("button", {
128
- "class": ["event-content", ns.e("event-content"), event.isSelectedEvent ? "is-selected-event" : "", event == null ? void 0 : event.classname],
129
- "style": {
130
- background: event == null ? void 0 : event.bkColor,
131
- color: event == null ? void 0 : event.color
132
- },
133
- "onClick": (el) => {
134
- el.stopPropagation();
135
- eventClick(event, "content");
136
- }
137
- }, [renderEvent(event), event.isSelectedEvent ? vue.createVNode("span", {
138
- "class": [ns.em("event-content", "check"), "fa fa-check"]
139
- }, null) : ""])]);
140
- return node;
141
- };
142
- const renderEvents = (cell) => {
143
- const eventsNode = cell.events.map((event, eventIndex) => {
144
- let node = null;
145
- const uuid = qxUtil.createUUID();
146
- Object.assign(event, {
147
- popId: uuid
148
- });
149
- if (eventIndex < 3 && (event.isShow || event.isToday)) {
150
- node = renderEventItem(event, eventIndex);
151
- }
152
- return node;
153
- });
154
- let moreNode = null;
155
- if (cell.events.length > 3) {
156
- const tempEvents = handleEventsMoreData(cell);
157
- moreNode = tempEvents.length > 0 ? vue.createVNode(vue.resolveComponent("el-popover"), {
158
- "visible": popVisible.value,
159
- "onUpdate:visible": ($event) => popVisible.value = $event,
160
- "placement": "top",
161
- "width": 400,
162
- "trigger": "click",
163
- "popper-class": ns.e("more-popover")
164
- }, {
165
- reference: () => {
166
- return vue.createVNode(vue.resolveComponent("el-button"), {
167
- "class": ns.em("more-popover", "more-events"),
168
- "type": "text",
169
- "onClick": (event) => event.stopPropagation()
170
- }, {
171
- default: () => [vue.createTextVNode("+"), tempEvents.length, vue.createTextVNode(" \u66F4\u591A")]
172
- });
173
- },
174
- default: () => {
175
- return vue.createVNode("div", {
176
- "class": [ns.em("more-popover", "body")]
177
- }, [vue.createVNode("div", {
178
- "class": ns.em("more-popover", "title")
179
- }, [cell.curDate ? cell.curDate.format("YYYY-MM-DD") : cell.text]), vue.createVNode("div", {
180
- "class": ns.em("more-popover", "events-content")
181
- }, [tempEvents.map((event, eventIndex) => renderEventItem(event, eventIndex))])]);
182
- }
183
- }) : null;
184
- }
185
- return vue.createVNode("div", {
186
- "class": [ns.e("container__events")]
187
- }, [eventsNode, moreNode]);
188
- };
189
- const renderThead = () => {
190
- if (hideHeader.value) {
191
- return null;
192
- }
193
- return vue.createVNode("thead", null, [weekDays.value.map((day) => vue.createVNode("th", {
194
- "key": day
195
- }, [day]))]);
196
- };
197
- const renderTbody = () => {
198
- return vue.createVNode("tbody", null, [rows.value.map((row, index) => vue.createVNode("tr", {
199
- "key": index,
200
- "class": [ns.e("row"), index === 0 && hideHeader.value ? "el-calendar-table__row--hide-border" : ""]
201
- }, [row.map((cell, key) => {
202
- var _a;
203
- return vue.createVNode("td", {
204
- "key": key,
205
- "class": [...getCellClass(cell), ns.em("row", "td")],
206
- "onClick": () => handlePickDay(cell),
207
- "ref": (el) => {
208
- tableTd.value = el;
209
- }
210
- }, [vue.createVNode("div", {
211
- "class": [ns.e("cell")]
212
- }, [vue.createVNode("div", {
213
- "class": [ns.em("row", "calendar-day")]
214
- }, [slots["date-cell"] ? (_a = slots["date-cell"]) == null ? void 0 : _a.call(slots, {
215
- key,
216
- data: getSlotData(cell)
217
- }) : vue.createVNode("span", null, [cell.text])]), vue.createVNode("div", {
218
- "class": ns.e("container")
219
- }, [renderEvents(cell)])])]);
220
- })]))]);
221
- };
222
- return {
223
- ns,
224
- isInRange,
225
- renderThead,
226
- renderTbody
227
- };
228
- },
229
- render() {
230
- return vue.createVNode("div", {
231
- "class": this.ns.b()
232
- }, [vue.createVNode("table", {
233
- "class": [this.ns.e("thead")]
234
- }, [this.renderThead()]), vue.createVNode("div", {
235
- "class": this.ns.e("table-body")
236
- }, [vue.createVNode("div", {
237
- "class": this.ns.em("table-body", "scroll")
238
- }, [vue.createVNode("table", {
239
- "class": [this.ns.e("tbody"), this.isInRange && "is-range"]
240
- }, [this.renderTbody()])])])]);
241
- }
242
- });
243
-
244
- exports.CalendarMonth = CalendarMonth;
@@ -1 +0,0 @@
1
- .ibiz-calendar-month{width:100%;height:100%;display:flex;flex-direction:column}.ibiz-calendar-month__thead{width:100%;height:46px}.ibiz-calendar-month__thead th{padding:12px 0;font-weight:400}.ibiz-calendar-month__tbody{width:100%;height:100%;table-layout:fixed;width:100%}.ibiz-calendar-month__tbody:not(.is-range) td.next,.ibiz-calendar-month__tbody:not(.is-range) td.prev{color:var(--el-text-color-placeholder)}.ibiz-calendar-month__table-body{width:100%;height:100%;flex:1;padding-bottom:8px;overflow:scroll}.ibiz-calendar-month__table-body--scroll{width:auto;height:auto;overflow:scroll}.ibiz-calendar-month__row{min-height:126px}.ibiz-calendar-month__row:first-child td{border-top:1px solid var(--ibiz-color-border)}.ibiz-calendar-month__row--td{width:auto;border-bottom:1px solid var(--ibiz-color-border);border-right:1px solid var(--ibiz-color-border);vertical-align:top;transition:background-color var(--ibiz-color-border) ease;cursor:pointer}.ibiz-calendar-month__row--td.is-today{color:var(--el-color-primary)}.ibiz-calendar-month__row--td.is-selected{background-color:#ecf5ff}.ibiz-calendar-month__row--td.is-selected .ibiz-calendar-month__cell{background:#ecf5ff}.ibiz-calendar-month__row--td:first-child{border-left:1px solid var(--ibiz-color-border)}.ibiz-calendar-month__row--calendar-day{position:relative;z-index:1;height:auto}.ibiz-calendar-month__row--calendar-day:hover{background:0 0}.ibiz-calendar-month__cell{height:126px;width:100%;min-height:126px;display:flex;flex-direction:column;position:relative}.ibiz-calendar-month__container{width:100%;height:100%;position:absolute;left:0;right:0}.ibiz-calendar-month__container__events{position:relative;z-index:2}.ibiz-calendar-month__event-box{width:100%;height:auto;min-height:24px;display:flex;align-items:center;position:absolute;left:0;top:0}.ibiz-calendar-month__event-content{width:100%;height:20px;line-height:20px;padding:0 4px;border:none;outline:0;text-align:left;border-radius:4px;background:var(--ibiz-color-primary);color:#fff;position:relative;overflow:hidden;cursor:pointer}.ibiz-calendar-month__event-content:active{animation:pulse 1s linear}.ibiz-calendar-month__event-content--btn-ripple{position:absolute;display:block;width:50px;height:20px;border-radius:10px;background:rgba(255,255,255,.4);animation:ripple 1s ease}.ibiz-calendar-month__event-content--event-summary{text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ibiz-calendar-month__event-content--event-name{margin-right:6px}.ibiz-calendar-month__event-content--time-range{margin-right:6px}.ibiz-calendar-month__event-content--check{color:var(--ibiz-color-primary);position:absolute;right:6px;top:50%;transform:translate(0,-50%)}.ibiz-calendar-month__more-popover.el-popper.el-popper{padding:0;border-radius:4px}.ibiz-calendar-month__more-popover--more-events{height:20px;padding:2px;position:absolute;left:0;top:106px}.ibiz-calendar-month__more-popover--body{width:100%;height:auto}.ibiz-calendar-month__more-popover--title{padding:6px 8px;font-size:16px;text-align:left;border-bottom:1px solid var(--ibiz-color-border)}.ibiz-calendar-month__more-popover--events-content{width:100%;height:auto;max-height:380px;padding:8px 10px;overflow-x:hidden;overflow-y:scroll}.ibiz-calendar-month__more-popover .event-box{position:static}.ibiz-calendar-month__more-popover .event-box:nth-child(1){margin-top:0}.ibiz-calendar-month__event-popover{padding:0;width:auto;height:auto;position:relative}.ibiz-calendar-month__event-popover.el-popover.el-popper{padding:24px 12px 8px 12px}.ibiz-calendar-month__event-popover--body{width:auto;height:auto;overflow:hidden}.ibiz-calendar-month__event-popover--scroll{width:auto;height:auto;min-width:450px;min-height:200px;overflow:auto}.ibiz-calendar-month__event-popover--close{position:absolute;right:8px;top:8px;cursor:pointer}.ibiz-calendar-month__event-popover--close:hover .el-icon{background:var(--ibiz-color-primary);border-radius:50%}.ibiz-calendar-month__event-popover--close:hover .el-icon svg{fill:#fff}.ibiz-calendar-month__event-popover .el-icon{font-size:20px;min-height:24px;min-width:24px;display:flex;justify-content:center;align-items:center}.ibiz-calendar-month__event-popover .el-icon svg{fill:var(--el-text-color-secondary)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.03)}100%{transform:scale(1)}}
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var vue3Util = require('@ibiz-template/vue3-util');
6
- var calendarMonth = require('./calendar-month.cjs');
7
-
8
- "use strict";
9
- const IBizCalendarMonth = vue3Util.withInstall(calendarMonth.CalendarMonth, function(v) {
10
- v.component(calendarMonth.CalendarMonth.name, calendarMonth.CalendarMonth);
11
- });
12
-
13
- exports.IBizCalendarMonth = IBizCalendarMonth;
14
- exports.default = IBizCalendarMonth;
@@ -1,386 +0,0 @@
1
- 'use strict';
2
-
3
- var vue = require('vue');
4
- var dayjs = require('dayjs');
5
- var localeData = require('../../../../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.cjs');
6
- var ramda = require('ramda');
7
- var ElementPlus = require('element-plus');
8
- require('../util/index.cjs');
9
- var util = require('../util/util.cjs');
10
-
11
- "use strict";
12
- const useCalendarMonth = (props, emit) => {
13
- dayjs.extend(localeData.default);
14
- const firstDayOfWeek = dayjs.localeData().firstDayOfWeek();
15
- const { lang } = ElementPlus.useLocale();
16
- const now = dayjs().locale(lang.value);
17
- const rows = vue.ref([]);
18
- const multiple = vue.computed(() => props.multiple === true);
19
- const selectedData = vue.ref([]);
20
- const popVisible = vue.ref(true);
21
- const tableTd = vue.ref();
22
- const legends = vue.ref([]);
23
- const selectedDay = vue.ref();
24
- const hideHeader = vue.computed(() => props.hideHeader);
25
- const isInRange = vue.computed(() => !!props.range && !!props.range.length);
26
- const weekDays = vue.computed(() => {
27
- const start = firstDayOfWeek;
28
- let tempValue;
29
- const tempWeeks = [
30
- "sunday",
31
- "monday",
32
- "tuesday",
33
- "wednesday",
34
- "thursday",
35
- "friday",
36
- "saturday"
37
- ];
38
- if (start === 0) {
39
- tempValue = tempWeeks.map((item) => {
40
- return ibiz.i18n.t("control.calendar.calendarmonth.weeks.".concat(item));
41
- });
42
- } else {
43
- tempValue = tempWeeks.slice(start).concat(tempWeeks.slice(0, start)).map((item) => {
44
- return ibiz.i18n.t("control.calendar.calendarmonth.weeks.".concat(item));
45
- });
46
- }
47
- return tempValue;
48
- });
49
- const getPrevMonthLastDays = (date, count) => {
50
- const lastDay = date.subtract(1, "month").endOf("month").date();
51
- return util.rangeArr(count).map(
52
- (_, index) => lastDay - (count - index - 1)
53
- );
54
- };
55
- const getMonthDays = (date) => {
56
- const days = date.daysInMonth();
57
- return util.rangeArr(days).map((_, index) => index + 1);
58
- };
59
- const toNestedArr = (days) => util.rangeArr(days.length / 7).map((index) => {
60
- const start = index * 7;
61
- return days.slice(start, start + 7);
62
- });
63
- const isDateRange = (curDate, event) => {
64
- const startDate = new Date(event == null ? void 0 : event.beginTime);
65
- const endDate = new Date(event == null ? void 0 : event.endTime);
66
- startDate.setHours(0, 0, 0, 0);
67
- endDate.setHours(0, 0, 0, 0);
68
- return curDate && (event == null ? void 0 : event.beginTime) && (event == null ? void 0 : event.endTime) && curDate.getTime() <= new Date(endDate).getTime() && curDate.getTime() >= new Date(startDate).getTime() && startDate.getTime() !== endDate.getTime();
69
- };
70
- const handleCurDayEvent = (curDate, events, td) => {
71
- let tempEvents = [];
72
- const tempArray = [];
73
- const todayEvents = [];
74
- const rangeEvents = [];
75
- const tempColors = /* @__PURE__ */ new Map();
76
- const { firstDay, lastDay } = util.getCurWeekDates(curDate);
77
- events.forEach((event) => {
78
- const tempEvent = {};
79
- Object.assign(tempEvent, event);
80
- if (curDate && event.beginTime) {
81
- if (!(event == null ? void 0 : event.endTime)) {
82
- Object.assign(tempEvent, { endTime: event.beginTime });
83
- }
84
- if (util.isToday(tempEvent == null ? void 0 : tempEvent.beginTime, curDate) && util.isToday(tempEvent.beginTime, tempEvent.endTime)) {
85
- todayEvents.push(tempEvent);
86
- } else if (curDate && isDateRange(curDate, tempEvent)) {
87
- Object.assign(tempEvent, { isRange: true });
88
- rangeEvents.push(tempEvent);
89
- } else if (!util.isToday(tempEvent.beginTime, tempEvent.endTime) && util.isTimeGreaterThan(curDate, tempEvent.beginTime) && (util.isDateInCurWeek(tempEvent.beginTime, firstDay, lastDay) || util.isDateInCurWeek(tempEvent.endTime, firstDay, lastDay))) {
90
- Object.assign(tempEvent, { isShow: false });
91
- rangeEvents.push(tempEvent);
92
- }
93
- }
94
- });
95
- rangeEvents.sort((a, b) => {
96
- const type = new Date(a.beginTime).getTime() - new Date(b.beginTime).getTime();
97
- return type;
98
- });
99
- todayEvents.sort((a, b) => {
100
- const type = new Date(a.beginTime).getTime() - new Date(b.beginTime).getTime();
101
- return type;
102
- });
103
- tempEvents = tempEvents.concat(rangeEvents, todayEvents);
104
- tempEvents.forEach((event, index) => {
105
- util.handleBkColor(tempColors, event.itemType);
106
- const legendIndex = legends.value.findIndex(
107
- (legendItem) => Object.is(legendItem.id, event.itemType)
108
- );
109
- const targetEvent = selectedData.value.find(
110
- (item) => item.id === event.id
111
- );
112
- const tempEvent = {};
113
- Object.assign(tempEvent, event);
114
- Object.assign(tempEvent, {
115
- beginTime: event.beginTime,
116
- end: event.endTime,
117
- id: event.id
118
- });
119
- if (event.endTime) {
120
- const format = util.isToday(event == null ? void 0 : event.beginTime, event.endTime) ? "YYYY-MM-DD HH:mm" : "YYYY-MM-DD";
121
- const timeRange = util.handleTimeRange(
122
- event.beginTime,
123
- event.endTime,
124
- format,
125
- "~"
126
- );
127
- Object.assign(tempEvent, { timeRange });
128
- }
129
- if (!(event == null ? void 0 : event.bkColor)) {
130
- const bkColor = legendIndex !== -1 ? legends.value[legendIndex].bkcolor : util.handleBkColor(tempColors, event.itemType);
131
- Object.assign(tempEvent, { bkColor });
132
- }
133
- if (!(event == null ? void 0 : event.color)) {
134
- Object.assign(tempEvent, { color: "#FFF" });
135
- }
136
- if (util.isToday(event == null ? void 0 : event.beginTime, curDate) && util.isToday(event == null ? void 0 : event.beginTime, event == null ? void 0 : event.endTime)) {
137
- Object.assign(tempEvent, { isToday: true });
138
- }
139
- if (isDateRange(curDate, event) && (curDate.getDay() === 0 || util.isToday(event == null ? void 0 : event.beginTime, curDate))) {
140
- if (td && index < 3) {
141
- const currentDay = curDate.getDay();
142
- const saturdayDate = new Date(curDate);
143
- saturdayDate.setDate(curDate.getDate() + (6 - currentDay));
144
- const endDate = new Date(event == null ? void 0 : event.endTime);
145
- let week = 1;
146
- if (currentDay === 0) {
147
- if (endDate.getTime() > saturdayDate.getTime() || util.isToday(endDate, saturdayDate)) {
148
- week = 7;
149
- } else {
150
- week = endDate.getDay() + 1;
151
- }
152
- } else if (endDate.getTime() > saturdayDate.getTime()) {
153
- week = 7 - currentDay;
154
- } else {
155
- week = endDate.getDay() - currentDay;
156
- week += 1;
157
- }
158
- const tempWidth = week * 100;
159
- let tempVal = 0;
160
- const fillUp = week - 1;
161
- let widthDifference = 0;
162
- if (currentDay === 0) {
163
- widthDifference = 5;
164
- tempVal += widthDifference * fillUp;
165
- if (endDate.getTime() > saturdayDate.getTime()) {
166
- tempVal += 3;
167
- } else {
168
- tempVal += 2;
169
- }
170
- } else if (week > 1) {
171
- widthDifference = 4;
172
- tempVal += widthDifference * fillUp;
173
- }
174
- const width = "calc(".concat(tempWidth, "% + ").concat(tempVal, "px)");
175
- Object.assign(tempEvent, { width });
176
- }
177
- Object.assign(tempEvent, { isShow: true });
178
- }
179
- if (targetEvent) {
180
- Object.assign(tempEvent, { isSelectedEvent: true });
181
- } else {
182
- Object.assign(tempEvent, { isSelectedEvent: false });
183
- }
184
- if (legendIndex !== -1 && legends.value[legendIndex].isShow || legendIndex === -1) {
185
- tempArray.push(tempEvent);
186
- }
187
- });
188
- tempColors.clear();
189
- return tempArray;
190
- };
191
- const handleMonthDraw = () => {
192
- let days = [];
193
- if (isInRange.value) {
194
- const [start, end] = props.range;
195
- const currentMonthRange = util.rangeArr(
196
- end.date() - start.date() + 1
197
- ).map((index) => {
198
- const curDate = new Date(
199
- start.year(),
200
- start.month(),
201
- start.date() + index
202
- );
203
- const curDayEvents = handleCurDayEvent(
204
- curDate,
205
- props.events,
206
- tableTd.value
207
- );
208
- return {
209
- text: start.date() + index,
210
- type: "current",
211
- events: curDayEvents,
212
- curDate: dayjs(curDate)
213
- };
214
- });
215
- let remaining = currentMonthRange.length % 7;
216
- remaining = remaining === 0 ? 0 : 7 - remaining;
217
- const nextMonthRange = util.rangeArr(remaining).map(
218
- (_, index) => {
219
- const curDate = new Date(start.year(), start.month() + 1, index + 1);
220
- const curDayEvents = handleCurDayEvent(
221
- curDate,
222
- props.events,
223
- tableTd.value
224
- );
225
- return {
226
- text: index + 1,
227
- type: "next",
228
- events: curDayEvents,
229
- curDate: dayjs(curDate)
230
- };
231
- }
232
- );
233
- days = currentMonthRange.concat(nextMonthRange);
234
- } else {
235
- const firstDay = props.date.startOf("month").day();
236
- const prevMonthDays = getPrevMonthLastDays(
237
- props.date,
238
- (firstDay - firstDayOfWeek + 7) % 7
239
- ).map((day) => {
240
- const curDate = new Date(
241
- props.date.year(),
242
- props.date.month() - 1,
243
- day
244
- );
245
- const curDayEvents = handleCurDayEvent(
246
- curDate,
247
- props.events,
248
- tableTd.value
249
- );
250
- return {
251
- text: day,
252
- type: "prev",
253
- events: curDayEvents,
254
- curDate: dayjs(curDate)
255
- };
256
- });
257
- const currentMonthDays = getMonthDays(props.date).map(
258
- (day) => {
259
- const curDate = new Date(props.date.year(), props.date.month(), day);
260
- const curDayEvents = handleCurDayEvent(
261
- curDate,
262
- props.events,
263
- tableTd.value
264
- );
265
- return {
266
- text: day,
267
- type: "current",
268
- events: curDayEvents,
269
- curDate: dayjs(curDate)
270
- };
271
- }
272
- );
273
- days = [...prevMonthDays, ...currentMonthDays];
274
- const remaining = 7 - (days.length % 7 || 7);
275
- const nextMonthDays = util.rangeArr(remaining).map(
276
- (_, index) => {
277
- const curDate = new Date(
278
- props.date.year(),
279
- props.date.month() + 1,
280
- index + 1
281
- );
282
- const curDayEvents = handleCurDayEvent(
283
- curDate,
284
- props.events,
285
- tableTd.value
286
- );
287
- return {
288
- text: index + 1,
289
- type: "next",
290
- events: curDayEvents,
291
- curDate: dayjs(curDate)
292
- };
293
- }
294
- );
295
- days = days.concat(nextMonthDays);
296
- }
297
- rows.value = toNestedArr(days);
298
- };
299
- const getFormattedDate = (day, type) => {
300
- switch (type) {
301
- case "prev":
302
- return props.date.startOf("month").subtract(1, "month").date(day);
303
- case "next":
304
- return props.date.startOf("month").add(1, "month").date(day);
305
- case "current":
306
- return props.date.date(day);
307
- default:
308
- return null;
309
- }
310
- };
311
- const handlePickDay = ({ text, type }) => {
312
- const date = getFormattedDate(text, type);
313
- selectedDay.value = date;
314
- if (type === "prev" || type === "next") {
315
- emit("pickEvent", date);
316
- }
317
- };
318
- const getSlotData = ({ text, type, events }) => {
319
- const day = getFormattedDate(text, type);
320
- return {
321
- isSelected: day.isSame(props.selectedDay),
322
- type: "".concat(type, "-month"),
323
- day: day.format("YYYY-MM-DD"),
324
- date: day.toDate(),
325
- events
326
- };
327
- };
328
- const getCellClass = ({ text, type }) => {
329
- const classes = [type];
330
- if (type === "current") {
331
- const date = getFormattedDate(text, type);
332
- if (date.isSame(selectedDay.value, "day")) {
333
- classes.push("is-selected");
334
- }
335
- if (date.isSame(now, "day")) {
336
- classes.push("is-today");
337
- }
338
- }
339
- return classes;
340
- };
341
- const eventClick = async (item, location) => {
342
- const res = await util.handleEVentClick(
343
- item,
344
- location,
345
- props.events,
346
- multiple.value,
347
- selectedData.value,
348
- emit
349
- );
350
- const { tempSelectedData } = res;
351
- selectedData.value = tempSelectedData;
352
- handleMonthDraw();
353
- };
354
- const handleEventsMoreData = (cell) => {
355
- let events = ramda.clone(cell.events);
356
- const { curDate } = cell;
357
- const tempEvents = [];
358
- events = events.splice(3, events.length);
359
- events.forEach((event) => {
360
- if (curDate && isDateRange(new Date(curDate), event) || util.isToday(event.beginTime, event.endTime)) {
361
- tempEvents.push(event);
362
- }
363
- });
364
- return tempEvents;
365
- };
366
- return {
367
- isInRange,
368
- rows,
369
- weekDays,
370
- hideHeader,
371
- tableTd,
372
- legends,
373
- selectedDay,
374
- selectedData,
375
- popVisible,
376
- getFormattedDate,
377
- handlePickDay,
378
- getSlotData,
379
- getCellClass,
380
- eventClick,
381
- handleMonthDraw,
382
- handleEventsMoreData
383
- };
384
- };
385
-
386
- exports.useCalendarMonth = useCalendarMonth;
@@ -1,46 +0,0 @@
1
- 'use strict';
2
-
3
- require('../util/index.cjs');
4
- var util = require('../util/util.cjs');
5
-
6
- "use strict";
7
- const calendarMonthProps = util.handleProps({
8
- controller: {
9
- type: Object
10
- },
11
- selectedDay: {
12
- type: util.definePropType(Object)
13
- },
14
- range: {
15
- type: util.definePropType(Array)
16
- },
17
- date: {
18
- type: util.definePropType(Object),
19
- required: true
20
- },
21
- hideHeader: {
22
- type: Boolean
23
- },
24
- events: {
25
- type: Array,
26
- default: []
27
- },
28
- legends: {
29
- type: Array,
30
- default: []
31
- },
32
- multiple: {
33
- type: Boolean
34
- },
35
- selectedData: {
36
- type: Object
37
- }
38
- });
39
- const calendarMonthEmits = {
40
- pickEvent: (value) => value,
41
- eventClick: (value) => value,
42
- eventDblClick: (value) => value
43
- };
44
-
45
- exports.calendarMonthEmits = calendarMonthEmits;
46
- exports.calendarMonthProps = calendarMonthProps;