import React, { useState, useEffect, useCallback, useRef } from 'react'; import { Link, useLocation } from 'react-router-dom'; import * as EgovNet from 'api/egovFetch'; import URL from 'constants/url'; import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAdmin'; import EgovPaging from 'components/EgovPaging'; import { itemIdxByPage } from 'utils/calc'; import CODE from "../../../constants/code"; import AboutSiteModal from "../config/aboutSiteMgt/AboutSiteModal"; import AdminPostMgtEdit from "./AdminPostMgtEdit"; import Modal from "react-bootstrap/Modal"; function AdminPostMgtList(props) { console.group("EgovAdminPostList"); console.log("[Start] EgovAdminPostList ------------------------------"); console.log("EgovAdminPostList [props] : ", props); const location = useLocation(); console.log("EgovAdminPostList [location] : ", location); // eslint-disable-next-line no-unused-vars const [searchCondition, setSearchCondition] = useState(location.state?.searchCondition || { pageIndex: 1, searchCnd: '0', searchWrd: '' });// 기존 조회에서 접근 했을 시 || 신규로 접근 했을 시 const [paginationInfo, setPaginationInfo] = useState({}); const cndRef = useRef(); const wrdRef = useRef(); const [listTag, setListTag] = useState([]); const [show, setShow] = useState(false); const [modalBody, setModalBody] = useState(); const handleClose = () => setShow(false); const handleShow = () => setShow(true); const retrieveList = useCallback(() => { console.groupCollapsed("EgovAdminPostList.retrieveList()"); const retrieveListURL = '/admin/boards/post-list'; const requestOptions = { method: "GET", headers: { 'Content-type': 'application/json', }, body: JSON.stringify() } EgovNet.requestFetch(retrieveListURL, requestOptions, (resp) => { setPaginationInfo(resp.result.paginationInfo); let mutListTag = []; listTag.push(

검색된 결과가 없습니다.

); // 게시판 목록 초기값 // 리스트 항목 구성 resp.result.postList.forEach(function (item, index) { if (index === 0) mutListTag = []; // 목록 초기화 mutListTag.push(
{item.bbsContSeq}
{item.bbsSeq}
{item.bbsContTitle}
{item.bbsContents}
{item.bbsReadCnt}
{item.bbsContLevel}
); }); setListTag(mutListTag); }, function (resp) { console.log("err response : ", resp); } ); console.groupEnd("EgovAdminPostList.retrieveList()"); },[listTag, searchCondition]); useEffect(() => { retrieveList(searchCondition); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); function editPost(item){ handleShow(); if(item != undefined) { item.mode = CODE.MODE_MODIFY; } setModalBody() } console.log("------------------------------EgovAdminPostList [End]"); console.groupEnd("EgovAdminPostList"); return (
{/* */}
  • Home
  • 사이트관리
  • 게시판현황
  • 게시물 관리
{/* */}
{/* */} {/* */}
{/* */}

게시물 관리

{/* */}
  • 검색유형선택
  • 검색어 { wrdRef.current.value = e.target.value; }} />
  • 등록
{/* */} {/* */}
제목 작성자 작성일 조회수 파일
{listTag}
{/* */}
{/* */} { retrieveList({ ...searchCondition, pageIndex: passedPage, searchCnd: cndRef.current.value, searchWrd: wrdRef.current.value }) }} /> {/* */}
{/* */}
{modalBody}
); } export default AdminPostMgtList;