sapp-common-package-test-final 1.0.13 → 1.5.1
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/FilterCalendar/FilterCalendar.d.ts +2 -1
- package/dist/components/SAPPCalendar/HeaderCalendar/LMSHeaderCalendar.d.ts +2 -1
- package/dist/components/SAPPCalendar/LMSWeeklyCalendar/LMSWeeklyCalendar.d.ts +1 -0
- package/dist/components/SAPPCalendar/LMSWeeklyCalendar/LMSWeeklyCell.d.ts +1 -1
- package/dist/components/SAPPCalendar/SAPPCalendar.d.ts +6 -3
- package/dist/components/SAPPCalendar/WeeklyCalendar/WeeklyCalendar.d.ts +4 -5
- package/dist/components/SAPPCalendar/WeeklyCalendar/WeeklyEvent.d.ts +2 -1
- package/dist/components/SAPPCalendar/common/Icon.d.ts +1 -2
- package/dist/constants/index.d.ts +17 -7
- package/dist/icons/index.d.ts +10 -7
- package/dist/index.css +290 -167
- package/dist/index.js +447 -363
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +448 -364
- package/dist/index.modern.js.map +1 -1
- package/dist/types/index.d.ts +8 -4
- package/dist/utils/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import dayjs from 'dayjs';
|
2
2
|
import React, { useState, useEffect, useMemo } from 'react';
|
3
|
-
import { DatePicker,
|
3
|
+
import { DatePicker, Tooltip, Table, Select, Calendar } from 'antd';
|
4
4
|
import clsx$1, { clsx } from 'clsx';
|
5
5
|
import isBetween from 'dayjs/plugin/isBetween';
|
6
6
|
|
@@ -59,6 +59,10 @@ var useEffectAfterMounted = function useEffectAfterMounted(callback, dependencie
|
|
59
59
|
var HOURS_PER_DAY = 24;
|
60
60
|
var MINUTES_PER_HOUR = 60;
|
61
61
|
var TIME_FORMAT = 'HH:mm';
|
62
|
+
var MIN_HEIGHT_HIDE_DETAILS = 140;
|
63
|
+
var MIN_HEIGHT_HIDE_ALL = 105;
|
64
|
+
var MIN_HEIGHT_EVENT = 50;
|
65
|
+
var BORDER_WEEKLY_CELL = 1;
|
62
66
|
var DAYS_OF_WEEK;
|
63
67
|
(function (DAYS_OF_WEEK) {
|
64
68
|
DAYS_OF_WEEK["Monday"] = "Monday";
|
@@ -104,13 +108,15 @@ var EVENT_TYPES;
|
|
104
108
|
(function (EVENT_TYPES) {
|
105
109
|
EVENT_TYPES["TEACHING"] = "TEACHING";
|
106
110
|
EVENT_TYPES["BUSY"] = "BUSY";
|
107
|
-
EVENT_TYPES["
|
111
|
+
EVENT_TYPES["HOLIDAY"] = "HOLIDAY";
|
108
112
|
EVENT_TYPES["OTHER"] = "OTHER";
|
113
|
+
EVENT_TYPES["LIVE_ONLINE"] = "LIVE_ONLINE";
|
109
114
|
})(EVENT_TYPES || (EVENT_TYPES = {}));
|
110
|
-
var FORMAT_DATE_CARLENDA
|
111
|
-
|
112
|
-
|
113
|
-
|
115
|
+
var FORMAT_DATE_CARLENDA;
|
116
|
+
(function (FORMAT_DATE_CARLENDA) {
|
117
|
+
FORMAT_DATE_CARLENDA["MONTH_AND_WEEK"] = "MMMM DD";
|
118
|
+
FORMAT_DATE_CARLENDA["DATE"] = "DD";
|
119
|
+
})(FORMAT_DATE_CARLENDA || (FORMAT_DATE_CARLENDA = {}));
|
114
120
|
var LEARNING_MODE;
|
115
121
|
(function (LEARNING_MODE) {
|
116
122
|
LEARNING_MODE["ONLINE"] = "ONLINE";
|
@@ -120,15 +126,20 @@ var LEARNING_MODE;
|
|
120
126
|
LEARNING_MODE["HOLIDAY"] = "HOLIDAY";
|
121
127
|
LEARNING_MODE["OVERDUE"] = "OVERDUE";
|
122
128
|
LEARNING_MODE["TEST"] = "TEST";
|
129
|
+
LEARNING_MODE["KEY_BEFORE_CONTENT"] = "KEY_BEFORE_CONTENT";
|
123
130
|
})(LEARNING_MODE || (LEARNING_MODE = {}));
|
131
|
+
var CALENDAR_TYPE;
|
132
|
+
(function (CALENDAR_TYPE) {
|
133
|
+
CALENDAR_TYPE["OPS"] = "OPS";
|
134
|
+
CALENDAR_TYPE["LMS"] = "LMS";
|
135
|
+
})(CALENDAR_TYPE || (CALENDAR_TYPE = {}));
|
124
136
|
|
125
137
|
var _convertType;
|
126
138
|
var customDateFormat = function customDateFormat(value, formatStr) {
|
127
139
|
return dayjs(value).format(formatStr);
|
128
140
|
};
|
129
|
-
var convertType = (_convertType = {}, _convertType[EVENT_TYPES.TEACHING] = 'info', _convertType[EVENT_TYPES.BUSY] = 'error', _convertType[EVENT_TYPES.
|
141
|
+
var convertType = (_convertType = {}, _convertType[EVENT_TYPES.TEACHING] = 'info', _convertType[EVENT_TYPES.BUSY] = 'error', _convertType[EVENT_TYPES.HOLIDAY] = 'warning', _convertType[EVENT_TYPES.OTHER] = 'success', _convertType[EVENT_TYPES.LIVE_ONLINE] = 'purple', _convertType);
|
130
142
|
var daysOfWeekKeys = Object.values(DAYS_OF_WEEK);
|
131
|
-
var hoursOfDayKeys = Object.values(HOUR_OF_DAY);
|
132
143
|
var calculateNormOfWeek = function calculateNormOfWeek(norms, events, startDate, endDate) {
|
133
144
|
var norm = norms.find(function (norm) {
|
134
145
|
return startDate.isBetween(norm.startDate, norm.endDate, 'day', '[]') && endDate.isBetween(norm.startDate, norm.endDate, 'day', '[]');
|
@@ -183,7 +194,9 @@ var checkIsAllday = function checkIsAllday(startDate, endDate) {
|
|
183
194
|
}
|
184
195
|
return startDate.format(TIME_FORMAT) === startDate.startOf('day').format(TIME_FORMAT) && endDate.format(TIME_FORMAT) === endDate.endOf('day').format(TIME_FORMAT) && startDate.isBefore(endDate);
|
185
196
|
};
|
197
|
+
var hoursOfDayKeys = Object.values(HOUR_OF_DAY);
|
186
198
|
|
199
|
+
var _getIconEvent;
|
187
200
|
var Left = function Left() {
|
188
201
|
return React.createElement("svg", {
|
189
202
|
width: '16',
|
@@ -272,42 +285,87 @@ var Star = function Star() {
|
|
272
285
|
fill: '#F57C00'
|
273
286
|
}));
|
274
287
|
};
|
275
|
-
var
|
288
|
+
var TestIcon = function TestIcon() {
|
276
289
|
return React.createElement("svg", {
|
277
|
-
width: '
|
278
|
-
height: '
|
279
|
-
viewBox: '0 0
|
280
|
-
fill: '
|
290
|
+
width: '14',
|
291
|
+
height: '15',
|
292
|
+
viewBox: '0 0 14 15',
|
293
|
+
fill: 'none',
|
281
294
|
xmlns: 'http://www.w3.org/2000/svg'
|
282
295
|
}, React.createElement("path", {
|
283
|
-
d: '
|
284
|
-
fill: '#
|
296
|
+
d: 'M4.38413 3.03685H7.85239C8.24984 3.03685 8.52203 2.6436 8.37463 2.28174L7.99366 1.34663C7.90843 1.13708 7.7017 1 7.47142 1H4.76462C4.53482 1 4.32762 1.13754 4.24238 1.34663L3.86189 2.28174C3.71449 2.6436 3.98668 3.03685 4.38413 3.03685Z',
|
297
|
+
fill: '#FFB800'
|
298
|
+
}), React.createElement("path", {
|
299
|
+
d: 'M12.7209 8.27831C12.3488 7.9183 11.7508 7.9183 11.3788 8.27831L10.9775 8.67433L12.3206 9.98607L12.7209 9.59375C13.0929 9.22912 13.0929 8.64294 12.7209 8.27831Z',
|
300
|
+
fill: '#FFB800'
|
301
|
+
}), React.createElement("path", {
|
302
|
+
d: 'M10.4791 9.16455L8.18108 11.4169C8.12928 11.4631 8.09631 11.5277 8.0869 11.597L7.90795 12.6124C7.87028 12.8385 8.06806 13.0324 8.29881 12.9955L9.33952 12.8247C9.40545 12.8108 9.47138 12.7785 9.51847 12.7324L11.8212 10.4754L10.4791 9.16455Z',
|
303
|
+
fill: '#FFB800'
|
304
|
+
}), React.createElement("path", {
|
305
|
+
d: 'M9.68361 2.01953H9.02857L9.03092 2.02553C9.18727 2.40816 9.13923 2.84156 8.90331 3.18312C8.66738 3.52513 8.27464 3.7296 7.85317 3.7296H4.38444C3.96297 3.7296 3.57023 3.52559 3.33431 3.18312C3.09791 2.8411 3.05035 2.40816 3.20622 2.02507L3.20857 2.01953H2.55401C1.69224 2.01953 1 2.70263 1 3.54267V11.4768C1 12.3169 1.69224 13 2.55401 13H7.25888C7.20285 12.8412 7.1826 12.6709 7.21085 12.5006L7.39074 11.4791C7.41805 11.2728 7.53154 11.0591 7.70625 10.904L10.196 8.46286L10.8764 7.79037C10.9852 7.68514 11.1081 7.60298 11.2367 7.5319V3.54267C11.2376 2.70263 10.5407 2.01953 9.68361 2.01953ZM3.90128 9.69568H3.47229C3.23824 9.69568 3.04846 9.50967 3.04846 9.28028C3.04846 9.05088 3.23824 8.86488 3.47229 8.86488H3.90176C4.1358 8.86488 4.32558 9.05088 4.32558 9.28028C4.32558 9.50967 4.13533 9.69568 3.90128 9.69568ZM3.90128 7.17512H3.47229C3.23824 7.17512 3.04846 6.98911 3.04846 6.75972C3.04846 6.53032 3.23824 6.34432 3.47229 6.34432H3.90176C4.1358 6.34432 4.32558 6.53032 4.32558 6.75972C4.32558 6.98911 4.13533 7.17512 3.90128 7.17512ZM7.69683 9.69522H5.60128C5.36723 9.69522 5.17745 9.50921 5.17745 9.27981C5.17745 9.05042 5.36723 8.86441 5.60128 8.86441H7.69683C7.93087 8.86441 8.12065 9.05042 8.12065 9.27981C8.12065 9.50921 7.93135 9.69522 7.69683 9.69522ZM8.76533 7.17512H5.60033C5.36629 7.17512 5.17651 6.98911 5.17651 6.75972C5.17651 6.53032 5.36629 6.34432 5.60033 6.34432H8.76533C8.99937 6.34432 9.18915 6.53032 9.18915 6.75972C9.18915 6.98911 8.99937 7.17512 8.76533 7.17512Z',
|
306
|
+
fill: '#FFB800'
|
285
307
|
}));
|
286
308
|
};
|
287
|
-
var
|
309
|
+
var HiddenEyeIcon = function HiddenEyeIcon() {
|
288
310
|
return React.createElement("svg", {
|
289
|
-
width: '
|
290
|
-
height: '
|
291
|
-
viewBox: '0 0
|
292
|
-
fill: '
|
311
|
+
width: '16',
|
312
|
+
height: '17',
|
313
|
+
viewBox: '0 0 16 17',
|
314
|
+
fill: 'none',
|
293
315
|
xmlns: 'http://www.w3.org/2000/svg'
|
294
316
|
}, React.createElement("path", {
|
295
|
-
d: '
|
296
|
-
fill: '#
|
317
|
+
d: 'M7.92867 10.5001C8.45911 10.5001 8.96782 10.2894 9.34289 9.91436C9.71796 9.53929 9.92868 9.03058 9.92868 8.50015C9.92868 8.44158 9.926 8.38354 9.921 8.32622L7.75475 10.4925C7.81207 10.4975 7.86992 10.5001 7.92867 10.5001ZM14.5487 2.31372L13.7858 1.55157C13.759 1.5248 13.7227 1.50977 13.6848 1.50977C13.647 1.50977 13.6106 1.5248 13.5839 1.55157L11.6317 3.50425C10.5548 2.9539 9.34427 2.67872 8.0001 2.67872C4.56796 2.67872 2.00725 4.46622 0.31796 8.04122C0.250059 8.185 0.214844 8.34203 0.214844 8.50104C0.214844 8.66005 0.250059 8.81708 0.31796 8.96086C0.99296 10.3826 1.80576 11.5222 2.75635 12.3796L0.867246 14.268C0.840475 14.2948 0.825437 14.3311 0.825437 14.369C0.825437 14.4069 0.840475 14.4432 0.867246 14.47L1.62957 15.2323C1.65636 15.2591 1.69268 15.2741 1.73055 15.2741C1.76842 15.2741 1.80474 15.2591 1.83153 15.2323L14.5487 2.51586C14.562 2.50259 14.5725 2.48684 14.5797 2.46949C14.5869 2.45215 14.5906 2.43356 14.5906 2.41479C14.5906 2.39602 14.5869 2.37743 14.5797 2.36008C14.5725 2.34274 14.562 2.32698 14.5487 2.31372ZM4.78582 8.50015C4.78577 7.9573 4.92632 7.4237 5.1938 6.95132C5.46127 6.47894 5.84653 6.08389 6.31206 5.80466C6.77758 5.52543 7.30749 5.37154 7.85017 5.35798C8.39285 5.34442 8.92979 5.47166 9.40868 5.72729L8.54046 6.5955C8.19032 6.48339 7.81606 6.46989 7.45875 6.55648C7.10143 6.64307 6.77488 6.82641 6.51491 7.08638C6.25494 7.34635 6.0716 7.67291 5.98501 8.03022C5.89841 8.38753 5.91192 8.76179 6.02403 9.11193L5.15582 9.98015C4.91218 9.52493 4.78506 9.01646 4.78582 8.50015Z',
|
318
|
+
fill: '#DCDDDD'
|
319
|
+
}), React.createElement("path", {
|
320
|
+
d: 'M15.6819 8.03917C15.0533 6.71536 14.3052 5.6359 13.4374 4.80078L10.8635 7.37489C11.0805 7.94206 11.1286 8.55992 11.002 9.15383C10.8754 9.74774 10.5795 10.2923 10.1501 10.7217C9.72073 11.1511 9.17618 11.4469 8.58227 11.5735C7.98836 11.7001 7.3705 11.652 6.80333 11.4351L4.62012 13.6183C5.63297 14.087 6.75952 14.3213 7.99976 14.3213C11.4319 14.3213 13.9926 12.5338 15.6819 8.95882C15.7498 8.81504 15.785 8.65801 15.785 8.499C15.785 8.33999 15.7498 8.18295 15.6819 8.03917Z',
|
321
|
+
fill: '#DCDDDD'
|
297
322
|
}));
|
298
323
|
};
|
299
|
-
var
|
324
|
+
var EyeIcon = function EyeIcon() {
|
300
325
|
return React.createElement("svg", {
|
301
|
-
width: '
|
302
|
-
height: '
|
303
|
-
viewBox: '0 0
|
304
|
-
fill: '
|
326
|
+
width: '16',
|
327
|
+
height: '17',
|
328
|
+
viewBox: '0 0 16 17',
|
329
|
+
fill: 'none',
|
305
330
|
xmlns: 'http://www.w3.org/2000/svg'
|
306
331
|
}, React.createElement("path", {
|
307
|
-
d: '
|
308
|
-
fill: '
|
332
|
+
d: 'M5.92868 8.50014C5.92868 9.03057 6.13939 9.53928 6.51446 9.91435C6.88953 10.2894 7.39824 10.5001 7.92868 10.5001C8.45911 10.5001 8.96782 10.2894 9.34289 9.91435C9.71796 9.53928 9.92868 9.03057 9.92868 8.50014C9.92868 7.96971 9.71796 7.461 9.34289 7.08593C8.96782 6.71085 8.45911 6.50014 7.92868 6.50014C7.39824 6.50014 6.88953 6.71085 6.51446 7.08593C6.13939 7.461 5.92868 7.96971 5.92868 8.50014ZM15.6822 8.03943C13.9894 4.47335 11.4305 2.67871 8.0001 2.67871C4.56796 2.67871 2.01082 4.47335 0.31796 8.04121C0.250059 8.18499 0.214844 8.34203 0.214844 8.50103C0.214844 8.66004 0.250059 8.81707 0.31796 8.96085C2.01082 12.5269 4.56975 14.3216 8.0001 14.3216C11.4322 14.3216 13.9894 12.5269 15.6822 8.95907C15.8197 8.66978 15.8197 8.33407 15.6822 8.03943ZM7.92868 11.643C6.19296 11.643 4.78582 10.2359 4.78582 8.50014C4.78582 6.76443 6.19296 5.35728 7.92868 5.35728C9.66439 5.35728 11.0715 6.76443 11.0715 8.50014C11.0715 10.2359 9.66439 11.643 7.92868 11.643Z',
|
333
|
+
fill: '#DCDDDD'
|
334
|
+
}));
|
335
|
+
};
|
336
|
+
var FlagIcon = function FlagIcon() {
|
337
|
+
return React.createElement("svg", {
|
338
|
+
width: '14',
|
339
|
+
height: '15',
|
340
|
+
viewBox: '0 0 14 15',
|
341
|
+
fill: 'none',
|
342
|
+
xmlns: 'http://www.w3.org/2000/svg'
|
343
|
+
}, React.createElement("path", {
|
344
|
+
d: 'M11.229 5.1665L12.7165 3.18317C12.7813 3.09646 12.8208 2.99343 12.8304 2.8856C12.8401 2.77776 12.8196 2.66936 12.7711 2.57252C12.7227 2.47568 12.6483 2.39422 12.5563 2.33723C12.4642 2.28025 12.3581 2.24999 12.2498 2.24984H5.24984C5.24984 2.09513 5.18838 1.94675 5.07898 1.83736C4.96959 1.72796 4.82121 1.6665 4.6665 1.6665C4.51179 1.6665 4.36342 1.72796 4.25402 1.83736C4.14463 1.94675 4.08317 2.09513 4.08317 2.24984V12.1665H3.49984C3.34513 12.1665 3.19675 12.228 3.08736 12.3374C2.97796 12.4468 2.9165 12.5951 2.9165 12.7498C2.9165 12.9045 2.97796 13.0529 3.08736 13.1623C3.19675 13.2717 3.34513 13.3332 3.49984 13.3332H5.83317C5.98788 13.3332 6.13625 13.2717 6.24565 13.1623C6.35505 13.0529 6.4165 12.9045 6.4165 12.7498C6.4165 12.5951 6.35505 12.4468 6.24565 12.3374C6.13625 12.228 5.98788 12.1665 5.83317 12.1665H5.24984V8.08317H12.2498C12.3581 8.08302 12.4642 8.05276 12.5563 7.99578C12.6483 7.93879 12.7227 7.85733 12.7711 7.76049C12.8196 7.66365 12.8401 7.55525 12.8304 7.44741C12.8208 7.33957 12.7813 7.23654 12.7165 7.14984L11.229 5.1665Z',
|
345
|
+
fill: '#FFB800'
|
309
346
|
}));
|
310
347
|
};
|
348
|
+
var GoldStarIcon = function GoldStarIcon() {
|
349
|
+
return React.createElement("svg", {
|
350
|
+
width: '14',
|
351
|
+
height: '15',
|
352
|
+
viewBox: '0 0 14 15',
|
353
|
+
fill: 'none',
|
354
|
+
xmlns: 'http://www.w3.org/2000/svg'
|
355
|
+
}, React.createElement("g", {
|
356
|
+
clipPath: 'url(#clip0_23522_33890)'
|
357
|
+
}, React.createElement("path", {
|
358
|
+
d: 'M13.9308 5.27509L9.73388 4.66514L7.85774 0.86162C7.8065 0.757482 7.7222 0.67318 7.61806 0.621937C7.35689 0.493005 7.03951 0.600449 6.90893 0.86162L5.03279 4.66514L0.835862 5.27509C0.720153 5.29162 0.614362 5.34617 0.533366 5.42882C0.435446 5.52946 0.381488 5.66486 0.383347 5.80527C0.385207 5.94568 0.442733 6.0796 0.543284 6.17762L3.57982 9.13811L2.86242 13.3185C2.8456 13.4158 2.85636 13.5158 2.89348 13.6072C2.93061 13.6987 2.99261 13.7779 3.07246 13.8359C3.15231 13.8939 3.24682 13.9283 3.34526 13.9353C3.4437 13.9424 3.54213 13.9216 3.62941 13.8756L7.38333 11.9019L11.1373 13.8756C11.2397 13.9301 11.3588 13.9483 11.4728 13.9285C11.7604 13.8789 11.9538 13.6061 11.9042 13.3185L11.1869 9.13811L14.2234 6.17762C14.306 6.09662 14.3606 5.99083 14.3771 5.87512C14.4217 5.58585 14.2201 5.31807 13.9308 5.27509Z',
|
359
|
+
fill: '#FFB800'
|
360
|
+
})), React.createElement("defs", null, React.createElement("clipPath", {
|
361
|
+
id: 'clip0_23522_33890'
|
362
|
+
}, React.createElement("rect", {
|
363
|
+
width: '14',
|
364
|
+
height: '14',
|
365
|
+
fill: 'white',
|
366
|
+
transform: 'translate(0 0.5)'
|
367
|
+
}))));
|
368
|
+
};
|
311
369
|
var TagIcon = function TagIcon() {
|
312
370
|
return React.createElement("svg", {
|
313
371
|
width: '20',
|
@@ -331,7 +389,7 @@ var EducationIcon = function EducationIcon() {
|
|
331
389
|
fill: 'none',
|
332
390
|
xmlns: 'http://www.w3.org/2000/svg'
|
333
391
|
}, React.createElement("g", {
|
334
|
-
clipPath: 'url(#
|
392
|
+
clipPath: 'url(#clip0_22306_18116)'
|
335
393
|
}, React.createElement("path", {
|
336
394
|
d: 'M10 14.9699L3.75 11.3984V15.243L10 18.7148L16.25 15.243V11.3984L10 14.9699Z',
|
337
395
|
fill: '#21272A'
|
@@ -339,7 +397,7 @@ var EducationIcon = function EducationIcon() {
|
|
339
397
|
d: 'M20.0098 8.0002L10 2.28027L-0.00976562 8.0002L10 13.7201L18.125 9.07715V15.5002H20V8.00566L20.0098 8.0002Z',
|
340
398
|
fill: '#21272A'
|
341
399
|
})), React.createElement("defs", null, React.createElement("clipPath", {
|
342
|
-
id: '
|
400
|
+
id: 'clip0_22306_18116'
|
343
401
|
}, React.createElement("rect", {
|
344
402
|
width: '20',
|
345
403
|
height: '20',
|
@@ -347,40 +405,19 @@ var EducationIcon = function EducationIcon() {
|
|
347
405
|
transform: 'translate(0 0.5)'
|
348
406
|
}))));
|
349
407
|
};
|
350
|
-
var
|
408
|
+
var FilterIcon = function FilterIcon() {
|
351
409
|
return React.createElement("svg", {
|
352
|
-
width: '
|
353
|
-
height: '
|
354
|
-
viewBox: '0 0
|
355
|
-
fill: '
|
410
|
+
width: '35',
|
411
|
+
height: '35',
|
412
|
+
viewBox: '0 0 35 35',
|
413
|
+
fill: 'currentColor',
|
356
414
|
xmlns: 'http://www.w3.org/2000/svg'
|
357
415
|
}, React.createElement("path", {
|
358
|
-
d: '
|
359
|
-
fill: '
|
416
|
+
d: 'M26.5 8.4961V26.5036H8.5V8.4961H26.5ZM28 6.99609L7 6.99619L7 28.0036L28 27.9961V6.99609ZM10.2625 9.9886H17.7625V24.9886H10.2625V9.9886Z',
|
417
|
+
fill: 'currentColor'
|
360
418
|
}));
|
361
419
|
};
|
362
|
-
var
|
363
|
-
return React.createElement("svg", {
|
364
|
-
width: '14',
|
365
|
-
height: '15',
|
366
|
-
viewBox: '0 0 14 15',
|
367
|
-
fill: 'none',
|
368
|
-
xmlns: 'http://www.w3.org/2000/svg'
|
369
|
-
}, React.createElement("g", {
|
370
|
-
clipPath: 'url(#clip0_19479_10426)'
|
371
|
-
}, React.createElement("path", {
|
372
|
-
d: 'M13.9307 5.27509L9.73376 4.66514L7.85762 0.86162C7.80638 0.757482 7.72207 0.67318 7.61794 0.621937C7.35676 0.493005 7.03939 0.600449 6.90881 0.86162L5.03267 4.66514L0.83574 5.27509C0.720031 5.29162 0.61424 5.34617 0.533244 5.42882C0.435324 5.52946 0.381366 5.66486 0.383225 5.80527C0.385085 5.94568 0.442611 6.0796 0.543162 6.17762L3.57969 9.13811L2.8623 13.3185C2.84548 13.4158 2.85624 13.5158 2.89336 13.6072C2.93049 13.6987 2.99249 13.7779 3.07234 13.8359C3.15219 13.8939 3.2467 13.9283 3.34514 13.9353C3.44358 13.9424 3.54201 13.9216 3.62928 13.8756L7.38321 11.9019L11.1371 13.8756C11.2396 13.9301 11.3586 13.9483 11.4727 13.9285C11.7603 13.8789 11.9537 13.6061 11.9041 13.3185L11.1867 9.13811L14.2233 6.17762C14.3059 6.09662 14.3605 5.99083 14.377 5.87512C14.4216 5.58585 14.22 5.31807 13.9307 5.27509Z',
|
373
|
-
fill: '#FFB800'
|
374
|
-
})), React.createElement("defs", null, React.createElement("clipPath", {
|
375
|
-
id: 'clip0_19479_10426'
|
376
|
-
}, React.createElement("rect", {
|
377
|
-
width: '14',
|
378
|
-
height: '14',
|
379
|
-
fill: 'white',
|
380
|
-
transform: 'translate(0 0.5)'
|
381
|
-
}))));
|
382
|
-
};
|
383
|
-
var EyeIcon = function EyeIcon() {
|
420
|
+
var LeftArrowIcon = function LeftArrowIcon() {
|
384
421
|
return React.createElement("svg", {
|
385
422
|
width: '16',
|
386
423
|
height: '17',
|
@@ -388,27 +425,42 @@ var EyeIcon = function EyeIcon() {
|
|
388
425
|
fill: 'none',
|
389
426
|
xmlns: 'http://www.w3.org/2000/svg'
|
390
427
|
}, React.createElement("path", {
|
391
|
-
d: '
|
392
|
-
fill: '#
|
428
|
+
d: 'M11.3125 3.36853V13.631C11.3125 13.9388 10.9875 14.1107 10.7656 13.9201L4.81563 8.78884C4.64531 8.64196 4.64531 8.35915 4.81563 8.21071L10.7656 3.07946C10.9875 2.88884 11.3125 3.06071 11.3125 3.36853Z',
|
429
|
+
fill: '#404041'
|
393
430
|
}));
|
394
431
|
};
|
395
|
-
var
|
432
|
+
var RightArrowIcon = function RightArrowIcon() {
|
396
433
|
return React.createElement("svg", {
|
397
|
-
width: '
|
398
|
-
height: '
|
399
|
-
viewBox: '0 0
|
434
|
+
width: '8',
|
435
|
+
height: '11',
|
436
|
+
viewBox: '0 0 8 11',
|
400
437
|
fill: 'none',
|
401
438
|
xmlns: 'http://www.w3.org/2000/svg'
|
402
439
|
}, React.createElement("path", {
|
403
|
-
d: '
|
404
|
-
fill: '#
|
405
|
-
}), React.createElement("path", {
|
406
|
-
d: 'M15.6819 8.03917C15.0533 6.71536 14.3052 5.6359 13.4374 4.80078L10.8635 7.37489C11.0805 7.94206 11.1286 8.55992 11.002 9.15383C10.8754 9.74774 10.5795 10.2923 10.1501 10.7217C9.72073 11.1511 9.17618 11.4469 8.58227 11.5735C7.98836 11.7001 7.3705 11.652 6.80333 11.4351L4.62012 13.6183C5.63297 14.087 6.75952 14.3213 7.99976 14.3213C11.4319 14.3213 13.9926 12.5338 15.6819 8.95882C15.7498 8.81504 15.785 8.65801 15.785 8.499C15.785 8.33999 15.7498 8.18295 15.6819 8.03917Z',
|
407
|
-
fill: '#DCDDDD'
|
440
|
+
d: 'M0.6875 0.368526L0.6875 10.631C0.6875 10.9388 1.0125 11.1107 1.23438 10.9201L7.18437 5.78884C7.35469 5.64196 7.35469 5.35915 7.18437 5.21071L1.23438 0.079463C1.0125 -0.111162 0.6875 0.0607128 0.6875 0.368526Z',
|
441
|
+
fill: '#404041'
|
408
442
|
}));
|
409
443
|
};
|
444
|
+
var getIconEvent = (_getIconEvent = {}, _getIconEvent[EVENT_TYPES.TEACHING] = React.createElement(Book, null), _getIconEvent[EVENT_TYPES.BUSY] = React.createElement(CalendarDelete, null), _getIconEvent[EVENT_TYPES.HOLIDAY] = React.createElement(Star, null), _getIconEvent[EVENT_TYPES.OTHER] = React.createElement(CalendarAccept, null), _getIconEvent[EVENT_TYPES.LIVE_ONLINE] = '', _getIconEvent);
|
445
|
+
var getIconforEvent = function getIconforEvent(event) {
|
446
|
+
if (event.source === CALENDAR_TYPE.LMS) {
|
447
|
+
var icon = [];
|
448
|
+
if (event.isCaseStudy) {
|
449
|
+
icon.push(React.createElement(GoldStarIcon, null));
|
450
|
+
}
|
451
|
+
if (event.isTest) {
|
452
|
+
icon.push(React.createElement(TestIcon, null));
|
453
|
+
}
|
454
|
+
if (event.isKeyContentBefore) {
|
455
|
+
icon.push(React.createElement(FlagIcon, null));
|
456
|
+
}
|
457
|
+
return icon;
|
458
|
+
} else {
|
459
|
+
return getIconEvent[event.type];
|
460
|
+
}
|
461
|
+
};
|
410
462
|
|
411
|
-
var styles = {"
|
463
|
+
var styles = {"transform":"_3-Pu9","cursor-pointer":"_2Mcv6","resize":"_uCXxT","rounded-none":"_3EfQZ","border":"_3-abu","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":"_3vIFr","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-purple":"_30cym","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","event--min-height":"_ZZSJH","weekly-event":"_hnHem","weekly-event__title":"_21a0T","weekly-event__date":"_PiKmX","weekly-event--collapse":"_1pvXT","btn-lms-default":"_1GA3p","ant-select-dropdown":"__OFBr","text-lms-primary":"_1gLzS","header-calendar_filter":"_1fd_Y","ant-picker-calendar-header":"_2IWLV","ant-picker-calendar-mode-switch":"_2jvy8","hover-item":"_3im6B","weekly-event__title_icon":"_3OUWM","monthly-event__date_tablet":"_2HhKK","calendar-filter":"_2n63y","see-more":"_1uakm","weekly-calendar-lms__cell":"__PqI3"};
|
412
464
|
|
413
465
|
var Button = function Button(_ref) {
|
414
466
|
var _ref$type = _ref.type,
|
@@ -417,6 +469,7 @@ var Button = function Button(_ref) {
|
|
417
469
|
color = _ref$color === void 0 ? 'default' : _ref$color,
|
418
470
|
onClick = _ref.onClick,
|
419
471
|
children = _ref.children;
|
472
|
+
console.log('value:', styles["btn-" + color]);
|
420
473
|
return React.createElement("button", {
|
421
474
|
type: type,
|
422
475
|
onClick: onClick,
|
@@ -496,227 +549,6 @@ var HeaderCalendar = function HeaderCalendar(_ref) {
|
|
496
549
|
}, "Week")));
|
497
550
|
};
|
498
551
|
|
499
|
-
var SelectBox = function SelectBox(_ref) {
|
500
|
-
var value = _ref.value,
|
501
|
-
options = _ref.options,
|
502
|
-
defaultValue = _ref.defaultValue,
|
503
|
-
_ref$className = _ref.className,
|
504
|
-
className = _ref$className === void 0 ? '' : _ref$className,
|
505
|
-
disabled = _ref.disabled,
|
506
|
-
onChange = _ref.onChange;
|
507
|
-
return React.createElement(Select, {
|
508
|
-
defaultValue: defaultValue,
|
509
|
-
className: className,
|
510
|
-
disabled: disabled,
|
511
|
-
options: options,
|
512
|
-
value: value,
|
513
|
-
onChange: onChange
|
514
|
-
});
|
515
|
-
};
|
516
|
-
|
517
|
-
var LMSHeaderCalendar = function LMSHeaderCalendar(_ref) {
|
518
|
-
var title = _ref.title,
|
519
|
-
showTeacherName = _ref.showTeacherName,
|
520
|
-
currentDate = _ref.currentDate,
|
521
|
-
setCurrentDate = _ref.setCurrentDate,
|
522
|
-
calendarMode = _ref.calendarMode,
|
523
|
-
setCalendarMode = _ref.setCalendarMode,
|
524
|
-
toggleTurnOnFilter = _ref.toggleTurnOnFilter,
|
525
|
-
filter = _ref.filter;
|
526
|
-
var options = [{
|
527
|
-
value: 'month',
|
528
|
-
label: 'Month'
|
529
|
-
}, {
|
530
|
-
value: 'week',
|
531
|
-
label: 'Week'
|
532
|
-
}];
|
533
|
-
var handleChangeDate = function handleChangeDate(date) {
|
534
|
-
setCurrentDate(date);
|
535
|
-
};
|
536
|
-
var handleChangeMode = function handleChangeMode(mode) {
|
537
|
-
setCalendarMode(mode);
|
538
|
-
setCurrentDate(dayjs());
|
539
|
-
};
|
540
|
-
return React.createElement("div", {
|
541
|
-
className: styles['header-calendar']
|
542
|
-
}, React.createElement("div", {
|
543
|
-
className: styles['header-calendar_filter']
|
544
|
-
}, React.createElement("div", {
|
545
|
-
className: clsx$1('cursor-pointer', filter.isOpen && styles['text-lms-primary']),
|
546
|
-
onClick: toggleTurnOnFilter
|
547
|
-
}, React.createElement(FilterIcon, null)), React.createElement("div", {
|
548
|
-
className: "" + styles['header-calendar__nav']
|
549
|
-
}, React.createElement(Icon, {
|
550
|
-
icon: React.createElement(LeftArrowIcon, null),
|
551
|
-
onClick: function onClick() {
|
552
|
-
return handleChangeDate(currentDate.subtract(1, calendarMode));
|
553
|
-
},
|
554
|
-
className: styles['rounded-none']
|
555
|
-
}), React.createElement(DatePicker, {
|
556
|
-
picker: calendarMode === 'day' ? 'date' : calendarMode,
|
557
|
-
onChange: handleChangeDate,
|
558
|
-
format: function format(value) {
|
559
|
-
return customDateFormat(value, calendarMode === 'day' ? FORMAT_DATE_CARLENDA.DATE : FORMAT_DATE_CARLENDA.MONTH_AND_WEEK);
|
560
|
-
},
|
561
|
-
value: currentDate,
|
562
|
-
allowClear: false,
|
563
|
-
suffixIcon: null,
|
564
|
-
className: styles['header-calendar__date-picker'],
|
565
|
-
size: 'large'
|
566
|
-
}), React.createElement(Icon, {
|
567
|
-
icon: React.createElement(RightArrowIcon, null),
|
568
|
-
onClick: function onClick() {
|
569
|
-
return handleChangeDate(currentDate.add(1, calendarMode));
|
570
|
-
}
|
571
|
-
}))), showTeacherName && React.createElement("div", {
|
572
|
-
className: styles['header-calendar__title']
|
573
|
-
}, title), React.createElement("div", {
|
574
|
-
className: styles['header-calendar__controls']
|
575
|
-
}, React.createElement(Button, {
|
576
|
-
color: 'lms-default',
|
577
|
-
onClick: function onClick() {
|
578
|
-
return handleChangeDate(dayjs());
|
579
|
-
}
|
580
|
-
}, "Today"), React.createElement("div", {
|
581
|
-
className: styles['header-calendar__divider']
|
582
|
-
}), React.createElement(SelectBox, {
|
583
|
-
value: calendarMode,
|
584
|
-
options: options,
|
585
|
-
className: 'select-mode',
|
586
|
-
onChange: function onChange(mode) {
|
587
|
-
handleChangeMode(mode);
|
588
|
-
}
|
589
|
-
})));
|
590
|
-
};
|
591
|
-
|
592
|
-
var styles$1 = {"ant-picker-calendar-header":"_2Y9jk","ant-radio-group":"_3puh0","ant-picker-calendar-month-select":"_1b_yY","calendar-filter":"_1K0QG","calendar-filter_title":"_1kmo4","calendar-filter_note_blue":"_3yl3q","calendar-filter_note_pureple":"_dS6FM","calendar-filter_note_green":"_2v-Pp","calendar-filter_note_yellow":"_1u4J8","calendar-filter_note_red":"_1RLYM","calendar-filter_content_list_item":"_29aaM","calendar-filter_content_item_eye":"_1yCoo"};
|
593
|
-
|
594
|
-
var FilterCalendar = function FilterCalendar(_ref) {
|
595
|
-
var filter = _ref.filter,
|
596
|
-
setFilter = _ref.setFilter,
|
597
|
-
courses = _ref.courses;
|
598
|
-
var noteFilter = useMemo(function () {
|
599
|
-
return [{
|
600
|
-
title: 'Online',
|
601
|
-
icon: React.createElement("div", {
|
602
|
-
className: styles$1['calendar-filter_note_blue']
|
603
|
-
}),
|
604
|
-
value: LEARNING_MODE.ONLINE
|
605
|
-
}, {
|
606
|
-
title: 'Live Online',
|
607
|
-
icon: React.createElement("div", {
|
608
|
-
className: styles$1['calendar-filter_note_pureple']
|
609
|
-
}),
|
610
|
-
value: LEARNING_MODE.LIVE_ONLINE
|
611
|
-
}, {
|
612
|
-
title: 'Offline',
|
613
|
-
icon: React.createElement("div", {
|
614
|
-
className: styles$1['calendar-filter_note_green']
|
615
|
-
}),
|
616
|
-
value: LEARNING_MODE.OFFLINE
|
617
|
-
}, {
|
618
|
-
title: 'Case Study',
|
619
|
-
icon: React.createElement(GoldStarIcon, null),
|
620
|
-
value: LEARNING_MODE.CASE_STUDY
|
621
|
-
}, {
|
622
|
-
title: 'Test',
|
623
|
-
icon: React.createElement(BookIcon, null),
|
624
|
-
value: LEARNING_MODE.TEST
|
625
|
-
}, {
|
626
|
-
title: 'Holiday',
|
627
|
-
icon: React.createElement("div", {
|
628
|
-
className: styles$1['calendar-filter_note_yellow']
|
629
|
-
}),
|
630
|
-
value: LEARNING_MODE.HOLIDAY
|
631
|
-
}, {
|
632
|
-
title: 'Overdue',
|
633
|
-
icon: React.createElement("div", {
|
634
|
-
className: styles$1['calendar-filter_note_red']
|
635
|
-
}),
|
636
|
-
value: LEARNING_MODE.OVERDUE
|
637
|
-
}];
|
638
|
-
}, []);
|
639
|
-
var handleFilter = function handleFilter(type, value) {
|
640
|
-
switch (type) {
|
641
|
-
case 'course':
|
642
|
-
{
|
643
|
-
setFilter(function (prev) {
|
644
|
-
var courseId = prev.courseId || [];
|
645
|
-
var updatedCourseId = courseId.includes(value) ? courseId.filter(function (item) {
|
646
|
-
return item !== value;
|
647
|
-
}) : [].concat(courseId, [value]);
|
648
|
-
return _extends({}, prev, {
|
649
|
-
courseId: updatedCourseId
|
650
|
-
});
|
651
|
-
});
|
652
|
-
break;
|
653
|
-
}
|
654
|
-
case 'note':
|
655
|
-
{
|
656
|
-
setFilter(function (prev) {
|
657
|
-
var typeArray = prev.type || [];
|
658
|
-
var updatedType = typeArray.includes(value) ? typeArray.filter(function (item) {
|
659
|
-
return item !== value;
|
660
|
-
}) : [].concat(typeArray, [value]);
|
661
|
-
return _extends({}, prev, {
|
662
|
-
type: updatedType
|
663
|
-
});
|
664
|
-
});
|
665
|
-
break;
|
666
|
-
}
|
667
|
-
case 'day':
|
668
|
-
{
|
669
|
-
setFilter(function (prev) {
|
670
|
-
return _extends({}, prev, {
|
671
|
-
day: value
|
672
|
-
});
|
673
|
-
});
|
674
|
-
break;
|
675
|
-
}
|
676
|
-
}
|
677
|
-
};
|
678
|
-
var handleFilterday = function handleFilterday(date) {
|
679
|
-
handleFilter('day', date.toString());
|
680
|
-
};
|
681
|
-
return React.createElement("div", {
|
682
|
-
className: styles$1['calendar-filter']
|
683
|
-
}, React.createElement(Calendar, {
|
684
|
-
mode: 'month',
|
685
|
-
fullscreen: false,
|
686
|
-
onChange: handleFilterday
|
687
|
-
}), React.createElement("div", null, React.createElement("div", {
|
688
|
-
className: styles$1['calendar-filter_title']
|
689
|
-
}, React.createElement(TagIcon, null), React.createElement("h3", null, "Notes")), React.createElement("div", null, noteFilter.map(function (item) {
|
690
|
-
var _filter$type;
|
691
|
-
return React.createElement("div", {
|
692
|
-
className: styles$1['calendar-filter_content_list_item'],
|
693
|
-
key: item.value
|
694
|
-
}, React.createElement("div", {
|
695
|
-
className: styles$1['calendar-filter_content_list_item']
|
696
|
-
}, item.icon, item.title), React.createElement("div", {
|
697
|
-
onClick: function onClick() {
|
698
|
-
return handleFilter('note', item.value);
|
699
|
-
},
|
700
|
-
className: styles$1['calendar-filter_content_item_eye']
|
701
|
-
}, (_filter$type = filter.type) !== null && _filter$type !== void 0 && _filter$type.includes(item.value) ? React.createElement(EyeIcon, null) : React.createElement(HiddenEyeIcon, null)));
|
702
|
-
}))), React.createElement("div", null, React.createElement("div", {
|
703
|
-
className: styles$1['calendar-filter_title']
|
704
|
-
}, React.createElement(EducationIcon, null), React.createElement("h3", null, "My courses")), React.createElement("div", null, courses === null || courses === void 0 ? void 0 : courses.map(function (item, key) {
|
705
|
-
var _filter$courseId;
|
706
|
-
return React.createElement("div", {
|
707
|
-
key: key,
|
708
|
-
className: styles$1['calendar-filter_content_list_item']
|
709
|
-
}, React.createElement("div", {
|
710
|
-
className: styles$1['calendar-filter_content_list_item']
|
711
|
-
}, item.name), React.createElement("div", {
|
712
|
-
onClick: function onClick() {
|
713
|
-
return handleFilter('course', item.id);
|
714
|
-
},
|
715
|
-
className: styles$1['calendar-filter_content_item_eye']
|
716
|
-
}, (_filter$courseId = filter.courseId) !== null && _filter$courseId !== void 0 && _filter$courseId.includes(item.id) ? React.createElement(EyeIcon, null) : React.createElement(HiddenEyeIcon, null)));
|
717
|
-
}))));
|
718
|
-
};
|
719
|
-
|
720
552
|
var CustomTooltip = function CustomTooltip(_ref) {
|
721
553
|
var title = _ref.title,
|
722
554
|
children = _ref.children,
|
@@ -732,10 +564,12 @@ var CustomTooltip = function CustomTooltip(_ref) {
|
|
732
564
|
};
|
733
565
|
|
734
566
|
var MonthlyEvent = function MonthlyEvent(_ref) {
|
567
|
+
var _event$title, _event$title2;
|
735
568
|
var event = _ref.event,
|
736
569
|
isSameMonth = _ref.isSameMonth,
|
737
570
|
onEventDetail = _ref.onEventDetail;
|
738
571
|
var formattedDate = customDateFormat(event.startDate, TIME_FORMAT) + ' - ' + customDateFormat(event.endDate, TIME_FORMAT);
|
572
|
+
var formattedDateStart = customDateFormat(event.startDate, TIME_FORMAT);
|
739
573
|
return React.createElement(React.Fragment, null, React.createElement("li", {
|
740
574
|
className: styles["event-" + (isSameMonth ? convertType[event.type] : 'default')],
|
741
575
|
style: {
|
@@ -746,13 +580,19 @@ var MonthlyEvent = function MonthlyEvent(_ref) {
|
|
746
580
|
}
|
747
581
|
}, React.createElement("div", {
|
748
582
|
className: styles['monthly-event__title']
|
749
|
-
}, React.createElement(
|
583
|
+
}, React.createElement("div", {
|
584
|
+
className: styles['weekly-event__title_icon']
|
585
|
+
}, getIconforEvent(event)), React.createElement(CustomTooltip, {
|
750
586
|
title: event.title
|
751
|
-
}, event.title)), React.createElement("div", {
|
587
|
+
}, (event === null || event === void 0 ? void 0 : (_event$title = event.title) === null || _event$title === void 0 ? void 0 : _event$title.length) > 5 ? (event === null || event === void 0 ? void 0 : (_event$title2 = event.title) === null || _event$title2 === void 0 ? void 0 : _event$title2.slice(0, 5)) + '...' : event === null || event === void 0 ? void 0 : event.title)), React.createElement("div", {
|
752
588
|
className: styles['monthly-event__date']
|
753
589
|
}, React.createElement(CustomTooltip, {
|
754
590
|
title: formattedDate
|
755
|
-
}, formattedDate))
|
591
|
+
}, formattedDate)), React.createElement("div", {
|
592
|
+
className: styles['monthly-event__date_tablet']
|
593
|
+
}, getIconforEvent(event), React.createElement(CustomTooltip, {
|
594
|
+
title: formattedDate
|
595
|
+
}, formattedDateStart))));
|
756
596
|
};
|
757
597
|
|
758
598
|
var MonthlyCell = function MonthlyCell(_ref) {
|
@@ -904,7 +744,6 @@ var MonthlyCalendar = function MonthlyCalendar(_ref) {
|
|
904
744
|
});
|
905
745
|
};
|
906
746
|
|
907
|
-
var _getIconEvent;
|
908
747
|
var calculateBoxSize = function calculateBoxSize(startTime, endTime, isAllDay) {
|
909
748
|
if (isAllDay) {
|
910
749
|
return {
|
@@ -914,44 +753,46 @@ var calculateBoxSize = function calculateBoxSize(startTime, endTime, isAllDay) {
|
|
914
753
|
}
|
915
754
|
var minutes = dayjs(startTime).minute();
|
916
755
|
var diffMinutes = dayjs(endTime).diff(startTime, 'minute', true);
|
756
|
+
var top = Math.floor(minutes / MINUTES_PER_HOUR * 100);
|
757
|
+
var height = Math.floor(diffMinutes / MINUTES_PER_HOUR * 100);
|
758
|
+
var border = Math.floor((top + height) / MINUTES_PER_HOUR * BORDER_WEEKLY_CELL);
|
917
759
|
return {
|
918
|
-
top:
|
919
|
-
height:
|
760
|
+
top: top,
|
761
|
+
height: height + border
|
920
762
|
};
|
921
763
|
};
|
922
|
-
var getIconEvent = (_getIconEvent = {}, _getIconEvent[EVENT_TYPES.TEACHING] = React.createElement(Book, null), _getIconEvent[EVENT_TYPES.BUSY] = React.createElement(CalendarDelete, null), _getIconEvent[EVENT_TYPES.TIME_OFF] = React.createElement(Star, null), _getIconEvent[EVENT_TYPES.OTHER] = React.createElement(CalendarAccept, null), _getIconEvent);
|
923
|
-
var MIN_HEIGHT_HIDE_DETAILS = 140;
|
924
|
-
var MIN_HEIGHT_HIDE_ALL = 105;
|
925
764
|
var WeeklyEvent = function WeeklyEvent(_ref) {
|
926
765
|
var event = _ref.event,
|
927
766
|
onOpenDetail = _ref.onOpenDetail,
|
928
|
-
onEventDetail = _ref.onEventDetail
|
767
|
+
onEventDetail = _ref.onEventDetail,
|
768
|
+
zIndex = _ref.zIndex;
|
929
769
|
var _calculateBoxSize = calculateBoxSize(event.startDate, event.endDate, event.isAllDay),
|
930
770
|
top = _calculateBoxSize.top,
|
931
771
|
height = _calculateBoxSize.height;
|
772
|
+
var isMinHeight = height < MIN_HEIGHT_EVENT;
|
932
773
|
var formattedDate = customDateFormat(event.startDate, TIME_FORMAT) + ' - ' + customDateFormat(event.endDate, TIME_FORMAT);
|
933
774
|
return React.createElement("div", {
|
934
|
-
className: styles["event-" + convertType[event.type]],
|
775
|
+
className: clsx$1(styles["event-" + convertType[event.type]], isMinHeight && styles['event--min-height']),
|
935
776
|
onClick: function onClick() {
|
936
777
|
onOpenDetail(dayjs(event.startDate).toDate(), [event]);
|
937
778
|
onEventDetail && onEventDetail(event);
|
938
779
|
},
|
939
780
|
style: {
|
940
781
|
top: top + "%",
|
941
|
-
height: height + "%",
|
942
|
-
zIndex:
|
782
|
+
height: Math.max(height, MIN_HEIGHT_EVENT) + "%",
|
783
|
+
zIndex: zIndex
|
943
784
|
}
|
944
785
|
}, React.createElement("div", {
|
945
786
|
className: clsx$1(styles['weekly-event'], height <= MIN_HEIGHT_HIDE_ALL && styles['weekly-event--collapse'])
|
946
787
|
}, React.createElement("div", {
|
947
|
-
className: styles.flex
|
948
|
-
}, getIconEvent[event.type]), React.createElement("div", {
|
949
788
|
className: clsx$1(height <= MIN_HEIGHT_HIDE_DETAILS && styles['weekly-event--collapse'])
|
950
789
|
}, React.createElement("div", {
|
951
790
|
className: styles['weekly-event__title']
|
952
|
-
}, React.createElement(
|
791
|
+
}, React.createElement("div", {
|
792
|
+
className: styles['weekly-event__title_icon']
|
793
|
+
}, getIconforEvent(event)), React.createElement(CustomTooltip, {
|
953
794
|
title: event.title
|
954
|
-
}, event.title)), React.createElement("div", {
|
795
|
+
}, event.title.length > 5 ? event.title.slice(0, 5) + '...' : '')), React.createElement("div", {
|
955
796
|
className: styles['weekly-event__date']
|
956
797
|
}, React.createElement(CustomTooltip, {
|
957
798
|
title: formattedDate
|
@@ -959,7 +800,6 @@ var WeeklyEvent = function WeeklyEvent(_ref) {
|
|
959
800
|
};
|
960
801
|
|
961
802
|
var WeeklyCell = function WeeklyCell(_ref) {
|
962
|
-
var _events;
|
963
803
|
var events = _ref.events,
|
964
804
|
date = _ref.date,
|
965
805
|
onOpenDetail = _ref.onOpenDetail,
|
@@ -970,19 +810,19 @@ var WeeklyCell = function WeeklyCell(_ref) {
|
|
970
810
|
if (e.target !== e.currentTarget) return;
|
971
811
|
onOpenCreate(dayjs(date).toDate());
|
972
812
|
};
|
973
|
-
events
|
813
|
+
events.sort(function (a, b) {
|
974
814
|
return a.type === EVENT_TYPES.BUSY && b.type !== EVENT_TYPES.BUSY ? 1 : -1;
|
975
815
|
});
|
976
816
|
var renderWeeklyEvent = useMemo(function () {
|
977
|
-
var
|
978
|
-
var isAllDay = (_events2 = events) === null || _events2 === void 0 ? void 0 : _events2.some(function (item) {
|
817
|
+
var isAllDay = events.some(function (item) {
|
979
818
|
return item.isAllDay;
|
980
819
|
});
|
981
|
-
if (isAllDay &&
|
820
|
+
if (isAllDay && events.length > 1) {
|
982
821
|
return React.createElement(React.Fragment, null, React.createElement(WeeklyEvent, {
|
983
822
|
event: events[0],
|
984
823
|
onOpenDetail: onOpenDetail,
|
985
|
-
onEventDetail: onEventDetail
|
824
|
+
onEventDetail: onEventDetail,
|
825
|
+
zIndex: 1
|
986
826
|
}), React.createElement("div", {
|
987
827
|
className: styles['see-more']
|
988
828
|
}, React.createElement(CustomTooltip, {
|
@@ -994,17 +834,19 @@ var WeeklyCell = function WeeklyCell(_ref) {
|
|
994
834
|
event: event,
|
995
835
|
onOpenDetail: onOpenDetail,
|
996
836
|
onEventDetail: onEventDetail,
|
997
|
-
key: index + 1
|
837
|
+
key: index + 1,
|
838
|
+
zIndex: index + 1
|
998
839
|
});
|
999
840
|
}))
|
1000
841
|
}, "+", Math.max(events.length - 1, 0), " More")));
|
1001
842
|
}
|
1002
|
-
return
|
843
|
+
return events.map(function (event, index) {
|
1003
844
|
return React.createElement(WeeklyEvent, {
|
1004
845
|
key: index,
|
1005
846
|
event: event,
|
1006
847
|
onOpenDetail: onOpenDetail,
|
1007
|
-
onEventDetail: onEventDetail
|
848
|
+
onEventDetail: onEventDetail,
|
849
|
+
zIndex: index + 1
|
1008
850
|
});
|
1009
851
|
});
|
1010
852
|
}, [events]);
|
@@ -1053,7 +895,8 @@ var WeeklyCalendar = function WeeklyCalendar(_ref) {
|
|
1053
895
|
onOpenDetail = _ref.onOpenDetail,
|
1054
896
|
onOpenCreate = _ref.onOpenCreate,
|
1055
897
|
onEventDetail = _ref.onEventDetail,
|
1056
|
-
loading = _ref.loading
|
898
|
+
loading = _ref.loading,
|
899
|
+
type = _ref.type;
|
1057
900
|
var getTableColumns = function getTableColumns() {
|
1058
901
|
var _calculateNormOfWeek = calculateNormOfWeek(norms, events, startDate, endDate),
|
1059
902
|
normOfWeek = _calculateNormOfWeek.normOfWeek,
|
@@ -1098,7 +941,8 @@ var WeeklyCalendar = function WeeklyCalendar(_ref) {
|
|
1098
941
|
id: -1,
|
1099
942
|
hour: 'All day'
|
1100
943
|
}, getEventAllDay(events, startDate)));
|
1101
|
-
|
944
|
+
var count = type === CALENDAR_TYPE.LMS ? 7 : 0;
|
945
|
+
for (var i = count; i < HOURS_PER_DAY; i++) {
|
1102
946
|
var targetHour = dayjs(startDate).add(i, 'hour');
|
1103
947
|
data.push(_extends({
|
1104
948
|
id: i,
|
@@ -1120,8 +964,6 @@ var WeeklyCalendar = function WeeklyCalendar(_ref) {
|
|
1120
964
|
});
|
1121
965
|
};
|
1122
966
|
|
1123
|
-
var _getIconEvent$1;
|
1124
|
-
var getIconEvent$1 = (_getIconEvent$1 = {}, _getIconEvent$1[EVENT_TYPES.TEACHING] = React.createElement(Book, null), _getIconEvent$1[EVENT_TYPES.BUSY] = React.createElement(CalendarDelete, null), _getIconEvent$1[EVENT_TYPES.TIME_OFF] = React.createElement(Star, null), _getIconEvent$1[EVENT_TYPES.OTHER] = React.createElement(CalendarAccept, null), _getIconEvent$1);
|
1125
967
|
var calculateBoxSize$1 = function calculateBoxSize(startTime, endTime) {
|
1126
968
|
var minutes = dayjs(startTime).minute();
|
1127
969
|
var diffMinutes = dayjs(endTime).diff(startTime, 'hour', true);
|
@@ -1156,12 +998,12 @@ var LMSWeeklyEvent = function LMSWeeklyEvent(_ref) {
|
|
1156
998
|
}, React.createElement("div", {
|
1157
999
|
className: clsx$1(styles['weekly-event--collapse'])
|
1158
1000
|
}, React.createElement("div", {
|
1159
|
-
className: styles.flex
|
1160
|
-
}, getIconEvent$1[event.type]), React.createElement("div", {
|
1161
1001
|
className: styles['weekly-event__title']
|
1162
|
-
}, React.createElement(
|
1002
|
+
}, React.createElement("div", {
|
1003
|
+
className: styles['weekly-event__title_icon']
|
1004
|
+
}, getIconforEvent(event)), React.createElement(CustomTooltip, {
|
1163
1005
|
title: event.title
|
1164
|
-
}, event.title))), React.createElement("div", {
|
1006
|
+
}, event.title.length > 5 ? event.title.slice(0, 5) + '...' : ''))), React.createElement("div", {
|
1165
1007
|
className: styles['weekly-event__date']
|
1166
1008
|
}, React.createElement(CustomTooltip, {
|
1167
1009
|
title: formattedDate
|
@@ -1219,7 +1061,7 @@ var LMSWeeklyCell = function LMSWeeklyCell(_ref) {
|
|
1219
1061
|
});
|
1220
1062
|
}, [events]);
|
1221
1063
|
return React.createElement("div", {
|
1222
|
-
className: styles['weekly-calendar__cell'] + " " + (isToday ? styles['bg-info/10'] : styles['bg-white']),
|
1064
|
+
className: styles['weekly-calendar__cell'] + " " + styles['weekly-calendar-lms__cell'] + " " + (isToday ? styles['bg-info/10'] : styles['bg-white']),
|
1223
1065
|
onClick: handleOpenCreateModal
|
1224
1066
|
}, renderWeeklyEvent);
|
1225
1067
|
};
|
@@ -1292,7 +1134,7 @@ var LMSWeeklyCalendar = function LMSWeeklyCalendar(_ref) {
|
|
1292
1134
|
var getTableData = function getTableData() {
|
1293
1135
|
var data = [];
|
1294
1136
|
for (var i = 0; i < 7; i++) {
|
1295
|
-
var targetHour = dayjs(startDate).add(i, 'day');
|
1137
|
+
var targetHour = dayjs(startDate).add(i + 1, 'day');
|
1296
1138
|
data.push(_extends({
|
1297
1139
|
id: i,
|
1298
1140
|
hour: React.createElement("div", null, React.createElement("div", {
|
@@ -1349,7 +1191,8 @@ function LMSModeWeeklyCalendar(_ref) {
|
|
1349
1191
|
onOpenDetail: onOpenDetail,
|
1350
1192
|
onOpenCreate: onOpenCreate,
|
1351
1193
|
onEventDetail: onEventDetail,
|
1352
|
-
loading: loading
|
1194
|
+
loading: loading,
|
1195
|
+
type: CALENDAR_TYPE.LMS
|
1353
1196
|
}) : React.createElement(LMSWeeklyCalendar, {
|
1354
1197
|
startDate: startDate,
|
1355
1198
|
endDate: endDate,
|
@@ -1358,10 +1201,240 @@ function LMSModeWeeklyCalendar(_ref) {
|
|
1358
1201
|
onOpenDetail: onOpenDetail,
|
1359
1202
|
onOpenCreate: onOpenCreate,
|
1360
1203
|
onEventDetail: onEventDetail,
|
1361
|
-
loading: loading
|
1204
|
+
loading: loading,
|
1205
|
+
type: CALENDAR_TYPE.LMS
|
1362
1206
|
}));
|
1363
1207
|
}
|
1364
1208
|
|
1209
|
+
var SelectBox = function SelectBox(_ref) {
|
1210
|
+
var value = _ref.value,
|
1211
|
+
options = _ref.options,
|
1212
|
+
defaultValue = _ref.defaultValue,
|
1213
|
+
_ref$className = _ref.className,
|
1214
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
1215
|
+
disabled = _ref.disabled,
|
1216
|
+
onChange = _ref.onChange;
|
1217
|
+
return React.createElement(Select, {
|
1218
|
+
defaultValue: defaultValue,
|
1219
|
+
className: className,
|
1220
|
+
disabled: disabled,
|
1221
|
+
options: options,
|
1222
|
+
value: value,
|
1223
|
+
onChange: onChange
|
1224
|
+
});
|
1225
|
+
};
|
1226
|
+
|
1227
|
+
var LMSHeaderCalendar = function LMSHeaderCalendar(_ref) {
|
1228
|
+
var title = _ref.title,
|
1229
|
+
showTeacherName = _ref.showTeacherName,
|
1230
|
+
currentDate = _ref.currentDate,
|
1231
|
+
setCurrentDate = _ref.setCurrentDate,
|
1232
|
+
calendarMode = _ref.calendarMode,
|
1233
|
+
setCalendarMode = _ref.setCalendarMode,
|
1234
|
+
toggleTurnOnFilter = _ref.toggleTurnOnFilter,
|
1235
|
+
filter = _ref.filter,
|
1236
|
+
hasFilter = _ref.hasFilter;
|
1237
|
+
var options = [{
|
1238
|
+
value: 'month',
|
1239
|
+
label: 'Month'
|
1240
|
+
}, {
|
1241
|
+
value: 'week',
|
1242
|
+
label: 'Week'
|
1243
|
+
}];
|
1244
|
+
var handleChangeDate = function handleChangeDate(date) {
|
1245
|
+
setCurrentDate(date);
|
1246
|
+
};
|
1247
|
+
var handleChangeMode = function handleChangeMode(mode) {
|
1248
|
+
setCalendarMode(mode);
|
1249
|
+
setCurrentDate(dayjs());
|
1250
|
+
};
|
1251
|
+
return React.createElement("div", {
|
1252
|
+
className: styles['header-calendar']
|
1253
|
+
}, React.createElement("div", {
|
1254
|
+
className: styles['header-calendar_filter']
|
1255
|
+
}, hasFilter && React.createElement("div", {
|
1256
|
+
className: clsx$1(styles['hover-item'], filter.isOpen && styles['text-lms-primary']),
|
1257
|
+
onClick: toggleTurnOnFilter
|
1258
|
+
}, React.createElement(FilterIcon, null)), React.createElement("div", {
|
1259
|
+
className: "" + styles['header-calendar__nav']
|
1260
|
+
}, React.createElement(Icon, {
|
1261
|
+
icon: React.createElement(LeftArrowIcon, null),
|
1262
|
+
onClick: function onClick() {
|
1263
|
+
return handleChangeDate(currentDate.subtract(1, calendarMode));
|
1264
|
+
},
|
1265
|
+
className: styles['rounded-none']
|
1266
|
+
}), React.createElement(DatePicker, {
|
1267
|
+
picker: calendarMode === 'day' ? 'date' : calendarMode,
|
1268
|
+
onChange: handleChangeDate,
|
1269
|
+
format: function format(value) {
|
1270
|
+
return customDateFormat(value, calendarMode === 'day' ? FORMAT_DATE_CARLENDA.DATE : FORMAT_DATE_CARLENDA.MONTH_AND_WEEK);
|
1271
|
+
},
|
1272
|
+
value: currentDate,
|
1273
|
+
allowClear: false,
|
1274
|
+
suffixIcon: null,
|
1275
|
+
className: styles['header-calendar__date-picker'],
|
1276
|
+
size: 'large'
|
1277
|
+
}), React.createElement(Icon, {
|
1278
|
+
icon: React.createElement(RightArrowIcon, null),
|
1279
|
+
onClick: function onClick() {
|
1280
|
+
return handleChangeDate(currentDate.add(1, calendarMode));
|
1281
|
+
}
|
1282
|
+
}))), showTeacherName && React.createElement("div", {
|
1283
|
+
className: styles['header-calendar__title']
|
1284
|
+
}, title), React.createElement("div", {
|
1285
|
+
className: styles['header-calendar__controls']
|
1286
|
+
}, React.createElement(Button, {
|
1287
|
+
color: 'lms-default',
|
1288
|
+
onClick: function onClick() {
|
1289
|
+
return handleChangeDate(dayjs());
|
1290
|
+
}
|
1291
|
+
}, "Today"), React.createElement("div", {
|
1292
|
+
className: styles['header-calendar__divider']
|
1293
|
+
}), React.createElement(SelectBox, {
|
1294
|
+
value: calendarMode,
|
1295
|
+
options: options,
|
1296
|
+
className: 'select-mode',
|
1297
|
+
onChange: function onChange(mode) {
|
1298
|
+
handleChangeMode(mode);
|
1299
|
+
}
|
1300
|
+
})));
|
1301
|
+
};
|
1302
|
+
|
1303
|
+
var styles$1 = {"ant-picker-calendar-header":"_2Y9jk","ant-radio-group":"_3puh0","ant-picker-calendar-month-select":"_1b_yY","calendar-filter":"_1K0QG","calendar-filter_title":"_1kmo4","calendar-filter_note_blue":"_3yl3q","calendar-filter_note_pureple":"_dS6FM","calendar-filter_note_green":"_2v-Pp","calendar-filter_note_yellow":"_1u4J8","calendar-filter_note_red":"_1RLYM","calendar-filter_content_list_item":"_29aaM","calendar-filter_content_item_eye":"_1yCoo"};
|
1304
|
+
|
1305
|
+
var FilterCalendar = function FilterCalendar(_ref) {
|
1306
|
+
var filter = _ref.filter,
|
1307
|
+
setFilter = _ref.setFilter,
|
1308
|
+
courses = _ref.courses,
|
1309
|
+
onRefetchAPI = _ref.onRefetchAPI;
|
1310
|
+
var noteFilter = useMemo(function () {
|
1311
|
+
return [{
|
1312
|
+
title: 'Online',
|
1313
|
+
icon: React.createElement("div", {
|
1314
|
+
className: styles$1['calendar-filter_note_blue']
|
1315
|
+
}),
|
1316
|
+
value: LEARNING_MODE.ONLINE
|
1317
|
+
}, {
|
1318
|
+
title: 'Live Online',
|
1319
|
+
icon: React.createElement("div", {
|
1320
|
+
className: styles$1['calendar-filter_note_pureple']
|
1321
|
+
}),
|
1322
|
+
value: LEARNING_MODE.LIVE_ONLINE
|
1323
|
+
}, {
|
1324
|
+
title: 'Offline',
|
1325
|
+
icon: React.createElement("div", {
|
1326
|
+
className: styles$1['calendar-filter_note_green']
|
1327
|
+
}),
|
1328
|
+
value: LEARNING_MODE.OFFLINE
|
1329
|
+
}, {
|
1330
|
+
title: 'Test',
|
1331
|
+
icon: React.createElement(TestIcon, null),
|
1332
|
+
value: LEARNING_MODE.TEST
|
1333
|
+
}, {
|
1334
|
+
title: 'Case Study',
|
1335
|
+
icon: React.createElement(GoldStarIcon, null),
|
1336
|
+
value: LEARNING_MODE.CASE_STUDY
|
1337
|
+
}, {
|
1338
|
+
title: 'Key Content Before',
|
1339
|
+
icon: React.createElement(FlagIcon, null),
|
1340
|
+
value: LEARNING_MODE.KEY_BEFORE_CONTENT
|
1341
|
+
}, {
|
1342
|
+
title: 'Holiday',
|
1343
|
+
icon: React.createElement("div", {
|
1344
|
+
className: styles$1['calendar-filter_note_yellow']
|
1345
|
+
}),
|
1346
|
+
value: LEARNING_MODE.HOLIDAY
|
1347
|
+
}, {
|
1348
|
+
title: 'Overdue',
|
1349
|
+
icon: React.createElement("div", {
|
1350
|
+
className: styles$1['calendar-filter_note_red']
|
1351
|
+
}),
|
1352
|
+
value: LEARNING_MODE.OVERDUE
|
1353
|
+
}];
|
1354
|
+
}, []);
|
1355
|
+
var handleFilter = function handleFilter(type, value) {
|
1356
|
+
switch (type) {
|
1357
|
+
case 'course':
|
1358
|
+
{
|
1359
|
+
setFilter(function (prev) {
|
1360
|
+
var courseId = prev.courseId || [];
|
1361
|
+
var updatedCourseId = courseId.includes(value) ? courseId.filter(function (item) {
|
1362
|
+
return item !== value;
|
1363
|
+
}) : [].concat(courseId, [value]);
|
1364
|
+
return _extends({}, prev, {
|
1365
|
+
courseId: updatedCourseId
|
1366
|
+
});
|
1367
|
+
});
|
1368
|
+
break;
|
1369
|
+
}
|
1370
|
+
case 'note':
|
1371
|
+
{
|
1372
|
+
setFilter(function (prev) {
|
1373
|
+
var typeArray = prev.type || [];
|
1374
|
+
var updatedType = typeArray.includes(value) ? typeArray.filter(function (item) {
|
1375
|
+
return item !== value;
|
1376
|
+
}) : [].concat(typeArray, [value]);
|
1377
|
+
return _extends({}, prev, {
|
1378
|
+
type: updatedType
|
1379
|
+
});
|
1380
|
+
});
|
1381
|
+
break;
|
1382
|
+
}
|
1383
|
+
case 'day':
|
1384
|
+
{
|
1385
|
+
setFilter(function (prev) {
|
1386
|
+
return _extends({}, prev, {
|
1387
|
+
day: value
|
1388
|
+
});
|
1389
|
+
});
|
1390
|
+
break;
|
1391
|
+
}
|
1392
|
+
}
|
1393
|
+
};
|
1394
|
+
var handleFilterday = function handleFilterday(date) {
|
1395
|
+
onRefetchAPI(date.toDate());
|
1396
|
+
handleFilter('day', date.toString());
|
1397
|
+
};
|
1398
|
+
return React.createElement("div", {
|
1399
|
+
className: styles$1['calendar-filter']
|
1400
|
+
}, React.createElement(Calendar, {
|
1401
|
+
mode: 'month',
|
1402
|
+
className: styles$1['custom-today-picker'],
|
1403
|
+
fullscreen: false,
|
1404
|
+
onChange: handleFilterday
|
1405
|
+
}), React.createElement("div", null, React.createElement("div", {
|
1406
|
+
className: styles$1['calendar-filter_title']
|
1407
|
+
}, React.createElement(TagIcon, null), React.createElement("h3", null, "Notes")), React.createElement("div", null, noteFilter.map(function (item) {
|
1408
|
+
var _filter$type;
|
1409
|
+
return React.createElement("div", {
|
1410
|
+
className: styles$1['calendar-filter_content_list_item'],
|
1411
|
+
key: item.value
|
1412
|
+
}, React.createElement("div", {
|
1413
|
+
className: styles$1['calendar-filter_content_list_item']
|
1414
|
+
}, item.icon, item.title), React.createElement("div", {
|
1415
|
+
onClick: function onClick() {
|
1416
|
+
return handleFilter('note', item.value);
|
1417
|
+
},
|
1418
|
+
className: styles$1['calendar-filter_content_item_eye']
|
1419
|
+
}, (_filter$type = filter.type) !== null && _filter$type !== void 0 && _filter$type.includes(item.value) ? React.createElement(EyeIcon, null) : React.createElement(HiddenEyeIcon, null)));
|
1420
|
+
}))), React.createElement("div", null, React.createElement("div", {
|
1421
|
+
className: styles$1['calendar-filter_title']
|
1422
|
+
}, React.createElement(EducationIcon, null), React.createElement("h3", null, "My courses")), React.createElement("div", null, courses === null || courses === void 0 ? void 0 : courses.map(function (item, key) {
|
1423
|
+
var _filter$courseId;
|
1424
|
+
return React.createElement("div", {
|
1425
|
+
key: key,
|
1426
|
+
className: styles$1['calendar-filter_content_list_item']
|
1427
|
+
}, React.createElement("div", {
|
1428
|
+
className: styles$1['calendar-filter_content_list_item']
|
1429
|
+
}, item.name), React.createElement("div", {
|
1430
|
+
onClick: function onClick() {
|
1431
|
+
return handleFilter('course', item.id);
|
1432
|
+
},
|
1433
|
+
className: styles$1['calendar-filter_content_item_eye']
|
1434
|
+
}, (_filter$courseId = filter.courseId) !== null && _filter$courseId !== void 0 && _filter$courseId.includes(item.id) ? React.createElement(EyeIcon, null) : React.createElement(HiddenEyeIcon, null)));
|
1435
|
+
}))));
|
1436
|
+
};
|
1437
|
+
|
1365
1438
|
var SAPPCalendar = function SAPPCalendar(_ref) {
|
1366
1439
|
var teacherName = _ref.teacherName,
|
1367
1440
|
events = _ref.events,
|
@@ -1377,80 +1450,81 @@ var SAPPCalendar = function SAPPCalendar(_ref) {
|
|
1377
1450
|
onEventDetail = _ref.onEventDetail,
|
1378
1451
|
loading = _ref.loading,
|
1379
1452
|
_ref$type = _ref.type,
|
1380
|
-
type = _ref$type === void 0 ? '
|
1453
|
+
type = _ref$type === void 0 ? 'OPS' : _ref$type,
|
1381
1454
|
courses = _ref.courses,
|
1382
|
-
|
1455
|
+
onfilter = _ref.onfilter,
|
1456
|
+
_ref$hasFilter = _ref.hasFilter,
|
1457
|
+
hasFilter = _ref$hasFilter === void 0 ? false : _ref$hasFilter,
|
1458
|
+
_ref$headerType = _ref.headerType,
|
1459
|
+
headerType = _ref$headerType === void 0 ? CALENDAR_TYPE.OPS : _ref$headerType;
|
1383
1460
|
var _useState = useState(dayjs()),
|
1384
1461
|
currentDate = _useState[0],
|
1385
1462
|
setCurrentDate = _useState[1];
|
1386
|
-
var _useState2 = useState('
|
1463
|
+
var _useState2 = useState('month'),
|
1387
1464
|
calendarMode = _useState2[0],
|
1388
1465
|
setCalendarMode = _useState2[1];
|
1389
1466
|
var _useState3 = useState({
|
1467
|
+
courseId: courses ? courses.map(function (item) {
|
1468
|
+
return item.id;
|
1469
|
+
}) : [],
|
1390
1470
|
isOpen: false,
|
1391
1471
|
type: Object.values(LEARNING_MODE),
|
1392
|
-
|
1393
|
-
return item.id;
|
1394
|
-
}) : []
|
1472
|
+
day: ''
|
1395
1473
|
}),
|
1396
1474
|
filter = _useState3[0],
|
1397
1475
|
setFilter = _useState3[1];
|
1398
1476
|
var startDate = useMemo(function () {
|
1399
|
-
if (calendarMode === 'day') {
|
1400
|
-
return dayjs(currentDate).startOf('day');
|
1401
|
-
}
|
1402
1477
|
return dayjs(currentDate).startOf(calendarMode).startOf('week').add(1, 'day');
|
1403
1478
|
}, [currentDate, calendarMode]);
|
1404
1479
|
var endDate = useMemo(function () {
|
1405
|
-
if (calendarMode === 'day') {
|
1406
|
-
return dayjs(currentDate).endOf('day');
|
1407
|
-
}
|
1408
1480
|
return dayjs(currentDate).endOf(calendarMode).endOf('week').add(1, 'day');
|
1409
1481
|
}, [currentDate, calendarMode]);
|
1410
1482
|
var splittedEvents = splitEventsIntoDays(events);
|
1411
1483
|
splittedEvents.sort(function (a, b) {
|
1412
1484
|
return dayjs(a.startDate).diff(b.startDate);
|
1413
1485
|
});
|
1414
|
-
var
|
1415
|
-
|
1416
|
-
return _extends({}, filter, {
|
1417
|
-
isOpen: !prev.isOpen
|
1418
|
-
});
|
1419
|
-
});
|
1486
|
+
var handleFilterDate = function handleFilterDate(date) {
|
1487
|
+
setCurrentDate(date);
|
1420
1488
|
};
|
1489
|
+
useEffect(function () {
|
1490
|
+
onfilter && onfilter(filter);
|
1491
|
+
}, [filter]);
|
1421
1492
|
useEffectAfterMounted(function () {
|
1422
1493
|
onRefetchAPI(startDate.toDate(), endDate.toDate());
|
1423
1494
|
}, [startDate, endDate]);
|
1424
|
-
console.log('course:', courses);
|
1425
|
-
useEffect(function () {
|
1426
|
-
if (type === 'filter') {
|
1427
|
-
onFilter && onFilter(filter);
|
1428
|
-
}
|
1429
|
-
}, [filter]);
|
1430
1495
|
return React.createElement("div", {
|
1431
1496
|
className: styles['sapp-calendar']
|
1432
1497
|
}, filter.isOpen && React.createElement(FilterCalendar, {
|
1433
|
-
courses: courses,
|
1434
1498
|
filter: filter,
|
1435
|
-
setFilter: setFilter
|
1499
|
+
setFilter: setFilter,
|
1500
|
+
onRefetchAPI: function onRefetchAPI(date) {
|
1501
|
+
return handleFilterDate(dayjs(date));
|
1502
|
+
}
|
1436
1503
|
}), React.createElement("div", {
|
1437
1504
|
className: styles['sapp-calendar__container']
|
1438
|
-
},
|
1505
|
+
}, headerType === CALENDAR_TYPE.LMS ? React.createElement(LMSHeaderCalendar, {
|
1439
1506
|
title: teacherName,
|
1440
1507
|
showTeacherName: showTeacherName,
|
1441
1508
|
currentDate: currentDate,
|
1442
1509
|
setCurrentDate: setCurrentDate,
|
1443
1510
|
calendarMode: calendarMode,
|
1444
|
-
setCalendarMode: setCalendarMode
|
1445
|
-
|
1511
|
+
setCalendarMode: setCalendarMode,
|
1512
|
+
toggleTurnOnFilter: function toggleTurnOnFilter() {
|
1513
|
+
return setFilter(function (prev) {
|
1514
|
+
return _extends({}, prev, {
|
1515
|
+
isOpen: !filter.isOpen
|
1516
|
+
});
|
1517
|
+
});
|
1518
|
+
},
|
1519
|
+
hasFilter: hasFilter,
|
1520
|
+
filter: filter
|
1521
|
+
}) : React.createElement(HeaderCalendar, {
|
1446
1522
|
title: teacherName,
|
1447
1523
|
showTeacherName: showTeacherName,
|
1448
1524
|
currentDate: currentDate,
|
1449
1525
|
setCurrentDate: setCurrentDate,
|
1450
1526
|
calendarMode: calendarMode,
|
1451
|
-
setCalendarMode: setCalendarMode
|
1452
|
-
toggleTurnOnFilter: handleToggleFilter,
|
1453
|
-
filter: filter
|
1527
|
+
setCalendarMode: setCalendarMode
|
1454
1528
|
}), calendarMode === 'month' && React.createElement(MonthlyCalendar, {
|
1455
1529
|
currentDate: currentDate,
|
1456
1530
|
startDate: startDate,
|
@@ -1462,12 +1536,22 @@ var SAPPCalendar = function SAPPCalendar(_ref) {
|
|
1462
1536
|
onOpenCreate: onOpenCreate,
|
1463
1537
|
onEventDetail: onEventDetail,
|
1464
1538
|
loading: loading
|
1465
|
-
}), calendarMode === 'week' && React.createElement(LMSModeWeeklyCalendar, {
|
1539
|
+
}), calendarMode === 'week' && type === CALENDAR_TYPE.LMS && React.createElement(LMSModeWeeklyCalendar, {
|
1466
1540
|
startDate: startDate,
|
1467
1541
|
endDate: endDate,
|
1468
1542
|
events: splittedEvents,
|
1543
|
+
norms: norms,
|
1469
1544
|
showWeeklyNorm: showWeeklyNorm,
|
1545
|
+
onOpenDetail: onOpenDetail,
|
1546
|
+
onOpenCreate: onOpenCreate,
|
1547
|
+
onEventDetail: onEventDetail,
|
1548
|
+
loading: loading
|
1549
|
+
}), calendarMode === 'week' && type === CALENDAR_TYPE.OPS && React.createElement(WeeklyCalendar, {
|
1550
|
+
startDate: startDate,
|
1551
|
+
endDate: endDate,
|
1552
|
+
events: splittedEvents,
|
1470
1553
|
norms: norms,
|
1554
|
+
showWeeklyNorm: showWeeklyNorm,
|
1471
1555
|
onOpenDetail: onOpenDetail,
|
1472
1556
|
onOpenCreate: onOpenCreate,
|
1473
1557
|
onEventDetail: onEventDetail,
|