sapp-common-package-test-final 1.0.13 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -63,6 +63,10 @@ var useEffectAfterMounted = function useEffectAfterMounted(callback, dependencie
63
63
  var HOURS_PER_DAY = 24;
64
64
  var MINUTES_PER_HOUR = 60;
65
65
  var TIME_FORMAT = 'HH:mm';
66
+ var MIN_HEIGHT_HIDE_DETAILS = 140;
67
+ var MIN_HEIGHT_HIDE_ALL = 105;
68
+ var MIN_HEIGHT_EVENT = 50;
69
+ var BORDER_WEEKLY_CELL = 1;
66
70
  var DAYS_OF_WEEK;
67
71
  (function (DAYS_OF_WEEK) {
68
72
  DAYS_OF_WEEK["Monday"] = "Monday";
@@ -108,13 +112,15 @@ var EVENT_TYPES;
108
112
  (function (EVENT_TYPES) {
109
113
  EVENT_TYPES["TEACHING"] = "TEACHING";
110
114
  EVENT_TYPES["BUSY"] = "BUSY";
111
- EVENT_TYPES["TIME_OFF"] = "TIME_OFF";
115
+ EVENT_TYPES["HOLIDAY"] = "HOLIDAY";
112
116
  EVENT_TYPES["OTHER"] = "OTHER";
117
+ EVENT_TYPES["LIVE_ONLINE"] = "LIVE_ONLINE";
113
118
  })(EVENT_TYPES || (EVENT_TYPES = {}));
114
- var FORMAT_DATE_CARLENDA = {
115
- MONTH_AND_WEEK: 'MMMM, YYYY',
116
- DATE: 'MMMM DD, YYYY'
117
- };
119
+ var FORMAT_DATE_CARLENDA;
120
+ (function (FORMAT_DATE_CARLENDA) {
121
+ FORMAT_DATE_CARLENDA["MONTH_AND_WEEK"] = "MMMM DD";
122
+ FORMAT_DATE_CARLENDA["DATE"] = "DD";
123
+ })(FORMAT_DATE_CARLENDA || (FORMAT_DATE_CARLENDA = {}));
118
124
  var LEARNING_MODE;
119
125
  (function (LEARNING_MODE) {
120
126
  LEARNING_MODE["ONLINE"] = "ONLINE";
@@ -124,15 +130,20 @@ var LEARNING_MODE;
124
130
  LEARNING_MODE["HOLIDAY"] = "HOLIDAY";
125
131
  LEARNING_MODE["OVERDUE"] = "OVERDUE";
126
132
  LEARNING_MODE["TEST"] = "TEST";
133
+ LEARNING_MODE["KEY_BEFORE_CONTENT"] = "KEY_BEFORE_CONTENT";
127
134
  })(LEARNING_MODE || (LEARNING_MODE = {}));
135
+ var CALENDAR_TYPE;
136
+ (function (CALENDAR_TYPE) {
137
+ CALENDAR_TYPE["OPS"] = "OPS";
138
+ CALENDAR_TYPE["LMS"] = "LMS";
139
+ })(CALENDAR_TYPE || (CALENDAR_TYPE = {}));
128
140
 
129
141
  var _convertType;
130
142
  var customDateFormat = function customDateFormat(value, formatStr) {
131
143
  return dayjs(value).format(formatStr);
132
144
  };
133
- var convertType = (_convertType = {}, _convertType[EVENT_TYPES.TEACHING] = 'info', _convertType[EVENT_TYPES.BUSY] = 'error', _convertType[EVENT_TYPES.TIME_OFF] = 'warning', _convertType[EVENT_TYPES.OTHER] = 'success', _convertType);
145
+ 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);
134
146
  var daysOfWeekKeys = Object.values(DAYS_OF_WEEK);
135
- var hoursOfDayKeys = Object.values(HOUR_OF_DAY);
136
147
  var calculateNormOfWeek = function calculateNormOfWeek(norms, events, startDate, endDate) {
137
148
  var norm = norms.find(function (norm) {
138
149
  return startDate.isBetween(norm.startDate, norm.endDate, 'day', '[]') && endDate.isBetween(norm.startDate, norm.endDate, 'day', '[]');
@@ -187,7 +198,9 @@ var checkIsAllday = function checkIsAllday(startDate, endDate) {
187
198
  }
188
199
  return startDate.format(TIME_FORMAT) === startDate.startOf('day').format(TIME_FORMAT) && endDate.format(TIME_FORMAT) === endDate.endOf('day').format(TIME_FORMAT) && startDate.isBefore(endDate);
189
200
  };
201
+ var hoursOfDayKeys = Object.values(HOUR_OF_DAY);
190
202
 
203
+ var _getIconEvent;
191
204
  var Left = function Left() {
192
205
  return React__default.createElement("svg", {
193
206
  width: '16',
@@ -276,42 +289,87 @@ var Star = function Star() {
276
289
  fill: '#F57C00'
277
290
  }));
278
291
  };
279
- var LeftArrowIcon = function LeftArrowIcon() {
292
+ var TestIcon = function TestIcon() {
280
293
  return React__default.createElement("svg", {
281
- width: '8',
282
- height: '11',
283
- viewBox: '0 0 8 11',
284
- fill: 'currentColor',
294
+ width: '14',
295
+ height: '15',
296
+ viewBox: '0 0 14 15',
297
+ fill: 'none',
285
298
  xmlns: 'http://www.w3.org/2000/svg'
286
299
  }, React__default.createElement("path", {
287
- d: 'M7.3125 0.368526L7.3125 10.631C7.3125 10.9388 6.9875 11.1107 6.76562 10.9201L0.815625 5.78884C0.645313 5.64196 0.645313 5.35915 0.815625 5.21071L6.76562 0.079463C6.9875 -0.111162 7.3125 0.0607128 7.3125 0.368526Z',
288
- fill: '#404041'
300
+ 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',
301
+ fill: '#FFB800'
302
+ }), React__default.createElement("path", {
303
+ 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',
304
+ fill: '#FFB800'
305
+ }), React__default.createElement("path", {
306
+ 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',
307
+ fill: '#FFB800'
308
+ }), React__default.createElement("path", {
309
+ 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',
310
+ fill: '#FFB800'
289
311
  }));
290
312
  };
291
- var RightArrowIcon = function RightArrowIcon() {
313
+ var HiddenEyeIcon = function HiddenEyeIcon() {
292
314
  return React__default.createElement("svg", {
293
- width: '8',
294
- height: '11',
295
- viewBox: '0 0 8 11',
296
- fill: 'currentColor',
315
+ width: '16',
316
+ height: '17',
317
+ viewBox: '0 0 16 17',
318
+ fill: 'none',
297
319
  xmlns: 'http://www.w3.org/2000/svg'
298
320
  }, React__default.createElement("path", {
299
- 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',
300
- fill: '#404041'
321
+ 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',
322
+ fill: '#DCDDDD'
323
+ }), React__default.createElement("path", {
324
+ 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',
325
+ fill: '#DCDDDD'
301
326
  }));
302
327
  };
303
- var FilterIcon = function FilterIcon() {
328
+ var EyeIcon = function EyeIcon() {
304
329
  return React__default.createElement("svg", {
305
- width: '35',
306
- height: '35',
307
- viewBox: '0 0 35 35',
308
- fill: 'currentColor',
330
+ width: '16',
331
+ height: '17',
332
+ viewBox: '0 0 16 17',
333
+ fill: 'none',
309
334
  xmlns: 'http://www.w3.org/2000/svg'
310
335
  }, React__default.createElement("path", {
311
- 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',
312
- fill: 'currentColor'
336
+ 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',
337
+ fill: '#DCDDDD'
338
+ }));
339
+ };
340
+ var FlagIcon = function FlagIcon() {
341
+ return React__default.createElement("svg", {
342
+ width: '14',
343
+ height: '15',
344
+ viewBox: '0 0 14 15',
345
+ fill: 'none',
346
+ xmlns: 'http://www.w3.org/2000/svg'
347
+ }, React__default.createElement("path", {
348
+ 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',
349
+ fill: '#FFB800'
313
350
  }));
314
351
  };
352
+ var GoldStarIcon = function GoldStarIcon() {
353
+ return React__default.createElement("svg", {
354
+ width: '14',
355
+ height: '15',
356
+ viewBox: '0 0 14 15',
357
+ fill: 'none',
358
+ xmlns: 'http://www.w3.org/2000/svg'
359
+ }, React__default.createElement("g", {
360
+ clipPath: 'url(#clip0_23522_33890)'
361
+ }, React__default.createElement("path", {
362
+ 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',
363
+ fill: '#FFB800'
364
+ })), React__default.createElement("defs", null, React__default.createElement("clipPath", {
365
+ id: 'clip0_23522_33890'
366
+ }, React__default.createElement("rect", {
367
+ width: '14',
368
+ height: '14',
369
+ fill: 'white',
370
+ transform: 'translate(0 0.5)'
371
+ }))));
372
+ };
315
373
  var TagIcon = function TagIcon() {
316
374
  return React__default.createElement("svg", {
317
375
  width: '20',
@@ -335,7 +393,7 @@ var EducationIcon = function EducationIcon() {
335
393
  fill: 'none',
336
394
  xmlns: 'http://www.w3.org/2000/svg'
337
395
  }, React__default.createElement("g", {
338
- clipPath: 'url(#clip0_19555_31783)'
396
+ clipPath: 'url(#clip0_22306_18116)'
339
397
  }, React__default.createElement("path", {
340
398
  d: 'M10 14.9699L3.75 11.3984V15.243L10 18.7148L16.25 15.243V11.3984L10 14.9699Z',
341
399
  fill: '#21272A'
@@ -343,7 +401,7 @@ var EducationIcon = function EducationIcon() {
343
401
  d: 'M20.0098 8.0002L10 2.28027L-0.00976562 8.0002L10 13.7201L18.125 9.07715V15.5002H20V8.00566L20.0098 8.0002Z',
344
402
  fill: '#21272A'
345
403
  })), React__default.createElement("defs", null, React__default.createElement("clipPath", {
346
- id: 'clip0_19555_31783'
404
+ id: 'clip0_22306_18116'
347
405
  }, React__default.createElement("rect", {
348
406
  width: '20',
349
407
  height: '20',
@@ -351,40 +409,19 @@ var EducationIcon = function EducationIcon() {
351
409
  transform: 'translate(0 0.5)'
352
410
  }))));
353
411
  };
354
- var BookIcon = function BookIcon() {
412
+ var FilterIcon = function FilterIcon() {
355
413
  return React__default.createElement("svg", {
356
- width: '14',
357
- height: '15',
358
- viewBox: '0 0 14 15',
359
- fill: 'none',
414
+ width: '35',
415
+ height: '35',
416
+ viewBox: '0 0 35 35',
417
+ fill: 'currentColor',
360
418
  xmlns: 'http://www.w3.org/2000/svg'
361
419
  }, React__default.createElement("path", {
362
- d: 'M6.56246 3.55091H6.52163C5.24353 2.80405 3.83672 2.30346 2.37413 2.07508C2.22462 2.0524 2.07197 2.06228 1.92663 2.10404C1.78129 2.14581 1.64669 2.21847 1.53203 2.31707C1.41737 2.41566 1.32536 2.53786 1.2623 2.67531C1.19923 2.81275 1.1666 2.96219 1.16663 3.11341V10.3526C1.1661 10.599 1.25325 10.8376 1.41248 11.0257C1.57171 11.2138 1.79265 11.3391 2.03579 11.3792C3.59665 11.6587 5.10804 12.1658 6.52163 12.8842H6.56246V3.55091ZM3.19079 4.88675H4.51496C4.63099 4.88675 4.74227 4.93284 4.82432 5.01489C4.90637 5.09693 4.95246 5.20821 4.95246 5.32425C4.95246 5.44028 4.90637 5.55156 4.82432 5.63361C4.74227 5.71565 4.63099 5.76175 4.51496 5.76175H3.19079C3.07476 5.76175 2.96348 5.71565 2.88144 5.63361C2.79939 5.55156 2.75329 5.44028 2.75329 5.32425C2.75329 5.20821 2.79939 5.09693 2.88144 5.01489C2.96348 4.93284 3.07476 4.88675 3.19079 4.88675ZM4.94079 7.51175H3.19079C3.13334 7.51175 3.07645 7.50043 3.02337 7.47844C2.97029 7.45646 2.92206 7.42423 2.88144 7.38361C2.84081 7.34298 2.80858 7.29475 2.7866 7.24167C2.76461 7.18859 2.75329 7.1317 2.75329 7.07425C2.75329 7.01679 2.76461 6.9599 2.7866 6.90682C2.80858 6.85374 2.84081 6.80551 2.88144 6.76489C2.92206 6.72426 2.97029 6.69204 3.02337 6.67005C3.07645 6.64806 3.13334 6.63675 3.19079 6.63675H4.94079C5.05683 6.63675 5.16811 6.68284 5.25015 6.76489C5.3322 6.84693 5.37829 6.95821 5.37829 7.07425C5.37829 7.19028 5.3322 7.30156 5.25015 7.38361C5.16811 7.46565 5.05683 7.51175 4.94079 7.51175ZM12.8333 3.07258V10.3759C12.8359 10.6193 12.7525 10.8558 12.5977 11.0436C12.443 11.2315 12.2268 11.3586 11.9875 11.4026C10.4162 11.6579 8.89472 12.1578 7.47829 12.8842H7.43746V3.55091H7.47829C8.75371 2.81159 10.15 2.30403 11.6025 2.05175C11.7521 2.02656 11.9054 2.03394 12.052 2.07337C12.1985 2.11281 12.3349 2.18337 12.4517 2.28025C12.5685 2.37714 12.6631 2.49806 12.7289 2.63479C12.7948 2.77152 12.8304 2.92084 12.8333 3.07258Z',
363
- fill: '#FFB800'
420
+ 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',
421
+ fill: 'currentColor'
364
422
  }));
365
423
  };
366
- var GoldStarIcon = function GoldStarIcon() {
367
- return React__default.createElement("svg", {
368
- width: '14',
369
- height: '15',
370
- viewBox: '0 0 14 15',
371
- fill: 'none',
372
- xmlns: 'http://www.w3.org/2000/svg'
373
- }, React__default.createElement("g", {
374
- clipPath: 'url(#clip0_19479_10426)'
375
- }, React__default.createElement("path", {
376
- 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',
377
- fill: '#FFB800'
378
- })), React__default.createElement("defs", null, React__default.createElement("clipPath", {
379
- id: 'clip0_19479_10426'
380
- }, React__default.createElement("rect", {
381
- width: '14',
382
- height: '14',
383
- fill: 'white',
384
- transform: 'translate(0 0.5)'
385
- }))));
386
- };
387
- var EyeIcon = function EyeIcon() {
424
+ var LeftArrowIcon = function LeftArrowIcon() {
388
425
  return React__default.createElement("svg", {
389
426
  width: '16',
390
427
  height: '17',
@@ -392,27 +429,42 @@ var EyeIcon = function EyeIcon() {
392
429
  fill: 'none',
393
430
  xmlns: 'http://www.w3.org/2000/svg'
394
431
  }, React__default.createElement("path", {
395
- 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',
396
- fill: '#DCDDDD'
432
+ 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',
433
+ fill: '#404041'
397
434
  }));
398
435
  };
399
- var HiddenEyeIcon = function HiddenEyeIcon() {
436
+ var RightArrowIcon = function RightArrowIcon() {
400
437
  return React__default.createElement("svg", {
401
- width: '16',
402
- height: '17',
403
- viewBox: '0 0 16 17',
438
+ width: '8',
439
+ height: '11',
440
+ viewBox: '0 0 8 11',
404
441
  fill: 'none',
405
442
  xmlns: 'http://www.w3.org/2000/svg'
406
443
  }, React__default.createElement("path", {
407
- 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',
408
- fill: '#DCDDDD'
409
- }), React__default.createElement("path", {
410
- 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',
411
- fill: '#DCDDDD'
444
+ 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',
445
+ fill: '#404041'
412
446
  }));
413
447
  };
448
+ var getIconEvent = (_getIconEvent = {}, _getIconEvent[EVENT_TYPES.TEACHING] = React__default.createElement(Book, null), _getIconEvent[EVENT_TYPES.BUSY] = React__default.createElement(CalendarDelete, null), _getIconEvent[EVENT_TYPES.HOLIDAY] = React__default.createElement(Star, null), _getIconEvent[EVENT_TYPES.OTHER] = React__default.createElement(CalendarAccept, null), _getIconEvent[EVENT_TYPES.LIVE_ONLINE] = '', _getIconEvent);
449
+ var getIconforEvent = function getIconforEvent(event) {
450
+ if (event.source === CALENDAR_TYPE.LMS) {
451
+ var icon = [];
452
+ if (event.isCaseStudy) {
453
+ icon.push(React__default.createElement(GoldStarIcon, null));
454
+ }
455
+ if (event.isTest) {
456
+ icon.push(React__default.createElement(TestIcon, null));
457
+ }
458
+ if (event.isKeyContentBefore) {
459
+ icon.push(React__default.createElement(FlagIcon, null));
460
+ }
461
+ return icon;
462
+ } else {
463
+ return getIconEvent[event.type];
464
+ }
465
+ };
414
466
 
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"};
467
+ 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"};
416
468
 
417
469
  var Button = function Button(_ref) {
418
470
  var _ref$type = _ref.type,
@@ -421,6 +473,7 @@ var Button = function Button(_ref) {
421
473
  color = _ref$color === void 0 ? 'default' : _ref$color,
422
474
  onClick = _ref.onClick,
423
475
  children = _ref.children;
476
+ console.log('value:', styles["btn-" + color]);
424
477
  return React__default.createElement("button", {
425
478
  type: type,
426
479
  onClick: onClick,
@@ -500,227 +553,6 @@ var HeaderCalendar = function HeaderCalendar(_ref) {
500
553
  }, "Week")));
501
554
  };
502
555
 
503
- var SelectBox = function SelectBox(_ref) {
504
- var value = _ref.value,
505
- options = _ref.options,
506
- defaultValue = _ref.defaultValue,
507
- _ref$className = _ref.className,
508
- className = _ref$className === void 0 ? '' : _ref$className,
509
- disabled = _ref.disabled,
510
- onChange = _ref.onChange;
511
- return React__default.createElement(antd.Select, {
512
- defaultValue: defaultValue,
513
- className: className,
514
- disabled: disabled,
515
- options: options,
516
- value: value,
517
- onChange: onChange
518
- });
519
- };
520
-
521
- var LMSHeaderCalendar = function LMSHeaderCalendar(_ref) {
522
- var title = _ref.title,
523
- showTeacherName = _ref.showTeacherName,
524
- currentDate = _ref.currentDate,
525
- setCurrentDate = _ref.setCurrentDate,
526
- calendarMode = _ref.calendarMode,
527
- setCalendarMode = _ref.setCalendarMode,
528
- toggleTurnOnFilter = _ref.toggleTurnOnFilter,
529
- filter = _ref.filter;
530
- var options = [{
531
- value: 'month',
532
- label: 'Month'
533
- }, {
534
- value: 'week',
535
- label: 'Week'
536
- }];
537
- var handleChangeDate = function handleChangeDate(date) {
538
- setCurrentDate(date);
539
- };
540
- var handleChangeMode = function handleChangeMode(mode) {
541
- setCalendarMode(mode);
542
- setCurrentDate(dayjs());
543
- };
544
- return React__default.createElement("div", {
545
- className: styles['header-calendar']
546
- }, React__default.createElement("div", {
547
- className: styles['header-calendar_filter']
548
- }, React__default.createElement("div", {
549
- className: clsx__default('cursor-pointer', filter.isOpen && styles['text-lms-primary']),
550
- onClick: toggleTurnOnFilter
551
- }, React__default.createElement(FilterIcon, null)), React__default.createElement("div", {
552
- className: "" + styles['header-calendar__nav']
553
- }, React__default.createElement(Icon, {
554
- icon: React__default.createElement(LeftArrowIcon, null),
555
- onClick: function onClick() {
556
- return handleChangeDate(currentDate.subtract(1, calendarMode));
557
- },
558
- className: styles['rounded-none']
559
- }), React__default.createElement(antd.DatePicker, {
560
- picker: calendarMode === 'day' ? 'date' : calendarMode,
561
- onChange: handleChangeDate,
562
- format: function format(value) {
563
- return customDateFormat(value, calendarMode === 'day' ? FORMAT_DATE_CARLENDA.DATE : FORMAT_DATE_CARLENDA.MONTH_AND_WEEK);
564
- },
565
- value: currentDate,
566
- allowClear: false,
567
- suffixIcon: null,
568
- className: styles['header-calendar__date-picker'],
569
- size: 'large'
570
- }), React__default.createElement(Icon, {
571
- icon: React__default.createElement(RightArrowIcon, null),
572
- onClick: function onClick() {
573
- return handleChangeDate(currentDate.add(1, calendarMode));
574
- }
575
- }))), showTeacherName && React__default.createElement("div", {
576
- className: styles['header-calendar__title']
577
- }, title), React__default.createElement("div", {
578
- className: styles['header-calendar__controls']
579
- }, React__default.createElement(Button, {
580
- color: 'lms-default',
581
- onClick: function onClick() {
582
- return handleChangeDate(dayjs());
583
- }
584
- }, "Today"), React__default.createElement("div", {
585
- className: styles['header-calendar__divider']
586
- }), React__default.createElement(SelectBox, {
587
- value: calendarMode,
588
- options: options,
589
- className: 'select-mode',
590
- onChange: function onChange(mode) {
591
- handleChangeMode(mode);
592
- }
593
- })));
594
- };
595
-
596
- 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"};
597
-
598
- var FilterCalendar = function FilterCalendar(_ref) {
599
- var filter = _ref.filter,
600
- setFilter = _ref.setFilter,
601
- courses = _ref.courses;
602
- var noteFilter = React.useMemo(function () {
603
- return [{
604
- title: 'Online',
605
- icon: React__default.createElement("div", {
606
- className: styles$1['calendar-filter_note_blue']
607
- }),
608
- value: LEARNING_MODE.ONLINE
609
- }, {
610
- title: 'Live Online',
611
- icon: React__default.createElement("div", {
612
- className: styles$1['calendar-filter_note_pureple']
613
- }),
614
- value: LEARNING_MODE.LIVE_ONLINE
615
- }, {
616
- title: 'Offline',
617
- icon: React__default.createElement("div", {
618
- className: styles$1['calendar-filter_note_green']
619
- }),
620
- value: LEARNING_MODE.OFFLINE
621
- }, {
622
- title: 'Case Study',
623
- icon: React__default.createElement(GoldStarIcon, null),
624
- value: LEARNING_MODE.CASE_STUDY
625
- }, {
626
- title: 'Test',
627
- icon: React__default.createElement(BookIcon, null),
628
- value: LEARNING_MODE.TEST
629
- }, {
630
- title: 'Holiday',
631
- icon: React__default.createElement("div", {
632
- className: styles$1['calendar-filter_note_yellow']
633
- }),
634
- value: LEARNING_MODE.HOLIDAY
635
- }, {
636
- title: 'Overdue',
637
- icon: React__default.createElement("div", {
638
- className: styles$1['calendar-filter_note_red']
639
- }),
640
- value: LEARNING_MODE.OVERDUE
641
- }];
642
- }, []);
643
- var handleFilter = function handleFilter(type, value) {
644
- switch (type) {
645
- case 'course':
646
- {
647
- setFilter(function (prev) {
648
- var courseId = prev.courseId || [];
649
- var updatedCourseId = courseId.includes(value) ? courseId.filter(function (item) {
650
- return item !== value;
651
- }) : [].concat(courseId, [value]);
652
- return _extends({}, prev, {
653
- courseId: updatedCourseId
654
- });
655
- });
656
- break;
657
- }
658
- case 'note':
659
- {
660
- setFilter(function (prev) {
661
- var typeArray = prev.type || [];
662
- var updatedType = typeArray.includes(value) ? typeArray.filter(function (item) {
663
- return item !== value;
664
- }) : [].concat(typeArray, [value]);
665
- return _extends({}, prev, {
666
- type: updatedType
667
- });
668
- });
669
- break;
670
- }
671
- case 'day':
672
- {
673
- setFilter(function (prev) {
674
- return _extends({}, prev, {
675
- day: value
676
- });
677
- });
678
- break;
679
- }
680
- }
681
- };
682
- var handleFilterday = function handleFilterday(date) {
683
- handleFilter('day', date.toString());
684
- };
685
- return React__default.createElement("div", {
686
- className: styles$1['calendar-filter']
687
- }, React__default.createElement(antd.Calendar, {
688
- mode: 'month',
689
- fullscreen: false,
690
- onChange: handleFilterday
691
- }), React__default.createElement("div", null, React__default.createElement("div", {
692
- className: styles$1['calendar-filter_title']
693
- }, React__default.createElement(TagIcon, null), React__default.createElement("h3", null, "Notes")), React__default.createElement("div", null, noteFilter.map(function (item) {
694
- var _filter$type;
695
- return React__default.createElement("div", {
696
- className: styles$1['calendar-filter_content_list_item'],
697
- key: item.value
698
- }, React__default.createElement("div", {
699
- className: styles$1['calendar-filter_content_list_item']
700
- }, item.icon, item.title), React__default.createElement("div", {
701
- onClick: function onClick() {
702
- return handleFilter('note', item.value);
703
- },
704
- className: styles$1['calendar-filter_content_item_eye']
705
- }, (_filter$type = filter.type) !== null && _filter$type !== void 0 && _filter$type.includes(item.value) ? React__default.createElement(EyeIcon, null) : React__default.createElement(HiddenEyeIcon, null)));
706
- }))), React__default.createElement("div", null, React__default.createElement("div", {
707
- className: styles$1['calendar-filter_title']
708
- }, React__default.createElement(EducationIcon, null), React__default.createElement("h3", null, "My courses")), React__default.createElement("div", null, courses === null || courses === void 0 ? void 0 : courses.map(function (item, key) {
709
- var _filter$courseId;
710
- return React__default.createElement("div", {
711
- key: key,
712
- className: styles$1['calendar-filter_content_list_item']
713
- }, React__default.createElement("div", {
714
- className: styles$1['calendar-filter_content_list_item']
715
- }, item.name), React__default.createElement("div", {
716
- onClick: function onClick() {
717
- return handleFilter('course', item.id);
718
- },
719
- className: styles$1['calendar-filter_content_item_eye']
720
- }, (_filter$courseId = filter.courseId) !== null && _filter$courseId !== void 0 && _filter$courseId.includes(item.id) ? React__default.createElement(EyeIcon, null) : React__default.createElement(HiddenEyeIcon, null)));
721
- }))));
722
- };
723
-
724
556
  var CustomTooltip = function CustomTooltip(_ref) {
725
557
  var title = _ref.title,
726
558
  children = _ref.children,
@@ -736,10 +568,12 @@ var CustomTooltip = function CustomTooltip(_ref) {
736
568
  };
737
569
 
738
570
  var MonthlyEvent = function MonthlyEvent(_ref) {
571
+ var _event$title, _event$title2;
739
572
  var event = _ref.event,
740
573
  isSameMonth = _ref.isSameMonth,
741
574
  onEventDetail = _ref.onEventDetail;
742
575
  var formattedDate = customDateFormat(event.startDate, TIME_FORMAT) + ' - ' + customDateFormat(event.endDate, TIME_FORMAT);
576
+ var formattedDateStart = customDateFormat(event.startDate, TIME_FORMAT);
743
577
  return React__default.createElement(React__default.Fragment, null, React__default.createElement("li", {
744
578
  className: styles["event-" + (isSameMonth ? convertType[event.type] : 'default')],
745
579
  style: {
@@ -750,13 +584,19 @@ var MonthlyEvent = function MonthlyEvent(_ref) {
750
584
  }
751
585
  }, React__default.createElement("div", {
752
586
  className: styles['monthly-event__title']
753
- }, React__default.createElement(CustomTooltip, {
587
+ }, React__default.createElement("div", {
588
+ className: styles['weekly-event__title_icon']
589
+ }, getIconforEvent(event)), React__default.createElement(CustomTooltip, {
754
590
  title: event.title
755
- }, event.title)), React__default.createElement("div", {
591
+ }, (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__default.createElement("div", {
756
592
  className: styles['monthly-event__date']
757
593
  }, React__default.createElement(CustomTooltip, {
758
594
  title: formattedDate
759
- }, formattedDate))));
595
+ }, formattedDate)), React__default.createElement("div", {
596
+ className: styles['monthly-event__date_tablet']
597
+ }, getIconforEvent(event), React__default.createElement(CustomTooltip, {
598
+ title: formattedDate
599
+ }, formattedDateStart))));
760
600
  };
761
601
 
762
602
  var MonthlyCell = function MonthlyCell(_ref) {
@@ -908,7 +748,6 @@ var MonthlyCalendar = function MonthlyCalendar(_ref) {
908
748
  });
909
749
  };
910
750
 
911
- var _getIconEvent;
912
751
  var calculateBoxSize = function calculateBoxSize(startTime, endTime, isAllDay) {
913
752
  if (isAllDay) {
914
753
  return {
@@ -918,44 +757,46 @@ var calculateBoxSize = function calculateBoxSize(startTime, endTime, isAllDay) {
918
757
  }
919
758
  var minutes = dayjs(startTime).minute();
920
759
  var diffMinutes = dayjs(endTime).diff(startTime, 'minute', true);
760
+ var top = Math.floor(minutes / MINUTES_PER_HOUR * 100);
761
+ var height = Math.floor(diffMinutes / MINUTES_PER_HOUR * 100);
762
+ var border = Math.floor((top + height) / MINUTES_PER_HOUR * BORDER_WEEKLY_CELL);
921
763
  return {
922
- top: Math.floor(minutes / MINUTES_PER_HOUR * 100),
923
- height: Math.floor(diffMinutes / MINUTES_PER_HOUR * 100)
764
+ top: top,
765
+ height: height + border
924
766
  };
925
767
  };
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);
927
- var MIN_HEIGHT_HIDE_DETAILS = 140;
928
- var MIN_HEIGHT_HIDE_ALL = 105;
929
768
  var WeeklyEvent = function WeeklyEvent(_ref) {
930
769
  var event = _ref.event,
931
770
  onOpenDetail = _ref.onOpenDetail,
932
- onEventDetail = _ref.onEventDetail;
771
+ onEventDetail = _ref.onEventDetail,
772
+ zIndex = _ref.zIndex;
933
773
  var _calculateBoxSize = calculateBoxSize(event.startDate, event.endDate, event.isAllDay),
934
774
  top = _calculateBoxSize.top,
935
775
  height = _calculateBoxSize.height;
776
+ var isMinHeight = height < MIN_HEIGHT_EVENT;
936
777
  var formattedDate = customDateFormat(event.startDate, TIME_FORMAT) + ' - ' + customDateFormat(event.endDate, TIME_FORMAT);
937
778
  return React__default.createElement("div", {
938
- className: styles["event-" + convertType[event.type]],
779
+ className: clsx__default(styles["event-" + convertType[event.type]], isMinHeight && styles['event--min-height']),
939
780
  onClick: function onClick() {
940
781
  onOpenDetail(dayjs(event.startDate).toDate(), [event]);
941
782
  onEventDetail && onEventDetail(event);
942
783
  },
943
784
  style: {
944
785
  top: top + "%",
945
- height: height + "%",
946
- zIndex: event.type === EVENT_TYPES.BUSY ? 2 : 1
786
+ height: Math.max(height, MIN_HEIGHT_EVENT) + "%",
787
+ zIndex: zIndex
947
788
  }
948
789
  }, React__default.createElement("div", {
949
790
  className: clsx__default(styles['weekly-event'], height <= MIN_HEIGHT_HIDE_ALL && styles['weekly-event--collapse'])
950
791
  }, React__default.createElement("div", {
951
- className: styles.flex
952
- }, getIconEvent[event.type]), React__default.createElement("div", {
953
792
  className: clsx__default(height <= MIN_HEIGHT_HIDE_DETAILS && styles['weekly-event--collapse'])
954
793
  }, React__default.createElement("div", {
955
794
  className: styles['weekly-event__title']
956
- }, React__default.createElement(CustomTooltip, {
795
+ }, React__default.createElement("div", {
796
+ className: styles['weekly-event__title_icon']
797
+ }, getIconforEvent(event)), React__default.createElement(CustomTooltip, {
957
798
  title: event.title
958
- }, event.title)), React__default.createElement("div", {
799
+ }, event.title.length > 5 ? event.title.slice(0, 5) + '...' : '')), React__default.createElement("div", {
959
800
  className: styles['weekly-event__date']
960
801
  }, React__default.createElement(CustomTooltip, {
961
802
  title: formattedDate
@@ -963,7 +804,6 @@ var WeeklyEvent = function WeeklyEvent(_ref) {
963
804
  };
964
805
 
965
806
  var WeeklyCell = function WeeklyCell(_ref) {
966
- var _events;
967
807
  var events = _ref.events,
968
808
  date = _ref.date,
969
809
  onOpenDetail = _ref.onOpenDetail,
@@ -974,19 +814,19 @@ var WeeklyCell = function WeeklyCell(_ref) {
974
814
  if (e.target !== e.currentTarget) return;
975
815
  onOpenCreate(dayjs(date).toDate());
976
816
  };
977
- events = (_events = events) === null || _events === void 0 ? void 0 : _events.sort(function (a, b) {
817
+ events.sort(function (a, b) {
978
818
  return a.type === EVENT_TYPES.BUSY && b.type !== EVENT_TYPES.BUSY ? 1 : -1;
979
819
  });
980
820
  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) {
821
+ var isAllDay = events.some(function (item) {
983
822
  return item.isAllDay;
984
823
  });
985
- if (isAllDay && ((_events3 = events) === null || _events3 === void 0 ? void 0 : _events3.length) > 1) {
824
+ if (isAllDay && events.length > 1) {
986
825
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(WeeklyEvent, {
987
826
  event: events[0],
988
827
  onOpenDetail: onOpenDetail,
989
- onEventDetail: onEventDetail
828
+ onEventDetail: onEventDetail,
829
+ zIndex: 1
990
830
  }), React__default.createElement("div", {
991
831
  className: styles['see-more']
992
832
  }, React__default.createElement(CustomTooltip, {
@@ -998,17 +838,19 @@ var WeeklyCell = function WeeklyCell(_ref) {
998
838
  event: event,
999
839
  onOpenDetail: onOpenDetail,
1000
840
  onEventDetail: onEventDetail,
1001
- key: index + 1
841
+ key: index + 1,
842
+ zIndex: index + 1
1002
843
  });
1003
844
  }))
1004
845
  }, "+", Math.max(events.length - 1, 0), " More")));
1005
846
  }
1006
- return (_events4 = events) === null || _events4 === void 0 ? void 0 : _events4.map(function (event, index) {
847
+ return events.map(function (event, index) {
1007
848
  return React__default.createElement(WeeklyEvent, {
1008
849
  key: index,
1009
850
  event: event,
1010
851
  onOpenDetail: onOpenDetail,
1011
- onEventDetail: onEventDetail
852
+ onEventDetail: onEventDetail,
853
+ zIndex: index + 1
1012
854
  });
1013
855
  });
1014
856
  }, [events]);
@@ -1057,7 +899,8 @@ var WeeklyCalendar = function WeeklyCalendar(_ref) {
1057
899
  onOpenDetail = _ref.onOpenDetail,
1058
900
  onOpenCreate = _ref.onOpenCreate,
1059
901
  onEventDetail = _ref.onEventDetail,
1060
- loading = _ref.loading;
902
+ loading = _ref.loading,
903
+ type = _ref.type;
1061
904
  var getTableColumns = function getTableColumns() {
1062
905
  var _calculateNormOfWeek = calculateNormOfWeek(norms, events, startDate, endDate),
1063
906
  normOfWeek = _calculateNormOfWeek.normOfWeek,
@@ -1102,7 +945,8 @@ var WeeklyCalendar = function WeeklyCalendar(_ref) {
1102
945
  id: -1,
1103
946
  hour: 'All day'
1104
947
  }, getEventAllDay(events, startDate)));
1105
- for (var i = 0; i < HOURS_PER_DAY; i++) {
948
+ var count = type === CALENDAR_TYPE.LMS ? 7 : 0;
949
+ for (var i = count; i < HOURS_PER_DAY; i++) {
1106
950
  var targetHour = dayjs(startDate).add(i, 'hour');
1107
951
  data.push(_extends({
1108
952
  id: i,
@@ -1124,8 +968,6 @@ var WeeklyCalendar = function WeeklyCalendar(_ref) {
1124
968
  });
1125
969
  };
1126
970
 
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
971
  var calculateBoxSize$1 = function calculateBoxSize(startTime, endTime) {
1130
972
  var minutes = dayjs(startTime).minute();
1131
973
  var diffMinutes = dayjs(endTime).diff(startTime, 'hour', true);
@@ -1160,12 +1002,12 @@ var LMSWeeklyEvent = function LMSWeeklyEvent(_ref) {
1160
1002
  }, React__default.createElement("div", {
1161
1003
  className: clsx__default(styles['weekly-event--collapse'])
1162
1004
  }, React__default.createElement("div", {
1163
- className: styles.flex
1164
- }, getIconEvent$1[event.type]), React__default.createElement("div", {
1165
1005
  className: styles['weekly-event__title']
1166
- }, React__default.createElement(CustomTooltip, {
1006
+ }, React__default.createElement("div", {
1007
+ className: styles['weekly-event__title_icon']
1008
+ }, getIconforEvent(event)), React__default.createElement(CustomTooltip, {
1167
1009
  title: event.title
1168
- }, event.title))), React__default.createElement("div", {
1010
+ }, event.title.length > 5 ? event.title.slice(0, 5) + '...' : ''))), React__default.createElement("div", {
1169
1011
  className: styles['weekly-event__date']
1170
1012
  }, React__default.createElement(CustomTooltip, {
1171
1013
  title: formattedDate
@@ -1223,7 +1065,7 @@ var LMSWeeklyCell = function LMSWeeklyCell(_ref) {
1223
1065
  });
1224
1066
  }, [events]);
1225
1067
  return React__default.createElement("div", {
1226
- className: styles['weekly-calendar__cell'] + " " + (isToday ? styles['bg-info/10'] : styles['bg-white']),
1068
+ className: styles['weekly-calendar__cell'] + " " + styles['weekly-calendar-lms__cell'] + " " + (isToday ? styles['bg-info/10'] : styles['bg-white']),
1227
1069
  onClick: handleOpenCreateModal
1228
1070
  }, renderWeeklyEvent);
1229
1071
  };
@@ -1296,7 +1138,7 @@ var LMSWeeklyCalendar = function LMSWeeklyCalendar(_ref) {
1296
1138
  var getTableData = function getTableData() {
1297
1139
  var data = [];
1298
1140
  for (var i = 0; i < 7; i++) {
1299
- var targetHour = dayjs(startDate).add(i, 'day');
1141
+ var targetHour = dayjs(startDate).add(i + 1, 'day');
1300
1142
  data.push(_extends({
1301
1143
  id: i,
1302
1144
  hour: React__default.createElement("div", null, React__default.createElement("div", {
@@ -1353,7 +1195,8 @@ function LMSModeWeeklyCalendar(_ref) {
1353
1195
  onOpenDetail: onOpenDetail,
1354
1196
  onOpenCreate: onOpenCreate,
1355
1197
  onEventDetail: onEventDetail,
1356
- loading: loading
1198
+ loading: loading,
1199
+ type: CALENDAR_TYPE.LMS
1357
1200
  }) : React__default.createElement(LMSWeeklyCalendar, {
1358
1201
  startDate: startDate,
1359
1202
  endDate: endDate,
@@ -1362,10 +1205,240 @@ function LMSModeWeeklyCalendar(_ref) {
1362
1205
  onOpenDetail: onOpenDetail,
1363
1206
  onOpenCreate: onOpenCreate,
1364
1207
  onEventDetail: onEventDetail,
1365
- loading: loading
1208
+ loading: loading,
1209
+ type: CALENDAR_TYPE.LMS
1366
1210
  }));
1367
1211
  }
1368
1212
 
1213
+ var SelectBox = function SelectBox(_ref) {
1214
+ var value = _ref.value,
1215
+ options = _ref.options,
1216
+ defaultValue = _ref.defaultValue,
1217
+ _ref$className = _ref.className,
1218
+ className = _ref$className === void 0 ? '' : _ref$className,
1219
+ disabled = _ref.disabled,
1220
+ onChange = _ref.onChange;
1221
+ return React__default.createElement(antd.Select, {
1222
+ defaultValue: defaultValue,
1223
+ className: className,
1224
+ disabled: disabled,
1225
+ options: options,
1226
+ value: value,
1227
+ onChange: onChange
1228
+ });
1229
+ };
1230
+
1231
+ var LMSHeaderCalendar = function LMSHeaderCalendar(_ref) {
1232
+ var title = _ref.title,
1233
+ showTeacherName = _ref.showTeacherName,
1234
+ currentDate = _ref.currentDate,
1235
+ setCurrentDate = _ref.setCurrentDate,
1236
+ calendarMode = _ref.calendarMode,
1237
+ setCalendarMode = _ref.setCalendarMode,
1238
+ toggleTurnOnFilter = _ref.toggleTurnOnFilter,
1239
+ filter = _ref.filter,
1240
+ hasFilter = _ref.hasFilter;
1241
+ var options = [{
1242
+ value: 'month',
1243
+ label: 'Month'
1244
+ }, {
1245
+ value: 'week',
1246
+ label: 'Week'
1247
+ }];
1248
+ var handleChangeDate = function handleChangeDate(date) {
1249
+ setCurrentDate(date);
1250
+ };
1251
+ var handleChangeMode = function handleChangeMode(mode) {
1252
+ setCalendarMode(mode);
1253
+ setCurrentDate(dayjs());
1254
+ };
1255
+ return React__default.createElement("div", {
1256
+ className: styles['header-calendar']
1257
+ }, React__default.createElement("div", {
1258
+ className: styles['header-calendar_filter']
1259
+ }, hasFilter && React__default.createElement("div", {
1260
+ className: clsx__default(styles['hover-item'], filter.isOpen && styles['text-lms-primary']),
1261
+ onClick: toggleTurnOnFilter
1262
+ }, React__default.createElement(FilterIcon, null)), React__default.createElement("div", {
1263
+ className: "" + styles['header-calendar__nav']
1264
+ }, React__default.createElement(Icon, {
1265
+ icon: React__default.createElement(LeftArrowIcon, null),
1266
+ onClick: function onClick() {
1267
+ return handleChangeDate(currentDate.subtract(1, calendarMode));
1268
+ },
1269
+ className: styles['rounded-none']
1270
+ }), React__default.createElement(antd.DatePicker, {
1271
+ picker: calendarMode === 'day' ? 'date' : calendarMode,
1272
+ onChange: handleChangeDate,
1273
+ format: function format(value) {
1274
+ return customDateFormat(value, calendarMode === 'day' ? FORMAT_DATE_CARLENDA.DATE : FORMAT_DATE_CARLENDA.MONTH_AND_WEEK);
1275
+ },
1276
+ value: currentDate,
1277
+ allowClear: false,
1278
+ suffixIcon: null,
1279
+ className: styles['header-calendar__date-picker'],
1280
+ size: 'large'
1281
+ }), React__default.createElement(Icon, {
1282
+ icon: React__default.createElement(RightArrowIcon, null),
1283
+ onClick: function onClick() {
1284
+ return handleChangeDate(currentDate.add(1, calendarMode));
1285
+ }
1286
+ }))), showTeacherName && React__default.createElement("div", {
1287
+ className: styles['header-calendar__title']
1288
+ }, title), React__default.createElement("div", {
1289
+ className: styles['header-calendar__controls']
1290
+ }, React__default.createElement(Button, {
1291
+ color: 'lms-default',
1292
+ onClick: function onClick() {
1293
+ return handleChangeDate(dayjs());
1294
+ }
1295
+ }, "Today"), React__default.createElement("div", {
1296
+ className: styles['header-calendar__divider']
1297
+ }), React__default.createElement(SelectBox, {
1298
+ value: calendarMode,
1299
+ options: options,
1300
+ className: 'select-mode',
1301
+ onChange: function onChange(mode) {
1302
+ handleChangeMode(mode);
1303
+ }
1304
+ })));
1305
+ };
1306
+
1307
+ 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"};
1308
+
1309
+ var FilterCalendar = function FilterCalendar(_ref) {
1310
+ var filter = _ref.filter,
1311
+ setFilter = _ref.setFilter,
1312
+ courses = _ref.courses,
1313
+ onRefetchAPI = _ref.onRefetchAPI;
1314
+ var noteFilter = React.useMemo(function () {
1315
+ return [{
1316
+ title: 'Online',
1317
+ icon: React__default.createElement("div", {
1318
+ className: styles$1['calendar-filter_note_blue']
1319
+ }),
1320
+ value: LEARNING_MODE.ONLINE
1321
+ }, {
1322
+ title: 'Live Online',
1323
+ icon: React__default.createElement("div", {
1324
+ className: styles$1['calendar-filter_note_pureple']
1325
+ }),
1326
+ value: LEARNING_MODE.LIVE_ONLINE
1327
+ }, {
1328
+ title: 'Offline',
1329
+ icon: React__default.createElement("div", {
1330
+ className: styles$1['calendar-filter_note_green']
1331
+ }),
1332
+ value: LEARNING_MODE.OFFLINE
1333
+ }, {
1334
+ title: 'Test',
1335
+ icon: React__default.createElement(TestIcon, null),
1336
+ value: LEARNING_MODE.TEST
1337
+ }, {
1338
+ title: 'Case Study',
1339
+ icon: React__default.createElement(GoldStarIcon, null),
1340
+ value: LEARNING_MODE.CASE_STUDY
1341
+ }, {
1342
+ title: 'Key Content Before',
1343
+ icon: React__default.createElement(FlagIcon, null),
1344
+ value: LEARNING_MODE.KEY_BEFORE_CONTENT
1345
+ }, {
1346
+ title: 'Holiday',
1347
+ icon: React__default.createElement("div", {
1348
+ className: styles$1['calendar-filter_note_yellow']
1349
+ }),
1350
+ value: LEARNING_MODE.HOLIDAY
1351
+ }, {
1352
+ title: 'Overdue',
1353
+ icon: React__default.createElement("div", {
1354
+ className: styles$1['calendar-filter_note_red']
1355
+ }),
1356
+ value: LEARNING_MODE.OVERDUE
1357
+ }];
1358
+ }, []);
1359
+ var handleFilter = function handleFilter(type, value) {
1360
+ switch (type) {
1361
+ case 'course':
1362
+ {
1363
+ setFilter(function (prev) {
1364
+ var courseId = prev.courseId || [];
1365
+ var updatedCourseId = courseId.includes(value) ? courseId.filter(function (item) {
1366
+ return item !== value;
1367
+ }) : [].concat(courseId, [value]);
1368
+ return _extends({}, prev, {
1369
+ courseId: updatedCourseId
1370
+ });
1371
+ });
1372
+ break;
1373
+ }
1374
+ case 'note':
1375
+ {
1376
+ setFilter(function (prev) {
1377
+ var typeArray = prev.type || [];
1378
+ var updatedType = typeArray.includes(value) ? typeArray.filter(function (item) {
1379
+ return item !== value;
1380
+ }) : [].concat(typeArray, [value]);
1381
+ return _extends({}, prev, {
1382
+ type: updatedType
1383
+ });
1384
+ });
1385
+ break;
1386
+ }
1387
+ case 'day':
1388
+ {
1389
+ setFilter(function (prev) {
1390
+ return _extends({}, prev, {
1391
+ day: value
1392
+ });
1393
+ });
1394
+ break;
1395
+ }
1396
+ }
1397
+ };
1398
+ var handleFilterday = function handleFilterday(date) {
1399
+ onRefetchAPI(date.toDate());
1400
+ handleFilter('day', date.toString());
1401
+ };
1402
+ return React__default.createElement("div", {
1403
+ className: styles$1['calendar-filter']
1404
+ }, React__default.createElement(antd.Calendar, {
1405
+ mode: 'month',
1406
+ className: styles$1['custom-today-picker'],
1407
+ fullscreen: false,
1408
+ onChange: handleFilterday
1409
+ }), React__default.createElement("div", null, React__default.createElement("div", {
1410
+ className: styles$1['calendar-filter_title']
1411
+ }, React__default.createElement(TagIcon, null), React__default.createElement("h3", null, "Notes")), React__default.createElement("div", null, noteFilter.map(function (item) {
1412
+ var _filter$type;
1413
+ return React__default.createElement("div", {
1414
+ className: styles$1['calendar-filter_content_list_item'],
1415
+ key: item.value
1416
+ }, React__default.createElement("div", {
1417
+ className: styles$1['calendar-filter_content_list_item']
1418
+ }, item.icon, item.title), React__default.createElement("div", {
1419
+ onClick: function onClick() {
1420
+ return handleFilter('note', item.value);
1421
+ },
1422
+ className: styles$1['calendar-filter_content_item_eye']
1423
+ }, (_filter$type = filter.type) !== null && _filter$type !== void 0 && _filter$type.includes(item.value) ? React__default.createElement(EyeIcon, null) : React__default.createElement(HiddenEyeIcon, null)));
1424
+ }))), React__default.createElement("div", null, React__default.createElement("div", {
1425
+ className: styles$1['calendar-filter_title']
1426
+ }, React__default.createElement(EducationIcon, null), React__default.createElement("h3", null, "My courses")), React__default.createElement("div", null, courses === null || courses === void 0 ? void 0 : courses.map(function (item, key) {
1427
+ var _filter$courseId;
1428
+ return React__default.createElement("div", {
1429
+ key: key,
1430
+ className: styles$1['calendar-filter_content_list_item']
1431
+ }, React__default.createElement("div", {
1432
+ className: styles$1['calendar-filter_content_list_item']
1433
+ }, item.name), React__default.createElement("div", {
1434
+ onClick: function onClick() {
1435
+ return handleFilter('course', item.id);
1436
+ },
1437
+ className: styles$1['calendar-filter_content_item_eye']
1438
+ }, (_filter$courseId = filter.courseId) !== null && _filter$courseId !== void 0 && _filter$courseId.includes(item.id) ? React__default.createElement(EyeIcon, null) : React__default.createElement(HiddenEyeIcon, null)));
1439
+ }))));
1440
+ };
1441
+
1369
1442
  var SAPPCalendar = function SAPPCalendar(_ref) {
1370
1443
  var teacherName = _ref.teacherName,
1371
1444
  events = _ref.events,
@@ -1381,80 +1454,81 @@ var SAPPCalendar = function SAPPCalendar(_ref) {
1381
1454
  onEventDetail = _ref.onEventDetail,
1382
1455
  loading = _ref.loading,
1383
1456
  _ref$type = _ref.type,
1384
- type = _ref$type === void 0 ? 'normal' : _ref$type,
1457
+ type = _ref$type === void 0 ? 'OPS' : _ref$type,
1385
1458
  courses = _ref.courses,
1386
- onFilter = _ref.onFilter;
1459
+ onfilter = _ref.onfilter,
1460
+ _ref$hasFilter = _ref.hasFilter,
1461
+ hasFilter = _ref$hasFilter === void 0 ? false : _ref$hasFilter,
1462
+ _ref$headerType = _ref.headerType,
1463
+ headerType = _ref$headerType === void 0 ? CALENDAR_TYPE.OPS : _ref$headerType;
1387
1464
  var _useState = React.useState(dayjs()),
1388
1465
  currentDate = _useState[0],
1389
1466
  setCurrentDate = _useState[1];
1390
- var _useState2 = React.useState('week'),
1467
+ var _useState2 = React.useState('month'),
1391
1468
  calendarMode = _useState2[0],
1392
1469
  setCalendarMode = _useState2[1];
1393
1470
  var _useState3 = React.useState({
1471
+ courseId: courses ? courses.map(function (item) {
1472
+ return item.id;
1473
+ }) : [],
1394
1474
  isOpen: false,
1395
1475
  type: Object.values(LEARNING_MODE),
1396
- courseId: courses !== null && courses !== void 0 && courses.length ? courses === null || courses === void 0 ? void 0 : courses.map(function (item) {
1397
- return item.id;
1398
- }) : []
1476
+ day: ''
1399
1477
  }),
1400
1478
  filter = _useState3[0],
1401
1479
  setFilter = _useState3[1];
1402
1480
  var startDate = React.useMemo(function () {
1403
- if (calendarMode === 'day') {
1404
- return dayjs(currentDate).startOf('day');
1405
- }
1406
1481
  return dayjs(currentDate).startOf(calendarMode).startOf('week').add(1, 'day');
1407
1482
  }, [currentDate, calendarMode]);
1408
1483
  var endDate = React.useMemo(function () {
1409
- if (calendarMode === 'day') {
1410
- return dayjs(currentDate).endOf('day');
1411
- }
1412
1484
  return dayjs(currentDate).endOf(calendarMode).endOf('week').add(1, 'day');
1413
1485
  }, [currentDate, calendarMode]);
1414
1486
  var splittedEvents = splitEventsIntoDays(events);
1415
1487
  splittedEvents.sort(function (a, b) {
1416
1488
  return dayjs(a.startDate).diff(b.startDate);
1417
1489
  });
1418
- var handleToggleFilter = function handleToggleFilter() {
1419
- setFilter(function (prev) {
1420
- return _extends({}, filter, {
1421
- isOpen: !prev.isOpen
1422
- });
1423
- });
1490
+ var handleFilterDate = function handleFilterDate(date) {
1491
+ setCurrentDate(date);
1424
1492
  };
1493
+ React.useEffect(function () {
1494
+ onfilter && onfilter(filter);
1495
+ }, [filter]);
1425
1496
  useEffectAfterMounted(function () {
1426
1497
  onRefetchAPI(startDate.toDate(), endDate.toDate());
1427
1498
  }, [startDate, endDate]);
1428
- console.log('course:', courses);
1429
- React.useEffect(function () {
1430
- if (type === 'filter') {
1431
- onFilter && onFilter(filter);
1432
- }
1433
- }, [filter]);
1434
1499
  return React__default.createElement("div", {
1435
1500
  className: styles['sapp-calendar']
1436
1501
  }, filter.isOpen && React__default.createElement(FilterCalendar, {
1437
- courses: courses,
1438
1502
  filter: filter,
1439
- setFilter: setFilter
1503
+ setFilter: setFilter,
1504
+ onRefetchAPI: function onRefetchAPI(date) {
1505
+ return handleFilterDate(dayjs(date));
1506
+ }
1440
1507
  }), React__default.createElement("div", {
1441
1508
  className: styles['sapp-calendar__container']
1442
- }, type === 'normal' ? React__default.createElement(HeaderCalendar, {
1509
+ }, headerType === CALENDAR_TYPE.LMS ? React__default.createElement(LMSHeaderCalendar, {
1443
1510
  title: teacherName,
1444
1511
  showTeacherName: showTeacherName,
1445
1512
  currentDate: currentDate,
1446
1513
  setCurrentDate: setCurrentDate,
1447
1514
  calendarMode: calendarMode,
1448
- setCalendarMode: setCalendarMode
1449
- }) : React__default.createElement(LMSHeaderCalendar, {
1515
+ setCalendarMode: setCalendarMode,
1516
+ toggleTurnOnFilter: function toggleTurnOnFilter() {
1517
+ return setFilter(function (prev) {
1518
+ return _extends({}, prev, {
1519
+ isOpen: !filter.isOpen
1520
+ });
1521
+ });
1522
+ },
1523
+ hasFilter: hasFilter,
1524
+ filter: filter
1525
+ }) : React__default.createElement(HeaderCalendar, {
1450
1526
  title: teacherName,
1451
1527
  showTeacherName: showTeacherName,
1452
1528
  currentDate: currentDate,
1453
1529
  setCurrentDate: setCurrentDate,
1454
1530
  calendarMode: calendarMode,
1455
- setCalendarMode: setCalendarMode,
1456
- toggleTurnOnFilter: handleToggleFilter,
1457
- filter: filter
1531
+ setCalendarMode: setCalendarMode
1458
1532
  }), calendarMode === 'month' && React__default.createElement(MonthlyCalendar, {
1459
1533
  currentDate: currentDate,
1460
1534
  startDate: startDate,
@@ -1466,12 +1540,22 @@ var SAPPCalendar = function SAPPCalendar(_ref) {
1466
1540
  onOpenCreate: onOpenCreate,
1467
1541
  onEventDetail: onEventDetail,
1468
1542
  loading: loading
1469
- }), calendarMode === 'week' && React__default.createElement(LMSModeWeeklyCalendar, {
1543
+ }), calendarMode === 'week' && type === CALENDAR_TYPE.LMS && React__default.createElement(LMSModeWeeklyCalendar, {
1470
1544
  startDate: startDate,
1471
1545
  endDate: endDate,
1472
1546
  events: splittedEvents,
1547
+ norms: norms,
1473
1548
  showWeeklyNorm: showWeeklyNorm,
1549
+ onOpenDetail: onOpenDetail,
1550
+ onOpenCreate: onOpenCreate,
1551
+ onEventDetail: onEventDetail,
1552
+ loading: loading
1553
+ }), calendarMode === 'week' && type === CALENDAR_TYPE.OPS && React__default.createElement(WeeklyCalendar, {
1554
+ startDate: startDate,
1555
+ endDate: endDate,
1556
+ events: splittedEvents,
1474
1557
  norms: norms,
1558
+ showWeeklyNorm: showWeeklyNorm,
1475
1559
  onOpenDetail: onOpenDetail,
1476
1560
  onOpenCreate: onOpenCreate,
1477
1561
  onEventDetail: onEventDetail,