@tellescope/react-components 1.183.0 → 1.185.0

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 (43) hide show
  1. package/lib/cjs/Forms/hooks.d.ts.map +1 -1
  2. package/lib/cjs/Forms/hooks.js +6 -5
  3. package/lib/cjs/Forms/hooks.js.map +1 -1
  4. package/lib/cjs/inputs_shared.d.ts +43 -0
  5. package/lib/cjs/inputs_shared.d.ts.map +1 -1
  6. package/lib/cjs/inputs_shared.js +433 -2
  7. package/lib/cjs/inputs_shared.js.map +1 -1
  8. package/lib/cjs/layout.d.ts.map +1 -1
  9. package/lib/cjs/layout.js +4 -2
  10. package/lib/cjs/layout.js.map +1 -1
  11. package/lib/cjs/state.d.ts +9 -2
  12. package/lib/cjs/state.d.ts.map +1 -1
  13. package/lib/cjs/state.js +117 -68
  14. package/lib/cjs/state.js.map +1 -1
  15. package/lib/cjs/table.d.ts +8 -3
  16. package/lib/cjs/table.d.ts.map +1 -1
  17. package/lib/cjs/table.js +17 -13
  18. package/lib/cjs/table.js.map +1 -1
  19. package/lib/esm/Forms/hooks.d.ts.map +1 -1
  20. package/lib/esm/Forms/hooks.js +6 -5
  21. package/lib/esm/Forms/hooks.js.map +1 -1
  22. package/lib/esm/inputs_shared.d.ts +43 -0
  23. package/lib/esm/inputs_shared.d.ts.map +1 -1
  24. package/lib/esm/inputs_shared.js +427 -3
  25. package/lib/esm/inputs_shared.js.map +1 -1
  26. package/lib/esm/layout.d.ts.map +1 -1
  27. package/lib/esm/layout.js +4 -2
  28. package/lib/esm/layout.js.map +1 -1
  29. package/lib/esm/state.d.ts +9 -2
  30. package/lib/esm/state.d.ts.map +1 -1
  31. package/lib/esm/state.js +117 -68
  32. package/lib/esm/state.js.map +1 -1
  33. package/lib/esm/table.d.ts +8 -3
  34. package/lib/esm/table.d.ts.map +1 -1
  35. package/lib/esm/table.js +17 -13
  36. package/lib/esm/table.js.map +1 -1
  37. package/lib/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +9 -9
  39. package/src/Forms/hooks.tsx +3 -2
  40. package/src/inputs_shared.tsx +444 -5
  41. package/src/layout.tsx +10 -1
  42. package/src/state.tsx +89 -51
  43. package/src/table.tsx +32 -5
@@ -5,6 +5,49 @@ import { SearchAPIProps } from "./hooks";
5
5
  import { TextFieldProps } from "./mui";
6
6
  import { AgentRecord, AllergyCode, AppointmentBookingPage, AppointmentLocation, AutomationTrigger, CalendarEventTemplate, CallHoldQueue, ChatRoom, Database, DatabaseRecord, DiagnosisCode, Enduser, EnduserOrder, FaxLog, File, Form, FormGroup, Forum, Journey, ManagedContentRecord, MessageTemplateSnippet, Organization, PrescriptionRoute, SuggestedContact, Template, Ticket, TicketQueue, User, UserNotification, Waitlist } from "@tellescope/types-client";
7
7
  import { SxProps } from "@mui/material";
