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
@@ -1,12 +1,11 @@
|
|
1
1
|
import { FC } from "react";
|
2
|
-
import { MessageRequest } from "../configs/types";
|
3
2
|
export interface IInputChatProps {
|
4
3
|
text: string;
|
5
4
|
onSubmit: () => void;
|
6
5
|
onChangeInput: (text: string) => void;
|
7
6
|
isCompleted?: boolean;
|
8
7
|
handleUploadImage: (file: File) => void;
|
9
|
-
selectedFile?:
|
8
|
+
selectedFile?: string | null;
|
10
9
|
handleDeleteSelectedImage: () => void;
|
11
10
|
}
|
12
11
|
interface Props extends IInputChatProps {
|
@@ -29,7 +29,7 @@ declare const useChatContainer: (props: Props) => {
|
|
29
29
|
handleDeleteMessage: (conversationId: number, id: number, callback: any) => Promise<void>;
|
30
30
|
};
|
31
31
|
inputProps: {
|
32
|
-
selectedFile:
|
32
|
+
selectedFile: string | null;
|
33
33
|
text: string;
|
34
34
|
onChangeInput: (text: string) => void;
|
35
35
|
onSubmit: () => Promise<void>;
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import { ScrollParams } from "react-virtualized";
|
2
2
|
import { VirtualListViewProps } from "../configs/interfaces";
|
3
|
+
import _ from "lodash";
|
3
4
|
declare const useVirtualListView: (props: VirtualListViewProps<any>) => {
|
4
5
|
rowCount: number;
|
5
|
-
onScroll: ({ scrollTop, clientHeight, scrollHeight }: ScrollParams) => void
|
6
|
+
onScroll: _.DebouncedFunc<({ scrollTop, clientHeight, scrollHeight }: ScrollParams) => void>;
|
6
7
|
};
|
7
8
|
export default useVirtualListView;
|
package/dist/index.js
CHANGED
@@ -1576,6 +1576,7 @@ var recent_class_exams = "최근 수업 시험";
|
|
1576
1576
|
var there_are_no_problems_you_were_working_on = "풀던 문제가 없습니다.";
|
1577
1577
|
var incomplete_exam = "미참가";
|
1578
1578
|
var completed_exam = "참가";
|
1579
|
+
var failed_to_send_the_image_error = "이미지를 보내지 못했습니다: {{ message }}";
|
1579
1580
|
var lang_ko = {
|
1580
1581
|
problem_solving: problem_solving,
|
1581
1582
|
my_story: my_story,
|
@@ -2783,7 +2784,8 @@ var lang_ko = {
|
|
2783
2784
|
recent_class_exams: recent_class_exams,
|
2784
2785
|
there_are_no_problems_you_were_working_on: there_are_no_problems_you_were_working_on,
|
2785
2786
|
incomplete_exam: incomplete_exam,
|
2786
|
-
completed_exam: completed_exam
|
2787
|
+
completed_exam: completed_exam,
|
2788
|
+
failed_to_send_the_image_error: failed_to_send_the_image_error
|
2787
2789
|
};
|
2788
2790
|
|
2789
2791
|
var problem_solving$1 = "Problem Solving";
|
@@ -4018,6 +4020,7 @@ var recent_class_exams$1 = "Recent Class Exams";
|
|
4018
4020
|
var there_are_no_problems_you_were_working_on$1 = "There are no problems you were working on";
|
4019
4021
|
var incomplete_exam$1 = "Incomplete";
|
4020
4022
|
var completed_exam$1 = "Completed";
|
4023
|
+
var failed_to_send_the_image_error$1 = "Failed to send the image: {{ message }}";
|
4021
4024
|
var lang_en = {
|
4022
4025
|
problem_solving: problem_solving$1,
|
4023
4026
|
my_story: my_story$1,
|
@@ -5227,7 +5230,8 @@ var lang_en = {
|
|
5227
5230
|
recent_class_exams: recent_class_exams$1,
|
5228
5231
|
there_are_no_problems_you_were_working_on: there_are_no_problems_you_were_working_on$1,
|
5229
5232
|
incomplete_exam: incomplete_exam$1,
|
5230
|
-
completed_exam: completed_exam$1
|
5233
|
+
completed_exam: completed_exam$1,
|
5234
|
+
failed_to_send_the_image_error: failed_to_send_the_image_error$1
|
5231
5235
|
};
|
5232
5236
|
|
5233
5237
|
i18n__default.use(reactI18next.initReactI18next).init({
|
@@ -7329,6 +7333,126 @@ var useVirtualizeList = function useVirtualizeList(totalItems, rowHeight, offset
|
|
7329
7333
|
};
|
7330
7334
|
};
|
7331
7335
|
|
7336
|
+
var useVirtualList = function useVirtualList(defaultFilter, getItemsApi) {
|
7337
|
+
var _useTranslation = reactI18next.useTranslation(),
|
7338
|
+
t = _useTranslation.t;
|
7339
|
+
var user = reactRedux.useSelector(function (state) {
|
7340
|
+
var _state$common;
|
7341
|
+
return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
|
7342
|
+
});
|
7343
|
+
var academyDomain = user === null || user === void 0 ? void 0 : user.academyDomain;
|
7344
|
+
var isLearningSpace = user === null || user === void 0 ? void 0 : user.isLearningSpace;
|
7345
|
+
var userId = user === null || user === void 0 ? void 0 : user.id;
|
7346
|
+
var _useState = React.useState([]),
|
7347
|
+
items = _useState[0],
|
7348
|
+
setItems = _useState[1];
|
7349
|
+
var _useState2 = React.useState(0),
|
7350
|
+
totalPages = _useState2[0],
|
7351
|
+
setTotalPages = _useState2[1];
|
7352
|
+
var _useState3 = React.useState(0),
|
7353
|
+
totalItems = _useState3[0],
|
7354
|
+
setTotalItems = _useState3[1];
|
7355
|
+
var _useState4 = React.useState(),
|
7356
|
+
selectedItem = _useState4[0],
|
7357
|
+
setSelectedItem = _useState4[1];
|
7358
|
+
var _useState5 = React.useState(false),
|
7359
|
+
isLoading = _useState5[0],
|
7360
|
+
setLoading = _useState5[1];
|
7361
|
+
var _useState6 = React.useState(),
|
7362
|
+
filter = _useState6[0],
|
7363
|
+
setFilter = _useState6[1];
|
7364
|
+
var handleChangeSelectedItem = function handleChangeSelectedItem(data) {
|
7365
|
+
setSelectedItem(data);
|
7366
|
+
};
|
7367
|
+
var getItems = function getItems() {
|
7368
|
+
try {
|
7369
|
+
var _temp2 = function _temp2() {
|
7370
|
+
setLoading(false);
|
7371
|
+
};
|
7372
|
+
if (isLoading) return Promise.resolve();
|
7373
|
+
if (!filter || !filter.currentPage) {
|
7374
|
+
setItems([]);
|
7375
|
+
return Promise.resolve();
|
7376
|
+
}
|
7377
|
+
setLoading(true);
|
7378
|
+
var _temp = _catch(function () {
|
7379
|
+
return Promise.resolve(getItemsApi(filter)).then(function (res) {
|
7380
|
+
var responseData = res.data;
|
7381
|
+
setTotalPages((responseData === null || responseData === void 0 ? void 0 : responseData.totalPages) || 0);
|
7382
|
+
setTotalItems((responseData === null || responseData === void 0 ? void 0 : responseData.totalItems) || 0);
|
7383
|
+
var responseItems = (responseData === null || responseData === void 0 ? void 0 : responseData.items) || [];
|
7384
|
+
var results = responseItems;
|
7385
|
+
if (filter !== null && filter !== void 0 && filter.currentPage && filter.currentPage > 1) {
|
7386
|
+
results = [].concat(_$a.uniqBy([].concat(items, responseItems), "id"));
|
7387
|
+
}
|
7388
|
+
setItems(results);
|
7389
|
+
});
|
7390
|
+
}, function (error) {
|
7391
|
+
reactToastify.toast.error(getErrorMessage(t, error));
|
7392
|
+
});
|
7393
|
+
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
7394
|
+
} catch (e) {
|
7395
|
+
return Promise.reject(e);
|
7396
|
+
}
|
7397
|
+
};
|
7398
|
+
var handleLoadMore = React.useCallback(function () {
|
7399
|
+
if (isLoading) return;
|
7400
|
+
setFilter(function (state) {
|
7401
|
+
return !state || state.currentPage === undefined || state.currentPage >= totalPages ? state : _extends({}, state, {
|
7402
|
+
currentPage: state.currentPage + 1
|
7403
|
+
});
|
7404
|
+
});
|
7405
|
+
}, [totalPages, isLoading]);
|
7406
|
+
var handleItemAdded = function handleItemAdded(item) {
|
7407
|
+
var results = [].concat(_$a.uniqBy([item].concat(items), "id"));
|
7408
|
+
setItems(results);
|
7409
|
+
};
|
7410
|
+
var handleItemUpdated = function handleItemUpdated(item) {
|
7411
|
+
var results = items.map(function (i) {
|
7412
|
+
return i.id !== item.id ? i : item;
|
7413
|
+
});
|
7414
|
+
setItems(results);
|
7415
|
+
};
|
7416
|
+
var handleItemRemoved = function handleItemRemoved(_item) {
|
7417
|
+
getItems();
|
7418
|
+
};
|
7419
|
+
var handleChangeFilter = function handleChangeFilter(newFilter) {
|
7420
|
+
setFilter(newFilter);
|
7421
|
+
};
|
7422
|
+
var resetData = function resetData() {
|
7423
|
+
setTotalPages(0);
|
7424
|
+
setTotalItems(0);
|
7425
|
+
setItems([]);
|
7426
|
+
};
|
7427
|
+
React.useEffect(function () {
|
7428
|
+
resetData();
|
7429
|
+
setFilter(function (state) {
|
7430
|
+
if (JSON.stringify(state) == JSON.stringify(defaultFilter)) getItems();
|
7431
|
+
return defaultFilter;
|
7432
|
+
});
|
7433
|
+
}, [JSON.stringify(defaultFilter), isLearningSpace, academyDomain, userId]);
|
7434
|
+
React.useEffect(function () {
|
7435
|
+
getItems();
|
7436
|
+
}, [JSON.stringify(filter), getItemsApi]);
|
7437
|
+
return {
|
7438
|
+
t: t,
|
7439
|
+
filter: filter,
|
7440
|
+
selectedItem: selectedItem,
|
7441
|
+
items: items,
|
7442
|
+
isLoading: isLoading,
|
7443
|
+
totalItems: totalItems,
|
7444
|
+
resetData: resetData,
|
7445
|
+
handleChangeFilter: handleChangeFilter,
|
7446
|
+
setItems: setItems,
|
7447
|
+
handleChangeSelectedItem: handleChangeSelectedItem,
|
7448
|
+
handleLoadMore: handleLoadMore,
|
7449
|
+
getItems: getItems,
|
7450
|
+
handleItemAdded: handleItemAdded,
|
7451
|
+
handleItemRemoved: handleItemRemoved,
|
7452
|
+
handleItemUpdated: handleItemUpdated
|
7453
|
+
};
|
7454
|
+
};
|
7455
|
+
|
7332
7456
|
(function (RecentUserActionSortBy) {
|
7333
7457
|
RecentUserActionSortBy["CreatedAt"] = "CreatedAt";
|
7334
7458
|
})(exports.RecentUserActionSortBy || (exports.RecentUserActionSortBy = {}));
|
@@ -9519,24 +9643,27 @@ var InputChat = function InputChat(_ref) {
|
|
9519
9643
|
width: "fit-content"
|
9520
9644
|
}
|
9521
9645
|
}, React__default.createElement("img", {
|
9522
|
-
src: selectedFile
|
9646
|
+
src: selectedFile,
|
9523
9647
|
style: {
|
9524
9648
|
height: "100px",
|
9525
9649
|
objectFit: "contain",
|
9526
9650
|
objectPosition: "center"
|
9527
9651
|
}
|
9528
|
-
}), React__default.createElement(
|
9652
|
+
}), React__default.createElement(material.IconButton, {
|
9653
|
+
size: "small",
|
9654
|
+
color: "error",
|
9529
9655
|
style: {
|
9530
9656
|
position: "absolute",
|
9531
9657
|
right: 0,
|
9532
9658
|
top: 0,
|
9533
|
-
|
9659
|
+
padding: "8px",
|
9660
|
+
cursor: "pointer",
|
9661
|
+
background: grey[100]
|
9534
9662
|
},
|
9535
9663
|
onClick: handleDeleteSelectedImage
|
9536
|
-
}, React__default.createElement(
|
9537
|
-
|
9538
|
-
|
9539
|
-
}))), React__default.createElement(TinyChatEditor, {
|
9664
|
+
}, React__default.createElement(fa.FaTrash, {
|
9665
|
+
size: 16
|
9666
|
+
}))), !selectedFile && React__default.createElement(TinyChatEditor, {
|
9540
9667
|
initValue: text,
|
9541
9668
|
onChange: onChangeInput,
|
9542
9669
|
disabled: isCompleted
|
@@ -10237,14 +10364,17 @@ var useChatContainer = function useChatContainer(props) {
|
|
10237
10364
|
selectedConversation = _useState[0],
|
10238
10365
|
setSelectedConversation = _useState[1];
|
10239
10366
|
var _useState2 = React.useState(),
|
10240
|
-
|
10241
|
-
|
10242
|
-
var _useState3 = React.useState(),
|
10243
|
-
|
10244
|
-
|
10245
|
-
var _useState4 = React.useState(
|
10246
|
-
|
10247
|
-
|
10367
|
+
file = _useState2[0],
|
10368
|
+
setFile = _useState2[1];
|
10369
|
+
var _useState3 = React.useState(null),
|
10370
|
+
backgroundImage = _useState3[0],
|
10371
|
+
setBackgroundImage = _useState3[1];
|
10372
|
+
var _useState4 = React.useState(),
|
10373
|
+
message = _useState4[0],
|
10374
|
+
setMessage = _useState4[1];
|
10375
|
+
var _useState5 = React.useState(true),
|
10376
|
+
isScrollToEnd = _useState5[0],
|
10377
|
+
setScrollToEnd = _useState5[1];
|
10248
10378
|
var isAdmin = roles === null || roles === void 0 ? void 0 : roles.includes(exports.Role.Admin);
|
10249
10379
|
var _useMessageList = useMessageList({
|
10250
10380
|
student: student
|
@@ -10267,34 +10397,39 @@ var useChatContainer = function useChatContainer(props) {
|
|
10267
10397
|
};
|
10268
10398
|
var handleAddMessage = function handleAddMessage() {
|
10269
10399
|
try {
|
10270
|
-
var
|
10400
|
+
var _temp3 = function _temp3(_result2) {
|
10401
|
+
if (_exit) return _result2;
|
10271
10402
|
loadingRef.current = false;
|
10272
10403
|
};
|
10404
|
+
var _exit = false;
|
10273
10405
|
if (loadingRef.current) return Promise.resolve();
|
10274
10406
|
loadingRef.current = true;
|
10275
10407
|
if (!(selectedConversation !== null && selectedConversation !== void 0 && selectedConversation.id)) return Promise.resolve();
|
10276
10408
|
setScrollToEnd(true);
|
10277
|
-
var
|
10278
|
-
|
10279
|
-
function
|
10280
|
-
|
10281
|
-
|
10282
|
-
|
10283
|
-
|
10409
|
+
var _temp2 = _catch(function () {
|
10410
|
+
if (file) {
|
10411
|
+
return Promise.resolve(handleUploadImageData(file)).then(function (selectedFile) {
|
10412
|
+
if (!selectedFile) {
|
10413
|
+
_exit = true;
|
10414
|
+
return;
|
10415
|
+
}
|
10416
|
+
return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, selectedFile, {
|
10417
|
+
contentType: 1
|
10418
|
+
}))).then(function () {
|
10419
|
+
setFile(undefined);
|
10420
|
+
setBackgroundImage(null);
|
10421
|
+
});
|
10422
|
+
});
|
10423
|
+
} else {
|
10424
|
+
var _temp4 = function (_message$content) {
|
10284
10425
|
if (message !== null && message !== void 0 && (_message$content = message.content) !== null && _message$content !== void 0 && _message$content.trim().length) {
|
10285
|
-
return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, message))).then(function () {
|
10426
|
+
return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, message))).then(function () {
|
10427
|
+
handleChangeInput('');
|
10428
|
+
});
|
10286
10429
|
}
|
10287
10430
|
}();
|
10288
|
-
|
10431
|
+
if (_temp4 && _temp4.then) return _temp4.then(function () {});
|
10289
10432
|
}
|
10290
|
-
var _temp3 = function () {
|
10291
|
-
if (selectedFile !== null && selectedFile !== void 0 && selectedFile.content) {
|
10292
|
-
return Promise.resolve(apiAddMessage(selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id, _extends({}, selectedFile, {
|
10293
|
-
contentType: 1
|
10294
|
-
}))).then(function () {});
|
10295
|
-
}
|
10296
|
-
}();
|
10297
|
-
return _temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3);
|
10298
10433
|
}, function (error) {
|
10299
10434
|
setMessages(function (state) {
|
10300
10435
|
return [].concat(state.filter(function (i) {
|
@@ -10303,31 +10438,51 @@ var useChatContainer = function useChatContainer(props) {
|
|
10303
10438
|
});
|
10304
10439
|
reactToastify.toast.error(getErrorMessage(t, error));
|
10305
10440
|
});
|
10306
|
-
return Promise.resolve(
|
10441
|
+
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(_temp3) : _temp3(_temp2));
|
10307
10442
|
} catch (e) {
|
10308
10443
|
return Promise.reject(e);
|
10309
10444
|
}
|
10310
10445
|
};
|
10311
10446
|
var handleUploadImage = function handleUploadImage(file) {
|
10312
|
-
|
10313
|
-
|
10447
|
+
try {
|
10448
|
+
if (file) {
|
10449
|
+
setFile(file);
|
10450
|
+
var reader = new FileReader();
|
10451
|
+
reader.onload = function () {
|
10452
|
+
setBackgroundImage(reader.result);
|
10453
|
+
};
|
10454
|
+
reader.readAsDataURL(file);
|
10455
|
+
}
|
10456
|
+
return Promise.resolve();
|
10457
|
+
} catch (e) {
|
10458
|
+
return Promise.reject(e);
|
10459
|
+
}
|
10460
|
+
};
|
10461
|
+
var handleUploadImageData = function handleUploadImageData(file) {
|
10462
|
+
try {
|
10463
|
+
return Promise.resolve(_catch(function () {
|
10314
10464
|
var formData = new FormData();
|
10315
10465
|
formData.append("upload", file);
|
10316
10466
|
return Promise.resolve(apiUploadImageFile(formData)).then(function (res) {
|
10317
10467
|
var _res$data;
|
10318
|
-
|
10468
|
+
return {
|
10319
10469
|
content: res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.url
|
10320
|
-
}
|
10470
|
+
};
|
10321
10471
|
});
|
10322
10472
|
}, function (error) {
|
10473
|
+
reactToastify.toast.error(t("failed_to_send_the_image_error", {
|
10474
|
+
message: getErrorMessage(t, error)
|
10475
|
+
}));
|
10323
10476
|
setMessages(function (state) {
|
10324
10477
|
return [].concat(state.filter(function (i) {
|
10325
10478
|
return (i === null || i === void 0 ? void 0 : i.id) !== 0;
|
10326
10479
|
}));
|
10327
10480
|
});
|
10328
|
-
|
10329
|
-
});
|
10330
|
-
}
|
10481
|
+
return null;
|
10482
|
+
}));
|
10483
|
+
} catch (e) {
|
10484
|
+
return Promise.reject(e);
|
10485
|
+
}
|
10331
10486
|
};
|
10332
10487
|
var handleChangeInput = function handleChangeInput(text) {
|
10333
10488
|
setMessage({
|
@@ -10336,7 +10491,7 @@ var useChatContainer = function useChatContainer(props) {
|
|
10336
10491
|
};
|
10337
10492
|
var handleNewMessageSent = function handleNewMessageSent(data) {
|
10338
10493
|
try {
|
10339
|
-
var
|
10494
|
+
var _temp5 = function _temp5(_updateLastTimeReadCo) {
|
10340
10495
|
_updateLastTimeReadCo;
|
10341
10496
|
};
|
10342
10497
|
if (!data) return Promise.resolve();
|
@@ -10345,14 +10500,14 @@ var useChatContainer = function useChatContainer(props) {
|
|
10345
10500
|
return [].concat(state, [data]);
|
10346
10501
|
});
|
10347
10502
|
var _selectedConversation = selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id;
|
10348
|
-
return Promise.resolve(_selectedConversation ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(
|
10503
|
+
return Promise.resolve(_selectedConversation ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(_temp5) : _temp5(_selectedConversation));
|
10349
10504
|
} catch (e) {
|
10350
10505
|
return Promise.reject(e);
|
10351
10506
|
}
|
10352
10507
|
};
|
10353
10508
|
var handleNewConversation = function handleNewConversation(data) {
|
10354
10509
|
try {
|
10355
|
-
var
|
10510
|
+
var _temp6 = function _temp6(_updateLastTimeReadCo2) {
|
10356
10511
|
_updateLastTimeReadCo2;
|
10357
10512
|
};
|
10358
10513
|
if (!data) return Promise.resolve();
|
@@ -10362,7 +10517,7 @@ var useChatContainer = function useChatContainer(props) {
|
|
10362
10517
|
return [].concat(state, [item]);
|
10363
10518
|
});
|
10364
10519
|
var _selectedConversation2 = selectedConversation === null || selectedConversation === void 0 ? void 0 : selectedConversation.id;
|
10365
|
-
return Promise.resolve(_selectedConversation2 ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(
|
10520
|
+
return Promise.resolve(_selectedConversation2 ? Promise.resolve(updateLastTimeReadConversation(selectedConversation.id)).then(_temp6) : _temp6(_selectedConversation2));
|
10366
10521
|
} catch (e) {
|
10367
10522
|
return Promise.reject(e);
|
10368
10523
|
}
|
@@ -10381,7 +10536,8 @@ var useChatContainer = function useChatContainer(props) {
|
|
10381
10536
|
}
|
10382
10537
|
};
|
10383
10538
|
var handleDeleteSelectedImage = function handleDeleteSelectedImage() {
|
10384
|
-
|
10539
|
+
setFile(undefined);
|
10540
|
+
setBackgroundImage(null);
|
10385
10541
|
};
|
10386
10542
|
var cleanupPusher = function cleanupPusher() {
|
10387
10543
|
pusher === null || pusher === void 0 ? void 0 : pusher.unbind("new-message-event", handleNewMessageSent);
|
@@ -10467,7 +10623,7 @@ var useChatContainer = function useChatContainer(props) {
|
|
10467
10623
|
handleDeleteMessage: handleDeleteMessage
|
10468
10624
|
},
|
10469
10625
|
inputProps: {
|
10470
|
-
selectedFile:
|
10626
|
+
selectedFile: backgroundImage,
|
10471
10627
|
text: (message === null || message === void 0 ? void 0 : message.content) || "",
|
10472
10628
|
onChangeInput: handleChangeInput,
|
10473
10629
|
onSubmit: handleAddMessage,
|
@@ -10550,10 +10706,11 @@ var useVirtualListView = function useVirtualListView(props) {
|
|
10550
10706
|
handleLoadMore();
|
10551
10707
|
}
|
10552
10708
|
};
|
10709
|
+
var decounceScroll = _$a.debounce(onScroll, 300);
|
10553
10710
|
var rowCount = data.length + (loading ? 1 : 0);
|
10554
10711
|
return {
|
10555
10712
|
rowCount: rowCount,
|
10556
|
-
onScroll:
|
10713
|
+
onScroll: decounceScroll
|
10557
10714
|
};
|
10558
10715
|
};
|
10559
10716
|
|
@@ -15959,7 +16116,7 @@ var useStudentInfoDrawer = function useStudentInfoDrawer(props) {
|
|
15959
16116
|
var _temp2 = function _temp2() {
|
15960
16117
|
setLoading(false);
|
15961
16118
|
};
|
15962
|
-
if (!studentId) return Promise.resolve();
|
16119
|
+
if (!studentId || !open) return Promise.resolve();
|
15963
16120
|
setLoading(true);
|
15964
16121
|
var _temp = _catch(function () {
|
15965
16122
|
return Promise.resolve(getUserByIdApi(studentId)).then(function (res) {
|
@@ -15972,7 +16129,7 @@ var useStudentInfoDrawer = function useStudentInfoDrawer(props) {
|
|
15972
16129
|
}
|
15973
16130
|
};
|
15974
16131
|
getStudent();
|
15975
|
-
}, [studentId]);
|
16132
|
+
}, [open, studentId]);
|
15976
16133
|
React.useEffect(function () {
|
15977
16134
|
if (open && inert) {
|
15978
16135
|
var _document$getElementB;
|
@@ -18360,107 +18517,6 @@ function a11yProps$1(index) {
|
|
18360
18517
|
};
|
18361
18518
|
}
|
18362
18519
|
|
18363
|
-
var useVirtualList = function useVirtualList(defaultFilter, getItemsApi) {
|
18364
|
-
var _useTranslation = reactI18next.useTranslation(),
|
18365
|
-
t = _useTranslation.t;
|
18366
|
-
var _useState = React.useState([]),
|
18367
|
-
items = _useState[0],
|
18368
|
-
setItems = _useState[1];
|
18369
|
-
var _useState2 = React.useState(0),
|
18370
|
-
totalPages = _useState2[0],
|
18371
|
-
setTotalPages = _useState2[1];
|
18372
|
-
var _useState3 = React.useState(),
|
18373
|
-
selectedItem = _useState3[0],
|
18374
|
-
setSelectedItem = _useState3[1];
|
18375
|
-
var _useState4 = React.useState(false),
|
18376
|
-
isLoading = _useState4[0],
|
18377
|
-
setLoading = _useState4[1];
|
18378
|
-
var _useState5 = React.useState(),
|
18379
|
-
filter = _useState5[0],
|
18380
|
-
setFilter = _useState5[1];
|
18381
|
-
var handleChangeSelectedItem = function handleChangeSelectedItem(data) {
|
18382
|
-
setSelectedItem(data);
|
18383
|
-
};
|
18384
|
-
var getItems = function getItems() {
|
18385
|
-
try {
|
18386
|
-
var _temp2 = function _temp2() {
|
18387
|
-
setLoading(false);
|
18388
|
-
};
|
18389
|
-
if (isLoading) return Promise.resolve();
|
18390
|
-
if (!filter || !filter.currentPage) {
|
18391
|
-
setItems([]);
|
18392
|
-
return Promise.resolve();
|
18393
|
-
}
|
18394
|
-
setLoading(true);
|
18395
|
-
var _temp = _catch(function () {
|
18396
|
-
return Promise.resolve(getItemsApi(filter)).then(function (res) {
|
18397
|
-
var responseData = res.data;
|
18398
|
-
setTotalPages((responseData === null || responseData === void 0 ? void 0 : responseData.totalPages) || 0);
|
18399
|
-
var responseItems = (responseData === null || responseData === void 0 ? void 0 : responseData.items) || [];
|
18400
|
-
var results = responseItems;
|
18401
|
-
if (filter !== null && filter !== void 0 && filter.currentPage && filter.currentPage > 1) {
|
18402
|
-
results = [].concat(_$a.uniqBy([].concat(items, responseItems), "id"));
|
18403
|
-
}
|
18404
|
-
setItems(results);
|
18405
|
-
});
|
18406
|
-
}, function (error) {
|
18407
|
-
reactToastify.toast.error(getErrorMessage(t, error));
|
18408
|
-
});
|
18409
|
-
return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
|
18410
|
-
} catch (e) {
|
18411
|
-
return Promise.reject(e);
|
18412
|
-
}
|
18413
|
-
};
|
18414
|
-
var handleLoadMore = React.useCallback(function () {
|
18415
|
-
if (!filter || !filter.currentPage || filter.currentPage >= totalPages) {
|
18416
|
-
return;
|
18417
|
-
}
|
18418
|
-
setFilter(function (state) {
|
18419
|
-
var _filter$currentPage;
|
18420
|
-
return !state ? state : _extends({}, state, {
|
18421
|
-
currentPage: ((_filter$currentPage = filter.currentPage) != null ? _filter$currentPage : 0) + 1
|
18422
|
-
});
|
18423
|
-
});
|
18424
|
-
}, [filter === null || filter === void 0 ? void 0 : filter.currentPage, totalPages]);
|
18425
|
-
var handleItemAdded = function handleItemAdded(item) {
|
18426
|
-
var results = [].concat(_$a.uniqBy([item].concat(items), "id"));
|
18427
|
-
setItems(results);
|
18428
|
-
};
|
18429
|
-
var handleItemUpdated = function handleItemUpdated(item) {
|
18430
|
-
var results = items.map(function (i) {
|
18431
|
-
return i.id !== item.id ? i : item;
|
18432
|
-
});
|
18433
|
-
setItems(results);
|
18434
|
-
};
|
18435
|
-
var handleItemRemoved = function handleItemRemoved(_item) {
|
18436
|
-
getItems();
|
18437
|
-
};
|
18438
|
-
var handleChangeFilter = function handleChangeFilter(newFilter) {
|
18439
|
-
setFilter(newFilter);
|
18440
|
-
};
|
18441
|
-
React.useEffect(function () {
|
18442
|
-
setFilter(defaultFilter);
|
18443
|
-
}, [JSON.stringify(defaultFilter)]);
|
18444
|
-
React.useEffect(function () {
|
18445
|
-
getItems();
|
18446
|
-
}, [JSON.stringify(filter), getItemsApi]);
|
18447
|
-
return {
|
18448
|
-
t: t,
|
18449
|
-
filter: filter,
|
18450
|
-
selectedItem: selectedItem,
|
18451
|
-
items: items,
|
18452
|
-
isLoading: isLoading,
|
18453
|
-
handleChangeFilter: handleChangeFilter,
|
18454
|
-
setItems: setItems,
|
18455
|
-
handleChangeSelectedItem: handleChangeSelectedItem,
|
18456
|
-
handleLoadMore: handleLoadMore,
|
18457
|
-
getItems: getItems,
|
18458
|
-
handleItemAdded: handleItemAdded,
|
18459
|
-
handleItemRemoved: handleItemRemoved,
|
18460
|
-
handleItemUpdated: handleItemUpdated
|
18461
|
-
};
|
18462
|
-
};
|
18463
|
-
|
18464
18520
|
var NOTES_URL$1 = BASE_URL + "/api/notes";
|
18465
18521
|
var getNotesApi$1 = function getNotesApi(query) {
|
18466
18522
|
return api.get("" + NOTES_URL$1, {
|
@@ -39397,6 +39453,7 @@ exports.useLogin = useLogin;
|
|
39397
39453
|
exports.useNotes = useNotes;
|
39398
39454
|
exports.usePusherConversation = usePusherConversation;
|
39399
39455
|
exports.useSwitchAcademy = useSwitchAcademy;
|
39456
|
+
exports.useVirtualList = useVirtualList;
|
39400
39457
|
exports.useVirtualizeList = useVirtualizeList;
|
39401
39458
|
exports.utcToLocalTime = utcToLocalTime;
|
39402
39459
|
//# sourceMappingURL=index.js.map
|