@lls/store 24.1.67-c36e3102 → 24.1.67-ce6ecbed

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.
Files changed (2) hide show
  1. package/lib/index.js +199 -201
  2. package/package.json +10 -4
package/lib/index.js CHANGED
@@ -747,28 +747,38 @@ import { makeEntitiesFilter } from "@lls/utils";
747
747
  // src/selectors/crud.ts
748
748
  init_define_import_meta();
749
749
  import { createSearchSelector, makeGetAllEntities, makeGetEntityById } from "@lls/utils";
750
- var crud = (entityName, { search: search25 }) => {
750
+ import { useMemo } from "react";
751
+ import { useSelector } from "react-redux";
752
+ var crud = (entityName, { search: search28 }) => {
751
753
  const getElements = makeGetAllEntities(entityName);
752
754
  const makeSearchElements = () => createSearchSelector(
753
755
  makeGetAllEntities(entityName),
754
756
  (_state, params) => params,
755
- (elements, params) => search25(params)(elements)
757
+ (elements, params) => search28(params)(elements)
756
758
  );
757
759
  const methodName = `${entityName.charAt(0).toUpperCase()}${entityName.slice(1)}`;
758
760
  const getElementById = makeGetEntityById(entityName);
761
+ const useSearch = makeUseSearch(makeSearchElements);
759
762
  const back = {
760
763
  [`get${methodName}`]: getElements,
761
764
  [`search${methodName}`]: makeSearchElements(),
762
765
  [`get${methodName.replace(/s$/, "")}`]: getElementById,
763
766
  [`makeSearch${methodName}`]: makeSearchElements,
764
- [`filter${methodName}`]: search25
767
+ [`filter${methodName}`]: search28,
768
+ [`useSearch${methodName}`]: useSearch
765
769
  };
766
770
  return back;
767
771
  };
772
+ var makeUseSearch = (makeSearchElements) => {
773
+ return (params) => {
774
+ const fn = useMemo(makeSearchElements, []);
775
+ return useSelector((state) => fn(state, params));
776
+ };
777
+ };
768
778
 
769
779
  // src/selectors/school.ts
770
780
  var search = ({ ids }) => makeEntitiesFilter({ id: ids });
771
- var { getSchools, getSchool, searchSchools, makeSearchSchools } = crud("schools", {
781
+ var { getSchools, getSchool, useSearchSchools } = crud("schools", {
772
782
  search
773
783
  });
774
784
 
@@ -814,11 +824,11 @@ var search2 = ({
814
824
  _2.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _2.sortBy(sortByQuery) : _2.identity
815
825
  );
816
826
  };
817
- var { getBooks, getBook, searchBooks, makeSearchBooks, filterBooks } = crud("books", {
827
+ var { getBooks, getBook, filterBooks, useSearchBooks, makeSearchBooks } = crud("books", {
818
828
  search: search2
819
829
  });
820
830
  var makeSearchValidBooks = () => createSearchSelector2(makeSearchBooks(), (books) => _2.filter({ valid: true, hasNewDesign: true }, books));
821
- var searchValidBooks = makeSearchValidBooks();
831
+ var useSearchValidBooks = makeUseSearch(makeSearchValidBooks);
822
832
  var makeGetBook = () => makeGetEntityById2("books");
823
833
 
824
834
  // src/selectors/user.ts
@@ -829,33 +839,34 @@ var search3 = ({ ids, schoolIds }) => makeEntitiesFilter3({
829
839
  schools: schoolIds,
830
840
  id: ids
831
841
  });
832
- var { getUsers, getUser, searchUsers, makeSearchUsers } = crud("users", {
842
+ var { getUsers, getUser, useSearchUsers } = crud("users", {
833
843
  search: search3
834
844
  });
835
- var getCurrentUser = (0, import_reselect.createSelector)(
836
- getAuth,
837
- getUsers,
838
- (auth2, users) => users?.find((user2) => user2?.id === auth2?.id)
839
- );
845
+ var makeGetCurrentUser = () => (0, import_reselect.createSelector)(getAuth, getUsers, (auth2, users) => users?.find((user2) => user2?.id === auth2?.id));
846
+ var getCurrentUser = makeGetCurrentUser();
840
847
 
841
848
  // src/selectors/chapter.ts
842
849
  init_define_import_meta();
843
- import { makeEntitiesFilter as makeEntitiesFilter4 } from "@lls/utils";
850
+ import { makeEntitiesFilter as makeEntitiesFilter4, pipe as pipe2 } from "@lls/utils";
844
851
  import _3 from "lodash/fp.js";
845
- var search4 = ({ bookIds, ids, hasTeacherBook }) => makeEntitiesFilter4(
846
- {
847
- book: bookIds,
848
- id: ids
849
- },
850
- !_3.isNil(hasTeacherBook) && ((chapter2) => !!chapter2?.teacherBook === hasTeacherBook)
852
+ var search4 = ({ bookIds, ids, hasTeacherBook, sortByQuery }) => (chapters) => pipe2(
853
+ chapters,
854
+ makeEntitiesFilter4(
855
+ {
856
+ book: bookIds,
857
+ id: ids
858
+ },
859
+ !_3.isNil(hasTeacherBook) && ((chapter2) => !!chapter2?.teacherBook === hasTeacherBook)
860
+ ),
861
+ _3.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _3.sortBy(sortByQuery) : _3.identity
851
862
  );
852
- var { getChapters, getChapter, searchChapters, makeSearchChapters } = crud("chapters", {
863
+ var { getChapters, getChapter, useSearchChapters } = crud("chapters", {
853
864
  search: search4
854
865
  });
855
866
 
856
867
  // src/selectors/page.ts
857
868
  init_define_import_meta();
858
- import { createSearchSelector as createSearchSelector3, makeEntitiesFilter as makeEntitiesFilter5, makeGetAllEntities as makeGetAllEntities2, makeGetEntityById as makeGetEntityById3 } from "@lls/utils";
869
+ import { makeEntitiesFilter as makeEntitiesFilter5 } from "@lls/utils";
859
870
  import _4 from "lodash/fp.js";
860
871
  var search5 = ({
861
872
  ids,
@@ -908,30 +919,20 @@ var search5 = ({
908
919
  updatedAfter && _4.flow(_4.get("updatedAt"), (date) => new Date(date) - updatedAfter >= 0)
909
920
  );
910
921
  };
911
- var { getPages, getPage, searchPages, makeSearchPages, filterPages } = crud("pages", {
922
+ var { getPages, getPage, filterPages, useSearchPages, makeSearchPages } = crud("pages", {
912
923
  search: search5
913
924
  });
914
- var getDraftPages = makeGetAllEntities2("drafts");
915
- var makeGetDraftPage = () => makeGetEntityById3("drafts");
916
- var getDraftPage = makeGetDraftPage();
917
- var makeSearchDraftPages = () => createSearchSelector3(
918
- getDraftPages,
919
- (_state, params) => params,
920
- (pages, params) => search5(params)(pages)
921
- );
922
- var searchDraftPages = makeSearchDraftPages();
923
- var makeSearchModifiedPages = () => createSearchSelector3(
924
- getPages,
925
- (_state, params) => params,
926
- (pages, params) => search5({ ...params, isOriginal: false })(pages)
927
- );
928
- var searchModifiedPages = makeSearchModifiedPages();
925
+ var { getDrafts, getDraft, useSearchDrafts } = crud("drafts", { search: search5 });
926
+ var searchModifiedPages = (params) => {
927
+ return (pages) => search5({ ...params, isOriginal: false })(pages);
928
+ };
929
+ var { useSearchPages: useSearchModifiedPages } = crud("pages", { search: searchModifiedPages });
929
930
 
930
931
  // src/selectors/collection.ts
931
932
  init_define_import_meta();
932
933
  import _5 from "lodash/fp.js";
933
934
  var search6 = (_params) => _5.identity;
934
- var { getCollections, getCollection, searchCollections, makeSearchCollections } = crud("collections", {
935
+ var { getCollections, getCollection, useSearchCollections } = crud("collections", {
935
936
  search: search6
936
937
  });
937
938
 
@@ -947,80 +948,94 @@ var search7 = ({
947
948
  isFeatured,
948
949
  projectTypes
949
950
  });
950
- var { getCommunityProjects, getCommunityProject, searchCommunityProjects, makeSearchCommunityProjects } = crud(
951
- "communityProjects",
952
- {
953
- search: search7
954
- }
955
- );
951
+ var { getCommunityProjects, getCommunityProject, useSearchCommunityProjects } = crud("communityProjects", {
952
+ search: search7
953
+ });
956
954
 
957
955
  // src/selectors/contact.ts
958
956
  init_define_import_meta();
959
957
  import _6 from "lodash/fp.js";
960
958
  var search8 = (_params) => _6.identity;
961
- var { getContacts, getContact, searchContacts, makeSearchContacts } = crud("contacts", {
959
+ var { getContacts, getContact, useSearchContacts } = crud("contacts", {
962
960
  search: search8
963
961
  });
964
962
 
965
963
  // src/selectors/copyNotification.ts
966
964
  init_define_import_meta();
967
- import { createSearchSelector as createSearchSelector4, makeEntitiesFilter as makeEntitiesFilter7, makeGetAllEntities as makeGetAllEntities3 } from "@lls/utils";
968
- var getCopyNotifications = makeGetAllEntities3("copyNotifications");
969
- var makeSearchCopyNotifications = () => createSearchSelector4(
970
- [getCurrentUser, getCopyNotifications, (_17, params) => params],
965
+ import { createSearchSelector as createSearchSelector3, makeEntitiesFilter as makeEntitiesFilter7, makeGetAllEntities as makeGetAllEntities2 } from "@lls/utils";
966
+ var search9 = ({ ids, read, pageIds }) => {
967
+ return makeEntitiesFilter7({ read, id: ids, page: pageIds });
968
+ };
969
+ var makeSearchCopyNotifications = () => createSearchSelector3(
970
+ [makeGetCurrentUser(), makeGetAllEntities2("copyNotifications"), (_17, params) => params],
971
971
  (currentUser, copyNotifications, { pageIds, read }) => {
972
972
  const ids = currentUser?.copyNotifications;
973
- return makeEntitiesFilter7({ id: ids, read, page: pageIds })(copyNotifications);
973
+ return search9({ ids, read, pageIds })(copyNotifications);
974
974
  }
975
975
  );
976
- var searchCopyNotifications = makeSearchCopyNotifications();
976
+ var useSearchCopyNotifications = makeUseSearch(makeSearchCopyNotifications);
977
+
978
+ // src/selectors/document.ts
979
+ init_define_import_meta();
980
+ import { makeEntitiesFilter as makeEntitiesFilter8 } from "@lls/utils";
981
+ var search10 = ({ ids, resourceIds }) => {
982
+ return makeEntitiesFilter8({
983
+ id: ids,
984
+ resourceId: resourceIds
985
+ });
986
+ };
987
+ var { useSearchDocuments } = crud("documents", {
988
+ search: search10
989
+ });
977
990
 
978
991
  // src/selectors/drawerNotification.ts
979
992
  init_define_import_meta();
980
- import { createSearchSelector as createSearchSelector5, makeEntitiesFilter as makeEntitiesFilter8, makeGetAllEntities as makeGetAllEntities4 } from "@lls/utils";
981
- var getDrawerNotifications = makeGetAllEntities4("drawerNotifications");
982
- var makeSearchDrawerNotifications = () => createSearchSelector5(
983
- [getCurrentUser, getDrawerNotifications, (_17, params) => params],
993
+ import { createSearchSelector as createSearchSelector4, makeEntitiesFilter as makeEntitiesFilter9, makeGetAllEntities as makeGetAllEntities3 } from "@lls/utils";
994
+ var search11 = ({ ids, read, pageIds }) => {
995
+ return makeEntitiesFilter9({ read, id: ids, page: pageIds });
996
+ };
997
+ var makeSearchDrawerNotifications = () => createSearchSelector4(
998
+ [makeGetCurrentUser(), makeGetAllEntities3("drawerNotifications"), (_17, params) => params],
984
999
  (currentUser, drawerNotifications, { read, pageIds }) => {
985
1000
  const ids = currentUser?.drawerNotifications;
986
- return makeEntitiesFilter8({ id: ids, read, page: pageIds })(drawerNotifications);
1001
+ return search11({ ids, read, pageIds })(drawerNotifications);
987
1002
  }
988
1003
  );
989
- var searchDrawerNotifications = makeSearchDrawerNotifications();
1004
+ var useSearchDrawerNotifications = makeUseSearch(makeSearchDrawerNotifications);
990
1005
 
991
1006
  // src/selectors/faq.ts
992
1007
  init_define_import_meta();
993
- import { makeGetAllEntities as makeGetAllEntities5 } from "@lls/utils";
994
- var getFaqs = makeGetAllEntities5("faq");
1008
+ import { makeGetAllEntities as makeGetAllEntities4 } from "@lls/utils";
1009
+ var getFaqs = makeGetAllEntities4("faq");
995
1010
 
996
1011
  // src/selectors/garDivision.ts
997
1012
  init_define_import_meta();
998
1013
  import _7 from "lodash/fp.js";
999
- var search9 = (_params) => _7.identity;
1000
- var { getGarDivisions, getGarDivision, searchGarDivisions, makeSearchGarDivisions } = crud("garDivisions", {
1001
- search: search9
1014
+ var search12 = (_params) => _7.identity;
1015
+ var { getGarDivisions, getGarDivision, useSearchGarDivisions } = crud("garDivisions", {
1016
+ search: search12
1002
1017
  });
1003
1018
 
1004
1019
  // src/selectors/group.ts
1005
1020
  init_define_import_meta();
1006
1021
  var import_reselect2 = __toESM(require_lib(), 1);
1007
- import { makeEntitiesFilter as makeEntitiesFilter9 } from "@lls/utils";
1022
+ import { makeEntitiesFilter as makeEntitiesFilter10 } from "@lls/utils";
1008
1023
  import _8 from "lodash/fp.js";
1009
- var search10 = ({ ownerIds }) => _8.flow(makeEntitiesFilter9({ owner: ownerIds }), _8.orderBy("createdAt", ["desc"]));
1010
- var { getGroups, getGroup, searchGroups, makeSearchGroups } = crud("groups", {
1011
- search: search10
1024
+ var search13 = ({ ownerIds }) => _8.flow(makeEntitiesFilter10({ owner: ownerIds }), _8.orderBy("createdAt", ["desc"]));
1025
+ var { getGroups, getGroup, useSearchGroups } = crud("groups", {
1026
+ search: search13
1012
1027
  });
1013
1028
  var getUserGroups = (0, import_reselect2.createSelector)(
1014
1029
  [getGroups, getCurrentUser],
1015
- (groups, currentUser) => search10({ ownerIds: [currentUser?.id] })(groups)
1030
+ (groups, currentUser) => search13({ ownerIds: [currentUser?.id] })(groups)
1016
1031
  );
1017
1032
 
1018
1033
  // src/selectors/level.ts
1019
1034
  init_define_import_meta();
1020
1035
  var import_reselect3 = __toESM(require_lib(), 1);
1021
- import { makeEntitiesFilter as makeEntitiesFilter10 } from "@lls/utils";
1036
+ import { makeEntitiesFilter as makeEntitiesFilter11 } from "@lls/utils";
1022
1037
  import _9 from "lodash/fp.js";
1023
- var search11 = ({
1038
+ var search14 = ({
1024
1039
  ids,
1025
1040
  slugs,
1026
1041
  isPreSchool,
@@ -1030,7 +1045,7 @@ var search11 = ({
1030
1045
  isGenHighSchool,
1031
1046
  isElementarySchool
1032
1047
  }) => _9.flow(
1033
- makeEntitiesFilter10({
1048
+ makeEntitiesFilter11({
1034
1049
  id: ids,
1035
1050
  slug: slugs,
1036
1051
  isPreSchool,
@@ -1042,65 +1057,60 @@ var search11 = ({
1042
1057
  }),
1043
1058
  _9.orderBy("order", "desc")
1044
1059
  );
1045
- var crudLevels = crud("levels", { search: search11 });
1046
- var { getLevel, searchLevels, makeSearchLevels } = crudLevels;
1060
+ var crudLevels = crud("levels", { search: search14 });
1061
+ var { getLevel, useSearchLevels } = crudLevels;
1047
1062
  var getLevels = (0, import_reselect3.createSelector)(crudLevels.getLevels, _9.orderBy("order", "desc"));
1048
1063
 
1049
1064
  // src/selectors/mainNotification.ts
1050
1065
  init_define_import_meta();
1051
1066
  var import_reselect4 = __toESM(require_lib(), 1);
1052
- import { makeEntitiesFilter as makeEntitiesFilter11, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1067
+ import { makeEntitiesFilter as makeEntitiesFilter12, makeGetAllEntities as makeGetAllEntities5 } from "@lls/utils";
1053
1068
  import _10 from "lodash/fp.js";
1054
- var getAllMainNotifications = makeGetAllEntities6("mainNotifications");
1055
- var search12 = ({ ids }) => makeEntitiesFilter11({ id: ids });
1069
+ var search15 = ({ ids }) => makeEntitiesFilter12({ id: ids });
1056
1070
  var getMainNotifications = (0, import_reselect4.createSelector)(
1057
- [_10.flow(getCurrentUser, _10.get("mainNotifications")), getAllMainNotifications],
1058
- (userNotifications, notifications) => search12({ ids: userNotifications })(notifications)
1071
+ [_10.flow(makeGetCurrentUser(), _10.get("mainNotifications")), makeGetAllEntities5("mainNotifications")],
1072
+ (userNotifications, notifications) => search15({ ids: userNotifications })(notifications)
1059
1073
  );
1060
1074
 
1061
1075
  // src/selectors/news.ts
1062
1076
  init_define_import_meta();
1063
- import { makeEntitiesFilter as makeEntitiesFilter12 } from "@lls/utils";
1064
- var search13 = ({ ids }) => makeEntitiesFilter12({ id: ids });
1077
+ import { makeEntitiesFilter as makeEntitiesFilter13 } from "@lls/utils";
1078
+ var search16 = ({ ids }) => makeEntitiesFilter13({ id: ids });
1065
1079
  var {
1066
1080
  getNews: getAllNews,
1067
1081
  getNew: getNews,
1068
- searchNews,
1069
- makeSearchNews
1082
+ useSearchNews
1070
1083
  } = crud("news", {
1071
- search: search13
1084
+ search: search16
1072
1085
  });
1073
1086
 
1074
1087
  // src/selectors/panorama.ts
1075
1088
  init_define_import_meta();
1076
- import { makeGetEntityById as makeGetEntityById4 } from "@lls/utils";
1077
- var getPanorama = makeGetEntityById4("panoramas");
1089
+ import { makeGetEntityById as makeGetEntityById3 } from "@lls/utils";
1090
+ var getPanorama = makeGetEntityById3("panoramas");
1078
1091
 
1079
1092
  // src/selectors/premiumResource.ts
1080
1093
  init_define_import_meta();
1081
- import { makeEntitiesFilter as makeEntitiesFilter13 } from "@lls/utils";
1082
- var search14 = ({ bookIds }) => makeEntitiesFilter13({ book: bookIds });
1083
- var { getPremiumResources, getPremiumResource, searchPremiumResources, makeSearchPremiumResources } = crud(
1084
- "premiumResources",
1085
- {
1086
- search: search14
1087
- }
1088
- );
1094
+ import { makeEntitiesFilter as makeEntitiesFilter14 } from "@lls/utils";
1095
+ var search17 = ({ bookIds }) => makeEntitiesFilter14({ book: bookIds });
1096
+ var { getPremiumResources, getPremiumResource, useSearchPremiumResources } = crud("premiumResources", {
1097
+ search: search17
1098
+ });
1089
1099
 
1090
1100
  // src/selectors/lexicalFlower.ts
1091
1101
  init_define_import_meta();
1092
- import { makeEntitiesFilter as makeEntitiesFilter14 } from "@lls/utils";
1093
- var search15 = ({ ids }) => makeEntitiesFilter14({ id: ids });
1094
- var { getLexicalFlowers, searchLexicalFlowers } = crud("lexicalFlowers", {
1095
- search: search15
1102
+ import { makeEntitiesFilter as makeEntitiesFilter15 } from "@lls/utils";
1103
+ var search18 = ({ ids }) => makeEntitiesFilter15({ id: ids });
1104
+ var { getLexicalFlowers, useSearchLexicalFlowers } = crud("lexicalFlowers", {
1105
+ search: search18
1096
1106
  });
1097
1107
 
1098
1108
  // src/selectors/product.ts
1099
1109
  init_define_import_meta();
1100
1110
  import _11 from "lodash/fp.js";
1101
- import { createSearchSelector as createSearchSelector6, makeEntitiesFilter as makeEntitiesFilter15, makeGetAllEntities as makeGetAllEntities7 } from "@lls/utils";
1102
- var getProducts = makeGetAllEntities7("products");
1103
- var search16 = ({
1111
+ import { createSearchSelector as createSearchSelector5, makeEntitiesFilter as makeEntitiesFilter16, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1112
+ var getProducts = makeGetAllEntities6("products");
1113
+ var search19 = ({
1104
1114
  ids,
1105
1115
  eans,
1106
1116
  isAdoptant,
@@ -1110,7 +1120,7 @@ var search16 = ({
1110
1120
  productTypes
1111
1121
  }) => {
1112
1122
  let bookIds;
1113
- const filter = makeEntitiesFilter15(
1123
+ const filter = makeEntitiesFilter16(
1114
1124
  {
1115
1125
  id: ids,
1116
1126
  ean: eans,
@@ -1121,48 +1131,51 @@ var search16 = ({
1121
1131
  levelIds || subjectIds ? (product2) => !!product2?.books?.some((bookId) => bookIds.has(bookId)) : false
1122
1132
  );
1123
1133
  return (products, books) => {
1124
- bookIds = new Set(_11.map("id", books));
1134
+ bookIds = new Set(_11.flow(_11.map("id"), _11.map(_11.parseInt(10)))(books));
1125
1135
  return filter(products);
1126
1136
  };
1127
1137
  };
1128
- var searchBooks2 = makeSearchBooks();
1129
- var searchProducts = createSearchSelector6(
1130
- getProducts,
1131
- (state, { levelIds, subjectIds }) => searchBooks2(state, { levelIds, subjectIds }),
1132
- (_state, params) => params,
1133
- (products, books, params) => search16(params)(products, books)
1134
- );
1138
+ var makeSearchProducts = () => {
1139
+ const searchBooks = makeSearchBooks();
1140
+ return createSearchSelector5(
1141
+ makeGetAllEntities6("products"),
1142
+ (state, { levelIds, subjectIds }) => searchBooks(state, { levelIds, subjectIds }),
1143
+ (_state, params) => params,
1144
+ (products, books, params) => search19(params)(products, books)
1145
+ );
1146
+ };
1147
+ var useSearchProducts = makeUseSearch(makeSearchProducts);
1135
1148
 
1136
1149
  // src/selectors/resource.ts
1137
1150
  init_define_import_meta();
1138
- import { makeEntitiesFilter as makeEntitiesFilter16 } from "@lls/utils";
1139
- var search17 = ({ chapterIds }) => makeEntitiesFilter16({
1151
+ import { makeEntitiesFilter as makeEntitiesFilter17 } from "@lls/utils";
1152
+ var search20 = ({ chapterIds }) => makeEntitiesFilter17({
1140
1153
  chapter: chapterIds
1141
1154
  });
1142
- var { getResources, getResource, searchResources, makeSearchResources } = crud("resources", {
1143
- search: search17
1155
+ var { getResources, getResource, useSearchResources } = crud("resources", {
1156
+ search: search20
1144
1157
  });
1145
1158
 
1146
1159
  // src/selectors/schoolType.ts
1147
1160
  init_define_import_meta();
1148
- import { makeEntitiesFilter as makeEntitiesFilter17 } from "@lls/utils";
1149
- var search18 = ({ slugs }) => makeEntitiesFilter17({ slug: slugs });
1150
- var { getSchoolTypes, getSchoolType, searchSchoolTypes, makeSearchSchoolTypes } = crud("schoolTypes", {
1151
- search: search18
1161
+ import { makeEntitiesFilter as makeEntitiesFilter18 } from "@lls/utils";
1162
+ var search21 = ({ slugs }) => makeEntitiesFilter18({ slug: slugs });
1163
+ var { getSchoolTypes, getSchoolType, useSearchSchoolTypes, makeSearchSchoolTypes } = crud("schoolTypes", {
1164
+ search: search21
1152
1165
  });
1153
1166
 
1154
1167
  // src/selectors/sharedPage.ts
1155
1168
  init_define_import_meta();
1156
- import { createSearchSelector as createSearchSelector7, makeEntitiesFilter as makeEntitiesFilter18 } from "@lls/utils";
1169
+ import { createSearchSelector as createSearchSelector6, makeEntitiesFilter as makeEntitiesFilter19 } from "@lls/utils";
1157
1170
  import _12 from "lodash/fp.js";
1158
- var search19 = ({
1171
+ var search22 = ({
1159
1172
  parentIds,
1160
1173
  userIds,
1161
1174
  bookIds,
1162
1175
  isCreatedFromScratch,
1163
1176
  isLearningAssessment,
1164
1177
  ids
1165
- }) => makeEntitiesFilter18({
1178
+ }) => makeEntitiesFilter19({
1166
1179
  id: ids,
1167
1180
  parent: parentIds,
1168
1181
  user: userIds,
@@ -1170,42 +1183,44 @@ var search19 = ({
1170
1183
  isLearningAssessment,
1171
1184
  isCreatedFromScratch
1172
1185
  });
1173
- var { getSharedPages, getSharedPage, searchSharedPages, makeSearchSharedPages } = crud("sharedPages", {
1174
- search: search19
1186
+ var { getSharedPages, getSharedPage, useSearchSharedPages } = crud("sharedPages", {
1187
+ search: search22
1175
1188
  });
1176
- var searchCurrentUserSharedPages = createSearchSelector7(
1189
+ var makeSearchCurrentUserSharedPages = () => createSearchSelector6(
1177
1190
  getCurrentUser,
1178
1191
  getSharedPages,
1179
- (_17, params) => params,
1192
+ (__, params) => params,
1180
1193
  (user2, sharedPages, params) => {
1181
1194
  const sharedUserPageIds = user2?.sharedPages ?? [];
1182
- return search19({ ...params, ids: _12.intersection(sharedUserPageIds, params.ids || sharedUserPageIds) })(sharedPages);
1195
+ return search22({ ...params, ids: _12.intersection(sharedUserPageIds, params.ids || sharedUserPageIds) })(sharedPages);
1183
1196
  }
1184
1197
  );
1198
+ var useSearchCurrentUserSharedPages = makeUseSearch(makeSearchCurrentUserSharedPages);
1185
1199
 
1186
1200
  // src/selectors/student.ts
1187
1201
  init_define_import_meta();
1188
- import { makeEntitiesFilter as makeEntitiesFilter19 } from "@lls/utils";
1189
- var search20 = ({ ids }) => makeEntitiesFilter19({ id: ids });
1190
- var { getStudents, getStudent, searchStudents, makeSearchStudents } = crud("students", {
1191
- search: search20
1202
+ import { makeEntitiesFilter as makeEntitiesFilter20 } from "@lls/utils";
1203
+ var search23 = ({ ids }) => makeEntitiesFilter20({ id: ids });
1204
+ var { getStudents, getStudent, useSearchStudents } = crud("students", {
1205
+ search: search23
1192
1206
  });
1193
1207
 
1194
1208
  // src/selectors/subject.ts
1195
1209
  init_define_import_meta();
1196
- import { limitToTeacherSubjects, makeEntitiesFilter as makeEntitiesFilter20, pipe as pipe2 } from "@lls/utils";
1210
+ import { limitToTeacherSubjects, makeEntitiesFilter as makeEntitiesFilter21, pipe as pipe3 } from "@lls/utils";
1197
1211
  import _13 from "lodash/fp.js";
1198
- var search21 = ({
1212
+ var search24 = ({
1199
1213
  ids,
1200
1214
  slugs,
1201
1215
  isTeacherSubject,
1202
1216
  hasNewsletterUrl,
1203
1217
  schoolTypes,
1204
1218
  hasBooks,
1205
- names
1206
- }) => (subjects) => pipe2(
1219
+ names,
1220
+ sortByQuery
1221
+ }) => (subjects) => pipe3(
1207
1222
  subjects,
1208
- makeEntitiesFilter20(
1223
+ makeEntitiesFilter21(
1209
1224
  {
1210
1225
  id: ids,
1211
1226
  slug: slugs,
@@ -1215,47 +1230,48 @@ var search21 = ({
1215
1230
  },
1216
1231
  !_13.isNil(hasNewsletterUrl) && ((subject2) => Boolean(subject2?.newsletterUrl) === hasNewsletterUrl)
1217
1232
  ),
1218
- (subjects2) => _13.isNil(isTeacherSubject) ? subjects2 : limitToTeacherSubjects(subjects2)
1233
+ (subjects2) => _13.isNil(isTeacherSubject) ? subjects2 : limitToTeacherSubjects(subjects2),
1234
+ _13.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _13.sortBy(sortByQuery) : _13.identity
1219
1235
  );
1220
- var { getSubjects, getSubject, searchSubjects, makeSearchSubjects } = crud("subjects", {
1221
- search: search21
1236
+ var { getSubjects, getSubject, useSearchSubjects, makeSearchSubjects } = crud("subjects", {
1237
+ search: search24
1222
1238
  });
1223
1239
 
1224
1240
  // src/selectors/teacher.ts
1225
1241
  init_define_import_meta();
1226
- import { makeEntitiesFilter as makeEntitiesFilter21 } from "@lls/utils";
1227
- var search22 = ({ ids, schoolIds }) => makeEntitiesFilter21({
1242
+ import { makeEntitiesFilter as makeEntitiesFilter22 } from "@lls/utils";
1243
+ var search25 = ({ ids, schoolIds }) => makeEntitiesFilter22({
1228
1244
  id: ids,
1229
1245
  schools: schoolIds
1230
1246
  });
1231
- var { getTeachers, getTeacher, searchTeachers, makeSearchTeachers } = crud("teachers", {
1232
- search: search22
1247
+ var { getTeachers, getTeacher, useSearchTeachers } = crud("teachers", {
1248
+ search: search25
1233
1249
  });
1234
1250
 
1235
1251
  // src/selectors/tool.ts
1236
1252
  init_define_import_meta();
1237
- import { makeEntitiesFilter as makeEntitiesFilter22 } from "@lls/utils";
1238
- var search23 = ({ ids, locked, bookIds }) => makeEntitiesFilter22({
1253
+ import { makeEntitiesFilter as makeEntitiesFilter23 } from "@lls/utils";
1254
+ var search26 = ({ ids, locked, bookIds }) => makeEntitiesFilter23({
1239
1255
  id: ids,
1240
1256
  locked,
1241
1257
  books: bookIds
1242
1258
  });
1243
- var { getTools, getTool, searchTools, makeSearchTools } = crud("tools", {
1244
- search: search23
1259
+ var { getTools, getTool, useSearchTools } = crud("tools", {
1260
+ search: search26
1245
1261
  });
1246
1262
 
1247
1263
  // src/selectors/builderIo.ts
1248
1264
  init_define_import_meta();
1249
- import { makeEntitiesFilter as makeEntitiesFilter23 } from "@lls/utils";
1250
- var search24 = ({ modelIds, subjects, schoolTypes }) => makeEntitiesFilter23(
1265
+ import { makeEntitiesFilter as makeEntitiesFilter24 } from "@lls/utils";
1266
+ var search27 = ({ modelIds, subjects, schoolTypes }) => makeEntitiesFilter24(
1251
1267
  {
1252
1268
  modelId: modelIds
1253
1269
  },
1254
1270
  subjects && ((builderIo2) => !!builderIo2?.data?.subjects?.some((x) => subjects.includes(x))),
1255
1271
  schoolTypes && ((builderIo2) => !!builderIo2?.data?.schoolTypes?.some((x) => schoolTypes.includes(x)))
1256
1272
  );
1257
- var { getBuilderIos, getBuilderIo, searchBuilderIos, makeSearchBuilderIos } = crud("builderIos", {
1258
- search: search24
1273
+ var { getBuilderIos, getBuilderIo, useSearchBuilderIos } = crud("builderIos", {
1274
+ search: search27
1259
1275
  });
1260
1276
 
1261
1277
  // src/reducers/entities.ts
@@ -1582,8 +1598,8 @@ export {
1582
1598
  getContact,
1583
1599
  getContacts,
1584
1600
  getCurrentUser,
1585
- getDraftPage,
1586
- getDraftPages,
1601
+ getDraft,
1602
+ getDrafts,
1587
1603
  getFaqs,
1588
1604
  getGarDivision,
1589
1605
  getGarDivisions,
@@ -1622,63 +1638,45 @@ export {
1622
1638
  getUserGroups,
1623
1639
  getUsers,
1624
1640
  makeGetBook,
1625
- makeGetDraftPage,
1641
+ makeGetCurrentUser,
1626
1642
  makeSearchBooks,
1627
- makeSearchBuilderIos,
1628
- makeSearchChapters,
1629
- makeSearchCollections,
1630
- makeSearchCommunityProjects,
1631
- makeSearchContacts,
1632
- makeSearchCopyNotifications,
1633
- makeSearchDraftPages,
1634
1643
  makeSearchDrawerNotifications,
1635
- makeSearchGarDivisions,
1636
- makeSearchGroups,
1637
- makeSearchLevels,
1638
- makeSearchModifiedPages,
1639
- makeSearchNews,
1640
1644
  makeSearchPages,
1641
- makeSearchPremiumResources,
1642
- makeSearchResources,
1643
1645
  makeSearchSchoolTypes,
1644
- makeSearchSchools,
1645
- makeSearchSharedPages,
1646
- makeSearchStudents,
1647
1646
  makeSearchSubjects,
1648
- makeSearchTeachers,
1649
- makeSearchTools,
1650
- makeSearchUsers,
1651
1647
  makeSearchValidBooks,
1648
+ makeUseSearch,
1652
1649
  normalizeData,
1653
1650
  querySchema,
1654
- searchBooks,
1655
- searchBuilderIos,
1656
- searchChapters,
1657
- searchCollections,
1658
- searchCommunityProjects,
1659
- searchContacts,
1660
- searchCopyNotifications,
1661
- searchCurrentUserSharedPages,
1662
- searchDraftPages,
1663
- searchDrawerNotifications,
1664
- searchGarDivisions,
1665
- searchGroups,
1666
- searchLevels,
1667
- searchLexicalFlowers,
1668
- searchModifiedPages,
1669
- searchNews,
1670
- searchPages,
1671
- searchPremiumResources,
1672
- searchProducts,
1673
- searchResources,
1674
- searchSchoolTypes,
1675
- searchSchools,
1676
- searchSharedPages,
1677
- searchStudents,
1678
- searchSubjects,
1679
- searchTeachers,
1680
- searchTools,
1681
- searchUsers,
1682
- searchValidBooks,
1683
- setEntitiesReducer
1651
+ setEntitiesReducer,
1652
+ useSearchBooks,
1653
+ useSearchBuilderIos,
1654
+ useSearchChapters,
1655
+ useSearchCollections,
1656
+ useSearchCommunityProjects,
1657
+ useSearchContacts,
1658
+ useSearchCopyNotifications,
1659
+ useSearchCurrentUserSharedPages,
1660
+ useSearchDocuments,
1661
+ useSearchDrafts,
1662
+ useSearchDrawerNotifications,
1663
+ useSearchGarDivisions,
1664
+ useSearchGroups,
1665
+ useSearchLevels,
1666
+ useSearchLexicalFlowers,
1667
+ useSearchModifiedPages,
1668
+ useSearchNews,
1669
+ useSearchPages,
1670
+ useSearchPremiumResources,
1671
+ useSearchProducts,
1672
+ useSearchResources,
1673
+ useSearchSchoolTypes,
1674
+ useSearchSchools,
1675
+ useSearchSharedPages,
1676
+ useSearchStudents,
1677
+ useSearchSubjects,
1678
+ useSearchTeachers,
1679
+ useSearchTools,
1680
+ useSearchUsers,
1681
+ useSearchValidBooks
1684
1682
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@lls/store",
3
3
  "description": "model de donnée et selecteurs",
4
4
  "homepage": "https://github.com/lelivrescolaire/monorepo/tree/dev/libs/store",
5
- "version": "24.1.67-c36e3102",
5
+ "version": "24.1.67-ce6ecbed",
6
6
  "type": "module",
7
7
  "types": "./lib/builttypes/store/src/index.d.ts",
8
8
  "exports": {
@@ -25,24 +25,30 @@
25
25
  "peerDependencies": {
26
26
  "@lls/utils": "*",
27
27
  "lodash": "*",
28
- "react": "*"
28
+ "react": "*",
29
+ "react-redux": "*",
30
+ "redux": "*"
29
31
  },
30
32
  "devDependencies": {
31
33
  "@biomejs/biome": "1.9.1",
34
+ "@testing-library/react": "16.0.1",
32
35
  "@types/lodash": "4.17.7",
33
36
  "@types/node": "22.5.5",
34
37
  "@types/react": "18.3.6",
38
+ "@types/react-redux": "7.1.34",
35
39
  "@vitejs/plugin-react-swc": "3.7.0",
36
40
  "esbuild": "0.23.1",
37
41
  "lodash": "4.17.21",
38
42
  "react": "18.3.1",
43
+ "react-redux": "8.1.1",
44
+ "redux": "5.0.1",
39
45
  "reselect": "4.1.8",
40
46
  "typescript": "5.6.2",
41
47
  "vite": "5.4.6",
42
48
  "vite-tsconfig-paths": "5.0.1",
43
49
  "vitest": "2.1.1",
44
- "@lls/utils": "24.1.67-c36e3102",
45
- "@lls/vitescripts": "24.1.67-c36e3102"
50
+ "@lls/utils": "24.1.67-ce6ecbed",
51
+ "@lls/vitescripts": "24.1.67-ce6ecbed"
46
52
  },
47
53
  "license": "ISC",
48
54
  "dependencies": {