{"version":3,"file":"index-DL9fBw9A.js","sources":["../../../app/javascript/entrypoints/pages/FavoritesPage/MemoTable/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport type { Memo, Pagination } from '../../../output/models';\n\nimport { MemoModal } from '../../../components/MemoModal';\nimport { PageList } from '../../../components/PageList';\n\nimport { MemoRow } from './MemoRow';\nimport { TableHeader } from './TableHeader';\n\nimport { useMemo } from '../../../hooks/useMemo';\n\ninterface Props {\n memos: Memo[] | undefined;\n pagination: Pagination | undefined;\n currentPage: number;\n}\n\nexport const MemoTable: React.FC = ({ pagination, currentPage, ...props }) => {\n const [memos, setMemos] = useState(undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const { memoInitial, memo, setMemo, createMemo, updateMemo, deleteMemo } = useMemo(\n memos,\n setMemos,\n );\n const [isOpen, setIsOpen] = useState(false);\n\n const onClose = (result: boolean) => {\n if (result) {\n onCloseModalOk();\n } else {\n setMemo(memoInitial);\n }\n setIsOpen(false);\n };\n\n const onClickDelete = (memo: Memo) => {\n if (confirm('メモを削除しますか')) {\n deleteMemo(memo);\n }\n };\n\n const onClickEdit = (memo: Memo) => {\n setMemo(memo);\n setIsOpen(true);\n };\n\n const onCloseModalOk = () => {\n memo.id === 0 ? createMemo() : updateMemo();\n };\n\n useEffect(() => {\n setMemos(props.memos);\n }, [props.memos]);\n\n return memos ? (\n <>\n \n \n \n {memos.map((memo, index) => (\n \n ))}\n \n
\n {pagination && (\n \n )}\n \n \n ) : (\n <>\n );\n};\n"],"names":["MemoTable","pagination","currentPage","props","memos","setMemos","useState","memoInitial","memo","setMemo","createMemo","updateMemo","deleteMemo","useMemo","isOpen","setIsOpen","onClose","result","onCloseModalOk","onClickDelete","onClickEdit","useEffect","jsxs","Fragment","jsx","TableHeader","index","MemoRow","PageList","MemoModal"],"mappings":"6qCAkBO,MAAMA,GAA6B,CAAC,CAAE,WAAAC,EAAY,YAAAC,EAAa,GAAGC,KAAY,CACnF,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAAA,SAA6B,MAAS,EAE1D,CAAE,YAAAC,EAAa,KAAAC,EAAM,QAAAC,EAAS,WAAAC,EAAY,WAAAC,EAAY,WAAAC,GAAeC,EACzET,EACAC,CAAA,EAEI,CAACS,EAAQC,CAAS,EAAIT,WAAkB,EAAK,EAE7CU,EAAWC,GAAoB,CAC/BA,EACaC,IAEfT,EAAQF,CAAW,EAErBQ,EAAU,EAAK,CAAA,EAGXI,EAAiBX,GAAe,CAChC,QAAQ,WAAW,GACrBI,EAAWJ,CAAI,CACjB,EAGIY,EAAeZ,GAAe,CAClCC,EAAQD,CAAI,EACZO,EAAU,EAAI,CAAA,EAGVG,EAAiB,IAAM,CAC3BV,EAAK,KAAO,EAAIE,EAAW,EAAIC,EAAW,CAAA,EAG5CU,OAAAA,EAAAA,UAAU,IAAM,CACdhB,EAASF,EAAM,KAAK,CAAA,EACnB,CAACA,EAAM,KAAK,CAAC,EAETC,EAEHkB,EAAAA,KAAAC,EAAA,SAAA,CAAA,SAAA,CAACD,EAAAA,KAAA,QAAA,CAAM,UAAU,qBACf,SAAA,CAAAE,EAAA,IAACC,EAAY,EAAA,QACZ,QACE,CAAA,SAAArB,EAAM,IAAI,CAACI,EAAMkB,IAChBF,EAAA,IAACG,EAAA,CACC,KAAMnB,EAEN,cAAAW,EACA,YAAAC,CAAA,EAFKM,CAIR,CAAA,EACH,CAAA,EACF,EACCzB,GACEuB,EAAA,IAAAI,EAAA,CAAS,UAAU,OAAO,WAAA3B,EAAwB,YAAAC,EAA0B,EAE9EsB,EAAA,IAAAK,EAAA,CAAU,KAAArB,EAAY,QAAAC,EAAkB,OAAAK,EAAgB,QAAAE,EAAkB,CAAA,CAAA,CAC7E,EAEEQ,EAAAA,IAAAD,EAAA,SAAA,CAAA,CAAA,CAEN"}