8
+ import { ListOfStringsWithQualifier } from "@tellescope/types-models";
9
+ export type FilterV2 = Record<string, any>;
10
+ export type FiltersV2 = Record<string, FilterV2>;
11
+ export type FilterV2Options = {
12
+ showArchived: boolean;
13
+ };
14
+ export declare const enduser_condition_to_mongodb_filter: (condition: Record<string, any> | undefined, customFields: string[]) => Record<string, any> | undefined;
15
+ export declare const mongo_db_filter_to_enduser_condition: (filter?: FilterV2) => Record<string, any> | undefined;
16
+ export declare const list_of_strings_with_qualifier_to_mongodb_filter: (tags?: ListOfStringsWithQualifier) => {
17
+ $all: string[];
18
+ $in?: undefined;
19
+ } | {
20
+ $in: string[];
21
+ $all?: undefined;
22
+ };
23
+ export declare const mongo_db_filter_to_list_of_strings_with_qualifier: (filter?: FilterV2) => ListOfStringsWithQualifier;
24
+ export interface FilterComponentWithDefaultKeyV2 {
25
+ filters: FiltersV2;
26
+ setFilters: React.Dispatch<React.SetStateAction<FiltersV2>>;
27
+ onKeyDown?: (e: {
28
+ code: string;
29
+ }) => void;
30
+ }
31
+ export interface FilterComponentV2 extends FilterComponentWithDefaultKeyV2 {
32
+ filterKey: string;
33
+ }
34
+ export declare const apply_mongodb_style_filter: <T>(data: T[], filter: FilterV2, options: FilterV2Options) => T[];
35
+ export declare const remove_inactive_filters: (filters: Record<string, any>[]) => (Record<string, any> | null)[];
36
+ export declare const useFiltersV2: <T>(args?: {
37
+ memoryId?: string | undefined;
38
+ initialFilters?: FiltersV2 | undefined;
39
+ reload?: boolean | undefined;
40
+ onFilterChange?: ((fs: FiltersV2) => void) | undefined;
41
+ showArchived?: boolean | undefined;
42
+ } | undefined) => {
43
+ mdbFilter: {
44
+ $and: (Record<string, any> | null)[];
45
+ };
46
+ filters: FiltersV2;
47
+ setFilters: React.Dispatch<React.SetStateAction<FiltersV2>>;
48
+ applyFilters: (data: T[]) => T[];
49
+ activeFilterCount: number;
50
+ };
8
51
  export declare const filter_setter_for_key: <T>(key: string, setFilters: React.Dispatch<React.SetStateAction<Filters<T>>>) => (f: ScoreFilter<T>) => void;
9
52
  export declare const apply_filters: <T>(fs: Filters<T>, data: T[]) => T[];
