| 
					
				 | 
			
			
				@@ -72,317 +72,264 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     microsoftTeams.appInitialization.notifySuccess(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getGroupList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // callApi('get', '/me/drive/root/children', (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   console.log('=======================one drive=========================='); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   console.log(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   console.log('============================================================'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   let str = `<li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                 <input type="checkbox" checked="false" id="my-one-drive" onclick="showOneDrive()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                 <label for="my-one-drive">One Drive</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                 <ul>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                   if (jsonData && jsonData.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                     const drives = jsonData.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                     drives.forEach((drive)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                       str +=`<li id="${drive.id}" onclick="DrawOneDrive(${drive.id})">${drive.name}</li>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //         str += `</ul> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //             </li>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   $('.group').append(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // callApi('get', '/me/joinedTeams', (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   console.log('======================joinedTeams======================') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   console.log(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   if (jsonData && jsonData.value && jsonData.value.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //     // jsonData.value.forEach((team)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //     //     team.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //     //     callApi('get', '/') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //     // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   // let str = `<li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //               <input type="checkbox" checked="false" id="my-one-drive" onclick="showOneDrive()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //               <label for="my-one-drive">One Drive</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //               <ul>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //                 if (jsonData && jsonData.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //                   const drives = jsonData.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //                   drives.forEach((drive)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //                     str +=`<li id="${drive.id}" onclick="DrawOneDrive(${drive.id})">${drive.name}</li>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //                   }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //       str += `</ul> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   //           </li>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // callApi('get', '/sites', (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   console.log('=====================sites==================='); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   console.log(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // callApi('get', '/me/drives', (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   console.log('=====================/me/drives==================='); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   console.log(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   // drawOneDrive(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // getGroupList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // callApi('get', '/groups/'+groupId+'/drive/items/root/children', (jsonData) =>drawFileList(jsonData, groupId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     window.oncontextmenu = function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function getFileList(id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // callApi('get', "/"+id+"/drive/root/children", "Files.Read", drawFileList, id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      callApi('get', "/users/"+id+"/drive", drawFileList, id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // function drawList(jsonData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   if (jsonData && jsonData.value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //       const group = $('.group'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //       let str = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //       jsonData.value.forEach(element => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //           str+=`<li onclick="getFileList('${element.userPrincipalName}')"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                   <div style="display:flex;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                     <div class="circle-name">${element.givenName}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                     <div style="display:flex; flex-direction:column; justify-content:space-between;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                       <div style="font-size: 16px; font-weight:bold;">${element.displayName}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                       <div style="font-size: 12px; color: #7b7777ec;">${element.mail}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //                 </li>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //       }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //       group.html(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function drawFileList(jsonData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              _selectedData = [];     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (jsonData && jsonData.value && jsonData.value.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              _selectedData = jsonData.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              let str = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              const $fileContent = $('.file-content'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              const $oneDriveBtn  = $('.one-drive-button'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              const panel = $('.panel'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              let panelStr = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              jsonData.value.forEach((obj, idx)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (idx === 0 && obj.parentReference) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  const parent = $('#' + obj.parentReference.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  if (parent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    console.log(parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  console.log(obj.parentReference.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  panelStr += `<span class="panel-item on" id="${obj.parentReference.id}" onclick="findChildrenItems(${obj.parentReference.id})">${obj.parentReference.name}</span>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  panel.html(panelStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dragAndDrop(obj.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let images = "/static/images/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $oneDriveBtn.off('click'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (obj.webUrl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  $oneDriveBtn.on('click', ()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    window.open(obj.webUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let modifyName = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (obj.lastModifiedBy && obj.lastModifiedBy.user) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  modifyName = obj.lastModifiedBy.user.displayName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (obj.folder || obj.driveType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  images += "folder.png"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                else if (obj.file && obj.name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  let ext = obj.name.substring(obj.name.lastIndexOf('.') + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  if (obj.file.mimeType && obj.file.mimeType.includes('image')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ext = 'photo'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  images += ext+ ".svg"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  images += "file.png"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let amount = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (obj.quota) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  amount = getVolume(obj.quota.remaining); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (obj.size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  amount = getVolume(obj.size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let modifyDate = obj.lastModifiedDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (modifyDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  modifyDate = modifyDate.replace('T', ' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  modifyDate = modifyDate.substring(5, 7)+ '월 '+ modifyDate.substring(8, 10)+ '일'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                str += ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div id="row_${idx}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <input type="checkbox" name="row_${idx}" value="${obj.id}" onclick="event.stopPropagation()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <img src="${images}" width="20" height="20" alt="폴더 이미지"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="file_name"><span class="sp-name" onclick="findChildrenItems('${obj.id}', '${obj.name}')">${obj.name}</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>${amount}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>${modifyDate}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>${modifyName}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </div>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              $fileContent.html(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              $('.file-content > div').on('click', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                e.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                const checkbox = $('input[name="' + $(this).attr('id') + '"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (checkbox[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  const isChecked = checkbox.prop("checked"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  checkbox.prop('checked', !isChecked); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  const method = !isChecked ? 'addClass' : 'removeClass'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  $(this)[method]('on'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function drawDriveFiles(jsonData, parentData, name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      _selectedData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const panel = $('.panel'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let panelStr = `<span class="panel-item on">${name}</span>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const $fileContent = $('.file-content'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const $oneDriveBtn  = $('.one-drive-button'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let text = name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (name !== 'One Drive') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        text = 'SharePoint' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $oneDriveBtn.text(text+'에서 열기'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $oneDriveBtn.off('click'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (jsonData && jsonData.value && jsonData.value.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (jsonData.value[0].webUrl) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $oneDriveBtn.on('click', ()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            window.open(obj.webUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _selectedData = jsonData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const selectedPref = _selectedData.value[0].parentReference; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (selectedPref && selectedPref.path) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let path = selectedPref.path; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          panelStr = drawPath(path, selectedPref.siteId, name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let str = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          jsonData.value.forEach((obj, idx)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            dragAndDrop(obj.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let images = "/static/images/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let modifyName = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (obj.lastModifiedBy && obj.lastModifiedBy.user) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              modifyName = obj.lastModifiedBy.user.displayName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (obj.folder || obj.driveType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              images += "folder.png"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else if (obj.file && obj.name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let ext = obj.name.substring(obj.name.lastIndexOf('.') + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let imageExt = ".svg"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (obj.file.mimeType && obj.file.mimeType.includes('image')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ext = 'photo'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              else if (['pptx', 'ppt', 'pptm'].includes(ext)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ext = 'pptx'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              else if (['xlsx', 'xlsm', 'xlsb', 'xltx'].includes(ext)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ext = 'xlsx'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              else if (['pdf'].includes(ext)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ext = 'pdf'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              else if (['doc', 'docx'].includes(ext)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ext = 'docx'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              else if (['one', 'onetoc'].includes(ext)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ext = 'onetoc'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              else if (['vsd', 'vdx', 'vdw', 'vstx', 'vstm', 'vst', 'vtx', 'vsdx'].includes(ext)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ext = 'vsdx'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              else if (['zip', 'apk', 'rar', '7z', 'tar'].includes(ext)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ext = 'zip'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              else if (['mp4', 'mov', 'Webm', 'mp3','wav', 'Ogg'].includes(ext)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ext = 'clipchamp'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ext = 'file'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                imageExt = '.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              window.addEventListener('click', ()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  if ($('.toggle-box')[0]){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $('.toggle-box').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              $('.file-content > div').on('mousedown', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if ((e.button == 2) || (e.which == 3)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  const checkbox = $('input[name="'+$(this).attr('id') + '"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  if (!$(this).hasClass('on')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    checkbox.prop('checked', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $(this).addClass('on'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              images += ext + imageExt; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              images += "file.png"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let amount = '0 Bytes'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (obj.size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              amount = getVolume(obj.size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let modifyDate = obj.lastModifiedDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (modifyDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              modifyDate = modifyDate.replace('T', ' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              modifyDate = modifyDate.substring(5, 7)+ '월 '+ modifyDate.substring(8, 10)+ '일'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  if ($('.toggle-box')[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $('.toggle-box').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  const {clientX, clientY} = e; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    const toggleBox = $(`<div class="toggle-box" style="position:absolute; top:${clientY}; left: ${clientX}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>편집</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>탭으로 설정</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>다운로드</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>삭제</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>이동</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>복사</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div onclick="nameChange()">이름 바꾸기</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      </div>`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      $('body').append(toggleBox); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // let method = `findOneDriveChildrenItems('${obj.id}')`;(siteId, path, name, value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let method = `siteDriveChildrenItems('${obj.parentReference.siteId}','${obj.parentReference.path + '/' + obj.name}','${name}')`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (obj.file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              method = `downloadItems('${obj['@microsoft.graph.downloadUrl']}', '${obj.name}', event)`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            str += ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div id="row_${idx}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <input type="checkbox" name="row_${idx}" value="${obj.id}" onclick="event.stopPropagation()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <img src="${images}" width="20" height="20" alt="폴더 이미지"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="file_name"><span class="sp-name" onclick="${method}">${obj.name}</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div>${amount}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div>${modifyDate}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div>${modifyName}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $fileContent.html(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $('.file-content > div').on('click', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            e.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const checkbox = $('input[name="'+$(this).attr('id') + '"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (checkbox[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const isChecked = checkbox.prop("checked"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              checkbox.prop('checked', !isChecked); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const method = !isChecked ? 'addClass' : 'removeClass'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              $(this)[method]('on'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function drawOneDrive(jsonData, name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      _selectedData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const panel = $('.panel'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      let panelStr = `<span class="panel-item on" onclick="showOneDrive()">One Drive</span>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      panel.html(panelStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (jsonData && jsonData.value && jsonData.value.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _selectedData = jsonData.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              let str = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              const $fileContent = $('.file-content'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              const $oneDriveBtn  = $('.one-drive-button'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              jsonData.value.forEach((obj, idx)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                console.log(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dragAndDrop(obj.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let images = "/static/images/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          window.addEventListener('click', ()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if ($('.toggle-box')[0]){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $('.toggle-box').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $('.file-content > div').on('mousedown', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ((e.button == 2) || (e.which == 3)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const checkbox = $('input[name="'+$(this).attr('id') + '"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (!$(this).hasClass('on')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                checkbox.prop('checked', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $(this).addClass('on'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if ($('.toggle-box')[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $('.toggle-box').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const {clientX, clientY} = e; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const toggleBox = $(`<div class="toggle-box" style="position:absolute; top:${clientY}; left: ${clientX}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div>편집</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div>탭으로 설정</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div>다운로드</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div>삭제</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div>이동</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div>복사</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div onclick="nameChange()">이름 바꾸기</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div>`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  $('body').append(toggleBox); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (parentData && parentData.folder && parentData.folder.childCount === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const refData = parentData.parentReference; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                panelStr = drawPath(refData.path +'/' + parentData.name, refData.siteId ,name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $oneDriveBtn.off('click'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (obj.webUrl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (parentData.webUrl){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   $oneDriveBtn.on('click', ()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    window.open(obj.webUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    window.open(parentData.webUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let modifyName = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (obj.lastModifiedBy && obj.lastModifiedBy.user) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  modifyName = obj.lastModifiedBy.user.displayName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (obj.folder || obj.driveType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  images += "folder.png"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                else if (obj.file && obj.name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  let ext = obj.name.substring(obj.name.lastIndexOf('.') + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  if (obj.file.mimeType && obj.file.mimeType.includes('image')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ext = 'photo'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  images += ext+ ".svg"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  images += "file.png"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let amount = '0 Bytes'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (obj.size) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  amount = getVolume(obj.size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let modifyDate = obj.lastModifiedDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (modifyDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  modifyDate = modifyDate.replace('T', ' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  modifyDate = modifyDate.substring(5, 7)+ '월 '+ modifyDate.substring(8, 10)+ '일'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                str += ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <div id="row_${idx}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <input type="checkbox" name="row_${idx}" value="${obj.id}" onclick="event.stopPropagation()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <img src="${images}" width="20" height="20" alt="폴더 이미지"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div class="file_name"><span class="sp-name" onclick="findOneDriveChildrenItems('${obj.id}')">${obj.name}</span></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>${amount}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>${modifyDate}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div>${modifyName}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <div></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  </div>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              $fileContent.html(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              $('.file-content > div').on('click', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                e.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                const checkbox = $('input[name="'+$(this).attr('id') + '"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (checkbox[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  const isChecked = checkbox.prop("checked"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  checkbox.prop('checked', !isChecked); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  const method = !isChecked ? 'addClass' : 'removeClass'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  $(this)[method]('on'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              window.addEventListener('click', ()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  if ($('.toggle-box')[0]){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $('.toggle-box').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              $('.file-content > div').on('mousedown', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if ((e.button == 2) || (e.which == 3)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  const checkbox = $('input[name="'+$(this).attr('id') + '"]'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  if (!$(this).hasClass('on')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    checkbox.prop('checked', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $(this).addClass('on'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  if ($('.toggle-box')[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    $('.toggle-box').remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  const {clientX, clientY} = e; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    const toggleBox = $(`<div class="toggle-box" style="position:absolute; top:${clientY}; left: ${clientX}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>편집</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>탭으로 설정</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>다운로드</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>삭제</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>이동</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div>복사</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div onclick="nameChange()">이름 바꾸기</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      </div>`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      $('body').append(toggleBox); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $fileContent.html(`<div class="empty-box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    <img src="/static/images/empty_folder_v2.svg" alt="이미지"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    <div>이 폴더는 비어 있습니다.</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                  </div>`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panel.html(panelStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // callApi('get','/deviceManagement', (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //     console.log(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function drawDrivePath(path, name, siteId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (path) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let formatPath = path.substring(path.lastIndexOf('root:') + 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (formatPath) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          formatPath = formatPath.substring(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          formatPath = formatPath.split('/'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          panelStr = `<span class="panel-item" onclick="siteDriveChildrenItems('${siteId}', '/drive/root', '${name}', '${siteId}')">${name}</span>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let itemPath = "/drive/root:"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Array.isArray(formatPath)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let ii = 0; ii < formatPath.length; ii++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let pathName = formatPath[ii]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let className = 'panel-item'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              itemPath += "/" + pathName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let method = `drawDriveFiles('${itemPath}', event)`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (formatPath.length - 1 === ii) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                className += ' on'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                method = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              panelStr += `<span> > </span><span class="${className}" onclick="${method}">${pathName}</span>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return panelStr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return `<span class="panel-item on">${name}</span>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function drawPath(path, siteId, name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let imgSrc = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let panelStr = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if ($('#'+siteId).next().find('img')[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        imgSrc = $('#'+siteId).next().find('img').attr('src'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (path) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let formatPath = path.substring(path.lastIndexOf('root:') + 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (formatPath) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          formatPath = formatPath.substring(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          formatPath = formatPath.split('/'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          panelStr = `<span class="panel-item" onclick="siteDriveChildrenItems('${siteId}', '/drive/root', '${name}', '${siteId}')">`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (imgSrc) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            panelStr += `<img style="margin-right:5px;" width="24" height="24" src="${imgSrc}" alt="이미지">` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          panelStr += ` ${name}</span>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let itemPath = "/drive/root:"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (Array.isArray(formatPath)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let ii = 0; ii < formatPath.length; ii++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let pathName = formatPath[ii]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let className = 'panel-item'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              itemPath += "/" + pathName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              let method = `siteDriveChildrenItems('${siteId}','${itemPath}', '${name}')`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (formatPath.length - 1 === ii) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                className += ' on'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                method = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              panelStr += `<span> > </span><span class="${className}" onclick="${method}">${pathName}</span>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return panelStr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      panelStr = `<span class="panel-item on">`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (imgSrc) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        panelStr += `<img style="margin-right:5px;" width="24" height="24" src="${imgSrc}" alt="이미지">` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      panelStr += ` ${name}</span>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return panelStr; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function nameChange() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if ($('.file-content > .on .file_name')[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          console.log($('.file-content > .on .file_name').text()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -398,13 +345,28 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $fileContent.on('dragleave', function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           $(this).css('background-color', '#f5f5f5'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       $fileContent.on("drop", function(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             e.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $(this).css('background-color', '#f5f5f5'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const file = e.originalEvent.dataTransfer.files[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            encryptFile(file, driveId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const transfer = e.originalEvent.dataTransfer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.log(e.dataTransfer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.log(transfer.items); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (transfer.items.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              for (let ii=0; ii < transfer.items.length; ii++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                entries[0] = e.dataTransfer.items[ii].webkitGetAsEntry(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                console.log(entries[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (transfer && transfer.files && transfer.files.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (let ii = 0; ii < transfer.files.length; ii++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  console.log(transfer.files[ii]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // const file = e.originalEvent.dataTransfer.files[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // encryptFile(file, driveId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // if (file && file.type.startsWith("image")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //     displayImage(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -482,48 +444,23 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function findChildrenItems(id, type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      window.event.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      window.event.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // const param = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //     "requests": [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //             "entityTypes": [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //                 "driveItem" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //             ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //             "query": { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //                 "queryString": id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //     ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // callApi('post', '/search/query', (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //   console.log(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // },null, param); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if ($('#' + id)[0]) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      let uri = '/groups/'+groupId+'/drive/items/'+id+'/children'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      callApi('get', uri, (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        drawFileList(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      },null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function findOneDriveChildrenItems(id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      callApi('get', '/me/drive/items/'+id+'/children', (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        drawOneDrive(jsonData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      },null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function siteDriveChildrenItems(siteId, path, name, value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('.tree.group input').prop('checked', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('input[value="'+value+'"]').prop('checked', false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ($('.panel').children().text() === name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      callApi('get', '/sites/' +siteId +'/'+ path, (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (jsonData && jsonData.id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          callApi('get', '/sites/' +siteId +'/drive/items/'+jsonData.id+'/children', (childrenData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // drawOneDrive(childrenData, jsonData, name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            drawDriveFiles(childrenData, jsonData, name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          },null);  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // $.ajax({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   url: '/test', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   method : 'post', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   success: function(res){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //     console.log(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   error: function(error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //     console.log(error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function getVolume(amount) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const tb = 1099511627776; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -583,34 +520,51 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//sites/2ec19976-da37-4d7e-993a-fe82cf97a586/drive/items/01ILDTREXEZN5EXKD5YJHLNYXU6HTAX5VS/children 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//oneDrive => /me/drive/items/${item.id}/children 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function drawList(jsonData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const group = $('.group'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       group.empty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (jsonData) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           const {oneDrive, joinedTeams, sites} = jsonData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let parentId = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let siteId = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (oneDrive && oneDrive.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (oneDrive[0].parentReference) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              siteId = oneDrive[0].parentReference.siteId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // <input type="checkbox" checked="false" id="my-one-drive" value="${parentId}" onclick="showOneDrive(event)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          //siteDriveChildrenItems(siteId, path, name)  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           let str = `<li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <input type="checkbox" checked="false" id="my-one-drive" onclick="showOneDrive()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <label for="my-one-drive">One Drive</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <input type="checkbox" checked="false" id="${siteId}" value="${siteId}" onclick="siteDriveChildrenItems('${siteId}', '/drive/root', 'One Drive', '${siteId}')"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <label for="${siteId}">One Drive</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       <ul>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       if (oneDrive && oneDrive.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         oneDrive.forEach((drive)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          str +=`<li id="${drive.id}" onclick="DrawOneDriveFile('${drive.id}', '${drive.name}')">${drive.name}</li>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          str +=`<li id="${drive.id}" onclick="siteDriveChildrenItems('${siteId}', '/drive/root:/${drive.name}', 'One Drive')">${drive.name}</li>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               str += `</ul> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </li>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              if (joinedTeams) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (joinedTeams && joinedTeams.teams.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 joinedTeams.teams.forEach((team)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  const items = joinedTeams.items[team.id]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  let siteId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  let path; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  if (items[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    let joinedRef = items[0].parentReference; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    siteId = joinedRef.siteId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    path = joinedRef.path; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   str += `<li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <input type="checkbox" checked="false" id="joined-team" onclick="showJoinedTeam('${team.id}')"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            <label for="joined-team">${team.displayName}</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <input type="checkbox" checked="false" id="${siteId}" value="${siteId}" onclick="siteDriveChildrenItems('${siteId}', '/drive/root', '${team.displayName}', '${siteId}')"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <label for="${siteId}"><img width="24" height="24" src="data:image/jpeg;base64, ${team.image}" alt="이미지"> ${team.displayName}</label> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             <ul>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            console.log('팀 : ',team); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            const items = joinedTeams.items[team.id]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if (items && items.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               items.forEach((item)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                str +=`<li id="${item.id}" onclick="showJoinedTeam('${item.id}', '${item.name}')">${item.name}</li>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                str +=`<li id="${item.id}" onclick="siteDriveChildrenItems('${siteId}', '/drive/root:/${item.name}', '${team.displayName}')">${item.name}</li>` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   str +=`</ul></li>`; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -620,28 +574,85 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function showOneDrive() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function showOneDrive(event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $('.tree.group input[type="checkbox"]').prop('checked', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      event.target.checked = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if ($(event.target).next().text() === $('.panel').children().first().text()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       callApi('get', '/me/drive/root/children', (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        drawOneDrive(jsonData, 'One Drive', null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        drawOneDrive(jsonData, '', $(event.target).next().text()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function DrawOneDriveFile(id, name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      callApi('get', '/me/drive/items/' + id, (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      callApi('get', '/me/drive/items/' + id + '/children', (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         drawOneDrive(jsonData, name, id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    function showJoinedTeam(id, name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function showJoinedTeam(id, name, event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // const $target = $(event.target); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // const isChecked = $target.is(':checked'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // if (isChecked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   $target.prop('checked', 'checked'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      $('.tree.group input[type="checkbox"]').prop('checked', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      event.target.checked = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if ($(event.target).next().text() === $('.panel').children().first().text()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       callApi('get', '/groups/'+id+'/drive/items/root/children', (jsonData)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        drawFileList(jsonData, name, id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        drawFileList(jsonData, name, id, $(event.target)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function sorting(type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log($('.head-'+type)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      console.log(_selectedData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // _selectedData.sort(function (a, b){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const $sortingColumn = $('.head-'+type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const isSelected = $sortingColumn.hasClass('on'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if ($('.file-title > div.on')[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('.file-title > div.on').removeClass('on'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (_selectedData.value.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let first = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let end = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!isSelected) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          $sortingColumn.addClass('on'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          first = -1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          end = 1;  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _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){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    console.log($(this)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  function downloadItems(downloadUrl, name, event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    event.preventDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    event.stopPropagation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const link = document.createElement('a'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    link.download = name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    link.href = downloadUrl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $('body').append(link); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    link.click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $(link).remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    window.URL.revokeObjectURL(downloadUrl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 |