diff --git a/angular.json b/angular.json index 3e2f6150..2ca10f49 100644 --- a/angular.json +++ b/angular.json @@ -27,9 +27,6 @@ "projects/ucap-webmessenger-app/src/favicon.ico", "projects/ucap-webmessenger-app/src/assets" ], - "stylePreprocessorOptions": { - "includePaths": ["projects/ucap-webmessenger-ui/src/assets/scss"] - }, "styles": ["projects/ucap-webmessenger-app/src/styles.scss"], "scripts": [], "customWebpackConfig": { diff --git a/config/renderer.webpack.config.js b/config/renderer.webpack.config.js index 89ca4e14..5c087970 100644 --- a/config/renderer.webpack.config.js +++ b/config/renderer.webpack.config.js @@ -1,7 +1,18 @@ +const path = require('path'); + module.exports = (config, options) => { const PRODUCTION = process.env.NODE_ENV === 'production'; config.target = 'electron-renderer'; + config.resolve.alias = { + ...config.resolve.alias, + '@ucap-webmessenger-scss/ui': path.resolve( + __dirname, + '..', + 'projects/ucap-webmessenger-ui/src/assets/scss' + ) + }; + return config; }; diff --git a/projects/ucap-webmessenger-api-common/src/lib/services/common-api.service.ts b/projects/ucap-webmessenger-api-common/src/lib/services/common-api.service.ts index 327735f8..fba37be7 100644 --- a/projects/ucap-webmessenger-api-common/src/lib/services/common-api.service.ts +++ b/projects/ucap-webmessenger-api-common/src/lib/services/common-api.service.ts @@ -134,6 +134,10 @@ export class CommonApiService { ); } + public acceptableExtensionForFileTalk(extension: string): boolean { + return -1 !== this.moduleConfig.acceptableFileExtensions.indexOf(extension); + } + public fileTalkShare( req: FileTalkShareRequest ): Observable { diff --git a/projects/ucap-webmessenger-api-common/src/lib/types/module-config.ts b/projects/ucap-webmessenger-api-common/src/lib/types/module-config.ts index 9f432080..8799fa4f 100644 --- a/projects/ucap-webmessenger-api-common/src/lib/types/module-config.ts +++ b/projects/ucap-webmessenger-api-common/src/lib/types/module-config.ts @@ -11,4 +11,5 @@ export interface ModuleConfig { translationReq: string; translationSave: string; }; + acceptableFileExtensions: string[]; } diff --git a/projects/ucap-webmessenger-app/src/app/app.module.ts b/projects/ucap-webmessenger-app/src/app/app.module.ts index b4826c78..2e3bc2e2 100644 --- a/projects/ucap-webmessenger-app/src/app/app.module.ts +++ b/projects/ucap-webmessenger-app/src/app/app.module.ts @@ -58,7 +58,11 @@ import { AppNativeLayoutModule } from './layouts/native/native.layout.module'; PerfectScrollbarModule, - UCapCommonApiModule.forRoot({ urls: environment.urls.apiCommon }), + UCapCommonApiModule.forRoot({ + urls: environment.urls.apiCommon, + acceptableFileExtensions: + environment.modules.event.acceptableFileExtensions + }), UCapPublicApiModule.forRoot({ urls: environment.urls.apiPublic 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 a45658c2..041cf0cf 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 @@ -127,6 +127,7 @@
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 1e8fdf7c..fbc0739b 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 @@ -18,12 +18,12 @@ word-wrap: break-word; } } -.container{ +.container { position: relative; - width:100%; + width: 100%; } .chat-toolbar { - width:100%; + width: 100%; height: 70px; min-height: 70px; align-items: center; @@ -53,7 +53,7 @@ } } .room-info { - display:flex; + display: flex; flex-flow: column; overflow: hidden; .room-name { @@ -65,21 +65,42 @@ font-size: 14px; line-height: normal; margin-top: 6px; - height:20px; - span{ - border-radius:10px; - padding:1px 10px; - margin-right:6px; - font-size:13px; + height: 20px; + span { + border-radius: 10px; + padding: 1px 10px; + margin-right: 6px; + font-size: 13px; } } } .room-option { - wdith: 100%; + width: 100%; margin-left: auto; } } } .chat-content { + position: relative; + background: transparent; overflow: auto; + -webkit-overflow-scrolling: touch; + + .file-drop-zone-container { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(255, 255, 255, 0.95); + + .file-drop-zone { + position: absolute; + + top: 10%; + left: 10%; + width: 80%; + height: 80%; + } + } } 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 63790b5e..2e481ec1 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 @@ -4,7 +4,9 @@ import { OnDestroy, AfterViewChecked, ViewChild, - ElementRef + ElementRef, + AfterContentInit, + AfterViewInit } from '@angular/core'; import { ucapAnimations, @@ -43,7 +45,10 @@ import { } from '@app/types'; import { RoomInfo, UserInfo, RoomType } from '@ucap-webmessenger/protocol-room'; import { tap, take } from 'rxjs/operators'; -import { FileInfo } from '@ucap-webmessenger/ui-chat'; +import { + FileInfo, + FormComponent as UCapUiChatFormComponent +} from '@ucap-webmessenger/ui-chat'; import { KEY_VER_INFO } from '@app/types/ver-info.type'; import { VersionInfo2Response } from '@ucap-webmessenger/api-public'; import { MatMenuTrigger } from '@angular/material'; @@ -67,10 +72,13 @@ import { PerfectScrollbarComponent } from 'ngx-perfect-scrollbar'; styleUrls: ['./messages.component.scss'], animations: ucapAnimations }) -export class MessagesComponent implements OnInit, OnDestroy, AfterViewChecked { +export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit { @ViewChild('messageBoxContainer', { static: true }) private messageBoxContainer: ElementRef; + @ViewChild('chatForm', { static: true }) + private chatForm: UCapUiChatFormComponent; + @ViewChild('messageContextMenuTrigger', { static: true }) messageContextMenuTrigger: MatMenuTrigger; messageContextMenuPosition = { x: '0px', y: '0px' }; @@ -167,6 +175,7 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewChecked { tap(infoList => { if (!!infoList && infoList.length > 0) { this.baseEventSeq = infoList[0].seq; + this.readyToReply(); } }) ); @@ -175,8 +184,6 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewChecked { select(AppStore.MessengerSelector.EventSelector.infoStatus) ); - this.psChatContent.directiveRef.scrollToBottom(0, 0); - this.interval = setInterval(() => { if (!!this.roomInfo.isTimeRoom) { this.store.dispatch(EventStore.infoIntervalClear({})); @@ -198,8 +205,8 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewChecked { clearInterval(this.interval); } - ngAfterViewChecked(): void { - this.psChatContent.directiveRef.scrollToBottom(0, 0); + ngAfterViewInit(): void { + this.readyToReply(); } getRoomName() { @@ -240,6 +247,30 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewChecked { selectContact() {} + readyToReply(): void { + setTimeout(() => { + this.focusReplyInput(); + this.scrollToBottom(); + }); + } + + focusReplyInput(): void { + setTimeout(() => { + this.chatForm.focus(); + }); + } + + scrollToBottom(speed?: number): void { + speed = speed || 0; + if (this.psChatContent.directiveRef) { + this.psChatContent.directiveRef.update(); + + setTimeout(() => { + this.psChatContent.directiveRef.scrollToBottom(0, speed); + }); + } + } + async onSendMessage(message: string) { if (!message || message.trim().length === 0) { const result = await this.dialogService.open< diff --git a/projects/ucap-webmessenger-app/src/assets/mime/mime-type.json b/projects/ucap-webmessenger-app/src/assets/mime/mime-type.json new file mode 100644 index 00000000..6f6ab0f8 --- /dev/null +++ b/projects/ucap-webmessenger-app/src/assets/mime/mime-type.json @@ -0,0 +1,847 @@ +{ + "123": "application/vnd.lotus-1-2-3", + "3dml": "text/vnd.in3d.3dml", + "3g2": "video/3gpp2", + "3gp": "video/3gpp", + "7z": "application/x-7z-compressed", + "a": "application/octet-stream", + "a01": "application/x-arj-compressed", + "a02": "application/x-arj-compressed", + "a03": "application/x-arj-compressed", + "a04": "application/x-arj-compressed", + "a05": "application/x-arj-compressed", + "a06": "application/x-arj-compressed", + "a07": "application/x-arj-compressed", + "aab": "application/x-authorware-bin", + "aac": "audio/x-aac", + "aam": "application/x-authorware-map", + "aas": "application/x-authorware-seg", + "abw": "application/x-abiword", + "acc": "application/vnd.americandynamics.acc", + "ace": "application/x-ace-compressed", + "acu": "application/vnd.acucobol", + "acutc": "application/vnd.acucorp", + "adp": "audio/adpcm", + "aep": "application/vnd.audiograph", + "afm": "application/x-font-type1", + "afp": "application/vnd.ibm.modcap", + "ai": "application/postscript", + "aif": "audio/x-aiff", + "aifc": "audio/x-aiff", + "aiff": "audio/x-aiff", + "air": "application/vnd.adobe.air-application-installer-package+zip", + "alz": "application/x-alz", + "ami": "application/vnd.amiga.ami", + "apk": "application/vnd.android.package-archive", + "application": "application/x-ms-application", + "apr": "application/vnd.lotus-approach", + "asc": "application/pgp-signature", + "asf": "video/x-ms-asf", + "asm": "text/x-asm", + "aso": "application/vnd.accpac.simply.aso", + "asx": "video/x-ms-asf", + "atc": "application/vnd.acucorp", + "atom": "application/atom+xml", + "atomcat": "application/atomcat+xml", + "atomsvc": "application/atomsvc+xml", + "atx": "application/vnd.antix.game-component", + "au": "audio/basic", + "avi": "video/x-msvideo", + "aw": "application/applixware", + "azf": "application/vnd.airzip.filesecure.azf", + "azs": "application/vnd.airzip.filesecure.azs", + "azw": "application/vnd.amazon.ebook", + "bat": "application/x-msdownload", + "bcpio": "application/x-bcpio", + "bdf": "application/x-font-bdf", + "bdm": "application/vnd.syncml.dm+wbxml", + "bh2": "application/vnd.fujitsu.oasysprs", + "bin": "application/octet-stream", + "bmi": "application/vnd.bmi", + "bmp": "image/bmp", + "book": "application/vnd.framemaker", + "box": "application/vnd.previewsystems.box", + "boz": "application/x-bzip2", + "bpk": "application/octet-stream", + "btif": "image/prs.btif", + "bz": "application/x-bzip", + "bz2": "application/x-bzip2", + "c": "text/x-c", + "c4d": "application/vnd.clonk.c4group", + "c4f": "application/vnd.clonk.c4group", + "c4g": "application/vnd.clonk.c4group", + "c4p": "application/vnd.clonk.c4group", + "c4u": "application/vnd.clonk.c4group", + "cab": "application/vnd.ms-cab-compressed", + "car": "application/vnd.curl.car", + "cat": "application/vnd.ms-pki.seccat", + "cc": "text/x-c", + "cct": "application/x-director", + "ccxml": "application/ccxml+xml", + "cdbcmsg": "application/vnd.contact.cmsg", + "cdf": "application/x-netcdf", + "cdkey": "application/vnd.mediastation.cdkey", + "cdr": "image/x-coreldraw", + "cdx": "chemical/x-cdx", + "cdxml": "application/vnd.chemdraw+xml", + "cdy": "application/vnd.cinderella", + "cer": "application/pkix-cert", + "cgm": "image/cgm", + "chat": "application/x-chat", + "chm": "application/vnd.ms-htmlhelp", + "chrt": "application/vnd.kde.kchart", + "cif": "chemical/x-cif", + "cii": "application/vnd.anser-web-certificate-issue-initiation", + "cil": "application/vnd.ms-artgalry", + "cla": "application/vnd.claymore", + "class": "application/java-vm", + "clkk": "application/vnd.crick.clicker.keyboard", + "clkp": "application/vnd.crick.clicker.palette", + "clkt": "application/vnd.crick.clicker.template", + "clkw": "application/vnd.crick.clicker.wordbank", + "clkx": "application/vnd.crick.clicker", + "clp": "application/x-msclip", + "cmc": "application/vnd.cosmocaller", + "cmdf": "chemical/x-cmdf", + "cml": "chemical/x-cml", + "cmp": "application/vnd.yellowriver-custom-menu", + "cmx": "image/x-cmx", + "cod": "application/vnd.rim.cod", + "com": "application/x-msdownload", + "conf": "text/plain", + "cpio": "application/x-cpio", + "cpp": "text/x-c", + "cpt": "application/mac-compactpro", + "crd": "application/x-mscardfile", + "crl": "application/pkix-crl", + "crt": "application/x-x509-ca-cert", + "csh": "application/x-csh", + "csml": "chemical/x-csml", + "csp": "application/vnd.commonspace", + "css": "text/css", + "cst": "application/x-director", + "csv": "text/csv", + "cu": "application/cu-seeme", + "curl": "text/vnd.curl", + "cww": "application/prs.cww", + "cxt": "application/x-director", + "cxx": "text/x-c", + "daf": "application/vnd.mobius.daf", + "dataless": "application/vnd.fdsn.seed", + "davmount": "application/davmount+xml", + "dcr": "application/x-director", + "dcurl": "text/vnd.curl.dcurl", + "dd2": "application/vnd.oma.dd2+xml", + "ddd": "application/vnd.fujixerox.ddd", + "deb": "application/x-debian-package", + "def": "text/plain", + "deploy": "application/octet-stream", + "der": "application/x-x509-ca-cert", + "dfac": "application/vnd.dreamfactory", + "dic": "text/x-c", + "diff": "text/plain", + "dir": "application/x-director", + "dis": "application/vnd.mobius.dis", + "dist": "application/octet-stream", + "distz": "application/octet-stream", + "djv": "image/vnd.djvu", + "djvu": "image/vnd.djvu", + "dll": "application/x-msdownload", + "dmg": "application/octet-stream", + "dms": "application/octet-stream", + "dna": "application/vnd.dna", + "doc": "application/msword", + "docm": "application/vnd.ms-word.document.macroenabled.12", + "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", + "dot": "application/msword", + "dotm": "application/vnd.ms-word.template.macroenabled.12", + "dotx": "application/vnd.openxmlformats-officedocument.wordprocessingml.template", + "dp": "application/vnd.osgi.dp", + "dpg": "application/vnd.dpgraph", + "dsc": "text/prs.lines.tag", + "dtb": "application/x-dtbook+xml", + "dtd": "application/xml-dtd", + "dts": "audio/vnd.dts", + "dtshd": "audio/vnd.dts.hd", + "dump": "application/octet-stream", + "dvi": "application/x-dvi", + "dwf": "model/vnd.dwf", + "dwg": "image/vnd.dwg", + "dws": "application/octet-stream", + "dwt": "application/x-autocad", + "dxf": "image/vnd.dxf", + "dxp": "application/vnd.spotfire.dxp", + "dxr": "application/x-director", + "ecelp4800": "audio/vnd.nuera.ecelp4800", + "ecelp7470": "audio/vnd.nuera.ecelp7470", + "ecelp9600": "audio/vnd.nuera.ecelp9600", + "ecma": "application/ecmascript", + "edm": "application/vnd.novadigm.edm", + "edx": "application/vnd.novadigm.edx", + "efif": "application/vnd.picsel", + "egg": "application/x-egg", + "ei6": "application/vnd.pg.osasli", + "elc": "application/octet-stream", + "emf": "image/emf", + "eml": "message/rfc822", + "emma": "application/emma+xml", + "eol": "audio/vnd.digital-winds", + "eot": "application/vnd.ms-fontobject", + "eps": "application/postscript", + "epub": "application/epub+zip", + "es3": "application/vnd.eszigno3+xml", + "esf": "application/vnd.epson.esf", + "et3": "application/vnd.eszigno3+xml", + "etx": "text/x-setext", + "exe": "application/x-msdownload", + "ext": "application/vnd.novadigm.ext", + "ez": "application/andrew-inset", + "ez2": "application/vnd.ezpix-album", + "ez3": "application/vnd.ezpix-package", + "f": "text/x-fortran", + "f4v": "video/x-f4v", + "f77": "text/x-fortran", + "f90": "text/x-fortran", + "fbs": "image/vnd.fastbidsheet", + "fdf": "application/vnd.fdf", + "fe_launch": "application/vnd.denovo.fcselayout-link", + "fg5": "application/vnd.fujitsu.oasysgp", + "fgd": "application/x-director", + "fh": "image/x-freehand", + "fh4": "image/x-freehand", + "fh5": "image/x-freehand", + "fh7": "image/x-freehand", + "fhc": "image/x-freehand", + "fig": "application/x-xfig", + "fla": "application/octet-stream", + "flac": "audio/flac", + "fli": "video/x-fli", + "flo": "application/vnd.micrografx.flo", + "flv": "video/x-flv", + "flw": "application/vnd.kde.kivio", + "flx": "text/vnd.fmi.flexstor", + "fly": "text/vnd.fly", + "fm": "application/vnd.framemaker", + "fnc": "application/vnd.frogans.fnc", + "for": "text/x-fortran", + "fpx": "image/vnd.fpx", + "frame": "application/vnd.framemaker", + "fsc": "application/vnd.fsc.weblaunch", + "fst": "image/vnd.fst", + "ftc": "application/vnd.fluxtime.clip", + "fti": "application/vnd.anser-web-funds-transfer-initiation", + "fvt": "video/vnd.fvt", + "fzs": "application/vnd.fuzzysheet", + "g3": "image/g3fax", + "gac": "application/vnd.groove-account", + "gdl": "model/vnd.gdl", + "geo": "application/vnd.dynageo", + "gex": "application/vnd.geometry-explorer", + "ggb": "application/vnd.geogebra.file", + "ggt": "application/vnd.geogebra.tool", + "ghf": "application/vnd.groove-help", + "gif": "image/gif", + "gim": "application/vnd.groove-identity-message", + "gmx": "application/vnd.gmx", + "gnumeric": "application/x-gnumeric", + "gph": "application/vnd.flographit", + "gqf": "application/vnd.grafeq", + "gqs": "application/vnd.grafeq", + "gram": "application/srgs", + "gre": "application/vnd.geometry-explorer", + "grv": "application/vnd.groove-injector", + "grxml": "application/srgs+xml", + "gsf": "application/x-font-ghostscript", + "gtar": "application/x-gtar", + "gtm": "application/vnd.groove-tool-message", + "gtw": "model/vnd.gtw", + "gv": "text/vnd.graphviz", + "gz": "application/x-gzip", + "h": "text/x-c", + "h261": "video/h261", + "h263": "video/h263", + "h264": "video/h264", + "hbci": "application/vnd.hbci", + "hdf": "application/x-hdf", + "hh": "text/x-c", + "hlp": "application/winhlp", + "hpgl": "application/vnd.hp-hpgl", + "hpid": "application/vnd.hp-hpid", + "hps": "application/vnd.hp-hps", + "hqx": "application/mac-binhex40", + "htke": "application/vnd.kenameaapp", + "htm": "text/html", + "html": "text/html", + "hvd": "application/vnd.yamaha.hv-dic", + "hvp": "application/vnd.yamaha.hv-voice", + "hvs": "application/vnd.yamaha.hv-script", + "hwp": "application/x-hwp", + "icc": "application/vnd.iccprofile", + "ice": "x-conference/x-cooltalk", + "icm": "application/vnd.iccprofile", + "ico": "image/x-icon", + "ics": "text/calendar", + "ief": "image/ief", + "ifb": "text/calendar", + "ifm": "application/vnd.shana.informed.formdata", + "iges": "model/iges", + "igl": "application/vnd.igloader", + "igs": "model/iges", + "igx": "application/vnd.micrografx.igx", + "iif": "application/vnd.shana.informed.interchange", + "imp": "application/vnd.accpac.simply.imp", + "ims": "application/vnd.ms-ims", + "in": "text/plain", + "ipk": "application/vnd.shana.informed.package", + "irm": "application/vnd.ibm.rights-management", + "irp": "application/vnd.irepository.package+xml", + "iso": "application/octet-stream", + "itp": "application/vnd.shana.informed.formtemplate", + "ivp": "application/vnd.immervision-ivp", + "ivu": "application/vnd.immervision-ivu", + "jad": "text/vnd.sun.j2me.app-descriptor", + "jam": "application/vnd.jam", + "jar": "application/java-archive", + "java": "text/x-java-source", + "jisp": "application/vnd.jisp", + "jlt": "application/vnd.hp-jlyt", + "jnlp": "application/x-java-jnlp-file", + "joda": "application/vnd.joost.joda-archive", + "jpe": "image/jpeg", + "jpeg": "image/jpeg", + "jpg": "image/jpeg", + "jpgm": "video/jpm", + "jpgv": "video/jpeg", + "jpm": "video/jpm", + "js": "application/javascript", + "json": "application/json", + "kar": "audio/midi", + "karbon": "application/vnd.kde.karbon", + "keynote": "application/vnd.apple.keynote", + "kfo": "application/vnd.kde.kformula", + "kia": "application/vnd.kidspiration", + "kil": "application/x-killustrator", + "kml": "application/vnd.google-earth.kml+xml", + "kmz": "application/vnd.google-earth.kmz", + "kne": "application/vnd.kinar", + "knp": "application/vnd.kinar", + "kon": "application/vnd.kde.kontour", + "kpr": "application/vnd.kde.kpresenter", + "kpt": "application/vnd.kde.kpresenter", + "ksh": "text/plain", + "ksp": "application/vnd.kde.kspread", + "ktr": "application/vnd.kahootz", + "ktz": "application/vnd.kahootz", + "kwd": "application/vnd.kde.kword", + "kwt": "application/vnd.kde.kword", + "latex": "application/x-latex", + "lbd": "application/vnd.llamagraphics.life-balance.desktop", + "lbe": "application/vnd.llamagraphics.life-balance.exchange+xml", + "les": "application/vnd.hhe.lesson-player", + "lha": "application/octet-stream", + "link66": "application/vnd.route66.link66+xml", + "list": "text/plain", + "list3820": "application/vnd.ibm.modcap", + "listafp": "application/vnd.ibm.modcap", + "log": "text/plain", + "lostxml": "application/lost+xml", + "lrf": "application/octet-stream", + "lrm": "application/vnd.ms-lrm", + "ltf": "application/vnd.frogans.ltf", + "lvp": "audio/vnd.lucent.voice", + "lwp": "application/vnd.lotus-wordpro", + "lzh": "application/octet-stream", + "m13": "application/x-msmediaview", + "m14": "application/x-msmediaview", + "m1v": "video/mpeg", + "m2a": "audio/mpeg", + "m2v": "video/mpeg", + "m3a": "audio/mpeg", + "m3u": "audio/x-mpegurl", + "m4a": "audio/x-m4a", + "m4u": "video/vnd.mpegurl", + "m4v": "video/x-m4v", + "ma": "application/mathematica", + "mag": "application/vnd.ecowin.chart", + "maker": "application/vnd.framemaker", + "man": "text/troff", + "mathml": "application/mathml+xml", + "mb": "application/mathematica", + "mbk": "application/vnd.mobius.mbk", + "mbox": "application/mbox", + "mc1": "application/vnd.medcalcdata", + "mcd": "application/vnd.mcd", + "mcurl": "text/vnd.curl.mcurl", + "mdb": "application/x-msaccess", + "mdi": "image/vnd.ms-modi", + "me": "text/troff", + "mesh": "model/mesh", + "mfm": "application/vnd.mfmp", + "mgz": "application/vnd.proteus.magazine", + "mht": "message/rfc822", + "mhtml": "message/rfc822", + "mid": "audio/midi", + "midi": "audio/midi", + "mif": "application/vnd.mif", + "mime": "message/rfc822", + "mj2": "video/mj2", + "mjp2": "video/mj2", + "mkv": "video/x-matroska", + "mlp": "application/vnd.dolby.mlp", + "mmd": "application/vnd.chipnuts.karaoke-mmd", + "mmf": "application/vnd.smaf", + "mmr": "image/vnd.fujixerox.edmics-mmr", + "mny": "application/x-msmoney", + "mobi": "application/x-mobipocket-ebook", + "mov": "video/quicktime", + "movie": "video/x-sgi-movie", + "mp2": "audio/mpeg", + "mp2a": "audio/mpeg", + "mp3": "audio/mpeg", + "mp4": "video/mp4", + "mp4a": "audio/mp4", + "mp4s": "application/mp4", + "mp4v": "video/mp4", + "mpa": "video/mpeg", + "mpc": "application/vnd.mophun.certificate", + "mpe": "video/mpeg", + "mpeg": "video/mpeg", + "mpega": "audio/mpeg", + "mpg": "video/mpeg", + "mpg4": "video/mp4", + "mpga": "audio/mpeg", + "mpkg": "application/vnd.apple.installer+xml", + "mpm": "application/vnd.blueice.multipass", + "mpn": "application/vnd.mophun.application", + "mpp": "application/vnd.ms-project", + "mpt": "application/vnd.ms-project", + "mpy": "application/vnd.ibm.minipay", + "mqy": "application/vnd.mobius.mqy", + "mrc": "application/marc", + "ms": "text/troff", + "mscml": "application/mediaservercontrol+xml", + "mseed": "application/vnd.fdsn.mseed", + "mseq": "application/vnd.mseq", + "msf": "application/vnd.epson.msf", + "msh": "model/mesh", + "msi": "application/x-msdownload", + "msl": "application/vnd.mobius.msl", + "msty": "application/vnd.muvee.style", + "mts": "model/vnd.mts", + "mus": "application/vnd.musician", + "musicxml": "application/vnd.recordare.musicxml+xml", + "mvb": "application/x-msmediaview", + "mwf": "application/vnd.mfer", + "mxf": "application/mxf", + "mxl": "application/vnd.recordare.musicxml", + "mxml": "application/xv+xml", + "mxs": "application/vnd.triscape.mxs", + "mxu": "video/vnd.mpegurl", + "n-gage": "application/vnd.nokia.n-gage.symbian.install", + "nb": "application/mathematica", + "nc": "application/x-netcdf", + "ncx": "application/x-dtbncx+xml", + "ngdat": "application/vnd.nokia.n-gage.data", + "nlu": "application/vnd.neurolanguage.nlu", + "nml": "application/vnd.enliven", + "nnd": "application/vnd.noblenet-directory", + "nns": "application/vnd.noblenet-sealer", + "nnw": "application/vnd.noblenet-web", + "npx": "image/vnd.net-fpx", + "nsf": "application/vnd.lotus-notes", + "numbers": "application/vnd.apple.numbers", + "nws": "message/rfc822", + "o": "application/octet-stream", + "oa2": "application/vnd.fujitsu.oasys2", + "oa3": "application/vnd.fujitsu.oasys3", + "oas": "application/vnd.fujitsu.oasys", + "obd": "application/x-msbinder", + "obj": "application/octet-stream", + "oda": "application/oda", + "odb": "application/vnd.oasis.opendocument.database", + "odc": "application/vnd.oasis.opendocument.chart", + "odf": "application/vnd.oasis.opendocument.formula", + "odft": "application/vnd.oasis.opendocument.formula-template", + "odg": "application/vnd.oasis.opendocument.graphics", + "odi": "application/vnd.oasis.opendocument.image", + "odp": "application/vnd.oasis.opendocument.presentation", + "ods": "application/vnd.oasis.opendocument.spreadsheet", + "odt": "application/vnd.oasis.opendocument.text", + "oga": "audio/ogg", + "ogg": "audio/ogg", + "ogv": "video/ogg", + "ogx": "application/ogg", + "one": "application/msonenote", + "onepkg": "application/onenote", + "onetmp": "application/onenote", + "onetoc": "application/onenote", + "onetoc2": "application/onenote", + "opf": "application/oebps-package+xml", + "oprc": "application/vnd.palm", + "org": "application/vnd.lotus-organizer", + "osf": "application/vnd.yamaha.openscoreformat", + "osfpvg": "application/vnd.yamaha.openscoreformat.osfpvg+xml", + "otc": "application/vnd.oasis.opendocument.chart-template", + "otf": "application/x-font-otf", + "otg": "application/vnd.oasis.opendocument.graphics-template", + "oth": "application/vnd.oasis.opendocument.text-web", + "oti": "application/vnd.oasis.opendocument.image-template", + "otm": "application/vnd.oasis.opendocument.text-master", + "otp": "application/vnd.oasis.opendocument.presentation-template", + "ots": "application/vnd.oasis.opendocument.spreadsheet-template", + "ott": "application/vnd.oasis.opendocument.text-template", + "oxt": "application/vnd.openofficeorg.extension", + "p": "text/x-pascal", + "p10": "application/pkcs10", + "p12": "application/x-pkcs12", + "p7b": "application/x-pkcs7-certificates", + "p7c": "application/pkcs7-mime", + "p7m": "application/pkcs7-mime", + "p7r": "application/x-pkcs7-certreqresp", + "p7s": "application/pkcs7-signature", + "pas": "text/x-pascal", + "pages": "application/vnd.apple.pages", + "pbd": "application/vnd.powerbuilder6", + "pbm": "image/x-portable-bitmap", + "pcf": "application/x-font-pcf", + "pcl": "application/vnd.hp-pcl", + "pclxl": "application/vnd.hp-pclxl", + "pct": "image/x-pict", + "pcurl": "application/vnd.curl.pcurl", + "pcx": "image/x-pcx", + "pdb": "application/vnd.palm", + "pdf": "application/pdf", + "pfa": "application/x-font-type1", + "pfb": "application/x-font-type1", + "pfm": "application/x-font-type1", + "pfr": "application/font-tdpfr", + "pfx": "application/x-pkcs12", + "pgm": "image/x-portable-graymap", + "pgn": "application/x-chess-pgn", + "pgp": "application/pgp-encrypted", + "pic": "image/x-pict", + "pkg": "application/octet-stream", + "pki": "application/pkixcmp", + "pkipath": "application/pkix-pkipath", + "pl": "text/plain", + "plb": "application/vnd.3gpp.pic-bw-large", + "plc": "application/vnd.mobius.plc", + "plf": "application/vnd.pocketlearn", + "pls": "application/pls+xml", + "plt": "Application/octet-stream", + "pml": "application/vnd.ctc-posml", + "png": "image/png", + "pnm": "image/x-portable-anymap", + "portpkg": "application/vnd.macports.portpkg", + "pot": "application/vnd.ms-powerpoint", + "potm": "application/vnd.ms-powerpoint.template.macroenabled.12", + "potx": "application/vnd.openxmlformats-officedocument.presentationml.template", + "ppa": "application/vnd.ms-powerpoint", + "ppam": "application/vnd.ms-powerpoint.addin.macroenabled.12", + "ppd": "application/vnd.cups-ppd", + "ppm": "image/x-portable-pixmap", + "pps": "application/vnd.ms-powerpoint", + "ppsm": "application/vnd.ms-powerpoint.slideshow.macroenabled.12", + "ppsx": "application/vnd.openxmlformats-officedocument.presentationml.slideshow", + "ppt": "application/vnd.ms-powerpoint", + "pptm": "application/vnd.ms-powerpoint.presentation.macroenabled.12", + "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation", + "pqa": "application/vnd.palm", + "prc": "application/x-mobipocket-ebook", + "pre": "application/vnd.lotus-freelance", + "prf": "application/pics-rules", + "ps": "application/postscript", + "psb": "application/vnd.3gpp.pic-bw-small", + "psd": "image/vnd.adobe.photoshop", + "psf": "application/x-font-linux-psf", + "ptid": "application/vnd.pvi.ptid1", + "pub": "application/x-mspublisher", + "pvb": "application/vnd.3gpp.pic-bw-var", + "pwn": "application/vnd.3m.post-it-notes", + "pwz": "application/vnd.ms-powerpoint", + "py": "text/x-python", + "pya": "audio/vnd.ms-playready.media.pya", + "pyc": "application/x-python-code", + "pyo": "application/x-python-code", + "pyv": "video/vnd.ms-playready.media.pyv", + "qam": "application/vnd.epson.quickanime", + "qbo": "application/vnd.intu.qbo", + "qfx": "application/vnd.intu.qfx", + "qps": "application/vnd.publishare-delta-tree", + "qt": "video/quicktime", + "qwd": "application/vnd.quark.quarkxpress", + "qwt": "application/vnd.quark.quarkxpress", + "qxb": "application/vnd.quark.quarkxpress", + "qxd": "application/vnd.quark.quarkxpress", + "qxl": "application/vnd.quark.quarkxpress", + "qxt": "application/vnd.quark.quarkxpress", + "ra": "audio/x-pn-realaudio", + "ram": "audio/x-pn-realaudio", + "rar": "application/x-rar-compressed", + "ras": "image/x-cmu-raster", + "rcprofile": "application/vnd.ipunplugged.rcprofile", + "rdf": "application/rdf+xml", + "rdz": "application/vnd.data-vision.rdz", + "rep": "application/vnd.businessobjects", + "res": "application/x-dtbresource+xml", + "rgb": "image/x-rgb", + "rif": "application/reginfo+xml", + "rl": "application/resource-lists+xml", + "rlc": "image/vnd.fujixerox.edmics-rlc", + "rld": "application/resource-lists-diff+xml", + "rm": "application/vnd.rn-realmedia", + "rmi": "audio/midi", + "rmp": "audio/x-pn-realaudio-plugin", + "rms": "application/vnd.jcp.javame.midlet-rms", + "rnc": "application/relax-ng-compact-syntax", + "roff": "text/troff", + "rpm": "application/x-rpm", + "rpss": "application/vnd.nokia.radio-presets", + "rpst": "application/vnd.nokia.radio-preset", + "rq": "application/sparql-query", + "rs": "application/rls-services+xml", + "rsd": "application/rsd+xml", + "rss": "application/rss+xml", + "rtf": "application/rtf", + "rtx": "text/richtext", + "rv": "video/vnd.rn-realvideo", + "s": "text/x-asm", + "saf": "application/vnd.yamaha.smaf-audio", + "sbml": "application/sbml+xml", + "sc": "application/vnd.ibm.secure-container", + "scd": "application/x-msschedule", + "scm": "application/vnd.lotus-screencam", + "scq": "application/scvp-cv-request", + "scs": "application/scvp-cv-response", + "scurl": "text/vnd.curl.scurl", + "sda": "application/vnd.stardivision.draw", + "sdc": "application/vnd.stardivision.calc", + "sdd": "application/vnd.stardivision.impress", + "sdkd": "application/vnd.solent.sdkm+xml", + "sdkm": "application/vnd.solent.sdkm+xml", + "sdp": "application/sdp", + "sdw": "application/vnd.stardivision.writer", + "see": "application/vnd.seemail", + "seed": "application/vnd.fdsn.seed", + "sema": "application/vnd.sema", + "semd": "application/vnd.semd", + "semf": "application/vnd.semf", + "ser": "application/java-serialized-object", + "setpay": "application/set-payment-initiation", + "setreg": "application/set-registration-initiation", + "sfd-hdstx": "application/vnd.hydrostatix.sof-data", + "sfs": "application/vnd.spotfire.sfs", + "sgl": "application/vnd.stardivision.writer-global", + "sgm": "text/sgml", + "sgml": "text/sgml", + "sh": "application/x-sh", + "shar": "application/x-shar", + "shf": "application/shf+xml", + "si": "text/vnd.wap.si", + "sic": "application/vnd.wap.sic", + "sig": "application/pgp-signature", + "silo": "model/mesh", + "sis": "application/vnd.symbian.install", + "sisx": "application/vnd.symbian.install", + "sit": "application/x-stuffit", + "sitx": "application/x-stuffitx", + "skd": "application/vnd.koan", + "skm": "application/vnd.koan", + "skp": "application/vnd.koan", + "skt": "application/vnd.koan", + "sl": "text/vnd.wap.sl", + "slc": "application/vnd.wap.slc", + "sldm": "application/vnd.ms-powerpoint.slide.macroenabled.12", + "sldx": "application/vnd.openxmlformats-officedocument.presentationml.slide", + "slt": "application/vnd.epson.salt", + "smf": "application/vnd.stardivision.math", + "smi": "application/smil+xml", + "smil": "application/smil+xml", + "snd": "audio/basic", + "snf": "application/x-font-snf", + "so": "application/octet-stream", + "spc": "application/x-pkcs7-certificates", + "spf": "application/vnd.yamaha.smaf-phrase", + "spl": "application/x-futuresplash", + "spot": "text/vnd.in3d.spot", + "spp": "application/scvp-vp-response", + "spq": "application/scvp-vp-request", + "spx": "audio/ogg", + "src": "application/x-wais-source", + "srx": "application/sparql-results+xml", + "sse": "application/vnd.kodak-descriptor", + "ssf": "application/vnd.epson.ssf", + "ssml": "application/ssml+xml", + "stc": "application/vnd.sun.xml.calc.template", + "std": "application/vnd.sun.xml.draw.template", + "stf": "application/vnd.wt.stf", + "sti": "application/vnd.sun.xml.impress.template", + "stk": "application/hyperstudio", + "stl": "application/vnd.ms-pki.stl", + "str": "application/vnd.pg.format", + "stw": "application/vnd.sun.xml.writer.template", + "sus": "application/vnd.sus-calendar", + "susp": "application/vnd.sus-calendar", + "sv4cpio": "application/x-sv4cpio", + "sv4crc": "application/x-sv4crc", + "svd": "application/vnd.svd", + "svg": "image/svg+xml", + "svgz": "image/svg+xml", + "swa": "application/x-director", + "swf": "application/x-shockwave-flash", + "swi": "application/vnd.arastra.swi", + "sxc": "application/vnd.sun.xml.calc", + "sxd": "application/vnd.sun.xml.draw", + "sxg": "application/vnd.sun.xml.writer.global", + "sxi": "application/vnd.sun.xml.impress", + "sxm": "application/vnd.sun.xml.math", + "sxw": "application/vnd.sun.xml.writer", + "t": "text/troff", + "tao": "application/vnd.tao.intent-module-archive", + "tar": "application/x-tar", + "tcap": "application/vnd.3gpp2.tcap", + "tcl": "application/x-tcl", + "teacher": "application/vnd.smart.teacher", + "tex": "application/x-tex", + "texi": "application/x-texinfo", + "texinfo": "application/x-texinfo", + "text": "text/plain", + "tfm": "application/x-tex-tfm", + "tgz": "application/x-gzip", + "tif": "image/tiff", + "tiff": "image/tiff", + "tmo": "application/vnd.tmobile-livetv", + "torrent": "application/x-bittorrent", + "tpl": "application/vnd.groove-tool-template", + "tpt": "application/vnd.trid.tpt", + "tr": "text/troff", + "tra": "application/vnd.trueapp", + "trm": "application/x-msterminal", + "ts": "video/MP2T", + "tsv": "text/tab-separated-values", + "ttc": "application/x-font-ttf", + "ttf": "application/x-font-ttf", + "twd": "application/vnd.simtech-mindmapper", + "twds": "application/vnd.simtech-mindmapper", + "txd": "application/vnd.genomatix.tuxedo", + "txf": "application/vnd.mobius.txf", + "txt": "text/plain", + "u32": "application/x-authorware-bin", + "udeb": "application/x-debian-package", + "ufd": "application/vnd.ufdl", + "ufdl": "application/vnd.ufdl", + "umj": "application/vnd.umajin", + "unityweb": "application/vnd.unity", + "uoml": "application/vnd.uoml+xml", + "uri": "text/uri-list", + "uris": "text/uri-list", + "urls": "text/uri-list", + "ustar": "application/x-ustar", + "utz": "application/vnd.uiq.theme", + "uu": "text/x-uuencode", + "vcd": "application/x-cdlink", + "vcf": "text/x-vcard", + "vcg": "application/vnd.groove-vcard", + "vcs": "text/x-vcalendar", + "vcx": "application/vnd.vcx", + "vis": "application/vnd.visionary", + "viv": "video/vnd.vivo", + "vor": "application/vnd.stardivision.writer", + "vox": "application/x-authorware-bin", + "vrml": "model/vrml", + "vsd": "application/vnd.visio", + "vsf": "application/vnd.vsf", + "vss": "application/vnd.visio", + "vst": "application/vnd.visio", + "vsw": "application/vnd.visio", + "vtu": "model/vnd.vtu", + "vxml": "application/voicexml+xml", + "w3d": "application/x-director", + "wad": "application/x-doom", + "wav": "audio/x-wav", + "wax": "audio/x-ms-wax", + "wbmp": "image/vnd.wap.wbmp", + "wbs": "application/vnd.criticaltools.wbs+xml", + "wbxml": "application/vnd.wap.wbxml", + "wcm": "application/vnd.ms-works", + "wdb": "application/vnd.ms-works", + "webm": "video/webm", + "wiz": "application/msword", + "wks": "application/vnd.ms-works", + "wm": "video/x-ms-wm", + "wma": "audio/x-ms-wma", + "wmd": "application/x-ms-wmd", + "wmf": "application/x-msmetafile", + "wml": "text/vnd.wap.wml", + "wmlc": "application/vnd.wap.wmlc", + "wmls": "text/vnd.wap.wmlscript", + "wmlsc": "application/vnd.wap.wmlscriptc", + "wmv": "video/x-ms-wmv", + "wmx": "video/x-ms-wmx", + "wmz": "application/x-ms-wmz", + "wpd": "application/vnd.wordperfect", + "wpl": "application/vnd.ms-wpl", + "wps": "application/vnd.ms-works", + "wqd": "application/vnd.wqd", + "wri": "application/x-mswrite", + "wrl": "model/vrml", + "wsdl": "application/wsdl+xml", + "wspolicy": "application/wspolicy+xml", + "wtb": "application/vnd.webturbo", + "wvx": "video/x-ms-wvx", + "x32": "application/x-authorware-bin", + "x3d": "application/vnd.hzn-3d-crossword", + "xap": "application/x-silverlight-app", + "xar": "application/vnd.xara", + "xbap": "application/x-ms-xbap", + "xbd": "application/vnd.fujixerox.docuworks.binder", + "xbm": "image/x-xbitmap", + "xdm": "application/vnd.syncml.dm+xml", + "xdp": "application/vnd.adobe.xdp+xml", + "xdw": "application/vnd.fujixerox.docuworks", + "xenc": "application/xenc+xml", + "xer": "application/patch-ops-error+xml", + "xfdf": "application/vnd.adobe.xfdf", + "xfdl": "application/vnd.xfdl", + "xht": "application/xhtml+xml", + "xhtml": "application/xhtml+xml", + "xhvml": "application/xv+xml", + "xif": "image/vnd.xiff", + "xla": "application/vnd.ms-excel", + "xlam": "application/vnd.ms-excel.addin.macroenabled.12", + "xlb": "application/vnd.ms-excel", + "xlc": "application/vnd.ms-excel", + "xlm": "application/vnd.ms-excel", + "xls": "application/vnd.ms-excel", + "xlsb": "application/vnd.ms-excel.sheet.binary.macroenabled.12", + "xlsm": "application/vnd.ms-excel.sheet.macroenabled.12", + "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + "xlt": "application/vnd.ms-excel", + "xltm": "application/vnd.ms-excel.template.macroenabled.12", + "xltx": "application/vnd.openxmlformats-officedocument.spreadsheetml.template", + "xlw": "application/vnd.ms-excel", + "xml": "application/xml", + "xo": "application/vnd.olpc-sugar", + "xop": "application/xop+xml", + "xpdl": "application/xml", + "xpi": "application/x-xpinstall", + "xpm": "image/x-xpixmap", + "xpr": "application/vnd.is-xpr", + "xps": "application/vnd.ms-xpsdocument", + "xpw": "application/vnd.intercon.formnet", + "xpx": "application/vnd.intercon.formnet", + "xsl": "application/xml", + "xslt": "application/xslt+xml", + "xsm": "application/vnd.syncml+xml", + "xspf": "application/xspf+xml", + "xul": "application/vnd.mozilla.xul+xml", + "xvm": "application/xv+xml", + "xvml": "application/xv+xml", + "xwd": "image/x-xwindowdump", + "xyz": "chemical/x-xyz", + "zaz": "application/vnd.zzazz.deck+xml", + "zip": "application/zip", + "zir": "application/vnd.zul", + "zirz": "application/vnd.zul", + "zmm": "application/vnd.handheld-entertainment+xml" +} diff --git a/projects/ucap-webmessenger-app/src/environments/environment.type.ts b/projects/ucap-webmessenger-app/src/environments/environment.type.ts index d3f07688..2339fd0b 100644 --- a/projects/ucap-webmessenger-app/src/environments/environment.type.ts +++ b/projects/ucap-webmessenger-app/src/environments/environment.type.ts @@ -333,6 +333,11 @@ export interface Environment { max: number; }; }; + modules: { + event: { + acceptableFileExtensions: string[]; + }; + }; } export function build(production: boolean): Environment { @@ -374,6 +379,107 @@ export function build(production: boolean): Environment { min: 1, max: 59999 } + }, + modules: { + event: { + acceptableFileExtensions: [ + // 문서1 + 'csv', + 'd01', + 'doc', + 'docx', + 'dot', + 'dotx', + 'hwp', + 'log', + 'one', + 'pdf', + 'pot', + 'potx', + 'pps', + 'ppsx', + 'ppt', + 'pptx', + 'ps', + // 문서2 + 'rtf', + 'txt', + 'vcf', + 'xls', + 'xlsx', + 'xlt', + 'xltx', + 'xlsm', + 'ods', + // CAD + 'asc', + 'dwg', + 'dws', + 'dwt', + 'dxf', + 'pgp', + 'plt', + // MAC + 'pages', + 'keynote', + // 압축 + '7z', + 'a01', + 'a02', + 'a03', + 'alz', + 'egg', + 'gz', + 'rar', + 'tar', + 'zip', + // 오디오 + 'aac', + 'aiff', + 'flac', + 'm4a', + 'mp2', + 'mp3', + 'mpega', + 'mpga', + 'ogg', + 'wma', + 'wav', + // 플래쉬 + 'fla', + 'flv', + 'swf', + // 이미지 + 'ai', + 'bmp', + 'cdr', + 'emf', + 'eps', + 'gif', + 'jpeg', + 'jpg', + 'png', + 'psd', + 'tif', + 'tiff', + 'wmf', + // 동영상 + '3gp', + 'avi', + 'm4v', + 'mkv', + 'mov', + 'mp4', + 'mpeg', + 'mpg', + 'rv', + 'ts', + 'webm', + 'wmv', + // 폴더전송용 + 'zdr' + ] + } } }; } diff --git a/projects/ucap-webmessenger-app/src/styles.scss b/projects/ucap-webmessenger-app/src/styles.scss index 832b9c56..9f86bf62 100644 --- a/projects/ucap-webmessenger-app/src/styles.scss +++ b/projects/ucap-webmessenger-app/src/styles.scss @@ -1,4 +1,4 @@ -@import 'ucap-ui'; +@import '~@ucap-webmessenger-scss/ui/ucap-ui'; @import 'assets/scss/ucap'; diff --git a/projects/ucap-webmessenger-core/src/lib/utils/mime.util.ts b/projects/ucap-webmessenger-core/src/lib/utils/mime.util.ts deleted file mode 100644 index c90f7cb8..00000000 --- a/projects/ucap-webmessenger-core/src/lib/utils/mime.util.ts +++ /dev/null @@ -1,169 +0,0 @@ -const MimeExtensions: Map = new Map([ - ['application/envoy', 'evy'], - ['application/fractals', 'fif'], - ['application/futuresplash', 'spl'], - ['application/hta', 'hta'], - ['application/internet-property-stream', 'acx'], - ['application/mac-binhex40', 'hqx'], - ['application/msword', 'doc'], - ['application/octet-stream', 'bin'], - ['application/oda', 'oda'], - ['application/olescript', 'axs'], - ['application/pdf', 'pdf'], - ['application/pics-rules', 'prf'], - ['application/pkcs10', 'p10'], - ['application/pkix-crl', 'crl'], - ['application/postscript', 'ps'], - ['application/rtf', 'rtf'], - ['application/set-payment-initiation', 'setpay'], - ['application/set-registration-initiation', 'setreg'], - ['application/vnd.ms-access', 'mdb'], - ['application/vnd.ms-excel', 'xls'], - ['application/vnd.ms-excel.addin.macroEnabled.12', 'xlam'], - ['application/vnd.ms-excel.sheet.binary.macroEnabled.12', 'xlsb'], - ['application/vnd.ms-excel.sheet.macroEnabled.12', 'xlsm'], - ['application/vnd.ms-excel.template.macroEnabled.12', 'xltm'], - ['application/vnd.ms-outlook', 'msg'], - ['application/vnd.ms-pkicertstore', 'sst'], - ['application/vnd.ms-pkiseccat', 'cat'], - ['application/vnd.ms-pkistl', 'stl'], - ['application/vnd.ms-powerpoint', 'ppt'], - ['application/vnd.ms-powerpoint.addin.macroEnabled.12', 'ppam'], - ['application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'pptm'], - ['application/vnd.ms-powerpoint.slideshow.macroEnabled.12', 'ppsm'], - ['application/vnd.ms-powerpoint.template.macroEnabled.12', 'potm'], - ['application/vnd.ms-project', 'mpp'], - ['application/vnd.ms-word.document.macroEnabled.12', 'docm'], - ['application/vnd.ms-word.template.macroEnabled.12', 'dotm'], - ['application/vnd.ms-works', 'wks'], - [ - 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - 'pptx' - ], - [ - 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', - 'ppsx' - ], - [ - 'application/vnd.openxmlformats-officedocument.presentationml.template', - 'potx' - ], - ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsx'], - [ - 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', - 'xltx' - ], - [ - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'docx' - ], - [ - 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', - 'dotx' - ], - ['application/winhlp', 'hlp'], - ['application/x-bcpio', 'bcpio'], - ['application/x-cdf', 'cdf'], - ['application/x-compress', 'z'], - ['application/x-compressed', 'tgz'], - ['application/x-cpio', 'cpio'], - ['application/x-csh', 'csh'], - ['application/x-director', 'dcr'], - ['application/x-dvi', 'dvi'], - ['application/x-gtar', 'gtar'], - ['application/x-gzip', 'gz'], - ['application/x-hdf', 'hdf'], - ['application/x-internet-signup', 'isp'], - ['application/x-iphone', 'iii'], - ['application/x-javascript', 'js'], - ['application/x-latex', 'latex'], - ['application/x-msaccess', 'mdb'], - ['application/x-mscardfile', 'crd'], - ['application/x-msclip', 'clp'], - ['application/x-msdownload', 'dll'], - ['application/x-msmediaview', 'mvb'], - ['application/x-msmetafile', 'wmf'], - ['application/x-msmoney', 'mny'], - ['application/x-mspublisher', 'pub'], - ['application/x-msschedule', 'scd'], - ['application/x-msterminal', 'trm'], - ['application/x-mswrite', 'wri'], - ['application/x-netcdf', 'cdf'], - ['application/x-perfmon', 'pma'], - ['application/x-pkcs12', 'p12'], - ['application/x-pkcs7-certificates', 'p7b'], - ['application/x-pkcs7-certreqresp', 'p7r'], - ['application/x-pkcs7-mime', 'p7m'], - ['application/x-pkcs7-signature', 'p7s'], - ['application/x-sh', 'sh'], - ['application/x-shar', 'shar'], - ['application/x-shockwave-flash', 'swf'], - ['application/x-stuffit', 'sit'], - ['application/x-sv4cpio', 'sv4cpio'], - ['application/x-sv4crc', 'sv4crc'], - ['application/x-tar', 'tar'], - ['application/x-tcl', 'tcl'], - ['application/x-tex', 'tex'], - ['application/x-texinfo', 'texinfo'], - ['application/x-troff', 'roff'], - ['application/x-troff-man', 'man'], - ['application/x-troff-me', 'me'], - ['application/x-troff-ms', 'ms'], - ['application/x-ustar', 'ustar'], - ['application/x-wais-source', 'src'], - ['application/x-x509-ca-cert', 'crt'], - ['application/ynd.ms-pkipko', 'pko'], - ['application/zip', 'zip'], - ['audio/basic', 'au'], - ['audio/mid', 'mid'], - ['audio/mpeg', 'mp3'], - ['audio/x-aiff', 'aiff'], - ['audio/x-mpegurl', 'm3u'], - ['audio/x-pn-realaudio', 'ra'], - ['audio/x-wav', 'wav'], - ['image/bmp', 'bmp'], - ['image/cis-cod', 'cod'], - ['image/gif', 'gif'], - ['image/ief', 'ief'], - ['image/jpeg', 'jpg'], - ['image/pipeg', 'jfif'], - ['image/svg+xml', 'svg'], - ['image/tiff', 'tiff'], - ['image/x-cmu-raster', 'ras'], - ['image/x-cmx', 'cmx'], - ['image/x-icon', 'ico'], - ['image/x-portable-anymap', 'pnm'], - ['image/x-portable-bitmap', 'pbm'], - ['image/x-portable-graymap', 'pgm'], - ['image/x-portable-pixmap', 'ppm'], - ['image/x-rgb', 'rgb'], - ['image/x-xbitmap', 'xbm'], - ['image/x-xpixmap', 'xpm'], - ['image/x-xwindowdump', 'xwd'], - ['message/rfc822', 'mhtml'], - ['text/css', 'css'], - ['text/h323', '323'], - ['text/html', 'html'], - ['text/iuls', 'uls'], - ['text/plain', 'txt'], - ['text/richtext', 'rtx'], - ['text/scriptlet', 'sct'], - ['text/tab-separated-values', 'tsv'], - ['text/webviewhtml', 'htt'], - ['text/x-component', 'htc'], - ['text/x-setext', 'etx'], - ['text/x-vcard', 'vcf'], - ['video/mp4', 'mp4'], - ['video/mpeg', 'mpeg'], - ['video/quicktime', 'mov'], - ['video/x-ms-asf', 'asf'], - ['video/x-msvideo', 'avi'], - ['video/x-sgi-movie', 'movie'], - ['x-world/x-vrml', 'vrml'] -]); - -export class MimeUtil { - public static fileExtensionFromMime(mime: string): string { - return MimeExtensions.get(mime); - } -} diff --git a/projects/ucap-webmessenger-core/src/public-api.ts b/projects/ucap-webmessenger-core/src/public-api.ts index 74c4c846..e23278e6 100644 --- a/projects/ucap-webmessenger-core/src/public-api.ts +++ b/projects/ucap-webmessenger-core/src/public-api.ts @@ -20,5 +20,4 @@ export * from './lib/types/status-code.type'; export * from './lib/types/status-type.type'; export * from './lib/types/video-conference-type.type'; -export * from './lib/utils/mime.util'; export * from './lib/utils/string.util'; diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/form.component.ts b/projects/ucap-webmessenger-ui-chat/src/lib/components/form.component.ts index 5288b19d..6f69bb1d 100644 --- a/projects/ucap-webmessenger-ui-chat/src/lib/components/form.component.ts +++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/form.component.ts @@ -23,6 +23,9 @@ export class FormComponent implements OnInit { @ViewChild('replyForm', { static: false }) replyForm: NgForm; + @ViewChild('replyInput', { static: false }) + replyInput: ElementRef; + @ViewChild('fileInput', { static: false }) fileInput: ElementRef; @@ -30,6 +33,10 @@ export class FormComponent implements OnInit { ngOnInit() {} + focus(): void { + this.replyInput.nativeElement.focus(); + } + onSend(event: Event) { event.preventDefault(); diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/recall.component.html b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/recall.component.html index 20979451..5cf7c2be 100644 --- a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/recall.component.html +++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/recall.component.html @@ -1,5 +1,4 @@
- - 회수된 메시지 - + redo + 회수된 메시지
diff --git a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/recall.component.scss b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/recall.component.scss index 0980d504..8f6cc6e6 100644 --- a/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/recall.component.scss +++ b/projects/ucap-webmessenger-ui-chat/src/lib/components/message-box/recall.component.scss @@ -1,4 +1,21 @@ .bubble-main { padding: 14px; text-align:left; -} \ No newline at end of file + .icon-recall{ + width: 30px; + height: 30px; + display: inline-flex; + border-radius: 50%; + background: #999999; + align-items: center; + justify-content: center; + margin-right: 6px; + i{ + color:#ffffff; + font-size:20px; + } + } + .recall-msg{ + color:#999999; + } +} diff --git a/projects/ucap-webmessenger-ui/src/lib/dialogs/alert.dialog.component.scss b/projects/ucap-webmessenger-ui/src/lib/dialogs/alert.dialog.component.scss index e69de29b..f038cb15 100644 --- a/projects/ucap-webmessenger-ui/src/lib/dialogs/alert.dialog.component.scss +++ b/projects/ucap-webmessenger-ui/src/lib/dialogs/alert.dialog.component.scss @@ -0,0 +1,22 @@ +.mat-card{ + padding:10px; + .mat-card-header{ + margin-bottom:20px; + .mat-card-title{ + margin:0 -16px; + padding-bottom:10px; + } + } + .button-farm { + text-align:right; + .mat-primary{ + margin-left:4px; + } + } +} + +form{ +.mat-form-field{ + width:100%; + } +}