| 
					
				 | 
			
			
				@@ -51,10 +51,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         <div style="width: 160px;" onclick="openFile(event)">파일</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       </div>  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <input type="file" style="display: none;" id="folder-upload" name="folder" onchange="uploadFolders(event)" webkitdirectory multiple > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <input type="file" style="display: none;" id="file-upload" name="file" onchange="uploadFiles(event)" multiple > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div onclick="refreshDrive()">새로고침</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <div class="one-drive-button">OneDrive에서 열기</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <input type="file" style="display: none;" id="folder-upload" name="folder" onchange="uploadFolders(event)" webkitdirectory multiple > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <input type="file" style="display: none;" id="file-upload" name="file" onchange="uploadFiles(event)" multiple > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="panel"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="file-title"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -77,6 +77,13 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const groupMap = new Map(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let _selectedData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let _listData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $(document).ajaxStart(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $('body').append(`<div id="load"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <img src="/static/images/Settings.gif" alt="loading"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div>`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }).ajaxStop(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $('#load').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     microsoftTeams.appInitialization.notifySuccess(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getGroupList(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -87,6 +94,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window.addEventListener('click', function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $('.click-menu').css('display', 'none'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   function openFolder(event) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -151,9 +159,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     _formData.append('siteId', siteId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     _formData.append('path', sitePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           // _formData.getAll() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $('body').append(`<div id="load"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <img src="/static/images/Settings.gif" alt="loading"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    </div>`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // $('body').append(`<div id="load"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   <img src="/static/images/Settings.gif" alt="loading"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // </div>`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $.ajax({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       method: 'post', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -162,7 +170,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       data : _formData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       url : '/uploadItems', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       success: (res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $('#load').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // $('#load').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let str = res.message; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (res.error) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -176,7 +184,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       error: (error) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $('#load').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // $('#load').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         alertMessage(alertTitle, error, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // console.log('==============error=============\n'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // console.log(error); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -226,7 +234,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           jsonData.value.forEach((obj, idx)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dragAndDrop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let images = "/static/images/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let imageName = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let modifyName = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (obj.lastModifiedBy && obj.lastModifiedBy.user) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -234,8 +242,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (obj.folder || obj.driveType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               images += "folder.png"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              imageName = "폴더 이미지"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else if (obj.file && obj.name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              imageName = "파일 이미지"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               let ext = obj.name.substring(obj.name.lastIndexOf('.') + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               let imageExt = ".svg"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               //photo  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -318,8 +328,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             str += ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div id="row_${idx}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <input type="checkbox" name="row_${idx}" value="${obj.id}" onclick="event.stopPropagation()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <img src="${images}" width="32" height="32" alt="폴더 이미지"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <input type="checkbox" name="row_${idx}" value="${obj.id}" onchange="checkState(event)" onclick="event.stopPropagation()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <img src="${images}" width="32" height="32" alt="${imageName}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="file_name"><span class="sp-name" onclick="${method}">${obj.name}</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div>${amount}</div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -359,16 +369,35 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               const {clientX, clientY} = e; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                const toggleBox = $(`<div class="toggle-box" style="position:absolute; top:${clientY}; left: ${clientX}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>편집</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>탭으로 설정</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>다운로드</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div onclick="deleteItem()">삭제</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>이동</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>복사</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div onclick="nameChange()">이름 바꾸기</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </div>`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  $('body').append(toggleBox); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const array = $('.file-content input[type="checkbox"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let str = `<div>편집</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div>탭으로 설정</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div onclick="download()">다운로드</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div onclick="deleteItem()">삭제</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div>이동</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div>복사</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div onclick="nameChange()">이름 바꾸기</div>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (array && array.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let checkCnt = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (let ii = 0; ii < array.length; ii++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  if(array.eq(ii).is(':checked')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    checkCnt++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (checkCnt > 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  str = `<div>편집</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div>탭으로 설정</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div onclick="download()">다운로드</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div onclick="deleteItem()">삭제</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div>이동</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div>복사</div>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const toggleBox = $(`<div class="toggle-box" style="position:absolute; top:${clientY}; left: ${clientX}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ${str} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div>`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $('body').append(toggleBox); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -407,6 +436,16 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function checkState(event){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const $target = $(event.target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const $row = $('#'+$target.attr('name')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let method = 'removeClass'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if ($target.is(':checked')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        method = 'addClass'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $row[method]('on'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //삭제 이벤트 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function deleteItem() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const checkArr = $('.file-content input[type="checkbox"]'); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -462,6 +501,70 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function getDrivePath() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log($('.panel-item')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let path = '/drive/root'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if ($('.panel-item').length > 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        path += ':'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let ii = 1; ii < $('.panel-item').length; ii++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            path += '/' + $('.panel-item').eq(ii).text(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return path; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //다운로드 이벤트 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function download(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const fileArr = $('.file-content input[type="checkbox"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (fileArr || fileArr.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const fileIdArr = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let ii = 0; ii < fileArr.length; ii++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const isChecked = fileArr.eq(ii).is(':checked'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (isChecked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              fileIdArr.push(fileArr.eq(ii).val()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (fileIdArr.length === 0) return alertMessage('다운로드', '다운로드 할 파일을 선택해주세요.'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $.ajax({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          method: 'post', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          url : '/api/download', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          data : { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            siteId : getSitesId(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            path : getDrivePath(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fileIds : JSON.stringify(fileIdArr), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            zipName : $('.panel-item.on').text().trim(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          success: (res)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (res.success === 'S') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const dataUrl = window.URL.createObjectURL(new Blob([new Uint8Array(res.data.data).buffer])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const link = document.createElement('a'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              link.href = dataUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              link.download = res.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              link.style.display = 'none'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              $('body').append(link); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              link.click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              link.remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let message = res.message; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (res.error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                console.log(res.error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                message += '<br>' + res.error; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              alertMessage('다운로드',message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          error : (error) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.log(error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function drawPath(path, siteId, name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let imgSrc = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let panelStr = ''; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -509,10 +612,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return panelStr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function nameChange() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if ($('.file-content > .on .file_name')[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // function nameChange() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     if ($('.file-content > .on .file_name')[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function dragAndDrop() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -574,10 +677,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           _formData.append('siteId', siteId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           _formData.append('path', sitePath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          // _formData.getAll() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          $('body').append(`<div id="load"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <img src="/static/images/Settings.gif" alt="loading"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </div>`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // $('body').append(`<div id="load"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //   <img src="/static/images/Settings.gif" alt="loading"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // </div>`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           $.ajax({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             method: 'post', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             processData : false, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -585,7 +687,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             data : _formData, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             url : '/uploadItems', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             success: (res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              $('#load').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // $('#load').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               let str = res.message; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               if (res.error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 str += '<br>오류 : ' + res.error; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -599,7 +701,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             error: (error) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              $('#load').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // $('#load').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               alertMessage(alertTitle, error, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               // console.log('==============error=============\n'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               // console.log(error); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -827,6 +929,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               const $fileContent = $('.file-content'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               const $panel = $('.panel'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               $oneDriveBtn.off('click'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let text = name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (name !== 'One Drive') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                text = 'SharePoint' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              $oneDriveBtn.text(text+'에서 열기'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               if (jsonData.webUrl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $oneDriveBtn.on('click', ()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   window.open(jsonData.webUrl); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -928,7 +1035,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             joinedTeams.teams.forEach((team)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               const items = joinedTeams.items[team.id]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               let siteId = team.sharePoint.siteId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              // onclick="siteDriveChildrenItems('${siteId}', '/drive/root', '${team.displayName}', '${siteId}', event)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               str += `<li id="${siteId}_li"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         <input type="checkbox" checked="false" id="${siteId}_check" value="${siteId}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         <label for="${siteId}_check"><img width="24" height="24" src="${team.sharePoint.siteUrl}${groupImageUrl}" alt="이미지"> ${team.displayName}</label> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -947,10 +1053,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const {teams, items} = oneDrive; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const sharePoint = teams.sharePoint; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             siteId = sharePoint.siteId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              // str += `<div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              //           <input type="checkbox" checked="false" id="${siteId}" value="${siteId}" onclick="siteDriveChildrenItems('${siteId}', '/drive/root', 'One Drive', '${siteId}', event)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              //           <label for="${siteId}"><img width="24" height="24" src="${sharePoint.siteUrl}${groupImageUrl}" alt="그룹 이미지"> One Drive</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              //         </div>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               str += `<div id="${siteId}_li" onclick="siteDriveChildrenItems('${siteId}', '/drive/root', 'One Drive', '${siteId}', event)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         <img width="24" height="24" src="${sharePoint.siteUrl}${groupImageUrl}" alt="그룹 이미지"> One Drive 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       </div>`; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -962,20 +1064,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 teams = [teams]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               for (let team of teams) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // const items = sites.items[team.id]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 let siteId = team.sharePoint.siteId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 let path; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 let imageUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  // str += `<li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  //         <input type="checkbox" checked="false" id="${siteId}" value="${siteId}" onclick="siteDriveChildrenItems('${siteId}', '/drive/root', '${team.displayName}', '${siteId}', event)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  //         <label for="${siteId}"><img width="24" height="24" src="${team.sharePoint.siteUrl}${groupImageUrl}" alt="이미지"> ${team.displayName}</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  //         <ul>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  //         if (items && items.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  //           items.forEach((item)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  //             str +=`<li id="${item.id}" onclick="siteDriveChildrenItems('${siteId}', '/drive/root:/${item.name}', '${team.displayName}', null, event)">${item.name}</li>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  //           }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  // str +=`</ul></li>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                console.log(team.displayName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   str += ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         <div id="${siteId}_li" onclick="siteDriveChildrenItems('${siteId}', '/drive/root', '${team.displayName}', '${siteId}', event)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           <img width="24" height="24" src="${team.sharePoint.siteUrl}${groupImageUrl}" alt="그룹 이미지"> ${team.displayName} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1010,13 +1102,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _selectedData.value.sort(function (a, b){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return a[type] > b[type] ? first : a[type] === b[type] ? 0 : end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if ($('.panel').children().first().text() === 'One Drive') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          drawOneDrive(_selectedData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $('.tree.group input[type="checkbox"]').on('change', function(event){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1127,26 +1212,47 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return siteId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  function changeNames() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function nameChange() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const $checkbox = $('.file-content > div.on input[type="checkbox"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if ($checkbox.length > 1) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!$('.file-content > div.on .file_name')[0]) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const siteId = getSitesId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const itemId = $checkbox.val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const name = $('.file-content > div.on .file_name').text(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let ext = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let inputVal = name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let width = '100%'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(name.includes(".")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      inputVal = name.substring(0, name.lastIndexOf(".")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ext = name.substring(name.lastIndexOf(".")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width = 'calc(100% - 35px)'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    callApi('get', "/sites/"+ siteId + "/drive/items/" + itemId, (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const modalContainer = $( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       `<div class="modal" style="display: flex;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class="modal-box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="header"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="title">이름 바꾸기</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="x-button"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <span><img src="/static/images/x-button.png" width="15" height="15" alt="닫기 버튼"></span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <span><img src="/static/images/x-button.png" width="15" height="15" alt="닫기 버튼" onclick="$('.modal').remove()"></span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="modal-content"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div>이름</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <input type="text" name="file_name" id="" value=""> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div style="display:flex; align-items:flex-end;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <input type="text" style="width:${width};" name="change_name" id="${itemId}" value="${inputVal}"> ${ext} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="button-box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <div class="name-btn">이름 바꾸기</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div class="name-btn">취소</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div class="cancel-btn" onclick="$('.modal').remove()">취소</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div>`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $('body').append(modalContainer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 |