diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.scss b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.scss index 7f90f256..1ee9592c 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.scss +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.scss @@ -126,7 +126,7 @@ .file-drop-zone { position: absolute; - padding: 10px 10px 0 10px; + padding: 10px; background-color: rgb(54, 54, 54, 0.8); bottom: 0; width: 100%; diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts index f6e766fb..0f23b8c9 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.ts @@ -1772,10 +1772,13 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { // CASE :: searching text after retrieve All event Infos. this.store.dispatch( EventStore.infoAll({ - roomSeq: this.roomInfoSubject.value.roomSeq, - baseSeq: this.eventListSubject.value[0].seq, - requestCount: - environment.productConfig.CommonSetting.eventRequestDefaultCount * 2 + req: { + roomSeq: this.roomInfoSubject.value.roomSeq, + baseSeq: this.eventListSubject.value[0].seq, + requestCount: + environment.productConfig.CommonSetting.eventRequestDefaultCount * 2 + }, + infoList: undefined }) ); diff --git a/projects/ucap-webmessenger-app/src/app/store/messenger/event/actions.ts b/projects/ucap-webmessenger-app/src/app/store/messenger/event/actions.ts index 437b3bcf..1421f07b 100644 --- a/projects/ucap-webmessenger-app/src/app/store/messenger/event/actions.ts +++ b/projects/ucap-webmessenger-app/src/app/store/messenger/event/actions.ts @@ -50,7 +50,7 @@ export const infoForSearchEnd = createAction( export const infoAll = createAction( '[Messenger::Event] Info All', - props() + props<{ req: InfoRequest; infoList: Info[] }>() ); export const fileInfo = createAction( diff --git a/projects/ucap-webmessenger-app/src/app/store/messenger/event/effects.ts b/projects/ucap-webmessenger-app/src/app/store/messenger/event/effects.ts index b58bd589..3c969092 100644 --- a/projects/ucap-webmessenger-app/src/app/store/messenger/event/effects.ts +++ b/projects/ucap-webmessenger-app/src/app/store/messenger/event/effects.ts @@ -412,7 +412,10 @@ export class Effects { ) ) ), - switchMap(([req, processing]) => { + switchMap(([params, processing]) => { + const req = params.req; + const mergedInfoList = params.infoList; + return this.eventProtocolService.info(req).pipe( map(async res => { switch (res.SSVC_TYPE) { @@ -421,31 +424,39 @@ export class Effects { break; case SSVC_TYPE_EVENT_INFO_RES: { - this.store.dispatch( - infoMoreSuccess({ - infoList, - res: res as InfoResponse, - remainInfo: - infoList.length === req.requestCount ? true : false - }) - ); - - if (infoList.length > 0) { - if (infoList.length === req.requestCount && processing) { - // 재귀 - this.store.dispatch( - infoAll({ + if (!!infoList && 0 < infoList.length) { + infoList = infoList.sort((a, b) => a.seq - b.seq); + } + if ( + infoList.length > 0 && + infoList.length >= req.requestCount && + processing + ) { + // 재귀 + this.store.dispatch( + infoAll({ + req: { roomSeq: req.roomSeq, baseSeq: infoList[0].seq, requestCount: req.requestCount - }) - ); - } else { - if (infoList.length < req.requestCount) { - this.store.dispatch(infoForSearchEnd({})); - } - } + }, + infoList: !!mergedInfoList + ? [...infoList, ...mergedInfoList] + : infoList + }) + ); } else { + this.store.dispatch( + infoMoreSuccess({ + infoList: !!mergedInfoList + ? [...infoList, ...mergedInfoList] + : infoList, + res: res as InfoResponse, + remainInfo: + infoList.length === req.requestCount ? true : false + }) + ); + this.store.dispatch(infoForSearchEnd({})); } } diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box.component.html b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box.component.html index d41f7e23..a6ab93e7 100644 --- a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box.component.html +++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box.component.html @@ -23,6 +23,7 @@
-
{{ 'common.file.dropZoneForUpload' | translate }}
+
+
+ {{ 'common.file.dropZoneForUpload' | translate }} +
diff --git a/projects/ucap-webmessenger-ui/src/lib/components/file-upload-queue.component.scss b/projects/ucap-webmessenger-ui/src/lib/components/file-upload-queue.component.scss index d5a9ad54..8d0975cb 100644 --- a/projects/ucap-webmessenger-ui/src/lib/components/file-upload-queue.component.scss +++ b/projects/ucap-webmessenger-ui/src/lib/components/file-upload-queue.component.scss @@ -38,4 +38,18 @@ padding: 6px 10px; } } + .uploadItems { + width: 100%; + font-size: 0.9em; + .msg-guide { + display: flex; + flex: row; + color: #ffffff; + justify-content: center; + align-items: center; + .icon-img { + margin-right: 6px; + } + } + } }