@lls/store 24.1.59-53e1565b → 24.1.59-59d1e176

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 +198 -176
  2. package/package.json +3 -3
package/lib/index.js CHANGED
@@ -733,20 +733,27 @@ var require_normalizr = __commonJS({
733
733
  // src/index.ts
734
734
  init_define_import_meta();
735
735
 
736
+ // src/selectors/auth.ts
737
+ init_define_import_meta();
738
+ import _ from "lodash/fp.js";
739
+ var getAuth = _.get("auth");
740
+ var getIsLogged = _.flow(_.get("auth.id"), _.negate(_.isNil));
741
+ var getToken = _.get("auth.token");
742
+
736
743
  // src/selectors/school.ts
737
744
  init_define_import_meta();
738
745
  import { filterEntitiesSimpleFieldByValues } from "@lls/utils";
739
- import _ from "lodash/fp.js";
746
+ import _2 from "lodash/fp.js";
740
747
 
741
748
  // src/selectors/crud.ts
742
749
  init_define_import_meta();
743
750
  import { createSearchSelector, makeGetAllEntities, makeGetEntityById } from "@lls/utils";
744
- var crud = (entityName, { search: search23 }) => {
751
+ var crud = (entityName, { search: search24 }) => {
745
752
  const getElements = makeGetAllEntities(entityName);
746
753
  const makeSearchElements = () => createSearchSelector(
747
754
  getElements,
748
755
  (_state, params) => params,
749
- (elements, params) => search23(params)(elements)
756
+ (elements, params) => search24(params)(elements)
750
757
  );
751
758
  const methodName = `${entityName.charAt(0).toUpperCase()}${entityName.slice(1)}`;
752
759
  const getElementById = makeGetEntityById(entityName);
@@ -754,13 +761,14 @@ var crud = (entityName, { search: search23 }) => {
754
761
  [`get${methodName}`]: getElements,
755
762
  [`search${methodName}`]: makeSearchElements(),
756
763
  [`get${methodName.replace(/s$/, "")}`]: getElementById,
757
- [`makeSearch${methodName}`]: makeSearchElements
764
+ [`makeSearch${methodName}`]: makeSearchElements,
765
+ [`filter${methodName}`]: search24
758
766
  };
759
767
  return back;
760
768
  };
761
769
 
762
770
  // src/selectors/school.ts
763
- var search = ({ ids }) => _.flow(filterEntitiesSimpleFieldByValues("id", ids));
771
+ var search = ({ ids }) => _2.flow(filterEntitiesSimpleFieldByValues("id", ids));
764
772
  var { getSchools, getSchool, searchSchools, makeSearchSchools } = crud("schools", {
765
773
  search
766
774
  });
@@ -774,7 +782,7 @@ import {
774
782
  filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues2,
775
783
  makeGetEntityById as makeGetEntityById2
776
784
  } from "@lls/utils";
777
- import _2 from "lodash/fp.js";
785
+ import _3 from "lodash/fp.js";
778
786
  var search2 = ({
779
787
  ids,
780
788
  levelIds,
@@ -791,27 +799,27 @@ var search2 = ({
791
799
  publishers,
792
800
  isRenewed,
793
801
  isPrimary
794
- }) => _2.flow(
802
+ }) => _3.flow(
795
803
  filterEntitiesSimpleFieldByValues2("id", ids),
796
804
  filterEntitiesSimpleFieldByValues2("year", years),
797
805
  filterEntitiesArrayFieldByValues("levels", levelIds),
798
806
  filterEntitiesArrayFieldByValues("subjects", subjectIds),
799
- filterEntitiesSimpleFieldByValues2("valid", _2.isNil(isValid) ? void 0 : [isValid]),
807
+ filterEntitiesSimpleFieldByValues2("valid", _3.isNil(isValid) ? void 0 : [isValid]),
800
808
  filterEntitiesSimpleFieldByValues2("publisher", publishers),
801
- filterEntitiesSimpleFieldByValues2("hasNewDesign", _2.isNil(hasNewDesign) ? void 0 : [hasNewDesign]),
802
- filterEntitiesSimpleFieldByValues2("isWorkbook", _2.isNil(isWorkbook) ? void 0 : [isWorkbook]),
803
- filterEntitiesSimpleFieldByValues2("isWorkplan", _2.isNil(isWorkplan) ? void 0 : [isWorkplan]),
804
- filterEntitiesSimpleFieldByValues2("hasNoTeacherBook", _2.isNil(hasNoTeacherBook) ? void 0 : [hasNoTeacherBook]),
809
+ filterEntitiesSimpleFieldByValues2("hasNewDesign", _3.isNil(hasNewDesign) ? void 0 : [hasNewDesign]),
810
+ filterEntitiesSimpleFieldByValues2("isWorkbook", _3.isNil(isWorkbook) ? void 0 : [isWorkbook]),
811
+ filterEntitiesSimpleFieldByValues2("isWorkplan", _3.isNil(isWorkplan) ? void 0 : [isWorkplan]),
812
+ filterEntitiesSimpleFieldByValues2("hasNoTeacherBook", _3.isNil(hasNoTeacherBook) ? void 0 : [hasNoTeacherBook]),
805
813
  filterEntitiesSimpleFieldByValues2("slug", slugs),
806
814
  filterEntitiesSimpleFieldByValues2("uri", uris),
807
- filterEntitiesSimpleFieldByValues2("isRenewed", _2.isNil(isRenewed) ? void 0 : [isRenewed]),
815
+ filterEntitiesSimpleFieldByValues2("isRenewed", _3.isNil(isRenewed) ? void 0 : [isRenewed]),
808
816
  filterEntitiesSimpleFieldByValue("isPrimary", isPrimary),
809
- _2.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _2.sortBy(sortByQuery) : _2.identity
817
+ _3.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _3.sortBy(sortByQuery) : _3.identity
810
818
  );
811
819
  var { getBooks, getBook, searchBooks, makeSearchBooks } = crud("books", {
812
820
  search: search2
813
821
  });
814
- var makeSearchValidBooks = () => createSearchSelector2(makeSearchBooks(), (books) => _2.filter({ valid: true, hasNewDesign: true }, books));
822
+ var makeSearchValidBooks = () => createSearchSelector2(makeSearchBooks(), (books) => _3.filter({ valid: true, hasNewDesign: true }, books));
815
823
  var searchValidBooks = makeSearchValidBooks();
816
824
  var makeGetBook = () => makeGetEntityById2("books");
817
825
 
@@ -820,15 +828,6 @@ init_define_import_meta();
820
828
  var import_reselect = __toESM(require_lib(), 1);
821
829
  import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues2, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues3 } from "@lls/utils";
822
830
  import _4 from "lodash/fp.js";
823
-
824
- // src/selectors/auth.ts
825
- init_define_import_meta();
826
- import _3 from "lodash/fp.js";
827
- var getAuth = _3.get("auth");
828
- var getIsLogged = _3.flow(_3.get("auth.id"), _3.negate(_3.isNil));
829
- var getToken = _3.get("auth.token");
830
-
831
- // src/selectors/user.ts
832
831
  var search3 = ({ ids, schoolIds }) => _4.flow(filterEntitiesArrayFieldByValues2("schools", schoolIds), filterEntitiesSimpleFieldByValues3("id", ids));
833
832
  var { getUsers, getUser, searchUsers, makeSearchUsers } = crud("users", {
834
833
  search: search3
@@ -854,13 +853,7 @@ var { getChapters, getChapter, searchChapters, makeSearchChapters } = crud("chap
854
853
 
855
854
  // src/selectors/page.ts
856
855
  init_define_import_meta();
857
- import {
858
- createSearchSelector as createSearchSelector3,
859
- filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues3,
860
- filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues5,
861
- makeGetAllEntities as makeGetAllEntities2,
862
- makeGetEntityById as makeGetEntityById3
863
- } from "@lls/utils";
856
+ import { createSearchSelector as createSearchSelector3, makeEntitiesFilter, makeGetAllEntities as makeGetAllEntities2, makeGetEntityById as makeGetEntityById3 } from "@lls/utils";
864
857
  import _6 from "lodash/fp.js";
865
858
  var search5 = ({
866
859
  ids,
@@ -875,27 +868,23 @@ var search5 = ({
875
868
  slugs,
876
869
  isLearningAssessment,
877
870
  isCreatedFromScratch
878
- }) => _6.flow(
879
- filterEntitiesSimpleFieldByValues5("id", ids),
880
- filterEntitiesSimpleFieldByValues5("chapter", chapterIds),
881
- filterEntitiesSimpleFieldByValues5("valid", _6.isNil(isValid) ? void 0 : [isValid]),
882
- filterEntitiesSimpleFieldByValues5("isOriginal", _6.isNil(isOriginal) ? void 0 : [isOriginal]),
883
- filterEntitiesSimpleFieldByValues5("hasNewDesign", _6.isNil(hasNewDesign) ? void 0 : [hasNewDesign]),
884
- filterEntitiesSimpleFieldByValues5("slug", slugs),
885
- filterEntitiesSimpleFieldByValues5("oldLesson", oldLessonIds),
886
- filterEntitiesSimpleFieldByValues5(
887
- "isLearningAssessment",
888
- _6.isNil(isLearningAssessment) ? void 0 : [isLearningAssessment]
889
- ),
890
- filterEntitiesSimpleFieldByValues5(
891
- "isCreatedFromScratch",
892
- _6.isNil(isCreatedFromScratch) ? void 0 : [isCreatedFromScratch]
893
- ),
894
- filterEntitiesSimpleFieldByValues5("premium", _6.isNil(premium) ? void 0 : [premium]),
895
- filterEntitiesSimpleFieldByValues5("thematicName", thematicNames),
896
- filterEntitiesSimpleFieldByValues5("book", bookIds)
897
- );
898
- var { getPages, getPage, searchPages, makeSearchPages } = crud("pages", {
871
+ }) => {
872
+ return makeEntitiesFilter({
873
+ id: ids,
874
+ chapter: chapterIds,
875
+ valid: isValid,
876
+ isOriginal,
877
+ hasNewDesign,
878
+ slug: slugs,
879
+ oldLesson: oldLessonIds,
880
+ isLearningAssessment,
881
+ isCreatedFromScratch,
882
+ premium,
883
+ thematicName: thematicNames,
884
+ book: bookIds
885
+ });
886
+ };
887
+ var { getPages, getPage, searchPages, makeSearchPages, filterPages } = crud("pages", {
899
888
  search: search5
900
889
  });
901
890
  var getDraftPages = makeGetAllEntities2("drafts");
@@ -924,26 +913,31 @@ var makeSearchModifiedPages = () => createSearchSelector3(
924
913
  isCreatedFromScratch,
925
914
  isParentCreatedFromScratch,
926
915
  sharedGroups
927
- }) => _6.flow(
928
- filterEntitiesSimpleFieldByValues5("parent", parentIds),
929
- filterEntitiesSimpleFieldByValues5("chapter", chapterIds),
930
- filterEntitiesSimpleFieldByValues5("book", bookIds),
931
- filterEntitiesSimpleFieldByValues5("user", userIds),
932
- filterEntitiesSimpleFieldByValues5("originalPage", originalPageIds),
933
- filterEntitiesArrayFieldByValues3("sharedUsers", sharedUserIds),
934
- filterEntitiesArrayFieldByValues3("sharedGroups", sharedGroups),
935
- filterEntitiesSimpleFieldByValues5("isOriginal", [false]),
936
- filterEntitiesSimpleFieldByValues5("thematicName", thematicNames),
937
- !_6.isNil(isLearningAssessment) ? filterEntitiesSimpleFieldByValues5("isLearningAssessment", [isLearningAssessment]) : _6.identity,
938
- !_6.isNil(isCreatedFromScratch) ? filterEntitiesSimpleFieldByValues5("isCreatedFromScratch", [isCreatedFromScratch]) : _6.identity,
939
- !_6.isNil(isDraft) ? filterEntitiesSimpleFieldByValues5("isDraft", [isDraft]) : _6.identity,
940
- isParentCreatedFromScratch ? _6.filter(
941
- (entity) => _6.flow(_6.find({ id: entity?.originalPage }), _6.get("isCreatedFromScratch"))(pages)
942
- ) : _6.identity,
943
- updatedAfter ? _6.filter(
944
- _6.flow(_6.get("updatedAt"), (date) => new Date(date) - updatedAfter >= 0)
945
- ) : _6.identity
946
- )(pages)
916
+ }) => {
917
+ let pageById = false;
918
+ const search24 = makeEntitiesFilter(
919
+ {
920
+ parent: parentIds,
921
+ chapter: chapterIds,
922
+ book: bookIds,
923
+ user: userIds,
924
+ originalPage: originalPageIds,
925
+ sharedUsers: sharedUserIds,
926
+ sharedGroups,
927
+ isOriginal: false,
928
+ thematicName: thematicNames,
929
+ isLearningAssessment,
930
+ isCreatedFromScratch,
931
+ isDraft
932
+ },
933
+ isParentCreatedFromScratch && ((page2, pages2) => {
934
+ pageById = pageById || _6.keyBy("id", pages2);
935
+ return !!_6.get([page2?.originalPage, "isCreatedFromScratch"], pageById);
936
+ }),
937
+ updatedAfter && _6.flow(_6.get("updatedAt"), (date) => new Date(date) - updatedAfter >= 0)
938
+ );
939
+ return search24(pages);
940
+ }
947
941
  );
948
942
  var searchModifiedPages = makeSearchModifiedPages();
949
943
 
@@ -957,16 +951,16 @@ var { getCollections, getCollection, searchCollections, makeSearchCollections }
957
951
 
958
952
  // src/selectors/communityProject.ts
959
953
  init_define_import_meta();
960
- import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues4, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues6 } from "@lls/utils";
954
+ import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues3, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues5 } from "@lls/utils";
961
955
  import _8 from "lodash/fp.js";
962
956
  var search7 = ({
963
957
  slugs,
964
958
  isFeatured,
965
959
  projectTypes
966
960
  }) => _8.flow(
967
- filterEntitiesSimpleFieldByValues6("slug", slugs),
968
- filterEntitiesSimpleFieldByValues6("isFeatured", _8.isNil(isFeatured) ? void 0 : [isFeatured]),
969
- filterEntitiesArrayFieldByValues4("projectTypes", projectTypes)
961
+ filterEntitiesSimpleFieldByValues5("slug", slugs),
962
+ filterEntitiesSimpleFieldByValues5("isFeatured", _8.isNil(isFeatured) ? void 0 : [isFeatured]),
963
+ filterEntitiesArrayFieldByValues3("projectTypes", projectTypes)
970
964
  );
971
965
  var { getCommunityProjects, getCommunityProject, searchCommunityProjects, makeSearchCommunityProjects } = crud(
972
966
  "communityProjects",
@@ -985,17 +979,17 @@ var { getContacts, getContact, searchContacts, makeSearchContacts } = crud("cont
985
979
 
986
980
  // src/selectors/copyNotification.ts
987
981
  init_define_import_meta();
988
- import { createSearchSelector as createSearchSelector4, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues7, makeGetAllEntities as makeGetAllEntities3 } from "@lls/utils";
982
+ import { createSearchSelector as createSearchSelector4, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues6, makeGetAllEntities as makeGetAllEntities3 } from "@lls/utils";
989
983
  import _10 from "lodash/fp.js";
990
984
  var getCopyNotifications = makeGetAllEntities3("copyNotifications");
991
985
  var makeSearchCopyNotifications = () => createSearchSelector4(
992
- [getCurrentUser, getCopyNotifications, (_25, params) => params],
986
+ [getCurrentUser, getCopyNotifications, (_26, params) => params],
993
987
  (currentUser, copyNotifications, { pageIds, read }) => _10.flow(
994
988
  _10.get("copyNotifications"),
995
989
  (ids) => _10.flow(
996
- filterEntitiesSimpleFieldByValues7("id", ids),
997
- filterEntitiesSimpleFieldByValues7("page", pageIds),
998
- filterEntitiesSimpleFieldByValues7("read", _10.isNil(read) ? void 0 : [read])
990
+ filterEntitiesSimpleFieldByValues6("id", ids),
991
+ filterEntitiesSimpleFieldByValues6("page", pageIds),
992
+ filterEntitiesSimpleFieldByValues6("read", _10.isNil(read) ? void 0 : [read])
999
993
  )(copyNotifications)
1000
994
  )(currentUser)
1001
995
  );
@@ -1003,17 +997,17 @@ var searchCopyNotifications = makeSearchCopyNotifications();
1003
997
 
1004
998
  // src/selectors/drawerNotification.ts
1005
999
  init_define_import_meta();
1006
- import { createSearchSelector as createSearchSelector5, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues8, makeGetAllEntities as makeGetAllEntities4 } from "@lls/utils";
1000
+ import { createSearchSelector as createSearchSelector5, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues7, makeGetAllEntities as makeGetAllEntities4 } from "@lls/utils";
1007
1001
  import _11 from "lodash/fp.js";
1008
1002
  var getDrawerNotifications = makeGetAllEntities4("drawerNotifications");
1009
1003
  var makeSearchDrawerNotifications = () => createSearchSelector5(
1010
- [getCurrentUser, getDrawerNotifications, (_25, params) => params],
1004
+ [getCurrentUser, getDrawerNotifications, (_26, params) => params],
1011
1005
  (currentUser, drawerNotifications, { read, pageIds }) => _11.flow(
1012
1006
  _11.get("drawerNotifications"),
1013
1007
  (ids) => _11.flow(
1014
- filterEntitiesSimpleFieldByValues8("id", ids),
1015
- filterEntitiesSimpleFieldByValues8("read", _11.isNil(read) ? void 0 : [read]),
1016
- filterEntitiesSimpleFieldByValues8("page", pageIds)
1008
+ filterEntitiesSimpleFieldByValues7("id", ids),
1009
+ filterEntitiesSimpleFieldByValues7("read", _11.isNil(read) ? void 0 : [read]),
1010
+ filterEntitiesSimpleFieldByValues7("page", pageIds)
1017
1011
  )(drawerNotifications)
1018
1012
  )(currentUser)
1019
1013
  );
@@ -1035,9 +1029,9 @@ var { getGarDivisions, getGarDivision, searchGarDivisions, makeSearchGarDivision
1035
1029
  // src/selectors/group.ts
1036
1030
  init_define_import_meta();
1037
1031
  var import_reselect2 = __toESM(require_lib(), 1);
1038
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues9 } from "@lls/utils";
1032
+ import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues8 } from "@lls/utils";
1039
1033
  import _13 from "lodash/fp.js";
1040
- var search10 = ({ ownerIds }) => _13.flow(filterEntitiesSimpleFieldByValues9("owner", ownerIds), _13.orderBy("createdAt", ["desc"]));
1034
+ var search10 = ({ ownerIds }) => _13.flow(filterEntitiesSimpleFieldByValues8("owner", ownerIds), _13.orderBy("createdAt", ["desc"]));
1041
1035
  var { getGroups, getGroup, searchGroups, makeSearchGroups } = crud("groups", {
1042
1036
  search: search10
1043
1037
  });
@@ -1049,7 +1043,7 @@ var getUserGroups = (0, import_reselect2.createSelector)(
1049
1043
  // src/selectors/level.ts
1050
1044
  init_define_import_meta();
1051
1045
  var import_reselect3 = __toESM(require_lib(), 1);
1052
- import { filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue2, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues10 } from "@lls/utils";
1046
+ import { filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue2, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues9 } from "@lls/utils";
1053
1047
  import _14 from "lodash/fp.js";
1054
1048
  var search11 = ({
1055
1049
  ids,
@@ -1061,8 +1055,8 @@ var search11 = ({
1061
1055
  isGenHighSchool,
1062
1056
  isElementarySchool
1063
1057
  }) => _14.flow(
1064
- filterEntitiesSimpleFieldByValues10("id", ids),
1065
- filterEntitiesSimpleFieldByValues10("slug", slugs),
1058
+ filterEntitiesSimpleFieldByValues9("id", ids),
1059
+ filterEntitiesSimpleFieldByValues9("slug", slugs),
1066
1060
  filterEntitiesSimpleFieldByValue2("isPreSchool", isPreSchool),
1067
1061
  filterEntitiesSimpleFieldByValue2("isMiddleSchool", isMiddleSchool),
1068
1062
  filterEntitiesSimpleFieldByValue2("isHighSchool", isHighSchool),
@@ -1078,10 +1072,10 @@ var getLevels = (0, import_reselect3.createSelector)(crudLevels.getLevels, _14.o
1078
1072
  // src/selectors/mainNotification.ts
1079
1073
  init_define_import_meta();
1080
1074
  var import_reselect4 = __toESM(require_lib(), 1);
1081
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues11, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1075
+ import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues10, makeGetAllEntities as makeGetAllEntities6 } from "@lls/utils";
1082
1076
  import _15 from "lodash/fp.js";
1083
1077
  var getAllMainNotifications = makeGetAllEntities6("mainNotifications");
1084
- var search12 = ({ ids }) => _15.flow(filterEntitiesSimpleFieldByValues11("id", ids));
1078
+ var search12 = ({ ids }) => _15.flow(filterEntitiesSimpleFieldByValues10("id", ids));
1085
1079
  var getMainNotifications = (0, import_reselect4.createSelector)(
1086
1080
  [_15.flow(getCurrentUser, _15.get("mainNotifications")), getAllMainNotifications],
1087
1081
  (userNotifications, notifications) => search12({ ids: userNotifications })(notifications)
@@ -1089,8 +1083,8 @@ var getMainNotifications = (0, import_reselect4.createSelector)(
1089
1083
 
1090
1084
  // src/selectors/news.ts
1091
1085
  init_define_import_meta();
1092
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues12 } from "@lls/utils";
1093
- var search13 = ({ ids }) => filterEntitiesSimpleFieldByValues12("id", ids);
1086
+ import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues11 } from "@lls/utils";
1087
+ var search13 = ({ ids }) => filterEntitiesSimpleFieldByValues11("id", ids);
1094
1088
  var {
1095
1089
  getNews: getAllNews,
1096
1090
  getNew: getNews,
@@ -1107,8 +1101,8 @@ var getPanorama = makeGetEntityById4("panoramas");
1107
1101
 
1108
1102
  // src/selectors/premiumResource.ts
1109
1103
  init_define_import_meta();
1110
- import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues13 } from "@lls/utils";
1111
- var search14 = ({ bookIds }) => filterEntitiesSimpleFieldByValues13("book", bookIds);
1104
+ import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues12 } from "@lls/utils";
1105
+ var search14 = ({ bookIds }) => filterEntitiesSimpleFieldByValues12("book", bookIds);
1112
1106
  var { getPremiumResources, getPremiumResource, searchPremiumResources, makeSearchPremiumResources } = crud(
1113
1107
  "premiumResources",
1114
1108
  {
@@ -1116,17 +1110,26 @@ var { getPremiumResources, getPremiumResource, searchPremiumResources, makeSearc
1116
1110
  }
1117
1111
  );
1118
1112
 
1119
- // src/selectors/product.ts
1113
+ // src/selectors/lexicalFlower.ts
1120
1114
  init_define_import_meta();
1115
+ import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues13 } from "@lls/utils";
1121
1116
  import _16 from "lodash/fp.js";
1117
+ var search15 = ({ ids }) => _16.flow(filterEntitiesSimpleFieldByValues13("id", ids));
1118
+ var { getLexicalFlowers, searchLexicalFlowers } = crud("lexicalFlowers", {
1119
+ search: search15
1120
+ });
1121
+
1122
+ // src/selectors/product.ts
1123
+ init_define_import_meta();
1124
+ import _17 from "lodash/fp.js";
1122
1125
  import {
1123
1126
  createSearchSelector as createSearchSelector6,
1124
- filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues5,
1127
+ filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues4,
1125
1128
  filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues14,
1126
1129
  makeGetAllEntities as makeGetAllEntities7
1127
1130
  } from "@lls/utils";
1128
1131
  var getProducts = makeGetAllEntities7("products");
1129
- var search15 = ({
1132
+ var search16 = ({
1130
1133
  ids,
1131
1134
  eans,
1132
1135
  isAdoptant,
@@ -1135,12 +1138,12 @@ var search15 = ({
1135
1138
  subjectIds,
1136
1139
  productTypes
1137
1140
  }) => {
1138
- return _16.flow(
1139
- (products, books) => levelIds || subjectIds ? filterEntitiesArrayFieldByValues5("books", _16.map("id", books))(products) : products,
1141
+ return _17.flow(
1142
+ (products, books) => levelIds || subjectIds ? filterEntitiesArrayFieldByValues4("books", _17.map("id", books))(products) : products,
1140
1143
  filterEntitiesSimpleFieldByValues14("id", ids),
1141
1144
  filterEntitiesSimpleFieldByValues14("ean", eans),
1142
- filterEntitiesSimpleFieldByValues14("isAdoptant", _16.isBoolean(isAdoptant) ? [isAdoptant] : void 0),
1143
- filterEntitiesSimpleFieldByValues14("isSupportPlus", _16.isBoolean(isSupportPlus) ? [isSupportPlus] : void 0),
1145
+ filterEntitiesSimpleFieldByValues14("isAdoptant", _17.isBoolean(isAdoptant) ? [isAdoptant] : void 0),
1146
+ filterEntitiesSimpleFieldByValues14("isSupportPlus", _17.isBoolean(isSupportPlus) ? [isSupportPlus] : void 0),
1144
1147
  filterEntitiesSimpleFieldByValues14("productType", productTypes)
1145
1148
  );
1146
1149
  };
@@ -1149,38 +1152,38 @@ var searchProducts = createSearchSelector6(
1149
1152
  getProducts,
1150
1153
  (state, { levelIds, subjectIds }) => searchBooks2(state, { levelIds, subjectIds }),
1151
1154
  (_state, params) => params,
1152
- (products, books, params) => search15(params)(products, books)
1155
+ (products, books, params) => search16(params)(products, books)
1153
1156
  );
1154
1157
 
1155
1158
  // src/selectors/resource.ts
1156
1159
  init_define_import_meta();
1157
1160
  import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues15 } from "@lls/utils";
1158
- import _17 from "lodash/fp.js";
1159
- var search16 = ({ chapterIds }) => _17.flow(filterEntitiesSimpleFieldByValues15("chapter", chapterIds));
1161
+ import _18 from "lodash/fp.js";
1162
+ var search17 = ({ chapterIds }) => _18.flow(filterEntitiesSimpleFieldByValues15("chapter", chapterIds));
1160
1163
  var { getResources, getResource, searchResources, makeSearchResources } = crud("resources", {
1161
- search: search16
1164
+ search: search17
1162
1165
  });
1163
1166
 
1164
1167
  // src/selectors/schoolType.ts
1165
1168
  init_define_import_meta();
1166
1169
  import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues16 } from "@lls/utils";
1167
- var search17 = ({ slugs }) => filterEntitiesSimpleFieldByValues16("slug", slugs);
1170
+ var search18 = ({ slugs }) => filterEntitiesSimpleFieldByValues16("slug", slugs);
1168
1171
  var { getSchoolTypes, getSchoolType, searchSchoolTypes, makeSearchSchoolTypes } = crud("schoolTypes", {
1169
- search: search17
1172
+ search: search18
1170
1173
  });
1171
1174
 
1172
1175
  // src/selectors/sharedPage.ts
1173
1176
  init_define_import_meta();
1174
1177
  import { createSearchSelector as createSearchSelector7, filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue3, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues17 } from "@lls/utils";
1175
- import _18 from "lodash/fp.js";
1176
- var search18 = ({
1178
+ import _19 from "lodash/fp.js";
1179
+ var search19 = ({
1177
1180
  parentIds,
1178
1181
  userIds,
1179
1182
  bookIds,
1180
1183
  isCreatedFromScratch,
1181
1184
  isLearningAssessment,
1182
1185
  ids
1183
- }) => _18.flow(
1186
+ }) => _19.flow(
1184
1187
  filterEntitiesSimpleFieldByValues17("id", ids),
1185
1188
  filterEntitiesSimpleFieldByValues17("parent", parentIds),
1186
1189
  filterEntitiesSimpleFieldByValues17("user", userIds),
@@ -1189,34 +1192,37 @@ var search18 = ({
1189
1192
  filterEntitiesSimpleFieldByValue3("isCreatedFromScratch", isCreatedFromScratch)
1190
1193
  );
1191
1194
  var { getSharedPages, getSharedPage, searchSharedPages, makeSearchSharedPages } = crud("sharedPages", {
1192
- search: search18
1195
+ search: search19
1193
1196
  });
1194
1197
  var searchCurrentUserSharedPages = createSearchSelector7(
1195
- (state) => _18.flow(getCurrentUser, _18.getOr([], "sharedPages"))(state),
1198
+ getCurrentUser,
1196
1199
  getSharedPages,
1197
- (_25, params) => params,
1198
- (sharedUserPageIds, sharedPages, params) => search18({ ...params, ids: _18.intersection(sharedUserPageIds, params.ids || sharedUserPageIds) })(sharedPages)
1200
+ (_26, params) => params,
1201
+ (user2, sharedPages, params) => {
1202
+ const sharedUserPageIds = user2?.sharedPages ?? [];
1203
+ return search19({ ...params, ids: _19.intersection(sharedUserPageIds, params.ids || sharedUserPageIds) })(sharedPages);
1204
+ }
1199
1205
  );
1200
1206
 
1201
1207
  // src/selectors/student.ts
1202
1208
  init_define_import_meta();
1203
1209
  import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues18 } from "@lls/utils";
1204
- var search19 = ({ ids }) => filterEntitiesSimpleFieldByValues18("id", ids);
1210
+ var search20 = ({ ids }) => filterEntitiesSimpleFieldByValues18("id", ids);
1205
1211
  var { getStudents, getStudent, searchStudents, makeSearchStudents } = crud("students", {
1206
- search: search19
1212
+ search: search20
1207
1213
  });
1208
1214
 
1209
1215
  // src/selectors/subject.ts
1210
1216
  init_define_import_meta();
1211
1217
  import {
1212
- filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues6,
1218
+ filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues5,
1213
1219
  filterEntitiesFieldExists as filterEntitiesFieldExists2,
1214
1220
  filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue4,
1215
1221
  filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues19,
1216
1222
  limitToTeacherSubjects
1217
1223
  } from "@lls/utils";
1218
- import _19 from "lodash/fp.js";
1219
- var search20 = ({
1224
+ import _20 from "lodash/fp.js";
1225
+ var search21 = ({
1220
1226
  ids,
1221
1227
  slugs,
1222
1228
  isTeacherSubject,
@@ -1224,45 +1230,45 @@ var search20 = ({
1224
1230
  schoolTypes,
1225
1231
  hasBooks,
1226
1232
  names
1227
- }) => _19.flow(
1233
+ }) => _20.flow(
1228
1234
  filterEntitiesSimpleFieldByValues19("id", ids),
1229
1235
  filterEntitiesSimpleFieldByValues19("slug", slugs),
1230
1236
  filterEntitiesSimpleFieldByValues19("name", names),
1231
1237
  filterEntitiesSimpleFieldByValue4("hasBooks", hasBooks),
1232
- filterEntitiesArrayFieldByValues6("schoolTypes", schoolTypes),
1233
- (subjects) => _19.isNil(isTeacherSubject) ? subjects : limitToTeacherSubjects(subjects),
1238
+ filterEntitiesArrayFieldByValues5("schoolTypes", schoolTypes),
1239
+ (subjects) => _20.isNil(isTeacherSubject) ? subjects : limitToTeacherSubjects(subjects),
1234
1240
  filterEntitiesFieldExists2("newsletterUrl", hasNewsletterUrl)
1235
1241
  );
1236
1242
  var { getSubjects, getSubject, searchSubjects, makeSearchSubjects } = crud("subjects", {
1237
- search: search20
1243
+ search: search21
1238
1244
  });
1239
1245
 
1240
1246
  // src/selectors/teacher.ts
1241
1247
  init_define_import_meta();
1242
- import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues7, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues20 } from "@lls/utils";
1243
- import _20 from "lodash/fp.js";
1244
- var search21 = ({ ids, schoolIds }) => _20.flow(filterEntitiesSimpleFieldByValues20("id", ids), filterEntitiesArrayFieldByValues7("schools", schoolIds));
1248
+ import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues6, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues20 } from "@lls/utils";
1249
+ import _21 from "lodash/fp.js";
1250
+ var search22 = ({ ids, schoolIds }) => _21.flow(filterEntitiesSimpleFieldByValues20("id", ids), filterEntitiesArrayFieldByValues6("schools", schoolIds));
1245
1251
  var { getTeachers, getTeacher, searchTeachers, makeSearchTeachers } = crud("teachers", {
1246
- search: search21
1252
+ search: search22
1247
1253
  });
1248
1254
 
1249
1255
  // src/selectors/tool.ts
1250
1256
  init_define_import_meta();
1251
- import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues8, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues21 } from "@lls/utils";
1252
- import _21 from "lodash/fp.js";
1253
- var search22 = ({ ids, locked, bookIds }) => _21.flow(
1257
+ import { filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues7, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues21 } from "@lls/utils";
1258
+ import _22 from "lodash/fp.js";
1259
+ var search23 = ({ ids, locked, bookIds }) => _22.flow(
1254
1260
  filterEntitiesSimpleFieldByValues21("id", ids),
1255
- filterEntitiesSimpleFieldByValues21("locked", _21.isNil(locked) ? void 0 : [locked]),
1256
- filterEntitiesArrayFieldByValues8("books", bookIds)
1261
+ filterEntitiesSimpleFieldByValues21("locked", _22.isNil(locked) ? void 0 : [locked]),
1262
+ filterEntitiesArrayFieldByValues7("books", bookIds)
1257
1263
  );
1258
1264
  var { getTools, getTool, searchTools, makeSearchTools } = crud("tools", {
1259
- search: search22
1265
+ search: search23
1260
1266
  });
1261
1267
 
1262
1268
  // src/reducers/entities.ts
1263
1269
  init_define_import_meta();
1264
1270
  import { makeReducer } from "@lls/utils";
1265
- import _22 from "lodash/fp.js";
1271
+ import _23 from "lodash/fp.js";
1266
1272
 
1267
1273
  // src/actions/index.ts
1268
1274
  init_define_import_meta();
@@ -1285,47 +1291,53 @@ var resetAuth = makeActionCreator(actionTypes.RESET_AUTH);
1285
1291
  // src/reducers/entities.ts
1286
1292
  var deleteEntityReducer = (state, payload) => {
1287
1293
  const { path } = payload;
1288
- return _22.omit(path, state);
1294
+ return _23.omit(path, state);
1289
1295
  };
1290
1296
  var updateEntityReducer = (state, payload) => {
1291
1297
  const { path, entity } = payload;
1292
- const currentEntity = _22.get(path, state);
1293
- return _22.set(path, _22.merge(currentEntity, entity), state);
1298
+ const currentEntity = _23.get(path, state);
1299
+ return _23.set(path, _23.merge(currentEntity, entity), state);
1294
1300
  };
1295
1301
  var setEntityReducer = (state, payload) => {
1296
1302
  const { path, entity } = payload;
1297
- return _22.set(path, entity, state);
1298
- };
1299
- var shallowAssign = (old, next, transform) => {
1300
- let updated = false;
1301
- const merged = _22.flow(
1302
- _22.toPairs,
1303
- _22.reduce((memo, [key, val]) => {
1304
- if (_22.isEmpty(val)) return memo;
1305
- if (!old[key]) {
1306
- updated = true;
1307
- memo[key] = val;
1308
- return memo;
1309
- }
1310
- const maybeEqual = transform(old[key], next[key]);
1311
- if (maybeEqual !== old[key]) {
1312
- updated = true;
1313
- memo[key] = maybeEqual;
1314
- return memo;
1315
- }
1316
- return memo;
1317
- }, _22.clone(old))
1318
- )(next);
1319
- return updated ? merged : old;
1303
+ return _23.set(path, entity, state);
1320
1304
  };
1321
1305
  var setEntitiesReducer = (state, payload) => {
1322
- return shallowAssign(state, payload, (entityKind, nextEntityKind) => {
1323
- return shallowAssign(
1324
- entityKind,
1325
- nextEntityKind,
1326
- (oldEntity, nextEntity) => _22.isEqual(oldEntity, nextEntity) ? oldEntity : _22.assign(oldEntity, nextEntity)
1327
- );
1306
+ if (typeof payload !== "object") return state;
1307
+ const stateDrafts = {};
1308
+ Object.keys(payload).forEach((entityName) => {
1309
+ const entities2 = payload[entityName];
1310
+ const entityDraft = {};
1311
+ if (!entities2) {
1312
+ return;
1313
+ }
1314
+ Object.keys(entities2).forEach((id) => {
1315
+ const entity = entities2[id];
1316
+ if (!state[entityName]?.[id]) {
1317
+ entityDraft[id] = entity;
1318
+ } else {
1319
+ if (typeof entity === "undefined") {
1320
+ return;
1321
+ }
1322
+ const diff = Object.keys(entity).some((prop) => {
1323
+ const value = entity[prop];
1324
+ if (!_23.isEqual(state[entityName]?.[id]?.[prop], value)) {
1325
+ return true;
1326
+ }
1327
+ });
1328
+ if (diff) {
1329
+ entityDraft[id] = Object.assign({}, state[entityName]?.[id], entity);
1330
+ }
1331
+ }
1332
+ });
1333
+ if (Object.keys(entityDraft).length !== 0) {
1334
+ stateDrafts[entityName] = { ...state[entityName], ...entityDraft };
1335
+ }
1328
1336
  });
1337
+ if (Object.keys(stateDrafts).length !== 0) {
1338
+ return { ...state, ...stateDrafts };
1339
+ }
1340
+ return state;
1329
1341
  };
1330
1342
  var entities = makeReducer(
1331
1343
  {},
@@ -1341,7 +1353,7 @@ var entities_default = entities;
1341
1353
  // src/reducers/auth.ts
1342
1354
  init_define_import_meta();
1343
1355
  import { makeReducer as makeReducer2 } from "@lls/utils";
1344
- import _23 from "lodash/fp.js";
1356
+ import _24 from "lodash/fp.js";
1345
1357
  var initialState = {
1346
1358
  id: void 0,
1347
1359
  role: null,
@@ -1354,15 +1366,15 @@ var initialState = {
1354
1366
  llsUserId: null
1355
1367
  };
1356
1368
  var auth = makeReducer2(initialState, {
1357
- [actionTypes.SET_AUTH]: _23.assign,
1358
- [actionTypes.RESET_AUTH]: _23.constant(initialState)
1369
+ [actionTypes.SET_AUTH]: _24.assign,
1370
+ [actionTypes.RESET_AUTH]: _24.constant(initialState)
1359
1371
  });
1360
1372
  var auth_default = auth;
1361
1373
 
1362
1374
  // src/schema/index.ts
1363
1375
  init_define_import_meta();
1364
1376
  var import_normalizr = __toESM(require_normalizr(), 1);
1365
- import _24 from "lodash/fp.js";
1377
+ import _25 from "lodash/fp.js";
1366
1378
  var document = new import_normalizr.schema.Entity("documents", {}, { idAttribute: "resourceId" });
1367
1379
  var subject = new import_normalizr.schema.Entity("subjects");
1368
1380
  var level = new import_normalizr.schema.Entity("levels");
@@ -1378,6 +1390,7 @@ var faq = new import_normalizr.schema.Entity("faq");
1378
1390
  var product = new import_normalizr.schema.Entity("products");
1379
1391
  var communityProjects = new import_normalizr.schema.Entity("communityProjects");
1380
1392
  var builderIo = new import_normalizr.schema.Entity("builderIos");
1393
+ var lexicalFlower = new import_normalizr.schema.Entity("lexicalFlowers");
1381
1394
  var grammarRule = new import_normalizr.schema.Entity("grammarRules", {}, { idAttribute: "objectID" });
1382
1395
  var mainNotification = new import_normalizr.schema.Entity("mainNotifications");
1383
1396
  var explorerResult = new import_normalizr.schema.Entity("explorerResults", {}, { idAttribute: "resourceId" });
@@ -1457,7 +1470,8 @@ var userSchema = define(user, {
1457
1470
  students: [student],
1458
1471
  subjects: [subject],
1459
1472
  teachers: [teacher],
1460
- userPages: [page]
1473
+ userPages: [page],
1474
+ lexicalFlowers: { hits: [lexicalFlower] }
1461
1475
  });
1462
1476
  var notificationSchema = define(mainNotification, { page });
1463
1477
  drawerNotification.define({ page });
@@ -1510,6 +1524,7 @@ var querySchema = {
1510
1524
  createGroup: group,
1511
1525
  createPage: page,
1512
1526
  createUser: user,
1527
+ createLexicalFlower: lexicalFlower,
1513
1528
  documents: { hits: [document] },
1514
1529
  explorerResults: [explorerResult],
1515
1530
  levels: [level],
@@ -1531,7 +1546,8 @@ var querySchema = {
1531
1546
  updatePage: page,
1532
1547
  updateTrialUser: user,
1533
1548
  updateUserLastActivitySeenAt: user,
1534
- updateUser: user
1549
+ updateUser: user,
1550
+ updateLexicalFlower: lexicalFlower
1535
1551
  },
1536
1552
  auth: {
1537
1553
  user
@@ -1549,11 +1565,13 @@ var querySchema = {
1549
1565
  }
1550
1566
  }
1551
1567
  };
1552
- var normalizeData = _24.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1568
+ var normalizeData = _25.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
1553
1569
  export {
1554
1570
  auth_default as authReducer,
1555
1571
  entities_default as entitiesReducer,
1572
+ filterPages,
1556
1573
  getAllNews,
1574
+ getAuth,
1557
1575
  getBook,
1558
1576
  getBooks,
1559
1577
  getChapter,
@@ -1572,8 +1590,10 @@ export {
1572
1590
  getGarDivisions,
1573
1591
  getGroup,
1574
1592
  getGroups,
1593
+ getIsLogged,
1575
1594
  getLevel,
1576
1595
  getLevels,
1596
+ getLexicalFlowers,
1577
1597
  getMainNotifications,
1578
1598
  getNews,
1579
1599
  getPage,
@@ -1596,6 +1616,7 @@ export {
1596
1616
  getSubjects,
1597
1617
  getTeacher,
1598
1618
  getTeachers,
1619
+ getToken,
1599
1620
  getTool,
1600
1621
  getTools,
1601
1622
  getUser,
@@ -1642,6 +1663,7 @@ export {
1642
1663
  searchGarDivisions,
1643
1664
  searchGroups,
1644
1665
  searchLevels,
1666
+ searchLexicalFlowers,
1645
1667
  searchModifiedPages,
1646
1668
  searchNews,
1647
1669
  searchPages,
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.59-53e1565b",
5
+ "version": "24.1.59-59d1e176",
6
6
  "type": "module",
7
7
  "types": "./lib/builttypes/store/src/index.d.ts",
8
8
  "exports": {
@@ -41,8 +41,8 @@
41
41
  "vite": "5.3.3",
42
42
  "vite-tsconfig-paths": "4.3.2",
43
43
  "vitest": "2.0.0",
44
- "@lls/utils": "24.1.59-53e1565b",
45
- "@lls/vitescripts": "24.1.59-53e1565b"
44
+ "@lls/utils": "24.1.59-59d1e176",
45
+ "@lls/vitescripts": "24.1.59-59d1e176"
46
46
  },
47
47
  "license": "ISC",
48
48
  "dependencies": {