@voplus/morpho-workspace 11.1.0 → 11.2.0

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 (326) hide show
  1. package/es/components/AutoSequenceDialog/index.js +1 -1
  2. package/es/components/AutoSequenceDialog/index.js.map +1 -1
  3. package/es/components/TeamTaskList/index.js +1 -1
  4. package/es/components/TeamTaskList/index.js.map +1 -1
  5. package/es/controls/filters/AssigneeViewFilter/index.js +4 -12
  6. package/es/controls/filters/AssigneeViewFilter/index.js.map +1 -1
  7. package/es/controls/filters/EventsFilter/state.js +1 -6
  8. package/es/controls/filters/EventsFilter/state.js.map +1 -1
  9. package/es/controls/filters/TaskStatusFilter/state.js +1 -6
  10. package/es/controls/filters/TaskStatusFilter/state.js.map +1 -1
  11. package/es/controls/filters/WorkStatusFilter/state.js +1 -6
  12. package/es/controls/filters/WorkStatusFilter/state.js.map +1 -1
  13. package/es/controls/filters/WorkTypeStatusFilter/state.js +1 -6
  14. package/es/controls/filters/WorkTypeStatusFilter/state.js.map +1 -1
  15. package/es/controls/filters/WorkTypesFilter/state.js +1 -6
  16. package/es/controls/filters/WorkTypesFilter/state.js.map +1 -1
  17. package/es/data/board/hooks.js.map +1 -1
  18. package/es/data/calendar/CalendarStore.js +1 -1
  19. package/es/data/calendar/CalendarStore.js.map +1 -1
  20. package/es/data/calendar/hooks.js.map +1 -1
  21. package/es/data/meeting/MeetingStore.js.map +1 -1
  22. package/es/data/meeting/hooks.js.map +1 -1
  23. package/es/data/notification/NotificationStore.js.map +1 -1
  24. package/es/data/notification/hooks.js.map +1 -1
  25. package/es/data/notification-workspace/NotificationStore.js.map +1 -1
  26. package/es/data/notification-workspace/hooks.js.map +1 -1
  27. package/es/data/reports/useEstimatedTimeEffect.js.map +1 -1
  28. package/es/data/reports/useTaskSummaryEffect.js.map +1 -1
  29. package/es/data/work/hook.js.map +1 -1
  30. package/es/data/work-report/WorkReportStore.js.map +1 -1
  31. package/es/data/work-schedule/WorkScheduleStore.js.map +1 -1
  32. package/es/data/work-schedule/hooks.js.map +1 -1
  33. package/es/data/workerror/WorkErrorStore.js.map +1 -1
  34. package/es/data/workerror/hook.js.map +1 -1
  35. package/es/data/workspace/WorkSpaceStore.js.map +1 -1
  36. package/es/data/workspace/hooks.js.map +1 -1
  37. package/es/data/worktype/WorkTypeStore.js.map +1 -1
  38. package/es/data/worktype/hook.js.map +1 -1
  39. package/es/modules/Routes.d.ts +6 -0
  40. package/es/modules/Routes.js +13 -0
  41. package/es/modules/Routes.js.map +1 -1
  42. package/es/modules/board/components/Board/index.js +2 -3
  43. package/es/modules/board/components/Board/index.js.map +1 -1
  44. package/es/modules/board/components/BoardColumn/index.js +1 -1
  45. package/es/modules/board/components/BoardColumn/index.js.map +1 -1
  46. package/es/modules/board/components/NewBoardColumnDialog/index.js +1 -1
  47. package/es/modules/board/components/NewBoardColumnDialog/index.js.map +1 -1
  48. package/es/modules/board/components/SubDocumentList/index.js +1 -1
  49. package/es/modules/board/components/SubDocumentList/index.js.map +1 -1
  50. package/es/modules/calendar/pages/CalendarMonth/index.d.ts +1 -0
  51. package/es/modules/calendar/pages/CalendarMonth/index.js +15 -1
  52. package/es/modules/calendar/pages/CalendarMonth/index.js.map +1 -1
  53. package/es/modules/calendar-board/CalendarBoardRoutes.d.ts +12 -0
  54. package/es/modules/calendar-board/CalendarBoardRoutes.js +28 -0
  55. package/es/modules/calendar-board/CalendarBoardRoutes.js.map +1 -0
  56. package/es/modules/calendar-board/components/CalendarBoardGrid/index.d.ts +45 -0
  57. package/es/modules/calendar-board/components/CalendarBoardGrid/index.js +48 -0
  58. package/es/modules/calendar-board/components/CalendarBoardGrid/index.js.map +1 -0
  59. package/es/modules/calendar-board/components/CalendarEventChip/index.d.ts +22 -0
  60. package/es/modules/calendar-board/components/CalendarEventChip/index.js +20 -0
  61. package/es/modules/calendar-board/components/CalendarEventChip/index.js.map +1 -0
  62. package/es/modules/calendar-board/components/CalendarLegend/index.d.ts +37 -0
  63. package/es/modules/calendar-board/components/CalendarLegend/index.js +81 -0
  64. package/es/modules/calendar-board/components/CalendarLegend/index.js.map +1 -0
  65. package/es/modules/calendar-board/components/CalendarMoreLink/index.d.ts +11 -0
  66. package/es/modules/calendar-board/components/CalendarMoreLink/index.js +12 -0
  67. package/es/modules/calendar-board/components/CalendarMoreLink/index.js.map +1 -0
  68. package/es/modules/calendar-board/components/CalendarSidebar/index.d.ts +27 -0
  69. package/es/modules/calendar-board/components/CalendarSidebar/index.js +43 -0
  70. package/es/modules/calendar-board/components/CalendarSidebar/index.js.map +1 -0
  71. package/es/modules/calendar-board/components/CalendarToolbar/index.d.ts +23 -0
  72. package/es/modules/calendar-board/components/CalendarToolbar/index.js +28 -0
  73. package/es/modules/calendar-board/components/CalendarToolbar/index.js.map +1 -0
  74. package/es/modules/calendar-board/event-meta.d.ts +160 -0
  75. package/es/modules/calendar-board/event-meta.js +209 -0
  76. package/es/modules/calendar-board/event-meta.js.map +1 -0
  77. package/es/modules/calendar-board/pages/CalendarBoard/index.css +262 -0
  78. package/es/modules/calendar-board/pages/CalendarBoard/index.d.ts +4 -0
  79. package/es/modules/calendar-board/pages/CalendarBoard/index.js +181 -0
  80. package/es/modules/calendar-board/pages/CalendarBoard/index.js.map +1 -0
  81. package/es/modules/calendar-board/pages/CalendarBoard/state.d.ts +116 -0
  82. package/es/modules/calendar-board/pages/CalendarBoard/state.js +232 -0
  83. package/es/modules/calendar-board/pages/CalendarBoard/state.js.map +1 -0
  84. package/es/modules/calendar-board/sidebar-data.d.ts +27 -0
  85. package/es/modules/calendar-board/sidebar-data.js +19 -0
  86. package/es/modules/calendar-board/sidebar-data.js.map +1 -0
  87. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js +1 -1
  88. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js.map +1 -1
  89. package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.js +1 -1
  90. package/es/modules/meeting/components/AgendaList/AgendaNewForm/index.js.map +1 -1
  91. package/es/modules/meeting/components/AgendaList/index.js +1 -1
  92. package/es/modules/meeting/components/AgendaList/index.js.map +1 -1
  93. package/es/modules/meeting/components/MeetingHeader/index.js +2 -2
  94. package/es/modules/meeting/components/MeetingHeader/index.js.map +1 -1
  95. package/es/modules/meeting/components/MeetingProperties/index.js +1 -1
  96. package/es/modules/meeting/components/MeetingProperties/index.js.map +1 -1
  97. package/es/modules/meeting/components/NewMeetingForm/index.js +2 -2
  98. package/es/modules/meeting/components/NewMeetingForm/index.js.map +1 -1
  99. package/es/modules/my-document/DocumentViewContext.js.map +1 -1
  100. package/es/modules/my-document/SectionTemplate/DocumentTableUI/index.js.map +1 -1
  101. package/es/modules/notification/components/NewNotificationForm/NotificationForm.js +2 -2
  102. package/es/modules/notification/components/NewNotificationForm/NotificationForm.js.map +1 -1
  103. package/es/modules/notification/components/NotificationTabs/index.js +1 -2
  104. package/es/modules/notification/components/NotificationTabs/index.js.map +1 -1
  105. package/es/modules/notification/controls/NotificationStatusFilter/state.js +1 -6
  106. package/es/modules/notification/controls/NotificationStatusFilter/state.js.map +1 -1
  107. package/es/modules/notification-workspace/components/NotificationList/index.js +1 -5
  108. package/es/modules/notification-workspace/components/NotificationList/index.js.map +1 -1
  109. package/es/modules/project/data/hook.js.map +1 -1
  110. package/es/modules/tasks/components/AddTaskDropdown/index.js +1 -2
  111. package/es/modules/tasks/components/AddTaskDropdown/index.js.map +1 -1
  112. package/es/modules/tasks/components/DelegateDialog/index.js +2 -3
  113. package/es/modules/tasks/components/DelegateDialog/index.js.map +1 -1
  114. package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.js +4 -5
  115. package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.js.map +1 -1
  116. package/es/modules/tasks/components/NewTaskForm/index.js +2 -5
  117. package/es/modules/tasks/components/NewTaskForm/index.js.map +1 -1
  118. package/es/modules/tasks/components/NotificationNewTaskForm/index.js +1 -1
  119. package/es/modules/tasks/components/NotificationNewTaskForm/index.js.map +1 -1
  120. package/es/modules/tasks/components/SubTaskList/index.js +2 -2
  121. package/es/modules/tasks/components/SubTaskList/index.js.map +1 -1
  122. package/es/modules/tasks/components/TaskCheckActiveTab/index.js +5 -5
  123. package/es/modules/tasks/components/TaskCheckActiveTab/index.js.map +1 -1
  124. package/es/modules/tasks/components/TaskCheckDoneTab/index.js.map +1 -1
  125. package/es/modules/tasks/components/TaskCheckItem/index.js +7 -14
  126. package/es/modules/tasks/components/TaskCheckItem/index.js.map +1 -1
  127. package/es/modules/tasks/components/TaskCheckList/index.js.map +1 -1
  128. package/es/modules/tasks/components/TaskCheckNewForm/index.js +1 -1
  129. package/es/modules/tasks/components/TaskCheckNewForm/index.js.map +1 -1
  130. package/es/modules/tasks/components/TaskEstimatedTime/index.js +1 -1
  131. package/es/modules/tasks/components/TaskEstimatedTime/index.js.map +1 -1
  132. package/es/modules/tasks/components/TaskEstimatedTime/state.js.map +1 -1
  133. package/es/modules/tasks/components/TaskItem/DefaultTaskItem.js +4 -9
  134. package/es/modules/tasks/components/TaskItem/DefaultTaskItem.js.map +1 -1
  135. package/es/modules/tasks/components/TaskItem/SubTaskItem.js +2 -2
  136. package/es/modules/tasks/components/TaskItem/SubTaskItem.js.map +1 -1
  137. package/es/modules/tasks/components/TaskItem/state.js +1 -3
  138. package/es/modules/tasks/components/TaskItem/state.js.map +1 -1
  139. package/es/modules/tasks/components/TaskProperties/index.js +2 -4
  140. package/es/modules/tasks/components/TaskProperties/index.js.map +1 -1
  141. package/es/modules/tasks/components/TaskSimpleProperties/index.js +3 -5
  142. package/es/modules/tasks/components/TaskSimpleProperties/index.js.map +1 -1
  143. package/es/modules/tasks/components/TaskTabs/index.js +1 -2
  144. package/es/modules/tasks/components/TaskTabs/index.js.map +1 -1
  145. package/es/modules/tasks/components/task-check/TaskCheckDoneTab/index.js.map +1 -1
  146. package/es/modules/tasks/components/task-check/TaskCheckNewForm/index.js +1 -1
  147. package/es/modules/tasks/components/task-check/TaskCheckNewForm/index.js.map +1 -1
  148. package/es/modules/tasks/components/task-check/TaskCheckTableCard/TableCell.js +3 -5
  149. package/es/modules/tasks/components/task-check/TaskCheckTableCard/TableCell.js.map +1 -1
  150. package/es/modules/tasks/components/task-check/TaskCheckTableList/index.js.map +1 -1
  151. package/es/modules/tasks/controls/DueDateToolBar/index.js +4 -9
  152. package/es/modules/tasks/controls/DueDateToolBar/index.js.map +1 -1
  153. package/es/modules/tasks/controls/TaskStatusDataIcon/index.js +4 -9
  154. package/es/modules/tasks/controls/TaskStatusDataIcon/index.js.map +1 -1
  155. package/es/modules/tasks/pages/TaskList/index.js +1 -1
  156. package/es/modules/tasks/pages/TaskList/index.js.map +1 -1
  157. package/es/modules/tasks/pages/TaskTabView/index.js +2 -4
  158. package/es/modules/tasks/pages/TaskTabView/index.js.map +1 -1
  159. package/es/modules/work/components/NewWorkForm/index.js +3 -5
  160. package/es/modules/work/components/NewWorkForm/index.js.map +1 -1
  161. package/es/modules/work/components/RelatedWorkList/RelatedWorkList.js +1 -2
  162. package/es/modules/work/components/RelatedWorkList/RelatedWorkList.js.map +1 -1
  163. package/es/modules/work/components/WorkList/index.js +1 -1
  164. package/es/modules/work/components/WorkList/index.js.map +1 -1
  165. package/es/modules/work/components/WorkTableCard/index.js.map +1 -1
  166. package/es/modules/work/components/WorkTableListCard/TableCell.js +9 -13
  167. package/es/modules/work/components/WorkTableListCard/TableCell.js.map +1 -1
  168. package/es/modules/work/components/WorkTableListCard/index.js.map +1 -1
  169. package/es/modules/work/components/WorkTableListCardPage/index.js.map +1 -1
  170. package/es/modules/work/components/WorkTabs/index.js +1 -2
  171. package/es/modules/work/components/WorkTabs/index.js.map +1 -1
  172. package/es/modules/work/components/WorksProperties/index.js +2 -2
  173. package/es/modules/work/components/WorksProperties/index.js.map +1 -1
  174. package/es/modules/work/controls/WorkMenu/item/Accept.js +2 -5
  175. package/es/modules/work/controls/WorkMenu/item/Accept.js.map +1 -1
  176. package/es/modules/work/controls/WorkMenu/item/Reject.js +2 -5
  177. package/es/modules/work/controls/WorkMenu/item/Reject.js.map +1 -1
  178. package/es/modules/work/controls/WorkMenu/item/Send.js +4 -7
  179. package/es/modules/work/controls/WorkMenu/item/Send.js.map +1 -1
  180. package/es/modules/work/controls/WorkMenu/item/Took.js +2 -5
  181. package/es/modules/work/controls/WorkMenu/item/Took.js.map +1 -1
  182. package/es/modules/work/controls/WorkStatusDataIcon/index.js +4 -8
  183. package/es/modules/work/controls/WorkStatusDataIcon/index.js.map +1 -1
  184. package/es/modules/work/work-error/components/NewWorkErrorDialog/index.js +1 -1
  185. package/es/modules/work/work-error/components/NewWorkErrorDialog/index.js.map +1 -1
  186. package/es/modules/work/work-error/components/WorkErrorProperties/index.js +7 -9
  187. package/es/modules/work/work-error/components/WorkErrorProperties/index.js.map +1 -1
  188. package/es/modules/work/work-error/components/WorkErrorTabs/index.js +1 -2
  189. package/es/modules/work/work-error/components/WorkErrorTabs/index.js.map +1 -1
  190. package/es/modules/work/work-schedule/components/NewWorkScheduleForm/index.js +3 -5
  191. package/es/modules/work/work-schedule/components/NewWorkScheduleForm/index.js.map +1 -1
  192. package/es/modules/work/work-schedule/components/WorkScheduleProperties/index.js +7 -9
  193. package/es/modules/work/work-schedule/components/WorkScheduleProperties/index.js.map +1 -1
  194. package/es/modules/work/work-schedule/components/WorkScheduleTabs/index.js +1 -2
  195. package/es/modules/work/work-schedule/components/WorkScheduleTabs/index.js.map +1 -1
  196. package/es/modules/work/work-schedule/controls/WorkScheduleMenu/item/LinkWork.js +5 -7
  197. package/es/modules/work/work-schedule/controls/WorkScheduleMenu/item/LinkWork.js.map +1 -1
  198. package/es/modules/work/work-type/components/ChangeWorkDefaultFolderDialog/index.js +3 -5
  199. package/es/modules/work/work-type/components/ChangeWorkDefaultFolderDialog/index.js.map +1 -1
  200. package/es/modules/work/work-type/components/NewTypeForm/index.js +1 -1
  201. package/es/modules/work/work-type/components/NewTypeForm/index.js.map +1 -1
  202. package/es/modules/work/work-type/components/WorkTypeProperties/Properties.js +3 -5
  203. package/es/modules/work/work-type/components/WorkTypeProperties/Properties.js.map +1 -1
  204. package/es/modules/work/work-type/components/WorkTypeQA/index.js +1 -1
  205. package/es/modules/work/work-type/components/WorkTypeQA/index.js.map +1 -1
  206. package/es/modules/work/work-type/pages/WorkTypePage/index.js +1 -2
  207. package/es/modules/work/work-type/pages/WorkTypePage/index.js.map +1 -1
  208. package/es/modules/workspace/components/NewWorkspaceDialog/index.js +1 -1
  209. package/es/modules/workspace/components/NewWorkspaceDialog/index.js.map +1 -1
  210. package/es/obsolete/BoardPropertiesView/index.d.ts +9 -0
  211. package/es/obsolete/BoardPropertiesView/index.js +45 -0
  212. package/es/obsolete/BoardPropertiesView/index.js.map +1 -0
  213. package/es/obsolete/NotificationItem/index.css +21 -0
  214. package/es/obsolete/NotificationItem/index.d.ts +6 -0
  215. package/es/obsolete/NotificationItem/index.js +34 -0
  216. package/es/obsolete/NotificationItem/index.js.map +1 -0
  217. package/es/obsolete/NotificationList2/index.css +9 -0
  218. package/es/obsolete/NotificationList2/index.d.ts +13 -0
  219. package/es/obsolete/NotificationList2/index.js +50 -0
  220. package/es/obsolete/NotificationList2/index.js.map +1 -0
  221. package/es/obsolete/WorkTypeDefaultView/index.css +17 -0
  222. package/es/obsolete/WorkTypeDefaultView/index.d.ts +4 -0
  223. package/es/obsolete/WorkTypeDefaultView/index.js +32 -0
  224. package/es/obsolete/WorkTypeDefaultView/index.js.map +1 -0
  225. package/es/obsolete/WorkTypePage/Dashboard.d.ts +6 -0
  226. package/es/obsolete/WorkTypePage/Dashboard.js +18 -0
  227. package/es/obsolete/WorkTypePage/Dashboard.js.map +1 -0
  228. package/es/obsolete/WorkTypePage/Summary.d.ts +6 -0
  229. package/es/obsolete/WorkTypePage/Summary.js +21 -0
  230. package/es/obsolete/WorkTypePage/Summary.js.map +1 -0
  231. package/es/obsolete/WorkTypePage/WorkListPage.d.ts +7 -0
  232. package/es/obsolete/WorkTypePage/WorkListPage.js +25 -0
  233. package/es/obsolete/WorkTypePage/WorkListPage.js.map +1 -0
  234. package/es/obsolete/WorkTypePage/WorkTypeDescriptionCard.d.ts +5 -0
  235. package/es/obsolete/WorkTypePage/WorkTypeDescriptionCard.js +14 -0
  236. package/es/obsolete/WorkTypePage/WorkTypeDescriptionCard.js.map +1 -0
  237. package/es/obsolete/WorkTypePage/index.css +50 -0
  238. package/es/obsolete/WorkTypePage/index.d.ts +4 -0
  239. package/es/obsolete/WorkTypePage/index.js +180 -0
  240. package/es/obsolete/WorkTypePage/index.js.map +1 -0
  241. package/es/obsolete/WorkTypePage/state.d.ts +16 -0
  242. package/es/obsolete/WorkTypePage/state.js +163 -0
  243. package/es/obsolete/WorkTypePage/state.js.map +1 -0
  244. package/es/obsolete/WorkTypeQA/index.css +38 -0
  245. package/es/obsolete/WorkTypeQA/index.d.ts +6 -0
  246. package/es/obsolete/WorkTypeQA/index.js +40 -0
  247. package/es/obsolete/WorkTypeQA/index.js.map +1 -0
  248. package/es/obsolete/WorkTypeQA/state.d.ts +17 -0
  249. package/es/obsolete/WorkTypeQA/state.js +133 -0
  250. package/es/obsolete/WorkTypeQA/state.js.map +1 -0
  251. package/es/obsolete/member/components/MemberDropdown.d.ts +5 -0
  252. package/es/obsolete/member/components/MemberDropdown.js +15 -0
  253. package/es/obsolete/member/components/MemberDropdown.js.map +1 -0
  254. package/es/obsolete/member/components/MemberList.d.ts +7 -0
  255. package/es/obsolete/member/components/MemberList.js +27 -0
  256. package/es/obsolete/member/components/MemberList.js.map +1 -0
  257. package/es/obsolete/member/components/MemberMenu.d.ts +7 -0
  258. package/es/obsolete/member/components/MemberMenu.js +15 -0
  259. package/es/obsolete/member/components/MemberMenu.js.map +1 -0
  260. package/es/obsolete/member/components/MemberSelect.d.ts +5 -0
  261. package/es/obsolete/member/components/MemberSelect.js +11 -0
  262. package/es/obsolete/member/components/MemberSelect.js.map +1 -0
  263. package/es/obsolete/member/components/member.css +25 -0
  264. package/es/obsolete/member/pages/MemberListView/index.d.ts +4 -0
  265. package/es/obsolete/member/pages/MemberListView/index.js +227 -0
  266. package/es/obsolete/member/pages/MemberListView/index.js.map +1 -0
  267. package/es/obsolete/member/pages/MemberRoutes.d.ts +2 -0
  268. package/es/obsolete/member/pages/MemberRoutes.js +25 -0
  269. package/es/obsolete/member/pages/MemberRoutes.js.map +1 -0
  270. package/es/obsolete/member/styles/MemberMinView.css +22 -0
  271. package/es/obsolete/space/components/Notes/ColorSelect/index.css +15 -0
  272. package/es/obsolete/space/components/Notes/ColorSelect/index.d.ts +10 -0
  273. package/es/obsolete/space/components/Notes/ColorSelect/index.js +29 -0
  274. package/es/obsolete/space/components/Notes/ColorSelect/index.js.map +1 -0
  275. package/es/obsolete/space/components/Notes/NewNoteDialog/index.css +76 -0
  276. package/es/obsolete/space/components/Notes/NewNoteDialog/index.d.ts +10 -0
  277. package/es/obsolete/space/components/Notes/NewNoteDialog/index.js +38 -0
  278. package/es/obsolete/space/components/Notes/NewNoteDialog/index.js.map +1 -0
  279. package/es/obsolete/space/components/Notes/TextNoteCard/index.css +54 -0
  280. package/es/obsolete/space/components/Notes/TextNoteCard/index.d.ts +6 -0
  281. package/es/obsolete/space/components/Notes/TextNoteCard/index.js +35 -0
  282. package/es/obsolete/space/components/Notes/TextNoteCard/index.js.map +1 -0
  283. package/es/obsolete/space/components/Notes/TextNoteCard/state.d.ts +5 -0
  284. package/es/obsolete/space/components/Notes/TextNoteCard/state.js +39 -0
  285. package/es/obsolete/space/components/Notes/TextNoteCard/state.js.map +1 -0
  286. package/es/obsolete/space/components/Notes/index.d.ts +5 -0
  287. package/es/obsolete/space/components/Notes/index.js +50 -0
  288. package/es/obsolete/space/components/Notes/index.js.map +1 -0
  289. package/es/obsolete/space/components/Notifications/index.d.ts +7 -0
  290. package/es/obsolete/space/components/Notifications/index.js +34 -0
  291. package/es/obsolete/space/components/Notifications/index.js.map +1 -0
  292. package/es/obsolete/space/components/Projects/index.d.ts +5 -0
  293. package/es/obsolete/space/components/Projects/index.js +35 -0
  294. package/es/obsolete/space/components/Projects/index.js.map +1 -0
  295. package/es/obsolete/space/components/Roles/index.d.ts +5 -0
  296. package/es/obsolete/space/components/Roles/index.js +14 -0
  297. package/es/obsolete/space/components/Roles/index.js.map +1 -0
  298. package/es/obsolete/space/components/Tasks/index.css +15 -0
  299. package/es/obsolete/space/components/Tasks/index.d.ts +8 -0
  300. package/es/obsolete/space/components/Tasks/index.js +204 -0
  301. package/es/obsolete/space/components/Tasks/index.js.map +1 -0
  302. package/es/obsolete/space/components/Teams/index.d.ts +5 -0
  303. package/es/obsolete/space/components/Teams/index.js +14 -0
  304. package/es/obsolete/space/components/Teams/index.js.map +1 -0
  305. package/es/obsolete/space/components/Works/index.d.ts +7 -0
  306. package/es/obsolete/space/components/Works/index.js +22 -0
  307. package/es/obsolete/space/components/Works/index.js.map +1 -0
  308. package/es/obsolete/space/components/Workspaces/index.d.ts +5 -0
  309. package/es/obsolete/space/components/Workspaces/index.js +18 -0
  310. package/es/obsolete/space/components/Workspaces/index.js.map +1 -0
  311. package/es/obsolete/space/pages/MySpace/index.css +52 -0
  312. package/es/obsolete/space/pages/MySpace/index.d.ts +7 -0
  313. package/es/obsolete/space/pages/MySpace/index.js +248 -0
  314. package/es/obsolete/space/pages/MySpace/index.js.map +1 -0
  315. package/es/obsolete/space/pages/MySpace/state.d.ts +30 -0
  316. package/es/obsolete/space/pages/MySpace/state.js +148 -0
  317. package/es/obsolete/space/pages/MySpace/state.js.map +1 -0
  318. package/es/obsolete/space/pages/MySpace/taskState.d.ts +36 -0
  319. package/es/obsolete/space/pages/MySpace/taskState.js +339 -0
  320. package/es/obsolete/space/pages/MySpace/taskState.js.map +1 -0
  321. package/es/obsolete/space/pages/MySpace/workState.d.ts +32 -0
  322. package/es/obsolete/space/pages/MySpace/workState.js +249 -0
  323. package/es/obsolete/space/pages/MySpace/workState.js.map +1 -0
  324. package/es/routes.js +3 -2
  325. package/es/routes.js.map +1 -1
  326. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-meta.js","sourceRoot":"","sources":["../../../src/modules/calendar-board/event-meta.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,262 @@
