@replyke/core 5.1.6-beta.3 → 5.1.6-beta.5
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/dist/cjs/context/index.d.ts +0 -1
- package/dist/cjs/context/index.js +1 -5
- package/dist/cjs/context/index.js.map +1 -1
- package/dist/cjs/hooks/entities/index.d.ts +1 -3
- package/dist/cjs/hooks/entities/index.js +2 -6
- package/dist/cjs/hooks/entities/index.js.map +1 -1
- package/dist/cjs/hooks/entities/useEntityData.js +2 -2
- package/dist/cjs/hooks/entities/useEntityData.js.map +1 -1
- package/dist/cjs/hooks/entity-lists/useFetchManyEntities.js.map +1 -0
- package/dist/cjs/hooks/entity-lists/useInfusedData.js.map +1 -0
- package/dist/cjs/hooks/entity-lists-redux/index.d.ts +2 -0
- package/dist/cjs/hooks/entity-lists-redux/index.js +9 -0
- package/dist/cjs/hooks/entity-lists-redux/index.js.map +1 -0
- package/dist/cjs/hooks/entity-lists-redux/useEntityListRedux.d.ts +66 -0
- package/dist/cjs/hooks/entity-lists-redux/useEntityListRedux.js +309 -0
- package/dist/cjs/hooks/entity-lists-redux/useEntityListRedux.js.map +1 -0
- package/dist/cjs/hooks/lists-redux/useIsEntitySaved.js +4 -4
- package/dist/cjs/hooks/lists-redux/useIsEntitySaved.js.map +1 -1
- package/dist/cjs/hooks/lists-redux/useListsRedux.js +6 -6
- package/dist/cjs/hooks/lists-redux/useListsRedux.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -2
- package/dist/cjs/index.js +7 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{context → legacy/context}/entity-list-context.d.ts +1 -1
- package/dist/cjs/{context → legacy/context}/entity-list-context.js +1 -1
- package/dist/cjs/legacy/context/entity-list-context.js.map +1 -0
- package/dist/cjs/legacy/hooks/entity-lists/useEntityList.js.map +1 -0
- package/dist/cjs/{hooks/entities → legacy/hooks/entity-lists}/useEntityListData.d.ts +9 -9
- package/dist/cjs/{hooks/entities → legacy/hooks/entity-lists}/useEntityListData.js +5 -5
- package/dist/cjs/legacy/hooks/entity-lists/useEntityListData.js.map +1 -0
- package/dist/cjs/store/index.d.ts +4 -2
- package/dist/cjs/store/rootReducer.d.ts +2 -0
- package/dist/cjs/store/rootReducer.js +2 -0
- package/dist/cjs/store/rootReducer.js.map +1 -1
- package/dist/cjs/store/slices/entityListsSlice.d.ts +141 -0
- package/dist/cjs/store/slices/entityListsSlice.js +281 -0
- package/dist/cjs/store/slices/entityListsSlice.js.map +1 -0
- package/dist/cjs/store/slices/index.d.ts +0 -1
- package/dist/cjs/store/slices/index.js +2 -18
- package/dist/cjs/store/slices/index.js.map +1 -1
- package/dist/cjs/store/slices/listsSlice.d.ts +18 -8
- package/dist/cjs/store/slices/listsSlice.js +107 -99
- package/dist/cjs/store/slices/listsSlice.js.map +1 -1
- package/dist/cjs/utils/keywordHelpers.d.ts +30 -0
- package/dist/cjs/utils/keywordHelpers.js +101 -0
- package/dist/cjs/utils/keywordHelpers.js.map +1 -0
- package/dist/esm/context/index.d.ts +0 -1
- package/dist/esm/context/index.js +0 -3
- package/dist/esm/context/index.js.map +1 -1
- package/dist/esm/hooks/entities/index.d.ts +1 -3
- package/dist/esm/hooks/entities/index.js +1 -3
- package/dist/esm/hooks/entities/index.js.map +1 -1
- package/dist/esm/hooks/entities/useEntityData.js +2 -2
- package/dist/esm/hooks/entities/useEntityData.js.map +1 -1
- package/dist/esm/hooks/entity-lists/useFetchManyEntities.js.map +1 -0
- package/dist/esm/hooks/entity-lists/useInfusedData.js.map +1 -0
- package/dist/esm/hooks/entity-lists-redux/index.d.ts +2 -0
- package/dist/esm/hooks/entity-lists-redux/index.js +2 -0
- package/dist/esm/hooks/entity-lists-redux/index.js.map +1 -0
- package/dist/esm/hooks/entity-lists-redux/useEntityListRedux.d.ts +66 -0
- package/dist/esm/hooks/entity-lists-redux/useEntityListRedux.js +304 -0
- package/dist/esm/hooks/entity-lists-redux/useEntityListRedux.js.map +1 -0
- package/dist/esm/hooks/lists-redux/useIsEntitySaved.js +4 -4
- package/dist/esm/hooks/lists-redux/useIsEntitySaved.js.map +1 -1
- package/dist/esm/hooks/lists-redux/useListsRedux.js +7 -7
- package/dist/esm/hooks/lists-redux/useListsRedux.js.map +1 -1
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.js +5 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{context → legacy/context}/entity-list-context.d.ts +1 -1
- package/dist/esm/{context → legacy/context}/entity-list-context.js +1 -1
- package/dist/esm/legacy/context/entity-list-context.js.map +1 -0
- package/dist/esm/legacy/hooks/entity-lists/useEntityList.js.map +1 -0
- package/dist/esm/{hooks/entities → legacy/hooks/entity-lists}/useEntityListData.d.ts +9 -9
- package/dist/esm/{hooks/entities → legacy/hooks/entity-lists}/useEntityListData.js +5 -5
- package/dist/esm/legacy/hooks/entity-lists/useEntityListData.js.map +1 -0
- package/dist/esm/store/index.d.ts +4 -2
- package/dist/esm/store/rootReducer.d.ts +2 -0
- package/dist/esm/store/rootReducer.js +2 -0
- package/dist/esm/store/rootReducer.js.map +1 -1
- package/dist/esm/store/slices/entityListsSlice.d.ts +141 -0
- package/dist/esm/store/slices/entityListsSlice.js +273 -0
- package/dist/esm/store/slices/entityListsSlice.js.map +1 -0
- package/dist/esm/store/slices/index.d.ts +0 -1
- package/dist/esm/store/slices/index.js +3 -3
- package/dist/esm/store/slices/index.js.map +1 -1
- package/dist/esm/store/slices/listsSlice.d.ts +18 -8
- package/dist/esm/store/slices/listsSlice.js +103 -97
- package/dist/esm/store/slices/listsSlice.js.map +1 -1
- package/dist/esm/utils/keywordHelpers.d.ts +30 -0
- package/dist/esm/utils/keywordHelpers.js +98 -0
- package/dist/esm/utils/keywordHelpers.js.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/context/entity-list-context.js.map +0 -1
- package/dist/cjs/hooks/entities/useEntityList.js.map +0 -1
- package/dist/cjs/hooks/entities/useEntityListData.js.map +0 -1
- package/dist/cjs/hooks/entities/useFetchManyEntities.js.map +0 -1
- package/dist/cjs/hooks/entities/useInfusedData.js.map +0 -1
- package/dist/esm/context/entity-list-context.js.map +0 -1
- package/dist/esm/hooks/entities/useEntityList.js.map +0 -1
- package/dist/esm/hooks/entities/useEntityListData.js.map +0 -1
- package/dist/esm/hooks/entities/useFetchManyEntities.js.map +0 -1
- package/dist/esm/hooks/entities/useInfusedData.js.map +0 -1
- /package/dist/cjs/hooks/{entities → entity-lists}/useFetchManyEntities.d.ts +0 -0
- /package/dist/cjs/hooks/{entities → entity-lists}/useFetchManyEntities.js +0 -0
- /package/dist/cjs/hooks/{entities → entity-lists}/useInfusedData.d.ts +0 -0
- /package/dist/cjs/hooks/{entities → entity-lists}/useInfusedData.js +0 -0
- /package/dist/cjs/{hooks/entities → legacy/hooks/entity-lists}/useEntityList.d.ts +0 -0
- /package/dist/cjs/{hooks/entities → legacy/hooks/entity-lists}/useEntityList.js +0 -0
- /package/dist/esm/hooks/{entities → entity-lists}/useFetchManyEntities.d.ts +0 -0
- /package/dist/esm/hooks/{entities → entity-lists}/useFetchManyEntities.js +0 -0
- /package/dist/esm/hooks/{entities → entity-lists}/useInfusedData.d.ts +0 -0
- /package/dist/esm/hooks/{entities → entity-lists}/useInfusedData.js +0 -0
- /package/dist/esm/{hooks/entities → legacy/hooks/entity-lists}/useEntityList.d.ts +0 -0
- /package/dist/esm/{hooks/entities → legacy/hooks/entity-lists}/useEntityList.js +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Entity } from "../../interfaces/models/Entity";
|
|
2
|
+
import { EntityListSortByOptions } from "../../interfaces/EntityListSortByOptions";
|
|
3
|
+
import { LocationFilters } from "../../interfaces/entity-filters/LocationFilters";
|
|
4
|
+
import { TimeFrame } from "../../interfaces/TimeFrame";
|
|
5
|
+
import { MetadataFilters } from "../../interfaces/entity-filters/MetadataFilters";
|
|
6
|
+
import { TitleFilters } from "../../interfaces/entity-filters/TitleFilters";
|
|
7
|
+
import { ContentFilters } from "../../interfaces/entity-filters/ContentFilters";
|
|
8
|
+
import { AttachmentsFilters } from "../../interfaces/entity-filters/AttachmentsFilters";
|
|
9
|
+
import { KeywordsFilters } from "../../interfaces/entity-filters/KeywordsFilters";
|
|
10
|
+
export interface UseEntityListReduxProps {
|
|
11
|
+
listId: string;
|
|
12
|
+
limit?: number;
|
|
13
|
+
sourceId?: string | null;
|
|
14
|
+
infuseData?: (foreignId: string) => Promise<Record<string, any> | null>;
|
|
15
|
+
}
|
|
16
|
+
export interface UseEntityListReduxValues {
|
|
17
|
+
entities: Entity[];
|
|
18
|
+
infusedEntities: (Entity & Record<string, any>)[];
|
|
19
|
+
loading: boolean;
|
|
20
|
+
hasMore: boolean;
|
|
21
|
+
sortBy: EntityListSortByOptions | null;
|
|
22
|
+
timeFrame: TimeFrame | null;
|
|
23
|
+
sourceId: string | null;
|
|
24
|
+
userId: string | null;
|
|
25
|
+
followedOnly: boolean;
|
|
26
|
+
keywordsFilters: KeywordsFilters | null;
|
|
27
|
+
titleFilters: TitleFilters | null;
|
|
28
|
+
contentFilters: ContentFilters | null;
|
|
29
|
+
attachmentsFilters: AttachmentsFilters | null;
|
|
30
|
+
locationFilters: LocationFilters | null;
|
|
31
|
+
metadataFilters: MetadataFilters | null;
|
|
32
|
+
fetchEntities: (filters: Partial<{
|
|
33
|
+
sortBy?: EntityListSortByOptions;
|
|
34
|
+
timeFrame?: TimeFrame | null;
|
|
35
|
+
userId?: string | null;
|
|
36
|
+
followedOnly?: boolean;
|
|
37
|
+
keywordsFilters?: KeywordsFilters | null;
|
|
38
|
+
titleFilters?: TitleFilters | null;
|
|
39
|
+
contentFilters?: ContentFilters | null;
|
|
40
|
+
attachmentsFilters?: AttachmentsFilters | null;
|
|
41
|
+
locationFilters?: LocationFilters | null;
|
|
42
|
+
metadataFilters?: MetadataFilters | null;
|
|
43
|
+
}>, options?: {
|
|
44
|
+
resetUnspecified?: boolean;
|
|
45
|
+
immediate?: boolean;
|
|
46
|
+
}) => void;
|
|
47
|
+
loadMore: () => void;
|
|
48
|
+
createEntity: (props: {
|
|
49
|
+
foreignId?: string;
|
|
50
|
+
title?: string;
|
|
51
|
+
content?: string;
|
|
52
|
+
attachments?: Record<string, any>[];
|
|
53
|
+
keywords?: string[];
|
|
54
|
+
location?: {
|
|
55
|
+
latitude: number;
|
|
56
|
+
longitude: number;
|
|
57
|
+
};
|
|
58
|
+
metadata?: Record<string, any>;
|
|
59
|
+
insertPosition?: "first" | "last";
|
|
60
|
+
}) => Promise<Entity | undefined>;
|
|
61
|
+
deleteEntity: (props: {
|
|
62
|
+
entityId: string;
|
|
63
|
+
}) => Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
declare function useEntityListRedux({ listId, limit, sourceId, infuseData, }: UseEntityListReduxProps): UseEntityListReduxValues;
|
|
66
|
+
export default useEntityListRedux;
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
23
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
49
|
+
var t = {};
|
|
50
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
51
|
+
t[p] = s[p];
|
|
52
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
53
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
54
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
55
|
+
t[p[i]] = s[p[i]];
|
|
56
|
+
}
|
|
57
|
+
return t;
|
|
58
|
+
};
|
|
59
|
+
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
60
|
+
import { useDispatch, useSelector } from "react-redux";
|
|
61
|
+
import { initializeList, updateFiltersAndSort, setEntityListLoading, setEntityListEntities, incrementPage, setEntityListHasMore, setEntityListError, addEntity, removeEntity, selectEntityList, selectEntityListEntities, selectEntityListLoading, selectEntityListHasMore, selectEntityListFilters, } from "../../store/slices/entityListsSlice";
|
|
62
|
+
import useFetchManyEntities from "../entity-lists/useFetchManyEntities";
|
|
63
|
+
import useInfusedData from "../entity-lists/useInfusedData";
|
|
64
|
+
import useCreateEntity from "../entities/useCreateEntity";
|
|
65
|
+
import useDeleteEntity from "../entities/useDeleteEntity";
|
|
66
|
+
import { handleError } from "../../utils/handleError";
|
|
67
|
+
function useEntityListRedux(_a) {
|
|
68
|
+
var _this = this;
|
|
69
|
+
var listId = _a.listId, _b = _a.limit, limit = _b === void 0 ? 10 : _b, sourceId = _a.sourceId, infuseData = _a.infuseData;
|
|
70
|
+
var dispatch = useDispatch();
|
|
71
|
+
// Initialize list if it doesn't exist
|
|
72
|
+
useEffect(function () {
|
|
73
|
+
dispatch(initializeList({ listId: listId, limit: limit, sourceId: sourceId }));
|
|
74
|
+
}, [dispatch, listId, limit, sourceId]);
|
|
75
|
+
// Get state from Redux
|
|
76
|
+
var entityList = useSelector(function (state) { return selectEntityList(state, listId); });
|
|
77
|
+
var entities = useSelector(function (state) { return selectEntityListEntities(state, listId); });
|
|
78
|
+
var loading = useSelector(function (state) { return selectEntityListLoading(state, listId); });
|
|
79
|
+
var hasMore = useSelector(function (state) { return selectEntityListHasMore(state, listId); });
|
|
80
|
+
var filters = useSelector(function (state) { return selectEntityListFilters(state, listId); });
|
|
81
|
+
// Get entity hooks
|
|
82
|
+
var fetchManyEntities = useFetchManyEntities();
|
|
83
|
+
var createEntityHook = useCreateEntity();
|
|
84
|
+
var deleteEntityHook = useDeleteEntity();
|
|
85
|
+
// Infused data
|
|
86
|
+
var infusedEntities = useInfusedData({ entities: entities, infuseData: infuseData });
|
|
87
|
+
// Debounce timer for filter changes
|
|
88
|
+
var debounceTimer = useRef(null);
|
|
89
|
+
// Fetch entities function (always triggers a fetch)
|
|
90
|
+
var handleFetchEntities = useCallback(function (newFilters, options) {
|
|
91
|
+
// Update filters in Redux state
|
|
92
|
+
dispatch(updateFiltersAndSort({ listId: listId, filters: newFilters, options: options }));
|
|
93
|
+
// Define the fetch logic
|
|
94
|
+
var performFetch = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
95
|
+
var newEntities, err_1;
|
|
96
|
+
return __generator(this, function (_a) {
|
|
97
|
+
switch (_a.label) {
|
|
98
|
+
case 0:
|
|
99
|
+
if (!entityList)
|
|
100
|
+
return [2 /*return*/];
|
|
101
|
+
dispatch(setEntityListLoading({ listId: listId, loading: true }));
|
|
102
|
+
_a.label = 1;
|
|
103
|
+
case 1:
|
|
104
|
+
_a.trys.push([1, 3, 4, 5]);
|
|
105
|
+
return [4 /*yield*/, fetchManyEntities({
|
|
106
|
+
page: 1,
|
|
107
|
+
sortBy: entityList.sortBy,
|
|
108
|
+
timeFrame: entityList.timeFrame,
|
|
109
|
+
userId: entityList.userId,
|
|
110
|
+
sourceId: entityList.sourceId,
|
|
111
|
+
followedOnly: entityList.followedOnly,
|
|
112
|
+
limit: entityList.limit,
|
|
113
|
+
locationFilters: entityList.locationFilters,
|
|
114
|
+
keywordsFilters: entityList.keywordsFilters,
|
|
115
|
+
metadataFilters: entityList.metadataFilters,
|
|
116
|
+
titleFilters: entityList.titleFilters,
|
|
117
|
+
contentFilters: entityList.contentFilters,
|
|
118
|
+
attachmentsFilters: entityList.attachmentsFilters,
|
|
119
|
+
})];
|
|
120
|
+
case 2:
|
|
121
|
+
newEntities = _a.sent();
|
|
122
|
+
if (newEntities) {
|
|
123
|
+
dispatch(setEntityListEntities({ listId: listId, entities: newEntities, append: false }));
|
|
124
|
+
dispatch(setEntityListHasMore({ listId: listId, hasMore: newEntities.length >= entityList.limit }));
|
|
125
|
+
}
|
|
126
|
+
return [3 /*break*/, 5];
|
|
127
|
+
case 3:
|
|
128
|
+
err_1 = _a.sent();
|
|
129
|
+
handleError(err_1, "Failed to fetch entities:");
|
|
130
|
+
dispatch(setEntityListError({ listId: listId, error: "Failed to fetch entities" }));
|
|
131
|
+
return [3 /*break*/, 5];
|
|
132
|
+
case 4:
|
|
133
|
+
dispatch(setEntityListLoading({ listId: listId, loading: false }));
|
|
134
|
+
return [7 /*endfinally*/];
|
|
135
|
+
case 5: return [2 /*return*/];
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}); };
|
|
139
|
+
// Execute immediately if requested, otherwise debounce
|
|
140
|
+
if (options === null || options === void 0 ? void 0 : options.immediate) {
|
|
141
|
+
performFetch();
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
// Clear existing debounce timer
|
|
145
|
+
if (debounceTimer.current) {
|
|
146
|
+
clearTimeout(debounceTimer.current);
|
|
147
|
+
}
|
|
148
|
+
// Debounce the actual fetch
|
|
149
|
+
debounceTimer.current = setTimeout(function () {
|
|
150
|
+
performFetch();
|
|
151
|
+
}, 800); // 800ms debounce delay
|
|
152
|
+
}
|
|
153
|
+
}, [dispatch, listId, entityList, fetchManyEntities]);
|
|
154
|
+
// Load more function
|
|
155
|
+
var loadMore = useCallback(function () {
|
|
156
|
+
if (!entityList || loading || !hasMore)
|
|
157
|
+
return;
|
|
158
|
+
dispatch(incrementPage(listId));
|
|
159
|
+
}, [dispatch, listId, entityList, loading, hasMore]);
|
|
160
|
+
// Create entity function
|
|
161
|
+
var createEntity = useCallback(function (_a) { return __awaiter(_this, void 0, void 0, function () {
|
|
162
|
+
var newEntity, err_2;
|
|
163
|
+
var insertPosition = _a.insertPosition, restOfProps = __rest(_a, ["insertPosition"]);
|
|
164
|
+
return __generator(this, function (_b) {
|
|
165
|
+
switch (_b.label) {
|
|
166
|
+
case 0:
|
|
167
|
+
_b.trys.push([0, 2, , 3]);
|
|
168
|
+
return [4 /*yield*/, createEntityHook(__assign(__assign({}, restOfProps), { sourceId: (entityList === null || entityList === void 0 ? void 0 : entityList.sourceId) || undefined }))];
|
|
169
|
+
case 1:
|
|
170
|
+
newEntity = _b.sent();
|
|
171
|
+
dispatch(addEntity({
|
|
172
|
+
listId: listId,
|
|
173
|
+
entity: newEntity,
|
|
174
|
+
insertPosition: insertPosition
|
|
175
|
+
}));
|
|
176
|
+
return [2 /*return*/, newEntity];
|
|
177
|
+
case 2:
|
|
178
|
+
err_2 = _b.sent();
|
|
179
|
+
handleError(err_2, "Failed to create entity");
|
|
180
|
+
return [3 /*break*/, 3];
|
|
181
|
+
case 3: return [2 /*return*/];
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}); }, [createEntityHook, dispatch, listId, entityList]);
|
|
185
|
+
// Delete entity function
|
|
186
|
+
var deleteEntity = useCallback(function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
187
|
+
var err_3;
|
|
188
|
+
var entityId = _b.entityId;
|
|
189
|
+
return __generator(this, function (_c) {
|
|
190
|
+
switch (_c.label) {
|
|
191
|
+
case 0:
|
|
192
|
+
_c.trys.push([0, 2, , 3]);
|
|
193
|
+
return [4 /*yield*/, deleteEntityHook({ entityId: entityId })];
|
|
194
|
+
case 1:
|
|
195
|
+
_c.sent();
|
|
196
|
+
dispatch(removeEntity({ listId: listId, entityId: entityId }));
|
|
197
|
+
return [3 /*break*/, 3];
|
|
198
|
+
case 2:
|
|
199
|
+
err_3 = _c.sent();
|
|
200
|
+
handleError(err_3, "Failed to delete entity");
|
|
201
|
+
return [3 /*break*/, 3];
|
|
202
|
+
case 3: return [2 /*return*/];
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}); }, [deleteEntityHook, dispatch, listId]);
|
|
206
|
+
// Load more entities when page changes
|
|
207
|
+
useEffect(function () {
|
|
208
|
+
var loadMoreEntities = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
209
|
+
var newEntities, err_4;
|
|
210
|
+
return __generator(this, function (_a) {
|
|
211
|
+
switch (_a.label) {
|
|
212
|
+
case 0:
|
|
213
|
+
if (!entityList || entityList.page <= 1)
|
|
214
|
+
return [2 /*return*/];
|
|
215
|
+
dispatch(setEntityListLoading({ listId: listId, loading: true }));
|
|
216
|
+
_a.label = 1;
|
|
217
|
+
case 1:
|
|
218
|
+
_a.trys.push([1, 3, 4, 5]);
|
|
219
|
+
return [4 /*yield*/, fetchManyEntities({
|
|
220
|
+
page: entityList.page,
|
|
221
|
+
userId: entityList.userId,
|
|
222
|
+
sourceId: entityList.sourceId,
|
|
223
|
+
followedOnly: entityList.followedOnly,
|
|
224
|
+
sortBy: entityList.sortBy,
|
|
225
|
+
limit: entityList.limit,
|
|
226
|
+
timeFrame: entityList.timeFrame,
|
|
227
|
+
locationFilters: entityList.locationFilters,
|
|
228
|
+
keywordsFilters: entityList.keywordsFilters,
|
|
229
|
+
metadataFilters: entityList.metadataFilters,
|
|
230
|
+
titleFilters: entityList.titleFilters,
|
|
231
|
+
contentFilters: entityList.contentFilters,
|
|
232
|
+
attachmentsFilters: entityList.attachmentsFilters,
|
|
233
|
+
})];
|
|
234
|
+
case 2:
|
|
235
|
+
newEntities = _a.sent();
|
|
236
|
+
if (newEntities) {
|
|
237
|
+
dispatch(setEntityListEntities({ listId: listId, entities: newEntities, append: true }));
|
|
238
|
+
dispatch(setEntityListHasMore({ listId: listId, hasMore: newEntities.length >= entityList.limit }));
|
|
239
|
+
}
|
|
240
|
+
return [3 /*break*/, 5];
|
|
241
|
+
case 3:
|
|
242
|
+
err_4 = _a.sent();
|
|
243
|
+
handleError(err_4, "Loading more entities failed:");
|
|
244
|
+
dispatch(setEntityListError({ listId: listId, error: "Failed to load more entities" }));
|
|
245
|
+
return [3 /*break*/, 5];
|
|
246
|
+
case 4:
|
|
247
|
+
dispatch(setEntityListLoading({ listId: listId, loading: false }));
|
|
248
|
+
return [7 /*endfinally*/];
|
|
249
|
+
case 5: return [2 /*return*/];
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
}); };
|
|
253
|
+
if ((entityList === null || entityList === void 0 ? void 0 : entityList.page) && entityList.page > 1) {
|
|
254
|
+
loadMoreEntities();
|
|
255
|
+
}
|
|
256
|
+
}, [dispatch, listId, entityList === null || entityList === void 0 ? void 0 : entityList.page, fetchManyEntities]);
|
|
257
|
+
// fetchEntities now handles fetching directly when called
|
|
258
|
+
// No automatic filter change detection needed
|
|
259
|
+
// Legacy setEntities function for compatibility
|
|
260
|
+
var handleSetEntities = useCallback(function (updater) {
|
|
261
|
+
if (typeof updater === 'function') {
|
|
262
|
+
var newEntities = updater(entities);
|
|
263
|
+
dispatch(setEntityListEntities({ listId: listId, entities: newEntities, append: false }));
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
dispatch(setEntityListEntities({ listId: listId, entities: updater, append: false }));
|
|
267
|
+
}
|
|
268
|
+
}, [dispatch, listId, entities]);
|
|
269
|
+
return useMemo(function () { return ({
|
|
270
|
+
entities: entities,
|
|
271
|
+
// setEntities: handleSetEntities,
|
|
272
|
+
infusedEntities: infusedEntities,
|
|
273
|
+
loading: loading,
|
|
274
|
+
hasMore: hasMore,
|
|
275
|
+
sortBy: (filters === null || filters === void 0 ? void 0 : filters.sortBy) || null,
|
|
276
|
+
timeFrame: (filters === null || filters === void 0 ? void 0 : filters.timeFrame) || null,
|
|
277
|
+
sourceId: (filters === null || filters === void 0 ? void 0 : filters.sourceId) || null,
|
|
278
|
+
userId: (filters === null || filters === void 0 ? void 0 : filters.userId) || null,
|
|
279
|
+
followedOnly: (filters === null || filters === void 0 ? void 0 : filters.followedOnly) || false,
|
|
280
|
+
keywordsFilters: (filters === null || filters === void 0 ? void 0 : filters.keywordsFilters) || null,
|
|
281
|
+
titleFilters: (filters === null || filters === void 0 ? void 0 : filters.titleFilters) || null,
|
|
282
|
+
contentFilters: (filters === null || filters === void 0 ? void 0 : filters.contentFilters) || null,
|
|
283
|
+
attachmentsFilters: (filters === null || filters === void 0 ? void 0 : filters.attachmentsFilters) || null,
|
|
284
|
+
locationFilters: (filters === null || filters === void 0 ? void 0 : filters.locationFilters) || null,
|
|
285
|
+
metadataFilters: (filters === null || filters === void 0 ? void 0 : filters.metadataFilters) || null,
|
|
286
|
+
fetchEntities: handleFetchEntities,
|
|
287
|
+
loadMore: loadMore,
|
|
288
|
+
createEntity: createEntity,
|
|
289
|
+
deleteEntity: deleteEntity,
|
|
290
|
+
}); }, [
|
|
291
|
+
entities,
|
|
292
|
+
handleSetEntities,
|
|
293
|
+
infusedEntities,
|
|
294
|
+
loading,
|
|
295
|
+
hasMore,
|
|
296
|
+
filters,
|
|
297
|
+
handleFetchEntities,
|
|
298
|
+
loadMore,
|
|
299
|
+
createEntity,
|
|
300
|
+
deleteEntity,
|
|
301
|
+
]);
|
|
302
|
+
}
|
|
303
|
+
export default useEntityListRedux;
|
|
304
|
+
//# sourceMappingURL=useEntityListRedux.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEntityListRedux.js","sourceRoot":"","sources":["../../../../src/hooks/entity-lists-redux/useEntityListRedux.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,9 +34,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
+
import { useCallback, useState } from "react";
|
|
37
38
|
import useAxiosPrivate from "../../config/useAxiosPrivate";
|
|
38
39
|
import useProject from "../projects/useProject";
|
|
39
|
-
import { useCallback, useRef, useState } from "react";
|
|
40
40
|
import { useUserRedux } from "../auth-redux";
|
|
41
41
|
function useIsEntitySaved() {
|
|
42
42
|
var _this = this;
|
|
@@ -44,18 +44,18 @@ function useIsEntitySaved() {
|
|
|
44
44
|
var projectId = useProject().projectId;
|
|
45
45
|
var user = useUserRedux().user;
|
|
46
46
|
var _a = useState(null), entityIsSaved = _a[0], setEntityIsSaved = _a[1];
|
|
47
|
-
|
|
47
|
+
// const checkedStatus = useRef<Record<string, boolean>>({}); // Track status by entityId
|
|
48
48
|
var checkIfEntityIsSaved = useCallback(function (entityId) { return __awaiter(_this, void 0, void 0, function () {
|
|
49
49
|
var response;
|
|
50
50
|
return __generator(this, function (_a) {
|
|
51
51
|
switch (_a.label) {
|
|
52
52
|
case 0:
|
|
53
|
-
if (!user || !entityId || checkedStatus.current[entityId])
|
|
53
|
+
// if (!user || !entityId || checkedStatus.current[entityId]) return;
|
|
54
|
+
if (!user || !entityId)
|
|
54
55
|
return [2 /*return*/];
|
|
55
56
|
if (!projectId) {
|
|
56
57
|
throw new Error("No projectId available.");
|
|
57
58
|
}
|
|
58
|
-
checkedStatus.current[entityId] = true; // Mark this entityId as checked
|
|
59
59
|
return [4 /*yield*/, axios.get("/".concat(projectId, "/lists/is-entity-saved"), {
|
|
60
60
|
params: { entityId: entityId },
|
|
61
61
|
withCredentials: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsEntitySaved.js","sourceRoot":"","sources":["../../../../src/hooks/lists-redux/useIsEntitySaved.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useIsEntitySaved.js","sourceRoot":"","sources":["../../../../src/hooks/lists-redux/useIsEntitySaved.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,SAAS,gBAAgB;IAAzB,iBAgCC;IA/BC,IAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IACxB,IAAA,SAAS,GAAK,UAAU,EAAE,UAAjB,CAAkB;IAC3B,IAAA,IAAI,GAAK,YAAY,EAAE,KAAnB,CAAoB;IAE1B,IAAA,KAAoC,QAAQ,CAAiB,IAAI,CAAC,EAAjE,aAAa,QAAA,EAAE,gBAAgB,QAAkC,CAAC;IACzE,yFAAyF;IAEzF,IAAM,oBAAoB,GAAG,WAAW,CACtC,UAAO,QAAgB;;;;;oBACrB,qEAAqE;oBACrE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ;wBAAE,sBAAO;oBAE/B,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC7C,CAAC;oBAGgB,qBAAM,KAAK,CAAC,GAAG,CAC9B,WAAI,SAAS,2BAAwB,EACrC;4BACE,MAAM,EAAE,EAAE,QAAQ,UAAA,EAAE;4BACpB,eAAe,EAAE,IAAI;yBACtB,CACF,EAAA;;oBANK,QAAQ,GAAG,SAMhB;oBAED,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;;;;SACjC,EACD,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CACzB,CAAC;IAEF,OAAO,EAAE,oBAAoB,sBAAA,EAAE,aAAa,eAAA,EAAE,CAAC;AACjD,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
};
|
|
37
37
|
import { useEffect, useMemo, useCallback } from "react";
|
|
38
38
|
import { useDispatch, useSelector } from "react-redux";
|
|
39
|
-
import { setProjectContext, selectCurrentList, selectSubLists, selectListsLoading, selectListHistory,
|
|
39
|
+
import { setProjectContext, selectCurrentList, selectSubLists, selectListsLoading, selectListHistory, selectSubListsMap, selectCurrentProjectId, } from "../../store/slices/listsSlice";
|
|
40
40
|
import { useListsActionsRedux } from "./useListsActionsRedux";
|
|
41
41
|
import useProject from "../projects/useProject";
|
|
42
42
|
import { useUserRedux } from "../auth-redux";
|
|
@@ -64,8 +64,8 @@ function useListsRedux(_) {
|
|
|
64
64
|
var listHistory = useSelector(function (state) {
|
|
65
65
|
return selectListHistory(state);
|
|
66
66
|
});
|
|
67
|
-
var
|
|
68
|
-
return
|
|
67
|
+
var subListsMap = useSelector(function (state) {
|
|
68
|
+
return selectSubListsMap(state);
|
|
69
69
|
});
|
|
70
70
|
var currentProjectId = useSelector(function (state) {
|
|
71
71
|
return selectCurrentProjectId(state);
|
|
@@ -88,12 +88,12 @@ function useListsRedux(_) {
|
|
|
88
88
|
useEffect(function () {
|
|
89
89
|
if (!user || !projectId || !currentList)
|
|
90
90
|
return;
|
|
91
|
-
// Check if sub-lists for this list are already
|
|
92
|
-
if (
|
|
93
|
-
return; // No need to fetch, we have
|
|
91
|
+
// Check if sub-lists for this list are already fetched
|
|
92
|
+
if (subListsMap[currentList.id] !== undefined) {
|
|
93
|
+
return; // No need to fetch, we already have the mapping (even if empty)
|
|
94
94
|
}
|
|
95
95
|
fetchSubLists(projectId, currentList.id);
|
|
96
|
-
}, [fetchSubLists, user, projectId, currentList,
|
|
96
|
+
}, [fetchSubLists, user, projectId, currentList, subListsMap]);
|
|
97
97
|
// Entity membership checker
|
|
98
98
|
var isEntityInList = useCallback(function (selectedEntityId) {
|
|
99
99
|
if (!currentList)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useListsRedux.js","sourceRoot":"","sources":["../../../../src/hooks/lists-redux/useListsRedux.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"useListsRedux.js","sourceRoot":"","sources":["../../../../src/hooks/lists-redux/useListsRedux.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { handleError } from "./utils/handleError";
|
|
2
|
+
export { keywordHelpers } from "./utils/keywordHelpers";
|
|
2
3
|
export { safeMergeStyleProps } from "./helpers/safeMergeStyleProps";
|
|
3
4
|
export { getUserName } from "./helpers/getUserName";
|
|
4
5
|
export { default as getPublicFileUrl } from "./helpers/getPublicFileUrl";
|
|
@@ -6,14 +7,15 @@ export { reportReasons } from "./constants/reportReasons";
|
|
|
6
7
|
export type { ReportReasonKey } from "./constants/reportReasons";
|
|
7
8
|
export { ReplykeProvider, // Always includes Redux
|
|
8
9
|
ReplykeStoreProvider, // Advanced: standalone Redux provider
|
|
9
|
-
|
|
10
|
+
EntityProvider, CommentSectionProvider, } from "./context";
|
|
10
11
|
export { useProject, useProjectData } from "./hooks/projects";
|
|
11
12
|
export { useSignTestingJwt } from "./hooks/crypto";
|
|
12
13
|
export { useAuthRedux, type UseAuthReduxValues } from "./hooks/auth-redux";
|
|
13
14
|
export { useUserRedux, useUserActionsRedux, type UseUserReduxProps, type UseUserReduxValues, } from "./hooks/user-redux";
|
|
14
15
|
export { useAppNotificationsRedux, useAppNotificationsActionsRedux, type UseAppNotificationsReduxProps, type UseAppNotificationsReduxValues, } from "./hooks/app-notifications-redux";
|
|
15
16
|
export { useListsRedux, useListsActionsRedux, useIsEntitySaved, type UseListsReduxProps, type UseListsReduxValues, } from "./hooks/lists-redux";
|
|
16
|
-
export { useEntity, useEntityData, useCreateEntity, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, useUpdateEntity, useEntityVotes, useDeleteEntity,
|
|
17
|
+
export { useEntity, useEntityData, useCreateEntity, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, useUpdateEntity, useEntityVotes, useDeleteEntity, useInfusedData, } from "./hooks/entities";
|
|
18
|
+
export { useEntityListRedux, type UseEntityListReduxProps, type UseEntityListReduxValues, } from "./hooks/entity-lists-redux";
|
|
17
19
|
export { useCommentSection, useCommentSectionData, useCreateComment, useFetchManyComments, useFetchComment, useFetchCommentByForeignId, useReplies, useUpdateComment, useCommentVotes, useDeleteComment, useEntityComments, useProfileComments, } from "./hooks/comments";
|
|
18
20
|
export { useFetchUser, useFetchUserByForeignId, useFetchUserFollowersCount, useFetchUserFollowingCount, useCheckUsernameAvailability, useFetchUserSuggestions, useMentions, useUpdateUser, useFetchFollow, useFollowUser, useUnfollowUser, } from "./hooks/users";
|
|
19
21
|
export { useCreateReport } from "./hooks/reports";
|
package/dist/esm/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Helpers & Utilities
|
|
2
2
|
export { handleError } from "./utils/handleError";
|
|
3
|
+
export { keywordHelpers } from "./utils/keywordHelpers";
|
|
3
4
|
export { safeMergeStyleProps } from "./helpers/safeMergeStyleProps";
|
|
4
5
|
export { getUserName } from "./helpers/getUserName";
|
|
5
6
|
export { default as getPublicFileUrl } from "./helpers/getPublicFileUrl";
|
|
@@ -8,7 +9,7 @@ export { reportReasons } from "./constants/reportReasons";
|
|
|
8
9
|
// Context providers (Redux-powered by default)
|
|
9
10
|
export { ReplykeProvider, // Always includes Redux
|
|
10
11
|
ReplykeStoreProvider, // Advanced: standalone Redux provider
|
|
11
|
-
|
|
12
|
+
EntityProvider, CommentSectionProvider, } from "./context";
|
|
12
13
|
// -- projects
|
|
13
14
|
export { useProject, useProjectData } from "./hooks/projects";
|
|
14
15
|
// -- crypto
|
|
@@ -22,7 +23,9 @@ export { useAppNotificationsRedux, useAppNotificationsActionsRedux, } from "./ho
|
|
|
22
23
|
// -- lists (Redux-powered)
|
|
23
24
|
export { useListsRedux, useListsActionsRedux, useIsEntitySaved, } from "./hooks/lists-redux";
|
|
24
25
|
// -- entities
|
|
25
|
-
export { useEntity, useEntityData, useCreateEntity, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, useUpdateEntity, useEntityVotes, useDeleteEntity,
|
|
26
|
+
export { useEntity, useEntityData, useCreateEntity, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, useUpdateEntity, useEntityVotes, useDeleteEntity, useInfusedData, } from "./hooks/entities";
|
|
27
|
+
// -- entity lists (Redux-powered)
|
|
28
|
+
export { useEntityListRedux, } from "./hooks/entity-lists-redux";
|
|
26
29
|
// -- comments
|
|
27
30
|
export { useCommentSection, useCommentSectionData, useCreateComment, useFetchManyComments, useFetchComment, useFetchCommentByForeignId, useReplies, useUpdateComment, useCommentVotes, useDeleteComment, useEntityComments, useProfileComments, } from "./hooks/comments";
|
|
28
31
|
// -- users
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,+CAA+C;AAC/C,OAAO,EACL,eAAe,EAAE,wBAAwB;AACzC,oBAAoB,EAAE,sCAAsC;AAC5D,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEzE,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,+CAA+C;AAC/C,OAAO,EACL,eAAe,EAAE,wBAAwB;AACzC,oBAAoB,EAAE,sCAAsC;AAC5D,cAAc,EACd,sBAAsB,GACvB,MAAM,WAAW,CAAC;AAEnB,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,oCAAoC;AACpC,OAAO,EAAE,YAAY,EAA2B,MAAM,oBAAoB,CAAC;AAE3E,oCAAoC;AACpC,OAAO,EACL,YAAY,EACZ,mBAAmB,GAGpB,MAAM,oBAAoB,CAAC;AAE5B,uCAAuC;AACvC,OAAO,EACL,wBAAwB,EACxB,+BAA+B,GAGhC,MAAM,iCAAiC,CAAC;AAEzC,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GAGjB,MAAM,qBAAqB,CAAC;AAE7B,cAAc;AACd,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,kCAAkC;AAClC,OAAO,EACL,kBAAkB,GAGnB,MAAM,4BAA4B,CAAC;AAEpC,cAAc;AACd,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,0BAA0B,EAC1B,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,WAAW;AACX,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,aAAa;AACb,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,aAAa;AACb,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhD,OAAO,KAAK,eAAe,MAAM,qCAAqC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { UseEntityListDataProps, UseEntityListDataValues } from "../hooks/
|
|
2
|
+
import { UseEntityListDataProps, UseEntityListDataValues } from "../hooks/entity-lists/useEntityListData";
|
|
3
3
|
export interface EntityListContextProps extends UseEntityListDataProps {
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
}
|
|
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
import { createContext } from "react";
|
|
14
|
-
import useEntityListData from "../hooks/
|
|
14
|
+
import useEntityListData from "../hooks/entity-lists/useEntityListData";
|
|
15
15
|
export var EntityListContext = createContext({});
|
|
16
16
|
export var EntityListProvider = function (_a) {
|
|
17
17
|
var children = _a.children, restOfProps = __rest(_a, ["children"]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-list-context.js","sourceRoot":"","sources":["../../../../src/legacy/context/entity-list-context.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,iBAGN,MAAM,yCAAyC,CAAC;AAOjD,MAAM,CAAC,IAAM,iBAAiB,GAAG,aAAa,CAE5C,EAAE,CAAC,CAAC;AAEN,MAAM,CAAC,IAAM,kBAAkB,GAAqC,UAAC,EAG5C;IAFvB,IAAA,QAAQ,cAAA,EACL,WAAW,cAFqD,YAGpE,CADe;IAEd,IAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAE5C,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YACpC,QAAQ,GACkB,CAC9B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEntityList.js","sourceRoot":"","sources":["../../../../../src/legacy/hooks/entity-lists/useEntityList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EACL,iBAAiB,GAElB,MAAM,mCAAmC,CAAC;AAE3C,MAAM,CAAC,OAAO,UAAU,aAAa;IACnC,OAAO,UAAU,CAAC,iBAAiB,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Entity } from "
|
|
2
|
-
import { EntityListSortByOptions } from "
|
|
3
|
-
import { LocationFilters } from "
|
|
4
|
-
import { TimeFrame } from "
|
|
5
|
-
import { MetadataFilters } from "
|
|
6
|
-
import { TitleFilters } from "
|
|
7
|
-
import { ContentFilters } from "
|
|
8
|
-
import { AttachmentsFilters } from "
|
|
9
|
-
import { KeywordsFilters } from "
|
|
1
|
+
import { Entity } from "../../../interfaces/models/Entity";
|
|
2
|
+
import { EntityListSortByOptions } from "../../../interfaces/EntityListSortByOptions";
|
|
3
|
+
import { LocationFilters } from "../../../interfaces/entity-filters/LocationFilters";
|
|
4
|
+
import { TimeFrame } from "../../../interfaces/TimeFrame";
|
|
5
|
+
import { MetadataFilters } from "../../../interfaces/entity-filters/MetadataFilters";
|
|
6
|
+
import { TitleFilters } from "../../../interfaces/entity-filters/TitleFilters";
|
|
7
|
+
import { ContentFilters } from "../../../interfaces/entity-filters/ContentFilters";
|
|
8
|
+
import { AttachmentsFilters } from "../../../interfaces/entity-filters/AttachmentsFilters";
|
|
9
|
+
import { KeywordsFilters } from "../../../interfaces/entity-filters/KeywordsFilters";
|
|
10
10
|
export interface UseEntityListDataProps {
|
|
11
11
|
limit?: number;
|
|
12
12
|
sortBy?: EntityListSortByOptions;
|
|
@@ -66,11 +66,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
66
66
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
67
67
|
};
|
|
68
68
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
69
|
-
import
|
|
70
|
-
import
|
|
71
|
-
import
|
|
72
|
-
import
|
|
73
|
-
import { handleError } from "
|
|
69
|
+
import useFetchManyEntities from "../../../hooks/entity-lists/useFetchManyEntities";
|
|
70
|
+
import useInfusedData from "../../../hooks/entity-lists/useInfusedData";
|
|
71
|
+
import useCreateEntity from "../../../hooks/entities/useCreateEntity";
|
|
72
|
+
import useDeleteEntity from "../../../hooks/entities/useDeleteEntity";
|
|
73
|
+
import { handleError } from "../../../utils/handleError";
|
|
74
74
|
function useEntityListData(_a) {
|
|
75
75
|
var _this = this;
|
|
76
76
|
var _b = _a.limit, limit = _b === void 0 ? 10 : _b, _c = _a.sortBy, sortByProp = _c === void 0 ? "hot" : _c, _d = _a.timeFrame, timeFrameProp = _d === void 0 ? null : _d, _e = _a.sourceId, sourceIdProp = _e === void 0 ? null : _e, _f = _a.userId, userIdProp = _f === void 0 ? null : _f, followedOnlyProp = _a.followedOnly, _g = _a.keywordsFilters, keywordsFiltersProp = _g === void 0 ? null : _g, _h = _a.locationFilters, locationFiltersProp = _h === void 0 ? null : _h, _j = _a.metadataFilters, metadataFiltersProp = _j === void 0 ? null : _j, _k = _a.titleFilters, titleFiltersProp = _k === void 0 ? null : _k, _l = _a.contentFilters, contentFiltersProp = _l === void 0 ? null : _l, _m = _a.attachmentsFilters, attachmentsFiltersProp = _m === void 0 ? null : _m, _o = _a.idle, idle = _o === void 0 ? false : _o, onReset = _a.onReset, infuseData = _a.infuseData;
|