Changeset 15 for pro-bachkim-filespace


Ignore:
Timestamp:
Jun 13, 2014 10:38:13 AM (11 years ago)
Author:
dungnv
Message:
 
Location:
pro-bachkim-filespace/sourcecode
Files:
9 added
5 edited
1 moved

Legend:

Unmodified
Added
Removed
  • pro-bachkim-filespace/sourcecode/application/modules/ajax/controllers/privatecontent.php

    r12 r15  
    3636       
    3737        public function getContent () {
    38                 $aryData = array('DIRECTORIES' =>  $this->objDirectory->getAllDirectory() , 'FILES' => $this->objDirectory->getAllFile());
     38                $aryData = array('DIRECTORIES' =>  $this->objDirectory->getAllDirectory() , 'FILES' => $this->objDirectory->getAllFile(), 'ENCRYPT' => md5('abcdef'));
    3939                echo json_encode($aryData);
    4040        }
  • pro-bachkim-filespace/sourcecode/application/views/layout/footer.php

    r13 r15  
     1<ul id="treeMenu" class="contextMenu">
     2        <li class="share"><a href="#share">Chia sẻ</a></li>
     3        <li class="cut separator"><a href="#cut">Cắt</a></li>
     4        <li class="copy"><a href="#copy">Sao chép</a></li>
     5        <li class="paste"><a href="#paste">Dán</a></li>
     6        <li class="delete"><a href="#delete">Xóa</a></li>
     7        <li class="rename separator"><a href="#rename">Đổi tên</a></li>
     8</ul>
     9
     10<ul id="gridMenu" class="contextMenu">
     11        <li class="open"><a href="#open">Mở</a></li>
     12        <li class="preview"><a href="#preview">Xem trước</a></li>
     13        <li class="share separator"><a href="#share">Chia sẻ</a></li>
     14        <li class="cut separator"><a href="#cut">Cắt</a></li>
     15        <li class="copy"><a href="#copy">Sao chép</a></li>
     16        <li class="paste"><a href="#paste">Dán</a></li>
     17        <li class="delete"><a href="#delete">Xóa</a></li>
     18        <li class="rename separator"><a href="#rename">Đổi tên</a></li>
     19</ul>
     20
    121<script type="text/javascript">
    222        window.jQuery || document.write("<script src='assets/js/jquery/jquery-1.11.1.min.js'>"+"<"+"/script>");
     
    828<script src="assets/js/bootstrap/bootstrap.min.js"></script>
    929<script src="assets/js/jquery/jquery-ui-1.10.4.min.js"></script>
     30<script src="assets/js/jquery/jquery.contextMenu.js"></script>
     31<script src="assets/js/jquery/jquery.easing.1.3"></script>
     32<script src="assets/js/vsgrid.js"></script>
     33<script src="assets/js/vstree.js"></script>
    1034
    11 <script src="assets/js/jquery/jqueryFileTree.js"></script>
    12 <script src="assets/js/jquery/jquery.easing.1.3"></script>
    13 <script src="assets/js/vsfiletree.js"></script>
    14 <script src="assets/js/vsfilemanager.js"></script>
    15 <script src="assets/js/vscontextmenu.js"></script>
     35<!-- <script src="assets/js/vscontextmenu.js"></script>
     36<script src="assets/js/jquery/jqueryFileTree.js"></script> -->
    1637
    1738<script type="text/javascript" src="assets/js/filemanager/filemanager.js">
  • pro-bachkim-filespace/sourcecode/assets/css/space/style.css

    r13 r15  
    22@import "../bootstrap/bootstrap.min.css";
    33@import "../jquery/jquery-ui-1.10.4.min.css";
    4 @import "../jquery/jqueryFileTree.css";
     4/* @import "../jquery/jquery.contextMenu.css"; */
     5@import "../jquery/jquery.contextmenu_new.css";
    56@import "../font-awesome.min.css";
    67@import "../ace.min.css";
  • pro-bachkim-filespace/sourcecode/assets/css/space/vsgrid.css

    r9 r15  
    158158}
    159159
     160DIV.vsgrid DIV.vscell DIV.file-name INPUT.rename {
     161        width:100%;
     162        height: 18px;
     163        border: 1px #5eaee5 solid;
     164        padding: 0px;
     165        text-overflow: initial;
     166        font-family: Verdana, sans-serif;
     167        font-size: 12px;
     168}
     169
    160170DIV.vsgrid DIV.vscell DIV.selector DIV.icon-directory,
    161171DIV.vsgrid DIV.vscell DIV.selector DIV.icon-text,
  • pro-bachkim-filespace/sourcecode/assets/js/vsgrid.js

    r14 r15  
     1if(jQuery) (function($){
     2       
     3        $.extend($.fn, {
     4                violetGrid: function (o) {
     5                        if( !o ) var o = {};
     6                        if( o.container == undefined ) o.container = $(this);
     7                        if( o.defaultViewMode == undefined ) o.defaultViewMode = 'thumbnail';//or 'list'
     8                        if( o.directoryTreeData == undefined ) o.directoryTreeData = null;
     9                        if( o.dirIDprefix == undefined ) o.dirIDprefix = null;
     10                       
     11                        var createNode = function (d) {
     12                                if( !d ) var d = {};
     13                                if( d.id == undefined ) d.id = null;
     14                                if( d.name == undefined ) d.name = null;
     15                                if( d.minetype == undefined ) d.minetype = 'directory';
     16                                if( d.parentID == undefined ) d.parentID = null;
     17                                if( d.clickEvent == undefined ) d.clickEvent = null;
     18                                if( d.customEvent == undefined ) d.customEvent = null;
     19
     20                                var strHTML = '<div class="vscell" rel="id:' + d.id + '">';
     21                                        strHTML += '<div class="selector unselected">';
     22                                        strHTML +=      '<div class="icon-' + d.minetype + '"></div>';
     23                                        strHTML += '</div>';
     24                                        strHTML += '<div class="file-name unselected">' + d.name + '</div>';
     25                                        strHTML += '</div>';
     26                               
     27                                var disabledItemsList = null;
     28                               
     29                                if (d.minetype == 'directory') {
     30                                        disabledItemsList = ['preview'];
     31                                }
     32                               
     33                                $(o.container).append(strHTML);
     34
     35                                $('div[rel="id:'+ d.id +'"]').bind('click',function(e){itemClick(this)});                               
     36                                $('div[rel="id:'+ d.id +'"]').contextMenu({
     37                                        menu: 'gridMenu',
     38                                        disabledItems: disabledItemsList
     39                                }, function(action, el, pos) {
     40                               
     41                                        switch(action) {
     42                                                case 'rename':
     43                                                        itemClick(el);
     44                                                        rename(el);
     45                                                        break;
     46                                                default:
     47                                                        break;
     48                                        }
     49                                       
     50                                });
     51                        }
     52                       
     53                        var keyboardRename = function () {
     54                                $(document).keypress( function(e) {
     55                                        var selectedItem = $('.selector.selected').parent();
     56                                        switch( e.keyCode ) {
     57                                                case 113:
     58                                                        rename(selectedItem);
     59                                                        break;
     60                                                case 32:
     61                                                        cancelRename(selectedItem);
     62                                                        break;
     63                                                default:
     64                                                        break;
     65                                        }
     66                                        return false;
     67                                });
     68                        }
     69
     70                        var itemClick = function (i) {
     71                                $(i).parent().find('.selector').removeClass('selected');
     72                                $(i).parent().find('.selector').addClass('unselected');
     73                                $(i).parent().find('.file-name').removeClass('selected');
     74                                $(i).parent().find('.file-name').addClass('unselected');
     75
     76                                $(i).find('.file-name').removeClass('unselected');
     77                                $(i).find('.file-name').addClass('selected');
     78                                $(i).find('.selector').removeClass('unselected');
     79                                $(i).find('.selector').addClass('selected');
     80                        }
     81
     82                        var renderGrid = function (o) {
     83                                $(o.container).find ('.vscell').remove();
     84                               
     85                                var childDir = o.directoryTreeData.DIRECTORIES;
     86                                var childFile = o.directoryTreeData.FILES;
     87                                var curentDirID = o.curentParent.substring(o.dirIDprefix.length, o.curentParent.length);
     88                               
     89                                for (var i = 0 ; i < childDir.length; i++) {
     90                                        if (childDir[i].parentID != curentDirID) continue;
     91                                        createNode ({
     92                                                id: childDir[i].id,
     93                                                name: childDir[i].name,
     94                                                parentID: curentDirID,
     95                                        });
     96                                }
     97
     98                                for (var i = 0 ; i < childFile.length; i++) {
     99                                        if (childFile[i].parentID != curentDirID) continue;
     100                                        createNode ({
     101                                                id: childFile[i].id,
     102                                                name: childFile[i].name,
     103                                                parentID: curentDirID,
     104                                                minetype: childFile[i].minetype,
     105                                        });
     106                                }
     107                        }
     108                       
     109                        var rename = function (e) {
     110                                var nameObj = $(e).find('.file-name');
     111                                var oldName = $(nameObj).text();
     112                                var editor = document.createElement ('INPUT');
     113                                editor.type = 'text';
     114                                editor.className = 'rename';
     115                                editor.value = oldName;
     116                               
     117                                $(nameObj).text('');
     118                                $(nameObj).append(editor);
     119                                editor.focus();
     120                                $(editor).select();
     121                        }
     122                       
     123                        var cancelRename = function (e) {
     124                                var oldName = $(e).find('INPUT.rename').attr('value');
     125                                $(e).find('INPUT.rename').remove();
     126                                $(e).find('.file-name').text(oldName);
     127                               
     128                        }
     129
     130                        this.getData = function (data) {
     131                                o.directoryTreeData = data.directoryTreeData;
     132                                o.curentParent = data.curentParent;
     133                                o.dirIDprefix = data.dirIDprefix
     134                                renderGrid(o);
     135                                keyboardRename();
     136                        }
     137
     138                        this.initialize = function() {
     139                        return this;
     140                };
     141
     142                        return this.initialize();
     143                }
     144        });
     145
     146})(jQuery);
  • pro-bachkim-filespace/sourcecode/assets/js/vstree.js

    r14 r15  
    241241
    242242                        return this.initialize();
    243                 },
    244 
    245                 violetGrid: function (o) {
    246                         if( !o ) var o = {};
    247                         if( o.container == undefined ) o.container = $(this);
    248                         if( o.defaultViewMode == undefined ) o.defaultViewMode = 'thumbnail';//or 'list'
    249                         if( o.directoryTreeData == undefined ) o.directoryTreeData = null;
    250                         if( o.dirIDprefix == undefined ) o.dirIDprefix = null;
    251                        
    252                         var createNode = function (d) {
    253                                 if( !d ) var d = {};
    254                                 if( d.id == undefined ) d.id = null;
    255                                 if( d.name == undefined ) d.name = null;
    256                                 if( d.minetype == undefined ) d.minetype = 'directory';
    257                                 if( d.parentID == undefined ) d.parentID = null;
    258                                 if( d.clickEvent == undefined ) d.clickEvent = null;
    259                                 if( d.customEvent == undefined ) d.customEvent = null;
    260 
    261                                 var strHTML = '<div class="vscell" rel="id:' + d.id + '">';
    262                                         strHTML += '<div class="selector unselected">';
    263                                         strHTML +=      '<div class="icon-' + d.minetype + '"></div>';
    264                                         strHTML += '</div>';
    265                                         strHTML += '<div class="file-name unselected">' + d.name + '</div>';
    266                                         strHTML += '</div>';
    267                                
    268                                 var disabledItemsList = null;
    269                                
    270                                 if (d.minetype == 'directory') {
    271                                         disabledItemsList = ['preview'];
    272                                 }
    273                                
    274                                 $(o.container).append(strHTML);
    275 
    276                                 $('div[rel="id:'+ d.id +'"]').bind('click',function(e){itemClick(this)});                               
    277                                 $('div[rel="id:'+ d.id +'"]').contextMenu({
    278                                         menu: 'gridMenu',
    279                                         disabledItems: disabledItemsList
    280                                 }, function(action, el, pos) {
    281                                
    282                                         switch(action) {
    283                                                 case 'rename':
    284                                                         itemClick(el);
    285                                                         rename(el);
    286                                                         break;
    287                                                 default:
    288                                                         break;
    289                                         }
    290                                        
    291                                 });
    292                         }
    293                        
    294                         var keyboardRename = function () {
    295                                 $(document).keypress( function(e) {
    296                                         var selectedItem = $('.selector.selected').parent();
    297                                         switch( e.keyCode ) {
    298                                                 case 113:
    299                                                         rename(selectedItem);
    300                                                         break;
    301                                                 default:
    302                                                         break;
    303                                         }
    304                                         return false;
    305                                 });
    306                         }
    307 
    308                         var itemClick = function (i) {
    309                                 $(i).parent().find('.selector').removeClass('selected');
    310                                 $(i).parent().find('.selector').addClass('unselected');
    311                                 $(i).parent().find('.file-name').removeClass('selected');
    312                                 $(i).parent().find('.file-name').addClass('unselected');
    313 
    314                                 $(i).find('.file-name').removeClass('unselected');
    315                                 $(i).find('.file-name').addClass('selected');
    316                                 $(i).find('.selector').removeClass('unselected');
    317                                 $(i).find('.selector').addClass('selected');
    318                         }
    319 
    320                         var renderGrid = function (o) {
    321                                 $(o.container).find ('.vscell').remove();
    322                                
    323                                 var childDir = o.directoryTreeData.DIRECTORIES;
    324                                 var childFile = o.directoryTreeData.FILES;
    325                                 var curentDirID = o.curentParent.substring(o.dirIDprefix.length, o.curentParent.length);
    326                                
    327                                 for (var i = 0 ; i < childDir.length; i++) {
    328                                         if (childDir[i].parentID != curentDirID) continue;
    329                                         createNode ({
    330                                                 id: childDir[i].id,
    331                                                 name: childDir[i].name,
    332                                                 parentID: curentDirID,
    333                                         });
    334                                 }
    335 
    336                                 for (var i = 0 ; i < childFile.length; i++) {
    337                                         if (childFile[i].parentID != curentDirID) continue;
    338                                         createNode ({
    339                                                 id: childFile[i].id,
    340                                                 name: childFile[i].name,
    341                                                 parentID: curentDirID,
    342                                                 minetype: childFile[i].minetype,
    343                                         });
    344                                 }
    345                         }
    346                        
    347                         var rename = function (e) {
    348                                 var nameObj = $(e).find('.file-name');
    349                                 var oldName = $(nameObj).text();
    350                                 var editor = document.createElement ('INPUT');
    351                                 editor.type = 'text';
    352                                 editor.className = 'rename';
    353                                 editor.value = oldName;
    354                                
    355                                 $(nameObj).text('');
    356                                 $(nameObj).append(editor);
    357                                 editor.focus();
    358                                 $(editor).select();
    359                         }
    360                        
    361                         var cancelRename = function () {
    362                                
    363                         }
    364 
    365                         this.getData = function (data) {
    366                                 o.directoryTreeData = data.directoryTreeData;
    367                                 o.curentParent = data.curentParent;
    368                                 o.dirIDprefix = data.dirIDprefix
    369                                 renderGrid(o);
    370                                 keyboardRename();
    371                         }
    372 
    373                         this.initialize = function() {
    374                         return this;
    375                 };
    376 
    377                         return this.initialize();
    378243                }
    379244        });
Note: See TracChangeset for help on using the changeset viewer.