1
+ /*
2
+ * CalendarBoard 的 FullCalendar 皮肤。
3
+ *
4
+ * FullCalendar 的内部 DOM(表格、日期格、时间轴、+N 徽标)由它自己生成,挂不上 Tailwind 类,
5
+ * 因此这里用官方 CSS 变量(--fc-*)为主、少量选择器覆盖为辅。覆盖的选择器都取自
6
+ * FullCalendar 6.1 实际注入的默认样式(见 daygrid / timegrid 的 internal.js)。
7
+ *
8
+ * 颜色一律走 morpho-theme token(var(--color-*) / var(--font-size-*)),不写死色值;
9
+ * 事件卡的分类原色在 event-meta.ts 的 CHIP_COLOR_CLASS 里,不走这里。
10
+ */
11
+
12
+ .calendar-board {
13
+ /* ═══ FullCalendar 官方 CSS 变量:把内置皮肤换成设计稿的灰白体系 ═══ */
14
+ --fc-border-color: var(--color-border);
15
+ --fc-page-bg-color: var(--color-bg-white);
16
+ --fc-neutral-bg-color: var(--color-bg-table);
17
+ --fc-neutral-text-color: var(--color-font-grey);
18
+ --fc-today-bg-color: var(--color-bg-blue-data);
19
+ --fc-highlight-color: var(--color-bg-blue-data);
20
+ --fc-now-indicator-color: var(--color-font-secondary);
21
+ --fc-more-link-bg-color: transparent;
22
+ --fc-more-link-text-color: inherit;
23
+ /* 事件节点本身不画底色 / 边框:描边浅底由 .calendar-event-chip 负责 */
24
+ --fc-event-bg-color: transparent;
25
+ --fc-event-border-color: transparent;
26
+ --fc-event-text-color: inherit;
27
+ --fc-small-font-size: var(--font-size-2xs);
28
+
29
+ /* 最后一个事件卡要给 +N 让出的宽度 */
30
+ --board-more-gutter: 36px;
31
+
32
+ .fc {
33
+ font-size: var(--font-size-xs);
34
+ }
35
+
36
+ /* ═══ 事件节点:剥掉 FullCalendar 自带外观,只剩我们的卡片 ═══ */
37
+ .fc-h-event {
38
+ border: 0;
39
+ background: transparent;
40
+ }
41
+
42
+ .fc-event-main {
43
+ height: 100%;
44
+ padding: 0;
45
+ }
46
+
47
+ /*
48
+ * ═══ 只去掉最外圈的边框(内部网格线全部保留)═══
49
+ *
50
+ * 边缘线一共有三层,来自不同元素,必须分别处理:
51
+ *
52
+ * 1. .fc-scrollgrid 自身 —— 但 FullCalendar 只让它的上 + 左可见
53
+ * (.fc .fc-scrollgrid 把 right/bottom 清零了);
54
+ * 2. .fc-scrollgrid 自己的格子(每个 section 一行、一行一个 th/td)——
55
+ * 右 + 下都在(FullCalendar 只把它们的 left/top 清零);
56
+ * 3. 紧贴外框的内层表格(列头 / 日期网格 / 时间轴)——
57
+ * 它们的最后一列、最后一行同样各画一条边线。
58
+ *
59
+ * 选择器的安全性:每一层每行的**最后一个**格子才是右侧边缘
60
+ * (时间轴与泳道的分隔线在行内前两个格子之间,不受影响);
61
+ * 底边则只取最后一行的格子,并排除 .fc-col-header —— 它的底边是
62
+ * 「列头与日期格之间」的内部线,必须留着。
63
+ */
64
+ .fc-theme-standard .fc-scrollgrid {
65
+ border: 0;
66
+ }
67
+
68
+ /** 右边缘:所有层级的最后一个格子 */
69
+ .fc-scrollgrid tr > *:last-child {
70
+ border-right-width: 0;
71
+ }
72
+
73
+ /** 下边缘:外框自身的最后一行 */
74
+ .fc-scrollgrid > tbody > tr:last-child > * {
75
+ border-bottom-width: 0;
76
+ }
77
+
78
+ /**
79
+ * 下边缘:最底部那张内层表的最后一行。
80
+ *
81
+ * 限定在「外框最后一行格子的内部」,而不是所有内层表 ——
82
+ * 日视图里全天行在外框第 2 行、并不贴底,它的底边是全天区与时间轴之间的
83
+ * 内部分隔线(那条由 .fc-timegrid-divider 负责画),不该被清掉。
84
+ */
85
+ .fc-scrollgrid > tbody > tr:last-child > * table:not(.fc-col-header) tr:last-child > * {
86
+ border-bottom-width: 0;
87
+ }
88
+
89
+ /* ═══ 列头 SUN / MON / ... ═══ */
90
+ .fc-col-header-cell {
91
+ background-color: var(--color-bg-white);
92
+ }
93
+
94
+ .fc-col-header-cell-cushion {
95
+ padding: var(--space-sm) var(--space-md);
96
+ font-size: var(--font-size-2xs);
97
+ font-weight: 600;
98
+ letter-spacing: 0.05em;
99
+ text-transform: uppercase;
100
+ color: var(--color-font-grey);
101
+ text-decoration: none;
102
+ }
103
+
104
+ /* ═══ 月 / 周视图的日期格 ═══ */
105
+ /* FullCalendar 默认 row-reverse(日期数字靠右),设计稿是左上角 */
106
+ .fc .fc-daygrid-day-top {
107
+ flex-direction: row;
108
+ }
109
+
110
+ .fc-daygrid-day-number {
111
+ padding: var(--space-sm) var(--space-md);
112
+ font-weight: 500;
113
+ color: var(--color-font-primary);
114
+ text-decoration: none;
115
+ }
116
+
117
+ .fc-day-today .fc-daygrid-day-number {
118
+ font-weight: 600;
119
+ color: var(--color-font-secondary);
120
+ }
121
+
122
+ .fc-day-other .fc-daygrid-day-number {
123
+ color: var(--color-font-disabled);
124
+ }
125
+
126
+ .fc .fc-daygrid-day-events {
127
+ margin: 0 var(--space-sm) var(--space-sm);
128
+ }
129
+
130
+ .fc-daygrid-event {
131
+ margin-top: var(--space-xs);
132
+ border-radius: 0;
133
+ /* 旧 index.css 同样关掉 nowrap,让长标题能换行 */
134
+ white-space: normal;
135
+ }
136
+
137
+ /* ═══ +N 徽标:外观由 CalendarMoreLink 负责 ═══ */
138
+ .fc-daygrid-more-link {
139
+ margin: 0;
140
+ padding: 0;
141
+ border-radius: 0;
142
+ text-decoration: none;
143
+ }
144
+
145
+ .fc-daygrid-more-link:hover {
146
+ background-color: transparent;
147
+ }
148
+
149
+ /*
150
+ * +N 与最后一个可见事件卡同排。
151
+ *
152
+ * 设计稿就是这么排的:最后一张卡让位收窄、+N 紧跟在它右边,而不是单独占一行。
153
+ * FullCalendar 没有「内联 +N」的选项;搬运 DOM 也不行 —— Preact 重渲染时会把
154
+ * .fc-daygrid-day-bottom 重新插回 .fc-daygrid-day-events,徽标跳回原位
155
+ * (实测:setOption("eventSources") 之后节点身份不变,但父级被还原)。
156
+ * 因此只能用 CSS 叠回去,好处是天然不受重渲染影响。
157
+ *
158
+ * 两步:
159
+ * 1) 让 +N 脱离文档流,钉在最后一张卡那一行的右侧;
160
+ * 2) 让最后一张「可见」卡右侧留出 +N 的位置。
161
+ *
162
+ * 第 1 步用 position: absolute + bottom: 0,而不是「上移一行」的负 margin:
163
+ * 容器底部就是最后一张卡的底部,这样不需要写死卡片高度 —— 卡片样式随时可能调,
164
+ * 任何像素常量都会在别人改 py-/text- 的时候静默失准。容器本身有 position: relative
165
+ * (FullCalendar 的 unbalanced / balanced 两种布局都会给它定位)。
166
+ *
167
+ * 门禁用 .fc-daygrid-more-link 而不是 .fc-daygrid-day-bottom:
168
+ * 后者是**每个格子都会渲染**的空容器,拿它当条件等于恒真,会让所有格子的
169
+ * 最后一张卡都被平白缩窄(这个坑是测试先发现的)。
170
+ *
171
+ * 关于「最后一个可见卡」:被收起的事件仍然留在 DOM 里(带 inline 的
172
+ * visibility: hidden),所以要按可见性过滤。这里刻意拆成两条规则
173
+ * (先给所有可见卡留位,再把后面还有可见卡的取消),避免写 :not(:has(~ …))
174
+ * 这种嵌套形式 —— 部分 CSS 引擎不支持,那会导致 +N 叠在卡片上面而不是并排。
175
+ */
176
+ .fc-daygrid-day-events:has(.fc-daygrid-more-link)
177
+ > .fc-daygrid-event-harness:not([style*="visibility: hidden"]) {
178
+ padding-right: var(--board-more-gutter);
179
+ }
180
+
181
+ .fc-daygrid-day-events:has(.fc-daygrid-more-link)
182
+ > .fc-daygrid-event-harness:not([style*="visibility: hidden"]):has(
183
+ ~ .fc-daygrid-event-harness:not([style*="visibility: hidden"])
184
+ ) {
185
+ padding-right: 0;
186
+ }
187
+
188
+ .fc .fc-daygrid-day-events:has(.fc-daygrid-more-link) > .fc-daygrid-day-bottom {
189
+ position: absolute;
190
+ right: 0;
191
+ bottom: 0;
192
+ display: flex;
193
+ justify-content: flex-end;
194
+ /* 抵消 FullCalendar 给它的行偏移与左右外边距 */
195
+ margin: 0 !important;
196
+ }
197
+
198
+ /* ═══ 日视图:时间轴 ═══ */
199
+ .fc .fc-timegrid-axis-cushion,
200
+ .fc .fc-timegrid-slot-label-cushion {
201
+ padding: 0 var(--space-md) 0 0;
202
+ font-size: var(--font-size-xs);
203
+ color: var(--color-font-grey);
204
+ }
205
+
206
+ .fc .fc-timegrid-axis-cushion {
207
+ max-width: none;
208
+ }
209
+
210
+ .fc-timegrid-event {
211
+ border-radius: var(--radius-base);
212
+ }
213
+
214
+ /* 卡片撑满 FullCalendar 按事件时长算出的定位盒子 */
215
+ .fc-timegrid-event .calendar-event-chip {
216
+ height: 100%;
217
+ }
218
+
219
+ .fc .fc-timegrid-now-indicator-line {
220
+ border-width: 1.5px 0 0;
221
+ }
222
+
223
+ /* ═══ 溢出弹层(moreLinkClick 默认 popover)═══ */
224
+ .fc-more-popover {
225
+ border-radius: var(--radius-base);
226
+ box-shadow: var(--shadow-card);
227
+ }
228
+
229
+ .fc-popover-header {
230
+ background-color: var(--color-bg-table);
231
+ }
232
+
233
+ /* ═══ 滚动条:沿用旧 index.css 的细条写法 ═══ */
234
+ .fc-scroller {
235
+ &::-webkit-scrollbar {
236
+ width: 7px;
237
+ height: 7px;
238
+ }
239
+ &::-webkit-scrollbar-track {
240
+ background-color: transparent;
241
+ border-radius: 2em;
242
+ }
243
+ &::-webkit-scrollbar-thumb {
244
+ background-color: rgba(0, 0, 0, 0.2);
245
+ background-clip: padding-box;
246
+ border-radius: 2em;
247
+ }
248
+ }
249
+ }
250
+
251
+ /**
252
+ * 盖在标题上的透明 DatePicker。
253
+ *
254
+ * 沿用 CalendarMonth 的 .calendar-ant-picker 做法:点标题即可跳到某月 / 某周 / 某天。
255
+ */
256
+ .calendar-board-picker {
257
+ position: absolute;
258
+ inset: 0;
259
+ width: 100%;
260
+ height: 100%;
261
+ opacity: 0;
262
+ }
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import "./index.css";
3
+ declare const CalendarBoard: () => React.JSX.Element;
4
+ export default CalendarBoard;
@@ -0,0 +1,181 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import { observe, useRenderOnChange } from "@voplus/morpho-ui";
3
+ import { message } from "antd";
4
+ import { useOnDeleteDocument } from "@voplus/morpho-document-core";
5
+ import { useOnDeleteWorkSchedule } from "../../../../data/work-schedule/work-schedule-events";
6
+ import { FilterOptionsContext, FilterOptionsContextState } from "@voplus/morpho-ui/es/data";
7
+ import { useCalendarListEffect, useCalendarStore } from "../../../../data/calendar";
8
+ import QuickView from "@voplus/morpho-document-core/es/components/QuickView";
9
+ import { useDeepMemo, useTabItem } from "@voplus/morpho-data";
10
+ import { runInAction } from "mobx";
11
+ import dayjs from "dayjs";
12
+ import { ConfigProvider } from "antd";
13
+ import antdTheme from "@voplus/morpho-theme/antdTheme";
14
+ import FilterView from "@voplus/morpho-ui/es/controls/FilterView";
15
+ import EventsFilter from "../../../../controls/filters/EventsFilter";
16
+ import { applyDropToEvents, buildDropPayload, findEventById, } from "../../event-meta";
17
+ import CalendarToolbar from "../../components/CalendarToolbar";
18
+ import CalendarLegend from "../../components/CalendarLegend";
19
+ import CalendarBoardGrid from "../../components/CalendarBoardGrid";
20
+ import CalendarSidebar from "../../components/CalendarSidebar";
21
+ import { FULL_CALENDAR_VIEW, State } from "./state";
22
+ import "./index.css";
23
+ const CalendarBoard = () => {
24
+ const tab = useTabItem();
25
+ const filterState = useDeepMemo(() => new FilterOptionsContextState({
26
+ defaults: {
27
+ filters: [{ c: "OwnerType", o: "contains", v1: JSON.stringify(["My"]), l: "And" }],
28
+ page: { Page: 1, PageSize: 200 },
29
+ },
30
+ }), []);
31
+ const [state] = useState(new State());
32
+ const [currentTime, setCurrentTime] = useState();
33
+ const [calendarApi, setCalendarApi] = useState();
34
+ const calendarRef = useRef(null);
35
+ const calendar = useCalendarStore();
36
+ useEffect(() => {
37
+ runInAction(() => (tab.title = "Calendar"));
38
+ }, []);
39
+ useEffect(() => {
40
+ setCalendarApi(calendarRef?.current?.getApi());
41
+ }, [calendarRef]);
42
+ useOnDeleteDocument((s, doc) => {
43
+ state.listOptions = state.listOptions.filter((i) => i.source?.id !== doc.id);
44
+ });
45
+ useOnDeleteWorkSchedule((s, doc) => {
46
+ state.listOptions = state.listOptions.filter((i) => i.source?.id !== doc.id);
47
+ });
48
+ useRenderOnChange(() => filterState.options);
49
+ useCalendarListEffect(null, (list) => {
50
+ runInAction(() => {
51
+ const events = list;
52
+ events.forEach((item) => {
53
+ // 事件卡颜色改由 CHIP_COLOR_CLASS 按 source.type 着色(见 event-meta.ts),
54
+ // 这里只补齐 source.title,其余沿用 CalendarMonth 的写法
55
+ if (item.source)
56
+ item.source.title = item.title;
57
+ });
58
+ state.listOptions = events;
59
+ });
60
+ }, filterState.options);
61
+ /**
62
+ * 点击事件卡 / 侧栏条目 → 打开 QuickView。
63
+ *
64
+ * 只把节点的 id 交给 state,弹窗本身由 morpho-document-core 的 QuickView 负责:
65
+ * 它自己 useDocument 加载节点,再按 type 派发到对应 meta 的 getQuickView
66
+ * (Task / WorkSchedule / Meeting … 各有自己的对话框,未注册的 type 落到通用文档视图)。
67
+ */
68
+ const openSource = (source) => state.openQuickView(source?.id);
69
+ /** 切换 month / week / day 视图 */
70
+ const handleChangeType = (value) => {
71
+ runInAction(() => (state.type = value));
72
+ calendarApi?.changeView(FULL_CALENDAR_VIEW[value]);
73
+ };
74
+ /** 日期发生变化的回调 */
75
+ const onChange = (date, dateString) => {
76
+ const dateText = Array.isArray(dateString) ? dateString[0] : dateString;
77
+ setCurrentTime(date);
78
+ if (state.type === "week") {
79
+ calendarApi?.gotoDate(`${dayjs(date).format("YYYY-MM-DD")}`);
80
+ }
81
+ else if (dateText) {
82
+ calendarApi?.gotoDate(dateText);
83
+ }
84
+ };
85
+ /**
86
+ * 当拖动停止并且事件已移至其他日期/时间时触发。
87
+ *
88
+ * 四件事都和「拖完跳回原位 / 刷新后位置不对」有关,逐条说明:
89
+ *
90
+ * 1. 时间格式:交给 buildDropPayload 写成**本地时间**的 `YYYY-MM-DDTHH:mm:ss.SSS`,
91
+ * 而不是 toISOString()(UTC 时刻,UTC+8 下拖到某天零点时日期会退回前一天,
92
+ * 服务端按本地时间解析就落到错误日期)。
93
+ * 2. **先乐观写回本地模型再发请求**:请求往返期间只要有任意一次重渲染,事件源就可能
94
+ * 被重置,本地数据若还停在旧位置,刚拖过去的卡片会立刻被打回原位 —— 这就是
95
+ * 「拖拽当时跳回原位」的直接原因。
96
+ * 3. 失败要可见并回退:原先用 `error: "message"`,Store.action 会吞掉异常只弹个 toast,
97
+ * 事件仍停在拖过去的位置、看着像保存成功。改成回调显式判断,
98
+ * 失败就把本地模型与卡片一起退回拖拽前(changelog 的既有约定:
99
+ * 「改进edit处理,错误时UI重设回原值」)。
100
+ * 4. 事件源引用稳定:见 state.ts 的 sidebarData 与 CalendarBoardGrid 里的 useMemo。
101
+ */
102
+ const eventDrop = async (info) => {
103
+ const id = info.event.id;
104
+ /*
105
+ * 拒绝这次拖拽的三种情况都退回,但各自留下可诊断的线索 ——
106
+ * 静默 revert 的后果就是用户只看到「拖完立刻跳回」,却无从知道为什么。
107
+ */
108
+ if (!info.event.extendedProps.allowChangeStart) {
109
+ // 服务端没给改期权限(或压根没下发这个字段):这是设计如此,直接退回
110
+ console.warn("[CalendarBoard] 该事件不允许改期,已退回", {
111
+ id,
112
+ allowChangeStart: info.event.extendedProps.allowChangeStart,
113
+ extendedProps: Object.keys(info.event.extendedProps ?? {}),
114
+ });
115
+ info.revert();
116
+ return;
117
+ }
118
+ if (!id) {
119
+ // FullCalendar 对没有 id 的事件给的是空字符串,此时无从定位服务端记录
120
+ console.warn("[CalendarBoard] 事件没有 id,无法保存改期结果", {
121
+ title: info.event.title,
122
+ extendedProps: Object.keys(info.event.extendedProps ?? {}),
123
+ });
124
+ info.revert();
125
+ return;
126
+ }
127
+ const drop = { start: info.event.start, end: info.event.end };
128
+ const payload = buildDropPayload(drop);
129
+ if (!payload) {
130
+ console.warn("[CalendarBoard] 拿不到有效的落点时间,已退回", {
131
+ id,
132
+ start: info.event.start,
133
+ end: info.event.end,
134
+ });
135
+ info.revert();
136
+ return;
137
+ }
138
+ // 回退用的快照要从列表里取:info.oldEvent 不保证存在,
139
+ // 拿不到时回退会静默失效 —— 模型留在新位置、卡片却退回原位,两边不一致
140
+ const before = findEventById(state.listOptions, id);
141
+ const rollback = { start: before?.start ?? before?.startDate, end: before?.end };
142
+ runInAction(() => {
143
+ state.listOptions = applyDropToEvents(state.listOptions, id, drop);
144
+ });
145
+ let failed = false;
146
+ await calendar.edit(id, {
147
+ data: payload,
148
+ error: (error) => {
149
+ failed = true;
150
+ message.error(error.message);
151
+ runInAction(() => {
152
+ state.listOptions = applyDropToEvents(state.listOptions, id, rollback);
153
+ });
154
+ info.revert();
155
+ },
156
+ });
157
+ if (failed)
158
+ return;
159
+ };
160
+ return observe(() => {
161
+ /**
162
+ * 侧栏、图例、事件卡的推导(纯前端,见 sidebar-data.ts)。
163
+ *
164
+ * 取的是 state 上的 computed:既保证响应式(observe 是 <Observer>,只追踪它这次
165
+ * 渲染读到的 observable),又保证引用稳定 —— 详见 state.ts 里 sidebarData 的注释。
166
+ */
167
+ const sidebar = state.sidebarData;
168
+ return (React.createElement(ConfigProvider, { theme: antdTheme },
169
+ React.createElement("div", { className: "calendar-board flex h-full w-full flex-col overflow-hidden text-sm" },
170
+ React.createElement(CalendarToolbar, { type: state.type, title: state.title, currentTime: currentTime, onChangeType: handleChangeType, onToday: () => calendarApi?.today(), onPrev: () => calendarApi?.prev(), onNext: () => calendarApi?.next(), onChangeDate: onChange },
171
+ React.createElement(FilterOptionsContext.Provider, { value: filterState },
172
+ React.createElement(FilterView, { columns: [React.createElement(EventsFilter, { key: "EventsFilter", defaultValue: ["My"] })] }))),
173
+ React.createElement(CalendarLegend, { categories: sidebar.summary.categories, onSelectEvent: openSource }),
174
+ React.createElement("div", { className: "flex flex-1 min-h-0 overflow-hidden" },
175
+ React.createElement(CalendarBoardGrid, { events: sidebar.visibleEvents, initialView: state.type, colorMap: sidebar.summary.colorMap, calendarRef: calendarRef, onSelectEvent: openSource, onEventDrop: eventDrop, onDatesSet: (info) => state.datesRender(info) }),
176
+ React.createElement(CalendarSidebar, { upcoming: sidebar.upcoming, search: state.search, tab: state.sidebarTab, onSearch: state.setSearch, onChangeTab: state.setSidebarTab, onSelectEvent: openSource })),
177
+ state.quickViewId ? (React.createElement(QuickView, { id: state.quickViewId, visible: true, onCancel: state.closeQuickView })) : null)));
178
+ });
179
+ };
180
+ export default CalendarBoard;
181
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/calendar-board/pages/CalendarBoard/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import type { CalendarBoardEvent } from "../../event-meta";
2
+ import { type ISidebarData } from "../../sidebar-data";
3
+ /** 设计稿工具栏的三个视图 */
4
+ export type CalendarViewType = "month" | "week" | "day";
5
+ /**
6
+ * 视图类型 → FullCalendar 视图名。
7
+ *
8
+ * - month → dayGridMonth(月格子,对应 calendar-recreation.html)
9
+ * - week → dayGridWeek(按天堆叠事件卡、无时间轴,对应 calendar-week-view.html)
10
+ * - day → timeGridDay(时间轴,对应 calendar-day-view.html)
11
+ *
12
+ * 三个视图全部由已安装的 daygrid / timegrid 插件提供,未引入新插件。
13
+ */
14
+ export declare const FULL_CALENDAR_VIEW: Record<CalendarViewType, string>;
15
+ /**
16
+ * 上班时段:Day 视图只显示这一段,不再铺满 24 小时。
17
+ *
18
+ * slotMaxTime 是**开区间**,所以 09:00–18:00 的最后一格正好是 17:00–18:00。
19
+ * 这两个值目前只用在 timeGridDay;将来若把周视图换成 timeGridWeek,
20
+ * 直接复用即可。
21
+ */
22
+ export declare const WORKDAY_START_TIME = "09:00:00";
23
+ export declare const WORKDAY_END_TIME = "18:00:00";
24
+ /**
25
+ * 周视图单列最多显示几条事件,其余收进 +N。
26
+ *
27
+ * 月视图每格只有一两行的空间(全局 DAY_MAX_EVENTS = 2),周视图则是一整列、
28
+ * 稿子里单列排了 5 张卡,所以单独给一个宽松的上限,不跟着月视图一起收紧。
29
+ */
30
+ export declare const WEEK_MAX_EVENTS = 15;
31
+ /**
32
+ * FullCalendar 的按视图覆盖选项。
33
+ *
34
+ * dayGridWeek 要还原 calendar-week-view.html:表头只留 SUN..SAT、日期标签落在格子里。
35
+ * 收起的口径与月视图不同:不受行数上限约束(dayMaxEventRows: false,同时也让它
36
+ * 不跟着全局的 DAY_MAX_EVENTS 一起收紧),只按 WEEK_MAX_EVENTS 这个事件数上限收起。
37
+ *
38
+ * timeGridDay 只保留上班时段(见 WORKDAY_START_TIME):
39
+ * - slotMinTime / slotMaxTime 裁掉时段外的行;
40
+ * - scrollTime 让初始滚动停在 9:00(默认值是 06:00,裁掉后已经越界);
41
+ * - expandRows 让这 9 小时撑满可用高度,否则默认 30 分钟格高 1.5em,
42
+ * 9 小时只有约 320px,高面板下方会留一大片空白。
43
+ */
44
+ export declare const FULL_CALENDAR_VIEW_OPTIONS: {
45
+ dayGridWeek: {
46
+ /** 不设行数上限(默认也是 false,这里写出来是为了不被外面的全局配置影响) */
47
+ dayMaxEventRows: boolean;
48
+ dayMaxEvents: number;
49
+ dayHeaderFormat: {
50
+ weekday: string;
51
+ };
52
+ dayCellContent: (arg: any) => string;
53
+ };
54
+ timeGridDay: {
55
+ slotMinTime: string;
56
+ slotMaxTime: string;
57
+ scrollTime: string;
58
+ expandRows: boolean;
59
+ };
60
+ };
61
+ /** 工具栏 MONTH / WEEK / DAY 按钮 */
62
+ export declare const VIEW_TYPE_OPTIONS: {
63
+ value: CalendarViewType;
64
+ label: string;
65
+ }[];
66
+ /** 侧栏页签 */
67
+ export type CalendarSidebarTab = "upcoming" | "activity";
68
+ export declare class State {
69
+ accessor listOptions: CalendarBoardEvent[];
70
+ /** 当前视图类型 */
71
+ accessor type: CalendarViewType;
72
+ /** FullCalendar 头部日期(由 datesSet 同步) */
73
+ accessor title: string;
74
+ /** 侧栏搜索关键字(纯前端过滤,不触发重新请求) */
75
+ accessor search: string;
76
+ /** 被隐藏的事件分类(source.type) */
77
+ accessor hiddenTypes: Set<string>;
78
+ /** 侧栏页签 */
79
+ accessor sidebarTab: CalendarSidebarTab;
80
+ /** 当前打开的 QuickView 目标节点 id;为空表示没有弹窗 */
81
+ accessor quickViewId: string | undefined;
82
+ /** 呈现一组新日期时触发。 */
83
+ datesRender(info: any): void;
84
+ /**
85
+ * 切换某个分类的显示 / 隐藏。
86
+ *
87
+ * 下面三个 action 写成箭头属性:它们会被直接当作 props 传给侧栏,
88
+ * 方法体里用到 this,脱离实例调用会抛
89
+ * `Cannot set properties of undefined`(MobX 的 action 用调用时的 this 作为 scope)。
90
+ */
91
+ toggleType: (type: string) => void;
92
+ setSearch: (value: string) => void;
93
+ setSidebarTab: (tab: CalendarSidebarTab) => void;
94
+ /**
95
+ * 打开某个节点的 QuickView。
96
+ *
97
+ * 传 id 即可:真正的弹窗由 morpho-document-core 的 QuickView 负责,
98
+ * 它会自己加载节点并按 type 派发到对应 meta 的对话框。
99
+ */
100
+ openQuickView: (id?: string) => void;
101
+ /** 关闭 QuickView */
102
+ closeQuickView: () => void;
103
+ /**
104
+ * 侧栏 / 图例 / 网格共用的推导结果。
105
+ *
106
+ * 用 computed 而不是每次渲染现算,关键是为了**引用稳定**:其中的 visibleEvents 会交给
107
+ * FullCalendar 当 eventSources,而每次渲染都换一个新数组会让 FullCalendar 重置事件源,
108
+ * 用它手上的外部数据覆盖内部状态 —— 刚拖拽出来的位置就会被打回原位。
109
+ * 依赖(listOptions / search / hiddenTypes)不变时,这里返回同一个对象。
110
+ *
111
+ * ⚠️ computed 只在**被观察时**才缓存,所以这个 getter 必须在 observe()(即
112
+ * mobx-react-lite 的 <Observer>)内部读 —— 挪到组件体里就会退化成每次现算,
113
+ * 引用不再稳定,拖拽结果又会被打回原位。测试里用 autorun 复刻了这个前提。
114
+ */
115
+ get sidebarData(): ISidebarData;
116
+ }