Update of
/var/cvs/contributions/CMSContainer/cmsc/richtext/src/webapp/mmbase/edit/wizard/xinha
In directory james.mmbase.org:/tmp/cvs-serv5305
Modified Files:
my-htmlarea.js
Log Message:
CMSC-681 Asset Maintenance An error happens then using richtext in IE
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/richtext/src/webapp/mmbase/edit/wizard/xinha
See also: http://www.mmbase.org/jira/browse/CMSC-681
Index: my-htmlarea.js
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/richtext/src/webapp/mmbase/edit/wizard/xinha/my-htmlarea.js,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- my-htmlarea.js 30 Dec 2008 16:07:38 -0000 1.9
+++ my-htmlarea.js 19 Jan 2009 10:15:15 -0000 1.10
@@ -203,15 +203,16 @@
link = link.parentNode;
}
}
-
var sel = editor._getSelection();
-
+ var sel_value = sel;
+ var range = this._createRange(sel);
+ if(HTMLArea.is_ie) sel_value = range.text;
if (link){
outparam = {
f_href : HTMLArea.is_ie ? editor.stripBaseURL(link.href) :
link.getAttribute("href"),
f_destination : HTMLArea.is_ie ? link.destination :
link.getAttribute("destination"),
- f_linkName : sel,
- f_title : link.title,
+ f_name : link.name?link.name: sel_value,
+ f_title :link.title?link.title:'',
f_target : link.target,
f_usetarget : editor.config.makeLinkShowsTarget
};
@@ -220,55 +221,62 @@
outparam = {
f_href : "Click \"New Url\" to enter URL",
f_destination : null,
- f_linkName : sel,
- f_title : null,
- f_target : null,
+ f_name : sel_value?sel_value:'',
+ f_title : '',
+ f_target : '',
f_usetarget : editor.config.makeLinkShowsTarget
};
}
- this._popupDialog(
- "insertinline_link.html",
- function(param) {
- if (!param) { return false; }
+ this._popupDialog( "insertinline_link.html", function(param) {
+ if (!param) { return false; } //user must have pressed cancel
var a = link;
- if (!a) {
- var sel = editor._getSelection();
- if(sel == null || sel == ""){
- var aLink = document.createElement('a');
- editor.insertNodeAtSelection(aLink);
- a = aLink;
- a.href = param.f_href.trim();
- a.innerHTML = param.f_linkName.trim();
- }
- else {
+ if ( !a ){
+ try
+ {
editor._doc.execCommand("createlink",
false, param.f_href);
a = editor.getParentElement();
+ var sel = editor._getSelection();
var range = editor._createRange(sel);
- if (!HTMLArea.is_ie) {
- if (a == null || !(/^a$/i.test(a.tagName)))
{
+ if(editor._selectionEmpty(sel))
+ {
+ editor.insertHTML("<a
href='"+param.f_href+"'title='"+param.f_title+"'
name='"+param.f_name+"'>"+param.f_name+"</a>");
+ }
+ else{
+ if ( !HTMLArea.is_ie )
+ {
a = range.startContainer;
- if ( ! ( /^a$/i.test(a.tagName) ) ) {
+ if ( ! ( /^a$/i.test(a.tagName) ) )
+ {
a = a.nextSibling;
- if ( a === null ) {
+ if ( a === null )
+ {
a =
range.startContainer.parentNode;
}
}
+ a.innerHTML = param.f_name.trim();
}
}
- else {
- while (a) {
- if (/^a$/i.test(a.tagName)) break;
//Search for the enclosing A tag, if found: continue and use it.
- if (/^body$/i.test(a.tagName)) { a =
null; break } //Stop searching when Body-tag is found, don't go too deep.
- a = a.parentNode;
- }
+ } catch(ex) {}
}
+ else
+ {
+ var href = param.f_href.trim();
+ editor.selectNodeContents(a);
+ if ( href === '' )
+ {
+ editor._doc.execCommand("unlink", false, null);
+ editor.updateToolbar();
+ return false;
}
+ else
+ {
+ a.href = href;
+ a.innerHTML = param.f_name.trim();
}
- else{
- a.href = param.f_href.trim();
}
-
+ a.target = param.f_target.trim();
a.title = param.f_title.trim();
+ a.name = param.f_name.trim();
if (HTMLArea.is_ie) {
a.destination = param.f_destination.trim();
@@ -282,8 +290,6 @@
a.removeAttribute("relationID");
}
}
-
- a.target = param.f_target.trim();
editor.selectNodeContents(a);
editor.updateToolbar();
},
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs