{"version":3,"sources":["components/PagedList/PagingButtons.tsx","components/PagedList/index.tsx","components/Forms/SearchForm.tsx","components/PagedList/ActionsDropdown.tsx","components/AccountManagers/AccountManagerQuery.tsx","components/AccountManagers/AccountManagerSelect.tsx","components/Tabs/TabContentContainer.tsx","components/Tabs/FullWidthTabHeaders.tsx","components/RelativeLink.tsx","components/Tabs/RouterTabHeader.tsx","components/AccountManagers/AccountManagerList/AccountManagerListQuery.tsx","components/Forms/QuerystringForm.tsx","components/Forms/SearchInputField.tsx","components/Forms/SearchFormControls.tsx","components/Forms/SearchFormCore.tsx","components/PagedList/PagedListItemLoadingPlaceholder.tsx","components/PagedList/PagedListItemNoItemsPlaceholder.tsx"],"names":["PagingButtonsField","pageInfo","form","updatePage","page","setFieldValue","submitForm","PagingButtons","props","previousPage","bind","nextPage","this","rangeText","first","last","ButtonGroup","className","Button","color","disabled","onClick","icon","faChevronLeft","hasMorePages","faChevronRight","totalResults","React","PagedListContext","refresh","Promise","resolve","cleanVariables","variables","input","cleanNumber","pageSize","PagedListItemsContainer","children","PagedList","query","getSearchResults","context","listItemsContainer","loadingPlaceholder","noItemsPlaceholder","pollInterval","fetchPolicy","Actions","actionButtonsComponent","ListItemComponent","listItemComponent","handleClick","ListItemsContainer","LoadingPlaceholder","PagedListItemLoadingPlaceholder","NoItemsPlaceholder","PagedListItemNoItemsPlaceholder","isVisible","usePageVisibility","useLoggedInUser","loggedInUser","loggedInUserLoading","loading","client","useApolloClient","useQuery","data","error","pagedListContextPayload","results","items","edges","map","x","node","Object","assign","console","log","Provider","value","onChange","nextIsVisible","Row","Col","md","key","length","item","i","undefined","size","offset","SearchForm","placeholder","searchInput","filterPanel","searchFormProps","formikProps","ActionsDropdown","allowClicks","requestSlas","classnames","outline","e","preventDefault","stopPropagation","faCaretDown","right","GET_ACCOUNT_MANAGER","gql","AccountManagerFragment","LoggedInUserFragment","GET_ACCOUNT_MANAGER_SHALLOW","GET_LOGGED_IN_ACCOUNT_MANAGER","useLoggedInAccountManager","accountManager","useAccountManager","id","skip","useAccountManagerShallow","AccountManagerSelect","useState","setQuery","accountManagerId","regionalSalesManagerId","onSelectAccountManager","autoFocus","hasIdentityProviderUserId","requiresHouseDealer","isClearable","isDisabled","q","selected","useAccountManagerList","accountManagers","fetchMore","options","label","name","selectedOption","inputValue","onInputChange","noOptionsMessage","filterOption","onMenuScrollToBottom","updateQuery","prev","fetchMoreResult","mergeWith","objValue","srcValue","isArray","TabContentContainer","CollapseBreakpoint","resolvePathnameNoTrailingSlash","path","currentPath","replace","removeTrailingSlash","resolvePathname","CoreLink","BaseComponent","relativeTo","to","rest","extractCurrentPath","useLocation","pathname","RelativeNavLink","NavLink","RouterTabHeader","title","active","collapse","collapseBreakpoint","collapseClass","NavItem","isActive","TabHeadersDropdown","withToggleState","toggle","tabs","currentTab","relPath","Dropdown","isOpen","nav","DropdownToggle","caret","DropdownMenu","filter","t","withRouter","match","tab","params","find","allowCollapse","Container","ACCOUNT_MANAGER_LIST","QuerystringForm","addDefaults","removeDefaults","getQuerystring","mapQuerystringToValues","initialValues","enableReinitialize","onSubmit","values","mapValuesToQuerystring","history","location","qs","search","queryString","fixedValues","defaultValues","defaults","mergedValues","keys","forEach","k","isEqual","SearchInputField","InputGroup","field","Input","type","spellCheck","InputGroupAddon","addonType","faSearch","SearchFormControlsCore","showFilterPanel","toggleFilterPanel","SearchInputComponent","FilterPanelComponent","noGutters","style","pointerEvents","faCaretUp","Collapse","lg","Card","CardBody","SearchFormControls","useToggle","SearchFormCore","querystringFormProps","handleSubmit","prevValues","currentValues"],"mappings":"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","file":"static/js/1.46b7d262.chunk.js","sourcesContent":["import {\n faChevronLeft,\n faChevronRight,\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { Field, FieldProps } from \"formik\";\nimport * as React from \"react\";\nimport { Button, ButtonGroup } from \"reactstrap\";\nimport { PageInfo } from \"../types\";\n\ninterface PagingButtonsProps {\n pageInfo?: PageInfo;\n updatePage: (page: number) => void;\n}\n\nexport const PagingButtonsField = ({ pageInfo }: { pageInfo?: PageInfo }) => {\n return (\n \n {({ form }: FieldProps) => (\n {\n form.setFieldValue(\"page\", page, false);\n form.submitForm();\n }}\n />\n )}\n \n );\n};\n\nclass PagingButtons extends React.Component {\n constructor(props: PagingButtonsProps) {\n super(props);\n this.previousPage = this.previousPage.bind(this);\n this.nextPage = this.nextPage.bind(this);\n }\n\n public render() {\n const { pageInfo } = this.props;\n const rangeText = pageInfo && `${pageInfo.first}-${pageInfo.last}`;\n\n return (\n <>\n \n \n Back\n \n \n Next \n \n \n {pageInfo && pageInfo.last > 0 ? (\n

\n {pageInfo.totalResults\n ? `${rangeText} of ${pageInfo.totalResults}`\n : rangeText}\n

\n ) : null}\n \n );\n }\n\n private previousPage() {\n const { pageInfo, updatePage } = this.props;\n const page = pageInfo && pageInfo.page;\n typeof page !== \"undefined\" &&\n updatePage(page && page >= 1 ? page - 1 : page || 1);\n }\n\n private nextPage() {\n const { pageInfo, updatePage } = this.props;\n pageInfo && updatePage((pageInfo.page || 1) + 1);\n }\n}\n\nexport default PagingButtons;\n","import { DocumentNode, WatchQueryFetchPolicy } from \"apollo-boost\";\nimport * as React from \"react\";\nimport { useApolloClient, useQuery } from \"react-apollo\";\nimport PageVisibility, { usePageVisibility } from \"react-page-visibility\";\nimport { Col, Row } from \"reactstrap\";\nimport { cleanNumber } from \"../../utils\";\nimport { useLoggedInUser } from \"../LoggedInUserQuery\";\nimport {\n CompositeComponent,\n ContextNames,\n PagedArgs,\n SearchResults,\n User,\n} from \"../types\";\nimport PagedListItemLoadingPlaceholder from \"./PagedListItemLoadingPlaceholder\";\nimport PagedListItemNoItemsPlaceholder from \"./PagedListItemNoItemsPlaceholder\";\nimport { PagingButtonsField } from \"./PagingButtons\";\n\ninterface PagedListProps<\n TData extends {},\n TEntity,\n TVariables extends { input: PagedArgs }\n> {\n actionButtonsComponent?: CompositeComponent<{\n variables?: TVariables;\n results?: SearchResults;\n loggedInUser?: User;\n context?: ContextNames;\n }>;\n listItemComponent: CompositeComponent<{\n item: TEntity;\n loggedInUser: User;\n context?: ContextNames;\n onClick?: () => void;\n }>;\n listItemsContainer?: CompositeComponent<{\n variables: TVariables;\n children: React.ReactNode;\n context?: ContextNames;\n loggedInUser?: User;\n }>;\n loadingPlaceholder?: () => JSX.Element;\n noItemsPlaceholder?: () => JSX.Element;\n query: DocumentNode;\n variables: TVariables;\n pollInterval?: number;\n context?: ContextNames;\n getSearchResults: (data: TData) => SearchResults | undefined;\n fetchPolicy?: WatchQueryFetchPolicy;\n onClick?: (item: TEntity) => void;\n children?: JSX.Element | null;\n}\n\ninterface PagedListContextProps {\n refresh: () => Promise;\n context?: ContextNames;\n}\n\nexport const PagedListContext = React.createContext({\n refresh: () => {\n return Promise.resolve() as Promise;\n },\n});\n\nconst PagedList = (props: PagedListProps) => {\n const {\n query,\n getSearchResults,\n context,\n listItemsContainer,\n loadingPlaceholder,\n noItemsPlaceholder,\n pollInterval,\n fetchPolicy,\n actionButtonsComponent: Actions,\n listItemComponent: ListItemComponent,\n onClick: handleClick,\n children,\n } = props;\n\n const variables = cleanVariables(props.variables);\n\n const ListItemsContainer = listItemsContainer || PagedListItemsContainer;\n const LoadingPlaceholder =\n loadingPlaceholder || PagedListItemLoadingPlaceholder;\n const NoItemsPlaceholder =\n noItemsPlaceholder || PagedListItemNoItemsPlaceholder;\n\n const isVisible = usePageVisibility();\n const { loggedInUser, loading: loggedInUserLoading } = useLoggedInUser();\n const client = useApolloClient();\n const { loading, data, error } = useQuery(query, {\n variables,\n pollInterval: isVisible ? pollInterval : 0,\n fetchPolicy,\n });\n\n const refresh = React.useCallback(\n () =>\n client.query({\n query,\n variables,\n fetchPolicy: \"network-only\",\n }),\n [client, query, variables]\n );\n\n const pagedListContextPayload = React.useMemo(() => ({ refresh, context }), [\n refresh,\n context,\n ]);\n\n const results = data && getSearchResults(data);\n const pageInfo = results?.pageInfo;\n const items = results?.edges?.map((x) => x.node);\n\n React.useEffect(() => {\n // Get the next page of results if there are more items\n if (pageInfo?.hasMorePages) {\n // tslint:disable-next-line:prefer-object-spread\n const nextPage = Object.assign({}, variables.input, {\n page: (variables.input.page || 1) + 1,\n });\n\n client.query({\n query,\n variables: { ...variables, input: nextPage },\n });\n }\n });\n\n if (error) {\n // tslint:disable-next-line:no-console\n console.log(\"Error in paged list\", error);\n return null;\n }\n\n return (\n \n {\n if (nextIsVisible && pollInterval) {\n refresh();\n }\n }}\n >\n <>\n \n \n {Actions ? (\n \n ) : null}\n \n \n \n \n \n\n \n {(loading && !items) || loggedInUserLoading ? (\n \n ) : loggedInUser && items && items.length ? (\n items.map((item, i) => (\n handleClick(item) : undefined}\n />\n ))\n ) : (\n \n )}\n \n {pageInfo && (\n \n \n \n \n \n )}\n {children || null}\n \n \n \n );\n};\n\n/** Makes sure that the page and pageSize variables are numeric */\nconst cleanVariables = (variables: any) => {\n return {\n ...variables,\n input: {\n ...variables.input,\n page: cleanNumber(variables.input.page),\n pageSize: cleanNumber(variables.input.pageSize),\n },\n };\n};\n\nexport const PagedListItemsContainer = ({\n children,\n}: {\n children: React.ReactNode;\n}): JSX.Element =>
{children}
;\n\nexport default PagedList;\n","import * as React from \"react\";\nimport SearchFormControls, {\n SearchFormControlsProps\n} from \"./SearchFormControls\";\nimport SearchFormCore, { SearchFormCoreProps } from \"./SearchFormCore\";\n\ntype SearchFormProps = SearchFormCoreProps &\n SearchFormControlsProps;\n\nconst SearchForm = ({\n context,\n placeholder,\n searchInput,\n filterPanel,\n children,\n ...searchFormProps\n}: SearchFormProps) => (\n \n {formikProps => (\n <>\n \n {children({ ...formikProps, context })}\n \n )}\n \n);\n\nexport default SearchForm;\n","import { faCaretDown } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { DropdownMenu, DropdownToggle, UncontrolledDropdown } from \"reactstrap\";\n\ninterface ActionsDropdownProps {\n className?: string;\n children: React.ReactNode | React.ReactNode[];\n allowClicks?: boolean;\n requestSlas?: () => void;\n}\n\nconst ActionsDropdown: React.FunctionComponent = ({\n className,\n children,\n allowClicks,\n requestSlas,\n}: ActionsDropdownProps) => (\n \n {\n e.preventDefault();\n e.stopPropagation();\n requestSlas && requestSlas();\n }}\n >\n {\" \"}\n Actions\n \n {\n if (!allowClicks) {\n e.preventDefault();\n }\n e.stopPropagation();\n }}\n >\n {children}\n \n \n);\n\nexport default ActionsDropdown;\n","import gql from \"graphql-tag\";\nimport { useQuery } from \"react-apollo\";\nimport { LoggedInUserFragment } from \"../LoggedInUserQuery\";\nimport { User } from \"../types\";\nimport { AccountManagerFragment } from \"./fragments\";\nimport { AccountManager } from \"./types\";\n\nexport interface LoggedInAccountManagerProps {\n loggedInUser: User;\n}\n\nexport interface AccountManagerProps {\n loggedInUser: User;\n accountManager: AccountManager;\n}\n\nexport const GET_ACCOUNT_MANAGER = gql`\n query AccountManagerQuery($id: String!) {\n loggedInUser {\n ...LoggedInUserFragment\n }\n accountManager(id: $id) {\n ...AccountManagerFragment\n }\n }\n ${AccountManagerFragment}\n ${LoggedInUserFragment}\n`;\n\nexport const GET_ACCOUNT_MANAGER_SHALLOW = gql`\n query AccountManagerShallowQuery($id: String!) {\n accountManager(id: $id) {\n id\n name\n email\n }\n }\n`;\n\n/** Logged in user with fully populated account manager */\nexport const GET_LOGGED_IN_ACCOUNT_MANAGER = gql`\n query LoggedInAccountManagerQuery {\n loggedInUser {\n ...LoggedInUserFragment\n accountManager {\n ...AccountManagerFragment\n }\n }\n }\n ${LoggedInUserFragment}\n ${AccountManagerFragment}\n`;\n\nexport const useLoggedInAccountManager = () => {\n const { loading, data } = useQuery<{ loggedInUser?: User }>(\n GET_LOGGED_IN_ACCOUNT_MANAGER\n );\n\n return { loading, accountManager: data?.loggedInUser?.accountManager };\n};\n\nexport const useAccountManager = (id?: string) => {\n const { loading, data } = useQuery<\n { accountManager?: AccountManager },\n { id?: string }\n >(GET_ACCOUNT_MANAGER, {\n variables: { id },\n skip: !id\n });\n\n return { loading, accountManager: data?.accountManager };\n};\n\nexport const useAccountManagerShallow = (id?: string) => {\n const { loading, data } = useQuery<\n { accountManager?: AccountManager },\n { id?: string }\n >(GET_ACCOUNT_MANAGER_SHALLOW, {\n variables: { id },\n skip: !id\n });\n\n return { loading, accountManager: data?.accountManager };\n};\n","import { isArray, mergeWith } from \"lodash\";\nimport React, { useState } from \"react\";\nimport CustomSelect from \"../Forms/CustomSelect\";\nimport { useAccountManagerList } from \"./AccountManagerList/AccountManagerListQuery\";\nimport { useAccountManagerShallow } from \"./AccountManagerQuery\";\ninterface AccountManagerSelectProps {\n accountManagerId?: string;\n regionalSalesManagerId?: string;\n hasIdentityProviderUserId?: boolean;\n requiresHouseDealer?: boolean;\n onSelectAccountManager: (id: string) => void;\n autoFocus?: boolean;\n isClearable?: boolean;\n isDisabled?: boolean;\n}\n\nconst AccountManagerSelect = (props: AccountManagerSelectProps) => {\n const [query, setQuery] = useState(\"\");\n\n const {\n accountManagerId,\n regionalSalesManagerId,\n onSelectAccountManager,\n autoFocus,\n hasIdentityProviderUserId,\n requiresHouseDealer,\n isClearable,\n isDisabled\n } = props;\n\n const input = {\n page: 1,\n pageSize: 40,\n q: query || undefined,\n hasIdentityProviderUserId,\n regionalSalesManagerId,\n requiresHouseDealer\n };\n\n const { accountManager: selected } = useAccountManagerShallow(\n accountManagerId\n );\n\n const { accountManagers, loading, fetchMore } = useAccountManagerList(input);\n\n const options = accountManagers\n ? accountManagers.edges.map(({ node: { name, id } }) => ({\n label: name,\n value: id\n }))\n : [];\n\n const selectedOption = selected\n ? {\n label: selected.name,\n value: selected.id\n }\n : null;\n\n const pageInfo = accountManagers && accountManagers.pageInfo;\n\n return (\n \n onSelectAccountManager(value ? value.value : undefined)\n }\n noOptionsMessage={() =>\n loading\n ? selected\n ? selected.name\n : \"Loading...\"\n : \"No account managers found\"\n }\n filterOption={() => true}\n placeholder={\n accountManagers ? \"Type to search account managers\" : \"Loading...\"\n }\n autoFocus={autoFocus}\n isClearable={!!isClearable}\n onMenuScrollToBottom={() => {\n if (!pageInfo || !pageInfo.hasMorePages) {\n return;\n }\n return fetchMore({\n variables: {\n input: {\n ...input,\n page: (pageInfo.page || 1) + 1\n }\n },\n updateQuery: (prev, { fetchMoreResult }) => {\n if (!fetchMoreResult) {\n return prev;\n }\n\n return mergeWith(\n {},\n prev,\n fetchMoreResult,\n (objValue, srcValue) => {\n if (isArray(objValue)) {\n return [...objValue, ...srcValue];\n }\n return;\n }\n );\n }\n });\n }}\n />\n );\n};\n\nexport default AccountManagerSelect;\n","import * as React from \"react\";\nimport { Container } from \"reactstrap\";\n\nconst TabContentContainer = ({ children }: { children: React.ReactNode }) => {\n return (\n
\n {children}\n
\n );\n};\n\nexport default TabContentContainer;\n","import classnames from \"classnames\";\nimport * as React from \"react\";\nimport { RouteComponentProps, withRouter } from \"react-router\";\nimport { Container, Dropdown, DropdownMenu, DropdownToggle } from \"reactstrap\";\nimport { RelativeNavLink } from \"../RelativeLink\";\nimport withToggleState, { ToggleStateProps } from \"../withToggleState\";\nimport RouterTabHeader from \"./RouterTabHeader\";\n\nexport interface FullWidthTabHeadersProps {\n tabs: TabHeaderProps[];\n className?: string;\n collapseBreakpoint?: CollapseBreakpoint;\n}\n\nenum CollapseBreakpoint {\n xs = \"xs\",\n sm = \"sm\",\n md = \"md\",\n lg = \"lg\"\n}\n\nexport interface TabHeaderProps {\n title: string;\n path: string;\n collapse?: boolean;\n}\n\ninterface TabHeadersDropdownProps {\n currentTab?: TabHeaderProps;\n tabs: TabHeaderProps[];\n relPath: string;\n collapseBreakpoint: CollapseBreakpoint;\n}\n\nconst TabHeadersDropdown = withToggleState()(\n ({\n toggle,\n active,\n tabs,\n currentTab,\n relPath,\n collapseBreakpoint\n }: TabHeadersDropdownProps & ToggleStateProps) => (\n \n \n {currentTab && currentTab.collapse ? currentTab.title : \"More\"}\n \n \n {tabs\n .filter(t => !!t.collapse)\n .map(({ path, title }) => (\n \n {title}\n \n ))}\n \n \n )\n);\n\ntype EnhancedFullWidthTabHeadersProps = FullWidthTabHeadersProps &\n RouteComponentProps<{ tab: string }>;\n\nconst FullWidthTabHeaders = ({\n tabs,\n className,\n match,\n collapseBreakpoint\n}: EnhancedFullWidthTabHeadersProps) => {\n const tab = match.params.tab;\n const relPath = tab ? \"..\" : \".\";\n const currentTab = tabs.find(t => t.path === tab || (!t.path && !tab));\n\n // Prevent collapse if there is only one collapsible tab\n const allowCollapse = tabs.filter(t => t.collapse).length > 1;\n\n return (\n
\n \n
    \n <>\n {tabs.map(({ collapse, path, title }) => (\n \n ))}\n {allowCollapse && (\n \n )}\n \n
