touchstudy-core 0.1.191 → 0.1.192

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.
@@ -7346,6 +7346,117 @@ var useVirtualizeList = function useVirtualizeList(totalItems, rowHeight, offset
7346
7346
  };
7347
7347
  };
7348
7348
 
7349
+ var useVirtualList = function useVirtualList(defaultFilter, getItemsApi) {
7350
+ var _useTranslation = useTranslation(),
7351
+ t = _useTranslation.t;
7352
+ var user = useSelector(function (state) {
7353
+ var _state$common;
7354
+ return state === null || state === void 0 ? void 0 : (_state$common = state.common) === null || _state$common === void 0 ? void 0 : _state$common.user;
7355
+ });
7356
+ var academyDomain = user === null || user === void 0 ? void 0 : user.academyDomain;
7357
+ var isLearningSpace = user === null || user === void 0 ? void 0 : user.isLearningSpace;
7358
+ var userId = user === null || user === void 0 ? void 0 : user.id;
7359
+ var _useState = useState([]),
7360
+ items = _useState[0],
7361
+ setItems = _useState[1];
7362
+ var _useState2 = useState(0),
7363
+ totalPages = _useState2[0],
7364
+ setTotalPages = _useState2[1];
7365
+ var _useState3 = useState(),
7366
+ selectedItem = _useState3[0],
7367
+ setSelectedItem = _useState3[1];
7368
+ var _useState4 = useState(false),
7369
+ isLoading = _useState4[0],
7370
+ setLoading = _useState4[1];
7371
+ var _useState5 = useState(),
7372
+ filter = _useState5[0],
7373
+ setFilter = _useState5[1];
7374
+ var handleChangeSelectedItem = function handleChangeSelectedItem(data) {
7375
+ setSelectedItem(data);
7376
+ };
7377
+ var getItems = function getItems() {
7378
+ try {
7379
+ var _temp2 = function _temp2() {
7380
+ setLoading(false);
7381
+ };
7382
+ if (isLoading) return Promise.resolve();
7383
+ if (!filter || !filter.currentPage) {
7384
+ setItems([]);
7385
+ return Promise.resolve();
7386
+ }
7387
+ setLoading(true);
7388
+ var _temp = _catch(function () {
7389
+ return Promise.resolve(getItemsApi(filter)).then(function (res) {
7390
+ var responseData = res.data;
7391
+ setTotalPages((responseData === null || responseData === void 0 ? void 0 : responseData.totalPages) || 0);
7392
+ var responseItems = (responseData === null || responseData === void 0 ? void 0 : responseData.items) || [];
7393
+ var results = responseItems;
7394
+ if (filter !== null && filter !== void 0 && filter.currentPage && filter.currentPage > 1) {
7395
+ results = [].concat(_$a.uniqBy([].concat(items, responseItems), "id"));
7396
+ }
7397
+ setItems(results);
7398
+ });
7399
+ }, function (error) {
7400
+ toast.error(getErrorMessage(t, error));
7401
+ });
7402
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
7403
+ } catch (e) {
7404
+ return Promise.reject(e);
7405
+ }
7406
+ };
7407
+ var handleLoadMore = useCallback(function () {
7408
+ if (!filter || !filter.currentPage || filter.currentPage >= totalPages) {
7409
+ return;
7410
+ }
7411
+ setFilter(function (state) {
7412
+ var _filter$currentPage;
7413
+ return !state ? state : _extends({}, state, {
7414
+ currentPage: ((_filter$currentPage = filter.currentPage) != null ? _filter$currentPage : 0) + 1
7415
+ });
7416
+ });
7417
+ }, [filter === null || filter === void 0 ? void 0 : filter.currentPage, totalPages]);
7418
+ var handleItemAdded = function handleItemAdded(item) {
7419
+ var results = [].concat(_$a.uniqBy([item].concat(items), "id"));
7420
+ setItems(results);
7421
+ };
7422
+ var handleItemUpdated = function handleItemUpdated(item) {
7423
+ var results = items.map(function (i) {
7424
+ return i.id !== item.id ? i : item;
7425
+ });
7426
+ setItems(results);
7427
+ };
7428
+ var handleItemRemoved = function handleItemRemoved(_item) {
7429
+ getItems();
7430
+ };
7431
+ var handleChangeFilter = function handleChangeFilter(newFilter) {
7432
+ setFilter(newFilter);
7433
+ };
7434
+ useEffect(function () {
7435
+ setFilter(function (state) {
7436
+ if (JSON.stringify(state) == JSON.stringify(defaultFilter)) getItems();
7437
+ return defaultFilter;
7438
+ });
7439
+ }, [JSON.stringify(defaultFilter), isLearningSpace, academyDomain, userId]);
7440
+ useEffect(function () {
7441
+ getItems();
7442
+ }, [JSON.stringify(filter), getItemsApi]);
7443
+ return {
7444
+ t: t,
7445
+ filter: filter,
7446
+ selectedItem: selectedItem,
7447
+ items: items,
7448
+ isLoading: isLoading,
7449
+ handleChangeFilter: handleChangeFilter,
7450
+ setItems: setItems,
7451
+ handleChangeSelectedItem: handleChangeSelectedItem,
7452
+ handleLoadMore: handleLoadMore,
7453
+ getItems: getItems,
7454
+ handleItemAdded: handleItemAdded,
7455
+ handleItemRemoved: handleItemRemoved,
7456
+ handleItemUpdated: handleItemUpdated
7457
+ };
7458
+ };
7459
+
7349
7460
  var RecentUserActionSortBy;
7350
7461
  (function (RecentUserActionSortBy) {
7351
7462
  RecentUserActionSortBy["CreatedAt"] = "CreatedAt";
@@ -18379,107 +18490,6 @@ function a11yProps$1(index) {
18379
18490
  };
18380
18491
  }
18381
18492
 
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
18493
  var NOTES_URL$1 = BASE_URL + "/api/notes";
18484
18494
  var getNotesApi$1 = function getNotesApi(query) {
18485
18495
  return api.get("" + NOTES_URL$1, {
@@ -39127,5 +39137,5 @@ var LayoutContext = function LayoutContext(_ref) {
39127
39137
  });else return React__default.createElement(Fragment$1, null, children);
39128
39138
  };
39129
39139
 
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 };
39140
+ 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
39141
  //# sourceMappingURL=index.modern.js.map