Changeset 5 for pro-bachkim-filespace
- Timestamp:
- May 27, 2014 7:27:44 PM (11 years ago)
- Location:
- pro-bachkim-filespace/violetspace-prototype
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
pro-bachkim-filespace/violetspace-prototype/assets/css/space/style.css
r1 r5 5 5 @import "../font-awesome.min.css"; 6 6 @import "../ace.min.css"; 7 @import "vsgrid.css"; 7 8 8 9 body { … … 102 103 #treeview-container{ 103 104 padding-left: 10px; 104 padding-right: 5px;105 padding-right: 1px; 105 106 padding-top: 15px; 106 107 border-left: #F5F5F5 20px solid; 107 108 display: block; 108 /*height: 100%;*/109 109 width: auto; 110 110 overflow-x: hidden; 111 111 overflow-y: auto; 112 112 border-radius: 0 !important; 113 } 114 115 .ui-resizable-e { 116 background: url("../../images/resize.png") no-repeat scroll center center #F5F5F5; 117 border-left: 1px solid #E5E5E5; 118 border-right: 1px solid #E5E5E5; 119 width: 5px; 113 120 } 114 121 -
pro-bachkim-filespace/violetspace-prototype/assets/js/filemanager/filemanager.js
r4 r5 51 51 var privateTree = $('#treeview-container').violetTree({ 52 52 script:'getdata.php', 53 dataSource: 'AJAX',54 53 expandEasing: 'easeOutBounce', 55 54 collapseEasing: 'easeOutBounce', … … 68 67 }); 69 68 69 $('#btnCopy').click (function(){ 70 privateTree.copy(); 71 }); 72 70 73 /** 71 74 END - For Directory Tree -
pro-bachkim-filespace/violetspace-prototype/assets/js/vsfilemanager.js
r4 r5 7 7 if( o.homeDirNameDisplay == undefined ) o.homeDirNameDisplay = 'Home'; 8 8 if( o.script == undefined ) o.script = null; 9 if( o.dataSource == undefined ) o.dataSource = 'AJAX'; //'LOADED'10 if( o.data == undefined ) o.data = null;11 9 if( o.container == undefined ) o.container = $(this); 12 10 if( o.dirIDprefix == undefined ) o.dirIDprefix = 'vsdir_'; … … 18 16 19 17 // PRIVATE methods 18 var sendCommand = function (p) { 19 if( p.postdata == undefined ) p.postdata = null; 20 if( p.callbackSuccess == undefined ) p.callbackSuccess = null; 21 if( p.callbackDone == undefined ) p.callbackDone = null; 22 if( p.callbackFail == undefined ) p.callbackFail = null; 23 if( p.callbackAlways == undefined ) p.callbackAlways = null; 24 25 if (o.script != null) { 26 $.post(o.script, p.postdata, function (data){ 27 if (data) { 28 parseData = $.parseJSON(data); 29 } 30 31 if (p.callbackSuccess != null) { 32 p.callbackSuccess(parseData); 33 } 34 35 }).done(function() {if (p.callbackDone != null)p.callbackDone(this);}).fail(function() {if (p.callbackFail != null)p.callbackFail(this);}).always(function() {if (p.callbackAlways != null)p.callbackAlways(this);}); 36 } 37 } 38 20 39 var loadTree = function () { 21 if (o.dataSource == 'AJAX') { 22 $.post(o.script, 23 function(data){ 24 if (!data) return; 25 var parsedData = $.parseJSON(data); 26 o.data = parsedData; 27 renderTree (); 28 } 29 ).done(function() {}).fail(function() {}).always(function() {}); 30 } 31 }; 32 33 var renderTree = function () { 40 sendCommand ({postdata:null,callbackSuccess:renderTree}); 41 }; 42 43 var renderTree = function (parseData) { 34 44 var homeNode = createNode({ 35 45 id:0, … … 38 48 39 49 selectDir($(homeNode).find('> A')); 40 41 if (o.data != null) { 42 for (var i = 0; i < o.data.length ; i++) { 50 if (parseData != null) { 51 for (var i = 0; i < parseData.length ; i++) { 43 52 var node = createNode ({ 44 id: o.data[i].id,45 name: o.data[i].name,46 curentNode: $('#' + o.dirIDprefix + o.data[i].parentID).find('> A'),47 hidden: ( o.data[i].parentID > 0) ? true : false53 id: parseData[i].id, 54 name: parseData[i].name, 55 curentNode: $('#' + o.dirIDprefix + parseData[i].parentID).find('> A'), 56 hidden: (parseData[i].parentID > 0) ? true : false 48 57 }) 49 58 }; … … 87 96 //END - Create a node of Tree 88 97 89 var deleteNode = function (n) { 90 if (!$(n).parent().hasClass('home')) 91 $(n).remove(); 98 var deleteNode = function (parsedData) { 99 if (parsedData.isSuccess == false) return false; 100 if (!$('#' + o.dirIDprefix + parsedData.id).hasClass('home')) 101 $('#' + o.dirIDprefix + parsedData.id).parent().remove(); 92 102 } 93 103 … … 139 149 140 150 this.createDir = function(c) { 141 142 151 var cid = $(c).parent().attr('id'); 143 152 var pid = cid.substring(o.dirIDprefix.length, cid.length); … … 145 154 var dirName = prompt("Please enter new directory name", ""); 146 155 147 $.post(o.script,{action:"create_dir",parentID:pid,name:dirName}, function (data) { 148 if (!data) return; 149 var parsedData = $.parseJSON(data); 150 151 createNode({ 152 id: parsedData.id, 153 name: parsedData.name, 154 curentNode: c, 155 hidden: false, 156 //customEvent: {eventName: "click", eventTrigger: function(o){alert('This click!')}} 157 }); 156 sendCommand({ 157 postdata:{action:"create_dir",parentID:pid,name:dirName}, 158 callbackSuccess: function (parsedData) {createNode({ 159 id: parsedData.id, 160 name: parsedData.name, 161 curentNode: c, 162 hidden: false,}); 163 } 158 164 }); 159 165 } … … 164 170 var confirmChild = true; 165 171 172 var cid = $(c).parent().attr('id'); 173 var pid = cid.substring(o.dirIDprefix.length, cid.length); 174 166 175 if (isHome(c)) return; 167 176 … … 171 180 confirmChild = confirm('This node has childs, you still want to delete it?'); 172 181 173 if (confirmDel && confirmChild) deleteNode(c); 174 182 if (confirmDel && confirmChild) { 183 var postdata = {action:"delete_dir",id:pid} 184 sendCommand({ 185 postdata:postdata, 186 callbackSuccess: function (parsedData) {deleteNode(parsedData)} 187 }); 188 } 189 } 190 191 this.copy = function () { 192 alert ('copy'); 193 } 194 195 this.paste = function () { 196 alert ('paste'); 175 197 } 176 198 … … 181 203 return this.initialize(); 182 204 }, 205 206 violetGrid: function (o) { 207 if( o.container == undefined ) o.container = $(this); 208 if( o.defaultViewMode == undefined ) o.defaultViewMode = 'thumbnail';//or 'list' 209 210 if( o.directoryContent == undefined ) o.directoryContent = null; 211 212 } 183 213 }); 184 214 -
pro-bachkim-filespace/violetspace-prototype/getdata.php
r4 r5 28 28 echo json_encode($aryNewDir); 29 29 } 30 else if ($_POST['action'] == 'delete_dir') { 31 $aryDelDir = array('id' => $_POST['id'], 'isSuccess' => true); 32 echo json_encode($aryDelDir); 33 } 30 34 } 31 35 else { -
pro-bachkim-filespace/violetspace-prototype/index.html
r4 r5 37 37 <button id="btnNewFolder" class="btn btn-success" title="Tạo thư mục má»i"><i class="icon-folder-close"></i></button> 38 38 <button id="btnDel" class="btn btn-success" title="Xóa"><i class="icon-eraser"></i></button> 39 <button class="btn btn-success" title="Sao chép"><i class="icon-copy"></i></button>40 <button class="btn btn-success" title="Cắt"><i class="icon-cut"></i></button>41 <button class="btn btn-success" title="Dán"><i class="icon-paste"></i></button>39 <button id="btnCopy" class="btn btn-success" title="Sao chép"><i class="icon-copy"></i></button> 40 <button id="btnCut"class="btn btn-success" title="Cắt"><i class="icon-cut"></i></button> 41 <button id="btnPaste"class="btn btn-success" title="Dán"><i class="icon-paste"></i></button> 42 42 </div> 43 43 <div class="btn-group"> … … 60 60 61 61 <div id="directory-content-view-container"> 62 <div id="file-container"> 62 <div id="file-container" class="vsgrid"> 63 <div class="vscell"> 64 <div class="selector"> 65 <div class="icon-directory"></div> 66 </div> 67 <div class="file-name">Dir 1</div> 68 </div> 63 69 70 <div class="vscell"> 71 <div class="selector"> 72 <div class="icon-directory"></div> 73 </div> 74 <div class="file-name">Dir 2</div> 75 </div> 76 77 <div class="vscell"> 78 <div class="selector"> 79 <div class="icon-directory"></div> 80 </div> 81 <div class="file-name">Dir 3</div> 82 </div> 83 84 <div class="vscell"> 85 <div class="selector"> 86 <div class="icon-text"></div> 87 </div> 88 <div class="file-name">File 1</div> 89 </div> 90 91 <div class="vscell"> 92 <div class="selector"> 93 <div class="icon-text"></div> 94 </div> 95 <div class="file-name">File 2</div> 96 </div> 97 98 <div class="vscell"> 99 <div class="selector"> 100 <div class="icon-text"></div> 101 </div> 102 <div class="file-name">File 3</div> 103 </div> 104 105 <div class="vscell"> 106 <div class="selector"> 107 <div class="icon-text"></div> 108 </div> 109 <div class="file-name">File 4</div> 110 </div> 64 111 </div> 65 112 </div>
Note: See TracChangeset
for help on using the changeset viewer.