{"version":3,"file":"InquiryAdvancedSearchForm.mjs","names":["React","useMemo","useCallback","useEffect","makeStyles","Divider","Typography","FluentTextFieldAutoComplete","SearchOperators","clsx","v4","uuid","PropertyTypeEnum","PropertyField","LookupTypeEnums","csvStrToArrayOfObjects","useForm","useStyles","theme","root","marginRight","spacing","marginLeft","overflowX","fieldRow","display","alignItems","dividerContainer","justifyContent","width","divider","marginTop","autocompleteRoot","InquiryAdvancedSearchForm","props","$","_c","advancedSearchFields","selectedSearchOperators","setSelectedSearchOperators","catalogProperties","entityType","lookupPropertyNames","classes","classProps","setForm","t0","form","t1","value","fieldName","updatedSelectedSearchOps","handleSearchOperatorChange","getPropertyWidgetType","_temp","getPropertyTypeSearchOperators","_temp3","t2","bb0","t3","Symbol","for","keys","Object","reduce","list","key","groupedItems","groupHeader","foundGroupItem","find","_temp4","push","isDivider","id","forEach","item_0","foundProperty","property","name","item","propertyWidgetType_0","type","extendedProperties","useLookup","searchable","includes","Api","propertyWidgetType","lookup","apiLookupOptions","arrayOfFields","fieldRows","config","searchOperator","options","Csv","label","columnName","valueName","getPropertyFields","t4","bb1","length","t5","t6","config_0","value_0","textAlign","whiteSpace","map","fieldComponents","t7","t8","bb14","Int","Long","DateTime","Boolean","_temp2","operator","type_0","filter"],"sources":["../../../src/inquiry/search/InquiryAdvancedSearchForm.jsx"],"sourcesContent":["import React, { useMemo, useCallback, useEffect } from 'react';\nimport { makeStyles, Divider, Typography } from '@material-ui/core';\nimport { FluentTextFieldAutoComplete } from '../../UI/inputs/textField/FluentTextFieldAutoComplete';\nimport { SearchOperators } from '../../models/SearchOperator.ts';\nimport clsx from 'clsx';\nimport { v4 as uuid } from 'uuid';\nimport { PropertyTypeEnum } from '../../enums/propertyTypeEnums.ts';\nimport { PropertyField } from '../../UI/property/PropertyFields';\nimport { LookupTypeEnums } from '../../enums/unitySystemEnums.ts';\nimport { csvStrToArrayOfObjects } from '../../utilities/input/SelectUtilities';\nimport { useForm } from 'react-final-form';\n\nconst useStyles = makeStyles((theme) => ({\n  root: {\n    marginRight: theme.spacing(1),\n    marginLeft: theme.spacing(1),\n    overflowX: 'auto'\n  },\n  fieldRow: { display: 'flex', alignItems: 'center' },\n  dividerContainer: {\n    display: 'flex',\n    justifyContent: 'space-between',\n    alignItems: 'center',\n    width: '100%'\n  },\n  divider: { width: '100%', marginTop: theme.spacing(1) },\n  autocompleteRoot: {\n    width: '38%',\n    marginRight: theme.spacing(1)\n  }\n}));\n\nexport const InquiryAdvancedSearchForm = (props) => {\n  const {\n    advancedSearchFields,\n    selectedSearchOperators,\n    setSelectedSearchOperators,\n    catalogProperties,\n    entityType,\n    lookupPropertyNames,\n    classes: classProps,\n    executeQueryWithParameters,\n    setForm\n  } = props;\n  const { root } = classProps || {};\n  const classes = useStyles();\n\n  const form = useForm();\n\n  const handleSearchOperatorChange = useCallback(\n    (value, fieldName) => {\n      if (fieldName) {\n        let updatedSelectedSearchOps = {};\n        if (selectedSearchOperators) {\n          updatedSelectedSearchOps = { ...selectedSearchOperators };\n        }\n        updatedSelectedSearchOps[fieldName] = value;\n        setSelectedSearchOperators(updatedSelectedSearchOps);\n      }\n    },\n    [selectedSearchOperators, setSelectedSearchOperators]\n  );\n\n  const getPropertyWidgetType = (type, useLookup) => {\n    if (!type) {\n      return null;\n    }\n    let propertyWidgetType = '';\n    switch (type) {\n      case PropertyTypeEnum.Int:\n      case PropertyTypeEnum.Long:\n        propertyWidgetType = 'IntegerWidget';\n        break;\n      case PropertyTypeEnum.DateTime:\n        propertyWidgetType = 'DateTimeWidget';\n        break;\n      case PropertyTypeEnum.Boolean:\n        propertyWidgetType = 'BooleanWidget';\n        break;\n      default:\n        propertyWidgetType = 'TextWidget';\n    }\n\n    if (\n      useLookup === LookupTypeEnums.Api ||\n      useLookup === LookupTypeEnums.Csv\n    ) {\n      propertyWidgetType = 'AutoCompleteWidget';\n    }\n\n    return propertyWidgetType;\n  };\n\n  const getPropertyTypeSearchOperators = useCallback((type) => {\n    if (!type) {\n      return [];\n    }\n    switch (type) {\n      case PropertyTypeEnum.Boolean:\n        return SearchOperators.filter((operator) => operator.value === '=');\n      default:\n        return SearchOperators;\n    }\n  }, []);\n\n  const fieldRows = useMemo(() => {\n    if (!advancedSearchFields || !catalogProperties) {\n      return [];\n    }\n    const keys = Object.keys(advancedSearchFields);\n\n    const arrayOfFields = keys.reduce((list, key) => {\n      const groupedItems = advancedSearchFields[key];\n      let groupHeader = '';\n      const foundGroupItem = groupedItems.find((item) => !!item.groupHeader);\n      if (foundGroupItem) {\n        groupHeader = foundGroupItem.groupHeader;\n      }\n      list.push({ groupHeader: groupHeader, isDivider: true, id: uuid() });\n      groupedItems.forEach(async (item) => {\n        const foundProperty = catalogProperties.find(\n          (property) => property.name === item.name\n        );\n        const propertyWidgetType = getPropertyWidgetType(\n          foundProperty?.type,\n          foundProperty?.extendedProperties?.useLookup\n        );\n        let apiLookupOptions = null;\n        if (\n          !item.searchable &&\n          !foundProperty?.extendedProperties?.searchable\n        ) {\n          return;\n        }\n        if (\n          lookupPropertyNames.includes(foundProperty?.name) &&\n          foundProperty?.extendedProperties?.useLookup === LookupTypeEnums.Api\n        ) {\n          // TODO: handle getting lookup data with api call\n          // const response = await executeQueryWithParameters(\n          //   'aa5d1fe1-1128-4d08-9ddb-58ad4fcf00e4'\n          // );\n          // console.log(response?.data);\n        }\n        list.push({\n          ...item,\n          isDivider: false,\n          type: foundProperty?.type,\n          propertyWidgetType: propertyWidgetType,\n          useLookup: foundProperty?.extendedProperties?.useLookup,\n          lookup: foundProperty?.extendedProperties?.lookup,\n          apiLookupOptions: apiLookupOptions\n        });\n      });\n      return list;\n    }, []);\n    return arrayOfFields;\n  }, [advancedSearchFields, catalogProperties, lookupPropertyNames]);\n\n  const getPropertyFields = useCallback(\n    (config) => {\n      const searchOperator = selectedSearchOperators\n        ? selectedSearchOperators[config?.name]?.value\n        : null;\n      let options = [];\n      if (config?.useLookup === LookupTypeEnums.Csv) {\n        options = csvStrToArrayOfObjects(config?.lookup);\n      }\n      if (searchOperator === 'BETWEEN') {\n        return (\n          <div style={{ display: 'block', width: '100%' }}>\n            <PropertyField\n              propertyType={entityType}\n              property={{\n                key: config?.name,\n                label: `${config?.columnName} (From)`,\n                type: config?.propertyWidgetType,\n                options: options || [],\n                valueName: 'value'\n              }}\n            />\n            <PropertyField\n              propertyType={entityType}\n              property={{\n                key: `${config?.name}:between`,\n                label: `${config?.columnName} (To)`,\n                type: config?.propertyWidgetType,\n                options: options || [],\n                valueName: 'value'\n              }}\n            />\n          </div>\n        );\n      }\n\n      return (\n        <PropertyField\n          propertyType={entityType}\n          property={{\n            key: config?.name,\n            label: config?.columnName,\n            type: config?.propertyWidgetType,\n            options: options || [],\n            valueName: 'value'\n          }}\n        />\n      );\n    },\n    [entityType, selectedSearchOperators]\n  );\n\n  const fieldComponents = useMemo(() => {\n    if (!fieldRows || !fieldRows.length) {\n      return null;\n    }\n    return fieldRows.map((config) => {\n      return (\n        <div key={config?.id}>\n          {!config?.isDivider && (\n            <div className={classes.fieldRow}>\n              <FluentTextFieldAutoComplete\n                id='udpRecord-InquiryAdvancedSearchForm-Text'\n                udprecordid='udpRecord-InquiryAdvancedSearchForm-Text'\n                label='Operator'\n                name='searchOperator'\n                variant='outlined'\n                margin='dense'\n                size='small'\n                options={getPropertyTypeSearchOperators(config?.type) || []}\n                optionKey='label'\n                value={\n                  (selectedSearchOperators &&\n                    selectedSearchOperators[config?.name]) ||\n                  ''\n                }\n                onChange={(value) =>\n                  handleSearchOperatorChange(value, config?.name)\n                }\n                classes={{ autocompleteRoot: classes.autocompleteRoot }}\n              />\n              {getPropertyFields(config)}\n            </div>\n          )}\n          {config?.isDivider && (\n            <div className={classes.dividerContainer}>\n              <div className={classes.divider}>\n                <Divider orientation='horizontal' />\n              </div>\n              {config?.groupHeader && (\n                <div\n                  style={{\n                    marginRight: 8,\n                    marginLeft: 8,\n                    textAlign: 'center',\n                    whiteSpace: 'nowrap'\n                  }}\n                >\n                  <Typography variant='caption'>\n                    {config?.groupHeader}\n                  </Typography>\n                </div>\n              )}\n              <div className={classes.divider}>\n                <Divider orientation='horizontal' />\n              </div>\n            </div>\n          )}\n        </div>\n      );\n    });\n  }, [\n    fieldRows,\n    classes,\n    handleSearchOperatorChange,\n    selectedSearchOperators,\n    getPropertyTypeSearchOperators,\n    getPropertyFields\n  ]);\n\n  useEffect(() => {\n    if (form) {\n      setForm(form);\n    }\n  }, [form, setForm]);\n\n  return <div className={clsx(classes.root, root)}>{fieldComponents}</div>;\n};\n"],"mappings":"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"}