폴더단위 권한 제어 기능 추가
This commit is contained in:
@@ -12,7 +12,7 @@ import {
|
||||
} from './common.js';
|
||||
import { toggleModal } from './modalManager.js'
|
||||
import { showNotification, toggleContextmenu, toggleContextFocusBox } from './eventManager.js'
|
||||
import { renderMemo, resetViewer } from './pageRenderer.js'
|
||||
import { renderMemo, resetViewer, preparePageRendering } from './pageRenderer.js'
|
||||
|
||||
let listContainer = document.querySelector('.archive-main-center .list-container');
|
||||
|
||||
@@ -476,8 +476,33 @@ export async function createFolder(inputWrap, resourcePath, folderType) {
|
||||
let createFolderRes = await axios.post(`${vars.path_name}/createFolder`, { params: createFolderParams });
|
||||
if (createFolderRes.data.message == 'createFolder_success') {
|
||||
console.log(createFolderRes.data.message);
|
||||
// console.log(res.data.folderPath);
|
||||
// console.log(res.data);
|
||||
|
||||
// 폴더 생성 성공 시 로컬 브라우저 화면 즉시 갱신 (소켓 지연/연결끊김 대비)
|
||||
let userCurPath = (vars.users && vars.socket && vars.users[vars.socket.id]?.curPath) || JSON.parse(vars.userInfoString).curPath || '';
|
||||
let extractedPath = extractPathByLength(userCurPath, 1);
|
||||
|
||||
// 1. 헤더 버튼 갱신
|
||||
await preparePageRendering({
|
||||
scope: 'headerBtn',
|
||||
from: 'createFolder - local',
|
||||
resourcePath: userCurPath,
|
||||
pushState: false
|
||||
});
|
||||
|
||||
// 2. 트리 갱신
|
||||
await preparePageRendering({
|
||||
scope: 'tree',
|
||||
resourcePath: extractedPath,
|
||||
userCurPath: userCurPath,
|
||||
pushState: false
|
||||
});
|
||||
|
||||
// 3. 리스트 갱신
|
||||
await preparePageRendering({
|
||||
scope: 'list',
|
||||
resourcePath: userCurPath,
|
||||
pushState: false
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +43,18 @@ const socket = io();
|
||||
//// 소켓은 하나만...
|
||||
vars.socket = socket;
|
||||
|
||||
function getMyCurPath() {
|
||||
if (vars.users && vars.users[socket.id] && vars.users[socket.id].curPath) {
|
||||
return vars.users[socket.id].curPath;
|
||||
}
|
||||
if (vars.userInfoString) {
|
||||
try {
|
||||
return JSON.parse(vars.userInfoString).curPath || '';
|
||||
} catch (e) {}
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
//// 접속자 정보 가져오기
|
||||
export function getUsers() {
|
||||
vars.socket.emit('getUsers');
|
||||
@@ -536,8 +548,7 @@ socket.on('createFolder_success', async (resultData) => {
|
||||
|
||||
renderLog();
|
||||
|
||||
let userCurPath;
|
||||
if (vars.users[socket.id] && vars.users[socket.id].curPath) userCurPath = vars.users[socket.id].curPath;
|
||||
let userCurPath = getMyCurPath();
|
||||
let extractedPath = extractPathByLength(userCurPath, 1);
|
||||
|
||||
// let resourcePath = resultData.resourcePath;
|
||||
@@ -578,6 +589,21 @@ socket.on('createFolder_success', async (resultData) => {
|
||||
let mainTreeItem = document.querySelector(`.archive-main-left .tree-container .tree-wrap .tree-item-wrap[data-resource-path="${vars.lastMainTreeItem.dataset.resourcePath}"]`)
|
||||
if (mainTreeItem) changeTreeItemStyle(mainTreeItem);
|
||||
}
|
||||
|
||||
// 폴더 생성 시 중앙 리스트 영역(list) 즉시 갱신 추가
|
||||
let pageRanderingOptionList = {
|
||||
scope: 'list',
|
||||
resourcePath: userCurPath,
|
||||
pushState: false,
|
||||
debug: '폴더생성완료 - list'
|
||||
}
|
||||
await preparePageRendering(pageRanderingOptionList);
|
||||
|
||||
if (vars.lastListItem) {
|
||||
let lastListItemPath = vars.lastListItem.dataset.resourcePath;
|
||||
let listItem = document.querySelector(`.archive-main-center .list-container .list-body .list-item[data-resource-path="${lastListItemPath}"]`);
|
||||
if (listItem) changeListItemStyle(listItem);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user