10
53
  export declare const useFilters: <T>(args?: {
@@ -1 +1 @@
1
- {"version":3,"file":"inputs_shared.d.ts","sourceRoot":"","sources":["../../src/inputs_shared.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputs_shared.d.ts","sourceRoot":"","sources":["../../src/inputs_shared.tsx"],"names":[],"mappings":"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"}
@@ -67,10 +67,435 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
67
67
  };
68
68
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
69
69
  import React, { useEffect, useCallback, useMemo, useState, useRef } from "react";
70
- import { objects_equivalent, read_local_storage, safeJSONParse, update_local_storage, user_display_name } from "@tellescope/utilities";
71
- import { ALL_ACCESS, UNSEARCHABLE_FIELDS } from "@tellescope/constants";
70
+ import { is_full_iso_string_heuristic, object_is_empty, objects_equivalent, read_local_storage, replace_keys_and_values_in_object, safeJSONParse, update_local_storage, user_display_name, value_for_dotted_key } from "@tellescope/utilities";
71
+ import { ALL_ACCESS, HEALTHIE_TITLE, UNSEARCHABLE_FIELDS } from "@tellescope/constants";
72
72
  import { useSearchAPI } from "./hooks";
73
73
  import { Button, Checkbox, Flex, HoverPaper, LoadingButton, LoadingData, ScrollingList, SearchTextInput, Typography, useAgentRecords, useAllergyCodes, useAppointmentBookingPages, useAppointmentLocations, useAutomationTriggers, useCalendarEventTemplates, useCallHoldQueues, useChatRooms, useDatabaseRecords, useDatabases, useDiagnosisCodes, useEnduserOrders, useEndusers, useFaxLogs, useFiles, useFormGroups, useForms, useForums, useJourneys, useManagedContentRecords, useMessageTemplateSnippets, useNotifications, useOrganization, useOrganizations, usePrescriptionRoutes, useResolvedSession, useSession, useSuggestedContacts, useTemplates, useTicketQueues, useTickets, useUsers, useWaitlists, value_is_loaded } from ".";
74
+ export var enduser_condition_to_mongodb_filter = function (condition, customFields) {
75
+ var _a, _b;
76
+ if (!condition) {
77
+ return condition;
78
+ }
79
+ if (condition.$and) {
80
+ return { $and: condition.$and.map(function (v) { return enduser_condition_to_mongodb_filter(v, customFields); }) };
81
+ }
82
+ if (condition.$or) {
83
+ return { $or: condition.$or.map(function (v) { return enduser_condition_to_mongodb_filter(v, customFields); }) };
84
+ }
85
+ if (condition.$nor) {
86
+ return { $nor: condition.$nor.map(function (v) { return enduser_condition_to_mongodb_filter(v, customFields); }) };
87
+ }
88
+ if (condition.$not) {
89
+ return { $not: enduser_condition_to_mongodb_filter(condition.$not, customFields) };
90
+ }
91
+ if (condition && typeof condition === 'object' && condition.constructor === Object) {
92
+ var updated = {};
93
+ for (var _i = 0, _c = Object.entries(condition); _i < _c.length; _i++) {
94
+ var _d = _c[_i], _key = _d[0], _value = _d[1];
95
+ var key = customFields.includes(_key) ? "fields.".concat(_key) : _key;
96
+ var value = enduser_condition_to_mongodb_filter(_value, customFields);
97
+ // console.log(key, _value, value)
98
+ if (key === 'condition') {
99
+ var toReturn = enduser_condition_to_mongodb_filter(value, customFields);
100
+ delete updated.condition;
101
+ return toReturn;
102
+ } // base case is comparison to value, so just return it
103
+ // journeys currently have a special ui/syntax in filter
104
+ if (key === 'Journeys') {
105
+ if ((typeof (value === null || value === void 0 ? void 0 : value.$in)) === 'string') {
106
+ return _a = {}, _a["journeys.".concat(value.$in)] = { $exists: true }, _a;
107
+ }
108
+ else if ((typeof (value === null || value === void 0 ? void 0 : value.$nin)) === 'string') {
109
+ return _b = {}, _b["journeys.".concat(value.$nin)] = { $exists: false }, _b;
110
+ }
111
+ }
112
+ if (key === 'Healthie ID') {
113
+ // $setSet ($nin null, '')
114
+ if (value === null || value === void 0 ? void 0 : value.$nin)
115
+ return { $or: [{ source: HEALTHIE_TITLE, externalId: { $nin: [null, ''] } }, { 'references.type': HEALTHIE_TITLE }] };
116
+ // $isNotSet ($in null, '')
117
+ if (value === null || value === void 0 ? void 0 : value.$in)
118
+ return { $and: [{ source: { $ne: HEALTHIE_TITLE } }, { 'references.type': { $ne: HEALTHIE_TITLE } }] };
119
+ }
120
+ // ensure to parse string to number values
121
+ if (key === 'height') {
122
+ return {
123
+ 'height.value': replace_keys_and_values_in_object(value, function (v) { return typeof v === 'string' && !v.startsWith('$') ? parseFloat(v) : v; })
124
+ };
125
+ }
126
+ if (key === 'weight') {
127
+ return {
128
+ 'weight.value': replace_keys_and_values_in_object(value, function (v) { return typeof v === 'string' && !v.startsWith('$') ? parseFloat(v) : v; })
129
+ };
130
+ }
131
+ if (key === "relationships") {
132
+ return {
133
+ 'relationships.type': value
134
+ };
135
+ }
136
+ // case for isSet and isNotSet includes empty string as unset value
137
+ if (key === '$isSet') {
138
+ updated.$nin = [null, '', []];
139
+ }
140
+ else if (key === '$isNotSet') {
141
+ updated.$in = [null, '', []];
142
+ }
143
+ else if (key === '$contains') {
144
+ updated.$regex = value;
145
+ }
146
+ else if (key === '$doesNotContain') {
147
+ updated.$not = { $regex: value };
148
+ }
149
+ else if (key === '$before') {
150
+ updated.$lt = value;
151
+ }
152
+ else if (key === '$after') {
153
+ updated.$gt = value;
154
+ }
155
+ else {
156
+ updated[key] = value;
157
+ }
158
+ }
159
+ return updated;
160
+ }
161
+ return condition;
162
+ };
163
+ export var mongo_db_filter_to_enduser_condition = function (filter) {
164
+ var _a;
165
+ var _b, _c;
166
+ if (!filter) {
167
+ return filter;
168
+ }
169
+ if (objects_equivalent(filter, {
170
+ "$and": [
171
+ {
172
+ "source": {
173
+ "$ne": "Healthie"
174
+ }
175
+ },
176
+ {
177
+ "references.type": {
178
+ "$ne": "Healthie"
179
+ }
180
+ }
181
+ ]
182
+ })) {
183
+ return { condition: { 'Healthie ID': { $isNotSet: 'Value' } } };
184
+ }
185
+ if (objects_equivalent(filter, {
186
+ "$or": [
187
+ {
188
+ "source": "Healthie",
189
+ "externalId": {
190
+ "$nin": [
191
+ null,
192
+ ""
193
+ ]
194
+ }
195
+ },
196
+ {
197
+ "references.type": "Healthie"
198
+ }
199
+ ]
200
+ })) {
201
+ return { condition: { 'Healthie ID': { $isSet: 'Value' } } };
202
+ }
203
+ if (filter.$and) {
204
+ return { $and: filter.$and.map(function (v) { return mongo_db_filter_to_enduser_condition(v); }) };
205
+ }
206
+ if (filter.$or) {
207
+ return { $or: filter.$or.map(function (v) { return mongo_db_filter_to_enduser_condition(v); }) };
208
+ }
209
+ if (filter.$nor) {
210
+ return { $nor: filter.$nor.map(function (v) { return mongo_db_filter_to_enduser_condition(v); }) };
211
+ }
212
+ if (filter.$not) {
213
+ return { $not: mongo_db_filter_to_enduser_condition(filter.$not) };
214
+ }
215
+ if (filter && typeof filter === 'object' && filter.constructor === Object) {
216
+ if (object_is_empty(filter))
217
+ return filter;
218
+ var updated = { condition: {} };
219
+ for (var _i = 0, _d = Object.entries(filter); _i < _d.length; _i++) {
220
+ var _e = _d[_i], _key = _e[0], value = _e[1];
221
+ var key = ((typeof _key === 'string' && _key.startsWith('fields.')) ? _key.replace('fields.', '')
222
+ : _key === 'height.value' ? 'height'
223
+ : _key === 'weight.value' ? 'weight'
224
+ : _key === 'relationships.type' ? 'relationships'
225
+ : _key);
226
+ if (value && typeof value === 'object' && value.constructor === Object) {
227
+ updated.condition[key] = {};
228
+ if (Object.keys(value)[0] === '$exists') {
229
+ if (key.startsWith('journeys.')) {
230
+ // journeys currently have a special ui/syntax in filter
231
+ updated.condition['Journeys'] = (_a = {}, _a[value.$exists ? '$in' : '$nin'] = key.split('.')[1], _a);
232
+ }
233
+ else if (value.$exists) {
234
+ updated.condition[key]['$isSet'] = "Value";
235
+ }
236
+ else {
237
+ updated.condition[key]['$isNotSet'] = "Value";
238
+ }
239
+ }
240
+ // case for isSet and isNotSet includes empty string as unset value
241
+ else if (Array.isArray(value.$in) && value.$in.length === 3 && value.$in.includes(null) && value.$in.includes('') && value.$in.find(function (v) { return Array.isArray(v) && v.length === 0; })) {
242
+ updated.condition[key]['$isNotSet'] = "Value";
243
+ }
244
+ else if (Array.isArray(value.$nin) && value.$nin.length === 3 && value.$nin.includes(null) && value.$nin.includes('') && value.$nin.find(function (v) { return Array.isArray(v) && v.length === 0; })) {
245
+ updated.condition[key]['$isSet'] = "Value";
246
+ }
247
+ else if (Object.keys(value)[0] === '$gt' && (value.$gt instanceof Date || is_full_iso_string_heuristic(value.$gt) || value.$gt === '$now')) {
248
+ updated.condition[key]['$after'] = value.$gt;
249
+ }
250
+ else if (Object.keys(value)[0] === '$lt' && (value.$lt instanceof Date || is_full_iso_string_heuristic(value.$lt) || value.$lt === '$now')) {
251
+ updated.condition[key]['$before'] = value.$lt;
252
+ }
253
+ else if (Object.keys(value)[0] === '$regex') {
254
+ updated.condition[key]['$contains'] = value.$regex;
255
+ }
256
+ else if (Object.keys(value)[0] === '$not' && ((_c = Object.keys((_b = value.$not) !== null && _b !== void 0 ? _b : {})) === null || _c === void 0 ? void 0 : _c[0]) === '$regex') {
257
+ updated.condition[key]['$doesNotContain'] = value.$not.$regex;
258
+ }
259
+ else {
260
+ updated.condition[key] = value;
261
+ }
262
+ }
263
+ else {
264
+ updated.condition[key] = value;
265
+ }
266
+ }
267
+ return updated;
268
+ }
269
+ return filter;
270
+ };
271
+ export var list_of_strings_with_qualifier_to_mongodb_filter = function (tags) {
272
+ if ((tags === null || tags === void 0 ? void 0 : tags.qualifier) === 'All Of') {
273
+ return { $all: tags.values || [] };
274
+ }
275
+ return { $in: (tags === null || tags === void 0 ? void 0 : tags.values) || [] };
276
+ };
277
+ export var mongo_db_filter_to_list_of_strings_with_qualifier = function (filter) {
278
+ var defaultValue = { qualifier: 'One Of', values: [] };
279
+ if (!filter) {
280
+ return defaultValue;
281
+ }
282
+ if (filter.$all) {
283
+ return { values: filter.$all, qualifier: 'All Of' };
284
+ }
285
+ if (filter.$in) {
286
+ return { values: filter.$in, qualifier: 'One Of' };
287
+ }
288
+ return defaultValue;
289
+ };
290
+ export var apply_mongodb_style_filter = function (data, filter, options) {
291
+ var matchesFilter = function (item, filter) {
292
+ if (!options.showArchived && (item === null || item === void 0 ? void 0 : item.archivedAt))
293
+ return false;
294
+ var _loop_1 = function (key, condition) {
295
+ if (key === "$and") {
296
+ if (!Array.isArray(condition) || !condition.every(function (subFilter) { return matchesFilter(item, subFilter); })) {
297
+ return { value: false };
298
+ }
299
+ }
300
+ else if (key === "$or") {
301
+ if (!Array.isArray(condition) || !condition.some(function (subFilter) { return matchesFilter(item, subFilter); })) {
302
+ return { value: false };
303
+ }
304
+ }
305
+ else if (key === "$nor") {
306
+ if (!Array.isArray(condition) || condition.some(function (subFilter) { return matchesFilter(item, subFilter); })) {
307
+ return { value: false };
308
+ }
309
+ }
310
+ else if (key === "$not") {
311
+ if (typeof condition !== "object" || matchesFilter(item, condition)) {
312
+ return { value: false };
313
+ }
314
+ }
315
+ else {
316
+ var value_1 = value_for_dotted_key(item, key, { handleArray: true });
317
+ // console.log('checking value', key, value, condition)
318
+ // to be consistent with mongodb, $in/$nin should match null and undefined
319
+ var modifyArrayOperandForNull = function (v) { return (__spreadArray(__spreadArray([], v, true), (v.includes(null) ? [undefined] : []), true)); };
320
+ if (Array.isArray(value_1)) {
321
+ if (typeof condition === "object" && condition !== null) {
322
+ for (var _c = 0, _d = Object.entries(condition); _c < _d.length; _c++) {
323
+ var _e = _d[_c], operator = _e[0], operand = _e[1];
324
+ // handle empty array
325
+ if (Array.isArray(value_1) && value_1.length === 0) {
326
+ if (operator === '$eq' && Array.isArray(operand) && operand.length === 0) {
327
+ continue;
328
+ }
329
+ if (operator === '$ne' && Array.isArray(operand) && operand.length === 0) {
330
+ return { value: false };
331
+ }
332
+ if (Array.isArray(operand) && operand.find(function (a) { return Array.isArray(a) && a.length === 0; })) {
333
+ if (operator === '$in') {
334
+ continue;
335
+ }
336
+ if (operator === '$nin') {
337
+ return { value: false };
338
+ }
339
+ }
340
+ }
341
+ if (operator === '$eq' && !value_1.includes(operand))
342
+ return { value: false };
343
+ if (operator === '$ne' && value_1.includes(operand))
344
+ return { value: false };
345
+ if (operator === "$in" && Array.isArray(operand) && !modifyArrayOperandForNull(operand).some(function (o) { return value_1.includes(o); }))
346
+ return { value: false };
347
+ if (operator === "$nin" && Array.isArray(operand) && modifyArrayOperandForNull(operand).some(function (o) { return value_1.includes(o); }))
348
+ return { value: false };
349
+ if (operator === "$all" && Array.isArray(operand) && !operand.every(function (o) { return value_1.includes(o); }))
350
+ return { value: false };
351
+ if (operator === '$all' && condition.length === 0)
352
+ return { value: false };
353
+ if (operator === '$all' && Array.isArray(operand) && operand.length === 0)
354
+ return { value: false };
355
+ if (operator === "$size" && value_1.length !== operand)
356
+ return { value: false };
357
+ if (operator === '$exists' && operand === false)
358
+ return { value: false };
359
+ }
360
+ }
361
+ else {
362
+ if (!value_1.includes(condition))
363
+ return { value: false };
364
+ }
365
+ }
366
+ else {
367
+ if (typeof condition === "object" && condition !== null) {
368
+ for (var _f = 0, _g = Object.entries(condition); _f < _g.length; _f++) {
369
+ var _h = _g[_f], operator = _h[0], operand = _h[1];
370
+ var numberValue = (is_full_iso_string_heuristic(value_1 === null || value_1 === void 0 ? void 0 : value_1.toString())
371
+ ? new Date(value_1).getTime()
372
+ : parseFloat(value_1));
373
+ var parsedOperandForNumber = (is_full_iso_string_heuristic(operand === null || operand === void 0 ? void 0 : operand.toString())
374
+ ? new Date(operand).getTime()
375
+ : operand === '$now'
376
+ ? new Date().getTime()
377
+ : parseFloat(operand));
378
+ if (operator === "$eq" && value_1 !== operand)
379
+ return { value: false };
380
+ if (operator === "$ne" && value_1 === operand)
381
+ return { value: false };
382
+ if (operator === "$in" && (!Array.isArray(operand) || !(modifyArrayOperandForNull(operand).includes(value_1))))
383
+ return { value: false };
384
+ if (operator === "$nin" && !(Array.isArray(operand) && !modifyArrayOperandForNull(operand).includes(value_1)))
385
+ return { value: false };
386
+ if (operator === "$exists" && ((operand && value_1 === undefined) || (!operand && value_1 !== undefined)))
387
+ return { value: false };
388
+ if (operator === "$regex" && !(typeof value_1 === "string" && new RegExp(operand).test(value_1)))
389
+ return { value: false };
390
+ if (operator === "$gt" && (numberValue <= parseFloat(parsedOperandForNumber) || isNaN(numberValue) || numberValue === null || numberValue === undefined))
391
+ return { value: false };
392
+ if (operator === "$gte" && (numberValue < parseFloat(parsedOperandForNumber) || isNaN(numberValue) || numberValue === null || numberValue === undefined))
393
+ return { value: false };
394
+ if (operator === "$lt" && (numberValue >= parseFloat(parsedOperandForNumber) || isNaN(numberValue) || numberValue === null || numberValue === undefined))
395
+ return { value: false };
396
+ if (operator === "$lte" && (numberValue > parseFloat(parsedOperandForNumber) || isNaN(numberValue) || numberValue === null || numberValue === undefined))
397
+ return { value: false };
398
+ // only valid for lists, shoujld return false by default
399
+ if (operator === '$all')
400
+ return { value: false };
401
+ }
402
+ }
403
+ else {
404
+ if (value_1 !== condition)
405
+ return { value: false };
406
+ }
407
+ }
408
+ }
409
+ };
410
+ for (var _i = 0, _a = Object.entries(filter); _i < _a.length; _i++) {
411
+ var _b = _a[_i], key = _b[0], condition = _b[1];
412
+ var state_1 = _loop_1(key, condition);
413
+ if (typeof state_1 === "object")
414
+ return state_1.value;
415
+ }
416
+ return true;
417
+ };
418
+ try {
419
+ return data.filter(function (item) { return matchesFilter(item, filter); });
420
+ }
421
+ catch (err) {
422
+ console.error("Filter error:", err);
423
+ }
424
+ return data;
425
+ };
426
+ export var remove_inactive_filters = function (filters) { return (filters.map(function (f) {
427
+ // gpt4o
428
+ var cleanedFilter = Object.entries(f).reduce(function (acc, _a) {
429
+ var key = _a[0], value = _a[1];
430
+ if (key === "$and" || key === "$or") {
431
+ var subFilters = Array.isArray(value) ? value.filter(function (sub) { return Object.keys(sub).length > 0; }) : [];
432
+ if (subFilters.length > 0) {
433
+ acc[key] = subFilters;
434
+ }
435
+ }
436
+ else if (key === "$in" || key === "$all") {
437
+ if (Array.isArray(value) && value.length > 0) {
438
+ acc[key] = value;
439
+ }
440
+ }
441
+ else if (key === "$exists" || key === "$not") {
442
+ acc[key] = value;
443
+ }
444
+ else if (typeof value === "object" && value !== null) {
445
+ var nestedFilter = remove_inactive_filters([value])[0];
446
+ if (nestedFilter && Object.keys(nestedFilter).length > 0) {
447
+ acc[key] = nestedFilter;
448
+ }
449
+ }
450
+ else {
451
+ acc[key] = value;
452
+ }
453
+ return acc;
454
+ }, {});
455
+ return Object.keys(cleanedFilter).length > 0 ? cleanedFilter : null;
456
+ })
457
+ .filter(function (v) { return v && !object_is_empty(v); })); };
458
+ export var useFiltersV2 = function (args) {
459
+ var _a = args !== null && args !== void 0 ? args : {}, onFilterChange = _a.onFilterChange, reload = _a.reload, memoryId = _a.memoryId, initialFilters = _a.initialFilters, showArchived = _a.showArchived;
460
+ var loadFilters = useCallback(function () { return (initialFilters || (memoryId
461
+ ? (safeJSONParse(read_local_storage(memoryId)) || {})
462
+ : {})); }, [initialFilters, memoryId]);
463
+ var _b = React.useState(loadFilters()), filters = _b[0], setFilters = _b[1];
464
+ var didReloadRef = useRef(false);
465
+ useEffect(function () {
466
+ if (!reload)
467
+ return;
468
+ if (didReloadRef.current)
469
+ return;
470
+ didReloadRef.current = true;
471
+ setFilters(loadFilters);
472
+ }, [reload, loadFilters]);
473
+ useEffect(function () {
474
+ if (!memoryId)
475
+ return;
476
+ update_local_storage(memoryId, JSON.stringify(filters));
477
+ }, [filters, memoryId]);
478
+ var prevFilterRef = React.useRef(filters);
479
+ useEffect(function () {
480
+ if (!onFilterChange)
481
+ return;
482
+ if (objects_equivalent(prevFilterRef.current, filters))
483
+ return;
484
+ prevFilterRef.current = filters;
485
+ onFilterChange(filters);
486
+ }, [filters, onFilterChange]);
487
+ var mdbFilter = useMemo(function () { return ({
488
+ $and: remove_inactive_filters(Object.values(filters))
489
+ }); }, [filters]);
490
+ var applyFilters = useCallback((function (data) { return apply_mongodb_style_filter(data, mdbFilter, { showArchived: !!showArchived }); }), [mdbFilter, showArchived]);
491
+ return {
492
+ mdbFilter: mdbFilter,
493
+ filters: filters,
494
+ setFilters: setFilters,
495
+ applyFilters: applyFilters,
496
+ activeFilterCount: Object.values(filters).filter(function (f) { return !!f.filter; }).length
497
+ };
498
+ };
74
499
  /* FILTER / SEARCH */
75
500
  export var filter_setter_for_key = function (key, setFilters) { return function (f) { return setFilters(function (fs) {
76
501
  var _a;
@@ -226,7 +651,6 @@ export var filter_for_query = function (query, getAdditionalFields) {
226
651
  }
227
652
  var toAdd = getAdditionalFields === null || getAdditionalFields === void 0 ? void 0 : getAdditionalFields(record);
228
653
  var joined = __assign(__assign({}, toAdd), record);
229
- // console.log(JSON.stringify(joined, null, 2))
230
654
  for (var field in joined) {
231
655
  var value = joined[field];
232
656
  // exact match is useful for things like id match and easy heuristic check for others