]> insang Git - ZipProject.git/commitdiff
partial_zip.js 주석내용 추가
authorjoinsang <dhkq92@icloud.com>
Thu, 21 Feb 2019 13:58:27 +0000 (22:58 +0900)
committerjoinsang <dhkq92@icloud.com>
Thu, 21 Feb 2019 13:58:27 +0000 (22:58 +0900)
영어로쓰기 너무 힘들다.. 한글주석 추가

ZipProject/Views/WebZip/partial_zip.cshtml
ZipProject/wwwroot/js/Zip/partial_zip.js

index 6c2714294fb0ad6a35db6a38508a137d1964be3a..b4ee228fa840ea399f058abcc81ca3741fca2ab7 100644 (file)
   }\r
 \r
   .webzip-explore-placeholder {\r
-    border: 0.5px solid red;\r
+    border: 1px solid red;\r
   }\r
 \r
   .webzip-explore-liEmpty {\r
-    margin-top: -20px;\r
+    margin-top: -22px;\r
     line-height: 1.8;\r
   }\r
 \r
index abfc2f3253a00e2415fdd80c2f0e81e190e1576c..b91114ddc234b114f08715300c7ccea70fa3c89f 100644 (file)
@@ -1,15 +1,14 @@
-var selected = $("#zipExplore directory:first ul:first");
-var selected_nameChange;
-var bullet_directory = '<i class="fas fa-folder"></i>';
-var bullet_directory_open = '<i class="fas fa-folder-open"></i>';
-var bullet_file = '<i class="far fa-file"></i>';
-var bullet_zip = '<i class="far fa-file-archive"></i>';
-var notFileName = ["\\", "/", ":", "*", "?", '"', "<", ">", "|"];
-var aCountFile = 0;
-var obj_files = new Map();
-var directories = new Map();
-var files = new Map();
+var selected = $("#zipExplore directory:first ul:first"); //기본변수
+var selected_nameChange; //폴더명 바꿀때 반응하는 라벨객체 선택변수
+var bullet_directory = '<i class="fas fa-folder"></i>'; //폰트어썸
+var bullet_directory_open = '<i class="fas fa-folder-open"></i>'; //폰트어썸
+var bullet_file = '<i class="far fa-file"></i>'; //폰트어썸
+var bullet_zip = '<i class="far fa-file-archive"></i>'; //폰트어썸
+var notFileName = ["\\", "/", ":", "*", "?", '"', "<", ">", "|"]; //파일명에 들어갈 수 없는것
+var directories = new Map(); //디렉토리 오브젝트
+var files = new Map(); //파일업로드 파일객체
 
