Ignore:
Timestamp:
01/04/07 11:56:20 (13 years ago)
Author:
ray
Message:

InsertSnippet? update:

  • added backend config option to specify snippets file
  • added automatic referencing of pageStyleSheets in the popups/insertsnippet.html
  • improved loadback of snippets
    • asynchronous
    • once on load instead of twice each time of use
  • added readme.html
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/InsertSnippet/popups/insertsnippet.html

    r439 r630  
    1 <html> 
    2 <head> 
     1<!DOCTYPE html 
     2                 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     3                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
     4 
     5<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    36<title>Insert Snippet</title> 
    47<link rel="stylesheet" type="text/css" href="../../../popups/popup.css" /> 
     8<link rel="stylesheet" type="text/css" href="../InsertSnippet.css" /> 
    59<script type="text/javascript" src="../../../popups/popup.js"></script> 
    610<script type="text/javascript"> 
     
    812var InsertSnippet = window.opener.InsertSnippet; 
    913var editor = null; 
    10 var config; 
     14 
    1115 
    1216function Init() { 
    13   __dlg_translate("InsertSnippet"); 
    14   __dlg_init(); 
    15    
    16   var config = window.dialogArguments; 
     17        __dlg_translate("InsertSnippet"); 
     18        __dlg_init(null, {width:800,height:600}); 
     19 
     20        var config = window.dialogArguments; 
    1721  
    18  eval(HTMLArea._geturlcontent(config.InsertSnippet.snippets)); 
    19    
    20   if (config.InsertSnippet.css.length > 0)  
    21   { 
    22           for (var i=0;i< config.InsertSnippet.css.length;i++) 
    23           { 
    24                 var style = document.createElement("link"); 
    25             style.rel = 'stylesheet'; 
    26             style.href =  config.InsertSnippet.css[i]; 
    27             document.getElementsByTagName("HEAD")[0].appendChild(style); 
    28           } 
    29   } 
     22        var snippets = config.snippets; 
     23         
     24        if ( config.pageStyle && !HTMLArea.is_ie) 
     25    { 
     26                var style = document.createElement("style"); 
     27                style.type = "text/css"; 
     28                style.innerHTML = config.pageStyle; 
     29                document.getElementsByTagName("HEAD")[0].appendChild(style); 
     30    } 
     31     
     32        if ( typeof config.pageStyleSheets !== 'undefined' ) 
     33        { 
     34                for ( var i = 0; i < config.pageStyleSheets.length; i++ ) 
     35                { 
     36                        var style = document.createElement("link"); 
     37                        style.type = "text/css"; 
     38                        style.rel = 'stylesheet'; 
     39                        style.href =    config.pageStyleSheets[i]; 
     40                        document.getElementsByTagName("HEAD")[0].appendChild(style); 
     41                } 
     42        } 
     43                 
     44        var tbody = document.getElementById("snippettable"); 
     45        var snippet_html; 
     46        var snippet_name; 
     47        var trow; 
     48        for(var i = 0; i < snippets.length; i++)  
     49        { 
     50                trow = tbody.insertRow(i); 
     51                snippet_html = snippets[i]['HTML']; 
     52                snippet_name = snippets[i]['id']; 
     53          
     54                var insertAsVariable = ''; 
     55                if (config.InsertSnippet.showInsertVariable) 
     56                { 
     57                        insertAsVariable = ' | <a href="javascript:onOK('+i+','+'\'variable\''+')">'+HTMLArea._lc("Variable","InsertSnippet")+'</a>'; 
     58                } 
     59                var new_cell = trow.insertCell(0); 
     60                new_cell.innerHTML = snippet_name +': '+HTMLArea._lc("Insert as","InsertSnippet")+' <a href="javascript:onOK('+i+','+'\'html\''+')">HTML</a>'+insertAsVariable + ' (<a id="show_preview'+i+'" href="javascript:preview(\'show\','+i+')">'+HTMLArea._lc("Show preview","InsertSnippet")+'</a>)<div id="preview'+i+'" style="display:none">'+snippets[i]['HTML']+'</div>';  
     61                new_cell.id = 'cell' + i; 
     62                         
     63        } 
    3064 
    31   window.resizeTo(800, 600); 
    32   window.moveTo(80, 80); 
    33   var tbody = document.getElementById("snippettable"); 
    34   var snippet_html; 
    35   var snippet_name; 
    36   var trow; 
    37   for(var i = 0; i < snippets.length; i++)  
    38   { 
    39           trow = tbody.insertRow(i); 
    40           snippet_html = snippets[i]['HTML']; 
    41           snippet_name = snippets[i]['id']; 
    42           
    43           var insertAsVariable = ''; 
    44           if (config.InsertSnippet.showInsertVariable) 
    45           { 
    46                 insertAsVariable = ' | <a href="javascript:onOK('+i+','+'\'variable\''+')">'+HTMLArea._lc("Variable","InsertSnippet")+'</a>'; 
    47           } 
    48           var new_cell = trow.insertCell(0); 
    49           new_cell.innerHTML = snippet_name +': '+HTMLArea._lc("Insert as","InsertSnippet")+' <a href="javascript:onOK('+i+','+'\'html\''+')">HTML</a>'+insertAsVariable + ' (<a id="show_preview'+i+'" href="javascript:preview(\'show\','+i+')">'+HTMLArea._lc("Show preview","InsertSnippet")+'</a>)<div id="preview'+i+'" style="display:none">'+snippets[i]['HTML']+'</div>';  
    50           new_cell.id = 'cell' + i; 
    51            
    52   } 
    53  
    54   document.body.onkeypress = __dlg_key_press; 
     65        document.body.onkeypress = __dlg_key_press; 
    5566} 
    5667 
     
    7384} 
    7485function onCancel() { 
    75   __dlg_close(null); 
    76   return false; 
     86        __dlg_close(null); 
     87        return false; 
    7788} 
    7889 
    7990function onOK(snippetnum,how) { 
    80   var params = new Object(); 
    81   params["snippetnum"] = snippetnum; 
    82   params["how"] = how; 
    83   __dlg_close(params); 
    84   return false; 
     91        var params = new Object(); 
     92        params["snippetnum"] = snippetnum; 
     93        params["how"] = how; 
     94        __dlg_close(params); 
     95        return false; 
    8596} 
    8697 
    8798function __dlg_key_press(ev) { 
    88   ev || (ev = window.event); 
    89   switch(ev.keyCode) { 
    90     case 13: 
    91     document.getElementById('bt_ok').click(); 
    92       break; 
    93     case 27: 
    94     __dlg_close(); 
    95     return false; 
    96   } 
     99        ev || (ev = window.event); 
     100        switch(ev.keyCode) { 
     101                case 13: 
     102                document.getElementById('bt_ok').click(); 
     103                        break; 
     104                case 27: 
     105                __dlg_close(); 
     106                return false; 
     107        } 
    97108return true; 
    98109} 
     
    106117</style> 
    107118</head> 
    108   <body class="dialog" onload="Init()"> 
     119<body class="dialog" onload="Init()"> 
    109120<form action="" method="get"> 
    110121  <div class="title" >Insert Snippet</div> 
Note: See TracChangeset for help on using the changeset viewer.