| Newsgroups |
gmane.editors.bitflux.cvs |
| Message-ID |
<[email protected]> |
Author: chregu
Date: Tue Dec 6 14:34:00 2005
New Revision: 1414
Modified:
trunk/js/bxeFunctions.js
trunk/js/bxeNodeElements.js
Log:
Firefox 1.5 fix
Modified: trunk/js/bxeFunctions.js
==============================================================================
--- trunk/js/bxeFunctions.js (original)
+++ trunk/js/bxeFunctions.js Tue Dec 6 14:34:00 2005
@@ -1002,6 +1002,29 @@
}
+function bxe_changeLinesContainer2(e) {
+ bxe_history_snapshot();
+ //alert (window.bxe_ContextNode.nodeName);
+
+ var nodeParts = e.split("=");
+ if (nodeParts.length < 2 ) {
+ nodeParts[1] = null;
+ }
+
+ var newContainer = window.bxe_ContextNode._node.changeContainer(nodeParts[1], nodeParts[0]);
+
+ newContainer.XMLNode = new XMLNodeElement( nodeParts[1], nodeParts[0], window.bxe_ContextNode._node.nodeType);
+ try {
+ newContainer.updateXMLNode();
+ } catch(e) {alert(newContainer + " can't be updateXMLNode()'ed\n" + e);
+ }
+
+ newContainer.XMLNode.parentNode.isNodeValid(false, 2,false,true);
+ bxe_history_snapshot_async();
+ window.bxe_ContextNode = newContainer.XMLNode;
+ //bxe_delayedUpdateXPath();
+}
+
function bxe_changeLinesContainer(e) {
@@ -1011,7 +1034,6 @@
nodeParts[1] = null;
}
var newContainer = window.getSelection().changeLinesContainer(nodeParts[0], nodeParts[1]);
-
for(var i=0; i<newContainer.length; i++)
{
newContainer[i].XMLNode = new XMLNodeElement( nodeParts[1], nodeParts[0], newContainer[i].nodeType);
@@ -1192,7 +1214,10 @@
//make toolbar
bxe_toolbar = new Widget_ToolBar();
- bxe_format_list = new Widget_MenuList("m",function(e) {eDOMEventCall("changeLinesContainer",document,this.value)});
+ bxe_format_list = new Widget_MenuList("m",function(e) {
+ bxe_changeLinesContainer2(this.value);
+ // eDOMEventCall("changeLinesContainer",document,this.value)
+ });
bxe_toolbar.addItem(bxe_format_list);
@@ -1258,6 +1283,7 @@
}
menuitem = bxe_format_list.appendItem(pref + thisNode.nodeName, thisNode.localName + "=" + thisNode.namespaceURI);
} else {
+ window.bxe_ContextNode = thisNode;
var ac = thisNode.parentNode.allowedChildren;
var menuitem;
var thisLocalName = thisNode.localName;
Modified: trunk/js/bxeNodeElements.js
==============================================================================
--- trunk/js/bxeNodeElements.js (original)
+++ trunk/js/bxeNodeElements.js Tue Dec 6 14:34:00 2005
@@ -93,6 +93,44 @@
return document.defaultView.getComputedStyle(this, null).getPropertyValue(style);
}
+Element.prototype.changeContainer = function(namespace, localName) {
+ var keep = false;
+ if (namespace == XHTMLNS) {
+ var removeClass = false;
+ //if (lines[i].__container.getAttribute("class"));
+ if (this.XMLNode) {
+ if (this.XMLNode.nodeName == this.getAttribute("class")) {
+ removeClass = true;
+ }
+ }
+ var newNode = documentCreateXHTMLElement(localName)
+ if (removeClass) {
+ this.removeAttribute("class");
+ }
+ } else {
+ var newNode = document.createElementNS(XHTMLNS,"div");
+ this.setAttribute("class", containerName);
+ }
+
+ for(var i=0; i<this.attributes.length; i++)
+ {
+ var childAttribute = this.attributes.item(i);
+ var childAttributeCopy = childAttribute.cloneNode(true);
+ newNode.setAttributeNode(childAttributeCopy);
+ }
+ var childContents = document.createRange();
+ childContents.selectNodeContents(this);
+
+ newNode.appendChild(childContents.extractContents());
+ childContents.detach();
+ this.parentNode.replaceChild(newNode, this);
+
+
+ newNode.setAttribute("__bxe_ns", namespace);
+ return newNode;
+
+}
+
Element.prototype.getBeforeAndAfterString = function (hasChildNodes, noParent) {
var lastChild = this;
--
Bx-editor-cvs mailing list
[email protected]
http://lists.bitflux.ch/cgi-bin/listinfo/bx-editor-cvs