Fixed owner searching.
This commit is contained in:
@@ -20,12 +20,7 @@ export default function OwnerFindModalContainer({
|
|||||||
|
|
||||||
const ownersList = useQuery(QUERY_SEARCH_OWNER_BY_IDX, {
|
const ownersList = useQuery(QUERY_SEARCH_OWNER_BY_IDX, {
|
||||||
variables: {
|
variables: {
|
||||||
search: owner
|
search: owner ? `${owner.ownr_fn || ""} ${owner.ownr_ln || ""}` : null
|
||||||
? `${owner.ownr_fn || ""} ${owner.ownr_ln || ""} ${owner.ownr_addr1 ||
|
|
||||||
""} ${owner.ownr_city || ""} ${owner.ownr_zip ||
|
|
||||||
""} ${owner.ownr_ea || ""} ${owner.ownr_ph1 ||
|
|
||||||
""} ${owner.ownr_ph2 || ""}`
|
|
||||||
: null
|
|
||||||
},
|
},
|
||||||
skip: !owner,
|
skip: !owner,
|
||||||
fetchPolicy: "network-only"
|
fetchPolicy: "network-only"
|
||||||
@@ -35,18 +30,17 @@ export default function OwnerFindModalContainer({
|
|||||||
<Modal
|
<Modal
|
||||||
title={t("owners.labels.existing_owners")}
|
title={t("owners.labels.existing_owners")}
|
||||||
width={"80%"}
|
width={"80%"}
|
||||||
{...modalProps}
|
{...modalProps}>
|
||||||
>
|
|
||||||
{loading ? <LoadingSpinner /> : null}
|
{loading ? <LoadingSpinner /> : null}
|
||||||
{error ? <AlertComponent message={error.message} type="error" /> : null}
|
{error ? <AlertComponent message={error.message} type='error' /> : null}
|
||||||
{owner ? (
|
{owner ? (
|
||||||
<OwnerFindModalComponent
|
<OwnerFindModalComponent
|
||||||
selectedOwner={selectedOwner}
|
selectedOwner={selectedOwner}
|
||||||
setSelectedOwner={setSelectedOwner}
|
setSelectedOwner={setSelectedOwner}
|
||||||
ownersListLoading={ownersList.loading}
|
ownersListLoading={ownersList.loading}
|
||||||
ownersList={
|
ownersList={
|
||||||
ownersList.data && ownersList.data.search_owners
|
ownersList.data && ownersList.data.search_owner
|
||||||
? ownersList.data.search_owners
|
? ownersList.data.search_owner
|
||||||
: null
|
: null
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
@import 'react-big-calendar/lib/sass/styles';
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { Calendar, momentLocalizer } from "react-big-calendar";
|
import { Calendar, momentLocalizer } from "react-big-calendar";
|
||||||
import "react-big-calendar/lib/css/react-big-calendar.css";
|
//import "react-big-calendar/lib/css/react-big-calendar.css";
|
||||||
|
import "./schedule-calendar.styles.scss";
|
||||||
import DateCellWrapper from "../schedule-datecellwrapper/schedule-datecellwrapper.component";
|
import DateCellWrapper from "../schedule-datecellwrapper/schedule-datecellwrapper.component";
|
||||||
import Event from "../schedule-event/schedule-event.container";
|
import Event from "../schedule-event/schedule-event.container";
|
||||||
const localizer = momentLocalizer(moment);
|
const localizer = momentLocalizer(moment);
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { gql } from "apollo-boost";
|
|||||||
|
|
||||||
export const QUERY_SEARCH_OWNER_BY_IDX = gql`
|
export const QUERY_SEARCH_OWNER_BY_IDX = gql`
|
||||||
query QUERY_SEARCH_OWNER_BY_IDX($search: String!) {
|
query QUERY_SEARCH_OWNER_BY_IDX($search: String!) {
|
||||||
search_owners(args: { search: $search }) {
|
search_owner(args: { search: $search }) {
|
||||||
ownr_fn
|
ownr_fn
|
||||||
ownr_ln
|
ownr_ln
|
||||||
ownr_ph1
|
ownr_ph1
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
- args:
|
||||||
|
sql: "CREATE OR REPLACE FUNCTION public.search_owners(search text)\n RETURNS SETOF
|
||||||
|
owners\n LANGUAGE sql\n STABLE\nAS $function$\r\n SELECT *\r\n FROM owners\r\n
|
||||||
|
\ WHERE\r\n search <% (ownr_fn || ' ' || ownr_ln || ' ' || ownr_addr1
|
||||||
|
\ || ' ' || ownr_city || ' ' || ownr_zip || ' ' || ownr_ea || ' ' || ownr_ph1
|
||||||
|
|| ' ' || ownr_ph2)\r\n ORDER BY\r\n similarity(search, (ownr_fn ||
|
||||||
|
' ' || ownr_ln || ' ' || ownr_addr1 || ' ' || ownr_city || ' ' || ownr_zip
|
||||||
|
\ || ' ' || ownr_ea || ' ' || ownr_ph1 || ' ' || ownr_ph2)) DESC\r\n LIMIT
|
||||||
|
20;\r\n$function$\n"
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
- args:
|
||||||
|
sql: DROP FUNCTION "public"."search_owners"("pg_catalog"."text")
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
- args:
|
||||||
|
cascade: true
|
||||||
|
sql: |
|
||||||
|
drop index owner_gin_idx
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
- args:
|
||||||
|
cascade: true
|
||||||
|
sql: "CREATE INDEX idx_owner_name ON owners\r\nUSING GIN ((ownr_fn || ' ' || ownr_ln)
|
||||||
|
gin_trgm_ops);"
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
11
hasura/migrations/1582151340160_run_sql_migration/up.yaml
Normal file
11
hasura/migrations/1582151340160_run_sql_migration/up.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
- args:
|
||||||
|
cascade: true
|
||||||
|
sql: "CREATE FUNCTION search_owner(search text)\r\nRETURNS SETOF owners AS $$\r\n
|
||||||
|
\ SELECT *\r\n FROM owners\r\n WHERE\r\n search <% (ownr_fn ||
|
||||||
|
' ' || ownr_ln)\r\n ORDER BY\r\n similarity(search, (ownr_fn || ' '
|
||||||
|
|| ownr_ln)) DESC\r\n LIMIT 5;\r\n$$ LANGUAGE sql STABLE;"
|
||||||
|
type: run_sql
|
||||||
|
- args:
|
||||||
|
name: search_owner
|
||||||
|
schema: public
|
||||||
|
type: track_function
|
||||||
Reference in New Issue
Block a user