Skip to content

Commit

Permalink
FIX: 반환 값에 modDate를 추가 함으로써 최근 수정일을 나타낼 수 있다. #42 (#48)
Browse files Browse the repository at this point in the history
* style : 헤더 컴포넌트 완성

* style : sidebar(drawer) 완성

* feat : Drawer와 상태를 연결

* feat : 커스텀 테이블 생성

* refactor : 커스텀 테이블의 pagination을 refactoring함

* Refactor(custom): 테이블 관련 데이터 파일 분리

* 커밋 컨밴션을 위한 cz-commitizen 설정

* Docs: pR 문서 템플릿 작성

* Refactor: 테이블 컴포넌트를 다양한 데이터를 넣을 수 있도록 Row 부분을 리펙토링 하여 정의한이터에 따라 값이 유연하게 들어갈 수 있게 함(#4)

* Feat: 테이블 관련 필드를 field 파일에 모아둠 (#4)

* Refactor: boardList정의 + 사이드바 블럭 리펙터링

* Refactor: milleageHeader를 컴포넌트로 꺼내면서 로직을 포함하고 있는 함수들과 UI를 리펙터링함

* Feat: 마일리지 카테고리 리스트에 필요한 리스트들을 enum을 이용하여 정리

* Refactor: 마일리지 카테고리 게시판 리펙터링 완료 (#4)

* Feat: 마일리지 항목 게시판 enum 설정 (#4)

* Feat: 마일리지 항목 데이터 인터페이스 설정(#4)

* Feat: 마일리지 항목 관련 데이터 생성 함수(#4)

* Feat: 마일리지 항목 관련 테이블 헤더(#4)

* Feat: 마일리지 항목 row값 설정

* Feat: 마일리지 조회 게시판 enum 설정(#4)

* Feat: 마일리지 조회 데이터 인터페이스 설정(#4)

* Feat: 마일리지 조회 데이터 생성 함수(#4)

* Feat: 마일리지 조회 데이터 생성 함수(#4)

* Feat: 마일리지 조회 데이터 추가(#4)

* Feat: 마일리지 등록 enum 설계(#4)

* Feat: 마일리지 조회 데이터 인터페이스 + 데이터 생성 함수(#4)

* Feat: 마일리지 등록 테이블 헤더(#4)

* Feat: 마일리지 등록 더미데이터 입력(#4)

* Fix: semester을 number -\> string으로 타입 수정 , 테이블 데이터들이 모두 select 되지 않는  버그 수정(#4)

* Style: mediaQuery와 styled-component를 이용하여 테이블의 반응형 구축(#4)

* Feat: 신청자 관리 데이터 인터페이스(4)

* Feat: 신청자 관리 enum (#4)

* Feat: 신청자 관리 데이터 생성함수 (#4)

* Fix: 신청자 관리 카테고리를 제외 시킴(#4)

* Feat: 신청자 관리 헤더 내용 정리(#4)

* Feat: 신청자 관리 더미데이터(#4)

* Feat: 학생 관리 테이블 완성(#4)

* Feat: 사용자 관리 테이블 enum 설정(#4)

* Feat: 사용자 관리 데이터 인터페이스 설정(#4)

* Feat: 사용자 관리 데이터 생성함수(#4)

* Feat: 사용자 관리 테이블 studentName -\> name으로 필드 이름 변경

* Feat: 사용자관리 테이블 데이터생성함수(#4)

* Feat: 사용자 관리 테이블 완료(#4)

* Feat: 마일리지 선정 결과 enum 설정(#4)

* Feat: 마일리지 선정결과 인터페이스 + 데이터 생성함수(#4)

* Fix: 마일리지 선정 결과에서 register num을 삭제하였음(#4)

* Feat: 마일리지 선정결과 테이블 헤더 설정(#4)

* Feat: 마일리지 선정결과 완료(#4)

* Chore: 빌드 시 esLint를 무시할 수 있도록 next.config.js를 수정해주었음

* Feat: 마일리지 카테고리 모달관련 reducers를 만듬 (open , close) (#7)

* Feat: 마일리지 카테고리 관련 모달을 열고 닫는 액션 export(#7)

* Fix: 문법에 맞게 reducers return 값 수정(#7)

* Feat: mUI 모달 컴포넌트 생성(#7)

* Feat: root Reducer에 modal Reducer를 연결하고 모달의 useState를 selector와 dispatch로 대체함으로 써 모달을 컴포넌트에 연결 시킴

* Feat: 카테고리 관련 모달 이름 data파일에 정의(#7)

* Fix: 모달 관련 state를 재사용 하기로 결정하여 state의 갯수를 줄임(#7)

* Feat: icon Converter를 통해 어떤 타입의 모달이냐에 따라 다른 아이콘을 부여(#7)

* Feat: title Converter를 두어 모달의 제목을 모달의 타입에 따라 융통성있게 가져감(#7)

* Fix: 모달이 type을 인식하지 못하는 이슈로 인해 modalType을 reducer에서 관리(#7)

* Feat: formik , yup 설치 및 활용을 통한 모달 속 폼 제작(#7)

* Feat: 마일리지 카테고리 추가 기능 폼 구현 완료(#7)

* Style: mui템플릿 Theme기본 설정을 변경 시켜서 텍스트 필드의 스타일을 변경시킴(#7)

* Feat: 관리를 눌렀을 때 초기값을 전달하여 세팅하는 것 까지 연결 (#7)

* Feat: 마일리지 카테고리 모달 완성 + 컴포넌트 분리(#7)

* Refactor: 모달 제목 , 모달 열기 버튼 리펙터링(#7)

* Feat: 테이블에 타입 지정하고 타입을 활용해서 제목 변경(#7)

* Feat: 타입 컨버터를 통해 각 모달의 기능에 맞춰줌(#7)

* Feat: 카테고리 항목 모달 폼 제작(#7)

* Feat: 카테고리 항목 모달에 토글 추가(#7)

* Feat: 영어를 한글로 UI를 보여주는 함수 구현(#7)

* Feat: 마일리지 항목 모달 리펙터링(#7)

* Feat: 마일리지 카테고리,  마일리지 항목 모달 연결(#7)

* Feat: 게시판 데이터에 마일리지 글로벌 항목 추가(#12)

* Feat: 각각의 컴포넌트에 type을 지정해주어 각 컴포넌트에 맞는 테이블의 제목을 나타나게 한다.(#12)

* Feat: 마일리지 글로벌 항목 관련 테이블 생성(#12)

* Fix: 마일리지 항목 -\> 마일리지 학기별 항목으로 수정(#12)

* Feat: 자동완성 state연결(#15)

* Feat: 카테고리 filter 관련 Reducer 생성 (#15)

* Feat: 카테고리 필터링 완료(#15)

* Feat: 마일리지 글로벌 항목 리스트 상태를 리덕스로 관리(#15)

* Feat: 마일리지 학기별 항목 리스트도 리덕스로 관리 (#15)

* Feat: 학기 필터링 상태 Reducer에 추가(#15)

* Feat: 학기 필터링 드롭다운 컴포넌트(#15)

* Feat: 학기 필터링 적용 완료(#15)

* Feat: 보이기 필터링 드롭다운 컴포넌트 생성 , reducer 생성(#15)

* Feat: 보이기 필터링 연결(#15)

* Feat: 항목명 필터링 컴포넌트, 상태 생성(#15)

* Fix: 마일리지 학기별 항목의 보이기 값이 boolean임에 맞춰 데이터를 true/false로 변경(#15)

* Feat: 카테고리 CRUD API apitest 페이지에서 연결테스트(#16)

* Refactor: pages 폴더 내에서만 서버사이드 렌더링이 작동하기 때문에 header와 drawer를 main layout으로 리펙터링 한다(#15))

* Fix: 테이블 리스트 컴포넌트들을 페이지로 이동 시키기 이전에 현재 페이지 상태에 대한 상태를 reducer로 관리(#15)

* Fix: 컴포넌트 리턴 함수를 drawer컴포넌트에서 메인 페이지로 꺼내옴

* Refactor: 서버 사이드 렌더링을 위하여 board 컴포넌트를 페이지로 리펙터링(#15)

* Feat: 마일리지 카테고리 서버사이드 fetching API 연결(#15)

* Feat: 카테고리 추가 API 연결 완료(#15)

* Feat: 카테고리 수정 API 연결 (#15)

* Feat: 삭제 API를 여러개 동시에 하기 위해 선택 된 것을 삭제할 수 있도록 선택된 id들전역상태로 관리(#16)

* Feat: 선택된 번호들을 다른 페이지로 갔을 시 초기화 되도록 설정(#16)

* Feat: 카테고리 다중 삭제 API 연결 완료(#16)

* Feat: 글로벌 세부항목 가져오기 API 연결(#18)

* Refactor: 글로벌 카테고리 모달 버튼 리펙터링(#18)

* Feat: 메뉴바 state가redux persist로 유지되도록 함(#18)

* Feat: 학기별 세부항목 조회를 위한 interface 생성(#20)

* Feat: 마일리지 학기별 항목 READ 연결(#20)

* Feat: 세부항목 모달+ CREATE API 연결(#20)

* Feature: 글로벌 세부항목 API을 연결 함으로써 데이터베이스에 글로벌 세부항목 CRUD을 할 수 있다.  (#19)

* style : 헤더 컴포넌트 완성

* style : sidebar(drawer) 완성

* feat : Drawer와 상태를 연결

* feat : 커스텀 테이블 생성

* refactor : 커스텀 테이블의 pagination을 refactoring함

* Refactor(custom): 테이블 관련 데이터 파일 분리

* 커밋 컨밴션을 위한 cz-commitizen 설정

* Docs: pR 문서 템플릿 작성

* Refactor: 테이블 컴포넌트를 다양한 데이터를 넣을 수 있도록 Row 부분을 리펙토링 하여 정의한이터에 따라 값이 유연하게 들어갈 수 있게 함(#4)

* Feat: 테이블 관련 필드를 field 파일에 모아둠 (#4)

* Refactor: boardList정의 + 사이드바 블럭 리펙터링

* Refactor: milleageHeader를 컴포넌트로 꺼내면서 로직을 포함하고 있는 함수들과 UI를 리펙터링함

* Feat: 마일리지 카테고리 리스트에 필요한 리스트들을 enum을 이용하여 정리

* Refactor: 마일리지 카테고리 게시판 리펙터링 완료 (#4)

* Feat: 마일리지 항목 게시판 enum 설정 (#4)

* Feat: 마일리지 항목 데이터 인터페이스 설정(#4)

* Feat: 마일리지 항목 관련 데이터 생성 함수(#4)

* Feat: 마일리지 항목 관련 테이블 헤더(#4)

* Feat: 마일리지 항목 row값 설정

* Feat: 마일리지 조회 게시판 enum 설정(#4)

* Feat: 마일리지 조회 데이터 인터페이스 설정(#4)

* Feat: 마일리지 조회 데이터 생성 함수(#4)

* Feat: 마일리지 조회 데이터 생성 함수(#4)

* Feat: 마일리지 조회 데이터 추가(#4)

* Feat: 마일리지 등록 enum 설계(#4)

* Feat: 마일리지 조회 데이터 인터페이스 + 데이터 생성 함수(#4)

* Feat: 마일리지 등록 테이블 헤더(#4)

* Feat: 마일리지 등록 더미데이터 입력(#4)

* Fix: semester을 number -\> string으로 타입 수정 , 테이블 데이터들이 모두 select 되지 않는  버그 수정(#4)

* Style: mediaQuery와 styled-component를 이용하여 테이블의 반응형 구축(#4)

* Feat: 신청자 관리 데이터 인터페이스(4)

* Feat: 신청자 관리 enum (#4)

* Feat: 신청자 관리 데이터 생성함수 (#4)

* Fix: 신청자 관리 카테고리를 제외 시킴(#4)

* Feat: 신청자 관리 헤더 내용 정리(#4)

* Feat: 신청자 관리 더미데이터(#4)

* Feat: 학생 관리 테이블 완성(#4)

* Feat: 사용자 관리 테이블 enum 설정(#4)

* Feat: 사용자 관리 데이터 인터페이스 설정(#4)

* Feat: 사용자 관리 데이터 생성함수(#4)

* Feat: 사용자 관리 테이블 studentName -\> name으로 필드 이름 변경

* Feat: 사용자관리 테이블 데이터생성함수(#4)

* Feat: 사용자 관리 테이블 완료(#4)

* Feat: 마일리지 선정 결과 enum 설정(#4)

* Feat: 마일리지 선정결과 인터페이스 + 데이터 생성함수(#4)

* Fix: 마일리지 선정 결과에서 register num을 삭제하였음(#4)

* Feat: 마일리지 선정결과 테이블 헤더 설정(#4)

* Feat: 마일리지 선정결과 완료(#4)

* Chore: 빌드 시 esLint를 무시할 수 있도록 next.config.js를 수정해주었음

* Feat: 마일리지 카테고리 모달관련 reducers를 만듬 (open , close) (#7)

* Feat: 마일리지 카테고리 관련 모달을 열고 닫는 액션 export(#7)

* Fix: 문법에 맞게 reducers return 값 수정(#7)

* Feat: mUI 모달 컴포넌트 생성(#7)

* Feat: root Reducer에 modal Reducer를 연결하고 모달의 useState를 selector와 dispatch로 대체함으로 써 모달을 컴포넌트에 연결 시킴

* Feat: 카테고리 관련 모달 이름 data파일에 정의(#7)

* Fix: 모달 관련 state를 재사용 하기로 결정하여 state의 갯수를 줄임(#7)

* Feat: icon Converter를 통해 어떤 타입의 모달이냐에 따라 다른 아이콘을 부여(#7)

* Feat: title Converter를 두어 모달의 제목을 모달의 타입에 따라 융통성있게 가져감(#7)

* Fix: 모달이 type을 인식하지 못하는 이슈로 인해 modalType을 reducer에서 관리(#7)

* Feat: formik , yup 설치 및 활용을 통한 모달 속 폼 제작(#7)

* Feat: 마일리지 카테고리 추가 기능 폼 구현 완료(#7)

* Style: mui템플릿 Theme기본 설정을 변경 시켜서 텍스트 필드의 스타일을 변경시킴(#7)

* Feat: 관리를 눌렀을 때 초기값을 전달하여 세팅하는 것 까지 연결 (#7)

* Feat: 마일리지 카테고리 모달 완성 + 컴포넌트 분리(#7)

* Refactor: 모달 제목 , 모달 열기 버튼 리펙터링(#7)

* Feat: 테이블에 타입 지정하고 타입을 활용해서 제목 변경(#7)

* Feat: 타입 컨버터를 통해 각 모달의 기능에 맞춰줌(#7)

* Feat: 카테고리 항목 모달 폼 제작(#7)

* Feat: 카테고리 항목 모달에 토글 추가(#7)

* Feat: 영어를 한글로 UI를 보여주는 함수 구현(#7)

* Feat: 마일리지 항목 모달 리펙터링(#7)

* Feat: 마일리지 카테고리,  마일리지 항목 모달 연결(#7)

* Feat: 게시판 데이터에 마일리지 글로벌 항목 추가(#12)

* Feat: 각각의 컴포넌트에 type을 지정해주어 각 컴포넌트에 맞는 테이블의 제목을 나타나게 한다.(#12)

* Feat: 마일리지 글로벌 항목 관련 테이블 생성(#12)

* Fix: 마일리지 항목 -\> 마일리지 학기별 항목으로 수정(#12)

* Feat: 자동완성 state연결(#15)

* Feat: 카테고리 filter 관련 Reducer 생성 (#15)

* Feat: 카테고리 필터링 완료(#15)

* Feat: 마일리지 글로벌 항목 리스트 상태를 리덕스로 관리(#15)

* Feat: 마일리지 학기별 항목 리스트도 리덕스로 관리 (#15)

* Feat: 학기 필터링 상태 Reducer에 추가(#15)

* Feat: 학기 필터링 드롭다운 컴포넌트(#15)

* Feat: 학기 필터링 적용 완료(#15)

* Feat: 보이기 필터링 드롭다운 컴포넌트 생성 , reducer 생성(#15)

* Feat: 보이기 필터링 연결(#15)

* Feat: 항목명 필터링 컴포넌트, 상태 생성(#15)

* Fix: 마일리지 학기별 항목의 보이기 값이 boolean임에 맞춰 데이터를 true/false로 변경(#15)

* Feat: 카테고리 CRUD API apitest 페이지에서 연결테스트(#16)

* Refactor: pages 폴더 내에서만 서버사이드 렌더링이 작동하기 때문에 header와 drawer를 main layout으로 리펙터링 한다(#15))

* Fix: 테이블 리스트 컴포넌트들을 페이지로 이동 시키기 이전에 현재 페이지 상태에 대한 상태를 reducer로 관리(#15)

* Fix: 컴포넌트 리턴 함수를 drawer컴포넌트에서 메인 페이지로 꺼내옴

* Refactor: 서버 사이드 렌더링을 위하여 board 컴포넌트를 페이지로 리펙터링(#15)

* Feat: 마일리지 카테고리 서버사이드 fetching API 연결(#15)

* Feat: 카테고리 추가 API 연결 완료(#15)

* Feat: 카테고리 수정 API 연결 (#15)

* Feat: 삭제 API를 여러개 동시에 하기 위해 선택 된 것을 삭제할 수 있도록 선택된 id들전역상태로 관리(#16)

* Feat: 선택된 번호들을 다른 페이지로 갔을 시 초기화 되도록 설정(#16)

* Feat: 카테고리 다중 삭제 API 연결 완료(#16)

* Feat: 글로벌 세부항목 가져오기 API 연결(#18)

* Refactor: 글로벌 카테고리 모달 버튼 리펙터링(#18)

* Feat: 메뉴바 state가redux persist로 유지되도록 함(#18)

* Feat: 학생 관리 조회 데이터 관련 인터페이스 생성(#22)

* Feat: 학생 데이터를 grade -\> year + semesterCount 로 두개로 분할 시킴(#22)

* Feat: 학생 관리 조회 API 연결(#22)

* Refactor: 학생관리의 beforeData 상수 사용하도록 리펙터링(#22)

* Refactor: 학생 관리의 IStudent를 미리 정의해둔 상수를 사용하도록 리펙터링(#22)

* Refactor: 학생 관리 관련 데이터 리펙터링(#22)

* Feat: 학생 항목 추가 모달에서 handleSubmit 구현(#22)

* Feat: 학생 생성 API 연결(#22)

* Feat: 마일리지 등록 READ 연결(#24)

* Feat: collapsibleTable 연결(#24)

* Feat: 받아온 데이터와 연결(#24)

* Feat: 데이터 연결 완료(#24)

* Feat: 마일리지 등록 리펙터링 (#24)

* Style: 반응형 구축 scroll (#24)

* Feat: 마일리지 등록 모달 완성(#24)

* Style: 팀원 피드백에 따라 반응형 스크롤로 수정(#24)

* Feat: 버튼을 통해 엑셀 다운로드 연결(#26)

* Feat: 학생 이름 , 학생 학년 , 학생이 속한 학부 필터링을 위한 state를 reducer에 생성(#15)

* Feat: 학생명 필터링 드롭다운 메뉴 생성(#15)

* Fix: 필드가 studentName이 더 적절한 것 같아서 name을 studentName으로 수정(#15)

* Feat: 학생 이름 드롭다운 메뉴 연결(#15)

* Feat: 학년 드롭다운 컴포넌트 생성(#15)

* Feat: 학년 필터링 연결(#15)

* Fix: grade가 number이었어서 slice가 먹히지 않았다. string으로 변환 후 slice를 사용(#15)

* Style: 학부 드롭다운 UI생성 (#15)

* Feat: 학부 필터링 연결 완료(#15)

* Refactor: 학년 필터링 MenuItem를 map을 사용하여 줄임(#15)

* Feat: 학기 필터링 menuItem을 map으로 변환(#15)

* Refactor: 보이기 여부 menuItem을 map을 사용하여 변환(#15)

* Style: 학기의 필터링의 높이와 넓이 조정(#15)

* Style: 카테고리 필터링의 스타일 변경(#15)

* Style: 보이기 여부 필터링 스타일조정(#15)

* Style: 항목명 필터링 너비와 높이 스타일지정(#15)

* Style: 학년 필터링 너비와 높이 지정(#15)

* Style: select는 width자동 지정 되므로 width 없애고 autocomplete만 width 지정(#15)

* Style: 필터링과 테이블 반응형 구축(#15)

* Style: 커스텀 테이블의 반응형 스타일을 스타일드 컴포넌트로 뺴냄(#15)

* Style: 2중 테이블 - 마일리지 등록 리스트 반응형 구축(#15)

* Feat: 필터링 카테고리에 디비에 존재하는 카테고리를 데이터 연결(#15)

* Fix: 마일리지 글로벌 항목 학기 , 마일리지 , 최대 마일리지 삭제(#15)

* Fix: 글로벌 항목 리스트 항목명 안보이는 버그 itemName -\> name으로 변경하여 해결(#15)

* Fix: 마일리지 학기별 항목 리스트 넘겨주는 값들 수정(#15)

* Fix: 마일리지 등록 리스트 카테고리명 추가(#15)

* Feat: 필요한 때만 보이도록 현재 테이블의 위치(componentNum)를 통해 설정함(#15)

* Refactor: 필터링 전체로 묶고 컴포넌트로 따로 뺌(#15)

* Feat: 맨 처음에 필터링을 위해 전역 변수로 카테고리, 학생 , 글로벌항목명들을 가져온다. 그리고 이걸 persist로저장(#15)

* Fix: filter와 filterList 구분을 통해서 영속성을 List에만 부여(#15)

* Fix: 버그 수정

* Feat: 메인에서 필터링 데이터를 전달 받고 mileage/category페이지로 라우팅(#28)

* Style : Drawer mouseHover하면 열리고 mouseOut하면 닫히도록 수정

* Style : 정렬 할때 화살표가 나타나도록 설정(#28)

* Fix: 교수님의 요구 사항에 따라 마일리지 등록 부분을 2단 테이블 -\> 단일 테이블로 변경(#28)

* Feat: 마일리지 등록 등록된 학생 crud 테이블(#28)

* Style : 테이블 수정

* Fix: 카테고리 GET API의 DTO수정에 따라 인터페이스와 보여주는 값 변경(#29)

* Fix: 카테고리 수정 / 삭제 폼과 API 연결 수정(#29)

* Fix: edit때 사용되는 기존 데이터를 전달하는 beforeData를 전역적으로 관리하여 기존의 전달되지 않던 오류 수정(#29)

* Fix: 항목 선택을 위해 id -\> num으로 필드 설정(#29)

* Fix:

BREAKING CHANGE:
학기별 세부 항목 수정된 결과값에 맞게 수정(#29)

* Fix: 학생관리 리스트 수정 된 API 정책에 맞게 연결 및 모달 수정(#29)

* Fix : 브랜치 변경을 위한 커밋

* Feat : 차트 인덱스 state redux로 관리(#29)

* Style : Tabs 컴포넌트 제작(#30)

* Refactor : ReportTabs를 컴포넌트로 이동(#30)

* Style: 파이 그래프 , 선 그래프 예시 만들기(#30)

* Style: 더 많은 그래프 예시 연결(#30)

* Fix : 리포트 텝스 라우트 연결(#30)

* Fix : 카테고리 우선 순위 나타나도록 설정

* Feat: 마일리지 학기별 항목 리스트 모달에서 학기를 Select로 변경(#32)

* Feat: 마일리지 학기별 항목 리스트 모달에 글로벌 항목 Select 실제 데이터 연결(#32)

* Feat: 학부 Select 제작(#32)

* Feat: 전공 Select 제작(#32)

* Feat: 학년 Select 생성(#32)

* Feat: 학기수 Select 생성(#32)

* Feat: 학생 등록 모달 폼에 Select (학년 , 학기 수) 추가(#32)

* Feat : 학생 목록 가져오기

* Fix : CategoryAutoCompletet undefinded 에러(#28)

* Fix: 마일리지 등록 학생 추가 테이블 각 필드 픽셀 수정(#28)

* Feat: 학생 추가 리스트와 실제 데이터 연결을 위한 생성함수(#28)

* Feat: 마일리지 등록 학생 테이블 실제 데이터 연결(#28)

* Fix: 모달을 누르면 모든 모달이 활성화되는 버그 수정 : 모달 상태 redux -\> useState로 관리(#28)

* Feat: 클릭한 마일리지 항목에 등록된 학생들만 불러오도록 API 쿼리파라미터 연결(#28)

* Feat: 마일리지 등록 학생 Edit , Delete 연결(#28)

* Feat: drawer를 pinned 할 수 있도록 pinned를 리덕스로 전역 상태 관리(#32)

* Fix: drawer 전역 상태 설정 소문자 setopen 선언 오류 수정(#34)

* Feat: drawer pinned가 참일 때는 drawer가 닫히지 않도록 설정(#34)

* Fix: 마일리지 등록 학생 추가/수정 구분 안되는 버그 수정(#34)

* Feat : 학생 추가 팝업 밖에서도 가능 하도록 만듬(#35)

* Fix : 마일리지 등록 페이지 모달 수정(#35)

* Chore: 리액트 드래그앤 드랍 +  타입스크립트 라이브러리 설치(#37)

* Chore : next Config 설정을 통해 strictMode에서도 드래그 앤드랍 사용할 수 있도록 설정(#37)

* Feat: 드래그 앤 드랍 테이블에 적용(#37)

* Feat(드래그 앤 드랍 픽셀 깨짐 현상 , 레이아웃 변형 수정(#37)):

* Fix: 드래그 앤 드랍 orderIdx 잘 수정되지 않는 버그 수정(#38

* Fix: 드래그 앤 드랍 우선 순위 변경 로직 수정(#38)

* Feat : orderIdx로 정렬(#38)

* Feat: 마일리지 카테고리에 최근 수정일 추가(#38)

* Fix: 데이터 orderIdx 정렬 전에 데이터 타입과 데이터 입력이 잘 되어있는 지 확인하여에러 수정(#42)

* Fix: 글로벌 항목 생성 / 수정 시 선택한 카테고리를 실제 id와 연결(#42)

* Feat: 글로벌 항목 테이블에서 최근 수정일 추가(#42)

* Feat: 마일리지 학기별 항목 테이블에 최근 수정일 추가(#42)

* Fix : 학생 관리 , 마일리지 등록 테이블에 최근 수정일 추가(#42)
  • Loading branch information
ohinhyuk authored Sep 22, 2023
1 parent f29d5c6 commit 726e4a7
Show file tree
Hide file tree
Showing 8 changed files with 69 additions and 5 deletions.
1 change: 1 addition & 0 deletions src/assets/data/fields.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,4 @@ export const ORDER_IDX = 'orderIdx';
export const ITEM_MAX_POINTS = 'itemMaxPoints';
export const ISCHECKED = 'isChecked';
export const CATEGORYID = 'categoryId';
export const MOD_DATE = 'modDate';
9 changes: 7 additions & 2 deletions src/components/common/CustomTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -315,9 +315,14 @@ const typeConverter = (type) => {

export default function EnhancedTable({ originalRows, headCells, type }) {
function sortByOrderIdx(data) {
return data.sort((a, b) => a.orderIdx - b.orderIdx);
}
if (!data) return;

// Create a shallow copy of the array
const sortedData = [...data];

// Sort the copied array
return sortedData.sort((a, b) => (a?.orderIdx ?? 0) - (b?.orderIdx ?? 0));
}
/**
* @field 필터링을 거치고 보여주는 값들 (rows)
*/
Expand Down
2 changes: 1 addition & 1 deletion src/components/modalForm/GlobalItemForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export default function GlobalItemForm() {
};

const newData = {
[CATEGORYID]: 1,
[CATEGORYID]: values[CATEGORYID],
itemName: values[ITEM],
[DESCRIPTION1]: values[DESCRIPTION1],
[DESCRIPTION2]: values[DESCRIPTION2],
Expand Down
13 changes: 12 additions & 1 deletion src/pages/manage/student/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import {
REGDATE,
ISCHECKED,
MOBILE,
MOD_DATE,
} from 'src/assets/data/fields';
import axiosInstance from 'src/utils/axios';
import { GetServerSideProps, InferGetServerSidePropsType } from 'next';
Expand Down Expand Up @@ -49,6 +50,7 @@ export enum StudentManageBoard {
'LASTLOGINDATE' = LASTLOGINDATE,
'REGDATE' = REGDATE,
'ISCHECKED' = ISCHECKED,
'MOD_DATE' = MOD_DATE,
'MANAGE' = MANAGE,
}

Expand All @@ -64,6 +66,7 @@ interface Data {
[StudentManageBoard.MAJOR]: string;
[StudentManageBoard.LASTLOGINDATE]: string;
[StudentManageBoard.ISCHECKED]: string;
[StudentManageBoard.MOD_DATE]: string;
[StudentManageBoard.MANAGE]: string;
}
/**
Expand All @@ -80,6 +83,7 @@ function createData(
MAJOR: string,
LASTLOGINDATE: string,
ISCHECKED: string,
MOD_DATE: string,
MANAGE: ReactNode
): Data {
return {
Expand All @@ -91,6 +95,7 @@ function createData(
[StudentManageBoard.MAJOR]: MAJOR,
[StudentManageBoard.LASTLOGINDATE]: LASTLOGINDATE,
[StudentManageBoard.ISCHECKED]: ISCHECKED,
[StudentManageBoard.MOD_DATE]: MOD_DATE,
[StudentManageBoard.MANAGE]: MANAGE,
};
}
Expand Down Expand Up @@ -147,6 +152,12 @@ function createData(
disablePadding: false,
label: '승인',
},
{
id: [StudentManageBoard.MOD_DATE],
numeric: true,
disablePadding: false,
label: '최근 수정일',
},
{
id: [StudentManageBoard.MANAGE],
numeric: true,
Expand Down Expand Up @@ -264,7 +275,6 @@ export default function StudentManage({
[ISCHECKED]: student[ISCHECKED],
};
return createData(
student[ID],
student[ID],
student[NAME],
student[SID],
Expand All @@ -273,6 +283,7 @@ export default function StudentManage({
student[MAJOR1] + ' / ' + student[MAJOR2],
student[LASTLOGINDATE]?.split('T')[0],
student[ISCHECKED] ? <CheckBoxIcon /> : <CheckBoxOutlineBlankIcon />,
student[MOD_DATE],
<SWModal type={EDITSTUDENT} beforeData={beforeData} />
);
});
Expand Down
12 changes: 12 additions & 0 deletions src/pages/mileage/category/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
ID,
ORDER_IDX,
TITLE,
MOD_DATE,
} from 'src/assets/data/fields';
import SWModal from 'src/components/common/modal/SWModal';
import { EDITCATEGORY } from 'src/assets/data/modal/modals';
Expand All @@ -26,6 +27,7 @@ export enum MileageCategoryBoard {
'ORDER_IDX' = ORDER_IDX,
'DESCRIPTION1' = DESCRIPTION1,
'DESCRIPTION2' = DESCRIPTION2,
'MOD_DATE' = MOD_DATE,
'MANAGE' = MANAGE,
}

Expand All @@ -40,6 +42,7 @@ interface Data {
[MileageCategoryBoard.ORDER_IDX]: number;
[MileageCategoryBoard.DESCRIPTION1]: string;
[MileageCategoryBoard.DESCRIPTION2]: string;
[MileageCategoryBoard.MOD_DATE]: string;
[MileageCategoryBoard.MANAGE]: ReactNode;
}

Expand All @@ -55,6 +58,7 @@ function createData(
ORDER_IDX: number,
DESCRIPTION1: string,
DESCRIPTION2: string,
MOD_DATE: string,
MANAGE: ReactNode
): Data {
return {
Expand All @@ -63,6 +67,7 @@ function createData(
[MileageCategoryBoard.ORDER_IDX]: ORDER_IDX,
[MileageCategoryBoard.DESCRIPTION1]: DESCRIPTION1,
[MileageCategoryBoard.DESCRIPTION2]: DESCRIPTION2,
[MileageCategoryBoard.MOD_DATE]: MOD_DATE,
[MileageCategoryBoard.MANAGE]: MANAGE,
};
}
Expand Down Expand Up @@ -104,6 +109,12 @@ const headCells = [
disablePadding: false,
label: '설명2',
},
{
id: [MileageCategoryBoard.MOD_DATE],
numeric: true,
disablePadding: false,
label: '최근 수정일',
},
{
id: [MileageCategoryBoard.MANAGE],
numeric: true,
Expand Down Expand Up @@ -182,6 +193,7 @@ export default function MileageCategory({
item[ORDER_IDX],
item[DESCRIPTION1],
item[DESCRIPTION2],
item[MOD_DATE],
<SWModal type={EDITCATEGORY} beforeData={beforeData} />
);
});
Expand Down
12 changes: 12 additions & 0 deletions src/pages/mileage/item/global/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import {
ISEVALUATE_FUSION,
MAX_MAILEAGE,
NAME,
MOD_DATE,
CATEGORYID,
} from 'src/assets/data/fields';
import SWModal from 'src/components/common/modal/SWModal';
Expand All @@ -45,6 +46,7 @@ export enum MileageGlobalItemBoard {
'DESCRIPTION2' = DESCRIPTION2,

'ISVISIBLE' = ISVISIBLE,
'MOD_DATE' = MOD_DATE,
'MANAGE' = MANAGE,
}

Expand All @@ -59,6 +61,7 @@ interface Data {
[MileageGlobalItemBoard.DESCRIPTION2]: string;

[MileageGlobalItemBoard.ISVISIBLE]: boolean;
[MileageGlobalItemBoard.MOD_DATE]: string;
[MileageGlobalItemBoard.MANAGE]: string;
}

Expand All @@ -75,6 +78,7 @@ function createData(
DESCRIPTION2: string,

ISVISIBLE: boolean,
MOD_DATE: string,
MANAGE: string
): Data {
return {
Expand All @@ -87,6 +91,7 @@ function createData(
[MileageGlobalItemBoard.DESCRIPTION2]: DESCRIPTION2,

[MileageGlobalItemBoard.ISVISIBLE]: ISVISIBLE,
[MileageGlobalItemBoard.MOD_DATE]: MOD_DATE,
[MileageGlobalItemBoard.MANAGE]: MANAGE,
};
}
Expand Down Expand Up @@ -132,6 +137,12 @@ const headCells = [
disablePadding: false,
label: '보이기',
},
{
id: [MileageGlobalItemBoard.MOD_DATE],
numeric: true,
disablePadding: false,
label: '최근 수정일',
},
{
id: [MileageGlobalItemBoard.MANAGE],
numeric: true,
Expand Down Expand Up @@ -307,6 +318,7 @@ export default function MileageCategory({
item[DESCRIPTION1],
item[DESCRIPTION2],
item[ISVISIBLE],
item[MOD_DATE],
<SWModal type={EDITGLOBALITEM} beforeData={beforeData} />
);
});
Expand Down
13 changes: 12 additions & 1 deletion src/pages/mileage/item/semester/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import {
ISEVALUATE_CSEE,
ISEVALUATE_PORTFOLIO,
ISEVALUATE_FUSION,
MOD_DATE,
MAX_MAILEAGE,
} from 'src/assets/data/fields';
import SWModal from 'src/components/common/modal/SWModal';
Expand Down Expand Up @@ -45,6 +46,7 @@ export enum MileageSemesterItemBoard {
'ITEM' = ITEM,
'POINTS' = POINTS,
'ITEM_MAX_POINTS' = ITEM_MAX_POINTS,
'MOD_DATE' = MOD_DATE,
'MANAGE' = MANAGE,
}

Expand All @@ -58,6 +60,7 @@ interface Data {
[MileageSemesterItemBoard.ITEM]: string;
[MileageSemesterItemBoard.POINTS]: number;
[MileageSemesterItemBoard.ITEM_MAX_POINTS]: number;
[MileageSemesterItemBoard.MOD_DATE]: string;
[MileageSemesterItemBoard.MANAGE]: string;
}

Expand All @@ -73,6 +76,7 @@ function createData(
ITEM: string,
POINTS: number,
ITEM_MAX_POINTS: number,
MOD_DATE: string,
MANAGE: string
): Data {
return {
Expand All @@ -82,6 +86,7 @@ function createData(
[MileageSemesterItemBoard.ITEM]: ITEM,
[MileageSemesterItemBoard.POINTS]: POINTS,
[MileageSemesterItemBoard.ITEM_MAX_POINTS]: ITEM_MAX_POINTS,
[MileageSemesterItemBoard.MOD_DATE]: MOD_DATE,
[MileageSemesterItemBoard.MANAGE]: MANAGE,
};
}
Expand Down Expand Up @@ -127,6 +132,12 @@ const headCells = [
disablePadding: false,
label: '항목 최대 포인트',
},
{
id: [MileageSemesterItemBoard.MOD_DATE],
numeric: true,
disablePadding: false,
label: '최큰 수정일',
},
{
id: [MileageSemesterItemBoard.MANAGE],
numeric: true,
Expand Down Expand Up @@ -287,7 +298,7 @@ export default function MileageCategory({
semesterItem.item.name,
semesterItem.points,
semesterItem.itemMaxPoints,

semesterItem.modDate,
<SWModal type={EDITITEM} beforeData={beforeData} />
);
});
Expand Down
12 changes: 12 additions & 0 deletions src/pages/mileage/register/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import {
SEMESTER_NAME,
ITEM_NAME,
CATEGORY_NAME,
MOD_DATE,
} from 'src/assets/data/fields';
import AttachFileIcon from '@mui/icons-material/AttachFile';
import { REGISTER_NUM, STUDENT_NAME, DESCRIPTION1 } from '../../../assets/data/fields';
Expand Down Expand Up @@ -54,6 +55,7 @@ export enum MileageRegisterBoard {
'ITEM_NAME' = ITEM_NAME,
'DESCRIPTION1' = DESCRIPTION1,
'POINTS' = POINTS,
'MOD_DATE' = MOD_DATE,
'STUDENTS' = STUDENTS,
}

Expand All @@ -67,6 +69,7 @@ interface Data {
[MileageRegisterBoard.ITEM_NAME]: string;
[MileageRegisterBoard.DESCRIPTION1]: string;
[MileageRegisterBoard.POINTS]: number;
[MileageRegisterBoard.MOD_DATE]: string;
[MileageRegisterBoard.STUDENTS]: ReactNode;
}

Expand All @@ -81,6 +84,7 @@ function createData(
ITEM_NAME: string,
DESCRIPTION1: string,
POINTS: number,
MOD_DATE: string,
STUDENTS: ReactNode
): Data {
return {
Expand All @@ -89,6 +93,7 @@ function createData(
[MileageRegisterBoard.ITEM_NAME]: ITEM_NAME,
[MileageRegisterBoard.DESCRIPTION1]: DESCRIPTION1,
[MileageRegisterBoard.POINTS]: POINTS,
[MileageRegisterBoard.MOD_DATE]: MOD_DATE,
[MileageRegisterBoard.STUDENTS]: STUDENTS,
};
}
Expand Down Expand Up @@ -151,6 +156,12 @@ const headCells = [
disablePadding: false,
label: '포인트',
},
{
id: [MileageRegisterBoard.MOD_DATE],
numeric: true,
disablePadding: false,
label: '최근 수정일',
},
{
id: [MileageRegisterBoard.STUDENTS],
numeric: true,
Expand Down Expand Up @@ -266,6 +277,7 @@ export default function MileageRegister({
semesterItem.item.name,
semesterItem.item.description1,
semesterItem.points,
semesterItem.modDate,
<Box sx={{ display: 'flex' }}>
<Tooltip title="등록된 학생 리스트 확인">
<SWModal type={REGISTEREDSTUDENTS} beforeData={beforeData} />
Expand Down

0 comments on commit 726e4a7

Please sign in to comment.