@tellescope/react-components 1.175.0 → 1.177.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.
- package/lib/cjs/inputs_shared.d.ts +1 -0
- package/lib/cjs/inputs_shared.d.ts.map +1 -1
- package/lib/cjs/inputs_shared.js +11 -3
- package/lib/cjs/inputs_shared.js.map +1 -1
- package/lib/esm/CMS/components.d.ts +1 -0
- package/lib/esm/CMS/components.d.ts.map +1 -1
- package/lib/esm/Forms/forms.d.ts +3 -3
- package/lib/esm/Forms/inputs.d.ts +1 -1
- package/lib/esm/controls.d.ts +2 -2
- package/lib/esm/inputs.d.ts +1 -1
- package/lib/esm/inputs_shared.d.ts +1 -0
- package/lib/esm/inputs_shared.d.ts.map +1 -1
- package/lib/esm/inputs_shared.js +11 -3
- package/lib/esm/inputs_shared.js.map +1 -1
- package/lib/esm/layout.d.ts +1 -1
- package/lib/esm/state.d.ts +286 -286
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/src/inputs_shared.tsx +29 -17
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tellescope/react-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.177.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./lib/cjs/index.js",
|
|
6
6
|
"module": "./lib/esm/index.js",
|
|
@@ -47,13 +47,13 @@
|
|
|
47
47
|
"@reduxjs/toolkit": "^1.6.2",
|
|
48
48
|
"@stripe/react-stripe-js": "^2.9.0",
|
|
49
49
|
"@stripe/stripe-js": "^1.52.1",
|
|
50
|
-
"@tellescope/constants": "^1.
|
|
51
|
-
"@tellescope/sdk": "^1.
|
|
52
|
-
"@tellescope/types-client": "^1.
|
|
53
|
-
"@tellescope/types-models": "^1.
|
|
54
|
-
"@tellescope/types-utilities": "^1.
|
|
55
|
-
"@tellescope/utilities": "^1.
|
|
56
|
-
"@tellescope/validation": "^1.
|
|
50
|
+
"@tellescope/constants": "^1.177.0",
|
|
51
|
+
"@tellescope/sdk": "^1.177.0",
|
|
52
|
+
"@tellescope/types-client": "^1.177.0",
|
|
53
|
+
"@tellescope/types-models": "^1.177.0",
|
|
54
|
+
"@tellescope/types-utilities": "^1.177.0",
|
|
55
|
+
"@tellescope/utilities": "^1.177.0",
|
|
56
|
+
"@tellescope/validation": "^1.177.0",
|
|
57
57
|
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
|
58
58
|
"@typescript-eslint/parser": "^4.33.0",
|
|
59
59
|
"css-to-react-native": "^3.0.0",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
85
85
|
"react-native": "^0.65.0 || ^0.66.0 || ^0.67.0 || ^0.68.0 || ^0.71.0"
|
|
86
86
|
},
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "4cc0bb1eeacda37f9310d34db43e060ef467b677",
|
|
88
88
|
"publishConfig": {
|
|
89
89
|
"access": "public"
|
|
90
90
|
}
|
package/src/inputs_shared.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useEffect, useCallback, useMemo, useState, useRef } from "react"
|
|
2
2
|
import { Indexable, ScoreFilter } from "@tellescope/types-utilities"
|
|
3
|
-
import { objects_equivalent, read_local_storage, safeJSONParse, update_local_storage, user_display_name } from "@tellescope/utilities"
|
|
3
|
+
import { objects_equivalent, read_local_storage, safeJSONParse, to_human_readable_phone_number, update_local_storage, user_display_name } from "@tellescope/utilities"
|
|
4
4
|
import { LoadFunction, LoadFunctionArguments } from "@tellescope/sdk"
|
|
5
5
|
import { ALL_ACCESS, UNSEARCHABLE_FIELDS } from "@tellescope/constants"
|
|
6
6
|
import { SearchAPIProps, useSearchAPI } from "./hooks"
|
|
@@ -46,8 +46,18 @@ export const apply_filters = <T,>(fs: Filters<T>, data: T[]): T[] => {
|
|
|
46
46
|
)
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export const useFilters = <T,>(
|
|
50
|
-
|
|
49
|
+
export const useFilters = <T,>(
|
|
50
|
+
args?:
|
|
51
|
+
{
|
|
52
|
+
memoryId?: string,
|
|
53
|
+
initialFilters?: Filters<T>,
|
|
54
|
+
reload?: boolean,
|
|
55
|
+
deserialize?: (fs: Filters<T>) => Filters<T>,
|
|
56
|
+
onFilterChange?: (fs: Filters<T>) => void,
|
|
57
|
+
showArchived?: boolean,
|
|
58
|
+
}
|
|
59
|
+
) => {
|
|
60
|
+
const { onFilterChange, reload, memoryId, initialFilters, deserialize, showArchived, } = args ?? {}
|
|
51
61
|
if (memoryId && !deserialize) console.warn("memoryId provided without deserialize")
|
|
52
62
|
|
|
53
63
|
const [filters, setFilters] = React.useState<Filters<T>>(
|
|
@@ -88,7 +98,13 @@ export const useFilters = <T,>(args?: { memoryId?: string, initialFilters?: Filt
|
|
|
88
98
|
onFilterChange(filters)
|
|
89
99
|
}, [filters, onFilterChange])
|
|
90
100
|
|
|
91
|
-
const applyFilters = useCallback((
|
|
101
|
+
const applyFilters = useCallback((
|
|
102
|
+
(data: T[]) => apply_filters(filters, data).filter(v =>
|
|
103
|
+
(showArchived ?? true) ? true : !(v as any).archivedAt
|
|
104
|
+
)
|
|
105
|
+
),
|
|
106
|
+
[filters, showArchived]
|
|
107
|
+
)
|
|
92
108
|
|
|
93
109
|
const compoundApiFilter = useMemo(() => {
|
|
94
110
|
let toReturn: LoadFunctionArguments<T> | null = (
|
|
@@ -224,6 +240,15 @@ export const filter_for_query = <T,>(query: string, getAdditionalFields?: (v: T)
|
|
|
224
240
|
score +=1
|
|
225
241
|
continue
|
|
226
242
|
}
|
|
243
|
+
// for phone number search, replace human-readable entries which are not stored
|
|
244
|
+
const onlyNumbers = query.replaceAll(/[^0-9]/g, '')
|
|
245
|
+
if (
|
|
246
|
+
onlyNumbers.length >= 3 &&
|
|
247
|
+
value.toUpperCase().includes(onlyNumbers)
|
|
248
|
+
) {
|
|
249
|
+
score +=1
|
|
250
|
+
continue
|
|
251
|
+
}
|
|
227
252
|
}
|
|
228
253
|
|
|
229
254
|
return score
|
|
@@ -560,24 +585,11 @@ export const PrescriptionRoutesSearch = (props: Omit<GenericSearchProps<Prescrip
|
|
|
560
585
|
export const FaxSearch = (props: Omit<GenericSearchProps<FaxLog>, 'filterKey'> & { filterKey?: string }) => {
|
|
561
586
|
const session = useSession()
|
|
562
587
|
const [, { addLocalElements }] = useFaxLogs()
|
|
563
|
-
// const [, { findById: findEnduser }] = useEndusers()
|
|
564
588
|
|
|
565
589
|
return (
|
|
566
590
|
<ModelSearchInput filterKey="fax_logs" {...props}
|
|
567
591
|
searchAPI={session.api.fax_logs.getSome}
|
|
568
592
|
onLoad={addLocalElements}
|
|
569
|
-
// attachSearchableFields={t => {
|
|
570
|
-
// const enduser = t.enduserId ? findEnduser(t.enduserId, { batch: true }) : undefined
|
|
571
|
-
// if (!enduser) return undefined
|
|
572
|
-
|
|
573
|
-
// const toJoin = {
|
|
574
|
-
// fname: enduser.fname,
|
|
575
|
-
// lname: enduser.lname,
|
|
576
|
-
// fullname: `${enduser.fname} ${enduser.lname}`,
|
|
577
|
-
// }
|
|
578
|
-
|
|
579
|
-
// return toJoin
|
|
580
|
-
// }}
|
|
581
593
|
/>
|
|
582
594
|
)
|
|
583
595
|
}
|