mirror of
https://git.hmsn.ink/kospo/helptalk/api.git
synced 2026-03-20 04:12:22 +09:00
first
This commit is contained in:
154
sample/dev/talk/js/module/variable.js
Normal file
154
sample/dev/talk/js/module/variable.js
Normal file
@@ -0,0 +1,154 @@
|
||||
// 전역 변수
|
||||
|
||||
import {talkEvent} from "./talkEvent.js";
|
||||
|
||||
const global = {
|
||||
/*스톰프*/
|
||||
stomp: null,
|
||||
/*사용자 정보 */
|
||||
user: null,
|
||||
/*현페이지 업무정보*/
|
||||
work: null,
|
||||
/*api url정의*/
|
||||
apiUrl: '',
|
||||
/*헬프톡 생성 옵션*/
|
||||
option: {},
|
||||
/*헬프톡 content 루트 */
|
||||
shadowRoot: null,
|
||||
/*헬프톨 주요 엘리먼트 */
|
||||
element: {},
|
||||
/*채팅 날짜 정의*/
|
||||
currDay: '',
|
||||
/*채팅 상태글 이전 날짜*/
|
||||
yourOldDate: '',
|
||||
/*채팅 본인글 이전 날짜*/
|
||||
mineOldDate: '',
|
||||
/*톡방 메시지 스크롤 위치*/
|
||||
oldScrollPosition: 0,
|
||||
/*스크롤 top < 300 페이징 데이터 호출 여부*/
|
||||
scrollMoreFlag: true,
|
||||
/*채팅방 엘리먼트 변화 감지 하여 자동 스크롤 사용여부*/
|
||||
scrollObserveFlag:true,
|
||||
/* 불필요 변수 */
|
||||
allVNode: [],
|
||||
/* 채팅방 데이터 */
|
||||
talkData: [],
|
||||
/* 소켓 커넥션 및 브로드 캐스드 관리*/
|
||||
channel: null,
|
||||
/* 현재 접속 서버 */
|
||||
currentServer: '',
|
||||
/*시스템 강제 종료 여부*/
|
||||
forceKill: false,
|
||||
/* 채팅글 호출 파라미터 */
|
||||
messageParams: {
|
||||
'talkId': '',
|
||||
'week': 1,
|
||||
'row': 50,
|
||||
'start': 0,
|
||||
},
|
||||
/* 현재 접속 url 파리미터 정보 */
|
||||
requestParams: {},
|
||||
/* 구독 목록 */
|
||||
subscribeList : {},
|
||||
// 파일 구독 목록
|
||||
fileSubscribeList: {},
|
||||
/* 현재 사이트 URL*/
|
||||
currentUrl: '',
|
||||
/* 에러 메시지 함수 */
|
||||
notifier: null,
|
||||
/* 브라우저 탭 아이디 */
|
||||
tabId: '',
|
||||
/* 방 생성자 */
|
||||
chatCreator: null,
|
||||
hub: null,
|
||||
/*클립보드 정보*/
|
||||
clipboardData: null,
|
||||
clipboardObjectUrl: null,
|
||||
// 서비스워커 연결 여부
|
||||
serviceWorkerConnect: false,
|
||||
// 소켓연결 제어
|
||||
reConnect: false,
|
||||
/* 로딩 여부 (새로고침시 reconnect 방지용)*/
|
||||
init: false,
|
||||
checker : {flag: false, inDate: ''},
|
||||
talkParams : (obj) => {
|
||||
return {
|
||||
type: obj.type,
|
||||
insSabun: global.user.sabun,
|
||||
insName : global.user.name,
|
||||
insDate : obj.insDate || '',
|
||||
message: obj.message || '',
|
||||
talkId: obj.talkId,
|
||||
workId: obj.workId,
|
||||
workNm: obj.workNm || '',
|
||||
introOwner: obj.introOwner || '',
|
||||
talkAttachDtos: obj.talkAttachDtos === undefined ? [] : obj.talkAttachDtos,
|
||||
talkMessages: obj.talkMessages,
|
||||
attach: obj.attach,
|
||||
tabId: global.tabId
|
||||
}
|
||||
},
|
||||
/*특정 파라미터 초기화(채팅방 나가기시)*/
|
||||
reset: () => {
|
||||
// 인포 메시지 삭제
|
||||
const systemMessages = global.shadowRoot.querySelectorAll('.system-message');
|
||||
Array.from(systemMessages).forEach((sm) => sm.remove());
|
||||
// 사이드바 원위치
|
||||
global.element.chatSidebar.style.left = 0;
|
||||
// // 채팅 내용 호출 파라미터 초기화
|
||||
global.currDay = ''
|
||||
global.yourOldDate = '';
|
||||
global.mineOldDate = '';
|
||||
// global.messageParams.talkId = '';
|
||||
// global.messageParams.week = 1;
|
||||
global.scrollMoreFlag = true;
|
||||
global.scrollObserveFlag = true;
|
||||
// 검색 비활성화
|
||||
global.searchClose();
|
||||
|
||||
/*작성된 메시지 제거*/
|
||||
const msg = global.element.chatEditor.innerText.trim();
|
||||
if(msg !== '') {
|
||||
const talkId = localStorage.getItem(global.tabId)
|
||||
const _this = global.shadowRoot.querySelector(`div[data-talk-id="${talkId}"]`)
|
||||
const workId = _this.dataset.workId;
|
||||
const workNm = _this.dataset.workNm;
|
||||
talkEvent.send(global.talkParams({
|
||||
type: "UNTYPED",
|
||||
talkId: talkId,
|
||||
workId: workId,
|
||||
workNm: workNm
|
||||
}))
|
||||
|
||||
global.element.chatEditor.innerHTML = '';
|
||||
}
|
||||
|
||||
talkEvent.messageClean();
|
||||
// localstorage 정보 제거
|
||||
localStorage.removeItem(global.tabId)
|
||||
localStorage.removeItem('workId')
|
||||
localStorage.removeItem('workNm')
|
||||
|
||||
},
|
||||
talkClean: () => {
|
||||
//
|
||||
console.log('clean')
|
||||
global.currDay = ''
|
||||
global.yourOldDate = '';
|
||||
global.mineOldDate = '';
|
||||
global.messageParams.talkId = '';
|
||||
global.messageParams.week = 1;
|
||||
global.scrollMoreFlag = true;
|
||||
global.scrollObserveFlag = true;
|
||||
},
|
||||
searchClose: () => {
|
||||
const searchCloseBtn = global.shadowRoot.querySelector('#chat-option.bi-x-lg');
|
||||
if(searchCloseBtn) {
|
||||
searchCloseBtn.click()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
export {global}
|
||||
Reference in New Issue
Block a user