{"version":3,"file":"SelectContract-CwzDqale.js","sources":["../../../app/javascript/components/review_contracts/prop_shapes/PropShapes.js","../../../app/javascript/components/review_contracts/ContractVehicleDropdown.jsx","../../../app/javascript/components/review_contracts/ContractDropdown.jsx","../../../app/javascript/components/review_contracts/SelectContract.jsx"],"sourcesContent":["import PropTypes from 'prop-types'\n\nconst IdName = {\n id: PropTypes.number,\n name: PropTypes.string\n}\n\nexport const SupplierShape = PropTypes.shape(IdName)\n\nexport const ContractShape = PropTypes.shape({\n ...IdName,\n expired: PropTypes.bool\n})\n\nexport const ContractVehicleShape = PropTypes.shape({\n ...IdName,\n contracts: PropTypes.arrayOf(ContractShape)\n})\n\nexport const ContractVehiclesShape = PropTypes.arrayOf(ContractVehicleShape)\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { ContractVehicleShape, ContractVehiclesShape } from './prop_shapes/PropShapes'\n\nconst ContractVehicleDropdown = ({ contractVehicles, selectedContractVehicle, handleAddContractVehicleClick, handleUnselectContractVehicle }) => {\n const handleNaspoCase = (list) => {\n const naspoIndex = list.findIndex(cv => cv.name === 'NASPO ValuePoint')\n if (naspoIndex >= 0) {\n const [naspoCv] = list.splice(naspoIndex, 1)\n list.unshift(naspoCv)\n }\n return list\n }\n\n const placeholderText = 'Select a Contract Vehicle'\n\n const contractVehiclesList = () => {\n const list = handleNaspoCase([...contractVehicles])\n const elementsList = list.map(cv =>\n
  • handleAddContractVehicleClick(cv)}>{cv.name}
  • \n )\n const unselectOption =
  • handleUnselectContractVehicle()}>{placeholderText}
  • \n return (\n \n )\n }\n\n const renderContractVehicleSelect = () => {\n const text = selectedContractVehicle ? selectedContractVehicle.name : placeholderText\n const disabled = contractVehicles.length < 1\n return (\n
    \n \n \n
    \n {contractVehiclesList()}\n
    \n
    \n )\n }\n\n return renderContractVehicleSelect()\n}\n\nContractVehicleDropdown.propTypes = {\n contractVehicles: ContractVehiclesShape.isRequired,\n selectedContractVehicle: ContractVehicleShape,\n handleAddContractVehicleClick: PropTypes.func.isRequired,\n handleUnselectContractVehicle: PropTypes.func.isRequired\n}\n\nContractVehicleDropdown.defaultProps = {\n contractVehicles: [],\n selectedContractVehicle: null\n}\n\nexport default ContractVehicleDropdown\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { ContractShape, ContractVehicleShape } from './prop_shapes/PropShapes'\nimport { sortBy } from 'lodash-es'\n\nconst ContractDropdown = (props) => {\n const {\n selectedContract,\n selectedContractVehicle,\n notListed,\n freeformContract,\n handleFreeformContract,\n handleNotListedClick,\n handleAddContractClick,\n handleUnselectContract\n } = props\n\n const placeholderText = 'Select a Contract'\n\n const contractName = (contract) => {\n return contract.expired ? `${contract.name} (expired)` : contract.name\n }\n\n const contractsList = () => {\n const list = sortBy(selectedContractVehicle?.contracts, 'name').map(c =>\n
  • handleAddContractClick(c)}>{contractName(c)}
  • \n )\n const unselectOption =
  • handleUnselectContract()}>{placeholderText}
  • \n return (\n \n )\n }\n\n const contractNotListedOption = () => {\n return
    I don't see my contract
    \n }\n\n const renderContractSelect = () => {\n const selectText = selectedContract ? contractName(selectedContract) : placeholderText\n const labelText = 'Contract'\n const disabled = !selectedContractVehicle\n\n if (notListed || freeformContract?.length > 0) {\n return (\n
    \n \n \n
    \n )\n } else {\n return (\n
    \n \n \n
    \n {contractsList()}\n {contractNotListedOption()}\n
    \n
    \n )\n }\n }\n\n return renderContractSelect()\n}\n\nContractDropdown.propTypes = {\n selectedContract: ContractShape,\n selectedContractVehicle: ContractVehicleShape,\n notListed: PropTypes.bool.isRequired,\n freeformContract: PropTypes.string,\n handleFreeformContract: PropTypes.func.isRequired,\n handleNotListedClick: PropTypes.func.isRequired,\n handleAddContractClick: PropTypes.func.isRequired,\n handleUnselectContract: PropTypes.func.isRequired\n}\n\nContractDropdown.defaultProps = {\n selectedContract: null,\n selectedContractVehicle: null,\n notListed: false,\n freeformContract: null\n}\n\nexport default ContractDropdown\n","import React, { useState, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport ContractVehicleDropdown from './ContractVehicleDropdown'\nimport ContractDropdown from './ContractDropdown'\nimport { ContractShape, ContractVehicleShape, ContractVehiclesShape, SupplierShape } from './prop_shapes/PropShapes'\n\nconst SelectContract = ({ contractVehicles, contract, contractVehicle, supplier, freeform, inputSelectors }) => {\n useEffect(() => {\n $(document).foundation()\n })\n\n const prefillData = () => {\n let prefilledContract = null\n let prefilledCV = null\n\n // if both are provided, ensure contract is a part of contract vehicle\n if (contract && contractVehicle) {\n if (contractVehicle.contracts.some(c => c.id === contract.id)) {\n prefilledCV = contractVehicle\n prefilledContract = contract\n }\n // if only contract is provided, find parent contract vehicle\n } else if (contract) {\n const parentCV = contractVehicles.find(cv => cv.contracts.some(c => c.id === contract.id))\n if (parentCV) {\n prefilledCV = parentCV\n prefilledContract = contract\n }\n // if only contract vehicle is provided, then set it\n } else if (contractVehicle) {\n prefilledCV = contractVehicle\n }\n\n return { prefilledCV, prefilledContract }\n }\n\n const { prefilledCV, prefilledContract } = prefillData()\n\n const checkIfPrefilled = () => {\n return !!(prefilledCV || prefilledContract) && supplier\n }\n\n const [chosenSupplier, setChosenSupplier] = useState(supplier)\n const [selectableContractVehicles, setSelectableContractVehicles] = useState(contractVehicles)\n const [addingContract, setAddingContract] = useState(checkIfPrefilled())\n const [selectedContractVehicle, setSelectedContractVehicle] = useState(prefilledCV)\n const [selectedContract, setSelectedContract] = useState(prefilledContract)\n const [freeformContract, setFreeformContract] = useState(freeform)\n const [notListed, setNotListed] = useState(false)\n\n useEffect(() => {\n $(inputSelectors.contract).val(`${selectedContract?.id || ''}`).change()\n $(inputSelectors.contractVehicle).val(`${selectedContractVehicle?.id || ''}`).change()\n $(inputSelectors.contractFreeform).val(`${freeformContract}`).change()\n }, [selectedContract, selectedContractVehicle, freeformContract])\n\n // ----- BEGIN Handle when chosen supplier changes -----\n\n const setChosenSupplierData = () => {\n const { supplier, contractVehicles } = $('#chosen-supplier-data').data()\n setSelectableContractVehicles(contractVehicles)\n setChosenSupplier(supplier)\n handleRemoveContract()\n }\n\n const listenForChosenSupplierChange = () => {\n return new MutationObserver(() => setChosenSupplierData())\n .observe(document.getElementById('chosen-supplier-data'), { attributes: true })\n }\n\n useEffect(() => {\n const observer = listenForChosenSupplierChange()\n return () => {\n observer?.disconnect()\n }\n }, [])\n\n // ----- END Handle when chosen supplier changes -----\n\n const handleInitialClick = () => {\n setAddingContract(true)\n }\n\n const handleRemoveContract = () => {\n setAddingContract(false)\n setSelectedContractVehicle(null)\n setSelectedContract(null)\n setFreeformContract('')\n setNotListed(false)\n }\n\n const renderLabel = () => {\n return (\n
    \n \n {addingContract ? Remove Contract : null}\n
    \n )\n }\n\n const renderInitialPrompt = () => {\n const disabled = (chosenSupplier == null) || (selectableContractVehicles.length === 0)\n return (\n \n )\n }\n\n const handleAddContractVehicleClick = (cv) => {\n setSelectedContractVehicle(cv)\n setSelectedContract(null)\n setFreeformContract('')\n $('#contract-vehicle-dropdown').foundation('close')\n }\n\n const handleAddContractClick = (contract) => {\n setSelectedContract(contract)\n setFreeformContract('')\n $('#contract-dropdown').foundation('close')\n }\n\n const handleNotListedClick = () => {\n setNotListed(true)\n setSelectedContract(null)\n }\n\n const handleFreeformContract = (event) => {\n setFreeformContract(event.target.value)\n }\n\n const handleUnselectContract = () => {\n setSelectedContract(null)\n $('#contract-dropdown').foundation('close')\n }\n\n const handleUnselectContractVehicle = () => {\n setSelectedContractVehicle(null)\n setSelectedContract(null)\n $('#contract-vehicle-dropdown').foundation('close')\n }\n\n const renderDropdownSelects = () => {\n return (\n <>\n \n \n \n )\n }\n\n return (\n \n )\n}\n\nSelectContract.propTypes = {\n contractVehicles: ContractVehiclesShape.isRequired,\n contract: ContractShape,\n contractVehicle: ContractVehicleShape,\n supplier: SupplierShape,\n freeform: PropTypes.string,\n inputSelectors: PropTypes.shape({\n contractVehicle: PropTypes.string,\n contract: PropTypes.string,\n contractFreeform: PropTypes.string\n })\n}\n\nSelectContract.defaultProps = {\n contractVehicles: [],\n contract: null,\n contractVehicle: null,\n freeform: null,\n supplier: null,\n inputSelectors: {\n contractVehicle: '#review_contract_vehicle_id',\n contract: '#review_contract_id',\n contractFreeform: '#review_contract_freeform'\n }\n}\n\nexport default SelectContract\n"],"names":["IdName","PropTypes","SupplierShape","ContractShape","ContractVehicleShape","ContractVehiclesShape","ContractVehicleDropdown","contractVehicles","selectedContractVehicle","handleAddContractVehicleClick","handleUnselectContractVehicle","handleNaspoCase","list","naspoIndex","cv","naspoCv","placeholderText","contractVehiclesList","elementsList","jsx","unselectOption","text","disabled","jsxs","ContractDropdown","props","selectedContract","notListed","freeformContract","handleFreeformContract","handleNotListedClick","handleAddContractClick","handleUnselectContract","contractName","contract","contractsList","sortBy","c","contractNotListedOption","selectText","labelText","SelectContract","contractVehicle","supplier","freeform","inputSelectors","useEffect","prefillData","prefilledContract","prefilledCV","parentCV","checkIfPrefilled","chosenSupplier","setChosenSupplier","useState","selectableContractVehicles","setSelectableContractVehicles","addingContract","setAddingContract","setSelectedContractVehicle","setSelectedContract","setFreeformContract","setNotListed","setChosenSupplierData","handleRemoveContract","listenForChosenSupplierChange","observer","handleInitialClick","renderLabel","renderInitialPrompt","event","renderDropdownSelects","Fragment"],"mappings":"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"}