\n
\n
\n );\n};\n\nexport default withRouter(FullWidthTabHeaders);\n","import * as React from \"react\";\nimport {\n Link,\n LinkProps,\n NavLink,\n NavLinkProps,\n useLocation\n} from \"react-router-dom\";\nimport resolvePathname from \"resolve-pathname\";\n\n/*\n Code here is derived from react-router-relative-link\n https://github.com/donavon/react-router-relative-link\n\n The original library was throwing errors with the latest version of React.\n*/\n\nconst ensureLeadingAndTrailingSlashes = (path: string) =>\n path.replace(/^\\/?/, \"/\").replace(/\\/?$/, \"/\");\nconst removeTrailingSlash = (path: string) => path.replace(/\\/$/, \"\") || \"/\";\nconst resolvePathnameNoTrailingSlash = (path: string, currentPath: string) =>\n removeTrailingSlash(resolvePathname(`${path}`, currentPath));\n\nconst extractCurrentPath = (currentPath: string) =>\n ensureLeadingAndTrailingSlashes(currentPath);\n\nconst CoreLink = ({ BaseComponent, to: relativeTo, ...rest }: any) => {\n const location = useLocation();\n\n const currentPath = extractCurrentPath(location.pathname);\n const to =\n typeof relativeTo === \"object\"\n ? {\n ...relativeTo,\n pathname: resolvePathnameNoTrailingSlash(\n relativeTo.pathname,\n currentPath\n )\n }\n : resolvePathnameNoTrailingSlash(relativeTo, currentPath);\n\n return ;\n};\n\nexport const RelativeLink = (props: LinkProps) => (\n \n);\n\nexport const RelativeNavLink = (props: NavLinkProps) => (\n \n);\n\nexport default RelativeLink;\n","import classnames from \"classnames\";\nimport * as React from \"react\";\nimport { NavItem } from \"reactstrap\";\nimport { RelativeNavLink } from \"../RelativeLink\";\n\nconst RouterTabHeader = ({\n title,\n to,\n active,\n collapse,\n collapseBreakpoint\n}: {\n title: string;\n to: string;\n active: boolean;\n collapse?: boolean;\n collapseBreakpoint: string;\n}) => {\n const collapseClass = `d-${collapseBreakpoint}-block`;\n return (\n \n active}\n to={to}\n replace={true}\n className={classnames(\n { active, \"d-none\": !!collapse, [collapseClass]: !!collapse },\n \"nav-link\"\n )}\n >\n {title}\n \n \n );\n};\n\nexport default RouterTabHeader;\n","import gql from \"graphql-tag\";\nimport * as React from \"react\";\nimport { Query, QueryResult, useQuery } from \"react-apollo\";\nimport { DebounceKeys, SearchResults, User } from \"../../types\";\nimport { AccountManagerFragment } from \"../fragments\";\nimport { AccountManager, AccountManagerSearchArgs } from \"../types\";\n\nexport interface AccountManagerListData {\n loggedInUser: User;\n accountManagers: SearchResults;\n}\n\ninterface AccountManagerListVariables {\n input?: AccountManagerSearchArgs;\n}\n\nexport const ACCOUNT_MANAGER_LIST = gql`\n query AccountManagerListQuery($input: AccountManagerSearchArgsInput) {\n accountManagers(input: $input) {\n pageInfo {\n hasMorePages\n totalResults\n page\n pageSize\n first\n last\n }\n edges {\n node {\n ...AccountManagerFragment\n }\n }\n }\n }\n ${AccountManagerFragment}\n`;\n\nconst AccountManagerListQuery = ({\n children,\n ...input\n}: AccountManagerSearchArgs & {\n children: (\n result: QueryResult & {\n accountManagers?: SearchResults;\n }\n ) => JSX.Element | null;\n}) => (\n \n query={ACCOUNT_MANAGER_LIST}\n variables={{ input }}\n context={{\n debounceKey: DebounceKeys.ACCOUNT_MANAGER_LIST,\n debounceTimeout: 300\n }}\n >\n {result =>\n children({\n ...result,\n accountManagers: result.data && result.data.accountManagers\n })\n }\n \n);\n\nexport const useAccountManagerList = (input?: AccountManagerSearchArgs) => {\n const { loading, data, fetchMore } = useQuery<\n AccountManagerListData,\n AccountManagerListVariables\n >(ACCOUNT_MANAGER_LIST, { variables: { input } });\n\n return { loading, accountManagers: data?.accountManagers, fetchMore };\n};\n\nexport default AccountManagerListQuery;\n","import { Formik, FormikProps } from \"formik\";\nimport { defaults, isEqual } from \"lodash\";\nimport * as queryString from \"query-string\";\nimport * as React from \"react\";\nimport { RouteComponentProps, withRouter } from \"react-router\";\n\nexport interface QuerystringFormProps {\n mapValuesToQuerystring: (values: Values) => any;\n mapQuerystringToValues: (querystring: any) => Values;\n\n fixedValues?: Partial;\n defaultValues?: Partial;\n children: (\n props: FormikProps\n ) => JSX.Element | null | React.ReactNode;\n}\n\nclass QuerystringForm extends React.Component<\n QuerystringFormProps & RouteComponentProps\n> {\n constructor(props: QuerystringFormProps & RouteComponentProps) {\n super(props);\n this.addDefaults = this.addDefaults.bind(this);\n this.removeDefaults = this.removeDefaults.bind(this);\n this.getQuerystring = this.getQuerystring.bind(this);\n }\n\n public render() {\n const { mapQuerystringToValues, children } = this.props;\n const initialValues = this.addDefaults(\n mapQuerystringToValues(this.getQuerystring())\n );\n\n return (\n {\n const { mapValuesToQuerystring, history, location } = this.props;\n const filteredValues = this.removeDefaults(values);\n const qs = mapValuesToQuerystring(filteredValues);\n\n // Set the new querystring by replacing the current history location\n history.replace({\n pathname: location.pathname,\n search: queryString.stringify(qs)\n });\n }}\n >\n {children}\n \n );\n }\n\n private addDefaults(values: Values) {\n const { fixedValues, defaultValues } = this.props;\n\n const mergedValues = defaults({}, fixedValues, values, defaultValues);\n\n return mergedValues;\n }\n\n private removeDefaults(values: Values) {\n const fixedValues = this.props.fixedValues as any;\n const defaultValues = this.props.defaultValues as any;\n const mergedValues = defaults({}, values, defaultValues);\n\n // Remove values which match defaults\n if (defaultValues) {\n Object.keys(defaultValues).forEach(\n k =>\n typeof mergedValues[k] !== \"undefined\" &&\n isEqual(mergedValues[k], defaultValues[k]) &&\n delete mergedValues[k]\n );\n }\n\n // Remove all fixed values, because they will always stay the same\n if (fixedValues) {\n Object.keys(fixedValues).forEach(\n k =>\n typeof (fixedValues as any)[k] !== \"undefined\" &&\n delete mergedValues[k]\n );\n }\n\n // Delete any empty properties except nulls\n Object.keys(mergedValues).forEach(\n k =>\n (typeof mergedValues[k] === \"undefined\" || mergedValues[k] === \"\") &&\n delete mergedValues[k]\n );\n\n return mergedValues;\n }\n\n private getQuerystring() {\n const { location } = this.props;\n return queryString.parse(location.search);\n }\n}\n\nexport default withRouter(QuerystringForm);\n","import { faSearch } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { Field, FieldProps } from \"formik\";\nimport * as React from \"react\";\nimport { Button, Input, InputGroup, InputGroupAddon } from \"reactstrap\";\n\nconst SearchInputField = ({\n name,\n placeholder\n}: {\n name: string;\n placeholder?: string;\n}) => (\n \n \n {({ field }: FieldProps) => (\n \n )}\n \n \n \n \n \n);\n\nexport default SearchInputField;\n","import { faCaretDown, faCaretUp } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { FormikProps } from \"formik\";\nimport * as React from \"react\";\nimport { Button, Card, CardBody, Col, Collapse, Row } from \"reactstrap\";\nimport { CompositeComponent } from \"../../utils/types\";\nimport { ContextNames } from \"../types\";\nimport { useToggle } from \"../withToggleState\";\nimport SearchInputField from \"./SearchInputField\";\n\nexport interface SearchFormControlsProps {\n context?: ContextNames;\n placeholder?: string;\n searchInput?: CompositeComponent<{\n name: string;\n placeholder?: string;\n context?: ContextNames;\n }> | null;\n filterPanel?: CompositeComponent<\n FormikProps & { context?: ContextNames }\n >;\n}\n\ninterface SearchFormControlsPropsEnhanced\n extends SearchFormControlsProps {\n formikProps: FormikProps;\n}\n\nexport const SearchFormControlsCore = ({\n context,\n searchInput,\n filterPanel,\n placeholder,\n formikProps,\n active: showFilterPanel,\n toggle: toggleFilterPanel\n}: SearchFormControlsPropsEnhanced & {\n active: boolean;\n toggle: () => void;\n}) => {\n const SearchInputComponent =\n searchInput || searchInput === null ? searchInput : SearchInputField;\n const FilterPanelComponent = filterPanel;\n\n return (\n <>\n {SearchInputComponent && (\n \n \n \n \n {FilterPanelComponent && (\n \n \n More search options{\" \"}\n \n \n \n )}\n \n )}\n {FilterPanelComponent && (\n \n {showFilterPanel && (\n \n \n \n \n \n \n \n \n \n )}\n \n )}\n \n );\n};\n\nconst SearchFormControls = (\n props: SearchFormControlsPropsEnhanced\n) => {\n const { active, toggle } = useToggle();\n return (\n \n active={active}\n toggle={toggle}\n {...props}\n />\n );\n};\n\nexport default SearchFormControls;\n","import { FormikProps } from \"formik\";\nimport { isEqual } from \"lodash\";\nimport * as React from \"react\";\nimport { cleanNumber } from \"../../utils\";\nimport { ContextNames } from \"../types\";\nimport FormikEffects from \"./FormikEffects\";\nimport QuerystringForm, { QuerystringFormProps } from \"./QuerystringForm\";\n\nexport interface SearchFormCoreProps\n extends QuerystringFormProps {\n context?: ContextNames;\n children: (\n props: FormikProps & { context?: ContextNames }\n ) => JSX.Element | null;\n className?: string;\n}\n\nclass SearchFormCore extends React.Component<\n SearchFormCoreProps\n> {\n public render() {\n const {\n children,\n context,\n className,\n ...querystringFormProps\n } = this.props;\n\n return (\n )}\n mapQuerystringToValues={qs => ({\n ...querystringFormProps.mapQuerystringToValues(qs),\n page: cleanNumber(qs.page),\n pageSize: cleanNumber(qs.pageSize)\n })}\n >\n {(formikProps: FormikProps) => (\n
\n {\n if (prevValues.page !== currentValues.page) {\n return;\n }\n // Reset the page to 1 if anything has changed\n if (!isEqual(prevValues, currentValues)) {\n formikProps.setFieldValue(\"page\", 1, false);\n }\n }}\n />\n\n {children({ ...formikProps, context })}\n \n )}\n \n );\n }\n}\n\nexport default SearchFormCore;\n","import * as React from \"react\";\nimport LoadingSpinner from \"../LoadingSpinner\";\n\nconst PagedListItemLoadingPlaceholder = () => (\n
\n \n
\n);\n\nexport default PagedListItemLoadingPlaceholder;\n","import * as React from \"react\";\n\nconst PagedListItemNoItemsPlaceholder = () => (\n
\n

No results found

\n
\n);\n\nexport default PagedListItemNoItemsPlaceholder;\n"],"sourceRoot":""}