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.
@@ -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: boolean;
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: 5%;
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 calculateBoxSize = function calculateBoxSize(startTime, endTime) {
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(DAYS_OF_WEEK)[i]), React__default.createElement("div", {
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(LMSWeeklyCalendar, {
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,