sapp-common-package-test-final 1.0.11 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/SAPPCalendar/LMSWeeklyCalendar/index.d.ts +3 -0
- package/dist/components/SAPPCalendar/WeeklyCalendar/WeeklyCalendar.d.ts +5 -3
- package/dist/constants/index.d.ts +9 -0
- package/dist/index.css +12 -4
- package/dist/index.js +279 -6
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +279 -6
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
@@ -0,0 +1,3 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { IWeeklyCalendarProps } from '../WeeklyCalendar/WeeklyCalendar';
|
3
|
+
export default function LMSModeWeeklyCalendar({ startDate, endDate, events, norms, showWeeklyNorm, onOpenDetail, onOpenCreate, onEventDetail, loading }: IWeeklyCalendarProps): React.JSX.Element;
|
@@ -1,16 +1,18 @@
|
|
1
1
|
import { Dayjs } from 'dayjs';
|
2
2
|
import React from 'react';
|
3
|
-
import { IEvent, INorm } from '../../../types';
|
4
|
-
interface IWeeklyCalendarProps {
|
3
|
+
import { ICell, IEvent, INorm } from '../../../types';
|
4
|
+
export interface IWeeklyCalendarProps {
|
5
5
|
startDate: Dayjs;
|
6
6
|
endDate: Dayjs;
|
7
7
|
events: IEvent[];
|
8
8
|
norms: INorm[];
|
9
|
-
showWeeklyNorm
|
9
|
+
showWeeklyNorm?: boolean;
|
10
10
|
onOpenDetail: (date: Date, events: IEvent[]) => void;
|
11
11
|
onOpenCreate: (date: Date) => void;
|
12
12
|
onEventDetail?: (event: IEvent) => void;
|
13
13
|
loading?: boolean;
|
14
14
|
}
|
15
|
+
export declare const getEventAllDay: (events: IEvent[], targetDate: Dayjs) => Record<"Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday", ICell>;
|
16
|
+
export declare const getEventsOfDay: (events: IEvent[], targetHour: Dayjs) => Record<"Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday", ICell>;
|
15
17
|
declare const WeeklyCalendar: ({ startDate, endDate, events, norms, showWeeklyNorm, onOpenDetail, onOpenCreate, onEventDetail, loading }: IWeeklyCalendarProps) => React.JSX.Element;
|
16
18
|
export default WeeklyCalendar;
|
@@ -10,6 +10,15 @@ export declare enum DAYS_OF_WEEK {
|
|
10
10
|
Saturday = "Saturday",
|
11
11
|
Sunday = "Sunday"
|
12
12
|
}
|
13
|
+
export declare enum DAYS_OF_WEEK_SHORTEN {
|
14
|
+
Monday = "Mon",
|
15
|
+
Tuesday = "Tue",
|
16
|
+
Wednesday = "Wed",
|
17
|
+
Thursday = "Thur",
|
18
|
+
Friday = "Fri",
|
19
|
+
Saturday = "Sat",
|
20
|
+
Sunday = "Sun"
|
21
|
+
}
|
13
22
|
export declare enum HOUR_OF_DAY {
|
14
23
|
'07:00' = "07:00",
|
15
24
|
'08:00' = "08:00",
|
package/dist/index.css
CHANGED
@@ -10,6 +10,10 @@
|
|
10
10
|
cursor: pointer
|
11
11
|
}
|
12
12
|
|
13
|
+
._uCXxT {
|
14
|
+
resize: both
|
15
|
+
}
|
16
|
+
|
13
17
|
._3EfQZ {
|
14
18
|
border-radius: 0px
|
15
19
|
}
|
@@ -65,7 +69,10 @@
|
|
65
69
|
._18t93 {
|
66
70
|
position: relative;
|
67
71
|
display: flex;
|
68
|
-
width: 100
|
72
|
+
width: 100%;
|
73
|
+
align-items: stretch;
|
74
|
+
-moz-column-gap: 12px;
|
75
|
+
column-gap: 12px
|
69
76
|
}
|
70
77
|
|
71
78
|
._18t93 * {
|
@@ -600,7 +607,7 @@ div._12I9I {
|
|
600
607
|
@tailwind utilities;
|
601
608
|
|
602
609
|
._2OOkM {
|
603
|
-
@apply w-full relative flex;
|
610
|
+
@apply w-full relative flex gap-x-3 items-stretch;
|
604
611
|
}
|
605
612
|
|
606
613
|
._2OOkM * {
|
@@ -1002,12 +1009,13 @@ div._1dZBN {
|
|
1002
1009
|
@media screen and (max-width: 1024px) {
|
1003
1010
|
._1K0QG {
|
1004
1011
|
position: absolute;
|
1005
|
-
top:
|
1012
|
+
top: 10%;
|
1006
1013
|
z-index: 999;
|
1007
1014
|
height: 100%;
|
1008
1015
|
overflow: auto;
|
1009
1016
|
--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
|
1010
1017
|
--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
|
1011
|
-
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
|
1018
|
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
1019
|
+
box-shadow: 0px 2px 4px 0px #70707014
|
1012
1020
|
}
|
1013
1021
|
}
|
package/dist/index.js
CHANGED
@@ -60,6 +60,7 @@ var useEffectAfterMounted = function useEffectAfterMounted(callback, dependencie
|
|
60
60
|
}, dependencies);
|
61
61
|
};
|
62
62
|
|
63
|
+
var HOURS_PER_DAY = 24;
|
63
64
|
var MINUTES_PER_HOUR = 60;
|
64
65
|
var TIME_FORMAT = 'HH:mm';
|
65
66
|
var DAYS_OF_WEEK;
|
@@ -72,6 +73,16 @@ var DAYS_OF_WEEK;
|
|
72
73
|
DAYS_OF_WEEK["Saturday"] = "Saturday";
|
73
74
|
DAYS_OF_WEEK["Sunday"] = "Sunday";
|
74
75
|
})(DAYS_OF_WEEK || (DAYS_OF_WEEK = {}));
|
76
|
+
var DAYS_OF_WEEK_SHORTEN;
|
77
|
+
(function (DAYS_OF_WEEK_SHORTEN) {
|
78
|
+
DAYS_OF_WEEK_SHORTEN["Monday"] = "Mon";
|
79
|
+
DAYS_OF_WEEK_SHORTEN["Tuesday"] = "Tue";
|
80
|
+
DAYS_OF_WEEK_SHORTEN["Wednesday"] = "Wed";
|
81
|
+
DAYS_OF_WEEK_SHORTEN["Thursday"] = "Thur";
|
82
|
+
DAYS_OF_WEEK_SHORTEN["Friday"] = "Fri";
|
83
|
+
DAYS_OF_WEEK_SHORTEN["Saturday"] = "Sat";
|
84
|
+
DAYS_OF_WEEK_SHORTEN["Sunday"] = "Sun";
|
85
|
+
})(DAYS_OF_WEEK_SHORTEN || (DAYS_OF_WEEK_SHORTEN = {}));
|
75
86
|
var HOUR_OF_DAY;
|
76
87
|
(function (HOUR_OF_DAY) {
|
77
88
|
HOUR_OF_DAY["07:00"] = "07:00";
|
@@ -401,7 +412,7 @@ var HiddenEyeIcon = function HiddenEyeIcon() {
|
|
401
412
|
}));
|
402
413
|
};
|
403
414
|
|
404
|
-
var styles = {"flex":"_2hGgU","transform":"_3-Pu9","cursor-pointer":"_2Mcv6","rounded-none":"_3EfQZ","border-gray-4":"_3-NVJ","bg-button":"_3-gs3","bg-info/10":"_2ENMR","bg-white":"_rF-HF","!text-error":"_3mBZd","text-black":"_Irb_H","text-gray-600":"_1pL5w","text-info":"_NLvfI","text-secondary-text":"_H-zEU","filter":"_p0OEu","sapp-calendar":"_18t93","btn":"_1oiD_","icon":"_-E7rn","btn-default":"_3WrnL","btn-primary":"_2-qBL","event-info":"_xYqjb","event-warning":"_1oq3N","event-success":"_1hTMm","event-error":"_1hEJk","event-default":"_8FWXy","sapp-calendar__container":"_102cL","header-calendar":"_3Yvs5","header-calendar__nav":"_18m93","header-calendar__date-picker":"_2GTYD","header-calendar__title":"_35LQ0","header-calendar__controls":"_FqVqb","header-calendar__divider":"_3kHog","monthly-calendar":"_2NDGW","weekly-calendar":"_1QrJs","monthly-calendar__title":"_3Tsy4","monthly-calendar__title-active":"_1Dyjm","weekly-norm__cell":"_sGK9m","weekly-norm__value":"_1Jsb-","monthly-calendar__cell":"_2hVZ4","monthly-calendar__cell--active":"_1uenJ","calendar-tooltip":"_2Uo1f","monthly-event__title":"_2gsg7","monthly-event__date":"_2GtPn","weekly-calendar__title":"_5WuQ8","weekly-calendar__cell":"_3lPkV","weekly-event":"_hnHem","weekly-event__title":"_21a0T","weekly-event__date":"_PiKmX","weekly-event--collapse":"_1pvXT","btn-lms-default":"_1GA3p","text-lms-primary":"_1gLzS","select-mode":"_12I9I","ant-select-dropdown-placement-bottomLeft":"_1ZvuX","header-calendar_filter":"_1fd_Y","lms-calendar__tablet":"_1sVO3"};
|
415
|
+
var styles = {"flex":"_2hGgU","transform":"_3-Pu9","cursor-pointer":"_2Mcv6","resize":"_uCXxT","rounded-none":"_3EfQZ","border-gray-4":"_3-NVJ","bg-button":"_3-gs3","bg-info/10":"_2ENMR","bg-white":"_rF-HF","!text-error":"_3mBZd","text-black":"_Irb_H","text-gray-600":"_1pL5w","text-info":"_NLvfI","text-secondary-text":"_H-zEU","filter":"_p0OEu","sapp-calendar":"_18t93","btn":"_1oiD_","icon":"_-E7rn","btn-default":"_3WrnL","btn-primary":"_2-qBL","event-info":"_xYqjb","event-warning":"_1oq3N","event-success":"_1hTMm","event-error":"_1hEJk","event-default":"_8FWXy","sapp-calendar__container":"_102cL","header-calendar":"_3Yvs5","header-calendar__nav":"_18m93","header-calendar__date-picker":"_2GTYD","header-calendar__title":"_35LQ0","header-calendar__controls":"_FqVqb","header-calendar__divider":"_3kHog","monthly-calendar":"_2NDGW","weekly-calendar":"_1QrJs","monthly-calendar__title":"_3Tsy4","monthly-calendar__title-active":"_1Dyjm","weekly-norm__cell":"_sGK9m","weekly-norm__value":"_1Jsb-","monthly-calendar__cell":"_2hVZ4","monthly-calendar__cell--active":"_1uenJ","calendar-tooltip":"_2Uo1f","monthly-event__title":"_2gsg7","monthly-event__date":"_2GtPn","weekly-calendar__title":"_5WuQ8","weekly-calendar__cell":"_3lPkV","weekly-event":"_hnHem","weekly-event__title":"_21a0T","weekly-event__date":"_PiKmX","weekly-event--collapse":"_1pvXT","btn-lms-default":"_1GA3p","text-lms-primary":"_1gLzS","select-mode":"_12I9I","ant-select-dropdown-placement-bottomLeft":"_1ZvuX","header-calendar_filter":"_1fd_Y","lms-calendar__tablet":"_1sVO3"};
|
405
416
|
|
406
417
|
var Button = function Button(_ref) {
|
407
418
|
var _ref$type = _ref.type,
|
@@ -898,8 +909,224 @@ var MonthlyCalendar = function MonthlyCalendar(_ref) {
|
|
898
909
|
};
|
899
910
|
|
900
911
|
var _getIconEvent;
|
912
|
+
var calculateBoxSize = function calculateBoxSize(startTime, endTime, isAllDay) {
|
913
|
+
if (isAllDay) {
|
914
|
+
return {
|
915
|
+
top: 10,
|
916
|
+
height: 50
|
917
|
+
};
|
918
|
+
}
|
919
|
+
var minutes = dayjs(startTime).minute();
|
920
|
+
var diffMinutes = dayjs(endTime).diff(startTime, 'minute', true);
|
921
|
+
return {
|
922
|
+
top: Math.floor(minutes / MINUTES_PER_HOUR * 100),
|
923
|
+
height: Math.floor(diffMinutes / MINUTES_PER_HOUR * 100)
|
924
|
+
};
|
925
|
+
};
|
901
926
|
var getIconEvent = (_getIconEvent = {}, _getIconEvent[EVENT_TYPES.TEACHING] = React__default.createElement(Book, null), _getIconEvent[EVENT_TYPES.BUSY] = React__default.createElement(CalendarDelete, null), _getIconEvent[EVENT_TYPES.TIME_OFF] = React__default.createElement(Star, null), _getIconEvent[EVENT_TYPES.OTHER] = React__default.createElement(CalendarAccept, null), _getIconEvent);
|
902
|
-
var
|
927
|
+
var MIN_HEIGHT_HIDE_DETAILS = 140;
|
928
|
+
var MIN_HEIGHT_HIDE_ALL = 105;
|
929
|
+
var WeeklyEvent = function WeeklyEvent(_ref) {
|
930
|
+
var event = _ref.event,
|
931
|
+
onOpenDetail = _ref.onOpenDetail,
|
932
|
+
onEventDetail = _ref.onEventDetail;
|
933
|
+
var _calculateBoxSize = calculateBoxSize(event.startDate, event.endDate, event.isAllDay),
|
934
|
+
top = _calculateBoxSize.top,
|
935
|
+
height = _calculateBoxSize.height;
|
936
|
+
var formattedDate = customDateFormat(event.startDate, TIME_FORMAT) + ' - ' + customDateFormat(event.endDate, TIME_FORMAT);
|
937
|
+
return React__default.createElement("div", {
|
938
|
+
className: styles["event-" + convertType[event.type]],
|
939
|
+
onClick: function onClick() {
|
940
|
+
onOpenDetail(dayjs(event.startDate).toDate(), [event]);
|
941
|
+
onEventDetail && onEventDetail(event);
|
942
|
+
},
|
943
|
+
style: {
|
944
|
+
top: top + "%",
|
945
|
+
height: height + "%",
|
946
|
+
zIndex: event.type === EVENT_TYPES.BUSY ? 2 : 1
|
947
|
+
}
|
948
|
+
}, React__default.createElement("div", {
|
949
|
+
className: clsx__default(styles['weekly-event'], height <= MIN_HEIGHT_HIDE_ALL && styles['weekly-event--collapse'])
|
950
|
+
}, React__default.createElement("div", {
|
951
|
+
className: styles.flex
|
952
|
+
}, getIconEvent[event.type]), React__default.createElement("div", {
|
953
|
+
className: clsx__default(height <= MIN_HEIGHT_HIDE_DETAILS && styles['weekly-event--collapse'])
|
954
|
+
}, React__default.createElement("div", {
|
955
|
+
className: styles['weekly-event__title']
|
956
|
+
}, React__default.createElement(CustomTooltip, {
|
957
|
+
title: event.title
|
958
|
+
}, event.title)), React__default.createElement("div", {
|
959
|
+
className: styles['weekly-event__date']
|
960
|
+
}, React__default.createElement(CustomTooltip, {
|
961
|
+
title: formattedDate
|
962
|
+
}, formattedDate)))));
|
963
|
+
};
|
964
|
+
|
965
|
+
var WeeklyCell = function WeeklyCell(_ref) {
|
966
|
+
var _events;
|
967
|
+
var events = _ref.events,
|
968
|
+
date = _ref.date,
|
969
|
+
onOpenDetail = _ref.onOpenDetail,
|
970
|
+
onOpenCreate = _ref.onOpenCreate,
|
971
|
+
onEventDetail = _ref.onEventDetail;
|
972
|
+
var isToday = dayjs().isSame(date, 'day');
|
973
|
+
var handleOpenCreateModal = function handleOpenCreateModal(e) {
|
974
|
+
if (e.target !== e.currentTarget) return;
|
975
|
+
onOpenCreate(dayjs(date).toDate());
|
976
|
+
};
|
977
|
+
events = (_events = events) === null || _events === void 0 ? void 0 : _events.sort(function (a, b) {
|
978
|
+
return a.type === EVENT_TYPES.BUSY && b.type !== EVENT_TYPES.BUSY ? 1 : -1;
|
979
|
+
});
|
980
|
+
var renderWeeklyEvent = React.useMemo(function () {
|
981
|
+
var _events2, _events3, _events4;
|
982
|
+
var isAllDay = (_events2 = events) === null || _events2 === void 0 ? void 0 : _events2.some(function (item) {
|
983
|
+
return item.isAllDay;
|
984
|
+
});
|
985
|
+
if (isAllDay && ((_events3 = events) === null || _events3 === void 0 ? void 0 : _events3.length) > 1) {
|
986
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement(WeeklyEvent, {
|
987
|
+
event: events[0],
|
988
|
+
onOpenDetail: onOpenDetail,
|
989
|
+
onEventDetail: onEventDetail
|
990
|
+
}), React__default.createElement("div", {
|
991
|
+
className: styles['see-more']
|
992
|
+
}, React__default.createElement(CustomTooltip, {
|
993
|
+
placement: 'bottom',
|
994
|
+
title: React__default.createElement("div", {
|
995
|
+
className: styles['calendar-tooltip']
|
996
|
+
}, events.slice(1, events.length).map(function (event, index) {
|
997
|
+
return React__default.createElement(WeeklyEvent, {
|
998
|
+
event: event,
|
999
|
+
onOpenDetail: onOpenDetail,
|
1000
|
+
onEventDetail: onEventDetail,
|
1001
|
+
key: index + 1
|
1002
|
+
});
|
1003
|
+
}))
|
1004
|
+
}, "+", Math.max(events.length - 1, 0), " More")));
|
1005
|
+
}
|
1006
|
+
return (_events4 = events) === null || _events4 === void 0 ? void 0 : _events4.map(function (event, index) {
|
1007
|
+
return React__default.createElement(WeeklyEvent, {
|
1008
|
+
key: index,
|
1009
|
+
event: event,
|
1010
|
+
onOpenDetail: onOpenDetail,
|
1011
|
+
onEventDetail: onEventDetail
|
1012
|
+
});
|
1013
|
+
});
|
1014
|
+
}, [events]);
|
1015
|
+
return React__default.createElement("div", {
|
1016
|
+
className: styles['weekly-calendar__cell'] + " " + (isToday ? styles['bg-info/10'] : styles['bg-white']),
|
1017
|
+
onClick: handleOpenCreateModal
|
1018
|
+
}, renderWeeklyEvent);
|
1019
|
+
};
|
1020
|
+
|
1021
|
+
dayjs.extend(isBetween);
|
1022
|
+
var getEventAllDay = function getEventAllDay(events, targetDate) {
|
1023
|
+
return daysOfWeekKeys.reduce(function (acc, day, index) {
|
1024
|
+
var currentDate = targetDate.add(index, 'day');
|
1025
|
+
acc[day] = {
|
1026
|
+
events: events.reduce(function (filteredEvents, event) {
|
1027
|
+
if (dayjs(event.startDate).isSame(currentDate.startOf('day')) && checkIsAllday(dayjs(event.startDate), dayjs(event.endDate))) {
|
1028
|
+
filteredEvents.push(_extends({}, event, {
|
1029
|
+
isAllDay: true
|
1030
|
+
}));
|
1031
|
+
}
|
1032
|
+
return filteredEvents;
|
1033
|
+
}, []),
|
1034
|
+
date: currentDate
|
1035
|
+
};
|
1036
|
+
return acc;
|
1037
|
+
}, {});
|
1038
|
+
};
|
1039
|
+
var getEventsOfDay = function getEventsOfDay(events, targetHour) {
|
1040
|
+
return daysOfWeekKeys.reduce(function (acc, day, index) {
|
1041
|
+
var currentDate = targetHour.add(index, 'day');
|
1042
|
+
acc[day] = {
|
1043
|
+
events: events.filter(function (event) {
|
1044
|
+
return dayjs(event.startDate).isSame(currentDate, 'hour') && !checkIsAllday(dayjs(event.startDate), dayjs(event.endDate));
|
1045
|
+
}),
|
1046
|
+
date: currentDate
|
1047
|
+
};
|
1048
|
+
return acc;
|
1049
|
+
}, {});
|
1050
|
+
};
|
1051
|
+
var WeeklyCalendar = function WeeklyCalendar(_ref) {
|
1052
|
+
var startDate = _ref.startDate,
|
1053
|
+
endDate = _ref.endDate,
|
1054
|
+
events = _ref.events,
|
1055
|
+
norms = _ref.norms,
|
1056
|
+
showWeeklyNorm = _ref.showWeeklyNorm,
|
1057
|
+
onOpenDetail = _ref.onOpenDetail,
|
1058
|
+
onOpenCreate = _ref.onOpenCreate,
|
1059
|
+
onEventDetail = _ref.onEventDetail,
|
1060
|
+
loading = _ref.loading;
|
1061
|
+
var getTableColumns = function getTableColumns() {
|
1062
|
+
var _calculateNormOfWeek = calculateNormOfWeek(norms, events, startDate, endDate),
|
1063
|
+
normOfWeek = _calculateNormOfWeek.normOfWeek,
|
1064
|
+
totalNorm = _calculateNormOfWeek.totalNorm;
|
1065
|
+
var hourColumn = {
|
1066
|
+
title: React__default.createElement("div", {
|
1067
|
+
className: styles['weekly-calendar__title']
|
1068
|
+
}, showWeeklyNorm && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", null, "Weekly Norm"), React__default.createElement("div", {
|
1069
|
+
className: clsx__default(normOfWeek > totalNorm && styles['!text-error'])
|
1070
|
+
}, normOfWeek + "/" + totalNorm))),
|
1071
|
+
dataIndex: 'hour',
|
1072
|
+
key: 'hour',
|
1073
|
+
width: 1,
|
1074
|
+
render: function render(value) {
|
1075
|
+
return React__default.createElement("div", null, value);
|
1076
|
+
}
|
1077
|
+
};
|
1078
|
+
var dayColumns = Object.values(DAYS_OF_WEEK).map(function (day, index) {
|
1079
|
+
return {
|
1080
|
+
title: React__default.createElement("div", {
|
1081
|
+
className: styles['weekly-calendar__title']
|
1082
|
+
}, React__default.createElement("div", null, day.slice(0, 3)), React__default.createElement("div", null, dayjs(startDate).add(index, 'day').format('DD/MM'))),
|
1083
|
+
dataIndex: day,
|
1084
|
+
key: day,
|
1085
|
+
render: function render(value) {
|
1086
|
+
return React__default.createElement(WeeklyCell, {
|
1087
|
+
key: index,
|
1088
|
+
events: value.events,
|
1089
|
+
date: value.date,
|
1090
|
+
onOpenDetail: onOpenDetail,
|
1091
|
+
onOpenCreate: onOpenCreate,
|
1092
|
+
onEventDetail: onEventDetail
|
1093
|
+
});
|
1094
|
+
}
|
1095
|
+
};
|
1096
|
+
});
|
1097
|
+
return [hourColumn].concat(dayColumns);
|
1098
|
+
};
|
1099
|
+
var getTableData = function getTableData() {
|
1100
|
+
var data = [];
|
1101
|
+
data.push(_extends({
|
1102
|
+
id: -1,
|
1103
|
+
hour: 'All day'
|
1104
|
+
}, getEventAllDay(events, startDate)));
|
1105
|
+
for (var i = 0; i < HOURS_PER_DAY; i++) {
|
1106
|
+
var targetHour = dayjs(startDate).add(i, 'hour');
|
1107
|
+
data.push(_extends({
|
1108
|
+
id: i,
|
1109
|
+
hour: targetHour.format('HH:mm')
|
1110
|
+
}, getEventsOfDay(events, targetHour)));
|
1111
|
+
}
|
1112
|
+
return data;
|
1113
|
+
};
|
1114
|
+
return React__default.createElement(antd.Table, {
|
1115
|
+
rowKey: function rowKey(record) {
|
1116
|
+
return record.id;
|
1117
|
+
},
|
1118
|
+
columns: getTableColumns(),
|
1119
|
+
dataSource: getTableData(),
|
1120
|
+
pagination: false,
|
1121
|
+
rowHoverable: false,
|
1122
|
+
className: styles['weekly-calendar'],
|
1123
|
+
loading: loading
|
1124
|
+
});
|
1125
|
+
};
|
1126
|
+
|
1127
|
+
var _getIconEvent$1;
|
1128
|
+
var getIconEvent$1 = (_getIconEvent$1 = {}, _getIconEvent$1[EVENT_TYPES.TEACHING] = React__default.createElement(Book, null), _getIconEvent$1[EVENT_TYPES.BUSY] = React__default.createElement(CalendarDelete, null), _getIconEvent$1[EVENT_TYPES.TIME_OFF] = React__default.createElement(Star, null), _getIconEvent$1[EVENT_TYPES.OTHER] = React__default.createElement(CalendarAccept, null), _getIconEvent$1);
|
1129
|
+
var calculateBoxSize$1 = function calculateBoxSize(startTime, endTime) {
|
903
1130
|
var minutes = dayjs(startTime).minute();
|
904
1131
|
var diffMinutes = dayjs(endTime).diff(startTime, 'hour', true);
|
905
1132
|
return {
|
@@ -912,7 +1139,7 @@ var LMSWeeklyEvent = function LMSWeeklyEvent(_ref) {
|
|
912
1139
|
onOpenDetail = _ref.onOpenDetail,
|
913
1140
|
onEventDetail = _ref.onEventDetail;
|
914
1141
|
var formattedDate = customDateFormat(event.startDate, TIME_FORMAT) + ' - ' + customDateFormat(event.endDate, TIME_FORMAT);
|
915
|
-
var _calculateBoxSize = calculateBoxSize(event.startDate, event.endDate),
|
1142
|
+
var _calculateBoxSize = calculateBoxSize$1(event.startDate, event.endDate),
|
916
1143
|
width = _calculateBoxSize.width,
|
917
1144
|
left = _calculateBoxSize.left;
|
918
1145
|
return React__default.createElement("div", {
|
@@ -934,7 +1161,7 @@ var LMSWeeklyEvent = function LMSWeeklyEvent(_ref) {
|
|
934
1161
|
className: clsx__default(styles['weekly-event--collapse'])
|
935
1162
|
}, React__default.createElement("div", {
|
936
1163
|
className: styles.flex
|
937
|
-
}, getIconEvent[event.type]), React__default.createElement("div", {
|
1164
|
+
}, getIconEvent$1[event.type]), React__default.createElement("div", {
|
938
1165
|
className: styles['weekly-event__title']
|
939
1166
|
}, React__default.createElement(CustomTooltip, {
|
940
1167
|
title: event.title
|
@@ -1074,7 +1301,7 @@ var LMSWeeklyCalendar = function LMSWeeklyCalendar(_ref) {
|
|
1074
1301
|
id: i,
|
1075
1302
|
hour: React__default.createElement("div", null, React__default.createElement("div", {
|
1076
1303
|
className: styles['lms-calendar__tablet']
|
1077
|
-
}, Object.values(
|
1304
|
+
}, Object.values(DAYS_OF_WEEK_SHORTEN)[i]), React__default.createElement("div", {
|
1078
1305
|
className: styles['lms-calendar__tablet']
|
1079
1306
|
}, dayjs(startDate).add(i, 'day').format('DD')))
|
1080
1307
|
}, getEventsOfHour(events, targetHour)));
|
@@ -1094,6 +1321,51 @@ var LMSWeeklyCalendar = function LMSWeeklyCalendar(_ref) {
|
|
1094
1321
|
});
|
1095
1322
|
};
|
1096
1323
|
|
1324
|
+
function LMSModeWeeklyCalendar(_ref) {
|
1325
|
+
var startDate = _ref.startDate,
|
1326
|
+
endDate = _ref.endDate,
|
1327
|
+
events = _ref.events,
|
1328
|
+
norms = _ref.norms,
|
1329
|
+
_ref$showWeeklyNorm = _ref.showWeeklyNorm,
|
1330
|
+
showWeeklyNorm = _ref$showWeeklyNorm === void 0 ? false : _ref$showWeeklyNorm,
|
1331
|
+
onOpenDetail = _ref.onOpenDetail,
|
1332
|
+
onOpenCreate = _ref.onOpenCreate,
|
1333
|
+
onEventDetail = _ref.onEventDetail,
|
1334
|
+
loading = _ref.loading;
|
1335
|
+
var _useState = React.useState(window.innerWidth),
|
1336
|
+
windowWidth = _useState[0],
|
1337
|
+
setWindowWidth = _useState[1];
|
1338
|
+
React.useEffect(function () {
|
1339
|
+
var handleResize = function handleResize() {
|
1340
|
+
setWindowWidth(window.innerWidth);
|
1341
|
+
};
|
1342
|
+
window.addEventListener('resize', handleResize);
|
1343
|
+
return function () {
|
1344
|
+
window.removeEventListener('resize', handleResize);
|
1345
|
+
};
|
1346
|
+
}, []);
|
1347
|
+
return React__default.createElement(React__default.Fragment, null, windowWidth > 1024 ? React__default.createElement(WeeklyCalendar, {
|
1348
|
+
startDate: startDate,
|
1349
|
+
endDate: endDate,
|
1350
|
+
events: events,
|
1351
|
+
norms: norms,
|
1352
|
+
showWeeklyNorm: showWeeklyNorm,
|
1353
|
+
onOpenDetail: onOpenDetail,
|
1354
|
+
onOpenCreate: onOpenCreate,
|
1355
|
+
onEventDetail: onEventDetail,
|
1356
|
+
loading: loading
|
1357
|
+
}) : React__default.createElement(LMSWeeklyCalendar, {
|
1358
|
+
startDate: startDate,
|
1359
|
+
endDate: endDate,
|
1360
|
+
events: events,
|
1361
|
+
norms: norms,
|
1362
|
+
onOpenDetail: onOpenDetail,
|
1363
|
+
onOpenCreate: onOpenCreate,
|
1364
|
+
onEventDetail: onEventDetail,
|
1365
|
+
loading: loading
|
1366
|
+
}));
|
1367
|
+
}
|
1368
|
+
|
1097
1369
|
var SAPPCalendar = function SAPPCalendar(_ref) {
|
1098
1370
|
var teacherName = _ref.teacherName,
|
1099
1371
|
events = _ref.events,
|
@@ -1194,10 +1466,11 @@ var SAPPCalendar = function SAPPCalendar(_ref) {
|
|
1194
1466
|
onOpenCreate: onOpenCreate,
|
1195
1467
|
onEventDetail: onEventDetail,
|
1196
1468
|
loading: loading
|
1197
|
-
}), calendarMode === 'week' && React__default.createElement(
|
1469
|
+
}), calendarMode === 'week' && React__default.createElement(LMSModeWeeklyCalendar, {
|
1198
1470
|
startDate: startDate,
|
1199
1471
|
endDate: endDate,
|
1200
1472
|
events: splittedEvents,
|
1473
|
+
showWeeklyNorm: showWeeklyNorm,
|
1201
1474
|
norms: norms,
|
1202
1475
|
onOpenDetail: onOpenDetail,
|
1203
1476
|
onOpenCreate: onOpenCreate,
|