Changeset 5 for pro-bachkim-filespace


Ignore:
Timestamp:
May 27, 2014 7:27:44 PM (11 years ago)
Author:
dungnv
Message:
 
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  
    55@import "../font-awesome.min.css";
    66@import "../ace.min.css";
     7@import "vsgrid.css";
    78
    89body {
     
    102103#treeview-container{
    103104        padding-left: 10px;
    104         padding-right: 5px;
     105        padding-right: 1px;
    105106        padding-top: 15px;
    106107        border-left: #F5F5F5 20px solid;
    107108        display: block;
    108         /*height: 100%;*/
    109109        width: auto;
    110110        overflow-x: hidden;
    111111        overflow-y: auto;
    112112        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;
    113120}
    114121
  • pro-bachkim-filespace/violetspace-prototype/assets/js/filemanager/filemanager.js

    r4 r5  
    5151                var privateTree =  $('#treeview-container').violetTree({
    5252                        script:'getdata.php',
    53                         dataSource: 'AJAX',
    5453                        expandEasing: 'easeOutBounce',
    5554                        collapseEasing: 'easeOutBounce',
     
    6867                });
    6968
     69                $('#btnCopy').click (function(){
     70                        privateTree.copy();
     71                });
     72
    7073                /**
    7174                END - For Directory Tree
  • pro-bachkim-filespace/violetspace-prototype/assets/js/vsfilemanager.js

    r4 r5  
    77                        if( o.homeDirNameDisplay == undefined ) o.homeDirNameDisplay = 'Home';
    88                        if( o.script == undefined ) o.script = null;
    9                         if( o.dataSource == undefined ) o.dataSource = 'AJAX'; //'LOADED'
    10                         if( o.data == undefined ) o.data = null;
    119                        if( o.container == undefined ) o.container = $(this);
    1210                        if( o.dirIDprefix == undefined ) o.dirIDprefix = 'vsdir_';
     
    1816
    1917                        // 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
    2039                        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) {
    3444                                var homeNode = createNode({
    3545                                        id:0,
     
    3848
    3949                                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++) {
    4352                                                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 : false
     53                                                        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
    4857                                                })
    4958                                        };
     
    8796                        //END - Create a node of Tree
    8897
    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();
    92102                        }
    93103
     
    139149
    140150                        this.createDir = function(c) {
    141 
    142151                                var cid = $(c).parent().attr('id');
    143152                                var pid = cid.substring(o.dirIDprefix.length, cid.length);
     
    145154                                var dirName = prompt("Please enter new directory name", "");
    146155
    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                                                                        }
    158164                                });
    159165                        }
     
    164170                                var confirmChild = true;
    165171
     172                                var cid = $(c).parent().attr('id');
     173                                var pid = cid.substring(o.dirIDprefix.length, cid.length);
     174
    166175                                if (isHome(c)) return;
    167176
     
    171180                                        confirmChild = confirm('This node has childs, you still want to delete it?');
    172181
    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');
    175197                        }
    176198
     
    181203                        return this.initialize();
    182204                },
     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                }
    183213        });
    184214
  • pro-bachkim-filespace/violetspace-prototype/getdata.php

    r4 r5  
    2828                echo json_encode($aryNewDir);
    2929        }
     30        else if ($_POST['action'] == 'delete_dir') {
     31                $aryDelDir = array('id' => $_POST['id'], 'isSuccess' => true);
     32                echo json_encode($aryDelDir);
     33        }
    3034}
    3135else {
  • pro-bachkim-filespace/violetspace-prototype/index.html

    r4 r5  
    3737                                <button id="btnNewFolder" class="btn btn-success" title="Tạo thư mục mới"><i class="icon-folder-close"></i></button>
    3838                                <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>
    4242                        </div>
    4343                        <div class="btn-group">
     
    6060           
    6161            <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>
    6369
     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>
    64111                        </div>
    65112            </div>
Note: See TracChangeset for help on using the changeset viewer.