layout 정리

This commit is contained in:
leejinho 2019-11-15 10:49:41 +09:00
parent 5f5269c15b
commit c9070ecc96
5 changed files with 57 additions and 15 deletions

View File

@ -1,4 +1,4 @@
<div> <div *ngIf="showTitle">
<div class="current-head"> <div class="current-head">
<h3>조직도</h3> <h3>조직도</h3>
</div> </div>

View File

@ -4,7 +4,7 @@ import {
OnDestroy, OnDestroy,
Output, Output,
EventEmitter, EventEmitter,
Input, Input
} from '@angular/core'; } from '@angular/core';
import { ucapAnimations, DialogService } from '@ucap-webmessenger/ui'; import { ucapAnimations, DialogService } from '@ucap-webmessenger/ui';
import { Observable, Subscription, of } from 'rxjs'; import { Observable, Subscription, of } from 'rxjs';
@ -18,7 +18,7 @@ import {
UserInfoDN, UserInfoDN,
SSVC_TYPE_QUERY_DEPT_USER_DATA, SSVC_TYPE_QUERY_DEPT_USER_DATA,
SSVC_TYPE_QUERY_DEPT_USER_RES, SSVC_TYPE_QUERY_DEPT_USER_RES,
DeptUserData, DeptUserData
} from '@ucap-webmessenger/protocol-query'; } from '@ucap-webmessenger/protocol-query';
import { UserInfo, GroupDetailData } from '@ucap-webmessenger/protocol-sync'; import { UserInfo, GroupDetailData } from '@ucap-webmessenger/protocol-sync';
import { Store, select } from '@ngrx/store'; import { Store, select } from '@ngrx/store';
@ -37,7 +37,7 @@ import { KEY_VER_INFO } from '@app/types/ver-info.type';
import { import {
SelectGroupDialogComponent, SelectGroupDialogComponent,
SelectGroupDialogData, SelectGroupDialogData,
SelectGroupDialogResult, SelectGroupDialogResult
} from '../../dialogs/group/select-group.dialog.component'; } from '../../dialogs/group/select-group.dialog.component';
import { LoginResponse } from '@ucap-webmessenger/protocol-authentication'; import { LoginResponse } from '@ucap-webmessenger/protocol-authentication';
import { Company } from '@ucap-webmessenger/api-external'; import { Company } from '@ucap-webmessenger/api-external';
@ -46,9 +46,11 @@ import { Company } from '@ucap-webmessenger/api-external';
selector: 'app-layout-chat-left-sidenav-organization', selector: 'app-layout-chat-left-sidenav-organization',
templateUrl: './organization.component.html', templateUrl: './organization.component.html',
styleUrls: ['./organization.component.scss'], styleUrls: ['./organization.component.scss'],
animations: ucapAnimations, animations: ucapAnimations
}) })
export class OrganizationComponent implements OnInit, OnDestroy { export class OrganizationComponent implements OnInit, OnDestroy {
@Input()
showTitle = true;
@Input() @Input()
/** 사용자 선택용으로 사용시 true 로 유입 */ /** 사용자 선택용으로 사용시 true 로 유입 */
isUserSelect = false; isUserSelect = false;
@ -150,7 +152,7 @@ export class OrganizationComponent implements OnInit, OnDestroy {
search: '', search: '',
searchRange: DeptSearchType.All, searchRange: DeptSearchType.All,
senderCompanyCode: this.loginInfo.companyCode, senderCompanyCode: this.loginInfo.companyCode,
senderEmployeeType: loginRes.userInfo.employeeType, senderEmployeeType: loginRes.userInfo.employeeType
}) })
); );
return loginRes; return loginRes;
@ -188,7 +190,7 @@ export class OrganizationComponent implements OnInit, OnDestroy {
searchRange: DeptSearchType.All, searchRange: DeptSearchType.All,
search: params.searchWord, search: params.searchWord,
senderCompanyCode: params.companyCode, senderCompanyCode: params.companyCode,
senderEmployeeType: this.loginRes.userInfo.employeeType, senderEmployeeType: this.loginRes.userInfo.employeeType
}) })
.pipe( .pipe(
map(res => { map(res => {
@ -208,7 +210,7 @@ export class OrganizationComponent implements OnInit, OnDestroy {
this.store.dispatch( this.store.dispatch(
StatusStore.bulkInfo({ StatusStore.bulkInfo({
divCd: 'orgSrch', divCd: 'orgSrch',
userSeqs: userSeqList, userSeqs: userSeqList
}) })
); );
} }
@ -246,7 +248,7 @@ export class OrganizationComponent implements OnInit, OnDestroy {
search: '', search: '',
searchRange: DeptSearchType.All, searchRange: DeptSearchType.All,
senderCompanyCode: this.loginInfo.companyCode, senderCompanyCode: this.loginInfo.companyCode,
senderEmployeeType: loginRes.userInfo.employeeType, senderEmployeeType: loginRes.userInfo.employeeType
}) })
); );
}), }),
@ -308,7 +310,7 @@ export class OrganizationComponent implements OnInit, OnDestroy {
isChecked: value, isChecked: value,
userInfos: this.isShowSearch userInfos: this.isShowSearch
? this.searchUserInfos ? this.searchUserInfos
: this.selectedDepartmentUserInfoList, : this.selectedDepartmentUserInfoList
}); });
} }
@ -334,8 +336,8 @@ export class OrganizationComponent implements OnInit, OnDestroy {
>(SelectGroupDialogComponent, { >(SelectGroupDialogComponent, {
width: '600px', width: '600px',
data: { data: {
title: 'Group Select', title: 'Group Select'
}, }
}); });
if (!!result && !!result.choice && result.choice) { if (!!result && !!result.choice && result.choice) {
@ -352,7 +354,7 @@ export class OrganizationComponent implements OnInit, OnDestroy {
this.store.dispatch( this.store.dispatch(
SyncStore.updateGroupMember({ SyncStore.updateGroupMember({
oldGroup, oldGroup,
trgtUserSeq, trgtUserSeq
}) })
); );

View File

@ -1,6 +1,30 @@
<div class="message-box container"> <div class="message-box container">
<div> <div class="list-search">
search Area. <div class="searchbox">
<form [formGroup]="fgSearch" class="w-100-p">
<mat-form-field floatLabel="never">
<input
matInput
#inputSearch
type="text"
maxlength="20"
placeholder="이름, 제목, 내용 검색"
value=""
formControlName="searchInput"
(keydown.enter)="onKeyDownEnter($event, inputSearch.value)"
/>
<button
mat-button
matSuffix
mat-icon-button
aria-label="Clear"
(click)="inputSearch.value = ''; onClickSearchCancel()"
>
<mat-icon>close</mat-icon>
</button>
</mat-form-field>
</form>
</div>
</div> </div>
<div class="container"> <div class="container">
<mat-tab-group <mat-tab-group

View File

@ -27,6 +27,7 @@ import {
import { DeviceType } from '@ucap-webmessenger/core'; import { DeviceType } from '@ucap-webmessenger/core';
import { MessageStatusCode } from '@ucap-webmessenger/api'; import { MessageStatusCode } from '@ucap-webmessenger/api';
import { ContentType } from '@ucap-webmessenger/api-message'; import { ContentType } from '@ucap-webmessenger/api-message';
import { FormGroup, FormBuilder } from '@angular/forms';
@Component({ @Component({
selector: 'app-layout-chat-right-drawer-message-box', selector: 'app-layout-chat-right-drawer-message-box',
@ -34,6 +35,8 @@ import { ContentType } from '@ucap-webmessenger/api-message';
styleUrls: ['./message-box.component.scss'] styleUrls: ['./message-box.component.scss']
}) })
export class MessageBoxComponent implements OnInit, OnDestroy { export class MessageBoxComponent implements OnInit, OnDestroy {
fgSearch: FormGroup;
userInfoList: UserInfo[]; userInfoList: UserInfo[];
userInfoListSubscription: Subscription; userInfoListSubscription: Subscription;
@ -60,6 +63,7 @@ export class MessageBoxComponent implements OnInit, OnDestroy {
constructor( constructor(
private store: Store<any>, private store: Store<any>,
private formBuilder: FormBuilder,
private sessionStorageService: SessionStorageService, private sessionStorageService: SessionStorageService,
private dialogService: DialogService, private dialogService: DialogService,
private messageApiService: MessageApiService private messageApiService: MessageApiService
@ -73,6 +77,10 @@ export class MessageBoxComponent implements OnInit, OnDestroy {
} }
ngOnInit() { ngOnInit() {
this.fgSearch = this.formBuilder.group({
searchInput: null
});
this.userInfoListSubscription = this.store this.userInfoListSubscription = this.store
.pipe( .pipe(
select(AppStore.MessengerSelector.RoomSelector.selectUserinfolist), select(AppStore.MessengerSelector.RoomSelector.selectUserinfolist),
@ -130,6 +138,13 @@ export class MessageBoxComponent implements OnInit, OnDestroy {
} }
} }
onKeyDownEnter(event: KeyboardEvent, search: string) {
event.preventDefault();
event.stopPropagation();
}
onClickSearchCancel() {}
getRetrieveMessage(type: MessageType, trgtPageIndex: number) { getRetrieveMessage(type: MessageType, trgtPageIndex: number) {
switch (type) { switch (type) {
case MessageType.Receive: case MessageType.Receive:

View File

@ -98,6 +98,7 @@
</ng-template> </ng-template>
<div> <div>
<app-layout-chat-left-sidenav-organization <app-layout-chat-left-sidenav-organization
[showTitle]="false"
[selectedUserList]="selectedUserList" [selectedUserList]="selectedUserList"
[isUserSelect]="true" [isUserSelect]="true"
(checkAllUser)="onCheckAllUser($event)" (checkAllUser)="onCheckAllUser($event)"