touchstudy-core 0.1.191 → 0.1.193
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Chats/components/CanvasOverlay.d.ts +11 -0
- package/dist/components/Chats/components/InputChat.d.ts +1 -2
- package/dist/components/Chats/components/SketchDialog/CanvasOverlay.d.ts +11 -0
- package/dist/components/Chats/components/SketchDialog/ColorPicker.d.ts +7 -0
- package/dist/components/Chats/components/SketchDialog/index.d.ts +7 -0
- package/dist/components/Chats/components/SketchDialog.d.ts +7 -0
- package/dist/components/Chats/hooks/useChatContainer.d.ts +1 -1
- package/dist/components/List/hooks/useVirtualListView.d.ts +2 -1
- package/dist/index.js +210 -153
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +212 -156
- package/dist/index.modern.js.map +1 -1
- package/dist/layouts/partials/CircularTimer/tick.d.ts +1 -0
- package/dist/utils/hooks/index.d.ts +2 -1
- package/dist/utils/hooks/useVirtualList.d.ts +2 -0
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
@@ -16,9 +16,9 @@ import React__default, { useState, useEffect, Fragment as Fragment$1, useRef, us
|
|
16
16
|
import { useTheme, Container, Typography, Stack, List, ListItem, FormGroup, FormControlLabel, Checkbox, Button, Box, Dialog, DialogTitle, IconButton, useMediaQuery, DialogContent, TextField, DialogActions, styled, FormLabel, Pagination, Paper, InputBase, Tooltip, tooltipClasses, Grid, ClickAwayListener, CircularProgress, FormControl, RadioGroup, Radio, Accordion, AccordionSummary, AccordionDetails, InputAdornment, Card as Card$1, Avatar, Table, TableHead, TableRow, TableCell, TableBody, Divider, Skeleton, Tabs, Tab, Drawer, TableContainer, tableCellClasses, Popover, Switch, InputLabel, Chip, ListItemButton, ListItemAvatar, ListItemText, Badge, CardMedia as CardMedia$1, MenuList } from '@mui/material';
|
17
17
|
import moment from 'moment';
|
18
18
|
export { default as moment } from 'moment';
|
19
|
-
import { FaSave, FaCaretDown,
|
19
|
+
import { FaSave, FaCaretDown, FaTrash, FaTimes, FaSortUp, FaSortDown, FaPlusCircle, FaEye, FaPlus, FaCalendar, FaUser, FaBookOpen, FaUpload, FaCheckCircle, FaShare, FaExchangeAlt, FaPencilAlt, FaBell } from 'react-icons/fa';
|
20
20
|
import { IoMdArrowBack, IoIosAdd, IoMdSync, IoIosAlert, IoIosArrowDown, IoIosSearch, IoIosArrowUp, IoMdAdd } from 'react-icons/io';
|
21
|
-
import { IoClose, IoSearch,
|
21
|
+
import { IoClose, IoSearch, IoTime, IoChatbubbleEllipsesSharp, IoPrint, IoChevronDown, IoCheckmarkCircle, IoChevronUpOutline, IoChevronDownOutline, IoReceiptSharp, IoBook, IoWarning, IoCalendarClear, IoPerson, IoInformationCircle, IoTrash, IoAddCircle, IoCheckmark, IoCloseCircle, IoLogOut } from 'react-icons/io5';
|
22
22
|
import _$a from 'lodash';
|
23
23
|
import { useSelector, useDispatch } from 'react-redux';
|
24
24
|
import axios from 'axios';
|
@@ -1580,6 +1580,7 @@ var recent_class_exams = "최근 수업 시험";
|
|
1580
1580
|
var there_are_no_problems_you_were_working_on = "풀던 문제가 없습니다.";
|
1581
1581
|
var incomplete_exam = "미참가";
|
1582
1582
|
var completed_exam = "참가";
|
1583
|
+
var failed_to_send_the_image_error = "이미지를 보내지 못했습니다: {{ message }}";
|
1583
1584
|
var lang_ko = {
|
1584
1585
|
problem_solving: problem_solving,
|
1585
1586
|
my_story: my_story,
|
@@ -2787,7 +2788,8 @@ var lang_ko = {
|
|
2787
2788
|
recent_class_exams: recent_class_exams,
|
2788
2789
|
there_are_no_problems_you_were_working_on: there_are_no_problems_you_were_working_on,
|
2789
2790
|
incomplete_exam: incomplete_exam,
|
2790
|
-
completed_exam: completed_exam
|
2791
|
+
completed_exam: completed_exam,
|
2792
|
+
failed_to_send_the_image_error: failed_to_send_the_image_error
|
2791
2793
|
};
|
2792
2794
|
|
2793
2795
|
var problem_solving$1 = "Problem Solving";
|
@@ -4022,6 +4024,7 @@ var recent_class_exams$1 = "Recent Class Exams";
|
|
4022
4024
|
var there_are_no_problems_you_were_working_on$1 = "There are no problems you were working on";
|
4023
4025
|
var incomplete_exam$1 = "Incomplete";
|
4024
4026
|
var completed_exam$1 = "Completed";
|
4027
|
+
var failed_to_send_the_image_error$1 = "Failed to send the image: {{ message }}";
|
4025
4028
|
var lang_en = {
|
4026
4029
|
problem_solving: problem_solving$1,
|
4027
4030
|
my_story: my_story$1,
|
@@ -5231,7 +5234,8 @@ var lang_en = {
|
|
5231
5234
|
recent_class_exams: recent_class_exams$1,
|
5232
5235
|
there_are_no_problems_you_were_working_on: there_are_no_problems_you_were_working_on$1,
|
5233
5236
|
incomplete_exam: incomplete_exam$1,
|
5234
|
-
completed_exam: completed_exam$1
|
5237
|
+
completed_exam: completed_exam$1,
|
5238
|
+
failed_to_send_the_image_error: failed_to_send_the_image_error$1
|
5235
5239
|
};
|
5236
5240
|
|
5237
5241
|
i18n.use(initReactI18next).init({
|
@@ -7346,6 +7350,126 @@ var useVirtualizeList = function useVirtualizeList(totalItems, rowHeight, offset
|
|
7346
7350
|
};
|
7347
7351
|
};
|
7348
7352
|
|
7353
|
+
var useVirtualList = function useVirtualList(defaultFilter, getItemsApi) {
|
7354
|
+
var _useTranslation = useTranslation(),
|
7355
|
+
t = _useTranslation.t;
|
7356
|
+
var user = useSelector(function (state) {
|
7357
|
+
var _state$common;
|
7358
|
+
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
7359
|
+
});
|
7360
|
+
var academyDomain = user === null || user === void 0 ? void 0 : user.academyDomain;
|
7361
|
+
var isLearningSpace = user === null || user === void 0 ? void 0 : user.isLearningSpace;
|
7362
|
+
var userId = user === null || user === void 0 ? void 0 : user.id;
|
7363
|
+
var _useState = useState([]),
|
7364
|
+
items = _useState[0],
|
7365
|
+
setItems = _useState[1];
|
7366
|
+
var _useState2 = useState(0),
|
7367
|
+
totalPages = _useState2[0],
|
7368
|
+
setTotalPages = _useState2[1];
|
7369
|
+
var _useState3 = useState(0),
|
7370
|
+
totalItems = _useState3[0],
|
7371
|
+
setTotalItems = _useState3[1];
|
7372
|
+
var _useState4 = useState(),
|
7373
|
+
selectedItem = _useState4[0],
|
7374
|
+
setSelectedItem = _useState4[1];
|
7375
|
+
var _useState5 = useState(false),
|
7376
|
+
isLoading = _useState5[0],
|
7377
|
+
setLoading = _useState5[1];
|
7378
|
+
var _useState6 = useState(),
|
7379
|
+
filter = _useState6[0],
|
7380
|
+
setFilter = _useState6[1];
|
7381
|
+
var handleChangeSelectedItem = function handleChangeSelectedItem(data) {
|
7382
|
+
setSelectedItem(data);
|
7383
|
+
};
|
7384
|
+
var getItems = function getItems() {
|
7385
|
+
try {
|
7386
|
+
var _temp2 = function _temp2() {
|
7387
|
+
setLoading(false);
|
7388
|
+
};
|
7389
|
+
if (isLoading) return Promise.resolve();
|
7390
|
+
if (!filter || !filter.currentPage) {
|
7391
|
+
setItems([]);
|
7392
|
+
return Promise.resolve();
|
7393
|
+
}
|
7394
|
+
setLoading(true);
|
7395
|
+
var _temp = _catch(function () {
|
7396
|
+
return Promise.resolve(getItemsApi(filter)).then(function (res) {
|
7397
|
+
var responseData = res.data;
|
7398
|
+
setTotalPages((responseData === null || responseData === void 0 ? void 0 : responseData.totalPages) || 0);
|
7399
|
+
setTotalItems((responseData === null || responseData === void 0 ? void 0 : responseData.totalItems) || 0);
|
7400
|
+
var responseItems = (responseData === null || responseData === void 0 ? void 0 : responseData.items) || [];
|
7401
|
+
var results = responseItems;
|
7402
|
+
if (filter !== null && filter !== void 0 && filter.currentPage && filter.currentPage > 1) {
|
7403
|
+
results = [].concat(_$a.uniqBy([].concat(items, responseItems), "id"));
|
7404
|
+
}
|
7405
|
+
setItems(results);
|
7406
|
+
});
|
7407
|
+
}, function (error) {
|
7408
|
+
toast.error(getErrorMessage(t, error));
|
7409
|
+
});
|
7410
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
7411
|
+
} catch (e) {
|
7412
|
+
return Promise.reject(e);
|
7413
|
+
}
|
7414
|
+
};
|
7415
|
+
var handleLoadMore = useCallback(function () {
|
7416
|
+
if (isLoading) return;
|
7417
|
+
setFilter(function (state) {
|
7418
|
+
return !state || state.currentPage === undefined || state.currentPage >= totalPages ? state : _extends({}, state, {
|
7419
|
+
currentPage: state.currentPage + 1
|
7420
|
+
});
|
7421
|
+
});
|
7422
|
+
}, [totalPages, isLoading]);
|
7423
|
+
var handleItemAdded = function handleItemAdded(item) {
|
7424
|
+
var results = [].concat(_$a.uniqBy([item].concat(items), "id"));
|
7425
|
+
setItems(results);
|
7426
|
+
};
|
7427
|
+
var handleItemUpdated = function handleItemUpdated(item) {
|
7428
|
+
var results = items.map(function (i) {
|
7429
|
+
return i.id !== item.id ? i : item;
|
7430
|
+
});
|
7431
|
+
setItems(results);
|
7432
|
+
};
|
7433
|
+
var handleItemRemoved = function handleItemRemoved(_item) {
|
7434
|
+
getItems();
|
7435
|
+
};
|
7436
|
+
var handleChangeFilter = function handleChangeFilter(newFilter) {
|
7437
|
+
setFilter(newFilter);
|
7438
|
+
};
|
7439
|
+
var resetData = function resetData() {
|
7440
|
+
setTotalPages(0);
|
7441
|
+
setTotalItems(0);
|
7442
|
+
setItems([]);
|
7443
|
+
};
|
7444
|
+
useEffect(function () {
|
7445
|
+
resetData();
|
7446
|
+
setFilter(function (state) {
|
7447
|
+
if (JSON.stringify(state) == JSON.stringify(defaultFilter)) getItems();
|
7448
|
+
return defaultFilter;
|
7449
|
+
});
|
7450
|
+
}, [JSON.stringify(defaultFilter), isLearningSpace, academyDomain, userId]);
|
7451
|
+
useEffect(function () {
|
7452
|
+
getItems();
|
7453
|
+
}, [JSON.stringify(filter), getItemsApi]);
|
7454
|
+
return {
|
7455
|
+
t: t,
|
7456
|
+
filter: filter,
|
7457
|
+
selectedItem: selectedItem,
|
7458
|
+
items: items,
|
7459
|
+
isLoading: isLoading,
|
7460
|
+
totalItems: totalItems,
|
7461
|
+
resetData: resetData,
|
7462
|
+
handleChangeFilter: handleChangeFilter,
|
7463
|
+
setItems: setItems,
|
7464
|
+
handleChangeSelectedItem: handleChangeSelectedItem,
|
7465
|
+
handleLoadMore: handleLoadMore,
|
7466
|
+
getItems: getItems,
|
7467
|
+
handleItemAdded: handleItemAdded,
|
7468
|
+
handleItemRemoved: handleItemRemoved,
|
7469
|
+
handleItemUpdated: handleItemUpdated
|
7470
|
+
};
|
7471
|
+
};
|
7472
|
+
|
7349
7473
|
var RecentUserActionSortBy;
|
7350
7474
|
(function (RecentUserActionSortBy) {
|
7351
7475
|
RecentUserActionSortBy["CreatedAt"] = "CreatedAt";
|
@@ -9538,24 +9662,27 @@ var InputChat = function InputChat(_ref) {
|
|
9538
9662
|
width: "fit-content"
|
9539
9663
|
}
|
9540
9664
|
}, React__default.createElement("img", {
|
9541
|
-
src: selectedFile
|
9665
|
+
src: selectedFile,
|
9542
9666
|
style: {
|
9543
9667
|
height: "100px",
|
9544
9668
|
objectFit: "contain",
|
9545
9669
|
objectPosition: "center"
|
9546
9670
|
}
|
9547
|
-
}), React__default.createElement(
|
9671
|
+
}), React__default.createElement(IconButton, {
|
9672
|
+
size: "small",
|
9673
|
+
color: "error",
|
9548
9674
|
style: {
|
9549
9675
|
position: "absolute",
|
9550
9676
|
right: 0,
|
9551
9677
|
top: 0,
|
9552
|
-
|
9678
|
+
padding: "8px",
|
9679
|
+
cursor: "pointer",
|
9680
|
+
background: grey[100]
|
9553
9681
|
},
|
9554
9682
|
onClick: handleDeleteSelectedImage
|
9555
|
-
}, React__default.createElement(
|
9556
|
-
|
9557
|
-
|
9558
|
-
}))), React__default.createElement(TinyChatEditor, {
|
9683
|
+
}, React__default.createElement(FaTrash, {
|
9684
|
+
size: 16
|
9685
|
+
}))), !selectedFile && React__default.createElement(TinyChatEditor, {
|
9559
9686
|
initValue: text,
|
9560
9687
|
onChange: onChangeInput,
|
9561
9688
|
disabled: isCompleted
|
@@ -10256,14 +10383,17 @@ var useChatContainer = function useChatContainer(props) {
|
|
10256
10383
|
selectedConversation = _useState[0],
|
10257
10384
|
setSelectedConversation = _useState[1];
|
10258
10385
|
var _useState2 = useState(),
|
10259
|
-
|
10260
|
-
|
10261
|
-
var _useState3 = useState(),
|
10262
|
-
|
10263
|
-
|
10264
|
-
var _useState4 = useState(
|
10265
|
-
|
10266
|
-
|
10386
|
+
file = _useState2[0],
|
10387
|
+
setFile = _useState2[1];
|
10388
|
+
var _useState3 = useState(null),
|
10389
|
+
backgroundImage = _useState3[0],
|
10390
|
+
setBackgroundImage = _useState3[1];
|
10391
|
+
var _useState4 = useState(),
|
10392
|
+
message = _useState4[0],
|
10393
|
+
setMessage = _useState4[1];
|
10394
|
+
var _useState5 = useState(true),
|
10395
|
+
isScrollToEnd = _useState5[0],
|
10396
|
+
setScrollToEnd = _useState5[1];
|
10267
10397
|
var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(Role.Admin);
|
10268
10398
|
var _useMessageList = useMessageList({
|
10269
10399
|
student: student
|
@@ -10286,34 +10416,39 @@ var useChatContainer = function useChatContainer(props) {
|
|
10286
10416
|
};
|
10287
10417
|
var handleAddMessage = function handleAddMessage() {
|
10288
10418
|
try {
|
10289
|
-
var
|
10419
|
+
var _temp3 = function _temp3(_result2) {
|
10420
|
+
if (_exit) return _result2;
|
10290
10421
|
loadingRef.current = false;
|
10291
10422
|
};
|
10423
|
+
var _exit = false;
|
10292
10424
|
if (loadingRef.current) return Promise.resolve();
|
10293
10425
|
loadingRef.current = true;
|
10294
10426
|
if (!(selectedConversation !== null && selectedConversation !== void 0 && selectedConversation.id)) return Promise.resolve();
|
10295
10427
|
setScrollToEnd(true);
|
10296
|
-
var
|
10297
|
-
|
10298
|
-
function
|
10299
|
-
|
10300
|
-
|
10301
|
-
|
10302
|
-
|
10428
|
+
var _temp2 = _catch(function () {
|
10429
|
+
if (file) {
|
10430
|
+
return Promise.resolve(handleUploadImageData(file)).then(function (selectedFile) {
|
10431
|
+
if (!selectedFile) {
|
10432
|
+
_exit = true;
|
10433
|
+
return;
|
10434
|
+
}
|
10435
|
+
return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, selectedFile, {
|
10436
|
+
contentType: 1
|
10437
|
+
}))).then(function () {
|
10438
|
+
setFile(undefined);
|
10439
|
+
setBackgroundImage(null);
|
10440
|
+
});
|
10441
|
+
});
|
10442
|
+
} else {
|
10443
|
+
var _temp4 = function (_message$content) {
|
10303
10444
|
if (message !== null && message !== void 0 && (_message$content = message.content) !== null && _message$content !== void 0 && _message$content.trim().length) {
|
10304
|
-
return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, message))).then(function () {
|
10445
|
+
return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, message))).then(function () {
|
10446
|
+
handleChangeInput('');
|
10447
|
+
});
|
10305
10448
|
}
|
10306
10449
|
}();
|
10307
|
-
|
10450
|
+
if (_temp4 && _temp4.then) return _temp4.then(function () {});
|
10308
10451
|
}
|
10309
|
-
var _temp3 = function () {
|
10310
|
-
if (selectedFile !== null && selectedFile !== void 0 && selectedFile.content) {
|
10311
|
-
return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, selectedFile, {
|
10312
|
-
contentType: 1
|
10313
|
-
}))).then(function () {});
|
10314
|
-
}
|
10315
|
-
}();
|
10316
|
-
return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
|
10317
10452
|
}, function (error) {
|
10318
10453
|
setMessages(function (state) {
|
10319
10454
|
return [].concat(state.filter(function (i) {
|
@@ -10322,31 +10457,51 @@ var useChatContainer = function useChatContainer(props) {
|
|
10322
10457
|
});
|
10323
10458
|
toast.error(getErrorMessage(t, error));
|
10324
10459
|
});
|
10325
|
-
return Promise.resolve(
|
10460
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2));
|
10326
10461
|
} catch (e) {
|
10327
10462
|
return Promise.reject(e);
|
10328
10463
|
}
|
10329
10464
|
};
|
10330
10465
|
var handleUploadImage = function handleUploadImage(file) {
|
10331
|
-
|
10332
|
-
|
10466
|
+
try {
|
10467
|
+
if (file) {
|
10468
|
+
setFile(file);
|
10469
|
+
var reader = new FileReader();
|
10470
|
+
reader.onload = function () {
|
10471
|
+
setBackgroundImage(reader.result);
|
10472
|
+
};
|
10473
|
+
reader.readAsDataURL(file);
|
10474
|
+
}
|
10475
|
+
return Promise.resolve();
|
10476
|
+
} catch (e) {
|
10477
|
+
return Promise.reject(e);
|
10478
|
+
}
|
10479
|
+
};
|
10480
|
+
var handleUploadImageData = function handleUploadImageData(file) {
|
10481
|
+
try {
|
10482
|
+
return Promise.resolve(_catch(function () {
|
10333
10483
|
var formData = new FormData();
|
10334
10484
|
formData.append("upload", file);
|
10335
10485
|
return Promise.resolve(apiUploadImageFile(formData)).then(function (res) {
|
10336
10486
|
var _res$data;
|
10337
|
-
|
10487
|
+
return {
|
10338
10488
|
content: res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.url
|
10339
|
-
}
|
10489
|
+
};
|
10340
10490
|
});
|
10341
10491
|
}, function (error) {
|
10492
|
+
toast.error(t("failed_to_send_the_image_error", {
|
10493
|
+
message: getErrorMessage(t, error)
|
10494
|
+
}));
|
10342
10495
|
setMessages(function (state) {
|
10343
10496
|
return [].concat(state.filter(function (i) {
|
10344
10497
|
return (i === null || i === void 0 ? void 0 : i.id) !== 0;
|
10345
10498
|
}));
|
10346
10499
|
});
|
10347
|
-
|
10348
|
-
});
|
10349
|
-
}
|
10500
|
+
return null;
|
10501
|
+
}));
|
10502
|
+
} catch (e) {
|
10503
|
+
return Promise.reject(e);
|
10504
|
+
}
|
10350
10505
|
};
|
10351
10506
|
var handleChangeInput = function handleChangeInput(text) {
|
10352
10507
|
setMessage({
|
@@ -10355,7 +10510,7 @@ var useChatContainer = function useChatContainer(props) {
|
|
10355
10510
|
};
|
10356
10511
|
var handleNewMessageSent = function handleNewMessageSent(data) {
|
10357
10512
|
try {
|
10358
|
-
var
|
10513
|
+
var _temp5 = function _temp5(_updateLastTimeReadCo) {
|
10359
10514
|
_updateLastTimeReadCo;
|
10360
10515
|
};
|
10361
10516
|
if (!data) return Promise.resolve();
|
@@ -10364,14 +10519,14 @@ var useChatContainer = function useChatContainer(props) {
|
|
10364
10519
|
return [].concat(state, [data]);
|
10365
10520
|
});
|
10366
10521
|
var _selectedConversation = selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id;
|
10367
|
-
return Promise.resolve(_selectedConversation ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(
|
10522
|
+
return Promise.resolve(_selectedConversation ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(_temp5) : _temp5(_selectedConversation));
|
10368
10523
|
} catch (e) {
|
10369
10524
|
return Promise.reject(e);
|
10370
10525
|
}
|
10371
10526
|
};
|
10372
10527
|
var handleNewConversation = function handleNewConversation(data) {
|
10373
10528
|
try {
|
10374
|
-
var
|
10529
|
+
var _temp6 = function _temp6(_updateLastTimeReadCo2) {
|
10375
10530
|
_updateLastTimeReadCo2;
|
10376
10531
|
};
|
10377
10532
|
if (!data) return Promise.resolve();
|
@@ -10381,7 +10536,7 @@ var useChatContainer = function useChatContainer(props) {
|
|
10381
10536
|
return [].concat(state, [item]);
|
10382
10537
|
});
|
10383
10538
|
var _selectedConversation2 = selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id;
|
10384
|
-
return Promise.resolve(_selectedConversation2 ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(
|
10539
|
+
return Promise.resolve(_selectedConversation2 ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(_temp6) : _temp6(_selectedConversation2));
|
10385
10540
|
} catch (e) {
|
10386
10541
|
return Promise.reject(e);
|
10387
10542
|
}
|
@@ -10400,7 +10555,8 @@ var useChatContainer = function useChatContainer(props) {
|
|
10400
10555
|
}
|
10401
10556
|
};
|
10402
10557
|
var handleDeleteSelectedImage = function handleDeleteSelectedImage() {
|
10403
|
-
|
10558
|
+
setFile(undefined);
|
10559
|
+
setBackgroundImage(null);
|
10404
10560
|
};
|
10405
10561
|
var cleanupPusher = function cleanupPusher() {
|
10406
10562
|
pusher === null || pusher === void 0 ? void 0 : pusher.unbind("new-message-event", handleNewMessageSent);
|
@@ -10486,7 +10642,7 @@ var useChatContainer = function useChatContainer(props) {
|
|
10486
10642
|
handleDeleteMessage: handleDeleteMessage
|
10487
10643
|
},
|
10488
10644
|
inputProps: {
|
10489
|
-
selectedFile:
|
10645
|
+
selectedFile: backgroundImage,
|
10490
10646
|
text: (message === null || message === void 0 ? void 0 : message.content) || "",
|
10491
10647
|
onChangeInput: handleChangeInput,
|
10492
10648
|
onSubmit: handleAddMessage,
|
@@ -10569,10 +10725,11 @@ var useVirtualListView = function useVirtualListView(props) {
|
|
10569
10725
|
handleLoadMore();
|
10570
10726
|
}
|
10571
10727
|
};
|
10728
|
+
var decounceScroll = _$a.debounce(onScroll, 300);
|
10572
10729
|
var rowCount = data.length + (loading ? 1 : 0);
|
10573
10730
|
return {
|
10574
10731
|
rowCount: rowCount,
|
10575
|
-
onScroll:
|
10732
|
+
onScroll: decounceScroll
|
10576
10733
|
};
|
10577
10734
|
};
|
10578
10735
|
|
@@ -15978,7 +16135,7 @@ var useStudentInfoDrawer = function useStudentInfoDrawer(props) {
|
|
15978
16135
|
var _temp2 = function _temp2() {
|
15979
16136
|
setLoading(false);
|
15980
16137
|
};
|
15981
|
-
if (!studentId) return Promise.resolve();
|
16138
|
+
if (!studentId || !open) return Promise.resolve();
|
15982
16139
|
setLoading(true);
|
15983
16140
|
var _temp = _catch(function () {
|
15984
16141
|
return Promise.resolve(getUserByIdApi(studentId)).then(function (res) {
|
@@ -15991,7 +16148,7 @@ var useStudentInfoDrawer = function useStudentInfoDrawer(props) {
|
|
15991
16148
|
}
|
15992
16149
|
};
|
15993
16150
|
getStudent();
|
15994
|
-
}, [studentId]);
|
16151
|
+
}, [open, studentId]);
|
15995
16152
|
useEffect(function () {
|
15996
16153
|
if (open && inert) {
|
15997
16154
|
var _document$getElementB;
|
@@ -18379,107 +18536,6 @@ function a11yProps$1(index) {
|
|
18379
18536
|
};
|
18380
18537
|
}
|
18381
18538
|
|
18382
|
-
var useVirtualList = function useVirtualList(defaultFilter, getItemsApi) {
|
18383
|
-
var _useTranslation = useTranslation(),
|
18384
|
-
t = _useTranslation.t;
|
18385
|
-
var _useState = useState([]),
|
18386
|
-
items = _useState[0],
|
18387
|
-
setItems = _useState[1];
|
18388
|
-
var _useState2 = useState(0),
|
18389
|
-
totalPages = _useState2[0],
|
18390
|
-
setTotalPages = _useState2[1];
|
18391
|
-
var _useState3 = useState(),
|
18392
|
-
selectedItem = _useState3[0],
|
18393
|
-
setSelectedItem = _useState3[1];
|
18394
|
-
var _useState4 = useState(false),
|
18395
|
-
isLoading = _useState4[0],
|
18396
|
-
setLoading = _useState4[1];
|
18397
|
-
var _useState5 = useState(),
|
18398
|
-
filter = _useState5[0],
|
18399
|
-
setFilter = _useState5[1];
|
18400
|
-
var handleChangeSelectedItem = function handleChangeSelectedItem(data) {
|
18401
|
-
setSelectedItem(data);
|
18402
|
-
};
|
18403
|
-
var getItems = function getItems() {
|
18404
|
-
try {
|
18405
|
-
var _temp2 = function _temp2() {
|
18406
|
-
setLoading(false);
|
18407
|
-
};
|
18408
|
-
if (isLoading) return Promise.resolve();
|
18409
|
-
if (!filter || !filter.currentPage) {
|
18410
|
-
setItems([]);
|
18411
|
-
return Promise.resolve();
|
18412
|
-
}
|
18413
|
-
setLoading(true);
|
18414
|
-
var _temp = _catch(function () {
|
18415
|
-
return Promise.resolve(getItemsApi(filter)).then(function (res) {
|
18416
|
-
var responseData = res.data;
|
18417
|
-
setTotalPages((responseData === null || responseData === void 0 ? void 0 : responseData.totalPages) || 0);
|
18418
|
-
var responseItems = (responseData === null || responseData === void 0 ? void 0 : responseData.items) || [];
|
18419
|
-
var results = responseItems;
|
18420
|
-
if (filter !== null && filter !== void 0 && filter.currentPage && filter.currentPage > 1) {
|
18421
|
-
results = [].concat(_$a.uniqBy([].concat(items, responseItems), "id"));
|
18422
|
-
}
|
18423
|
-
setItems(results);
|
18424
|
-
});
|
18425
|
-
}, function (error) {
|
18426
|
-
toast.error(getErrorMessage(t, error));
|
18427
|
-
});
|
18428
|
-
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
18429
|
-
} catch (e) {
|
18430
|
-
return Promise.reject(e);
|
18431
|
-
}
|
18432
|
-
};
|
18433
|
-
var handleLoadMore = useCallback(function () {
|
18434
|
-
if (!filter || !filter.currentPage || filter.currentPage >= totalPages) {
|
18435
|
-
return;
|
18436
|
-
}
|
18437
|
-
setFilter(function (state) {
|
18438
|
-
var _filter$currentPage;
|
18439
|
-
return !state ? state : _extends({}, state, {
|
18440
|
-
currentPage: ((_filter$currentPage = filter.currentPage) != null ? _filter$currentPage : 0) + 1
|
18441
|
-
});
|
18442
|
-
});
|
18443
|
-
}, [filter === null || filter === void 0 ? void 0 : filter.currentPage, totalPages]);
|
18444
|
-
var handleItemAdded = function handleItemAdded(item) {
|
18445
|
-
var results = [].concat(_$a.uniqBy([item].concat(items), "id"));
|
18446
|
-
setItems(results);
|
18447
|
-
};
|
18448
|
-
var handleItemUpdated = function handleItemUpdated(item) {
|
18449
|
-
var results = items.map(function (i) {
|
18450
|
-
return i.id !== item.id ? i : item;
|
18451
|
-
});
|
18452
|
-
setItems(results);
|
18453
|
-
};
|
18454
|
-
var handleItemRemoved = function handleItemRemoved(_item) {
|
18455
|
-
getItems();
|
18456
|
-
};
|
18457
|
-
var handleChangeFilter = function handleChangeFilter(newFilter) {
|
18458
|
-
setFilter(newFilter);
|
18459
|
-
};
|
18460
|
-
useEffect(function () {
|
18461
|
-
setFilter(defaultFilter);
|
18462
|
-
}, [JSON.stringify(defaultFilter)]);
|
18463
|
-
useEffect(function () {
|
18464
|
-
getItems();
|
18465
|
-
}, [JSON.stringify(filter), getItemsApi]);
|
18466
|
-
return {
|
18467
|
-
t: t,
|
18468
|
-
filter: filter,
|
18469
|
-
selectedItem: selectedItem,
|
18470
|
-
items: items,
|
18471
|
-
isLoading: isLoading,
|
18472
|
-
handleChangeFilter: handleChangeFilter,
|
18473
|
-
setItems: setItems,
|
18474
|
-
handleChangeSelectedItem: handleChangeSelectedItem,
|
18475
|
-
handleLoadMore: handleLoadMore,
|
18476
|
-
getItems: getItems,
|
18477
|
-
handleItemAdded: handleItemAdded,
|
18478
|
-
handleItemRemoved: handleItemRemoved,
|
18479
|
-
handleItemUpdated: handleItemUpdated
|
18480
|
-
};
|
18481
|
-
};
|
18482
|
-
|
18483
18539
|
var NOTES_URL$1 = BASE_URL + "/api/notes";
|
18484
18540
|
var getNotesApi$1 = function getNotesApi(query) {
|
18485
18541
|
return api.get("" + NOTES_URL$1, {
|
@@ -39127,5 +39183,5 @@ var LayoutContext = function LayoutContext(_ref) {
|
|
39127
39183
|
});else return React__default.createElement(Fragment$1, null, children);
|
39128
39184
|
};
|
39129
39185
|
|
39130
|
-
export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AcceptNoAcademy, ActionButtons, AnnouncementContainer, AnnouncementType, AnswerCountSelector, ArticleBlock$1 as ArticleBlock, ArticleCategorySelector, ArticleDialog, AttendanceFormDialog, BASE_URL, BRIEF_GRADE_OPTIONS, ChatContainer, types as ChatTypes, ClassDetail, ClassList, ClassNoteDialog, ClassSelector, CommonCreateNewQuestionDialog, CommonDialog, CompareTypeOptions, ConfirmDeleteDialog, ConfirmDialog, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_ANSWER_COUNT, DEFAULT_ARTICLE, DEFAULT_MATH_QUESTION_GROUP, DEFAULT_NOTE_FILTER, DEFAULT_PAGING_RESPONSE, DEFAULT_QUESTION, DEFAULT_QUESTION_GROUP, DEFAULT_SCORE$1 as DEFAULT_SCORE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, ExamDetailView, ExamEditorType, ExamEvent, ExamNoteDialog, ExamResultV2, ExamSessionItem, ExamStatus, GOOGLE_CLIENT_ID, GOOGLE_RECAPTCHA_ID, GOOGLE_RECAPTCHA_KEY, GOOGLE_RECAPTCHA_SECRET, GRADE_OPTIONS, Header, HexagonChart, InputText, LANGUAGE, LEARNING_SPACE, Language, LanguageHeaders, LayoutContext, LessonTooltip, ListView, Loading, LoadingComponent, Login, LoginQRCode, LoginWithEmail, SignIn as LoginWithPassword, MathJaxContainer, MathTinyEditor, MonthGroupedExamSessionItem, NewNoteButton, NoAcademyHeaders, NotFound, NoteDrawer, NoteTabs, NoteType, NotesContainer, NotificationDetail, NotificationList, OrderBy, OrderType, PRE_REDIRECT_URL, PUSHER_CONFIG, PassCodeCheck, PassCodeDialog, PreparedItem, PreparedTextbookList, PreparedTextbookView, PreparedType, PrintContainerClassName, PrintContentClassName, PrintExamResultView, PrintExamView2, PrintHeaderClassName, PrintTitleClassName, QRCodeConfirmation, QuestionAnswerType, QuestionBlock$1 as QuestionBlock, QuestionCompareType, QuestionCountSelector, QuestionGroupBlock, QuestionGroupBlockBody$1 as QuestionGroupBlockBody, QuestionOrderName, QuestionShortInput$1 as QuestionShortInput, REDIRECT_URL, RELEASE_DATE, RecentUserAction, RecentUserActionNames, RecentUserActionSortBy, ReleaseAlert, Role, SUPER_ADMIN_BASE_URL, SchoolType, ScoreSelector, SearchInput, ShareToTeacherDialog, SolutionOrderChart, StudentInfoDrawer, StudentSelector, SubjectSelector, TextbookActionButtons, TextbookDrawer, TextbookEditorType, TextbookList, TheAcademyDropdown, TheLanguageDropdown, TimeChart, TimeOrderChart, TinyEditor, UserList, UserSortColumn, VirtualListView, VirtualTableView, api, apiUpload, canAccess as canAccessRoute, cleanRichText, convertHHMMSStoSeconds, createRecentUserActionListApi, diffFromNow, ellipsisText, encodeParams, formatDataMyAnswer, formatDateTime, formatPhoneNumber, formatRole, formatTextbookDataMyAnswer, formatTime, formatTimeSecond, generateNewQuestionGroup, getAcademyDomain, getAccessToken, getErrorMessage, getLanguage, getLearningSpace, getLocalDayOfWeek, getOrdinalSuffix, getPercentage, getPreviousQuestinGroupCategory, getQuestionGroupsAfterQuestionCountChanged, getRecentUserActionListApi, getRedirectUrl, getRemainTime, getRole, getUtcDayOfWeek, groupMonth, handleKeyDown, i18n, includePathname, isLocalHost, isSequentialQuestionGroups, isTextType, labelStyle, minutesToTimeSpan, pushTo, _reduceToMathArticles as reduceToMathArticles, reset, _resetAllCategoriesAndQuestionTypesBySubject as resetAllCategoriesAndQuestionTypesBySubject, setAcademies, setAcademy, setAlert, setConcurrentConnectionPusher, setLanguage, setLoading, setReFetchUserAcademies, setTotalUnreadMessages, setUser, store, timAgo, timeSpanToLocalMoment, toISOString, toLocalTime, useAutoAcademyDomain, useChatContainer, useCountDownTimer, useGoogleSignOut, useKeyboardVisible, useLanguage, useList, useLoadMore, useLogin, useNotes, usePusherConversation, useSwitchAcademy, useVirtualizeList, utcToLocalTime };
|
39186
|
+
export { ACADEMY_DOMAIN, ACCESS_TOKEN, AcademyHeaders, AcademyList, AcceptNoAcademy, ActionButtons, AnnouncementContainer, AnnouncementType, AnswerCountSelector, ArticleBlock$1 as ArticleBlock, ArticleCategorySelector, ArticleDialog, AttendanceFormDialog, BASE_URL, BRIEF_GRADE_OPTIONS, ChatContainer, types as ChatTypes, ClassDetail, ClassList, ClassNoteDialog, ClassSelector, CommonCreateNewQuestionDialog, CommonDialog, CompareTypeOptions, ConfirmDeleteDialog, ConfirmDialog, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_MIN_VALUE, DATE_TIME_MIN_VALUE, DEFAULT_ANSWER_COUNT, DEFAULT_ARTICLE, DEFAULT_MATH_QUESTION_GROUP, DEFAULT_NOTE_FILTER, DEFAULT_PAGING_RESPONSE, DEFAULT_QUESTION, DEFAULT_QUESTION_GROUP, DEFAULT_SCORE$1 as DEFAULT_SCORE, DefaultErrorMessage, EXAM_CHANNEL, EXAM_STUDENT_CHANNEL, ExamDetailView, ExamEditorType, ExamEvent, ExamNoteDialog, ExamResultV2, ExamSessionItem, ExamStatus, GOOGLE_CLIENT_ID, GOOGLE_RECAPTCHA_ID, GOOGLE_RECAPTCHA_KEY, GOOGLE_RECAPTCHA_SECRET, GRADE_OPTIONS, Header, HexagonChart, InputText, LANGUAGE, LEARNING_SPACE, Language, LanguageHeaders, LayoutContext, LessonTooltip, ListView, Loading, LoadingComponent, Login, LoginQRCode, LoginWithEmail, SignIn as LoginWithPassword, MathJaxContainer, MathTinyEditor, MonthGroupedExamSessionItem, NewNoteButton, NoAcademyHeaders, NotFound, NoteDrawer, NoteTabs, NoteType, NotesContainer, NotificationDetail, NotificationList, OrderBy, OrderType, PRE_REDIRECT_URL, PUSHER_CONFIG, PassCodeCheck, PassCodeDialog, PreparedItem, PreparedTextbookList, PreparedTextbookView, PreparedType, PrintContainerClassName, PrintContentClassName, PrintExamResultView, PrintExamView2, PrintHeaderClassName, PrintTitleClassName, QRCodeConfirmation, QuestionAnswerType, QuestionBlock$1 as QuestionBlock, QuestionCompareType, QuestionCountSelector, QuestionGroupBlock, QuestionGroupBlockBody$1 as QuestionGroupBlockBody, QuestionOrderName, QuestionShortInput$1 as QuestionShortInput, REDIRECT_URL, RELEASE_DATE, RecentUserAction, RecentUserActionNames, RecentUserActionSortBy, ReleaseAlert, Role, SUPER_ADMIN_BASE_URL, SchoolType, ScoreSelector, SearchInput, ShareToTeacherDialog, SolutionOrderChart, StudentInfoDrawer, StudentSelector, SubjectSelector, TextbookActionButtons, TextbookDrawer, TextbookEditorType, TextbookList, TheAcademyDropdown, TheLanguageDropdown, TimeChart, TimeOrderChart, TinyEditor, UserList, UserSortColumn, VirtualListView, VirtualTableView, api, apiUpload, canAccess as canAccessRoute, cleanRichText, convertHHMMSStoSeconds, createRecentUserActionListApi, diffFromNow, ellipsisText, encodeParams, formatDataMyAnswer, formatDateTime, formatPhoneNumber, formatRole, formatTextbookDataMyAnswer, formatTime, formatTimeSecond, generateNewQuestionGroup, getAcademyDomain, getAccessToken, getErrorMessage, getLanguage, getLearningSpace, getLocalDayOfWeek, getOrdinalSuffix, getPercentage, getPreviousQuestinGroupCategory, getQuestionGroupsAfterQuestionCountChanged, getRecentUserActionListApi, getRedirectUrl, getRemainTime, getRole, getUtcDayOfWeek, groupMonth, handleKeyDown, i18n, includePathname, isLocalHost, isSequentialQuestionGroups, isTextType, labelStyle, minutesToTimeSpan, pushTo, _reduceToMathArticles as reduceToMathArticles, reset, _resetAllCategoriesAndQuestionTypesBySubject as resetAllCategoriesAndQuestionTypesBySubject, setAcademies, setAcademy, setAlert, setConcurrentConnectionPusher, setLanguage, setLoading, setReFetchUserAcademies, setTotalUnreadMessages, setUser, store, timAgo, timeSpanToLocalMoment, toISOString, toLocalTime, useAutoAcademyDomain, useChatContainer, useCountDownTimer, useGoogleSignOut, useKeyboardVisible, useLanguage, useList, useLoadMore, useLogin, useNotes, usePusherConversation, useSwitchAcademy, useVirtualList, useVirtualizeList, utcToLocalTime };
|
39131
39187
|
//# sourceMappingURL=index.modern.js.map
|