-
Notifications
You must be signed in to change notification settings - Fork 74
[Android] Team04(Stitch&스타크)- Toolbar 및 Navigation Drawer 구현 #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Android] Team04(Stitch&스타크)- Toolbar 및 Navigation Drawer 구현 #13
Conversation
스프링 부트 프로젝트 생성
[Android] 스타크 - ToolBar 구현 및 DataBinding 설정
[Android] Stitch&스타크 - Navigation Drawer 내부 리사이클러 뷰 구현
|
||
fun calculateTime(date: Date): String { | ||
val curTime = System.currentTimeMillis() | ||
val regTime = date.time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
코드 작성시 내가 쓴 코드를 나중에 시간이 많이 지나 다시 봐도 이해할 수 있을 만큼 변수명을 줄여 사용하시는 걸 지양하시는게 좋습니다. 나만 알아볼 수 있는 코드가 될 수 있거든요 ㅎㅎ
val regTime = date.time
이 라인에서 regTime
의 경우 줄여서 적기보단 풀어서 코드의 의도를 명확히 해주시면 좋겠네요 !
return when { | ||
diffTime < SEC -> "${diffTime}초 전" | ||
SEC.let { diffTime /= it; diffTime } < MIN -> "${diffTime}분 전" | ||
MIN.let { diffTime /= it; diffTime } < HOUR -> "${diffTime}시간 전" | ||
HOUR.let { diffTime /= it; diffTime } < DAY -> "${diffTime}일 전" | ||
DAY.let { diffTime /= it; diffTime } < MONTH -> "${diffTime}달 전" | ||
else -> "${diffTime}년 전" | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
scope 함수를 사용해서 구현하셨네요!
하지만 이 경우에는 scope 함수 사용이 적절한지는 의문이네요
이 코드의 의미는 주어진 시간의 차가 각 시간의 단위안에 포함이 되는 경우 (1초 보다 크고 1분 보다 작은 경우 x초 전) 원하는 시간을 문자열로 리턴해주는 함수인데 그 의도를 파악하기 쉽지 않네요
scope 함수를 언제 사용하면 좋을지 좀 더 고민해보세요!
|
||
data class History( | ||
val id: Int, | ||
val action: String, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
action 의 경우에는 기획상 4가지 경우만 존재합니다
add, remove, update, move
이렇게 경우의 수가 정해진 경우에 적합한 자료구조가 존재합니다.
한번 찾아서 수정해보세요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@renovatio0424
경우의 수가 정해진 경우에 적합한 자료구조라면 Array나 List를 말씀하시는 거라고 생각합니다. 수정해보겠습니다!
한가지 질문이 있는데요, 여기서 action을 String 타입에서 Array나 List로 바꾸었을 때 얻어지는 이점은 성능상의 이점이라기 보다는 코드 가독성에서의 이점이라고 봐야 할까요?
+추가
반환 타입을 List 이런식으로 받으라는 말로 이해했는데 그럴 경우에 서버에서 "add" 이런식으로 데이터가 왔을 때 받을 수가 없어서 ActionType이라는 enum class를 추가하는 걸로 수정했습니다.
@bn-tw2020 |
스타크도 있답니다 ㅎㅎㅎㅎㅎ ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ |
@jminie-o8o |
질문해주신 내용은 현업에서 자주 겪는 문제네요 ㅎㅎ |
[Android] TimeUtils 함수 개선, enum class 추가, 줄임 변수표현 제거
피드백 해주신 부분 TimeUtils 함수 수정했습니다. enum class의 도입으로 경우의 수를 대비했습니다. 줄임말 변수들을 풀 네이밍으로 변경하였습니다. |
@bn-tw2020 @jminie-o8o |
@renovatio0424 |
SEC(60, 60, "분 전"), | ||
MIN(60, 24, "시간 전"), | ||
HOUR(24, 30, "일 전"), | ||
DAY(30, 12, "달 전"), | ||
MONTH(12, Int.MAX_VALUE, "년 전") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
하드 코딩된 문자열의 사용은 지양하는게 좋아요
예를 들어 "분 전" 이라는 문자열이 여러 화면에서 사용될때 "분 전"을 "m ago" 처럼 바꾼다고 생각해보세요 ㅎㅎ;
단순한 작업인데 꽤 유지 보수하는데 꽤 많은 시간들이 걸리겠죠?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
const val을 이용하여 변수로 작업할 수 있도록 하겠습니다.
import com.example.todolist.model.Status | ||
import com.example.todolist.model.Task | ||
|
||
class Dialog : DialogFragment() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jminie-o8o
다이얼로그를 DialogFragment
로 구현하셨던 이유가 무엇인가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@renovatio0424
DialogFragment
는 말 그대로 Fragment 이기 때문에 Fragment 의 생명주기를 활용할 수 있습니다.
Dialog를 활용할 때 Activity가 파괴되더라도 dialog가 존재하여 생기는 메모리 leak 등을 방지할 수 있는 장점이 있기 때문에 DialogFragment
로 구현했습니다.
* refactor: set event 함수 event별로 분리 * 카드 등록 구현 (#9) * refactor: set event 함수 event별로 분리 * feat: 카드 등록 버튼을 누르면 새 카드 등록하는 기능 추가 * feat: 새 카드를 등록하면 카드 등록 박스 사라지도록 함 * feat: scheduleModel 추가 * feat: card data에 id 키 추가 * 일정 카드 삭제 (#12) * feat: schedule card delete btn에 mouseenter mouseleave 시 카드색 변경 * feat: schedule delete confirm UI 구현 및 delete btn 클릭 시 delete confirm 창 render * fix: register card 추가 시 입력된 enter 반영하도록 수정 * feat: delet confirm 창 취소 버튼 클릭 시 창 제거 * feat: delete confirm 창 삭제 버튼 클릭 시 card 삭제 및 model data 삭제 removeCard method 전달을 위해 scheduleCard class 매개변수 변경, removeCard method 는 sceduleColumn -> scheduleCard -> schduleDeleteConfirm 으로 전달, model data는 schedule card data-cardId 를 사용해 index 를 찾아 삭제 * fix: schedule column id 중복 문제 수정 id 부여 방식을 Date.getTime -> uuid 를 활용한 방식 * 일정 카드 수정 (#13) * feat: 등록된 카드를 더블 클릭하면 카드 수정 블록으로 변경 * chore: 더블 클릭 후 일정 카드가 카드 수정 블록으로 변경될 때 기존의 내용(title, body)를 갖고 있게 수정 * feat: 취소 버튼을 누르면 카드 수정 블록이 사라지고 원래 카드가 보이게 함 * refactor: 카드 수정 부분 ScheduleCard 클래스에서 ScheduleEditCard 클래스로 이동 * feat: 카드 수정 버튼 클릭 이벤트 구현 - 카드 제목의 글자수가 0이되면 수정 버튼 비활성화 - 수정 버튼이 비활성화되면 수정 버튼 클릭 할 수 없음 * feat: 등록된 카드를 더블 클릭하면 카드 수정 블록으로 변경 * chore: 더블 클릭 후 일정 카드가 카드 수정 블록으로 변경될 때 기존의 내용(title, body)를 갖고 있게 수정 * feat: 취소 버튼을 누르면 카드 수정 블록이 사라지고 원래 카드가 보이게 함 * refactor: 카드 수정 부분 ScheduleCard 클래스에서 ScheduleEditCard 클래스로 이동 * feat: 카드 수정 버튼 클릭 이벤트 구현 - 카드 제목의 글자수가 0이되면 수정 버튼 비활성화 - 수정 버튼이 비활성화되면 수정 버튼 클릭 할 수 없음 * refactor: 카드 삭제 관련 코드가 반영된 develop을 가져온 후 일부분 수정 * feat: 카드 수정 시 model에도 반영하도록 함 * chore: LIMIT utils.js로 옮김, template() 으로 할당되는 변수명 변경 * chore: eslint 설치 Co-authored-by: bangdler <[email protected]> Co-authored-by: bangdler <[email protected]>
- Board name을 key로 하는 List를 DTO로 반환하도록 변경
- User : 사용자 추가 - Card - 빌더 패턴 추가 및 필요없는 컬럼을 제거 - 네이밍 컨벤션에 맞게 컬럼명 수정
- Create : save - Read : findAll, findCard - Update : patch - Delete : delete - KeyHolderGenerator : Database에 저장된 PK를 가져오기 위해 구현
- createdTime 기준, 오름차순으로 조회되도록 구현
[Owl][#12] Component class 구현
* feat : DB 스키마 및 임시데이터 작성 closes #8 * feat : 카드 삭제 기능 구현 closes #7 * feat : 카드 저장 로직 구현 close #6 * chore: .idea 관련 삭제 * refeat : 클래스명 수정 및 롬북 의존성 사용 - Status -> CardStatus로 변경 - addCardDto -> CardAddDto로 변경 * refeat : sql 키워드 대문자로 작성 * refeat : 매핑 변경, 로직 성공여부 반환 - CardRepositroy에서 Optional로 반환 하도록 변경하려고 했으나 int로 반환 하도록 했습니다. closes #10 * feat: 카드 리스트 조회 기능 구현 Closes #12 * feat : 카드 업데이트 및 이동시 로직 작성 - 변경사항 CardController에서 업데이트시 json데이터를 받기위해 @RequestBody사용 closes #13 * refactor : 테이블 인덱스 컬럼 추가 및 쿼리부분 수정 - enum이 쿼리 부분에 적용이 안되는 부분 해결 closes #14 Co-authored-by: leekm0310 <[email protected]>
* 카드 등록 - 새로운 카드 등록 기능 구현 (#29) * feat: todolist column과 task를 스크립트로 렌더링 list view와 task view를 클래스로 생성하고 db.json의 todolist를 하나의 배열로 묶음 * feat: column add button 칼럼의 추가버튼으로 등록카드 생성,삭제 기능 구현 * feat: task cancle button 등록카드의 취소버튼을 누르면 등록카드를 삭제하는 기능 구현 * refactor: 메인 렌더링 영역을 list에서 main으로 수정 entry point에서 mainInit의 parent를 list에서 main으로 리팩토링 * refactor: input event를 메인에서 task 모듈로 분리 입력창을 autoResize하는 이벤트를 task 모듈로 분리함 * rename: index.js * 카드 등록 - 새로운 카드 입력창 생성 기능 구현(1) (#32) * feat: 등록버튼 활성화 기능 구현 등록카드에 내용을 입력하면 등록버튼을 활성화, 입력할 수 있는 최대 글자수는 500자 * refactor: registration activation을 todoListStore에서 관리 activiation관리를 task에서 todoListStore로 변경 * 카드 이동 - 드래그앤드랍으로 카드 이동 구현(1) (#33) * design: task cursor 변경 * task -> grab * delete button -> pointer * feat: mousedown 시 copyTask 생성 기능 구현 * Task 에 mousedown 이벤트 발생 시 드래그 할 복사본 Task 요소를 생성하는 기능 구현 * feat: index에서 todoList render 후에 dragEvent 등록 기능 구현 * 카드 등록 기능 구현 된 로직에 dragEvent 설정 로직 병합 * 그 외 자잘한 수정 포함 * feat: task 요소 좌표 설정 기능 구현 * 클릭 이벤트가 발생한 좌표로 task 요소의 좌표를 설정하는 로직 구현 * feat: drag 기능 구현 * body에 mousemove 이벤트 등록해서 이벤트가 발생할때마다 해당 이벤트의 좌표로 task 요소를 이동되도록 구현 * feat: mouseup 이벤트 발생 시 드랍 & 복사 task 요소 삭제 기능 구현 * 복사한 task 요소에 mouseup 이벤트 설정 * Design: column task list height, hidden 클래스 추가 * Design: 잔상 처리용 클래스 blur 추가 * feat: drag and drop 기능 구현 * 선택 된 origin task item , 드래그 되고 있는 task item, 이동 된 task item 3개의 요소를 활용 * remove: todolistStore.js * rename: todolistStore -> todoListStore * 카드 이동 - 드래그앤드랍으로 카드 이동 구현(2) (#34) * design: task cursor 변경 * task -> grab * delete button -> pointer * feat: mousedown 시 copyTask 생성 기능 구현 * Task 에 mousedown 이벤트 발생 시 드래그 할 복사본 Task 요소를 생성하는 기능 구현 * feat: index에서 todoList render 후에 dragEvent 등록 기능 구현 * 카드 등록 기능 구현 된 로직에 dragEvent 설정 로직 병합 * 그 외 자잘한 수정 포함 * feat: task 요소 좌표 설정 기능 구현 * 클릭 이벤트가 발생한 좌표로 task 요소의 좌표를 설정하는 로직 구현 * feat: drag 기능 구현 * body에 mousemove 이벤트 등록해서 이벤트가 발생할때마다 해당 이벤트의 좌표로 task 요소를 이동되도록 구현 * feat: mouseup 이벤트 발생 시 드랍 & 복사 task 요소 삭제 기능 구현 * 복사한 task 요소에 mouseup 이벤트 설정 * Design: column task list height, hidden 클래스 추가 * Design: 잔상 처리용 클래스 blur 추가 * feat: drag and drop 기능 구현 * 선택 된 origin task item , 드래그 되고 있는 task item, 이동 된 task item 3개의 요소를 활용 * remove: todolistStore.js * rename: todolistStore -> todoListStore * feat: set drag and drop event * 카드 등록 - 새로운 카드 입력창 생성 기능 구현(2) (#35) * feat: 등록버튼 활성화 기능 구현 등록카드에 내용을 입력하면 등록버튼을 활성화, 입력할 수 있는 최대 글자수는 500자 * refactor: registration activation을 todoListStore에서 관리 activiation관리를 task에서 todoListStore로 변경 * 카드 등록 - 새로운 카드 입력창 생성 기능 구현(1) (#30) * [team-19] Todo-list 1주차 #1 코드리뷰 요청 (#32) * Update issue templates * docs: Update Readme Readme 1차 업데이트 * docs: Update Readme 기술 스택 추가 * Design: reset scss 적용 * HTML, CSS 작업 - Header, Sidebar (#11) * design: header HTML markup Related to: #8 * design: header css style Related to: #8 * design: sidebar HTML markup Related to: #8 * design: sidebar css style Related to: #8 * 메뉴 - 우측 히든 레이어 생성, 애니메이션 구현 (#12) * feat: sidebar 메뉴 버튼 사이드바 메뉴 버튼 클릭시 사이드바 숨김,보임 기능 구현 Related to: #10 * design: sidebar 애니메이션 왼쪽방향으로 나타나고 오른쪽 방향으로 숨겨지는 애니메이션 구현 Related to: #10 * 메뉴 - 우측 히든 레이어 생성, 애니메이션 구현 (#13) * feat: sidebar 메뉴 버튼 사이드바 메뉴 버튼 클릭시 사이드바 숨김,보임 기능 구현 Related to: #10 * design: sidebar 애니메이션 왼쪽방향으로 나타나고 오른쪽 방향으로 숨겨지는 애니메이션 구현 Related to: #10 * feat: action분리 action에 따라 sidebar 리스트의 comment를 다르게 출력함 Related to: #10 * feat: timestamp 기능 구현 현재 시간을 기준으로 투두리스트 작성 및 변경 시간을 보여주는 timestamp 구현 Related to: #10 * feat: 을/를, 으로/로 구분 단어의 마지막 글자 종성에 따라 모음을 다르게 렌더하는 기능 구현 Related to: #10 * HTML, CSS 작업 - Card List (#14) * design: main column list html markup Related to : #9 * move: svg file move to public/svg * 기존 public 에 있던 svg 파일을 svg 폴더 내로 이동 * icon-add.svg 파일 추가 Related to : #9 * Design: font mixin 함수 추가 Related to : #9 * design: column list scss style 작성 Related to: #9 * design: column task list scss style 작성 Related to: #9 * design: task commnet padding 을 margin 으로 변경 Related to: #9 * design: sccs convert to css Related to: #9 * fix: icon svg 파일 경로 수정 Related to: #9 * chore: 빌드환경구성 (#16) babel, webpack 적용 Related to: #15 * 메뉴 - 사용자 액션 리스트 구현 (#19) * feat: sidebar 액션 리스트 히든레이어 영역을 애니메이션 효과와 함께 숨김,보임 기능 구현 Related to: #17 * design: sidebar 액션리스트 애니메이션 Related to: #17 * move: package.json, gitignore * feat: sidebar 스크롤 기능 구현 액션리스트 기록이 많아지면 스크롤을 이용하여 다음 기록을 확인할 수 있음 Related to: #17 * design: 액션리스트 스크롤 구현 Related to: #17 * feature: json server 생성 및 db.json 추가 (#21) * json server 설치하고 db.json 에 필요한 데이터들을 추가함 Related to: #18 * HTML, CSS 작업 - Card (#22) * feat: todo-list 입력창 높이 자동 조절 todo-list를 입력하거나 지울 때 입력창의 높이를 자동으로 조절하는 기능 구현 Related to: #20 * design: column button hover color 칼럼 타이틀의 +,x 버튼을 hover할 때 버튼 색상 변경 Related to: #20 * design: 수정카드 디자인 구현 Related to: #20 * 리팩토링 - 1주차 리뷰 반영 (#24) * refactor: getFinalConsonant 매직넘버 제거 Related to: #23 * refactor: calcTimeForToday 함수 리팩토링 * 매직 넘버 제거 * DayDifference 식 수정 * 몇 년전 조건 추가 Related to: #23 * refactor: writeTime -> timeStamp Related to: #23 * refactor: identifyCategory 함수 리팩토링 * 구조 분해 할당 적용 Related to: #23 * refactor: svg 파일 경로 변수로 분리 * svg 파일 경로를 constants의 imagePath에 변수로 생성해서 관리하도록 변경 Related to: #23 * feat: fetchData 함수 구현 Related to: #23 * chore: bundle.js Related to: #23 * refactor: sidebar model 리팩토링 Related to: #23 * refactor: activationStore import 방식 변경 Related to: #23 Co-authored-by: Hemdi <[email protected]> Co-authored-by: Hemudi <[email protected]> * 카드 등록 - 새로운 카드 등록 기능 구현 (#29) * feat: todolist column과 task를 스크립트로 렌더링 list view와 task view를 클래스로 생성하고 db.json의 todolist를 하나의 배열로 묶음 * feat: column add button 칼럼의 추가버튼으로 등록카드 생성,삭제 기능 구현 * feat: task cancle button 등록카드의 취소버튼을 누르면 등록카드를 삭제하는 기능 구현 * refactor: 메인 렌더링 영역을 list에서 main으로 수정 entry point에서 mainInit의 parent를 list에서 main으로 리팩토링 * refactor: input event를 메인에서 task 모듈로 분리 입력창을 autoResize하는 이벤트를 task 모듈로 분리함 * rename: index.js * feat: 등록버튼 활성화 기능 구현 등록카드에 내용을 입력하면 등록버튼을 활성화, 입력할 수 있는 최대 글자수는 500자 * refactor: registration activation을 todoListStore에서 관리 activiation관리를 task에서 todoListStore로 변경 Co-authored-by: Hemdi <[email protected]> Co-authored-by: Hemudi <[email protected]> * Revert "카드 등록 - 새로운 카드 입력창 생성 기능 구현(1) (#30)" (#31) This reverts commit 7155f85. * merge develop2 * feature: +버튼으로 등록 카드 생성 등록 카드가 이미 생성된 상황에서 다른 탭을 누르면, 기존의 카드가 사라지고 해당 탭에 새로운 카드를 생성 * feature: task에 이벤트 등록 task 인스턴스를 생성할때 이벤트 등록 Co-authored-by: Hemdi <[email protected]> Co-authored-by: Hemudi <[email protected]> Co-authored-by: mogooee <[email protected]>
* refactor: set event 함수 event별로 분리 * 카드 등록 구현 (#9) * refactor: set event 함수 event별로 분리 * feat: 카드 등록 버튼을 누르면 새 카드 등록하는 기능 추가 * feat: 새 카드를 등록하면 카드 등록 박스 사라지도록 함 * feat: scheduleModel 추가 * feat: card data에 id 키 추가 * 일정 카드 삭제 (#12) * feat: schedule card delete btn에 mouseenter mouseleave 시 카드색 변경 * feat: schedule delete confirm UI 구현 및 delete btn 클릭 시 delete confirm 창 render * fix: register card 추가 시 입력된 enter 반영하도록 수정 * feat: delet confirm 창 취소 버튼 클릭 시 창 제거 * feat: delete confirm 창 삭제 버튼 클릭 시 card 삭제 및 model data 삭제 removeCard method 전달을 위해 scheduleCard class 매개변수 변경, removeCard method 는 sceduleColumn -> scheduleCard -> schduleDeleteConfirm 으로 전달, model data는 schedule card data-cardId 를 사용해 index 를 찾아 삭제 * fix: schedule column id 중복 문제 수정 id 부여 방식을 Date.getTime -> uuid 를 활용한 방식 * 일정 카드 수정 (#13) * feat: 등록된 카드를 더블 클릭하면 카드 수정 블록으로 변경 * chore: 더블 클릭 후 일정 카드가 카드 수정 블록으로 변경될 때 기존의 내용(title, body)를 갖고 있게 수정 * feat: 취소 버튼을 누르면 카드 수정 블록이 사라지고 원래 카드가 보이게 함 * refactor: 카드 수정 부분 ScheduleCard 클래스에서 ScheduleEditCard 클래스로 이동 * feat: 카드 수정 버튼 클릭 이벤트 구현 - 카드 제목의 글자수가 0이되면 수정 버튼 비활성화 - 수정 버튼이 비활성화되면 수정 버튼 클릭 할 수 없음 * feat: 등록된 카드를 더블 클릭하면 카드 수정 블록으로 변경 * chore: 더블 클릭 후 일정 카드가 카드 수정 블록으로 변경될 때 기존의 내용(title, body)를 갖고 있게 수정 * feat: 취소 버튼을 누르면 카드 수정 블록이 사라지고 원래 카드가 보이게 함 * refactor: 카드 수정 부분 ScheduleCard 클래스에서 ScheduleEditCard 클래스로 이동 * feat: 카드 수정 버튼 클릭 이벤트 구현 - 카드 제목의 글자수가 0이되면 수정 버튼 비활성화 - 수정 버튼이 비활성화되면 수정 버튼 클릭 할 수 없음 * refactor: 카드 삭제 관련 코드가 반영된 develop을 가져온 후 일부분 수정 * feat: 카드 수정 시 model에도 반영하도록 함 * chore: LIMIT utils.js로 옮김, template() 으로 할당되는 변수명 변경 * chore: eslint 설치 * Edit 기능 리팩토링 (#15) * refactor: 리뷰 반영 * refactor: 카드 당 EditCard 객체 하나씩만 생성하도록 함 * delete confirm 및 register card 리팩토링 (#16) * refactor: schedule delete confirm class 및 관련 schedule card, schedule model 메서드 수정 마우스 엔터, 리브 시 active red 로직 통일, schedule card 에서 삭제 버튼 클릭 마다 delete confirm class 생성 -> 생성된 class 모듈을 가지고 init 메서드만 실행 * refactor: schedule delete confirm 코드 포맷 변경, class -> 함수 * refactor: register card class 생성 시점 변경 add btn click 시마다 생성 -> schedul column 생성 시 1회 생성하여 메서드만 사용 * chore: merge 시 잘못 반영된 부분 수정 * feat: 카드 이동을 위해 카드를 누르면 잔상이 생기고 이동하는 카드 생성 * feat: 카드 드래그 후 드랍 시 카드가 더이상 따라오지 않음 * refactor: mouseDownEventHandler 함수를 잘게 쪼갬 * feat: drag 후 mouseenter 시 해당 카드 기준으로 위치가 위인지 아래인지 확인 함수 구현 * refactor: schedule card drag 파일 생성, 관련 부분 집어넣음 * feat: 드래그 카드를 위로 이동하면 드래그 카드가 올라간 카드 위로 잔상이 옮겨짐 * fix: 잔상카드가 정확한 위치로 이동한다 * refactor: mouseMoveOnDraggingEventHandler 내부 로직을 작은 함수로 쪼갬 * feat: 드래그 카드를 드롭(마우스업)하면 잔상카드에서 일정 카드로 바뀜 * feat: 드래그 카드를 드롭하면 마우스를 따라다니던 드래그 카드 사라짐 * refactor: scheduleModel 변경 - ScheduleColumn에 각각 있던 scheduleModel을 하나의 scheduleModel로 바꿈 - schedulModel 구조 변화 : columnId 키 추가 * fix: 카드 삭제를 위한 x 버튼 클릭 이벤트가 발생하지 않는 문제 수정(마우스 다운과 중복 이벤트) * feat: 드래그 드랍 시 모델에 이동하는 데이터 반영 mousedown 시 기존 컬럼의 카드 데이터 삭제, mouseup 시 잔상 카드가 있는 컬럼의 카드 위치에 카드 데이터 추가 * fix: 마우스 다운 이벤트 등록 후 더블 클릭 이벤트 안되던 것 다시 동작하게 수정 - 더블 클릭 이벤트도 main에 걸어줌 - EditCard를 객체로 만들지 않고 함수로 변경 * refactor: 임시로 만든 EditCard2를 EditCard 파일로 변경, ScheduleCard에서 EditCard 생성하는 부분 삭제 * 카드 이동 구현(드래그 앤 드랍) (#19) * feat: 카드 이동을 위해 카드를 누르면 잔상이 생기고 이동하는 카드 생성 * feat: 카드 드래그 후 드랍 시 카드가 더이상 따라오지 않음 * refactor: mouseDownEventHandler 함수를 잘게 쪼갬 * feat: drag 후 mouseenter 시 해당 카드 기준으로 위치가 위인지 아래인지 확인 함수 구현 * refactor: schedule card drag 파일 생성, 관련 부분 집어넣음 * feat: 드래그 카드를 위로 이동하면 드래그 카드가 올라간 카드 위로 잔상이 옮겨짐 * fix: 잔상카드가 정확한 위치로 이동한다 * refactor: mouseMoveOnDraggingEventHandler 내부 로직을 작은 함수로 쪼갬 * feat: 드래그 카드를 드롭(마우스업)하면 잔상카드에서 일정 카드로 바뀜 * feat: 드래그 카드를 드롭하면 마우스를 따라다니던 드래그 카드 사라짐 * refactor: scheduleModel 변경 - ScheduleColumn에 각각 있던 scheduleModel을 하나의 scheduleModel로 바꿈 - schedulModel 구조 변화 : columnId 키 추가 * fix: 카드 삭제를 위한 x 버튼 클릭 이벤트가 발생하지 않는 문제 수정(마우스 다운과 중복 이벤트) * feat: 드래그 드랍 시 모델에 이동하는 데이터 반영 - mousedown 시 기존 컬럼의 카드 데이터 삭제, - mouseup 시 잔상 카드가 있는 컬럼의 카드 위치에 카드 데이터 추가 * fix: 마우스 다운 이벤트 등록 후 더블 클릭 이벤트 안되던 것 다시 동작하게 수정 - 더블 클릭 이벤트도 main에 걸어줌 - EditCard를 객체로 만들지 않고 함수로 변경 * refactor: 임시로 만든 EditCard2를 EditCard 파일로 변경, ScheduleCard에서 EditCard 생성하는 부분 삭제 * refactor: 다시 ScheduleCard에서 EditCard 생성하도록 변경 * 카드 스타일 관련 수정 (#21) * chore: 마우스 드래그 스타일 막기 * chore: 긴 글자 입력 시 카드 등록 후에도 입력에 따라 카드 길어지게 변경 * chore: 내용에 따라 달라진 카드 높이를 잔상 카드, 드래그 카드에도 적용 * feat: 카드 추가,이동,삭제 시 칼럼의 카드 숫자 변경 * feat: 바로 위 카드를 거치지 않아도 맨 마지막에 카드 이동할 수 있게 변경 Co-authored-by: bangdler <[email protected]> Co-authored-by: bangdler <[email protected]>
EditCardView의 "등록"버튼을 누르면 titleTextField와 bodyTextView에 입력된 문자열들을 포함하여 노티를 보내도록 설정 titleTextField와 bodyTextView의 상태에 따라 "등록" 버튼의 활성화 여부가 결정되는 기능 구현
* nothing * Design: "PR 리뷰를 바탕으로 마크업 수정" - svg파일을 html 내부에 인라인으로 선언하지 않고 아이콘 폰트로 만들어서 변경함 - form 태그에 method, action 제거 - 버튼과 관련된 셀렉터의 하위 요소들을 해당 셀렉터의 내부로 이동 - header 관련 셀렉터의 중첩 제거 - reset.scss 파일을 _reset.scss로 이름 변경 Related to: #4 * Fix: "오타 수정" * Design: "css 중복되는 코드 삭제" merge과정에서 중복으로 생성된 css코드 삭제함 * Remove: "불필요한 test파일 삭제" 서버 test파일 삭제함 * Chore: "모듈 재설치" dependencies에 있는 웹팩 관련 모듈 dev로 이동 * Chore: "webpack 빌드 완료" webpack 사용해서 js, css img 등 관련 파일 번들링함. Resolves: #3 * Chore&Feat: "webpack빌드 수정 및 컬럼 렌더링 일부 구현" 함수형으로 컬럼 초기상태 렌더링 구현함. webpack으로 scss, js 파일 번들링함. webpack dev-server로 빌드환경 구성함. json-server에 데이터 요청해서 받아온 데이터로 컬럼 렌더링함. Related to: #3 * Feat: "컬럼에 카드 추가하는 함수 구현" [+]버튼 클릭 시 각 칼럼에 카드가 추가되고 다시 한 번 클릭시 카드가 삭제되는 함수 구현 Related to: #8 * Comment: "불필요한 주석 제거" * Feat: "카드 추가시 취소 버튼 & 값 입력 시 등록 버튼 활성화 구현" input값이 있을 시 등록 버튼 활성화 구현함. [+]버튼 클릭 후 취소 버튼 클릭 시 카드 템플릿 제거. Related to: #8 * Design: "CSS 추가 수정" - .item-content의 태그를 input에서 textarea 태그로 변경했기 때문에 관련 스타일을 수정함 - 각 컬럼을 고정된 width로 수정했다. Related to: #4 * Comment: "index.html의 주석 제거" 해당 주석은 자바스크립트에서 렌더링하기 때문에 삭제함 * Comment: "불필요한 주석 제거" * Fix: "리뷰 내용 반영해서 수정" util함수 추가 및 적용함. forEach문을 map으로 변경함. 삼항연산자 조건부분을 변경해서 가독성 올림. Related to: #8 * Refact/Feat: "함수형 구조를 class 혼합하는 구조로 변경" 기능별로 클래스를 만들고 순수함수를 참조해서 사용하는 형태로 변경함. Related to: #8 * Feat: "삭제버튼 구현" 삭제버튼에 마우스오버 시 빨간색으로 변하고 팝업창 구현함. 팝업창에서 취소 삭제에 따라 동작 구현함. Related to: #9 * Feat: "마우스오버 디바운스 적용" Related to: #9 * Feat: "드래그 이벤트 구현" 카드를 드래그하면 드래그되고 스타일이 적용되는 이벤트가 발생함. Related to: #10 * Feat: "드래그앤드랍 구현" 드래그앤드랍 컬럼간 이동 구현함. Related to: #10 * Comment: "드래그앤드랍 리팩토링 코드 주석으로 추가" Related to: #10 * Rename: "파일 구조 변경" todo와 관련된 파일을 todo폴더에 정리해줌. * Feat: "카드 수정 기능 구현" 카드 더블클릭 시 수정가능하고 취소기능 구현함. * Feat: "수정기능 구현 완료" 수정버튼 누르면 템플릿이 교체되고 컬럼에 추가됨. Related to: #13 * Feat: "메뉴바 애니메이션(슬라이드) 구현" 메뉴바 버튼 클릭시 메뉴바가 슬라이드 형식으로 나옴. * Fix: "카드추가와 수정을 동시에 진행 시 발생하는 버그 수정" 카드 수정하는 과정중에 카드추가 버튼을 누르면 수정되는 카드가 삭제되는 버그 수정함. * Remove: "불필요한 주석 제거" Co-authored-by: jm <[email protected]>
* 카드 등록 - 새로운 카드 입력창 생성 기능 구현 (#36) * feature: 등록버튼을 누르면 새로운 카드, 카드 개수 렌더링 등록카드의 등록버튼으로 리스트에 새로운 카드를 추가하고 리스트의 카드 개수를 렌더링한다. * rename: todolistStore.js->todoListStore.js * feat: 새로운 카드 데이터 post 요청 등록버튼을 누르면 새로운 카드의 데이터를 post 요청하여 업데이트 * 카드 수정 - 내용 수정 기능 구현 (#37) * feat: 더블 클릭시 수정카드 전환, 수정버튼 활성화 롱클릭과 더블 클릭을 구분하고 수정카드에 기존과 다른 데이터가 입력되면 수정버튼을 활성화 * feat: 등록카드, 수정카드 데이터 fetch 요청 put 메소드로 변경된 카드 데이터를 서버에 보냄 * refactor: activationStore -> todoListStore 모델의 state를 todoListStore모듈에서 관리함 * 카드 삭제 - X 버튼 마우스 오버 이벤트 & 삭제 알럿창 구현 (#41) * design: delete alert 창 구현 * feat: task x delete button mouseover 이벤트 구현 * mouseover 시 task item 색 변화 * mouseout 시 원래대로 돌아옴 * feat: task title을 이용하여 task 를 삭제하는 함수 구현 * feat: 삭제 Alert 창 생성 기능 구현 * design: delete-button hover 이벤트 클래스로 분리 * feat: Alert 창 결과에 따른 Task 스타일 변화 기능 구현 * remove: todolistStore.js * rename: todoListStore.js * 카드 이동 - 리스트 중간에 카드 추가 기능 구현(1) (#42) * 카드 등록 - 새로운 카드 입력창 생성 기능 구현(1) (#30) * [team-19] Todo-list 1주차 #1 코드리뷰 요청 (#32) * Update issue templates * docs: Update Readme Readme 1차 업데이트 * docs: Update Readme 기술 스택 추가 * Design: reset scss 적용 * HTML, CSS 작업 - Header, Sidebar (#11) * design: header HTML markup Related to: #8 * design: header css style Related to: #8 * design: sidebar HTML markup Related to: #8 * design: sidebar css style Related to: #8 * 메뉴 - 우측 히든 레이어 생성, 애니메이션 구현 (#12) * feat: sidebar 메뉴 버튼 사이드바 메뉴 버튼 클릭시 사이드바 숨김,보임 기능 구현 Related to: #10 * design: sidebar 애니메이션 왼쪽방향으로 나타나고 오른쪽 방향으로 숨겨지는 애니메이션 구현 Related to: #10 * 메뉴 - 우측 히든 레이어 생성, 애니메이션 구현 (#13) * feat: sidebar 메뉴 버튼 사이드바 메뉴 버튼 클릭시 사이드바 숨김,보임 기능 구현 Related to: #10 * design: sidebar 애니메이션 왼쪽방향으로 나타나고 오른쪽 방향으로 숨겨지는 애니메이션 구현 Related to: #10 * feat: action분리 action에 따라 sidebar 리스트의 comment를 다르게 출력함 Related to: #10 * feat: timestamp 기능 구현 현재 시간을 기준으로 투두리스트 작성 및 변경 시간을 보여주는 timestamp 구현 Related to: #10 * feat: 을/를, 으로/로 구분 단어의 마지막 글자 종성에 따라 모음을 다르게 렌더하는 기능 구현 Related to: #10 * HTML, CSS 작업 - Card List (#14) * design: main column list html markup Related to : #9 * move: svg file move to public/svg * 기존 public 에 있던 svg 파일을 svg 폴더 내로 이동 * icon-add.svg 파일 추가 Related to : #9 * Design: font mixin 함수 추가 Related to : #9 * design: column list scss style 작성 Related to: #9 * design: column task list scss style 작성 Related to: #9 * design: task commnet padding 을 margin 으로 변경 Related to: #9 * design: sccs convert to css Related to: #9 * fix: icon svg 파일 경로 수정 Related to: #9 * chore: 빌드환경구성 (#16) babel, webpack 적용 Related to: #15 * 메뉴 - 사용자 액션 리스트 구현 (#19) * feat: sidebar 액션 리스트 히든레이어 영역을 애니메이션 효과와 함께 숨김,보임 기능 구현 Related to: #17 * design: sidebar 액션리스트 애니메이션 Related to: #17 * move: package.json, gitignore * feat: sidebar 스크롤 기능 구현 액션리스트 기록이 많아지면 스크롤을 이용하여 다음 기록을 확인할 수 있음 Related to: #17 * design: 액션리스트 스크롤 구현 Related to: #17 * feature: json server 생성 및 db.json 추가 (#21) * json server 설치하고 db.json 에 필요한 데이터들을 추가함 Related to: #18 * HTML, CSS 작업 - Card (#22) * feat: todo-list 입력창 높이 자동 조절 todo-list를 입력하거나 지울 때 입력창의 높이를 자동으로 조절하는 기능 구현 Related to: #20 * design: column button hover color 칼럼 타이틀의 +,x 버튼을 hover할 때 버튼 색상 변경 Related to: #20 * design: 수정카드 디자인 구현 Related to: #20 * 리팩토링 - 1주차 리뷰 반영 (#24) * refactor: getFinalConsonant 매직넘버 제거 Related to: #23 * refactor: calcTimeForToday 함수 리팩토링 * 매직 넘버 제거 * DayDifference 식 수정 * 몇 년전 조건 추가 Related to: #23 * refactor: writeTime -> timeStamp Related to: #23 * refactor: identifyCategory 함수 리팩토링 * 구조 분해 할당 적용 Related to: #23 * refactor: svg 파일 경로 변수로 분리 * svg 파일 경로를 constants의 imagePath에 변수로 생성해서 관리하도록 변경 Related to: #23 * feat: fetchData 함수 구현 Related to: #23 * chore: bundle.js Related to: #23 * refactor: sidebar model 리팩토링 Related to: #23 * refactor: activationStore import 방식 변경 Related to: #23 Co-authored-by: Hemdi <[email protected]> Co-authored-by: Hemudi <[email protected]> * 카드 등록 - 새로운 카드 등록 기능 구현 (#29) * feat: todolist column과 task를 스크립트로 렌더링 list view와 task view를 클래스로 생성하고 db.json의 todolist를 하나의 배열로 묶음 * feat: column add button 칼럼의 추가버튼으로 등록카드 생성,삭제 기능 구현 * feat: task cancle button 등록카드의 취소버튼을 누르면 등록카드를 삭제하는 기능 구현 * refactor: 메인 렌더링 영역을 list에서 main으로 수정 entry point에서 mainInit의 parent를 list에서 main으로 리팩토링 * refactor: input event를 메인에서 task 모듈로 분리 입력창을 autoResize하는 이벤트를 task 모듈로 분리함 * rename: index.js * feat: 등록버튼 활성화 기능 구현 등록카드에 내용을 입력하면 등록버튼을 활성화, 입력할 수 있는 최대 글자수는 500자 * refactor: registration activation을 todoListStore에서 관리 activiation관리를 task에서 todoListStore로 변경 Co-authored-by: Hemdi <[email protected]> Co-authored-by: Hemudi <[email protected]> * Revert "카드 등록 - 새로운 카드 입력창 생성 기능 구현(1) (#30)" (#31) This reverts commit 7155f85. * feat: 칼럼 사이 카드 이동 마우스 포인터를 기준으로 드래그중인 카드 아래 새로운 카드 존재 여부에 따라 해당 카드 앞 또는 가장 아래에 드래그 카드 추가 * rename: deleteMenu.js->alertDelete.js * feat: 드래그앤 드랍 적용 task 인스턴스에 드래그앤드랍 기능 적용 * refactor: export 방식 변경 Co-authored-by: Hemdi <[email protected]> Co-authored-by: Hemudi <[email protected]> * feat: task id 추가 + id를 이용한 삭제 기능 구현 (#44) * 기존 task title 을 이용해 삭제했던 기능을 id 를 이용해 삭제하는 방식으로 변경 Co-authored-by: Hemdi <[email protected]> Co-authored-by: Hemudi <[email protected]>
* Refact: "pr리뷰 반영해서 드래그앤드랍 제외 기능 수정" - 모든 클래스의 메소드 표현 방식 통일 - main.js: 선언부와 실행부를 나누어서 가독성을 높힘 - AddCard, UpdateCard 클래스의 constructor 내부의 블록스코프 제거 - templete.js: export 방식을 함수 선언해서 하도록 수정 - templete.js: createUpdateCardTemplate 함수의 인자 수정 - addCard.js: addCardEventHandler 내부에서 사용하는 메서드 네이밍 수정 - addCard.js: AddCard와 cancelAddCard의 중복 제거 - addCard.js: inputFocusHandler와 renderPostedCard 내부의 변수 thisItem를 cardItem으로 수정 * Refact: "드래그앤드랍 코드 리팩토링" 조건문의 조건부분 변수로 지정. destructuring을 이용해서 코드 간소화. * Feat: "카드 추가/삭제 서버와 연동" 카드 추가/삭제 시 서버에서도 동일하게 동작하게 함. Related to: #8, #9 * Feat: "카드 수정 시 서버에 내용 반영" Related to: #13 * Feat: "웹페이지 진입 시 카드 렌더해주는 기능 구현" 서버에 있는 데이터로 카드를 렌더해줌. 새로고침에도 사라지지 않음. * Feat: "카드 추가 시 서버에서 카드 순서 저장" 카드를 추가하면 서버에서 컬럼별 카드 순서를 기억하는 데이터가 조작됨. * Feat: "드래그앤드랍 동작 시 서버에서 데이터 변경" 카드의 위치가 변하면 서버에서 카드 순서를 다시 설정함. * Refact: 유틸함수 url 추가 및 적용 - fetch 과정에서 사용하는 url 경로를 함수로 분리해서 인자를 받도록 수정함 * Refact: initTodos의 메서드 리팩토링 - renderCards 메서드와 createCards 메서드를 분리함 - getMaxId 메서드의 가독성을 위해 삼항연산자로 수정함 * Fix: 유틸함수 url의 함수명을 getURL로 변경 * Refact: 유틸함수 requestToServer, getSequenceData 추가 및 적용 - 리퀘스트 요청 POST, DELETE, PATCH와 관련된 함수를 만들어 중복된 코드 제거 * Fix: 메서드 내부의 중복 제거 columnName을 인자로 받도록 수정 * Fix: default 상태의 카드의 커서 스타일 변경 drag시 커서의 모양이 변하도록 수정 Co-authored-by: jm <[email protected]>
* refactor: set event 함수 event별로 분리 * 카드 등록 구현 (#9) * refactor: set event 함수 event별로 분리 * feat: 카드 등록 버튼을 누르면 새 카드 등록하는 기능 추가 * feat: 새 카드를 등록하면 카드 등록 박스 사라지도록 함 * feat: scheduleModel 추가 * feat: card data에 id 키 추가 * 일정 카드 삭제 (#12) * feat: schedule card delete btn에 mouseenter mouseleave 시 카드색 변경 * feat: schedule delete confirm UI 구현 및 delete btn 클릭 시 delete confirm 창 render * fix: register card 추가 시 입력된 enter 반영하도록 수정 * feat: delet confirm 창 취소 버튼 클릭 시 창 제거 * feat: delete confirm 창 삭제 버튼 클릭 시 card 삭제 및 model data 삭제 removeCard method 전달을 위해 scheduleCard class 매개변수 변경, removeCard method 는 sceduleColumn -> scheduleCard -> schduleDeleteConfirm 으로 전달, model data는 schedule card data-cardId 를 사용해 index 를 찾아 삭제 * fix: schedule column id 중복 문제 수정 id 부여 방식을 Date.getTime -> uuid 를 활용한 방식 * 일정 카드 수정 (#13) * feat: 등록된 카드를 더블 클릭하면 카드 수정 블록으로 변경 * chore: 더블 클릭 후 일정 카드가 카드 수정 블록으로 변경될 때 기존의 내용(title, body)를 갖고 있게 수정 * feat: 취소 버튼을 누르면 카드 수정 블록이 사라지고 원래 카드가 보이게 함 * refactor: 카드 수정 부분 ScheduleCard 클래스에서 ScheduleEditCard 클래스로 이동 * feat: 카드 수정 버튼 클릭 이벤트 구현 - 카드 제목의 글자수가 0이되면 수정 버튼 비활성화 - 수정 버튼이 비활성화되면 수정 버튼 클릭 할 수 없음 * feat: 등록된 카드를 더블 클릭하면 카드 수정 블록으로 변경 * chore: 더블 클릭 후 일정 카드가 카드 수정 블록으로 변경될 때 기존의 내용(title, body)를 갖고 있게 수정 * feat: 취소 버튼을 누르면 카드 수정 블록이 사라지고 원래 카드가 보이게 함 * refactor: 카드 수정 부분 ScheduleCard 클래스에서 ScheduleEditCard 클래스로 이동 * feat: 카드 수정 버튼 클릭 이벤트 구현 - 카드 제목의 글자수가 0이되면 수정 버튼 비활성화 - 수정 버튼이 비활성화되면 수정 버튼 클릭 할 수 없음 * refactor: 카드 삭제 관련 코드가 반영된 develop을 가져온 후 일부분 수정 * feat: 카드 수정 시 model에도 반영하도록 함 * chore: LIMIT utils.js로 옮김, template() 으로 할당되는 변수명 변경 * chore: eslint 설치 * Edit 기능 리팩토링 (#15) * refactor: 리뷰 반영 * refactor: 카드 당 EditCard 객체 하나씩만 생성하도록 함 * delete confirm 및 register card 리팩토링 (#16) * refactor: schedule delete confirm class 및 관련 schedule card, schedule model 메서드 수정 마우스 엔터, 리브 시 active red 로직 통일, schedule card 에서 삭제 버튼 클릭 마다 delete confirm class 생성 -> 생성된 class 모듈을 가지고 init 메서드만 실행 * refactor: schedule delete confirm 코드 포맷 변경, class -> 함수 * refactor: register card class 생성 시점 변경 add btn click 시마다 생성 -> schedul column 생성 시 1회 생성하여 메서드만 사용 * chore: merge 시 잘못 반영된 부분 수정 * feat: 카드 이동을 위해 카드를 누르면 잔상이 생기고 이동하는 카드 생성 * feat: 카드 드래그 후 드랍 시 카드가 더이상 따라오지 않음 * refactor: mouseDownEventHandler 함수를 잘게 쪼갬 * feat: drag 후 mouseenter 시 해당 카드 기준으로 위치가 위인지 아래인지 확인 함수 구현 * refactor: schedule card drag 파일 생성, 관련 부분 집어넣음 * feat: 드래그 카드를 위로 이동하면 드래그 카드가 올라간 카드 위로 잔상이 옮겨짐 * fix: 잔상카드가 정확한 위치로 이동한다 * refactor: mouseMoveOnDraggingEventHandler 내부 로직을 작은 함수로 쪼갬 * feat: 드래그 카드를 드롭(마우스업)하면 잔상카드에서 일정 카드로 바뀜 * feat: 드래그 카드를 드롭하면 마우스를 따라다니던 드래그 카드 사라짐 * refactor: scheduleModel 변경 - ScheduleColumn에 각각 있던 scheduleModel을 하나의 scheduleModel로 바꿈 - schedulModel 구조 변화 : columnId 키 추가 * fix: 카드 삭제를 위한 x 버튼 클릭 이벤트가 발생하지 않는 문제 수정(마우스 다운과 중복 이벤트) * feat: 드래그 드랍 시 모델에 이동하는 데이터 반영 mousedown 시 기존 컬럼의 카드 데이터 삭제, mouseup 시 잔상 카드가 있는 컬럼의 카드 위치에 카드 데이터 추가 * fix: 마우스 다운 이벤트 등록 후 더블 클릭 이벤트 안되던 것 다시 동작하게 수정 - 더블 클릭 이벤트도 main에 걸어줌 - EditCard를 객체로 만들지 않고 함수로 변경 * refactor: 임시로 만든 EditCard2를 EditCard 파일로 변경, ScheduleCard에서 EditCard 생성하는 부분 삭제 * 카드 이동 구현(드래그 앤 드랍) (#19) * feat: 카드 이동을 위해 카드를 누르면 잔상이 생기고 이동하는 카드 생성 * feat: 카드 드래그 후 드랍 시 카드가 더이상 따라오지 않음 * refactor: mouseDownEventHandler 함수를 잘게 쪼갬 * feat: drag 후 mouseenter 시 해당 카드 기준으로 위치가 위인지 아래인지 확인 함수 구현 * refactor: schedule card drag 파일 생성, 관련 부분 집어넣음 * feat: 드래그 카드를 위로 이동하면 드래그 카드가 올라간 카드 위로 잔상이 옮겨짐 * fix: 잔상카드가 정확한 위치로 이동한다 * refactor: mouseMoveOnDraggingEventHandler 내부 로직을 작은 함수로 쪼갬 * feat: 드래그 카드를 드롭(마우스업)하면 잔상카드에서 일정 카드로 바뀜 * feat: 드래그 카드를 드롭하면 마우스를 따라다니던 드래그 카드 사라짐 * refactor: scheduleModel 변경 - ScheduleColumn에 각각 있던 scheduleModel을 하나의 scheduleModel로 바꿈 - schedulModel 구조 변화 : columnId 키 추가 * fix: 카드 삭제를 위한 x 버튼 클릭 이벤트가 발생하지 않는 문제 수정(마우스 다운과 중복 이벤트) * feat: 드래그 드랍 시 모델에 이동하는 데이터 반영 - mousedown 시 기존 컬럼의 카드 데이터 삭제, - mouseup 시 잔상 카드가 있는 컬럼의 카드 위치에 카드 데이터 추가 * fix: 마우스 다운 이벤트 등록 후 더블 클릭 이벤트 안되던 것 다시 동작하게 수정 - 더블 클릭 이벤트도 main에 걸어줌 - EditCard를 객체로 만들지 않고 함수로 변경 * refactor: 임시로 만든 EditCard2를 EditCard 파일로 변경, ScheduleCard에서 EditCard 생성하는 부분 삭제 * refactor: 다시 ScheduleCard에서 EditCard 생성하도록 변경 * 카드 스타일 관련 수정 (#21) * chore: 마우스 드래그 스타일 막기 * chore: 긴 글자 입력 시 카드 등록 후에도 입력에 따라 카드 길어지게 변경 * chore: 내용에 따라 달라진 카드 높이를 잔상 카드, 드래그 카드에도 적용 * feat: 카드 추가,이동,삭제 시 칼럼의 카드 숫자 변경 * feat: 바로 위 카드를 거치지 않아도 맨 마지막에 카드 이동할 수 있게 변경 * refactor: model column data 순서와 보여지는 card 순서를 맞춤 * refactor: 리뷰 반영 * chore: 카드를 드롭하면 칼럼의 카드 카운트 업데이트 하도록 수정 - 원래 마우스 다운에서 카운트 업데이트 했었음 * json server 생성 및 연결 (#25) * feat: json server 설치 * feat: json-server 에 delete 요청 * feat: 카드 추가하면 서버에도 반영하기 - json server에 post 요청 * feat: json-server 에 card data 반영하는 시기 변경 - history 에 데이터 변경 발생을 기록하여 주기적으로 server에 요청 - window 창 종료 직전 남아있는 History 모두 server에 요청 * heroku 배포 설정 (#24) - build: heroku로 배포하기 위한 파일 설정 - refactor: 파일 구조 변경, 정적 파일을 app 폴더에 모아 넣음 - chore: json server dependencies로 이동 - chore: 정적 파일 설정 추가 - chore: api 주소 변경 * refactor: model 에서 처리하던 post, delete history를 분리 * build: webpack 실행 후 index.html에 bundle.js 연결 * chore: 카드 컨테이너 높이 변경 * chore: 카드 컨테이너 높이 변경 Co-authored-by: Eunji Lee <[email protected]> Co-authored-by: nanjeong <[email protected]>
구현 상황
Commits on Apr 4, 2022
은 그룹 프로젝트가 처음이라 브랜치 관련으로 생긴 커밋들입니다. 그 이후부터 봐주시면 감사하겠습니다.10인치 태블릿에서 설정될 화면을 위해 sw-720dp로 설정했으며, 휴대폰에서도 실행되도록 설정했습니다.
NoActionBar로 설정한 후 직접 Toolbar을 구현했습니다.
Toolbar에 ImageButton으로 아이콘을 달아서 Navigation Drawer 연결했습니다.
Navigation Drawer 내 모든 기록들을 보여주기 위한 리사이클러 뷰를 구현했습니다.
MVVM 패턴으로 모든 기록을 보여주기 위해 더미데이터로 보여주었습니다.
액션의 값에 따라 출력 내용이 다르기 때문에 @BindingAdapter을 이용했습니다.
사용자가 보기 쉬운 x초 전, x분 전, x시간 전을 보여주기 위해서 @BindingAdapter을 이용했습니다.
궁금한점
strings.xml 에서 을 설정하면 굵은 표시가 되는 것으로 알고 있습니다. 하지만 실제로 나타나지 않았습니다. 해결하기 위해서 <b> </b>로 설정한 후, HTML.fromHTML() 함수로 해결하였습니다.
여기서 fromHTML()이 deprecated되었다고 IDE에서 알려주었습니다. 이부분에 대해 어떻게 해결할지 도움을 요청합니다.
Screenshot