@lls/store 24.1.67-b40e96ea → 24.1.67-bdf1676c

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.
@@ -10,7 +10,7 @@ type SearchParams = AllowUndefined<Pick<Book, 'isWorkbook' | 'isWorkplan' | 'has
10
10
  uris?: Book['uri'][];
11
11
  isValid?: Book['valid'];
12
12
  hasNoTeacherBook?: boolean;
13
- sortByQuery?: ((a: Book, b: Book) => boolean) | keyof Book;
13
+ sortByQuery?: ((a: Book[]) => Book[]) | keyof Book;
14
14
  publishers?: Publisher[];
15
15
  }>;
16
16
  declare const getBooks: (state: import("@lls/utils").TState<Book>) => Book[], getBook: (state: import("@lls/utils").TState<Book>, entityId: number | string | undefined | null) => Book | undefined, filterBooks: ({ ids, levelIds, subjectIds, years, isValid, isWorkbook, isWorkplan, hasNoTeacherBook, sortByQuery, hasNewDesign, slugs, uris, publishers, isRenewed, isPrimary }: SearchParams) => ((books: Book[]) => Book[]), useSearchBooks: (params: {
@@ -8,8 +8,9 @@ type SearchParams = AllowUndefined<Pick<Page, 'isOriginal' | 'hasNewDesign' | 'p
8
8
  oldLessonIds?: Page['oldLesson'][];
9
9
  bookIds?: Page['book'][];
10
10
  thematicNames: Page['thematicName'][];
11
+ sortByQuery?: (a: Page[]) => Page[] | keyof Page;
11
12
  }>;
12
- export declare const getPages: (state: import("@lls/utils").TState<Page>) => Page[], getPage: (state: import("@lls/utils").TState<Page>, entityId: number | string | undefined | null) => Page | undefined, filterPages: ({ ids, chapterIds, isValid, oldLessonIds, premium, thematicNames, bookIds, isOriginal, hasNewDesign, slugs, isLearningAssessment, isCreatedFromScratch, userIds, parentIds, originalPageIds, sharedUserIds, sharedGroups, isDraft, isParentCreatedFromScratch, updatedAfter }: SearchParams & SearchModifiedPagesParams) => ((pages: Page[]) => Page[]), useSearchPages: (params: {
13
+ export declare const getPages: (state: import("@lls/utils").TState<Page>) => Page[], getPage: (state: import("@lls/utils").TState<Page>, entityId: number | string | undefined | null) => Page | undefined, filterPages: ({ ids, chapterIds, isValid, oldLessonIds, premium, thematicNames, bookIds, isOriginal, hasNewDesign, slugs, isLearningAssessment, isCreatedFromScratch, userIds, parentIds, originalPageIds, sharedUserIds, sharedGroups, isDraft, isParentCreatedFromScratch, updatedAfter, sortByQuery }: SearchParams & SearchModifiedPagesParams) => ((pages: Page[]) => Page[]), useSearchPages: (params: {
13
14
  hasNewDesign?: boolean | undefined;
14
15
  isOriginal?: boolean | undefined;
15
16
  premium?: boolean | null | undefined;
@@ -22,6 +23,7 @@ export declare const getPages: (state: import("@lls/utils").TState<Page>) => Pag
22
23
  oldLessonIds?: Page["oldLesson"][] | undefined;
23
24
  bookIds?: Page["book"][] | undefined;
24
25
  thematicNames?: (string | undefined)[] | undefined;
26
+ sortByQuery?: {} | undefined;
25
27
  } & SearchModifiedPagesParams) => Page[], makeSearchPages: () => ((state: import("../types/store").EntitiesState, params: {
26
28
  hasNewDesign?: boolean | undefined;
27
29
  isOriginal?: boolean | undefined;
@@ -35,6 +37,7 @@ export declare const getPages: (state: import("@lls/utils").TState<Page>) => Pag
35
37
  oldLessonIds?: Page["oldLesson"][] | undefined;
36
38
  bookIds?: Page["book"][] | undefined;
37
39
  thematicNames?: (string | undefined)[] | undefined;
40
+ sortByQuery?: {} | undefined;
38
41
  } & SearchModifiedPagesParams) => Page[]) & import("reselect").OutputSelectorFields<(args_0: Page[], args_1: {
39
42
  hasNewDesign?: boolean | undefined;
40
43
  isOriginal?: boolean | undefined;
@@ -48,6 +51,7 @@ export declare const getPages: (state: import("@lls/utils").TState<Page>) => Pag
48
51
  oldLessonIds?: Page["oldLesson"][] | undefined;
49
52
  bookIds?: Page["book"][] | undefined;
50
53
  thematicNames?: (string | undefined)[] | undefined;
54
+ sortByQuery?: {} | undefined;
51
55
  } & SearchModifiedPagesParams) => Page[], {
52
56
  clearCache: () => void;
53
57
  }> & {
@@ -66,6 +70,7 @@ export declare const getDrafts: (state: import("@lls/utils").TState<Page>) => Pa
66
70
  oldLessonIds?: Page["oldLesson"][] | undefined;
67
71
  bookIds?: Page["book"][] | undefined;
68
72
  thematicNames?: (string | undefined)[] | undefined;
73
+ sortByQuery?: {} | undefined;
69
74
  } & SearchModifiedPagesParams) => Page[];
70
75
  type SearchModifiedPagesParams = {
71
76
  chapterIds?: Page['chapter'][];
@@ -7,7 +7,7 @@ export declare const getSubjects: (state: import("@lls/utils").TState<Subject>)
7
7
  schoolTypes?: (string | undefined)[] | undefined;
8
8
  hasBooks?: Subject["hasBooks"];
9
9
  names?: ("Autre" | "Design et métiers d'art" | "Langues et cultures de l'Antiquité" | "Littérature, langues et cultures de l'Antiquité" | "Sciences de l'ingénieur" | "Support à l'action managériale" | "Allemand" | "Anglais" | "Arts appliqués et culture artistique" | "Arts plastiques" | "Arts" | "Autre enseignement professionnel" | "Biochimie-Biologie" | "Biologie et physiopathologie humaines" | "Biologie-Écologie" | "Biotechnologies" | "Bâtiment" | "CEJM" | "Chinois" | "Commerce international" | "Communication" | "Comptabilité" | "Conjugaison" | "Culture générale et expression" | "Documentation" | "Droit" | "Economie et Gestion" | "Enseignement Scientifique" | "Enseignement scientifique" | "Enseignements spécifiques STL" | "Espagnol" | "Français" | "Gestion administrative" | "Gestion commerciale" | "Gestion de la PME" | "Gestion" | "Grammaire" | "Géographie" | "Histoire des Arts" | "Histoire" | "Histoire-Géographie, géopolitique et sciences politiques" | "Histoire-Géographie-EMC" | "Humanités, littérature et philosophie" | "Hôtellerie restauration" | "Informatique" | "Ingénierie et développement durable" | "Innovation technologique" | "Italien" | "Langue vivante rare" | "Langues, littératures et cultures étrangères et régionales" | "Logistique" | "Maintenance" | "Management commercial opérationnel" | "Management" | "Mathématiques" | "Mercatique" | "Mécanique" | "Numérique et sciences informatiques" | "Négociation et relation client" | "Orthographe" | "Outils et langages numériques" | "PSE" | "Philosophie" | "Physique-Chimie pour la santé" | "Physique-Chimie" | "Prévention Santé Environnement" | "Relation client" | "SES" | "SNT" | "SVT" | "Sciences appliquées" | "Sciences de gestion et numérique" | "Sciences de la vie et de la Terre" | "Sciences et Technologie" | "Sciences et techniques sanitaires et sociales" | "Sciences numériques et technologie" | "Sciences physiques et chimiques en laboratoire" | "Sciences physiques" | "Sciences économiques et sociales" | "Sciences" | "Technologie" | "Transport" | "Économie et gestion hôtellière" | "Économie" | "Économie-Droit" | "Économie-Gestion" | "Éducation civique" | "Éducation musicale" | null | undefined)[] | undefined;
10
- sortByQuery?: "id" | "slug" | "url" | "name" | "schoolTypes" | "hasBooks" | "newsletterUrl" | {} | undefined;
10
+ sortByQuery?: "id" | "slug" | "url" | "name" | "schoolTypes" | "hasBooks" | "newsletterUrl" | "tags" | {} | undefined;
11
11
  }) => Subject[], makeSearchSubjects: () => ((state: import("../types/store").EntitiesState, params: {
12
12
  ids?: Subject["id"][] | undefined;
13
13
  slugs?: Subject["slug"][] | undefined;
@@ -16,7 +16,7 @@ export declare const getSubjects: (state: import("@lls/utils").TState<Subject>)
16
16
  schoolTypes?: (string | undefined)[] | undefined;
17
17
  hasBooks?: Subject["hasBooks"];
18
18
  names?: ("Autre" | "Design et métiers d'art" | "Langues et cultures de l'Antiquité" | "Littérature, langues et cultures de l'Antiquité" | "Sciences de l'ingénieur" | "Support à l'action managériale" | "Allemand" | "Anglais" | "Arts appliqués et culture artistique" | "Arts plastiques" | "Arts" | "Autre enseignement professionnel" | "Biochimie-Biologie" | "Biologie et physiopathologie humaines" | "Biologie-Écologie" | "Biotechnologies" | "Bâtiment" | "CEJM" | "Chinois" | "Commerce international" | "Communication" | "Comptabilité" | "Conjugaison" | "Culture générale et expression" | "Documentation" | "Droit" | "Economie et Gestion" | "Enseignement Scientifique" | "Enseignement scientifique" | "Enseignements spécifiques STL" | "Espagnol" | "Français" | "Gestion administrative" | "Gestion commerciale" | "Gestion de la PME" | "Gestion" | "Grammaire" | "Géographie" | "Histoire des Arts" | "Histoire" | "Histoire-Géographie, géopolitique et sciences politiques" | "Histoire-Géographie-EMC" | "Humanités, littérature et philosophie" | "Hôtellerie restauration" | "Informatique" | "Ingénierie et développement durable" | "Innovation technologique" | "Italien" | "Langue vivante rare" | "Langues, littératures et cultures étrangères et régionales" | "Logistique" | "Maintenance" | "Management commercial opérationnel" | "Management" | "Mathématiques" | "Mercatique" | "Mécanique" | "Numérique et sciences informatiques" | "Négociation et relation client" | "Orthographe" | "Outils et langages numériques" | "PSE" | "Philosophie" | "Physique-Chimie pour la santé" | "Physique-Chimie" | "Prévention Santé Environnement" | "Relation client" | "SES" | "SNT" | "SVT" | "Sciences appliquées" | "Sciences de gestion et numérique" | "Sciences de la vie et de la Terre" | "Sciences et Technologie" | "Sciences et techniques sanitaires et sociales" | "Sciences numériques et technologie" | "Sciences physiques et chimiques en laboratoire" | "Sciences physiques" | "Sciences économiques et sociales" | "Sciences" | "Technologie" | "Transport" | "Économie et gestion hôtellière" | "Économie" | "Économie-Droit" | "Économie-Gestion" | "Éducation civique" | "Éducation musicale" | null | undefined)[] | undefined;
19
- sortByQuery?: "id" | "slug" | "url" | "name" | "schoolTypes" | "hasBooks" | "newsletterUrl" | {} | undefined;
19
+ sortByQuery?: "id" | "slug" | "url" | "name" | "schoolTypes" | "hasBooks" | "newsletterUrl" | "tags" | {} | undefined;
20
20
  }) => Subject[]) & import("reselect").OutputSelectorFields<(args_0: Subject[], args_1: {
21
21
  ids?: Subject["id"][] | undefined;
22
22
  slugs?: Subject["slug"][] | undefined;
@@ -25,7 +25,7 @@ export declare const getSubjects: (state: import("@lls/utils").TState<Subject>)
25
25
  schoolTypes?: (string | undefined)[] | undefined;
26
26
  hasBooks?: Subject["hasBooks"];
27
27
  names?: ("Autre" | "Design et métiers d'art" | "Langues et cultures de l'Antiquité" | "Littérature, langues et cultures de l'Antiquité" | "Sciences de l'ingénieur" | "Support à l'action managériale" | "Allemand" | "Anglais" | "Arts appliqués et culture artistique" | "Arts plastiques" | "Arts" | "Autre enseignement professionnel" | "Biochimie-Biologie" | "Biologie et physiopathologie humaines" | "Biologie-Écologie" | "Biotechnologies" | "Bâtiment" | "CEJM" | "Chinois" | "Commerce international" | "Communication" | "Comptabilité" | "Conjugaison" | "Culture générale et expression" | "Documentation" | "Droit" | "Economie et Gestion" | "Enseignement Scientifique" | "Enseignement scientifique" | "Enseignements spécifiques STL" | "Espagnol" | "Français" | "Gestion administrative" | "Gestion commerciale" | "Gestion de la PME" | "Gestion" | "Grammaire" | "Géographie" | "Histoire des Arts" | "Histoire" | "Histoire-Géographie, géopolitique et sciences politiques" | "Histoire-Géographie-EMC" | "Humanités, littérature et philosophie" | "Hôtellerie restauration" | "Informatique" | "Ingénierie et développement durable" | "Innovation technologique" | "Italien" | "Langue vivante rare" | "Langues, littératures et cultures étrangères et régionales" | "Logistique" | "Maintenance" | "Management commercial opérationnel" | "Management" | "Mathématiques" | "Mercatique" | "Mécanique" | "Numérique et sciences informatiques" | "Négociation et relation client" | "Orthographe" | "Outils et langages numériques" | "PSE" | "Philosophie" | "Physique-Chimie pour la santé" | "Physique-Chimie" | "Prévention Santé Environnement" | "Relation client" | "SES" | "SNT" | "SVT" | "Sciences appliquées" | "Sciences de gestion et numérique" | "Sciences de la vie et de la Terre" | "Sciences et Technologie" | "Sciences et techniques sanitaires et sociales" | "Sciences numériques et technologie" | "Sciences physiques et chimiques en laboratoire" | "Sciences physiques" | "Sciences économiques et sociales" | "Sciences" | "Technologie" | "Transport" | "Économie et gestion hôtellière" | "Économie" | "Économie-Droit" | "Économie-Gestion" | "Éducation civique" | "Éducation musicale" | null | undefined)[] | undefined;
28
- sortByQuery?: "id" | "slug" | "url" | "name" | "schoolTypes" | "hasBooks" | "newsletterUrl" | {} | undefined;
28
+ sortByQuery?: "id" | "slug" | "url" | "name" | "schoolTypes" | "hasBooks" | "newsletterUrl" | "tags" | {} | undefined;
29
29
  }) => Subject[], {
30
30
  clearCache: () => void;
31
31
  }> & {
package/lib/index.js CHANGED
@@ -866,7 +866,7 @@ var { getChapters, getChapter, useSearchChapters } = crud("chapters", {
866
866
 
867
867
  // src/selectors/page.ts
868
868
  init_define_import_meta();
869
- import { makeEntitiesFilter as makeEntitiesFilter5 } from "@lls/utils";
869
+ import { makeEntitiesFilter as makeEntitiesFilter5, pipe as pipe3 } from "@lls/utils";
870
870
  import _4 from "lodash/fp.js";
871
871
  var search5 = ({
872
872
  ids,
@@ -888,35 +888,40 @@ var search5 = ({
888
888
  sharedGroups,
889
889
  isDraft,
890
890
  isParentCreatedFromScratch,
891
- updatedAfter
891
+ updatedAfter,
892
+ sortByQuery
892
893
  }) => {
893
894
  let pageById = false;
894
- return makeEntitiesFilter5(
895
- {
896
- id: ids,
897
- chapter: chapterIds,
898
- valid: isValid,
899
- isOriginal,
900
- hasNewDesign,
901
- slug: slugs,
902
- oldLesson: oldLessonIds,
903
- isLearningAssessment,
904
- isCreatedFromScratch,
905
- premium,
906
- thematicName: thematicNames,
907
- book: bookIds,
908
- parent: parentIds,
909
- user: userIds,
910
- originalPage: originalPageIds,
911
- sharedUsers: sharedUserIds,
912
- sharedGroups,
913
- isDraft
914
- },
915
- isParentCreatedFromScratch && ((page2, pages) => {
916
- pageById = pageById || _4.keyBy("id", pages);
917
- return !!_4.get([page2?.originalPage, "isCreatedFromScratch"], pageById);
918
- }),
919
- updatedAfter && _4.flow(_4.get("updatedAt"), (date) => new Date(date).getTime() - updatedAfter.getTime() >= 0)
895
+ return (pages) => pipe3(
896
+ pages,
897
+ makeEntitiesFilter5(
898
+ {
899
+ id: ids,
900
+ chapter: chapterIds,
901
+ valid: isValid,
902
+ isOriginal,
903
+ hasNewDesign,
904
+ slug: slugs,
905
+ oldLesson: oldLessonIds,
906
+ isLearningAssessment,
907
+ isCreatedFromScratch,
908
+ premium,
909
+ thematicName: thematicNames,
910
+ book: bookIds,
911
+ parent: parentIds,
912
+ user: userIds,
913
+ originalPage: originalPageIds,
914
+ sharedUsers: sharedUserIds,
915
+ sharedGroups,
916
+ isDraft
917
+ },
918
+ isParentCreatedFromScratch && ((page2, pages2) => {
919
+ pageById = pageById || _4.keyBy("id", pages2);
920
+ return !!_4.get([page2?.originalPage, "isCreatedFromScratch"], pageById);
921
+ }),
922
+ updatedAfter && _4.flow(_4.get("updatedAt"), (date) => new Date(date).getTime() - updatedAfter.getTime() >= 0)
923
+ ),
924
+ _4.isFunction(sortByQuery) ? sortByQuery : sortByQuery ? _4.sortBy(sortByQuery) : _4.identity
920
925
  );
921
926
  };
922
927
  var { getPages, getPage, filterPages, useSearchPages, makeSearchPages } = crud("pages", {
@@ -1207,7 +1212,7 @@ var { getStudents, getStudent, useSearchStudents } = crud("students", {
1207
1212
 
1208
1213
  // src/selectors/subject.ts
1209
1214
  init_define_import_meta();
1210
- import { limitToTeacherSubjects, makeEntitiesFilter as makeEntitiesFilter21, pipe as pipe3 } from "@lls/utils";
1215
+ import { limitToTeacherSubjects, makeEntitiesFilter as makeEntitiesFilter21, pipe as pipe4 } from "@lls/utils";
1211
1216
  import _13 from "lodash/fp.js";
1212
1217
  var search24 = ({
1213
1218
  ids,
@@ -1218,7 +1223,7 @@ var search24 = ({
1218
1223
  hasBooks,
1219
1224
  names,
1220
1225
  sortByQuery
1221
- }) => (subjects) => pipe3(
1226
+ }) => (subjects) => pipe4(
1222
1227
  subjects,
1223
1228
  makeEntitiesFilter21(
1224
1229
  {
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-b40e96ea",
5
+ "version": "24.1.67-bdf1676c",
6
6
  "type": "module",
7
7
  "types": "./lib/builttypes/store/src/index.d.ts",
8
8
  "exports": {
@@ -47,8 +47,8 @@
47
47
  "vite": "5.4.6",
48
48
  "vite-tsconfig-paths": "5.0.1",
49
49
  "vitest": "2.1.1",
50
- "@lls/utils": "24.1.67-b40e96ea",
51
- "@lls/vitescripts": "24.1.67-b40e96ea"
50
+ "@lls/utils": "24.1.67-bdf1676c",
51
+ "@lls/vitescripts": "24.1.67-bdf1676c"
52
52
  },
53
53
  "license": "ISC",
54
54
  "dependencies": {