let path_name = decodeURIComponent(window.location.pathname); let project_id = path_name.split('/')[1]; //////// pm-bcmf 연결용 테스트 코드 - project_id가 pm-bcmf일 때 project_id는 dsdj2, path_name은 /dsdj2/archive로 변경 if (project_id == 'pm-bcmf') { project_id = 'dsdj2'; path_name = '/dsdj2/archive'; } //세종안성(sjas)(gtb.) and 청용천교(cheongyong)(cheongyong.) 연결용 테스트 코드 if(project_id == '' || project_id == undefined) { if(window.location.origin.includes('gtb.')){ project_id = 'sjas'; path_name = '/sjas/archive'; }/* else if(window.location.origin.includes('cheongyong.')){ project_id = 'cheongyong'; path_name = '/cheongyong/archive'; } */ } export const vars = { // 아카이브 라우터 연결을 위한 변수 path_name: path_name, // 프로젝트 id project_id: project_id, // 오브젝트 스토리지 타입 (ONPREMISE / CLOUD) storageType: undefined, // 클라우드 타입 (ONPREMISE / CLOUD) cloudType: undefined, // 버킷 (프로젝트 id와 동일) bucket: project_id, // 현재 로그인 한 유저 정보 userInfoString: undefined, // 현재 로그인 한 유저의 permission 관리 객체 permission: undefined, // 현재 로그인 한 유저의 마우스커서 정보를 담는 객체 cursors: {}, // 전체 프로젝트 정보 allProject: {}, // 현재 프로젝트 정보 project: undefined, // 최상위 폴더 사용 용량 / 남은 용량 / 저장 가능한 최대 용량 (50 GB) -> DB에서 가져오기 / 폴더별 사이즈 (아카이브, 공문, 과업개요, GSIM 모델) bucketSize: undefined, remainingSize: undefined, bucketMaxSize: 50*1024*1024*1024, foldersSize: undefined, // 최상위 폴더 아래에 있는 모든 폴더/파일 데이터 allTreeObject: undefined, // 현재 선택된 폴더 아래에 있는 모든 폴더/파일 데이터 currentTreeObject: undefined, // 휴지통에 있는 모든 파일 데이터 recycleBinObject: undefined, // 마지막으로 선택한 header-btn/tree-item/list-item -> 스타일 변경에 사용 - changeListItemStyle(listItem) lastHeaderBtn: undefined, lastMainTreeItem: undefined, lastModalTreeItem: undefined, lastListItem: undefined, lastListGroupTarget: undefined, // lastMainTreeDepth2Item: undefined, lastModalTreeDepth2Item: undefined, // lastMainTreeDepth3Item: undefined, lastModalTreeDepth3Item: undefined, // 마지막으로 우클릭한 타겟 -> 컨텍스트 메뉴에 사용 lastContextTarget: undefined, // 마지막으로 선택한 header/tree/list item lastSelectTarget: undefined, // 드래그가 시작된 list-item dragStartListItem: undefined, // 클릭, 더블클릭 구분을 위한 시간 clickDuration: 500, // 업로드, 다운로드 완료 후 프로그레스 종료 전 완료 후 잠깐 대기하는 시간 progressDuration: 500, // 현재 변환중인 파일 정보를 저장하는 배열 convertingDataArr: [], // 현재 요약중인 파일 정보를 저장하는 배열 summarizeAiDataArr: [], // file area list에서 다중 선택된 item 배열 multiSelectListItemArr: [], // 휴지통에서 사용할 lastListItem, lastListGroupTarget, lastContextTarget, lastSelectTarget, multiSelectListItemArr // 휴지통에서 다중 선택된 item 배열 lastListItem_bin: undefined, lastListGroupTarget_bin: undefined, lastContextTarget_bin: undefined, lastSelectTarget_bin: undefined, multiSelectListItemArr_bin: [], // 로그 데이터 -> 활동 정보 activity-info-item(로그 데이터)에 사용 (활동 정보 아이템 클릭 시 상세 정보 표시에 사용) logData: undefined, // 로그 모달창이 열렸는지 안열렸는지 판단하는 변수 -> 최초에만 false이고 한 번이라도 열리면 true로 유지 isLogModalOpened: false, // 새로 추가되는 로그 아이템을 저장하는 배열 newLogItemArr: [], // 일반아이템리스트/휴지통아이템리스트 구분에 사용 listItemWrap: document.querySelector('.archive-main-center .list-container .list-body .list-item-wrap'), // 미리보기 뷰어 viewer: undefined, // 메모 임시 저장 tempMemo: [], // 파일 리스트 sort용 현재 컬럼, 현재 정렬순 curSortCol : 'name', curSortOrder : 'asc', // 휴지통 모달창 sort용 현재 컬럼, 현재 정렬순 curSortCol_bin : 'remove-date', curSortOrder_bin : 'desc', // 리스트/그리드 파일 목록에서 파일 선택했을 때 뷰어에 연결중 표시에 사용할 시간 viewerConnectingTime: 0, viewerConnectingTimeValue: 700, // 트리 영역에서 마지막으로 선택한 폴더 타입 lastFolderType: undefined, // 컨트롤 박스에서 마지막으로 선택한 파일 영역 모드 // lastFileAreaMode: undefined, lastFileAreaMode: 'list', // 지도 모드 (normal <-> edit) mapMode: 'normal', // 배경지도 url (일반, 위성, 하이브리드) road: 'https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}&hl=ko&&apistyle=s.e:l.i|p.v:off', satellite: 'https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}&hl=ko&apistyle=s.e:l.i|p.v:off', hybrid: 'https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}&hl=ko&apistyle=s.e:l.i|p.v:off', // 클러스터 거리 (픽셀 기준) clusterDistance: 1, // 마지막으로 선택한 클러스터 lastSelectCluster: undefined, // 모든 오버레이를 표시하는 줌 레벨 allOverlayVisibleZoom: 19, // 클러스터 레이어, 포인트 레이어 olClusterLayer: undefined, olPointLayer: undefined, listOrder: [], countdownTimer: undefined, } // 오픈레이어스 타일 레이어 vars.baseLayer = new ol.layer.Tile({ source: new ol.source.XYZ({ url: vars.road, crossOrigin: 'anonymous', transition: 0 }) }); vars.roadLayer = new ol.layer.Tile({ source: new ol.source.XYZ({ url: vars.road, crossOrigin: 'anonymous', transition: 0 }), visible: true }); vars.satelliteLayer = new ol.layer.Tile({ source: new ol.source.XYZ({ url: vars.satellite, crossOrigin: 'anonymous', transition: 0 }), visible: false }); vars.hybridLayer = new ol.layer.Tile({ source: new ol.source.XYZ({ url: vars.hybrid, crossOrigin: 'anonymous', transition: 0 }), visible: false }); // 구성 popup ver 위한 전역 함수 // vars.navigateToPath = function(path) { // const resourcePath = `/${path}`; // // 헤더 버튼 클릭 (탭 선택) // const tabPath = resourcePath.split('/')[1]; // '모델뷰어테스트/모델/3dm' -> '모델뷰어테스트' // const headerBtn = document.querySelector(`[data-resource-path="/${tabPath}"]`); // if (headerBtn) headerBtn.click(); // // 트리 아이템 클릭 (폴더 선택) // setTimeout(() => { // const treeItem = document.querySelector(`.tree-item-wrap[data-resource-path="${resourcePath}"] .tree-item`); // if (treeItem) treeItem.click(); // }, 500); // } window.vars = vars;