@tellescope/react-components 1.188.0 → 1.189.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tellescope/react-components",
3
- "version": "1.188.0",
3
+ "version": "1.189.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.188.0",
51
- "@tellescope/sdk": "^1.188.0",
52
- "@tellescope/types-client": "^1.188.0",
53
- "@tellescope/types-models": "^1.188.0",
54
- "@tellescope/types-utilities": "^1.188.0",
55
- "@tellescope/utilities": "^1.188.0",
56
- "@tellescope/validation": "^1.188.0",
50
+ "@tellescope/constants": "^1.189.0",
51
+ "@tellescope/sdk": "^1.189.0",
52
+ "@tellescope/types-client": "^1.189.0",
53
+ "@tellescope/types-models": "^1.189.0",
54
+ "@tellescope/types-utilities": "^1.189.0",
55
+ "@tellescope/utilities": "^1.189.0",
56
+ "@tellescope/validation": "^1.189.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": "53980cf431ca6a0961fe95d3e6ec24115e31c136",
87
+ "gitHead": "f7e7f3107237f5c850d62a6ec78b0d557ba2e71f",
88
88
  "publishConfig": {
89
89
  "access": "public"
90
90
  }
@@ -322,7 +322,7 @@ export const QuestionForField = ({
322
322
  <Dropdown field={field} value={value.answer.value as any} onChange={onFieldChange as ChangeHandler<'Dropdown'>} form={form}/>
323
323
  )
324
324
  : field.type === 'Database Select' ? (
325
- <DatabaseSelect field={field} value={value.answer.value as any} onChange={onFieldChange as ChangeHandler<'Database Select'>}
325
+ <DatabaseSelect field={field} disabled={value.disabled} value={value.answer.value as any} onChange={onFieldChange as ChangeHandler<'Database Select'>}
326
326
  onDatabaseSelect={handleDatabaseSelect}
327
327
  responses={responses} form={form}
328
328
  />
@@ -1899,7 +1899,7 @@ const get_other_answers = (_value?: DatabaseSelectResponse[], typing?: string) =
1899
1899
  return []
1900
1900
  }
1901
1901
 
1902
- export const DatabaseSelectInput = ({ field, value: _value, onChange, onDatabaseSelect, responses, size }: FormInputProps<'Database Select'> & {
1902
+ export const DatabaseSelectInput = ({ field, value: _value, onChange, onDatabaseSelect, responses, size, disabled }: FormInputProps<'Database Select'> & {
1903
1903
  responses: FormResponseValue[],
1904
1904
  }) => {
1905
1905
  const [typing, setTyping] = useState('')
@@ -2003,6 +2003,7 @@ export const DatabaseSelectInput = ({ field, value: _value, onChange, onDatabase
2003
2003
  : label_for_database_record(field, o)
2004
2004
  )}
2005
2005
  value={value}
2006
+ disabled={disabled}
2006
2007
  onChange={(_, v) => {
2007
2008
  if (v.length && onDatabaseSelect) {
2008
2009
  onDatabaseSelect(v)
@@ -6,7 +6,7 @@ import { ALL_ACCESS, HEALTHIE_TITLE, UNSEARCHABLE_FIELDS } from "@tellescope/con
6
6
  import { SearchAPIProps, useSearchAPI } from "./hooks"
7
7
  import { TextFieldProps } from "./mui"
8
8
  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"
9
- 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 "."
9
+ import { Button, Checkbox, Flex, HoverPaper, LoadingButton, LoadingData, ScrollingList, SearchTextInput, Typography, useAgentRecords, useAllergyCodes, useAppointmentBookingPages, useAppointmentLocations, useAutomationTriggers, useCalendarEventTemplates, useCallHoldQueues, useChatRooms, useDatabaseRecords, useDatabases, useDiagnosisCodes, useEnduserCustomTypes, 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 "."
10
10
  import { SxProps } from "@mui/material"
11
11
  import { AccessPermissions, ListOfStringsWithQualifier } from "@tellescope/types-models"
12
12
 
@@ -1374,6 +1374,7 @@ export interface UserAndEnduserSelectorProps {
1374
1374
  limitToUsers?: User[],
1375
1375
  dontIncludeSelf: boolean,
1376
1376
  virtualizationHeight?: number,
1377
+ showEntityType?: boolean,
1377
1378
  }
1378
1379
  export const UserAndEnduserSelector: React.JSXElementConstructor<UserAndEnduserSelectorProps> = ({
1379
1380
  titleInput,
@@ -1394,12 +1395,17 @@ export const UserAndEnduserSelector: React.JSXElementConstructor<UserAndEnduserS
1394
1395
  limitToUsers,
1395
1396
  dontIncludeSelf,
1396
1397
  virtualizationHeight,
1398
+ showEntityType,
1397
1399
  }) => {
1398
1400
  const session = useResolvedSession()
1399
1401
  const [endusersLoading, { loadMore: loadMoreEndusers, doneLoading: doneLoadingEndusers }] = useEndusers()
1400
1402
  const [usersLoading, { loadMore: loadMoreUsers, doneLoading: doneLoadingUsers }] = useUsers({
1401
1403
  dontFetch: !!limitToUsers
1402
1404
  })
1405
+ const [typesLoading] = useEnduserCustomTypes({ dontFetch: !showEntityType })
1406
+ const entityTypes = useMemo(() => (
1407
+ value_is_loaded(typesLoading) ? typesLoading.value : []
1408
+ ),[typesLoading])
1403
1409
 
1404
1410
  const doneLoading = useCallback(() =>
1405
1411
  (excludeUsers || doneLoadingUsers()) && (excludeEndusers || doneLoadingEndusers()),
@@ -1534,11 +1540,22 @@ export const UserAndEnduserSelector: React.JSXElementConstructor<UserAndEnduserS
1534
1540
  >
1535
1541
  <Checkbox checked={selected.includes(user.id)} />
1536
1542
 
1537
- <Typography style={{
1538
- fontWeight: selected.includes(user.id) ? 'bold' : undefined,
1539
- }}>
1540
- {user_display_name(user)}
1541
- </Typography>
1543
+ <Flex flex={1} column alignItems="flex-end" justifyContent="center">
1544
+ <Typography style={{
1545
+ fontWeight: selected.includes(user.id) ? 'bold' : undefined,
1546
+ }}>
1547
+ {user_display_name(user)}
1548
+ </Typography>
1549
+
1550
+ {showEntityType && (user as Enduser).customTypeId &&
1551
+ <Typography style={{
1552
+ fontWeight: selected.includes(user.id) ? 'bold' : undefined,
1553
+ fontSize: 12.5,
1554
+ }}>
1555
+ {entityTypes.find(t => t.id === (user as Enduser).customTypeId)?.title}
1556
+ </Typography>
1557
+ }
1558
+ </Flex>
1542
1559
  </Flex>
1543
1560
  </HoverPaper>
1544
1561
  )}