From 921af8f5bbb27c74caf8751879c828e000fa6d76 Mon Sep 17 00:00:00 2001 From: leejinho Date: Wed, 4 Mar 2020 08:26:06 +0900 Subject: [PATCH 1/4] add white list :: xlsm --- .../app/layouts/messenger/components/messages.component.ts | 4 ++++ .../src/environments/environment.type.ts | 1 + .../src/lib/components/message-box/attach-file.component.scss | 1 + .../src/assets/scss/file-icon/_icons.scss | 4 ++-- 4 files changed, 8 insertions(+), 2 deletions(-) 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 076fc93e..dae05a71 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 @@ -1201,6 +1201,10 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { this.translateService.instant('common.file.errors.failToUpload'), this.translateService.instant('common.file.errors.label') ); + + if (!!this.fileUploadQueue) { + this.fileUploadQueue.onUploadComplete(); + } }, () => { if (!!this.fileUploadQueue) { diff --git a/projects/ucap-webmessenger-app/src/environments/environment.type.ts b/projects/ucap-webmessenger-app/src/environments/environment.type.ts index 15c0f670..dae649e0 100644 --- a/projects/ucap-webmessenger-app/src/environments/environment.type.ts +++ b/projects/ucap-webmessenger-app/src/environments/environment.type.ts @@ -211,6 +211,7 @@ export const commonApiAcceptableFileExtensionsForDocumnet: string[] = [ 'ppsx', 'xls', 'xlsx', + 'xlsm', 'xlt', 'xltx', 'rtf', diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/attach-file.component.scss b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/attach-file.component.scss index 1a631ff9..3dbefe39 100644 --- a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/attach-file.component.scss +++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/attach-file.component.scss @@ -44,6 +44,7 @@ $tablet-s-width: 768px; } } &.xls, + &.xlsm, &.xlsx { background-image: url(/assets/images/file/icon_talk_xls.png); &.disable { diff --git a/projects/ucap-webmessenger-ui/src/assets/scss/file-icon/_icons.scss b/projects/ucap-webmessenger-ui/src/assets/scss/file-icon/_icons.scss index 9c1ae1c0..c6c29817 100644 --- a/projects/ucap-webmessenger-ui/src/assets/scss/file-icon/_icons.scss +++ b/projects/ucap-webmessenger-ui/src/assets/scss/file-icon/_icons.scss @@ -162,8 +162,8 @@ $icon-list: ('3dm', '', $world), ('3dmf', '', $world), ('7z', '', $zip), ('xgz', '', $app), ('xif', '', $photo), ('xl', '', $app), ('xla', '', $app), ('xlb', '', $app), ('xlc', '', $app), ('xld', '', $app), ('xlk', '', $app), ('xll', '', $app), ('xlm', '', $app), ('xls', '', $app), ('xlsx', '', $app), - ('xlt', '', $app), ('xlv', '', $app), ('xlw', '', $app), ('xm', '', $lp), - ('xml', '', $app), ('xmz', '', $text), ('xpix', '', $app), + ('xlsm', '', $app), ('xlt', '', $app), ('xlv', '', $app), ('xlw', '', $app), + ('xm', '', $lp), ('xml', '', $app), ('xmz', '', $text), ('xpix', '', $app), ('xpm', '', $picture), ('xsr', '', $play), ('xwd', '', $pict), ('xyz', '', $app), ('z', '', $zip), ('zip', '', $zip), ('zoo', '', $app), ('zsh', '', $text); From e41f44ca3881ad09d9b119343b8b022ffa23169f Mon Sep 17 00:00:00 2001 From: leejinho Date: Wed, 4 Mar 2020 11:26:03 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=EB=8C=80=ED=99=94=20=EB=82=B4=EC=9A=A9=20?= =?UTF-8?q?=EB=82=B4=EB=B3=B4=EB=82=B4=EA=B8=B0=20=EA=B5=AC=ED=98=84.=20Fo?= =?UTF-8?q?r=20CSV?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/lib/apis/event-download.ts | 40 ++++++ .../src/lib/config/urls.ts | 3 + .../src/lib/services/message-api.service.ts | 29 ++++- .../src/public-api.ts | 1 + .../components/messages.component.html | 7 ++ .../components/messages.component.ts | 119 +++++++++++++++++- .../src/assets/i18n/en.json | 1 + .../src/assets/i18n/ko.json | 21 ++-- .../src/environments/environment.type.ts | 4 +- 9 files changed, 209 insertions(+), 16 deletions(-) create mode 100644 projects/ucap-webmessenger-api-message/src/lib/apis/event-download.ts diff --git a/projects/ucap-webmessenger-api-message/src/lib/apis/event-download.ts b/projects/ucap-webmessenger-api-message/src/lib/apis/event-download.ts new file mode 100644 index 00000000..fc4fb8b0 --- /dev/null +++ b/projects/ucap-webmessenger-api-message/src/lib/apis/event-download.ts @@ -0,0 +1,40 @@ +import { DeviceType } from '@ucap-webmessenger/core'; +import { + APIRequest, + APIEncoder, + ParameterUtil, + APIFormDataEncoder +} from '@ucap-webmessenger/api'; +import { FileDownloadItem } from '../../../../ucap-webmessenger-api/src/lib/models/file-download-item'; + +export interface EventDownloadRequest extends APIRequest { + userSeq: number; + deviceType: DeviceType; + token: string; + roomSeq: string; +} + +const eventDownloadEncodeMap = { + userSeq: 'userSeq', + deviceType: 'deviceType', + token: 'tokenKey', + roomSeq: 'roomSeq' +}; + +export const encodeEventDownload: APIEncoder = ( + req: EventDownloadRequest +) => { + const extraParams: any = {}; + extraParams.roomSeq = Number(req.roomSeq); + + return ParameterUtil.encode(eventDownloadEncodeMap, req, extraParams); +}; + +export const encodeFormDataEventDownload: APIFormDataEncoder = ( + req: EventDownloadRequest +) => { + const extraParams: any = {}; + extraParams.roomSeq = Number(req.roomSeq); + + return ParameterUtil.encodeFormData(eventDownloadEncodeMap, req, extraParams); +}; diff --git a/projects/ucap-webmessenger-api-message/src/lib/config/urls.ts b/projects/ucap-webmessenger-api-message/src/lib/config/urls.ts index 10773f4d..421bcf53 100644 --- a/projects/ucap-webmessenger-api-message/src/lib/config/urls.ts +++ b/projects/ucap-webmessenger-api-message/src/lib/config/urls.ts @@ -47,4 +47,7 @@ export interface Urls { /** 공지 조회 */ retrieveNoticeList: string; + + /** Event Download */ + eventDownload: string; } diff --git a/projects/ucap-webmessenger-api-message/src/lib/services/message-api.service.ts b/projects/ucap-webmessenger-api-message/src/lib/services/message-api.service.ts index f43d5bc2..737d37db 100644 --- a/projects/ucap-webmessenger-api-message/src/lib/services/message-api.service.ts +++ b/projects/ucap-webmessenger-api-message/src/lib/services/message-api.service.ts @@ -7,7 +7,7 @@ import { HttpEventType } from '@angular/common/http'; -import { Observable } from 'rxjs'; +import { Observable, Subject } from 'rxjs'; import { map, filter } from 'rxjs/operators'; import { _MODULE_CONFIG } from '../config/token'; @@ -97,6 +97,10 @@ import { encodeRetrieveNotice, decodeRetrieveNotice } from '../apis/notice'; +import { + EventDownloadRequest, + encodeFormDataEventDownload +} from '../apis/event-download'; @Injectable({ providedIn: 'root' @@ -357,4 +361,27 @@ export class MessageApiService { }) .pipe(map(res => decodeRetrieveNotice(res))); } + + /** Event Download for Room */ + public eventDownload(req: EventDownloadRequest): Observable { + const httpReq = new HttpRequest( + 'POST', + this.urls.eventDownload, + encodeFormDataEventDownload(req), + { reportProgress: true, responseType: 'blob' } + ); + + return this.httpClient.request(httpReq).pipe( + filter(event => { + if (event instanceof HttpResponse) { + return true; + } else if (HttpEventType.DownloadProgress === event.type) { + } + return false; + }), + map((event: HttpResponse) => { + return event.body; + }) + ); + } } diff --git a/projects/ucap-webmessenger-api-message/src/public-api.ts b/projects/ucap-webmessenger-api-message/src/public-api.ts index bf19e2c9..9b5e6747 100644 --- a/projects/ucap-webmessenger-api-message/src/public-api.ts +++ b/projects/ucap-webmessenger-api-message/src/public-api.ts @@ -4,6 +4,7 @@ export * from './lib/apis/del'; export * from './lib/apis/detail'; export * from './lib/apis/edit-reservation-ex'; +export * from './lib/apis/event-download'; export * from './lib/apis/my-message'; export * from './lib/apis/notice'; export * from './lib/apis/retrieve'; diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.html b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.html index 39c1615b..2774fbf6 100644 --- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.html +++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/messages.component.html @@ -310,6 +310,13 @@ > {{ 'chat.searchEventByText' | translate }} +