diff --git a/documents/업무/7월/2째주/0706.txt b/documents/업무/7월/2째주/0706.txt index c5767d3..9282e84 100644 --- a/documents/업무/7월/2째주/0706.txt +++ b/documents/업무/7월/2째주/0706.txt @@ -1,8 +1,8 @@ -총 47개 - 처리완료 24개 - UI 3개 - 진행중 16 - 논의 필요 6 +총 53개 + 처리완료 29개 + UI 5개 + 진행중 11 + 논의 필요 7 35번 사용자 새 그룹에 대화 상대 이동시 이동되지 않고 복사됨 -> 논의 필요 @@ -18,30 +18,73 @@ -> 그룹/조직도 검색어 지울 시 목록 화면으로 진입 불가능 (백스페이스로 지우기) - 이동수단 필요 오늘 - 131번, 134번 - -> 그룹 오픈 유지 및 정렬 유지 + 개선사항 + + 이슈 + 165번 + 체크/체크해제 동작 느림 + 167번 + 새로고침 시 프레즌스 기능 사라짐 작업 목록 - 39번 - 화면 이동될 때 이전 화면 이미지 보임 - 6번 - 검색기록, 자동완성 기능 문의건 - 136번 - -> 조직도 프레즌스 오류 - 119번 - 멤버 추가화면에서 특수문자 입력 후 완료 선택시 버튼 오류 및 팝업 미발생 - 137번 - -> 조직도에서 그룹 추가 시 특수문자 입력가능함 - 138번 - 조직도 회사 변경 후 검색어 지울 시 회사 유지되지 않음 - 148번 - 프로필 사진 영역 선택 시 프로필 화면 진입되지 않음 - 164번 - 그룹 목록에서 체크 시 조직도 목록에서 체크되지 않음 - 165번 - 체크/체크해제 동작 느림 - 166번 - 사용자 검색 목록 색상 오류 (UI) - 167번 - 새로고침 시 프레즌스 기능 사라짐 - 174번 - 간헐적으로 빈 말풍선 노출됨 \ No newline at end of file + 이슈 + 131번, 134번 개선사항 1번 중복 + -> 그룹 오픈 유지 및 정렬 유지 + 39번 + 화면 이동될 때 이전 화면 이미지 보임 + 6번 + 검색기록, 자동완성 기능 문의건 + 103번 + 검색목록 200개까지만 노출됨 + 136번 + -> 조직도 프레즌스 오류 + 119번 + 멤버 추가화면에서 특수문자 입력 후 완료 선택시 버튼 오류 및 팝업 미발생 + 137번 + -> 조직도에서 그룹 추가 시 특수문자 입력가능함 + 166번 + 사용자 검색 목록 색상 오류 (UI) + 174번 + 간헐적으로 빈 말풍선 노출됨 + + 개선사항 + 3번 프레즌스 아이콘을 현재보다 크게 변경(UI) + 4번 그룹이름바꾸기 팝업창(UI) + 11번 조직 인원 리스트에서 조직 인원 위에 마우스 오버시 연계 기능 아이콘 보이도록 변경 + 12번 조직 인원 선택한 창에서 선택 취소를 할 수 있는 X버튼 추가 + +완료 + 개선사항 + 2번 그룹 멤버관리 메뉴 화면 및 기능을 새로운 기획에 맞추어서 변경 + 수정사항ppt 5,6 + 5번 그룹이름바꾸기 엔터키 누르면 적용되도록 변경 + 13번 대화방에서 상대방 프로필 사진 클릭 시 상대방 프로필이 팝업되도록 변경 + 14번 조직도에서 상대방 프로필 사진 클릭 시 상대방 프로필이 팝업되도록 변경 + 이슈 + 148번 + 프로필 사진 영역 선택 시 프로필 화면 진입되지 않음 + 164번 + 그룹 목록에서 체크 시 조직도 목록에서 체크되지 않음 + 138번 + 조직도 회사 변경 후 검색어 지울 시 회사 유지되지 않음 + +세션저장 + [{인덱스, 그룹 seq, opened}, {}] +그룹 초기화 + 인덱스 데이터 있는 경우 + 조회후 expansion component 호출 + 없는 경우 + 인덱스 데이터 생성 후 세션에 저장 +그룹 추가 + 인덱스 정보 갱신 +그룹 삭제 + 인덱스 정보 갱신 +그룹 수정 + 인덱스 정보 갱신 + +expand component + expand(expandInfo[]) + refreshNode() + 인덱스 정보가 있는 경우 + expand() + 없는 경우 + header click emit \ No newline at end of file diff --git a/documents/업무/7월/2째주/0707.txt b/documents/업무/7월/2째주/0707.txt new file mode 100644 index 0000000..3f0fad0 --- /dev/null +++ b/documents/업무/7월/2째주/0707.txt @@ -0,0 +1,86 @@ +총 52개 + 처리완료 30개 + UI 5개 + 진행중 11 + 논의 필요 7 + +35번 + 사용자 새 그룹에 대화 상대 이동시 이동되지 않고 복사됨 -> 논의 필요 +19번 + 그룹 선택화면에 검색칸 노출됨 +80번 + 북마크 날짜 미표기 (날짜로 표기 되거나 날짜도 같이 표기되게 수정)(UI) +86번 + 멤버 추가 팝업크기 다른 팝업에 비해 큼 (UI) +120번 + 그룹명 입력하지 않고 사용자 체크 후 완료 시 팝업 미발생 +135번 + -> 그룹/조직도 검색어 지울 시 목록 화면으로 진입 불가능 (백스페이스로 지우기) - 이동수단 필요 + +오늘 + + 개선사항 + + 이슈 + + 167번 + 새로고침 시 프레즌스 기능 사라짐 +작업 목록 + 이슈 + 131번, 134번 개선사항 1번 중복 + -> 그룹 오픈 유지 및 정렬 유지 + 39번 + 화면 이동될 때 이전 화면 이미지 보임 + 6번 + 검색기록, 자동완성 기능 문의건 + 103번 + 검색목록 200개까지만 노출됨 + 136번 + -> 조직도 프레즌스 오류 + 119번 + 멤버 추가화면에서 특수문자 입력 후 완료 선택시 버튼 오류 및 팝업 미발생 + 137번 + -> 조직도에서 그룹 추가 시 특수문자 입력가능함 + 166번 + 사용자 검색 목록 색상 오류 (UI) + 174번 + 간헐적으로 빈 말풍선 노출됨 + + 개선사항 + 3번 프레즌스 아이콘을 현재보다 크게 변경(UI) + 4번 그룹이름바꾸기 팝업창(UI) + 11번 조직 인원 리스트에서 조직 인원 위에 마우스 오버시 연계 기능 아이콘 보이도록 변경 + +완료 + 개선사항 + 그룹복사, 그룹이동 그룹 메뉴 수정 및 소스 적용 + 그룹 멤버 관리 팝업 출력 시 선택한 그룹 헤더 + 이슈 + 165번 + 체크/체크해제 동작 느림 + +선행작업 + 다이얼로그 expansion + checkbox + + 디폴트 expansion + +세션저장 + [{인덱스, 그룹 seq, opened}, {}] +헤더 클릭 + 인덱스 정보 갱신 + +초기화 + 인덱스 데이터 있는 경우 + expansion expand() 호출 + 없는 경우 + 인덱스 데이터 생성 후 세션에 저장 +그룹 추가 +그룹 삭제 +그룹 수정 +동료 추가 +동료 삭제 +즐겨찾기 추가 +즐겨찾기 삭제 + 인덱스 정보 갱신 + expansion expand() 호출 diff --git a/documents/업무/7월/2째주/0708.txt b/documents/업무/7월/2째주/0708.txt new file mode 100644 index 0000000..d13644b --- /dev/null +++ b/documents/업무/7월/2째주/0708.txt @@ -0,0 +1,135 @@ +총 77개 + 처리완료 37개 + UI 7개 + 진행중 30 + 논의 필요 6 + +35번 + 사용자 새 그룹에 대화 상대 이동시 이동되지 않고 복사됨 -> 논의 필요 +19번 + 그룹 선택화면에 검색칸 노출됨 +80번 + 북마크 날짜 미표기 (날짜로 표기 되거나 날짜도 같이 표기되게 수정)(UI) +86번 + 멤버 추가 팝업크기 다른 팝업에 비해 큼 (UI) +120번 + 그룹명 입력하지 않고 사용자 체크 후 완료 시 팝업 미발생 +135번 + -> 그룹/조직도 검색어 지울 시 목록 화면으로 진입 불가능 (백스페이스로 지우기) - 이동수단 필요 + +오늘 + + 개선사항 + + 이슈 + 182번 + 그룹 정렬 시 즐겨찾기 그룹없음 + 183번 + 사용자 삭제 시 화면 유지 되지 않음 + 187번 + 조직도에서 즐겨찾기 추가/해제 시 동작되지 않음 + 188번 + 조직도 그룹 추가 시 체크 초기화되지 않음 + 190번 + 대화 상대 복사/이동 시 금지단어 그룹 추가 가능함 + 214번 + 프로필 화면에서 회사 정보 미노출 +작업 목록 + 이슈 + 39번 + 화면 이동될 때 이전 화면 이미지 보임 + 6번 + 검색기록, 자동완성 기능 문의건 + 103번 + 검색목록 200개까지만 노출됨 + 136번 + -> 조직도 프레즌스 오류 + 119번 + 멤버 추가화면에서 특수문자 입력 후 완료 선택시 버튼 오류 및 팝업 미발생 + 137번 + -> 조직도에서 그룹 추가 시 특수문자 입력가능함 + 166번 + 사용자 검색 목록 색상 오류 (UI) + 167번 + 새로고침 시 프레즌스 기능 사라짐 + 174번 + 간헐적으로 빈 말풍선 노출됨 + 176번 + 조직도 화면 크기 줄일 시 목록 미노출 + 178번 + 내 프레즌스 오프라인으로 보여짐 + 179번 + 간헐적으로 프로필 버튼 선택 시 선택되지 않음 + 180번 + 조직도 첫 진입시 프레즌스 표시 미노출 + 181번 + 프로필 사진 변경 시 목록 사진은 변경되지 않음 (테스트 케이스 문의) + 186번 + 조직도에서 대화 선택 시 프로필 팝업 닫혀지지 않음 + 189번 + 그룹명 금지단어 안내 문구 표기 오류 및 소속부서 생성 불가능 + 191번 + 화면크기 중간 사이즈 일 경우 조직도 체크박스 잘림 (UI) + 194번 + 상태메시지/회의중 내용 변경 시 변경되지 않음 + 195번 + 상태메시지/회의중 내용 취소시 변경 전 내용으로 입력되어 있음 (취소 버튼 클릭 시 어떤 액션을 취해야 하는지 정해야함) + 196번 + 상태 메시지/회의중 입력 제한 수 오류 + 197번 + 프로필 메뉴 동작안함 + 202번 + 모바일에서 그룹추가/삭제/변경 시 PC실시간 방영되지 않음 + 203번 + 조직도 추가화면에서 불필요한 스크롤 노출됨 (UI) + 206번 + 자동 로그인 동작되지 않음 + 209번 + 아이디 저장 해제 되지 않음 + + + + + + 개선사항 + 3번 프레즌스 아이콘을 현재보다 크게 변경(UI) + 4번 그룹이름바꾸기 팝업창(UI) + 11번 조직 인원 리스트에서 조직 인원 위에 마우스 오버시 연계 기능 아이콘 보이도록 변경 + +완료 + 개선사항 + 131번, 134번 개선사항 1번 중복 + -> 그룹 오픈 유지 및 정렬 유지 + 이슈 + + +conferenceStatus: "X" +imessengerStatus: "X" +mobileConferenceStatus: "X" +mobileStatus: "X" +pcStatus: "X" +phoneStatus: "X" +statusMessage: "." +terminalStatus: "TERMINAL_STATE_UNKNOWN" +terminalStatusNumber: 0 +userSeq: "338127" +workstatus: undefined + +this.onlineBuddies.push({ + group, + buddyList: buddies.filter((buddy) => { + if (-1 < group.userSeqs.indexOf(String(buddy.seq))) { + const tempBulkinfos = bulkInfos.filter( + (bulk) => bulk.userSeq === buddy.seq + '' + ); + if (!!tempBulkinfos && tempBulkinfos.length > 0) { + const pcStatus = tempBulkinfos[0].pcStatus; + const mStatus = tempBulkinfos[0].mobileStatus; + + if (pcStatus === StatusCode.OnLine) { + return tempBuddyList.push(buddy); + } + } + } + }) +}); \ No newline at end of file diff --git a/documents/업무/7월/2째주/0709.txt b/documents/업무/7월/2째주/0709.txt new file mode 100644 index 0000000..730f227 --- /dev/null +++ b/documents/업무/7월/2째주/0709.txt @@ -0,0 +1,130 @@ +총 77개 + 처리완료 39개 + UI 7개 + 진행중 28 + 논의 필요 6 + +35번 + 사용자 새 그룹에 대화 상대 이동시 이동되지 않고 복사됨 -> 논의 필요 +19번 + 그룹 선택화면에 검색칸 노출됨 +80번 + 북마크 날짜 미표기 (날짜로 표기 되거나 날짜도 같이 표기되게 수정)(UI) +86번 + 멤버 추가 팝업크기 다른 팝업에 비해 큼 (UI) +120번 + 그룹명 입력하지 않고 사용자 체크 후 완료 시 팝업 미발생 +135번 + -> 그룹/조직도 검색어 지울 시 목록 화면으로 진입 불가능 (백스페이스로 지우기) - 이동수단 필요 + +오늘 + + 개선사항 + + 이슈 + 183번 + 사용자 삭제 시 화면 유지 되지 않음 + 187번 + 조직도에서 즐겨찾기 추가/해제 시 동작되지 않음 + 188번 + 조직도 그룹 추가 시 체크 초기화되지 않음 + + +작업 목록 + 이슈 + + 6번 + 검색기록, 자동완성 기능 문의건 + 103번 + 검색목록 200개까지만 노출됨 + 136번 + -> 조직도 프레즌스 오류 + 150번 + -> 스크롤 오류 + 119번 + 멤버 추가화면에서 특수문자 입력 후 완료 선택시 버튼 오류 및 팝업 미발생 + 137번 + -> 조직도에서 그룹 추가 시 특수문자 입력가능함 + 174번 + 간헐적으로 빈 말풍선 노출됨 + 176번 + 조직도 화면 크기 줄일 시 목록 미노출 + 178번 + 내 프레즌스 오프라인으로 보여짐 + 179번 + 간헐적으로 프로필 버튼 선택 시 선택되지 않음 + 180번 + 조직도 첫 진입시 프레즌스 표시 미노출 + 181번 + 프로필 사진 변경 시 목록 사진은 변경되지 않음 (테스트 케이스 문의) + 186번 + 조직도에서 대화 선택 시 프로필 팝업 닫혀지지 않음 + 189번 + 그룹명 금지단어 안내 문구 표기 오류 및 소속부서 생성 불가능 + 191번 + 화면크기 중간 사이즈 일 경우 조직도 체크박스 잘림 (UI) + 194번 + 상태메시지/회의중 내용 변경 시 변경되지 않음 + 195번 + 상태메시지/회의중 내용 취소시 변경 전 내용으로 입력되어 있음 (취소 버튼 클릭 시 어떤 액션을 취해야 하는지 정해야함) + 196번 + 상태 메시지/회의중 입력 제한 수 오류 + 197번 + 프로필 메뉴 동작안함 + 202번 + 모바일에서 그룹추가/삭제/변경 시 PC실시간 방영되지 않음 + 203번 + 조직도 추가화면에서 불필요한 스크롤 노출됨 (UI) + 206번 + 자동 로그인 동작되지 않음 + 209번 + 아이디 저장 해제 되지 않음 + + + + + + 개선사항 + 3번 프레즌스 아이콘을 현재보다 크게 변경(UI) + 4번 그룹이름바꾸기 팝업창(UI) + 11번 조직 인원 리스트에서 조직 인원 위에 마우스 오버시 연계 기능 아이콘 보이도록 변경 + +완료 + 개선사항 + + 이슈 + 39번 + 화면 이동될 때 이전 화면 이미지 보임 (오차장님) + 182번 + 그룹 정렬 시 즐겨찾기 그룹없음 + 190번 + 대화 상대 복사/이동 시 금지단어 그룹 추가 가능함 + 166번 + 사용자 검색 목록 색상 오류 (UI)(오차장님) + 214번 + 프로필 화면에서 회사 정보 미노출 + + +if (forbidden) { + errMsg = this.i18nService.t('group:error.useOnlyForSpecialCharacter', { + specialCharacter: '-,' + }); +} else if (inputValue.trim().localeCompare('') === 0) { + errMsg = this.i18nService.t('group:error.requireInput'); +} else if (!!ban && ban !== '') { + errMsg = this.i18nService.t('group:error.bannedWords', { + bannedWords: this.appService.bannedGroupNames.join(',') + }); +} else if ( + -1 < + this.groupList.findIndex((g) => g.name.trim() === inputValue.trim()) +) { + errMsg = this.i18nService.t('group:error.sameNameExist'); +} + +if (!!errMsg) { + return this._alertErr(errMsg); +} + + +height: 100%; min-height: 100%; min-width: 100%; width: 100%; \ No newline at end of file diff --git a/documents/업무/7월/2째주/0710.txt b/documents/업무/7월/2째주/0710.txt new file mode 100644 index 0000000..eb8ea90 --- /dev/null +++ b/documents/업무/7월/2째주/0710.txt @@ -0,0 +1,181 @@ +총 77개 + 처리완료 49개 + UI 5개 + 진행중 19 + 논의 필요 6 + +35번 + 사용자 새 그룹에 대화 상대 이동시 이동되지 않고 복사됨 -> 논의 필요 +19번 + 그룹 선택화면에 검색칸 노출됨 +80번 + 북마크 날짜 미표기 (날짜로 표기 되거나 날짜도 같이 표기되게 수정)(UI) +86번 + 멤버 추가 팝업크기 다른 팝업에 비해 큼 (UI) +120번 + 그룹명 입력하지 않고 사용자 체크 후 완료 시 팝업 미발생 +135번 + 그룹/조직도 검색어 지울 시 목록 화면으로 진입 불가능 (백스페이스로 지우기) - 이동수단 필요 + +오늘 + + 개선사항 + + 이슈 + 137번 + -> 조직도에서 그룹 추가 시 특수문자 입력가능함 + 119번 + 멤버 추가화면에서 특수문자 입력 후 완료 선택시 버튼 오류 및 팝업 미발생 + 189번 + 그룹명 금지단어 안내 문구 표기 오류 및 소속부서 생성 불가능 + 178번 + 내 프레즌스 오프라인으로 보여짐 + 180번 + 조직도 첫 진입시 프레즌스 표시 미노출 + +작업 목록 + 이슈 + 6번 + 검색기록, 자동완성 기능 문의건 + 103번 + 검색목록 200개까지만 노출됨 + 136번 + -> 조직도 프레즌스 오류 + 176번 + 조직도 화면 크기 줄일 시 목록 미노출 + 179번 + 간헐적으로 프로필 버튼 선택 시 선택되지 않음 + 194번 + 상태메시지/회의중 내용 변경 시 변경되지 않음 + 195번 + 상태메시지/회의중 내용 취소시 변경 전 내용으로 입력되어 있음 (취소 버튼 클릭 시 어떤 액션을 취해야 하는지 정해야함) + 196번 + 상태 메시지/회의중 입력 제한 수 오류 + 197번 + 프로필 메뉴 동작안함 + 202번 + 모바일에서 그룹추가/삭제/변경 시 PC실시간 방영되지 않음 + 206번 + 자동 로그인 동작되지 않음 + 209번 + 아이디 저장 해제 되지 않음 + + 개선사항 + 3번 프레즌스 아이콘을 현재보다 크게 변경(UI) + 4번 그룹이름바꾸기 팝업창(UI) + 11번 조직 인원 리스트에서 조직 인원 위에 마우스 오버시 연계 기능 아이콘 보이도록 변경 + +완료 + 개선사항 + + 이슈 + 174번 + 간헐적으로 빈 말풍선 노출됨 + 203번 + 조직도 추가화면에서 불필요한 스크롤 노출됨 (UI) + 204번 + 조직도 추가화면에서 불필요한 스크롤 노출됨 (UI) + 211번 (재현불가) + 150번 (재현불가) + 181번 + 프로필 사진 변경 시 목록 사진은 변경되지 않음 (테스트 케이스 문의) + 183번 + 사용자 삭제 시 화면 유지 되지 않음 + 187번 + 조직도에서 즐겨찾기 추가/해제 시 동작되지 않음 + 188번 + 조직도 그룹 추가 시 체크 초기화되지 않음 + 191번(오차장님) + 화면크기 중간 사이즈 일 경우 조직도 체크박스 잘림 (UI) + 186번 + 조직도에서 대화 선택 시 프로필 팝업 닫혀지지 않음 + + + ⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽ + +122 멤버 추가화면에서 사용자 검색 시 상태메시지 오류 P2 OPEN 기능 수정필요 (하) "[검증절차] +1. 그룹 탭 +2. 멤버 추가 버튼 선택 +3. 그룹명 입력 후 그룹지정후 완료 버튼 선택 +4. '이상윤' 검색 +5. 재검색 + +[검증결과] +1. 상태메시지 노출되었다가 재검색 시 노출되지 않음 + +[정상동작] +1. 노출되는게 정상동작이라면 노출 유지되어야 하고 노출되지 않는게 정상동작이라면 노출되면 안됨 +(기존 엠메신저는 노출되지 않음) + +[검증환경] +PC_0.0.11 +" - PC 이유진 06월 23일 박병은 07월 03일 -> 07/06 확인 시 해당 현상은 수정되었지만 간헐적으로 상태메시지 텍스트가 일반 텍스트처럼 보여지고 있습니다. 재확인 부탁드립니다. + + +123 그룹 검색화면에서 상태메시지 노출되지 않음 P2 OPEN 기능 수정필요 (중) "[검증절차] +1. 그룹 탭 +2. 상태메시지 있는 사용자명 입력 후 검색 +3. 검색결과 확인 >> 1번 이슈 +4. 상태메시지 없는 사용자명 입력 후 검색 +5. 검색결과 확인 >> 2번 이슈 + +[검증결과] +1. 간헐적으로 상태메시지 노출되지 않음 +2. 간헐적으로 말풍선 아이콘 보여짐(마우스 오버 시 아이콘 사라짐) + +[정상동작] +1. 상태메시지 노출되어야 함 +2. 말풍선 아이콘 노출되면 안됨 + +[검증환경] +PC_0.0.11 +" - PC 이유진 06월 23일 박병은 07월 03일 -> 07/06 확인 시 해당 현상은 수정되었지만 간헐적으로 상태메시지 텍스트가 일반 텍스트처럼 보여지고 있습니다. 재확인 부탁드립니다. + +131 그룹 정렬 후 탭 재진입 시 유지되지 않음 P3 OPEN 기능 수정필요 (중) "[검증절차] +1. 그룹 탭 +2. 정렬 : 접속한 동료만보기, 온/오프라인 보기 선택 +3. 그룹 제외한 다른 탭(대화, 조직도 등) 선택 +4. 그룹 탭 > 목록 확인 + +[검증결과] +1. 정렬 유지되지 않음 + +[정상동작] +1. 정렬 유지되지 않는게 정상동작인지 문의드립니다. +(기존 엠메신저 유지됨) + +[검증환경] +PC_0.0.11 +" - PC 이유진 06월 24일 박병은 07월 08일 -> 07/09 확인 시 재현되고 있습니다. 재확인 부탁드립니다. + +138 회사변경 후 검색어 지울 시 회사 유지되지 않음 P2 OPEN 기능 검토 필요 "[검증절차] +1. 조직도 탭 +2. 검색칸 > 타 회사로 변경 +3. 검색어 입력 후 검색 +4. 검색칸에서 X버튼 선택 + +[검증결과] +1. 회사 유지되지 않고 내 회사로 변경됨 + +[정상동작] +1. 선택한 회사 유지되어야 함 + +[검증환경] +PC_0.0.11 +" - PC 이유진 06월 24일 박병은 07월 06일 -> 07/09 확인 시 재현되고 있습니다. 재확인 부탁드립니다. +140 상태메시지 편집모드 해제 불가능 및 설정 속도 느림 P2 OPEN 기능 수정필요 (상) "[검증절차] +1. 그룹 탭 +2. 내 프로필 선택 +3. 프로필 화면에서 상태메시지 입력 후 확인 선택 + +[검증결과] +1. 상태메시지 편집모드 해제되지 않음 +2. 상태메시지 변경되는 속도 매우 느림 + +[정상동작] +1. 편집모드 해제되어야 함 +2. 상태메시지 바로 변경되어야 함 + +[검증환경] +PC_0.0.11 +" - PC 이유진 06월 24일 박병은 07월 02일 -> 7/10 화면정의서 26p처럼 연필 아이콘 선택 시 편집모드 진입되고 체크 아이콘 선택 시 편집모드 해제되는 것처럼 수정 부탁드립니다. diff --git a/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.html b/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.html new file mode 100644 index 0000000..d83cbb9 --- /dev/null +++ b/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.html @@ -0,0 +1,133 @@ +
+ +
{{ title }}
+
+ + +
+
+ {{ + data.groupBuddyList.group.name + }} + +
+ +
+ + +
+
+
+ +
+ + + + +
+
+ + + {{ 'group:dialog.selectedMember' | ucapI18n }} ({{ selectedUserList.length }}) + + +
+
+
+
+ +
+
+ + + +
+
+ + +
+
+
+
diff --git a/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.scss b/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.scss new file mode 100644 index 0000000..1656fe3 --- /dev/null +++ b/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.scss @@ -0,0 +1,81 @@ +@import '~@ucap/lg-scss/mixins'; +.dialog-container { + width: 100%; + height: 100%; + + .dialog-body { + width: 100%; + height: 100%; + .ucap-dialog-group-manage-container { + display: flex; + flex-flow: column; + width: 100%; + height: 100%; + .group-name { + display: flex; + flex-flow: row; + height: 40px; + border-bottom: 1px solid #999999; + .sub-title { + display: inline-flex; + height: 100%; + align-items: center; + } + button { + display: flex; + margin-left: auto; + padding: 0 10px; + } + } + + .ucap-dialog-app-group-profile-list { + height: calc(100% - 40px); + // overflow-y: hidden; + overflow: hidden; + .profile-list-01-item-container { + .ucap-virtual-scroll-viewport { + .ps__rail-x { + display: none; + } + } + } + } + } + .ucap-dialog-app-group-select-user { + width: 60%; + border-bottom: 1px solid #cccccc; + @include screen(xs) { + width: 100%; + height: 78%; + margin-bottom: 2%; + } + } + .ucap-dialog-organization-profile-selection { + position: relative; + width: 40%; + padding-left: $default-space; + border-bottom: 1px solid #cccccc; + @include screen(xs) { + width: 100%; + height: 20%; + padding: 0; + } + .ucap-organization-selected-list { + width: 100%; + height: 100%; + display: flex; + border: 1px solid #cccccc; + border-bottom: none; + overflow: auto; + } + } + } + .btn-box { + display: flex; + flex-direction: row; + button { + margin-left: 4px; + border-radius: 3px; + } + } +} diff --git a/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.spec.ts b/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.spec.ts new file mode 100644 index 0000000..b541ade --- /dev/null +++ b/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.spec.ts @@ -0,0 +1,26 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { By } from '@angular/platform-browser'; +import { DebugElement } from '@angular/core'; + +import { ManageDialogComponent } from './manage.dialog.component'; + +describe('ucap::ui-organization::ManageDialogComponent', () => { + let component: ManageDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ManageDialogComponent] + }).compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ManageDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.ts b/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.ts new file mode 100644 index 0000000..604c9a8 --- /dev/null +++ b/documents/업무/7월/2째주/그룹관리백업/manage.dialog.component.ts @@ -0,0 +1,396 @@ +import { Subject, of } from 'rxjs'; + +import { + Component, + OnInit, + OnDestroy, + ChangeDetectionStrategy, + ChangeDetectorRef, + Inject, + ViewChild, + ViewContainerRef +} from '@angular/core'; + +import { Store } from '@ngrx/store'; + +import { + MatDialogRef, + MAT_DIALOG_DATA, + MatDialog +} from '@angular/material/dialog'; + +import { UserInfo, GroupDetailData } from '@ucap/protocol-sync'; +import { UserInfoSS, UserInfoF, UserInfoDN } from '@ucap/protocol-query'; +import { UserInfo as RoomUserInfo } from '@ucap/protocol-room'; +import { MatStepper } from '@angular/material/stepper'; +import { I18nService } from '@ucap/ng-i18n'; +import { GroupActions } from '@ucap/ng-store-group'; +import { + AlertDialogComponent, + AlertDialogData, + AlertDialogResult, + ConfirmDialogComponent, + ConfirmDialogResult, + ConfirmDialogData +} from '@ucap/ng-ui'; + +import { take, map, catchError } from 'rxjs/operators'; + +import { SelectUserDialogType, GroupManageType } from '@app/types'; +import { AppGroupService } from '@app/services/app-group.service'; +import { LogService } from '@ucap/ng-logger'; + +export type UserInfoTypes = + | UserInfo + | UserInfoSS + | UserInfoF + | UserInfoDN + | RoomUserInfo; + +export interface ManageDialogData { + title: string; + groupBuddyList?: { group: GroupDetailData; buddyList: UserInfo[] }; +} +export interface ManageDialogResult { + type: GroupManageType; + groupName: string; + group?: GroupDetailData; + selelctUserList?: UserInfoTypes[]; + selectGroupList?: GroupDetailData[]; +} + +@Component({ + selector: 'app-dialog-group-manage', + templateUrl: './manage.dialog.component.html', + styleUrls: ['./manage.dialog.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class ManageDialogComponent implements OnInit, OnDestroy { + constructor( + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data: ManageDialogData, + private changeDetectorRef: ChangeDetectorRef, + private store: Store, + private i18nService: I18nService, + public dialog: MatDialog, + private appGroupService: AppGroupService, + private logService: LogService + ) { + this.moveTitle = this.i18nService.t('group:dialog.title.moveGroup'); + this.copyTitle = this.i18nService.t('group:dialog.title.copyGroup'); + this.addTitle = this.i18nService.t('group:dialog.title.addBuddy'); + } + + @ViewChild('dialogContainer', { static: true, read: ViewContainerRef }) + dialogContainer: ViewContainerRef; + + private ngOnDestroySubject: Subject; + private moveTitle: string; + private copyTitle: string; + private addTitle: string; + + title: string; + + GroupManageType = GroupManageType; + currentManageType: GroupManageType; + currentStep = 0; + groupName = ''; + + selectedUserList: UserInfoTypes[] = []; + selectedGroupList: GroupDetailData[] = []; + + ngOnInit(): void { + this.ngOnDestroySubject = new Subject(); + + this.currentManageType = GroupManageType.None; + this.title = this.data.title; + } + + ngOnDestroy(): void { + if (!!this.ngOnDestroySubject) { + this.ngOnDestroySubject.next(); + this.ngOnDestroySubject.complete(); + } + } + + onClosed(event: MouseEvent): void { + this.dialogRef.close(); + } + + onDelete(stepper: MatStepper) { + if ( + !!this.selectedUserList && + this.selectedUserList.length > 0 && + this.currentStep === 0 + ) { + let titleStr = ''; + + this.selectedUserList.map((user, idx) => { + let userTitle = user.name + ' ' + user.grade; + if (this.selectedUserList.length - 1 > idx) { + userTitle = userTitle + ', '; + titleStr = titleStr.concat('', userTitle); + } else { + titleStr = titleStr.concat('', userTitle); + } + }); + this.appGroupService + .removeMemberToGroup( + this.i18nService.t('group:dialog.removeBuddyConfirm', { + targetMember: titleStr + }), + this.selectedUserList, + this.data.groupBuddyList.group + ) + .then(() => this.dialogRef.close()) + .catch((reson) => this.logService.error(reson)); + } + } + + onUpdateMember(stepper: MatStepper, type: GroupManageType) { + this.currentManageType = type; + + if (type === GroupManageType.Move) { + this.title = this.moveTitle; + } else { + this.title = this.copyTitle; + } + + this.currentStep++; + stepper.next(); + } + + onAdd(stepper: MatStepper) { + this.title = this.addTitle; + this.currentManageType = GroupManageType.Add; + this.selectedUserList = this.data.groupBuddyList.buddyList; + + this.currentStep++; + stepper.next(); + } + + onChangeGroupName(data: { invalid: boolean; groupName: string }) { + this.groupName = data.groupName; + } + + onSelectBySectionGroup(data: { checked: boolean; group: GroupDetailData }) { + const i = this.selectedGroupList.findIndex((u) => u.seq === data.group.seq); + + if (data.checked) { + if (-1 === i) { + this.selectedGroupList = [...this.selectedGroupList, data.group]; + } + } else { + if (-1 < i) { + this.selectedGroupList = this.selectedGroupList.filter( + (u) => u.seq !== data.group.seq + ); + } + } + } + + onSelectBySectionUserGroup(params: { + isChecked: boolean; + groupBuddyList: { group: GroupDetailData; buddyList: UserInfo[] }; + }) { + if (params.isChecked) { + params.groupBuddyList.buddyList.forEach((item) => { + if ( + this.selectedUserList.filter((user) => user.seq === item.seq) + .length === 0 + ) { + this.selectedUserList = [...this.selectedUserList, item]; + } + }); + } else { + this.selectedUserList = this.selectedUserList.filter( + (item) => + params.groupBuddyList.buddyList.filter((del) => del.seq === item.seq) + .length === 0 + ); + } + } + + doneAnimation() { + this.changeDetectorRef.markForCheck(); + } + onChangeSelectedUserList( + datas: { + checked: boolean; + userInfo: UserInfoSS; + }[] + ) { + if (!datas || 0 === datas.length) { + return; + } + + const pushs: UserInfoSS[] = []; + const pops: UserInfoSS[] = []; + + datas.forEach((d) => { + const i = this.selectedUserList.findIndex( + (u) => u.seq === d.userInfo.seq + ); + if (d.checked) { + if (-1 === i) { + pushs.push(d.userInfo); + } + } else { + if (-1 < i) { + pops.push(d.userInfo); + } + } + }); + + if (0 < pushs.length) { + this.selectedUserList = [...this.selectedUserList, ...pushs]; + } + + if (0 < pops.length) { + this.selectedUserList = this.selectedUserList.filter( + (u) => -1 === pops.findIndex((p) => p.seq === u.seq) + ); + } + } + onCancel(stepper: MatStepper) { + if ( + !!this.selectedUserList && + this.selectedUserList.length > 0 && + this.currentManageType === GroupManageType.Add + ) { + this.selectedUserList = []; + } else { + const tempList = []; + this.selectedUserList.map((user) => { + this.data.groupBuddyList.buddyList.every((buddy) => { + if (user.seq === buddy.seq) { + tempList.push(user); + return false; + } + return true; + }); + }); + this.selectedUserList = [...tempList]; + } + this.selectedGroupList = []; + this.currentStep--; + this.title = this.data.title; + stepper.previous(); + } + onConfirm(stepper: MatStepper) { + switch (this.currentManageType) { + case GroupManageType.Add: + { + if (!!this.selectedUserList && this.selectedUserList.length > 0) { + this.doAction(); + } + } + break; + case GroupManageType.Copy: + case GroupManageType.Move: + { + if ( + !!this.selectedUserList && + this.selectedUserList.length === 0 && + this.groupName === '' + ) { + this.dialog.open< + AlertDialogComponent, + AlertDialogData, + AlertDialogResult + >(AlertDialogComponent, { + panelClass: 'min-create-dialog', + data: { + title: 'Error', + html: this.i18nService.t('group:error.notSelectedUser') + } + }); + + return; + } + + this.doAction(); + } + break; + } + } + + doAction() { + if (!!this.groupName && this.groupName.trim().localeCompare('') !== 0) { + this.currentManageType = GroupManageType.Create; + } else { + this.groupName = undefined; + } + + this.dialogRef.close({ + type: this.currentManageType, + groupName: this.groupName, + group: this.data.groupBuddyList.group, + selelctUserList: this.selectedUserList, + selectGroupList: this.selectedGroupList + }); + } + + /** 개별 체크여부 */ + getCheckedUser(userInfo: UserInfoSS) { + if (!!this.selectedUserList && this.selectedUserList.length > 0) { + return ( + this.selectedUserList.filter( + (item) => String(item.seq) === String(userInfo.seq) + ).length > 0 + ); + } + + return false; + } + + checkDisableBtn(): boolean { + let findUser: UserInfoTypes[]; + if (!!this.selectedUserList && this.selectedUserList.length > 0) { + findUser = this.selectedUserList.filter((user) => { + return this.data.groupBuddyList.group.userSeqs.includes( + String(user.seq) + ); + }); + } + + if (!!findUser && findUser.length > 0) { + return false; + } else { + return true; + } + } + + checkDisableBtnConfirm() { + if ( + (!!this.selectedUserList && this.selectedUserList.length > 0) || + (!!this.groupName && this.groupName.trim().localeCompare('') !== 0) + ) { + return false; + } + return true; + } + onToggleCheck(data: { checked: boolean; userInfo: UserInfoSS }) { + this.onChangeSelectedUserList([data]); + } + + onRemovedProfileSelection(userInfo: UserInfo) { + const i = this.selectedUserList.findIndex( + (u) => String(u.seq) === String(userInfo.seq) + ); + + if (-1 < i) { + this.selectedUserList = this.selectedUserList.filter( + (u) => String(u.seq) !== String(userInfo.seq) + ); + } + } + + removableForSelection = (userInfo: UserInfo) => { + return true; + }; + + colorForSelection = (userInfo: UserInfo) => { + return 'accent'; + }; +} diff --git a/documents/업무/new-pc-doc/Issue_2020.07.03 (New PC Messenger)_피드백_박병은.xlsx b/documents/업무/new-pc-doc/Issue_2020.07.03 (New PC Messenger)_피드백_박병은.xlsx new file mode 100644 index 0000000..12210dd Binary files /dev/null and b/documents/업무/new-pc-doc/Issue_2020.07.03 (New PC Messenger)_피드백_박병은.xlsx differ diff --git a/documents/업무/new-pc-doc/Issue_2020.07.10 (New PC Messenger).xlsx b/documents/업무/new-pc-doc/Issue_2020.07.10 (New PC Messenger).xlsx new file mode 100644 index 0000000..678b002 Binary files /dev/null and b/documents/업무/new-pc-doc/Issue_2020.07.10 (New PC Messenger).xlsx differ diff --git a/documents/업무/new-pc-doc/UCAP 메신저 화면정의서_V1.78_200710.pptx b/documents/업무/new-pc-doc/UCAP 메신저 화면정의서_V1.78_200710.pptx new file mode 100644 index 0000000..10cffa7 Binary files /dev/null and b/documents/업무/new-pc-doc/UCAP 메신저 화면정의서_V1.78_200710.pptx differ diff --git a/documents/업무/new-pc-doc/추가 수정사항_200629.pptx b/documents/업무/new-pc-doc/추가 수정사항_200629.pptx new file mode 100644 index 0000000..f6eaa0a Binary files /dev/null and b/documents/업무/new-pc-doc/추가 수정사항_200629.pptx differ diff --git a/weekly-report/7월/주간보고_박병은_2020.0710.pptx b/weekly-report/7월/주간보고_박병은_2020.0710.pptx new file mode 100644 index 0000000..f98f9ec Binary files /dev/null and b/weekly-report/7월/주간보고_박병은_2020.0710.pptx differ