Files
PM_test/views/main/jsm/officialDoc/docSocketManager.js
2026-06-12 17:14:03 +09:00

45 lines
1.6 KiB
JavaScript

import { vars } from '../archive/variable.js';
import { docVars } from './docVariable.js';
import { renderDocViewer } from './docPageRenderer.js';
let socket = vars.socket;
// 변환시작, 변환완료 등 상태에 따른 실시간 UI 변경 처리는 socket.on에서 처리
// 서버에 현재 변환중인 파일 경로를 보내는 등 로직 처리는 working
//// 변환 시작
socket.on('convertDoc_start', (resultData) => {
let resourcePath = resultData.resourcePath;
let state = document.querySelector(`.attach-item[data-resource-path="${resourcePath}"] .state`);
if (!state) return;
state.classList.remove('convert');
state.classList.add('working');
let convertBtnText = state.querySelector('.convert-btn-text');
if (convertBtnText) convertBtnText.innerHTML = '변환중';
});
//// 변환 완료
socket.on('convertPdf_success', async (resultData) => {
let resourcePath = resultData.resourcePath;
docVars.convertingPathArr = resultData.convertingPathArr;
let state = document.querySelector(`.attach-item[data-resource-path="${resourcePath}"] .state`);
if (!state) return;
state.classList.remove('working');
state.classList.add('viewable');
let stateText = state.querySelector('.state-text');
if (stateText) stateText.innerHTML = '열람가능';
let convertBtn = state.querySelector('.convert-btn');
if (convertBtn) convertBtn.remove();
if (docVars.lastClickedListTarget) {
let lastClickedListTargetPath = docVars.lastClickedListTarget.dataset.resourcePath;
if (resourcePath == lastClickedListTargetPath) renderDocViewer(resourcePath, resultData.dataId);
}
});