45 lines
1.6 KiB
JavaScript
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);
|
|
}
|
|
});
|