@lls/store 24.1.59-bf92ba76 → 24.1.59-d1bfe110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +194 -20
- package/package.json +3 -3
package/lib/index.js
CHANGED
|
@@ -741,12 +741,12 @@ import _ from "lodash/fp.js";
|
|
|
741
741
|
// src/selectors/crud.ts
|
|
742
742
|
init_define_import_meta();
|
|
743
743
|
import { createSearchSelector, makeGetAllEntities, makeGetEntityById } from "@lls/utils";
|
|
744
|
-
var crud = (entityName, { search:
|
|
744
|
+
var crud = (entityName, { search: search23 }) => {
|
|
745
745
|
const getElements = makeGetAllEntities(entityName);
|
|
746
746
|
const makeSearchElements = () => createSearchSelector(
|
|
747
747
|
getElements,
|
|
748
748
|
(_state, params) => params,
|
|
749
|
-
(elements, params) =>
|
|
749
|
+
(elements, params) => search23(params)(elements)
|
|
750
750
|
);
|
|
751
751
|
const methodName = `${entityName.charAt(0).toUpperCase()}${entityName.slice(1)}`;
|
|
752
752
|
const getElementById = makeGetEntityById(entityName);
|
|
@@ -989,7 +989,7 @@ import { createSearchSelector as createSearchSelector4, filterEntitiesSimpleFiel
|
|
|
989
989
|
import _10 from "lodash/fp.js";
|
|
990
990
|
var getCopyNotifications = makeGetAllEntities3("copyNotifications");
|
|
991
991
|
var makeSearchCopyNotifications = () => createSearchSelector4(
|
|
992
|
-
[getCurrentUser, getCopyNotifications, (
|
|
992
|
+
[getCurrentUser, getCopyNotifications, (_25, params) => params],
|
|
993
993
|
(currentUser, copyNotifications, { pageIds, read }) => _10.flow(
|
|
994
994
|
_10.get("copyNotifications"),
|
|
995
995
|
(ids) => _10.flow(
|
|
@@ -1007,7 +1007,7 @@ import { createSearchSelector as createSearchSelector5, filterEntitiesSimpleFiel
|
|
|
1007
1007
|
import _11 from "lodash/fp.js";
|
|
1008
1008
|
var getDrawerNotifications = makeGetAllEntities4("drawerNotifications");
|
|
1009
1009
|
var makeSearchDrawerNotifications = () => createSearchSelector5(
|
|
1010
|
-
[getCurrentUser, getDrawerNotifications, (
|
|
1010
|
+
[getCurrentUser, getDrawerNotifications, (_25, params) => params],
|
|
1011
1011
|
(currentUser, drawerNotifications, { read, pageIds }) => _11.flow(
|
|
1012
1012
|
_11.get("drawerNotifications"),
|
|
1013
1013
|
(ids) => _11.flow(
|
|
@@ -1116,10 +1116,153 @@ var { getPremiumResources, getPremiumResource, searchPremiumResources, makeSearc
|
|
|
1116
1116
|
}
|
|
1117
1117
|
);
|
|
1118
1118
|
|
|
1119
|
+
// src/selectors/product.ts
|
|
1120
|
+
init_define_import_meta();
|
|
1121
|
+
import _16 from "lodash/fp.js";
|
|
1122
|
+
import {
|
|
1123
|
+
createSearchSelector as createSearchSelector6,
|
|
1124
|
+
filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues5,
|
|
1125
|
+
filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues14,
|
|
1126
|
+
makeGetAllEntities as makeGetAllEntities7
|
|
1127
|
+
} from "@lls/utils";
|
|
1128
|
+
var getProducts = makeGetAllEntities7("products");
|
|
1129
|
+
var search15 = ({
|
|
1130
|
+
ids,
|
|
1131
|
+
eans,
|
|
1132
|
+
isAdoptant,
|
|
1133
|
+
isSupportPlus,
|
|
1134
|
+
levelIds,
|
|
1135
|
+
subjectIds,
|
|
1136
|
+
productTypes
|
|
1137
|
+
}) => {
|
|
1138
|
+
return _16.flow(
|
|
1139
|
+
(products, books) => levelIds || subjectIds ? filterEntitiesArrayFieldByValues5("books", _16.map("id", books))(products) : products,
|
|
1140
|
+
filterEntitiesSimpleFieldByValues14("id", ids),
|
|
1141
|
+
filterEntitiesSimpleFieldByValues14("ean", eans),
|
|
1142
|
+
filterEntitiesSimpleFieldByValues14("isAdoptant", _16.isBoolean(isAdoptant) ? [isAdoptant] : void 0),
|
|
1143
|
+
filterEntitiesSimpleFieldByValues14("isSupportPlus", _16.isBoolean(isSupportPlus) ? [isSupportPlus] : void 0),
|
|
1144
|
+
filterEntitiesSimpleFieldByValues14("productType", productTypes)
|
|
1145
|
+
);
|
|
1146
|
+
};
|
|
1147
|
+
var searchBooks2 = makeSearchBooks();
|
|
1148
|
+
var searchProducts = createSearchSelector6(
|
|
1149
|
+
getProducts,
|
|
1150
|
+
(state, { levelIds, subjectIds }) => searchBooks2(state, { levelIds, subjectIds }),
|
|
1151
|
+
(_state, params) => params,
|
|
1152
|
+
(products, books, params) => search15(params)(products, books)
|
|
1153
|
+
);
|
|
1154
|
+
|
|
1155
|
+
// src/selectors/resource.ts
|
|
1156
|
+
init_define_import_meta();
|
|
1157
|
+
import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues15 } from "@lls/utils";
|
|
1158
|
+
import _17 from "lodash/fp.js";
|
|
1159
|
+
var search16 = ({ chapterIds }) => _17.flow(filterEntitiesSimpleFieldByValues15("chapter", chapterIds));
|
|
1160
|
+
var { getResources, getResource, searchResources, makeSearchResources } = crud("resources", {
|
|
1161
|
+
search: search16
|
|
1162
|
+
});
|
|
1163
|
+
|
|
1164
|
+
// src/selectors/schoolType.ts
|
|
1165
|
+
init_define_import_meta();
|
|
1166
|
+
import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues16 } from "@lls/utils";
|
|
1167
|
+
var search17 = ({ slugs }) => filterEntitiesSimpleFieldByValues16("slug", slugs);
|
|
1168
|
+
var { getSchoolTypes, getSchoolType, searchSchoolTypes, makeSearchSchoolTypes } = crud("schoolTypes", {
|
|
1169
|
+
search: search17
|
|
1170
|
+
});
|
|
1171
|
+
|
|
1172
|
+
// src/selectors/sharedPage.ts
|
|
1173
|
+
init_define_import_meta();
|
|
1174
|
+
import { createSearchSelector as createSearchSelector7, filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue3, filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues17 } from "@lls/utils";
|
|
1175
|
+
import _18 from "lodash/fp.js";
|
|
1176
|
+
var search18 = ({
|
|
1177
|
+
parentIds,
|
|
1178
|
+
userIds,
|
|
1179
|
+
bookIds,
|
|
1180
|
+
isCreatedFromScratch,
|
|
1181
|
+
isLearningAssessment,
|
|
1182
|
+
ids
|
|
1183
|
+
}) => _18.flow(
|
|
1184
|
+
filterEntitiesSimpleFieldByValues17("id", ids),
|
|
1185
|
+
filterEntitiesSimpleFieldByValues17("parent", parentIds),
|
|
1186
|
+
filterEntitiesSimpleFieldByValues17("user", userIds),
|
|
1187
|
+
filterEntitiesSimpleFieldByValues17("book", bookIds),
|
|
1188
|
+
filterEntitiesSimpleFieldByValue3("isLearningAssessment", isLearningAssessment),
|
|
1189
|
+
filterEntitiesSimpleFieldByValue3("isCreatedFromScratch", isCreatedFromScratch)
|
|
1190
|
+
);
|
|
1191
|
+
var { getSharedPages, getSharedPage, searchSharedPages, makeSearchSharedPages } = crud("sharedPages", {
|
|
1192
|
+
search: search18
|
|
1193
|
+
});
|
|
1194
|
+
var searchCurrentUserSharedPages = createSearchSelector7(
|
|
1195
|
+
(state) => _18.flow(getCurrentUser, _18.getOr([], "sharedPages"))(state),
|
|
1196
|
+
getSharedPages,
|
|
1197
|
+
(_25, params) => params,
|
|
1198
|
+
(sharedUserPageIds, sharedPages, params) => search18({ ...params, ids: _18.intersection(sharedUserPageIds, params.ids || sharedUserPageIds) })(sharedPages)
|
|
1199
|
+
);
|
|
1200
|
+
|
|
1201
|
+
// src/selectors/student.ts
|
|
1202
|
+
init_define_import_meta();
|
|
1203
|
+
import { filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues18 } from "@lls/utils";
|
|
1204
|
+
var search19 = ({ ids }) => filterEntitiesSimpleFieldByValues18("id", ids);
|
|
1205
|
+
var { getStudents, getStudent, searchStudents, makeSearchStudents } = crud("students", {
|
|
1206
|
+
search: search19
|
|
1207
|
+
});
|
|
1208
|
+
|
|
1209
|
+
// src/selectors/subject.ts
|
|
1210
|
+
init_define_import_meta();
|
|
1211
|
+
import {
|
|
1212
|
+
filterEntitiesArrayFieldByValues as filterEntitiesArrayFieldByValues6,
|
|
1213
|
+
filterEntitiesFieldExists as filterEntitiesFieldExists2,
|
|
1214
|
+
filterEntitiesSimpleFieldByValue as filterEntitiesSimpleFieldByValue4,
|
|
1215
|
+
filterEntitiesSimpleFieldByValues as filterEntitiesSimpleFieldByValues19,
|
|
1216
|
+
limitToTeacherSubjects
|
|
1217
|
+
} from "@lls/utils";
|
|
1218
|
+
import _19 from "lodash/fp.js";
|
|
1219
|
+
var search20 = ({
|
|
1220
|
+
ids,
|
|
1221
|
+
slugs,
|
|
1222
|
+
isTeacherSubject,
|
|
1223
|
+
hasNewsletterUrl,
|
|
1224
|
+
schoolTypes,
|
|
1225
|
+
hasBooks,
|
|
1226
|
+
names
|
|
1227
|
+
}) => _19.flow(
|
|
1228
|
+
filterEntitiesSimpleFieldByValues19("id", ids),
|
|
1229
|
+
filterEntitiesSimpleFieldByValues19("slug", slugs),
|
|
1230
|
+
filterEntitiesSimpleFieldByValues19("name", names),
|
|
1231
|
+
filterEntitiesSimpleFieldByValue4("hasBooks", hasBooks),
|
|
1232
|
+
filterEntitiesArrayFieldByValues6("schoolTypes", schoolTypes),
|
|
1233
|
+
(subjects) => _19.isNil(isTeacherSubject) ? subjects : limitToTeacherSubjects(subjects),
|
|
1234
|
+
filterEntitiesFieldExists2("newsletterUrl", hasNewsletterUrl)
|
|
1235
|
+
);
|
|
1236
|
+
var { getSubjects, getSubject, searchSubjects, makeSearchSubjects } = crud("subjects", {
|
|
1237
|
+
search: search20
|
|
1238
|
+
});
|
|
1239
|
+
|
|
1240
|
+
// src/selectors/teacher.ts
|
|
1241
|
+
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));
|
|
1245
|
+
var { getTeachers, getTeacher, searchTeachers, makeSearchTeachers } = crud("teachers", {
|
|
1246
|
+
search: search21
|
|
1247
|
+
});
|
|
1248
|
+
|
|
1249
|
+
// src/selectors/tool.ts
|
|
1250
|
+
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(
|
|
1254
|
+
filterEntitiesSimpleFieldByValues21("id", ids),
|
|
1255
|
+
filterEntitiesSimpleFieldByValues21("locked", _21.isNil(locked) ? void 0 : [locked]),
|
|
1256
|
+
filterEntitiesArrayFieldByValues8("books", bookIds)
|
|
1257
|
+
);
|
|
1258
|
+
var { getTools, getTool, searchTools, makeSearchTools } = crud("tools", {
|
|
1259
|
+
search: search22
|
|
1260
|
+
});
|
|
1261
|
+
|
|
1119
1262
|
// src/reducers/entities.ts
|
|
1120
1263
|
init_define_import_meta();
|
|
1121
1264
|
import { makeReducer } from "@lls/utils";
|
|
1122
|
-
import
|
|
1265
|
+
import _22 from "lodash/fp.js";
|
|
1123
1266
|
|
|
1124
1267
|
// src/actions/index.ts
|
|
1125
1268
|
init_define_import_meta();
|
|
@@ -1142,23 +1285,23 @@ var resetAuth = makeActionCreator(actionTypes.RESET_AUTH);
|
|
|
1142
1285
|
// src/reducers/entities.ts
|
|
1143
1286
|
var deleteEntityReducer = (state, payload) => {
|
|
1144
1287
|
const { path } = payload;
|
|
1145
|
-
return
|
|
1288
|
+
return _22.omit(path, state);
|
|
1146
1289
|
};
|
|
1147
1290
|
var updateEntityReducer = (state, payload) => {
|
|
1148
1291
|
const { path, entity } = payload;
|
|
1149
|
-
const currentEntity =
|
|
1150
|
-
return
|
|
1292
|
+
const currentEntity = _22.get(path, state);
|
|
1293
|
+
return _22.set(path, _22.merge(currentEntity, entity), state);
|
|
1151
1294
|
};
|
|
1152
1295
|
var setEntityReducer = (state, payload) => {
|
|
1153
1296
|
const { path, entity } = payload;
|
|
1154
|
-
return
|
|
1297
|
+
return _22.set(path, entity, state);
|
|
1155
1298
|
};
|
|
1156
1299
|
var shallowAssign = (old, next, transform) => {
|
|
1157
1300
|
let updated = false;
|
|
1158
|
-
const merged =
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
if (
|
|
1301
|
+
const merged = _22.flow(
|
|
1302
|
+
_22.toPairs,
|
|
1303
|
+
_22.reduce((memo, [key, val]) => {
|
|
1304
|
+
if (_22.isEmpty(val)) return memo;
|
|
1162
1305
|
if (!old[key]) {
|
|
1163
1306
|
updated = true;
|
|
1164
1307
|
memo[key] = val;
|
|
@@ -1171,7 +1314,7 @@ var shallowAssign = (old, next, transform) => {
|
|
|
1171
1314
|
return memo;
|
|
1172
1315
|
}
|
|
1173
1316
|
return memo;
|
|
1174
|
-
},
|
|
1317
|
+
}, _22.clone(old))
|
|
1175
1318
|
)(next);
|
|
1176
1319
|
return updated ? merged : old;
|
|
1177
1320
|
};
|
|
@@ -1180,7 +1323,7 @@ var setEntitiesReducer = (state, payload) => {
|
|
|
1180
1323
|
return shallowAssign(
|
|
1181
1324
|
entityKind,
|
|
1182
1325
|
nextEntityKind,
|
|
1183
|
-
(oldEntity, nextEntity) =>
|
|
1326
|
+
(oldEntity, nextEntity) => _22.isEqual(oldEntity, nextEntity) ? oldEntity : _22.assign(oldEntity, nextEntity)
|
|
1184
1327
|
);
|
|
1185
1328
|
});
|
|
1186
1329
|
};
|
|
@@ -1198,7 +1341,7 @@ var entities_default = entities;
|
|
|
1198
1341
|
// src/reducers/auth.ts
|
|
1199
1342
|
init_define_import_meta();
|
|
1200
1343
|
import { makeReducer as makeReducer2 } from "@lls/utils";
|
|
1201
|
-
import
|
|
1344
|
+
import _23 from "lodash/fp.js";
|
|
1202
1345
|
var initialState = {
|
|
1203
1346
|
id: void 0,
|
|
1204
1347
|
role: null,
|
|
@@ -1211,15 +1354,15 @@ var initialState = {
|
|
|
1211
1354
|
llsUserId: null
|
|
1212
1355
|
};
|
|
1213
1356
|
var auth = makeReducer2(initialState, {
|
|
1214
|
-
[actionTypes.SET_AUTH]:
|
|
1215
|
-
[actionTypes.RESET_AUTH]:
|
|
1357
|
+
[actionTypes.SET_AUTH]: _23.assign,
|
|
1358
|
+
[actionTypes.RESET_AUTH]: _23.constant(initialState)
|
|
1216
1359
|
});
|
|
1217
1360
|
var auth_default = auth;
|
|
1218
1361
|
|
|
1219
1362
|
// src/schema/index.ts
|
|
1220
1363
|
init_define_import_meta();
|
|
1221
1364
|
var import_normalizr = __toESM(require_normalizr(), 1);
|
|
1222
|
-
import
|
|
1365
|
+
import _24 from "lodash/fp.js";
|
|
1223
1366
|
var document = new import_normalizr.schema.Entity("documents", {}, { idAttribute: "resourceId" });
|
|
1224
1367
|
var subject = new import_normalizr.schema.Entity("subjects");
|
|
1225
1368
|
var level = new import_normalizr.schema.Entity("levels");
|
|
@@ -1406,7 +1549,7 @@ var querySchema = {
|
|
|
1406
1549
|
}
|
|
1407
1550
|
}
|
|
1408
1551
|
};
|
|
1409
|
-
var normalizeData =
|
|
1552
|
+
var normalizeData = _24.flow((data) => (0, import_normalizr.normalize)(data, querySchema));
|
|
1410
1553
|
export {
|
|
1411
1554
|
auth_default as authReducer,
|
|
1412
1555
|
entities_default as entitiesReducer,
|
|
@@ -1438,8 +1581,23 @@ export {
|
|
|
1438
1581
|
getPanorama,
|
|
1439
1582
|
getPremiumResource,
|
|
1440
1583
|
getPremiumResources,
|
|
1584
|
+
getProducts,
|
|
1585
|
+
getResource,
|
|
1586
|
+
getResources,
|
|
1441
1587
|
getSchool,
|
|
1588
|
+
getSchoolType,
|
|
1589
|
+
getSchoolTypes,
|
|
1442
1590
|
getSchools,
|
|
1591
|
+
getSharedPage,
|
|
1592
|
+
getSharedPages,
|
|
1593
|
+
getStudent,
|
|
1594
|
+
getStudents,
|
|
1595
|
+
getSubject,
|
|
1596
|
+
getSubjects,
|
|
1597
|
+
getTeacher,
|
|
1598
|
+
getTeachers,
|
|
1599
|
+
getTool,
|
|
1600
|
+
getTools,
|
|
1443
1601
|
getUser,
|
|
1444
1602
|
getUserGroups,
|
|
1445
1603
|
getUsers,
|
|
@@ -1460,7 +1618,14 @@ export {
|
|
|
1460
1618
|
makeSearchNews,
|
|
1461
1619
|
makeSearchPages,
|
|
1462
1620
|
makeSearchPremiumResources,
|
|
1621
|
+
makeSearchResources,
|
|
1622
|
+
makeSearchSchoolTypes,
|
|
1463
1623
|
makeSearchSchools,
|
|
1624
|
+
makeSearchSharedPages,
|
|
1625
|
+
makeSearchStudents,
|
|
1626
|
+
makeSearchSubjects,
|
|
1627
|
+
makeSearchTeachers,
|
|
1628
|
+
makeSearchTools,
|
|
1464
1629
|
makeSearchUsers,
|
|
1465
1630
|
makeSearchValidBooks,
|
|
1466
1631
|
normalizeData,
|
|
@@ -1471,6 +1636,7 @@ export {
|
|
|
1471
1636
|
searchCommunityProjects,
|
|
1472
1637
|
searchContacts,
|
|
1473
1638
|
searchCopyNotifications,
|
|
1639
|
+
searchCurrentUserSharedPages,
|
|
1474
1640
|
searchDraftPages,
|
|
1475
1641
|
searchDrawerNotifications,
|
|
1476
1642
|
searchGarDivisions,
|
|
@@ -1480,7 +1646,15 @@ export {
|
|
|
1480
1646
|
searchNews,
|
|
1481
1647
|
searchPages,
|
|
1482
1648
|
searchPremiumResources,
|
|
1649
|
+
searchProducts,
|
|
1650
|
+
searchResources,
|
|
1651
|
+
searchSchoolTypes,
|
|
1483
1652
|
searchSchools,
|
|
1653
|
+
searchSharedPages,
|
|
1654
|
+
searchStudents,
|
|
1655
|
+
searchSubjects,
|
|
1656
|
+
searchTeachers,
|
|
1657
|
+
searchTools,
|
|
1484
1658
|
searchUsers,
|
|
1485
1659
|
searchValidBooks,
|
|
1486
1660
|
setEntitiesReducer
|
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-
|
|
5
|
+
"version": "24.1.59-d1bfe110",
|
|
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-
|
|
45
|
-
"@lls/vitescripts": "24.1.59-
|
|
44
|
+
"@lls/utils": "24.1.59-d1bfe110",
|
|
45
|
+
"@lls/vitescripts": "24.1.59-d1bfe110"
|
|
46
46
|
},
|
|
47
47
|
"license": "ISC",
|
|
48
48
|
"dependencies": {
|