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.
@@ -1,6 +1,6 @@
1
1
  import dayjs from 'dayjs';
2
2
  import React, { useState, useEffect, useMemo } from 'react';
3
- import { DatePicker, Select, Calendar, Tooltip, Table } from 'antd';
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["TIME_OFF"] = "TIME_OFF";
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
- MONTH_AND_WEEK: 'MMMM, YYYY',
112
- DATE: 'MMMM DD, YYYY'
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.TIME_OFF] = 'warning', _convertType[EVENT_TYPES.OTHER] = 'success', _convertType);
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 LeftArrowIcon = function LeftArrowIcon() {
288
+ var TestIcon = function TestIcon() {
276
289
  return React.createElement("svg", {
277
- width: '8',
278
- height: '11',
279
- viewBox: '0 0 8 11',
280
- fill: 'currentColor',
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: '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',
284
- fill: '#404041'
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 RightArrowIcon = function RightArrowIcon() {
309
+ var HiddenEyeIcon = function HiddenEyeIcon() {
288
310
  return React.createElement("svg", {
289
- width: '8',
290
- height: '11',
291
- viewBox: '0 0 8 11',
292
- fill: 'currentColor',
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: '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',
296
- fill: '#404041'
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 FilterIcon = function FilterIcon() {
324
+ var EyeIcon = function EyeIcon() {
300
325
  return React.createElement("svg", {
301
- width: '35',
302
- height: '35',
303
- viewBox: '0 0 35 35',
304
- fill: 'currentColor',
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: 'M26.5 8.4961V26.5036H8.5V8.4961H26.5ZM28 6.99609L7 6.99619L7 28.0036L28 27.9961V6.99609ZM10.2625 9.9886H17.7625V24.9886H10.2625V9.9886Z',
308
- fill: 'currentColor'
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(#clip0_19555_31783)'
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: 'clip0_19555_31783'
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 BookIcon = function BookIcon() {
408
+ var FilterIcon = function FilterIcon() {
351
409
  return React.createElement("svg", {
352
- width: '14',
353
- height: '15',
354
- viewBox: '0 0 14 15',
355
- fill: 'none',
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: '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',
359
- fill: '#FFB800'
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 GoldStarIcon = function GoldStarIcon() {
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: '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',
392
- fill: '#DCDDDD'
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 HiddenEyeIcon = function HiddenEyeIcon() {
432
+ var RightArrowIcon = function RightArrowIcon() {
396
433
  return React.createElement("svg", {
397
- width: '16',
398
- height: '17',
399
- viewBox: '0 0 16 17',
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: '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',
404
- fill: '#DCDDDD'
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 = {"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"};
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(CustomTooltip, {
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: Math.floor(minutes / MINUTES_PER_HOUR * 100),
919
- height: Math.floor(diffMinutes / MINUTES_PER_HOUR * 100)
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: event.type === EVENT_TYPES.BUSY ? 2 : 1
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(CustomTooltip, {
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 = (_events = events) === null || _events === void 0 ? void 0 : _events.sort(function (a, b) {
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 _events2, _events3, _events4;
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 && ((_events3 = events) === null || _events3 === void 0 ? void 0 : _events3.length) > 1) {
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 (_events4 = events) === null || _events4 === void 0 ? void 0 : _events4.map(function (event, index) {
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
- for (var i = 0; i < HOURS_PER_DAY; i++) {
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(CustomTooltip, {
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 ? 'normal' : _ref$type,
1453
+ type = _ref$type === void 0 ? 'OPS' : _ref$type,
1381
1454
  courses = _ref.courses,
1382
- onFilter = _ref.onFilter;
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('week'),
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
- courseId: courses !== null && courses !== void 0 && courses.length ? courses === null || courses === void 0 ? void 0 : courses.map(function (item) {
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 handleToggleFilter = function handleToggleFilter() {
1415
- setFilter(function (prev) {
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
- }, type === 'normal' ? React.createElement(HeaderCalendar, {
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
- }) : React.createElement(LMSHeaderCalendar, {
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,