{"version":3,"file":"js/5089-f03063aa1398891ce3ce.chunk.js","mappings":"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","sources":["webpack://halo/./app/client/src/components/modals/ScientistContributionEditModals/FundingEditModal.tsx","webpack://halo/./app/client/src/tsTypes/fundings.ts","webpack://halo/./app/client/src/requests/fundings.ts","webpack://halo/./app/client/src/requests/governmentOrganizations.ts","webpack://halo/./app/client/src/requests/foundations.ts","webpack://halo/./app/client/src/tsTypes/patents.ts","webpack://halo/./app/client/src/components/modals/ScientistContributionEditModals/PatentEditModal.tsx","webpack://halo/./app/client/src/requests/patents.ts","webpack://halo/./app/client/src/components/modals/ScientistContributionEditModals/PublicationEditModal.tsx","webpack://halo/./app/client/src/requests/publications.ts","webpack://halo/./app/client/src/components/modals/ScientistContributionEditModals/shared.ts"],"sourcesContent":["import {\n  BlankModal,\n  Button,\n  Checkbox,\n  MultiSelectDropdown,\n  SingleSelectDropdown,\n  TextInput,\n} from \"@components/library\";\nimport { DropdownOption } from \"@components/library/Dropdowns/DropdownOption\";\nimport { Label } from \"@components/library/Inputs/TextInput\";\nimport { COLORS, FONTS, JS_FONTS } from \"@constants\";\nimport { RootState } from \"@redux/store\";\nimport { getFoundations } from \"@requests/foundations\";\nimport { createFunding, deleteFunding, updateFunding } from \"@requests/fundings\";\nimport { getGovernmentOrganizations } from \"@requests/governmentOrganizations\";\nimport { useMutation, useQuery } from \"@tanstack/react-query\";\nimport { FUNDING_SOURCE_TYPES, NIH_GRANT_TYPES } from \"@tsTypes/fundings\";\nimport { FundingPartial } from \"@tsTypes/fundings/_funding\";\nimport { Company, Foundation, GovernmentOrganization, University } from \"@tsTypes/schema\";\nimport { MONTH_DROPDOWN_OPTIONS, YEAR_DROPDOWN_OPTIONS } from \"@utils/dateUtils\";\nimport { getOptionFromValue } from \"@utils/dropdownUtils\";\nimport { toastErrorHandler } from \"@utils/requests\";\nimport { StyleSheet, css } from \"aphrodite\";\nimport dayjs from \"dayjs\";\nimport Fuse from \"fuse.js\";\nimport { useEffect, useRef, useState } from \"react\";\nimport CurrencyInput from \"react-currency-input\";\nimport { useSelector } from \"react-redux\";\nimport { useCompanyOptions, useUniversityOptions } from \"src/views/Onboarding/Hooks\";\nimport styled from \"styled-components\";\nimport { ButtonsContainer, Columns, Content, MODAL_WIDTH } from \"./shared\";\n\ntype ActionType = \"create\" | \"update\" | \"delete\";\n\ninterface Props {\n  isOpen: boolean;\n  onClose: () => void;\n  editFunding: FundingPartial | null;\n  onSuccess: (type: ActionType, newFunding: FundingPartial) => void;\n}\n\nconst SPONSOR_TYPE_OPTIONS: DropdownOption[] = FUNDING_SOURCE_TYPES.map((type) => ({\n  label: type.text,\n  value: type.key,\n}));\n\nconst SPONSOR_TYPE_LABELS = {\n  government: \"Agencies\",\n  university: \"Universities\",\n  foundation: \"Foundations\",\n  company: \"Companies\",\n};\n\nconst OTHER_OPTION: DropdownOption = {\n  label: \"Other\",\n  value: \"other\",\n};\n\nconst NIH_AGENCY_LABEL = \"National Institute of Health (NIH)\";\n\nconst NIH_GRANT_TYPE_OPTIONS: DropdownOption[] = NIH_GRANT_TYPES.map(\n  getOptionFromValue\n) as DropdownOption[];\n\nfunction FundingEditModal({ isOpen, onClose, editFunding, onSuccess }: Props) {\n  const isUpdate = Boolean(editFunding);\n  const editFundingStartDate = isUpdate && dayjs.utc(editFunding?.date);\n  const editFundingEndDate = isUpdate && dayjs.utc(editFunding?.end_date);\n\n  const currentUserId = useSelector((state: RootState) => state.profiles.currentUser.id);\n\n  const [title, setTitle] = useState(editFunding?.title ?? \"\");\n  const [description, setDescription] = useState(editFunding?.description ?? \"\");\n  const [amount, setAmount] = useState(editFunding?.amount ?? \"\");\n  const [sponsorTypeOption, setSponsorTypeOption] = useState<DropdownOption | null>(\n    isUpdate\n      ? SPONSOR_TYPE_OPTIONS.find(({ value }) => value === editFunding?.sponsor_type) ?? null\n      : null\n  );\n  const [sponsorOption, setSponsorOption] = useState<DropdownOption | null>(\n    editFunding?.other_sponsor ? OTHER_OPTION : null\n  );\n  const [nihGrantTypeOption, setNihGrantTypeOption] = useState<DropdownOption | null>(\n    isUpdate\n      ? NIH_GRANT_TYPE_OPTIONS.find(({ value }) => value === editFunding?.grant_type) ?? null\n      : null\n  );\n  const [otherSponsorName, setOtherSponsorName] = useState(editFunding?.other_sponsor ?? \"\");\n  const [url, setUrl] = useState(editFunding?.url ?? \"\");\n  const [startMonthOption, setStartMonthOption] = useState<DropdownOption | null>(\n    editFundingStartDate\n      ? MONTH_DROPDOWN_OPTIONS.find(({ label }) => label === editFundingStartDate.format(\"MMM\")) ??\n          null\n      : null\n  );\n  const [startYearOption, setStartYearOption] = useState<DropdownOption | null>(\n    editFundingStartDate\n      ? YEAR_DROPDOWN_OPTIONS.find(({ label }) => label === editFundingStartDate.format(\"YYYY\")) ??\n          null\n      : null\n  );\n  const [isActive, setIsActive] = useState(isUpdate ? !editFunding?.end_date : true);\n  const [endMonthOption, setEndMonthOption] = useState<DropdownOption | null>(\n    editFundingEndDate\n      ? MONTH_DROPDOWN_OPTIONS.find(({ label }) => label === editFundingEndDate.format(\"MMM\")) ??\n          null\n      : null\n  );\n  const [endYearOption, setEndYearOption] = useState<DropdownOption | null>(\n    editFundingEndDate\n      ? YEAR_DROPDOWN_OPTIONS.find(({ label }) => label === editFundingEndDate.format(\"YYYY\")) ??\n          null\n      : null\n  );\n  const [isAwardRecipient, setIsAwardRecipient] = useState(\n    isUpdate ? editFunding?.award_recipient_id === currentUserId : true\n  );\n\n  const isValid =\n    sponsorTypeOption &&\n    sponsorOption &&\n    (sponsorOption.label !== NIH_AGENCY_LABEL || nihGrantTypeOption) &&\n    (sponsorOption.value !== OTHER_OPTION.value || otherSponsorName) &&\n    title &&\n    description &&\n    startMonthOption &&\n    startYearOption &&\n    (isActive || (endMonthOption && endYearOption)) &&\n    amount;\n\n  /**\n   * Mutations\n   */\n\n  const { mutate: createUpdateFunding, isLoading: isCreateUpdateFundingLoading } = useMutation({\n    mutationFn: async () => {\n      if (!isValid) return null;\n      const payload = {\n        sponsor_type: sponsorTypeOption.value,\n        sponsor_name: sponsorOption?.value === OTHER_OPTION.value ? null : sponsorOption?.value,\n        nih_grant_type: nihGrantTypeOption?.value ?? null,\n        other_sponsor: otherSponsorName,\n        title,\n        description,\n        url,\n        date: `${startYearOption?.value}-${startMonthOption?.value}-15`,\n        end_date: isActive ? null : `${endYearOption?.value}-${endMonthOption?.value}-15`,\n        amount: Number(amount),\n        is_award_recipient: isAwardRecipient,\n      };\n      if (isUpdate) {\n        return (await updateFunding(editFunding!.id, payload)).funding;\n      }\n      return (await createFunding(payload)).funding;\n    },\n    onSuccess: (funding) => {\n      if (!funding) return;\n      onSuccess(isUpdate ? \"update\" : \"create\", funding);\n      onClose();\n    },\n    onError: toastErrorHandler,\n  });\n\n  const { mutate: deleteFundingMutation, isLoading: isDeleteFundingLoading } = useMutation({\n    mutationFn: async () => {\n      if (!editFunding) return null;\n      return deleteFunding(editFunding.id);\n    },\n    onSuccess: () => {\n      onSuccess(\"delete\", editFunding!);\n      onClose();\n    },\n    onError: toastErrorHandler,\n  });\n\n  /**\n   * Fetch sponsor options\n   */\n  const { data: governmentOrganizationOptions } = useQuery({\n    queryKey: [\"getGovernmentOrganizations\"],\n    queryFn: () => getGovernmentOrganizations(),\n    select: (data) =>\n      data.government_organizations.map(\n        (org) => getOptionFromValue(org.org_name) as DropdownOption\n      ),\n    onSuccess: (options) => {\n      if (isUpdate && sponsorTypeOption?.value === \"government\" && !sponsorOption) {\n        setSponsorOption(\n          options.find(\n            ({ value }) => value === (editFunding?.sponsor as GovernmentOrganization).org_name\n          ) ?? null\n        );\n      }\n    },\n    onError: toastErrorHandler,\n  });\n  const { data: foundationOptions } = useQuery({\n    queryKey: [\"getFoundations\"],\n    queryFn: () => getFoundations(),\n    select: (data) =>\n      data.foundations.map(\n        (foundation) => getOptionFromValue(foundation.foundation_name) as DropdownOption\n      ),\n    onSuccess: (options) => {\n      if (isUpdate && sponsorTypeOption?.value === \"foundation\" && !sponsorOption) {\n        setSponsorOption(\n          options.find(\n            ({ value }) => value === (editFunding?.sponsor as Foundation).foundation_name\n          ) ?? null\n        );\n      }\n    },\n    onError: toastErrorHandler,\n  });\n  const universityOptions = useUniversityOptions();\n  const [companyOptions] = useCompanyOptions();\n  const hasPrefilledSponsorOption = useRef(false);\n  useEffect(() => {\n    if (!isUpdate || !sponsorTypeOption || sponsorOption || hasPrefilledSponsorOption.current)\n      return;\n    if (sponsorTypeOption.value === \"university\" && universityOptions.length) {\n      setSponsorOption(\n        universityOptions.find(\n          ({ value }) => value === (editFunding?.sponsor as University).name\n        ) ?? null\n      );\n      hasPrefilledSponsorOption.current = true;\n    }\n    if (sponsorTypeOption.value === \"company\" && companyOptions.length) {\n      setSponsorOption(\n        companyOptions.find(\n          ({ label }) => label === (editFunding?.sponsor as Company).company_name\n        ) ?? null\n      );\n      hasPrefilledSponsorOption.current = true;\n    }\n  }, [universityOptions, companyOptions]);\n\n  const sponsorOptions = {\n    government: governmentOrganizationOptions ?? [],\n    university: universityOptions,\n    foundation: foundationOptions ?? [],\n    company: companyOptions,\n  }[sponsorTypeOption?.value!]?.concat([OTHER_OPTION]);\n\n  /**\n   * Fuzzy search for sponsor options (and to include Other option)\n   */\n  const searchSponsors = async (query: string): Promise<DropdownOption[]> => {\n    if (!sponsorOptions) return [];\n    const fuse = new Fuse(sponsorOptions, {\n      keys: [\"label\"],\n    });\n    const result = fuse.search(query);\n    const values = result.map((r: any) => r.item).slice(0, 500);\n\n    if (values.indexOf(OTHER_OPTION) >= 0) return values;\n    return values.concat([OTHER_OPTION]);\n  };\n\n  return (\n    <BlankModal\n      headerText={isUpdate ? \"Edit Funding\" : \"Add Funding\"}\n      isOpen={isOpen}\n      onClose={onClose}\n      closeOnDimmerClick={false}\n      hideCloseButton\n      width={MODAL_WIDTH}\n    >\n      <Content>\n        <SingleSelectDropdown\n          options={SPONSOR_TYPE_OPTIONS}\n          value={sponsorTypeOption}\n          onChange={(newSponsorTypeOption) => {\n            if (newSponsorTypeOption?.value === sponsorTypeOption?.value) return;\n            setSponsorTypeOption(newSponsorTypeOption);\n            setSponsorOption(null);\n          }}\n          label=\"Source Type\"\n          placeholder=\"Please select...\"\n          data-testid=\"funding-modal-source-dropdown\"\n        />\n        {sponsorTypeOption && (\n          <MultiSelectDropdown\n            value={sponsorOption}\n            onChange={(newSponsorOption) => {\n              setSponsorOption(newSponsorOption);\n              if (newSponsorOption?.value !== OTHER_OPTION.value) setOtherSponsorName(\"\");\n              if (newSponsorOption?.label !== NIH_AGENCY_LABEL) setNihGrantTypeOption(null);\n            }}\n            isMulti={false}\n            maxMenuHeight=\"250px\"\n            menuPlacement=\"bottom\"\n            defaultOptions={sponsorTypeOption.value === \"university\" ? undefined : sponsorOptions}\n            searchFn={searchSponsors}\n            closeOnMenuSelect\n            label={SPONSOR_TYPE_LABELS[sponsorTypeOption.value]}\n            placeholder={`Search ${SPONSOR_TYPE_LABELS[\n              sponsorTypeOption.value\n            ].toLowerCase()} or select Other`}\n            data-testid=\"funding-modal-sponsor-dropdown\"\n          />\n        )}\n        {sponsorOption?.label === NIH_AGENCY_LABEL && (\n          <SingleSelectDropdown\n            options={NIH_GRANT_TYPE_OPTIONS}\n            value={nihGrantTypeOption}\n            onChange={setNihGrantTypeOption}\n            label=\"NIH Grant Type\"\n            placeholder=\"Please select...\"\n          />\n        )}\n        {sponsorOption?.value === OTHER_OPTION.value && (\n          <TextInput\n            value={otherSponsorName}\n            onChange={(e) => setOtherSponsorName(e.target.value)}\n            label=\"Other Source\"\n            placeholder=\"Specify name of sponsor...\"\n            hideClearButton\n            data-testid=\"funding-modal-other-sponsor-input\"\n          />\n        )}\n        <TextInput\n          value={title}\n          onChange={(e) => setTitle(e.target.value)}\n          label=\"Title\"\n          placeholder=\"e.g. Examining the impact of working memory on the influence of salience in real-world displays\"\n          hideClearButton\n          data-testid=\"funding-modal-title-input\"\n        />\n        <TextInput\n          value={url}\n          onChange={(e) => setUrl(e.target.value)}\n          label=\"Link\"\n          placeholder=\"(Optional)\"\n          hideClearButton\n          data-testid=\"funding-modal-link-input\"\n        />\n        <TextInput\n          value={description}\n          onChange={(e) => setDescription(e.target.value)}\n          label=\"Abstract\"\n          textarea\n          data-testid=\"funding-modal-abstract-input\"\n        />\n        <Columns n={2}>\n          <SingleSelectDropdown\n            options={MONTH_DROPDOWN_OPTIONS}\n            value={startMonthOption}\n            onChange={(option) => setStartMonthOption(option)}\n            label=\"Start Date\"\n            placeholder=\"Month\"\n            data-testid=\"funding-modal-month-dropdown\"\n            isPortal\n          />\n          <SingleSelectDropdown\n            options={YEAR_DROPDOWN_OPTIONS}\n            value={startYearOption}\n            onChange={(option) => setStartYearOption(option)}\n            placeholder=\"Year\"\n            data-testid=\"funding-modal-year-dropdown\"\n            isPortal\n          />\n        </Columns>\n        {!isActive && (\n          <Columns n={2}>\n            <SingleSelectDropdown\n              options={MONTH_DROPDOWN_OPTIONS}\n              value={endMonthOption}\n              onChange={(option) => setEndMonthOption(option)}\n              label=\"End Date\"\n              placeholder=\"Month\"\n              maxMenuHeight=\"200px\"\n              isPortal\n            />\n            <SingleSelectDropdown\n              options={YEAR_DROPDOWN_OPTIONS}\n              value={endYearOption}\n              onChange={(option) => setEndYearOption(option)}\n              placeholder=\"Year\"\n              maxMenuHeight=\"200px\"\n              isPortal\n            />\n          </Columns>\n        )}\n        <DateCheckboxContainer>\n          <Checkbox\n            label=\"Active\"\n            labelFont={FONTS.MEDIUM_3}\n            isChecked={isActive}\n            isReversed\n            onChange={(e) => setIsActive(e.target.checked)}\n            size=\"sm\"\n          />\n        </DateCheckboxContainer>\n        <Columns n={2}>\n          <Label>\n            Amount\n            <CurrencyInput\n              prefix=\"$\"\n              precision=\"0\"\n              value={amount}\n              className={css(currencyInputStyles)}\n              onChangeEvent={(_e, _masked_value, floatValue) => setAmount(floatValue)}\n              data-testid=\"funding-modal-amount-input\"\n            />\n          </Label>\n        </Columns>\n        <Checkbox\n          label=\"Were you the award recipient?\"\n          isChecked={isAwardRecipient}\n          onChange={(e) => setIsAwardRecipient(e.target.checked)}\n          labelFont={FONTS.MEDIUM_3}\n          size=\"sm\"\n        />\n        <ButtonsContainer>\n          <div>\n            {isUpdate && (\n              <Button\n                type=\"button\"\n                onClick={deleteFundingMutation}\n                disabled={isDeleteFundingLoading}\n                variant=\"destructive-ghost\"\n                data-testid=\"funding-modal-delete-button\"\n              >\n                Delete Funding\n              </Button>\n            )}\n          </div>\n          <div>\n            <Button type=\"button\" onClick={onClose} variant=\"ghost\" margin=\"0 12px 0 0\">\n              Cancel\n            </Button>\n            <Button\n              type=\"button\"\n              onClick={createUpdateFunding}\n              disabled={!isValid || isCreateUpdateFundingLoading}\n              variant=\"primary\"\n              data-testid=\"funding-modal-submit-button\"\n            >\n              Submit\n            </Button>\n          </div>\n        </ButtonsContainer>\n      </Content>\n    </BlankModal>\n  );\n}\n\nconst DateCheckboxContainer = styled.div`\n  margin: -8px 0 -24px;\n  z-index: 1000;\n`;\n\nconst { currencyInputStyles } = StyleSheet.create({\n  currencyInputStyles: {\n    ...JS_FONTS.REGULAR_2,\n    border: `1px solid ${COLORS.NEUTRAL_300}`,\n    borderRadius: \"6px\",\n    height: \"36px\",\n    width: \"100%\",\n    padding: \"6px 10px\",\n    \"&:focus\": {\n      border: `1px solid ${COLORS.HALO_BLUE}`,\n    },\n    \"&::placeholder\": {\n      ...JS_FONTS.REGULAR_2,\n      color: COLORS.NEUTRAL_400,\n    },\n  },\n});\n\nexport default FundingEditModal;\n","export const FUNDING_SOURCE_TYPES = [\n  { key: \"government\", text: \"Government\" },\n  { key: \"university\", text: \"University\" },\n  { key: \"foundation\", text: \"Foundation\" },\n  { key: \"company\", text: \"Company\" },\n];\n\nexport const NIH_GRANT_TYPES = [\n  \"F32\",\n  \"K99/R00\",\n  \"P01\",\n  \"P20\",\n  \"P30\",\n  \"P50\",\n  \"R01\",\n  \"R03\",\n  \"R05\",\n  \"R13\",\n  \"R15\",\n  \"R21\",\n  \"R34\",\n  \"R41/42\",\n  \"R43/44\",\n  \"R56\",\n  \"U01\",\n  \"R24\",\n  \"R25\",\n  \"X01\",\n];\n","import { FundingsCreateUpdateResponse } from \"@tsTypes/fundings/create_update\";\nimport api from \"./request\";\n\ninterface CreateUpdateFundingPayload {\n  sponsor_type: string;\n  sponsor_name: string | null;\n  nih_grant_type: string | null;\n  other_sponsor: string;\n  title: string;\n  description: string;\n  url: string;\n  date: string;\n  end_date: string | null;\n  amount: number;\n  is_award_recipient: boolean;\n}\n\nexport const createFunding = async (\n  funding: CreateUpdateFundingPayload\n): Promise<FundingsCreateUpdateResponse> => {\n  const response = await api.post(\"/fundings\", { funding });\n  return response.data;\n};\n\nexport const updateFunding = async (\n  id: number,\n  funding: CreateUpdateFundingPayload\n): Promise<FundingsCreateUpdateResponse> => {\n  const response = await api.put(`/fundings/${id}`, { funding });\n  return response.data;\n};\n\nexport const deleteFunding = async (id: number): Promise<void> => {\n  await api.delete(`/fundings/${id}`);\n};\n","import { GovernmentOrganizationsIndexResponse } from \"@tsTypes/government_organizations\";\nimport api from \"./request\";\n\nexport const getGovernmentOrganizations =\n  async (): Promise<GovernmentOrganizationsIndexResponse> => {\n    const response = await api.get(\"/government_organizations\");\n    return response.data;\n  };\n","import { FoundationsIndexResponse } from \"@tsTypes/foundations\";\nimport api from \"./request\";\n\nexport const getFoundations = async (): Promise<FoundationsIndexResponse> => {\n  const response = await api.get(\"/foundations\");\n  return response.data;\n};\n","export enum PatentStatus {\n  PROVISIONAL = \"provisional\",\n  NON_PROVISIONAL = \"non_provisional\",\n  ISSUED = \"issued\",\n}\n","import { BlankModal, Button, SingleSelectDropdown, TextInput } from \"@components/library\";\nimport { DropdownOption } from \"@components/library/Dropdowns/DropdownOption\";\nimport { createPatent, deletePatent, updatePatent } from \"@requests/patents\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { PatentStatus } from \"@tsTypes/patents\";\nimport { PatentPartial } from \"@tsTypes/patents/_patent\";\nimport {\n  MONTH_DROPDOWN_OPTIONS,\n  YEAR_DROPDOWN_OPTIONS,\n  dayDropdownOptions,\n} from \"@utils/dateUtils\";\nimport { getOptionFromValue } from \"@utils/dropdownUtils\";\nimport { t } from \"@utils/i18n\";\nimport { toastErrorHandler } from \"@utils/requests\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\nimport { ButtonsContainer, Columns, Content, MODAL_WIDTH } from \"./shared\";\n\ntype ActionType = \"create\" | \"update\" | \"delete\";\n\ninterface Props {\n  isOpen: boolean;\n  onClose: () => void;\n  editPatent: PatentPartial | null;\n  onSuccess: (type: ActionType, newPatent: PatentPartial) => void;\n}\n\nconst STATUS_OPTIONS: DropdownOption[] = Object.values(PatentStatus).map((status) => ({\n  value: status,\n  label: t([\"models.patent.status\", status]),\n}));\n\nfunction PatentEditModal({ isOpen, onClose, editPatent, onSuccess }: Props) {\n  const isUpdate = Boolean(editPatent);\n  const editPatentFilingDate = isUpdate && dayjs.utc(editPatent?.filing_date);\n\n  const [statusOption, setStatusOption] = useState<DropdownOption | null>(\n    isUpdate ? STATUS_OPTIONS.find(({ value }) => value === editPatent?.status) ?? null : null\n  );\n  const [title, setTitle] = useState(editPatent?.title ?? \"\");\n  const [url, setUrl] = useState(editPatent?.url ?? \"\");\n  const [abstract, setAbstract] = useState(editPatent?.abstract ?? \"\");\n  const [filingDayOption, setFilingDayOption] = useState<DropdownOption | null>(\n    editPatentFilingDate ? getOptionFromValue(editPatentFilingDate.format(\"D\")) : null\n  );\n  const [filingMonthOption, setFilingMonthOption] = useState<DropdownOption | null>(\n    editPatentFilingDate\n      ? MONTH_DROPDOWN_OPTIONS.find(({ label }) => label === editPatentFilingDate.format(\"MMM\")) ??\n          null\n      : null\n  );\n  const [filingYearOption, setFilingYearOption] = useState<DropdownOption | null>(\n    editPatentFilingDate\n      ? YEAR_DROPDOWN_OPTIONS.find(({ label }) => label === editPatentFilingDate.format(\"YYYY\")) ??\n          null\n      : null\n  );\n\n  const isValid =\n    statusOption && title && abstract && filingDayOption && filingMonthOption && filingYearOption;\n\n  const { mutate: createUpdatePatent, isLoading: isCreateUpdatePatentLoading } = useMutation({\n    mutationFn: async () => {\n      if (!isValid) {\n        return null;\n      }\n      const payload = {\n        status: statusOption.value,\n        title,\n        url,\n        abstract,\n        filing_date: `${filingYearOption.value}-${filingMonthOption.value}-${filingDayOption.value}`,\n      };\n      if (isUpdate) {\n        return (await updatePatent(editPatent!.id, payload)).patent;\n      }\n      return (await createPatent(payload)).patent;\n    },\n    onSuccess: (patent) => {\n      if (!patent) return;\n      onSuccess(isUpdate ? \"update\" : \"create\", patent);\n      onClose();\n    },\n    onError: toastErrorHandler,\n  });\n\n  const { mutate: deletePatentMutation, isLoading: isDeletePatentLoading } = useMutation({\n    mutationFn: async () => {\n      if (!editPatent) return null;\n      return deletePatent(editPatent.id);\n    },\n    onSuccess: () => {\n      onSuccess(\"delete\", editPatent!);\n      onClose();\n    },\n    onError: toastErrorHandler,\n  });\n\n  return (\n    <BlankModal\n      headerText={isUpdate ? \"Edit Patent\" : \"Add Patent\"}\n      isOpen={isOpen}\n      onClose={onClose}\n      closeOnDimmerClick={false}\n      hideCloseButton\n      width={MODAL_WIDTH}\n    >\n      <Content>\n        <SingleSelectDropdown\n          options={STATUS_OPTIONS}\n          value={statusOption}\n          onChange={setStatusOption}\n          label=\"Status\"\n          placeholder=\"Select patent status...\"\n          data-testid=\"patent-modal-status-dropdown\"\n        />\n        <TextInput\n          value={title}\n          onChange={(e) => setTitle(e.target.value)}\n          label=\"Title\"\n          placeholder=\"e.g. Inducible DNA binding proteins and genome perturbation tools\"\n          hideClearButton\n          data-testid=\"patent-modal-title-input\"\n        />\n        <TextInput\n          value={url}\n          onChange={(e) => setUrl(e.target.value)}\n          label=\"URL\"\n          placeholder=\"(Optional)\"\n          hideClearButton\n          data-testid=\"patent-modal-url-input\"\n        />\n        <TextInput\n          value={abstract}\n          onChange={(e) => setAbstract(e.target.value)}\n          label=\"Abstract\"\n          textarea\n          data-testid=\"patent-modal-abstract-input\"\n        />\n        <Columns n={3}>\n          <SingleSelectDropdown\n            options={MONTH_DROPDOWN_OPTIONS}\n            value={filingMonthOption}\n            onChange={setFilingMonthOption}\n            label=\"Filing Date\"\n            placeholder=\"Month\"\n            data-testid=\"patent-modal-month-dropdown\"\n            maxMenuHeight=\"200px\"\n            isPortal\n          />\n          <SingleSelectDropdown\n            options={dayDropdownOptions(filingMonthOption?.value, filingYearOption?.value)}\n            value={filingDayOption}\n            onChange={setFilingDayOption}\n            placeholder=\"Day\"\n            data-testid=\"patent-modal-day-dropdown\"\n            maxMenuHeight=\"200px\"\n            isPortal\n          />\n          <SingleSelectDropdown\n            options={YEAR_DROPDOWN_OPTIONS}\n            value={filingYearOption}\n            onChange={setFilingYearOption}\n            placeholder=\"Year\"\n            data-testid=\"patent-modal-year-dropdown\"\n            maxMenuHeight=\"200px\"\n            isPortal\n          />\n        </Columns>\n        <ButtonsContainer>\n          <div>\n            {isUpdate && (\n              <Button\n                type=\"button\"\n                onClick={deletePatentMutation}\n                disabled={isDeletePatentLoading}\n                variant=\"destructive-ghost\"\n                data-testid=\"patent-modal-delete-button\"\n              >\n                Delete Patent\n              </Button>\n            )}\n          </div>\n          <div>\n            <Button type=\"button\" onClick={onClose} variant=\"ghost\" margin=\"0 12px 0 0\">\n              Cancel\n            </Button>\n            <Button\n              type=\"button\"\n              onClick={createUpdatePatent}\n              disabled={!isValid || isCreateUpdatePatentLoading}\n              variant=\"primary\"\n              data-testid=\"patent-modal-submit-button\"\n            >\n              Submit\n            </Button>\n          </div>\n        </ButtonsContainer>\n      </Content>\n    </BlankModal>\n  );\n}\n\nexport default PatentEditModal;\n","import { PatentsCreateUpdateResponse } from \"@tsTypes/patents/create_update\";\nimport { Patent } from \"@tsTypes/schema\";\nimport api from \"./request\";\n\nexport const createPatent = async (\n  patent: Pick<Patent, \"status\" | \"title\" | \"abstract\" | \"url\" | \"filing_date\">\n): Promise<PatentsCreateUpdateResponse> => {\n  const response = await api.post(`/patents`, { patent });\n  return response.data;\n};\n\nexport const updatePatent = async (\n  id: number,\n  patent: Pick<Patent, \"status\" | \"title\" | \"abstract\" | \"url\" | \"filing_date\">\n): Promise<PatentsCreateUpdateResponse> => {\n  const response = await api.put(`/patents/${id}`, { patent });\n  return response.data;\n};\n\nexport const deletePatent = async (id: number): Promise<void> => {\n  await api.delete(`/patents/${id}`);\n};\n","import { BlankModal, Button, SingleSelectDropdown, TextInput } from \"@components/library\";\nimport { DropdownOption } from \"@components/library/Dropdowns/DropdownOption\";\nimport { createPublication, deletePublication, updatePublication } from \"@requests/publications\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { PublicationPartial } from \"@tsTypes/publications/_publication\";\nimport { MONTH_DROPDOWN_OPTIONS, YEAR_DROPDOWN_OPTIONS } from \"@utils/dateUtils\";\nimport { toastErrorHandler } from \"@utils/requests\";\nimport dayjs from \"dayjs\";\nimport { useState } from \"react\";\nimport { ButtonsContainer, Columns, Content, MODAL_WIDTH } from \"./shared\";\n\ntype ActionType = \"create\" | \"update\" | \"delete\";\n\ninterface Props {\n  isOpen: boolean;\n  onClose: () => void;\n  editPublication: PublicationPartial | null;\n  onSuccess: (type: ActionType, newPublication: PublicationPartial) => void;\n}\n\nfunction PublicationEditModal({ isOpen, onClose, editPublication, onSuccess }: Props) {\n  const isUpdate = Boolean(editPublication);\n  const editPublicationDate = isUpdate && dayjs.utc(editPublication?.date);\n\n  const [publicationName, setPublicationName] = useState(editPublication?.publication_name ?? \"\");\n  const [title, setTitle] = useState(editPublication?.title ?? \"\");\n  const [url, setUrl] = useState(editPublication?.url ?? \"\");\n  const [abstract, setAbstract] = useState(editPublication?.abstract ?? \"\");\n  const [monthOption, setMonthOption] = useState<DropdownOption | null>(\n    editPublicationDate\n      ? MONTH_DROPDOWN_OPTIONS.find(({ label }) => label === editPublicationDate.format(\"MMM\")) ??\n          null\n      : null\n  );\n  const [yearOption, setYearOption] = useState<DropdownOption | null>(\n    editPublicationDate\n      ? YEAR_DROPDOWN_OPTIONS.find(({ label }) => label === editPublicationDate.format(\"YYYY\")) ??\n          null\n      : null\n  );\n\n  const isValid = publicationName && title && abstract && monthOption && yearOption;\n\n  const { mutate: createUpdatePublication, isLoading: isCreateUpdatePublicationLoading } =\n    useMutation({\n      mutationFn: async () => {\n        if (!isValid) {\n          return null;\n        }\n        const payload = {\n          publication_name: publicationName,\n          title,\n          url,\n          abstract,\n          date: `${yearOption?.value}-${monthOption?.value}-15`,\n        };\n        if (isUpdate) {\n          return (await updatePublication(editPublication!.id, payload)).publication;\n        }\n        return (await createPublication(payload)).publication;\n      },\n      onSuccess: (publication) => {\n        if (!publication) return;\n        onSuccess(isUpdate ? \"update\" : \"create\", publication);\n        onClose();\n      },\n      onError: toastErrorHandler,\n    });\n\n  const { mutate: deletePublicationMutation, isLoading: isDeletePublicationLoading } = useMutation({\n    mutationFn: async () => {\n      if (!editPublication) return null;\n      return deletePublication(editPublication.id);\n    },\n    onSuccess: () => {\n      onSuccess(\"delete\", editPublication!);\n      onClose();\n    },\n    onError: toastErrorHandler,\n  });\n\n  return (\n    <BlankModal\n      headerText={isUpdate ? \"Edit Publication\" : \"Add Publication\"}\n      isOpen={isOpen}\n      onClose={onClose}\n      closeOnDimmerClick={false}\n      hideCloseButton\n      width={MODAL_WIDTH}\n    >\n      <Content>\n        <TextInput\n          value={publicationName}\n          onChange={(e) => setPublicationName(e.target.value)}\n          label=\"Journal\"\n          placeholder=\"e.g. Science, American Journal of Kidney Diseases\"\n          hideClearButton\n          data-testid=\"publication-modal-journal-input\"\n        />\n        <TextInput\n          value={title}\n          onChange={(e) => setTitle(e.target.value)}\n          label=\"Publication Title\"\n          placeholder=\"e.g. Cardiovascular risk in children and adolescents with end stage renal disease\"\n          hideClearButton\n          data-testid=\"publication-modal-title-input\"\n        />\n        <TextInput\n          value={url}\n          onChange={(e) => setUrl(e.target.value)}\n          label=\"Publication URL\"\n          placeholder=\"e.g. https://www.ncbi.nlm.nih.gov/pubmed/31254486\"\n          hideClearButton\n          data-testid=\"publication-modal-url-input\"\n        />\n        <TextInput\n          value={abstract}\n          onChange={(e) => setAbstract(e.target.value)}\n          label=\"Abstract\"\n          textarea\n          data-testid=\"publication-modal-abstract-input\"\n        />\n        <Columns n={2}>\n          <SingleSelectDropdown\n            options={MONTH_DROPDOWN_OPTIONS}\n            value={monthOption}\n            onChange={(option) => setMonthOption(option)}\n            label=\"Date\"\n            placeholder=\"Month\"\n            data-testid=\"publication-modal-month-dropdown\"\n            maxMenuHeight=\"200px\"\n            isPortal\n          />\n          <SingleSelectDropdown\n            options={YEAR_DROPDOWN_OPTIONS}\n            value={yearOption}\n            onChange={(option) => setYearOption(option)}\n            placeholder=\"Year\"\n            data-testid=\"publication-modal-year-dropdown\"\n            maxMenuHeight=\"200px\"\n            isPortal\n          />\n        </Columns>\n        <ButtonsContainer>\n          <div>\n            {isUpdate && (\n              <Button\n                type=\"button\"\n                onClick={deletePublicationMutation}\n                disabled={isDeletePublicationLoading}\n                variant=\"destructive-ghost\"\n                data-testid=\"publication-modal-delete-button\"\n              >\n                Delete Publication\n              </Button>\n            )}\n          </div>\n          <div>\n            <Button type=\"button\" onClick={onClose} variant=\"ghost\" margin=\"0 12px 0 0\">\n              Cancel\n            </Button>\n            <Button\n              type=\"button\"\n              onClick={createUpdatePublication}\n              disabled={!isValid || isCreateUpdatePublicationLoading}\n              variant=\"primary\"\n              data-testid=\"publication-modal-submit-button\"\n            >\n              Submit\n            </Button>\n          </div>\n        </ButtonsContainer>\n      </Content>\n    </BlankModal>\n  );\n}\n\nexport default PublicationEditModal;\n","import { PublicationsCreateUpdateResponse } from \"@tsTypes/publications/create_update\";\nimport { Publication } from \"@tsTypes/schema\";\nimport api from \"./request\";\n\nexport const createPublication = async (\n  publication: Pick<Publication, \"title\" | \"abstract\" | \"url\" | \"publication_name\" | \"date\">\n): Promise<PublicationsCreateUpdateResponse> => {\n  const response = await api.post(`/publications`, { publication });\n  return response.data;\n};\n\nexport const updatePublication = async (\n  id: number,\n  publication: Pick<Publication, \"title\" | \"abstract\" | \"url\" | \"publication_name\" | \"date\">\n): Promise<PublicationsCreateUpdateResponse> => {\n  const response = await api.put(`/publications/${id}`, { publication });\n  return response.data;\n};\n\nexport const deletePublication = async (id: number): Promise<void> => {\n  await api.delete(`/publications/${id}`);\n};\n","import styled from \"styled-components\";\n\nexport const MODAL_WIDTH = \"600px\";\n\nexport const Content = styled.div`\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n\n  padding: 20px 30px;\n`;\n\nexport const Columns = styled.div`\n  display: grid;\n  grid-template-columns: repeat(${({ n }) => n}, 1fr);\n  align-items: flex-end;\n  grid-gap: 20px;\n`;\n\nexport const ButtonsContainer = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n  margin: 12px 0;\n`;\n"],"names":["SPONSOR_TYPE_OPTIONS","key","text","map","type","label","value","SPONSOR_TYPE_LABELS","government","university","foundation","company","OTHER_OPTION","NIH_AGENCY_LABEL","NIH_GRANT_TYPE_OPTIONS","getOptionFromValue","DateCheckboxContainer","styled","div","currencyInputStyles","StyleSheet","create","_objectSpread","JS_FONTS","REGULAR_2","border","COLORS","NEUTRAL_300","borderRadius","height","width","padding","HALO_BLUE","color","NEUTRAL_400","isOpen","onClose","editFunding","onSuccess","isUpdate","Boolean","editFundingStartDate","dayjs","date","editFundingEndDate","end_date","currentUserId","useSelector","state","profiles","currentUser","id","_useState2","_slicedToArray","useState","title","setTitle","_useState4","description","setDescription","_useState6","amount","setAmount","_useState8","find","sponsor_type","sponsorTypeOption","setSponsorTypeOption","_useState10","other_sponsor","sponsorOption","setSponsorOption","_useState12","grant_type","nihGrantTypeOption","setNihGrantTypeOption","_useState14","otherSponsorName","setOtherSponsorName","_useState16","url","setUrl","_useState18","MONTH_DROPDOWN_OPTIONS","format","startMonthOption","setStartMonthOption","_useState20","YEAR_DROPDOWN_OPTIONS","startYearOption","setStartYearOption","_useState22","isActive","setIsActive","_useState24","endMonthOption","setEndMonthOption","_useState26","endYearOption","setEndYearOption","_useState28","award_recipient_id","isAwardRecipient","setIsAwardRecipient","isValid","_useMutation","useMutation","mutationFn","async","payload","sponsor_name","nih_grant_type","Number","is_award_recipient","funding","api","put","data","updateFunding","post","createFunding","onError","toastErrorHandler","createUpdateFunding","mutate","isCreateUpdateFundingLoading","isLoading","_useMutation2","delete","deleteFunding","deleteFundingMutation","isDeleteFundingLoading","governmentOrganizationOptions","useQuery","queryKey","queryFn","get","getGovernmentOrganizations","select","government_organizations","org","org_name","options","sponsor","foundationOptions","getFoundations","foundations","foundation_name","universityOptions","useUniversityOptions","companyOptions","useCompanyOptions","hasPrefilledSponsorOption","useRef","useEffect","current","length","name","company_name","sponsorOptions","concat","_jsx","BlankModal","headerText","closeOnDimmerClick","hideCloseButton","MODAL_WIDTH","children","_jsxs","Content","SingleSelectDropdown","onChange","newSponsorTypeOption","placeholder","MultiSelectDropdown","newSponsorOption","isMulti","maxMenuHeight","menuPlacement","defaultOptions","undefined","searchFn","values","Fuse","keys","search","query","r","item","slice","indexOf","closeOnMenuSelect","toLowerCase","TextInput","e","target","hideClearButton","textarea","Columns","n","option","isPortal","Checkbox","labelFont","FONTS","MEDIUM_3","isChecked","isReversed","checked","size","Label","CurrencyInput","prefix","precision","className","css","onChangeEvent","_e","_masked_value","floatValue","ButtonsContainer","Button","onClick","disabled","variant","margin","PatentStatus","STATUS_OPTIONS","Object","status","t","editPatent","editPatentFilingDate","filing_date","statusOption","setStatusOption","abstract","setAbstract","filingDayOption","setFilingDayOption","filingMonthOption","setFilingMonthOption","filingYearOption","setFilingYearOption","patent","updatePatent","createPatent","createUpdatePatent","isCreateUpdatePatentLoading","deletePatent","deletePatentMutation","isDeletePatentLoading","dayDropdownOptions","editPublication","editPublicationDate","publication_name","publicationName","setPublicationName","monthOption","setMonthOption","yearOption","setYearOption","publication","updatePublication","createPublication","createUpdatePublication","isCreateUpdatePublicationLoading","deletePublication","deletePublicationMutation","isDeletePublicationLoading"],"sourceRoot":""}