diff --git a/electron-projects/ucap-webmessenger-electron/src/app/AppWindow.ts b/electron-projects/ucap-webmessenger-electron/src/app/AppWindow.ts
index 6f69c305..25c384a2 100644
--- a/electron-projects/ucap-webmessenger-electron/src/app/AppWindow.ts
+++ b/electron-projects/ucap-webmessenger-electron/src/app/AppWindow.ts
@@ -88,6 +88,10 @@ export class AppWindow {
// windows Focus or Blur state detacted.
this.window.on(ElectronBrowserWindowChannel.Focus, () => {
+ if (__WIN32__) {
+ this.window.flashFrame(false);
+ }
+
this.window.webContents.send(
WindowStateChannel.FocuseChanged,
ElectronBrowserWindowChannel.Focus
@@ -122,9 +126,6 @@ export class AppWindow {
this.window.hide();
// }
});
- this.window.on(ElectronBrowserWindowChannel.Focus, e => {
- this.window.flashFrame(false);
- });
}
if (__WIN32__) {
diff --git a/electron-projects/ucap-webmessenger-electron/src/index.ts b/electron-projects/ucap-webmessenger-electron/src/index.ts
index 2784fe61..ad714b2f 100644
--- a/electron-projects/ucap-webmessenger-electron/src/index.ts
+++ b/electron-projects/ucap-webmessenger-electron/src/index.ts
@@ -7,7 +7,8 @@ import {
shell,
dialog,
BrowserWindow,
- clipboard
+ clipboard,
+ crashReporter
} from 'electron';
import path from 'path';
import fse from 'fs-extra';
@@ -133,6 +134,12 @@ function getUptimeInSeconds() {
return (now() - launchTime) / 1000;
}
+crashReporter.start({
+ productName: app.name,
+ companyName: app.getVersion(),
+ submitURL: 'https//localhost'
+});
+
process.on('uncaughtException', (error: Error) => {
// error = withSourceMappedStack(error);
// reportError(error, getExtraErrorContext());
@@ -212,6 +219,7 @@ function createWindow() {
}
window.onClose(() => {
+ process.crash();
appWindow = null;
if (!__DARWIN__ && !preventQuit) {
app.quit();
@@ -671,9 +679,18 @@ ipcMain.on(
properties: ['openDirectory']
})
.then(value => {
- event.returnValue = value.filePaths[0];
+ if (!!value) {
+ event.returnValue = value.filePaths[0];
+ } else {
+ log.error(
+ '[IpcMain / SelectDirectory]',
+ 'Value is null or undefined'
+ );
+ event.returnValue = undefined;
+ }
})
.catch(reason => {
+ log.error('[IpcMain / SelectDirectory]', reason);
event.returnValue = undefined;
});
}
diff --git a/package.json b/package.json
index c4dcd1f2..2e3a1eda 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "ucap-webmessenger",
- "version": "1.0.13",
+ "version": "1.0.14",
"author": {
"name": "LG CNS",
"email": "lgucap@lgcns.com"
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.html b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.html
index 2ea5f588..1d51a591 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.html
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/left-sidenav/organization.component.html
@@ -1,5 +1,5 @@
-
-
+
+
{{ 'organization.chart' | translate }}
{{ getRoomNameByRoomUser(_roomUserInfos) }}
+
+
+ {{ getSingleRoomUserInfosGrade(_roomUserInfos) }}
+
+ 0 &&
+ !!_roomUserInfos[0].lineNumber &&
+ _roomUserInfos[0].lineNumber.trim().length > 0
+ "
+ (click)="onClickSendClickToCall('LINE')"
+ class="callable"
+ >
+ / {{ getSingleRoomUserInfosLineNumber(_roomUserInfos) }}
+
+ 0 &&
+ !!_roomUserInfos[0].hpNumber &&
+ _roomUserInfos[0].hpNumber.trim().length > 0
+ "
+ (click)="onClickSendClickToCall('MOBILE')"
+ class="callable"
+ >
+ / {{ getSingleRoomUserInfosHpNumber(_roomUserInfos) }}
+
+
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/main-contents/messages.component.scss b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/main-contents/messages.component.scss
index 72bde422..61e48675 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/main-contents/messages.component.scss
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/main-contents/messages.component.scss
@@ -77,6 +77,14 @@
font-size: 0.94rem;
line-height: normal;
@include ellipsis(1);
+
+ .more-info {
+ font-size: 0.9rem;
+ color: #656565;
+ .callable {
+ cursor: pointer;
+ }
+ }
}
.room-type {
font-size: 0.9rem;
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/main-contents/messages.component.ts b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/main-contents/messages.component.ts
index 27fe6c3e..f5c7cb0e 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/main-contents/messages.component.ts
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/components/main-contents/messages.component.ts
@@ -27,7 +27,8 @@ import {
AlertSnackbarComponent,
AlertSnackbarData,
TranslateService as UiTranslateService,
- TranslatePipe as UiTranslatePipe
+ TranslatePipe as UiTranslatePipe,
+ StringFormatterPhonePipe
} from '@ucap-webmessenger/ui';
import { Store, select } from '@ngrx/store';
import { NGXLogger } from 'ngx-logger';
@@ -143,6 +144,7 @@ import {
EventDownloadRequest
} from '@ucap-webmessenger/api-message';
import moment from 'moment';
+import { start } from 'repl';
@Component({
selector: 'app-layout-messenger-messages',
@@ -156,6 +158,8 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
openProfile = new EventEmitter();
@Output()
closeRightDrawer = new EventEmitter();
+ @Output()
+ sendCall = new EventEmitter();
@ViewChild('chatSearch', { static: false })
private chatSearch: SearchComponent;
@@ -532,6 +536,46 @@ export class MessagesComponent implements OnInit, OnDestroy, AfterViewInit {
return roomName;
}
+ getSingleRoomUserInfosGrade(roomUserInfos: any[]) {
+ if (roomUserInfos.length > 0) {
+ return new UiTranslatePipe(
+ this.uiTranslateService,
+ this.changeDetectorRef
+ ).transform(roomUserInfos, 'grade', ',');
+ }
+ return '';
+ }
+ getSingleRoomUserInfosLineNumber(roomUserInfos: any[]) {
+ if (
+ roomUserInfos.length > 0 &&
+ !!roomUserInfos[0].lineNumber &&
+ roomUserInfos[0].lineNumber.trim().length > 0
+ ) {
+ return `${new StringFormatterPhonePipe().transform(
+ roomUserInfos[0].lineNumber
+ )}`;
+ }
+ }
+ getSingleRoomUserInfosHpNumber(roomUserInfos: any[]) {
+ if (
+ roomUserInfos.length > 0 &&
+ !!roomUserInfos[0].hpNumber &&
+ roomUserInfos[0].hpNumber.trim().length > 0
+ ) {
+ return `${new StringFormatterPhonePipe().transform(
+ roomUserInfos[0].hpNumber
+ )}`;
+ }
+ }
+
+ onClickSendClickToCall(type: string) {
+ if(type === 'LINE') {
+ this.sendCall.emit(this._roomUserInfos[0].lineNumber);
+ } else if(type === 'MOBILE') {
+ this.sendCall.emit(this._roomUserInfos[0].hpNumber);
+ }
+ }
+
/** 대화전송 가능한 방인지 판단 */
getEnableSend() {
if (!this.roomInfoSubject.value) {
diff --git a/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.scss b/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.scss
index ce98e53e..4c5b57a8 100644
--- a/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.scss
+++ b/projects/ucap-webmessenger-app/src/app/layouts/messenger/dialogs/chat/create-chat.dialog.component.scss
@@ -91,8 +91,8 @@
}
&-tab {
width: 100%;
- height: 100%;
- border-bottom: 1px solid #dddddd;
+ height: calc(100% - 50px);
+ // border-bottom: 1px solid #dddddd;
position: relative;
&-tree {
display: inline-flex;
diff --git a/projects/ucap-webmessenger-app/src/app/pages/messenger/components/main.page.component.html b/projects/ucap-webmessenger-app/src/app/pages/messenger/components/main.page.component.html
index f565f5a4..95649382 100644
--- a/projects/ucap-webmessenger-app/src/app/pages/messenger/components/main.page.component.html
+++ b/projects/ucap-webmessenger-app/src/app/pages/messenger/components/main.page.component.html
@@ -31,6 +31,7 @@
(openProfile)="onClickOpenProfile($event)"
(gotoDeptTree)="onClickGotoDeptTree($event)"
(closeRightDrawer)="onCloseRightDrawer()"
+ (sendCall)="sendClickToCall($event)"
(createConference)="conferenceCreate($event)"
>
diff --git a/projects/ucap-webmessenger-app/src/app/services/notification.service.ts b/projects/ucap-webmessenger-app/src/app/services/notification.service.ts
index 335b1586..68db247f 100644
--- a/projects/ucap-webmessenger-app/src/app/services/notification.service.ts
+++ b/projects/ucap-webmessenger-app/src/app/services/notification.service.ts
@@ -286,16 +286,15 @@ export class AppNotificationService {
doNoti = false;
}
- // // 포커스 아웃일때 무조건 노티.
- // // Case 1 : 단순 포커스 아웃.
- // // Case 2 : hidden 시 포커스 인 상태이지만 위에서 필터링 됨.
- // console.log(windowState);
- // if (
- // windowState.windowFocusState !==
- // ElectronBrowserWindowChannel.Focus
- // ) {
- // doNoti = true;
- // }
+ // 포커스 아웃일때 무조건 노티.
+ // Case 1 : 단순 포커스 아웃.
+ // Case 2 : hidden 시 포커스 인 상태이지만 위에서 필터링 됨.
+ if (
+ windowState.windowFocusState !==
+ ElectronBrowserWindowChannel.Focus
+ ) {
+ doNoti = true;
+ }
// 방별 알림이 꺼져 있으면 노티 안함. > 우선순위 최상위.
if (
diff --git a/projects/ucap-webmessenger-daesang/src/lib/services/daesang-cipher.service.ts b/projects/ucap-webmessenger-daesang/src/lib/services/daesang-cipher.service.ts
index d5d81d96..fb231098 100644
--- a/projects/ucap-webmessenger-daesang/src/lib/services/daesang-cipher.service.ts
+++ b/projects/ucap-webmessenger-daesang/src/lib/services/daesang-cipher.service.ts
@@ -53,7 +53,8 @@ export class DaesangCipherService {
encryptForSapErp(pvUserKey: string, employeeNum: string): string {
// const txt = '20200221090321_asdfghjk'; // 1QgLAiLqJ6Uo6bE4Qk1o3Yd6mfqxXSnmqXX%2FXLL7DoA%3D
// const txt = '20200221101444_asdfghjk'; // Lz1TIdGTQQMui%2BBHMdj8fatYYhXbwJEL%2BJ91C7jUWEs%3D
- const str = moment().format('YYYYMMDDHHmmss') + '_' + employeeNum;
+ const str =
+ moment().format('YYYYMMDDHHmmss') + '_' + employeeNum.toUpperCase();
const secretKeyToByteArray: Buffer = Buffer.from(pvUserKey, 'utf8').slice(
0,
16
diff --git a/projects/ucap-webmessenger-ui-settings/src/lib/components/chat.component.ts b/projects/ucap-webmessenger-ui-settings/src/lib/components/chat.component.ts
index 410ef913..e71f9d0c 100644
--- a/projects/ucap-webmessenger-ui-settings/src/lib/components/chat.component.ts
+++ b/projects/ucap-webmessenger-ui-settings/src/lib/components/chat.component.ts
@@ -62,7 +62,9 @@ export class ChatComponent implements OnInit {
this.emit({ ...this.setting, downloadPath: path });
}
})
- .catch(reason => {});
+ .catch(reason => {
+ this.nativeService.appLogging(reason);
+ });
}
private emit(setting: ChatSetting) {