Changeset 140


Ignore:
Timestamp:
Sep 19, 2014 7:10:40 PM (11 years ago)
Author:
dungnv
Message:
 
Location:
pro-bachkim-filespace/sourcecode/assets/js
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • pro-bachkim-filespace/sourcecode/assets/js/grid.js

    r121 r140  
    118118                                var parentDirID = o.manager.getTreeCurrentNode();
    119119                                if (o.data.DIRECTORIES.length > 0) {
    120                                         for (var i = 0; i < o.data.DIRECTORIES.length; i++) {
    121                                                 if (o.data.DIRECTORIES[i].parentID == parentDirID) {
    122                                                         var li = createNode ({item: o.data.DIRECTORIES[i]});
     120                                        for (var d in o.data.DIRECTORIES) {
     121                                                if (o.data.DIRECTORIES[d].parentID == parentDirID) {
     122                                                        var li = createNode ({item: o.data.DIRECTORIES[d]});
    123123                                                        $(ul).append(li);
    124124                                                }
     
    127127                               
    128128                                if (o.data.FILES.length > 0) {
    129                                         for (var i = 0; i < o.data.FILES.length; i++) {
    130                                                 if (o.data.FILES[i].parentID == parentDirID) {
    131                                                         var li = createNode ({item: o.data.FILES[i]});
     129                                        for (var f in o.data.FILES) {
     130                                                if (o.data.FILES[f].parentID == parentDirID) {
     131                                                        var li = createNode ({item: o.data.FILES[f]});
    132132                                                        $(ul).append(li);
    133133                                                }
     
    192192                         ******************/
    193193                       
    194                         this.reloadGrid = function (nodeID) {
     194                        this.reloadGrid = function () {
    195195                                initGrid();
    196196                        }
  • pro-bachkim-filespace/sourcecode/assets/js/manager.js

    r121 r140  
    197197                                }
    198198                               
    199                                 for (var i = 0; i < data.length; i++) {
    200                                         if (data[i].id == id) return i;
     199                                //for (var i = 0; i < data.length; i++) {
     200                                for (var i in data) {
     201                                        if (data[i].id == id) {
     202                                                return i;
     203                                        }
    201204                                }
    202205                        }
     
    218221                                }
    219222                               
    220                                 for (var i = 0; i < data.length; i++) {
     223                                for(i in data) {
    221224                                        if (data[i].parentID == parentID) {
    222225                                                aryItem[index] = data[i];
     
    238241                                                                        self.updateData({updateAll:true});
    239242                                                                        o.oTree.refeshTree();
    240                                                                         console.log(o);
    241243                                                                },
    242244                                                                callbackDone:function () {$(o).find('i').removeClass('icon-spin');},
     
    261263                       
    262264                        var btnCopyClick = function () {                               
    263                                 copy();
     265                                copy('copy');
    264266                        }
    265267
     
    268270                        }
    269271                       
     272                        var btnCutClick = function () {
     273                                copy('move');
     274                        }
    270275                       
    271276                        var bindEventToToolbars = function () {
     
    275280                                $(btnDel).click(function(e){btnDelClick()});
    276281                                $(btnCopy).click(function(e){btnCopyClick()});
     282                                $(btnCut).click(function(e){btnCutClick()});
    277283                                $(btnPaste).click(function(e){btnPasteClick()})
    278284                               
    279                                 /*btnCut
    280                                 btnShare
     285                                /*btnShare
    281286                                btnPreview
    282287                                btnDownload
     
    364369                                        o.oTree.createNode(node);
    365370                                        o.data.DIRECTORIES[$(o.data.DIRECTORIES).length] = node;
    366                                         if (o.oGrid) o.oGrid.reloadGrid(parseData.parentID);
     371                                        if (o.oGrid) o.oGrid.reloadGrid();
    367372                                }
    368373                        }
     
    372377                        /********************************
    373378                         * COPY & PASTE & MOVE - START  *
    374                          ************=*******************/
    375                         var copy = function (){
     379                         ************=*******************/     
     380                        var copy = function (act){
    376381                                //detect selected items
    377382                                //push to clipboard
     
    381386                                        var node = o.oTree.getSelectedNode();
    382387                                        var itemID = $(node).attr('id');
     388                                       
     389                                        if (itemID == 0) return false;
     390                                       
    383391                                        items[0] = o.data.DIRECTORIES[searchItemByID(itemID, 'directory')];
    384392                                        items[0].type = 'directory';
     
    387395                                if ($(items).length > 0) {
    388396                                        oClipBoard.items = items;
    389                                         oClipBoard.act = 'copy';
    390                                 }
     397                                        oClipBoard.act = act;
     398                                }
     399                                return true;
    391400                        }
    392401                       
     
    398407                                var items = [];
    399408                                var destination = self.getTreeCurrentNode();
    400 
    401                                 $(oClipBoard.items).each(function (index) {
    402                                         var node = new Object;
    403                                         if (this.type == 'directory')
    404                                                 buildTreeFromParent(this.id, node);
    405                                         else {
    406                                                 node.id = this.id;
    407                                                 node.type = 'file';
    408                                         }
    409 
    410                                         items[index] = node;
    411                                 });
    412 
    413                                 var postdata = {destination:destination,data:JSON.stringify(items)};
    414                                 var script = 'copy';
     409                                if (oClipBoard.act != 'copy') {
     410                                        $(oClipBoard.items).each(function (index) {
     411                                                var node = new Object;
     412                                                if (this.type == 'directory')
     413                                                        buildTreeFromParent(this.id, node);
     414                                                else {
     415                                                        node.id = this.id;
     416                                                        node.type = 'file';
     417                                                }
     418       
     419                                                items[index] = node;
     420                                        });
     421                                }
     422                                else {
     423                                        items = oClipBoard.items;
     424                                }
     425                               
     426                                var postdata = {act:oClipBoard.act,destination:destination,data:JSON.stringify(items)};
     427                                var script = oClipBoard.act;
     428                               
    415429                                sendCommand ({
    416430                                        postdata:postdata,
    417431                                        script:script,
    418432                                        callbackSuccess:function(parseData){
    419                                                 console.log(parseData);
     433                                                if (oClipBoard.act == 'copy'){
     434                                                        $(parseData.DIRECTORIES).each(function (index) {
     435                                                                o.data.DIRECTORIES[$(o.data.DIRECTORIES).length] = this;
     436                                                        });
     437                                                       
     438                                                        $(parseData.FILES).each(function (index) {
     439                                                                o.data.FILES[$(o.data.FILES).length] = this;
     440                                                        });
     441                                                                                                       
     442                                                        o.data.DIRECTORIES.sort(function (a,b) {
     443                                                                return a.parentID - b.parentID;
     444                                                        });                                             
     445                                                       
     446                                                        o.oTree.setData (o.data.DIRECTORIES);
     447                                                        o.oGrid.setData (o.data);                                               
     448                                                        o.oTree.createCopyNode(parseData.DIRECTORIES);
     449                                                        o.oGrid.reloadGrid();
     450                                                }
    420451                                        }
    421452                                });
     
    424455
    425456                        var move = function () {
    426 
     457                               
    427458                        }
    428459
     
    453484                               
    454485                                confirmText += '<br /><div style="color:red">(hành động này sẜ xóa tất cả thư mục con và các file trong các thư mục đã chọn)</div>';
     486                               
     487                                var parentID = item[0].parentID;
    455488                               
    456489                                for (var i = 0; i < item.length; i++) {
     
    496529                                                                        var delobj = JSON.stringify(item);
    497530                                                                        var postdata = {delobj:delobj};
    498                                                                         var script = 'deletedir';
     531                                                                        var script = 'delete';
    499532                                                                        sendCommand ({
    500533                                                                                postdata:postdata,
     
    516549                                                                                },
    517550                                                                                callbackDone: function (obj) {
    518                                                                                         var dirs = [];
    519                                                                                         var files = [];
    520551                                                                                        if($(parseData.DIRECTORIES).length > 0) {
    521                                                                                                 $(o.data.DIRECTORIES).each(function (index){
    522                                                                                                         var found = $.inArray(this.id, parseData.DIRECTORIES);
    523                                                                                                         if(found == -1) {
    524                                                                                                                 dirs[$(dirs).length] = this;
    525                                                                                                         }
     552                                                                                                $(parseData.DIRECTORIES).each(function(index){
     553                                                                                                        delete o.data.DIRECTORIES[searchItemByID(this, 'directory')];
    526554                                                                                                });
    527                                                                                                
    528                                                                                                 o.data.DIRECTORIES = dirs;
    529555                                                                                        }
    530556                                                                                       
    531557                                                                                        if($(parseData.FILES).length > 0) {
    532                                                                                                 $(o.data.FILES).each(function (index){
    533                                                                                                         var found = $.inArray(this.id, parseData.FILES);
    534                                                                                                         if(found == -1) {
    535                                                                                                                 files[$(dirs).length] = this;
    536                                                                                                         }
    537                                                                                                 })
    538                                                                                                
    539                                                                                                 o.data.FILES = files;
     558                                                                                                $(parseData.FILES).each(function(index){
     559                                                                                                        delete o.data.FILES[searchItemByID(this, 'file')];
     560                                                                                                });
    540561                                                                                        }
    541562                                                                                       
    542563                                                                                        o.oTree.setData (o.data.DIRECTORIES);
    543564                                                                                        o.oGrid.setData (o.data);
    544                                                                                 },
     565                                                                                        self.setTreeCurrentNode(parentID);
     566                                                                                        o.oGrid.reloadGrid();
     567                                                                        },
    545568                                                                                callbackFail: function(){}
    546569                                                                        });
     
    556579                                //then fire action of Grid
    557580                                treeCurrentNode = treeNode;
    558                                 if (o.oGrid) o.oGrid.reloadGrid(treeNode);
     581                                if (o.oGrid) o.oGrid.reloadGrid();
    559582                        };
    560583                       
  • pro-bachkim-filespace/sourcecode/assets/js/tree.js

    r70 r140  
    1818                        var selectedNode = null;
    1919                        var documentBoundEvent = false;
     20                        var self = this;
    2021                       
    2122                        var createNode = function (node) {
    22                                
    2323                                if( !node ) var node = {};
    2424                                if( node.item == undefined ) node.item = null; //item.id, item.name, item.parentID
     
    258258
    259259                        this.refeshTree = function () {
    260                                 for (var i = 0; i < o.data.length; i++) {
     260                                //for (var i = 0; i < o.data.length; i++) {
     261                                for (var i in o.data) {
    261262                                        var node = nodeIsExisted(o.data[i].id);
    262263                                        var defaulState = isCollapsedNode(node) ? 0:1;
     
    287288                                return treeNodes[0];
    288289                        }
    289 
    290                         this.initialize = function () {
    291                                 initTree();
    292                                 return this;
    293                         };
     290                       
     291                        this.createCopyNode = function (data) {
     292                                for(var i in data) {
     293                                        createNode ({item: data[i]});
     294                                }
     295                                self.refeshTree();
     296                        }
    294297
    295298                        this.rename = function (key) {
     
    305308                        }
    306309                       
     310                        this.initialize = function () {
     311                                initTree();
     312                                return this;
     313                        };
     314                       
    307315                        return this.initialize();
    308316                }
Note: See TracChangeset for help on using the changeset viewer.