Changeset 112


Ignore:
Timestamp:
05/06/05 12:38:25 (14 years ago)
Author:
gocher
Message:

#20 Change InsertAnchor?-Plugin
dialog with delete and change function

Location:
trunk/plugins/InsertAnchor
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/InsertAnchor/insert-anchor.js

    r110 r112  
    6363InsertAnchor.prototype.buttonPress = function(editor) { 
    6464  var outparam = null; 
     65  var sel  = editor._getSelection(); 
     66  var range  = editor._createRange(sel); 
     67  var  a = editor._activeElement(sel); 
     68  if(!(a != null && a.tagName.toLowerCase() == 'a')) { 
     69    a = editor._getFirstAncestor(sel, 'a');  
     70  }      
     71  if (a != null && a.tagName.toLowerCase() == 'a') { 
     72    outparam = { name : a.id }; 
     73  } else 
     74    outparam = { name : '' }; 
     75 
    6576  editor._popupDialog( "plugin://InsertAnchor/insert_anchor", function( param ) { 
    66                 if ( param ) { 
     77    if ( param ) { 
    6778            var anchor = param["name"];   
    6879      if (anchor == "" || anchor == null) { 
     80        if (!a) 
     81          document.getElementById(a); 
     82          a.parentNode.removeChild(a); 
    6983        return; 
    70       } 
     84      }  
    7185      try { 
    7286        var doc = editor._doc; 
    73         var alink = doc.createElement("a"); 
    74         alink.id = anchor; 
    75         alink.name = anchor; 
    76         alink.title = anchor; 
    77         alink.className = "anchor"; 
    78         if (HTMLArea.is_ie) { 
    79           var sel = editor._getSelection(); 
    80           var range = editor._createRange(sel); 
    81           range.pasteHTML(alink.outerHTML); 
     87        if (!a) { 
     88          a = doc.createElement("a"); 
     89          a.id = anchor; 
     90          a.name = anchor; 
     91          a.title = anchor; 
     92          a.className = "anchor"; 
     93          if (HTMLArea.is_ie) { 
     94            range.pasteHTML(a.outerHTML); 
     95          } else { 
     96            editor.insertNodeAtSelection(a); 
     97          } 
    8298        } else { 
    83           editor.insertNodeAtSelection(alink); 
     99          a.id = anchor; 
     100                                  a.name = anchor; 
     101                                  a.title = anchor; 
     102                                  a.className = "anchor"; 
    84103        } 
    85104      } 
  • trunk/plugins/InsertAnchor/popups/insert_anchor.html

    r110 r112  
    2626}; 
    2727 
     28function onDelete() { 
     29  // pass data back to the calling window 
     30  var param = new Object(); 
     31  param["name"] = ""; 
     32  __dlg_close(param); 
     33  return false; 
     34}; 
     35 
    2836function onCancel() { 
    2937  __dlg_close(null); 
     
    4553<div id="buttons"> 
    4654  <button type="submit" name="ok" onclick="return onOK();">OK</button> 
     55  <button type="button" name="delete" onclick="return onDelete();">Delete</button> 
    4756  <button type="button" name="cancel" onclick="return onCancel();">Cancel</button> 
    4857</div> 
Note: See TracChangeset for help on using the changeset viewer.