Changeset 284


Ignore:
Timestamp:
2010-06-14 23:27:06 (2 years ago)
Author:
francois.harvey
Message:

Integration du menu contextuel dans le treeview (#toc). Nécéssite encore la gestion du copy/paste et de renommer. Quelque probleme de mise en forme. Le double clic est encore possible.

Files:
9 added
4 edited

Legend:

Unmodified
Added
Removed
  • index.php

    r280 r284  
    1111                <link rel="stylesheet" type="text/css" href="theme/default/css/jquery.notifications.css" /> 
    1212                <link rel="stylesheet" type="text/css" href="theme/default/css/jqmodal.css" />           
     13                <link rel="stylesheet" type="text/css" href="theme/default/css/jquery.contextMenu.css" />                
     14 
    1315                 
    1416                <script type="text/javascript" src="script/jquery-1.4.2.min.js"></script> 
     
    2022                <script type="text/javascript" src="script/jquery.notifications-1.1.min.js" ></script> 
    2123                <script type="text/javascript" src="script/jqmodal.js" ></script>                
     24                <script type="text/javascript" src="script/jquery.contextMenu.js" ></script>     
    2225         
    2326                <link rel="icon"  type="image/ico"  href="favicon.ico" /> 
    2427          
     28        <style> 
     29                        #MenuTree { 
     30                                margin: 1em; 
     31                                float: left; 
     32                        } 
     33                         
     34                        #MenuTree UL { 
     35                                padding: 0px; 
     36                                margin: 0em 1em; 
     37                        } 
     38                         
     39                        #MenuTree LI { 
     40                                width: 100px; 
     41                                border: solid 1px #2AA7DE; 
     42                                background: #6CC8EF; 
     43                                padding: 5px 5px; 
     44                                margin: 2px 0px; 
     45                                list-style: none; 
     46                        }                
     47                </style> 
    2548    </head> 
    2649    <body onLoad="loading();"> 
     
    149172        <div id="highlight"></div> 
    150173                <input type='hidden' id='previewtext' value='' /> 
     174                <ul id="MenuTree" class="contextMenu">  
     175                        <li class="add"><a href="#add">Add</a></li>          
     176                        <li class="edit"><a href="#edit">Edit</a></li>  
     177                        <li class="rename"><a href="#rename">Rename</a></li>              
     178                        <li class="cut separator"><a href="#cut">Cut</a></li>  
     179                        <li class="paste"><a href="#paste">Paste</a></li>  
     180                        <li class="delete separator"><a href="#delete">Delete</a></li>  
     181                </ul>          
    151182        </body> 
    152183</html> 
  • script/tree.js

    r180 r284  
    3232 
    3333        click : function(id){ 
    34                 var xmlHttp = tree.getRequestObject(); 
    35  
    36                 xmlHttp.onreadystatechange=function (){ 
    37                         if (xmlHttp.readyState == 4) { 
    38                                 var html=xmlHttp.responseText; 
    39  
    40                                 document.getElementById('help').innerHTML = html; //Wiky.toHtml(html); 
    41                                 RedirectLocation("LocationAnchor", id, "#"+id); 
    42                         } 
    43                 }; 
    44  
    45                 xmlHttp.open("GET","handlers/getpage.php?id="+id+"&lang="+lang,true); 
    46                 xmlHttp.send(null); 
    47                  
    4834                this.updateNode(id); 
    4935                cl="tree"; 
     36        $.get("handlers/getpage.php?id="+tree.activenode+"&lang="+lang,getpage); 
    5037        }, 
    5138         
     
    129116 
    130117                } 
     118                $("#toc").contextMenu({ 
     119                        menu: 'MenuTree' 
     120                }, 
     121                        function(action, el, pos) { 
     122                                switch (action) { 
     123                                        case 'add':     popup.show('folder_add.php?t=f&lang='+lang, 'treemenu', 'handlers/folder.php?target='+tree.activenode+'&lang='+lang, '220px','folderresponse','validateFolderAdd()'); 
     124                                                break; 
     125                                        case 'edit':edit(); 
     126                                                break; 
     127                                        case 'delete':  popup.show('folder_delete.php?t=f&lang='+lang, 'treemenu', 'handlers/folder.php?target='+tree.activenode+'&lang='+lang, '220px','folderresponse','validateFolderDelete()'); 
     128                                                break; 
     129                                        default: 
     130                                                alert(action+' not yet implemented');                            
     131                                } 
     132                });      
    131133                 
    132134        }, 
  • script/ui.js

    r283 r284  
    912912} 
    913913 
     914 
     915function validateFolderDelete(){ 
     916        var comment = document.getElementById("commentf"); 
     917         
     918        if(comment.value.length < 10){ 
     919      $.n.error('Please enter reason for deletion (min 10 characters)', notify_options);                         
     920          comment.focus() 
     921          comment.select(); 
     922          return false;          
     923        } 
     924        return true;     
     925} 
     926 
     927function validateFolderAdd(){ 
     928         
     929        var pos = document.getElementById('position'); 
     930        if(document.getElementById('before').checked) pos.value = "before"; 
     931        if(document.getElementById('after').checked) pos.value = "after"; 
     932        if(document.getElementById('in').checked) pos.value = "in";      
     933        return true; 
     934         
     935} 
     936 
    914937function validateFolder(){ 
    915938        var n = document.getElementById("fname"); 
  • theme/default/css/ui.css

    r267 r284  
    460460        color: white 
    461461} 
     462 
     463/* 
     464        Adding Icons 
     465         
     466        You can add icons to the context menu by adding 
     467        classes to the respective LI element(s) 
     468*/ 
     469 
     470.contextMenu LI.add A { background-image: url(theme/default/images/page_white_edit.png); } 
     471.contextMenu LI.edit A { background-image: url(theme/default/images/page_white_edit.png); } 
     472.contextMenu LI.cut A { background-image: url(theme/default/images/cut.png); } 
     473.contextMenu LI.paste A { background-image: url(theme/default/images/images/page_white_paste.png); } 
     474.contextMenu LI.rename A { background-image: url(theme/default/images/page_white_edit.png); } 
     475.contextMenu LI.delete A { background-image: url(theme/default/images/page_white_delete.png); } 
Note: See TracChangeset for help on using the changeset viewer.