+//폴더명은 비어있을 수 없습니다 알림창
 function NotEmpty($elem) {
   if ($elem.val() == "") {
     alert(_Language["emptyDirectory"]);
@@ -18,6 +17,7 @@ function NotEmpty($elem) {
   }
 }
 
+//폴더 추가
 function AddFolder() {
   var num = $("directory").length;
   var directory =
@@ -31,32 +31,41 @@ function AddFolder() {
       <ul class="sort-directory sort-disabled"><li class="webzip-explore-liEmpty">&nbsp;</li></ul>\
     </directory>\
   </li>';
+  //앞서 선택한 선택자에 폴더 라벨 추가
   selected.append(directory);
-
+  //directories 객체에 폴더 오브젝트 추가
   directories.put(directories.keys().length + "", "new");
-
+  
+  //bullet 리셋, sort리셋
   SetBulletIcon();
   SetSortable();
 }
 
+//폴더 순서 바뀌었을때 사용 (현재 사용할일 없지만 혹시 나중에 참고하게될것같아 냅둠)
 function ResetDirectoryKeys($elem, dirNum) {
   $elem.attr("key", dirNum);
 }
 
-function ResetFileKeys($elem, dirNum, fileNum) {}
-
+//파일 추가
 function AddFile($elem) {
+  //업로드된 파일객체 가져오기
   var frontfiles = $elem.get(0).files;
+  //업로드된 파일갯수 사이즈 (다중업로드일때)
   var size = $elem.get(0).files.length;
 
+  //전역변수 files에 새로 업로드한 파일과 같은파일이 있는지 확인한 후 있을경우 이미있는파일이라며 팅굼
   if (isDuplicateFile(frontfiles)) {
     alert(_Language["duplicateName"] + DuplicateFileName(frontfiles));
     return false;
   }
 
+  //업로드된 파일 수 만큼 루프
   for (var i = 0; i < size; i++) {
+    //해시맵
     var hash = new Map();
+    //대응되는 디렉토리
     hash.put("directory", "0");
+    //파일객체
     hash.put("file", frontfiles[i]);
     var name = frontfiles[i].name;
     var lab =
@@ -69,26 +78,25 @@ function AddFile($elem) {
     </li>\
     ";
     selected.children("li:first").after(lab);
+    //앞서 생성한 파일객체를 전역변수 files에 추가
     files.put(files.keys() == "" ? "0" : files.keys().length + "", hash);
   }
+  //bullet 리셋 sort 리셋
   SetBulletIcon();
   SetSortable();
 }
 
+//jquery ui sort 세팅
 function SetSortable() {
   $("#zipExplore ul")
     .sortable({
       connectWith: "ul",
       placeholder: "webzip-explore-placeholder",
-      items: "li:not(.sort-disabled)",
+      items: "li:not(.sort-disabled,.webzip-explore-liEmpty)",
       update: function(event, ui) {
         var directory_key = $(this)
           .prev()
           .attr("key");
-        var directory_name = $(this)
-          .prev()
-          .text()
-          .trim();
         var directory_infiles = new Array();
         $(this)
           .children(".sort-file")
@@ -102,19 +110,14 @@ function SetSortable() {
           });
 
         console.log(directory_key+","+directory_infiles);
-        // if (true) {
-        //   console.log(
-        //     "directory: " + directory_name + ", file name: " + directory_infiles + ", key: " + directory_key
-        //   );
-        // }
-
-        // MoveFile(directory_key, directory_name, directory_infiles);
+        MoveFile(directory_key, directory_infiles);
       }
     })
     .disableSelection();
 }
 
-function MoveFile(dir_key, dir_name, file_name) {
+//sort로 인한 파일이동시
+function MoveFile(dir_key, file_name) {
   for (var i = 0; i < file_name.length; i++) {
     for (var o = 0; o < files.keys().length; o++) {
       if (file_name[i] == files.get(o).get("file").name) {
@@ -123,12 +126,12 @@ function MoveFile(dir_key, dir_name, file_name) {
         file.put("directory", dir_key);
 
         files.put(o, file);
-        console.log(files);
       }
     }
   }
 }
 
+//파일 또는 폴더의 객체를 클릭했을때 css 적용과 전역변수 selected_nameChange에 객체정보 저장
 function Clicked($elem) {
   folder_bg_white();
   $elem.css("background-color", "lightgray");
@@ -144,12 +147,14 @@ function Clicked($elem) {
   SetFileDirectoryName($elem);
 }
 
+//폴더 혹은 파일 백그라운드 색 변경
 function folder_bg_white() {
   $("#zipExplore")
     .find("label")
     .css("background-color", "white");
 }
 
+//왜만들었지? 안씀
 function GetParentTag(elem) {
   return elem
     .parent()
@@ -157,7 +162,7 @@ function GetParentTag(elem) {
     .toLowerCase();
 }
 
-// set bullet icon
+// set bullet icon (파일 또는 폴더의 아이콘) fontawesome
 function SetBulletIcon() {
   $("#zipExplore")
     .find("bullet")
@@ -186,6 +191,7 @@ function SetBulletIcon() {
     });
 }
 
+//업로드시 파일 중복 검사
 function isDuplicateFile(frontfiles) {
   for (var i = 0; i < frontfiles.length; i++) {
     for (var o = 0; o < files.keys().length; o++) {
@@ -197,6 +203,7 @@ function isDuplicateFile(frontfiles) {
   return false;
 }
 
+//업로드시 중복된 파일의 이름값 리턴
 function DuplicateFileName(frontfiles) {
   for (var i = 0; i < frontfiles.length; i++) {
     for (var o = 0; o < files.keys().length; o++) {
@@ -207,6 +214,7 @@ function DuplicateFileName(frontfiles) {
   }
 }
 
+//폴더 열고 접기
 function AddDbclickEvent($elem) {
   if (
     $elem
@@ -225,16 +233,13 @@ function AddDbclickEvent($elem) {
   SetBulletIcon();
 }
 
-//$("#zipExplore ul").each(function(){
-//  $(this).on("sortupdate", function(event, ui){
-//   console.log($(this).sortable('toArray').toString());
-//  });
-//});
-
+//폴더명 변경시 대응하여 오른쪽 폴더라벨명도 변경
 function SetFileDirectoryName($elem) {
   $("#fileName").val($elem.text().trim());
 }
 
+//파일명 변경시 대응하여 오른쪽 폴더라벨명도 변경
+//19.02.21 - 사용안하지만 참조되는곳이 있어 지우지않음
 function ChangeFileName($elem) {
   if (isErrFileName($elem.val())) {
     alert(_Language["err_violationFileName"]);
@@ -248,6 +253,7 @@ function ChangeFileName($elem) {
   }
 }
 
+//파일명에 허용되지 않는 특수문자 들어가는지 확인
 function isErrFileName(val) {
   for (var i = 0; i < notFileName.length; i++) {
     if (val.indexOf(notFileName[i]) != -1) {
@@ -257,6 +263,7 @@ function isErrFileName(val) {
   return false;
 }
 
+//파일명이 너무 길단다
 function isTooLongFileName(val) {
   if (val.length > 30) {
     return true;
@@ -264,8 +271,8 @@ function isTooLongFileName(val) {
   return false;
 }
 
+//초기세팅(bullet, sort, 기본 zip label 세팅)
 SetBulletIcon();
 SetSortable();
-
 directories.put(0, "example");
 $("#zip_default").trigger("click");