Changeset 642
- Timestamp:
- 2007-08-09 08:55:18 (17 months ago)
- Location:
- FCKeditor/trunk/editor/_source/internals
- Files:
-
- 2 modified
-
fckselection_gecko.js (modified) (1 diff)
-
fckselection_ie.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
FCKeditor/trunk/editor/_source/internals/fckselection_gecko.js
r630 r642 172 172 return oSel ; 173 173 } 174 175 // If FCKSelection is inside a table, return <td>'s so we can work on each176 // one as a separate element177 FCKSelection.TableNodes = function()178 {179 var oSel = FCK.EditorWindow.getSelection();180 var aNodes = new Array();181 if (this.HasAncestorNode("TABLE"))182 {183 var oTable = this.MoveToAncestorNode("TABLE");184 for (var r = 0; r < oTable.rows.length; r++)185 {186 for (var c = 0; c < oTable.rows[r].cells.length; c++)187 {188 if (oSel.containsNode(oTable.rows[r].cells[c],true))189 {190 aNodes[aNodes.length] = oTable.rows[r].cells[c];191 }192 }193 }194 }195 return aNodes;196 }197 198 FCKSelection.SelectedHTML = function()199 {200 var oSel = FCK.EditorWindow.getSelection();201 var strHTML = "";202 //convert to a text range and walk the elements203 for ( var i = 0 ; i < oSel.rangeCount ; i++ )204 {205 var df = oSel.getRangeAt(i).cloneContents();206 207 for (var j = 0; j < df.childNodes.length; j++)208 {209 if (df.childNodes[j].nodeName == "#text")210 {if (df.childNodes[j].textContent) strHTML += df.childNodes[j].textContent;}211 else212 strHTML += '<' + df.childNodes[j].nodeName + '>'213 + df.childNodes[j].innerHTML214 + '</' + df.childNodes[j].nodeName + '>';215 }216 }217 return strHTML;218 }219 -
FCKeditor/trunk/editor/_source/internals/fckselection_ie.js
r630 r642 124 124 return false ; 125 125 } ; 126 // If FCKSelection is inside a table, return <td>'s so we can work on each127 // one as a separate element128 FCKSelection.TableNodes = function()129 {130 var oRange = FCK.EditorDocument.selection.createRange() ;131 132 if ( !oRange.htmlText.search(/<TD /) )133 return null ;134 135 var oCellRange = oRange.duplicate() ;136 137 var oTable = this.MoveToAncestorNode("TABLE") ;138 if ( !oTable )139 return null ;140 141 var aNodes = new Array() ;142 143 for ( var i = 0 ; i < oTable.cells.length ; i++ )144 {145 oCellRange.moveToElementText( oTable.cells[i] ) ;146 147 if ( oRange.inRange(oCellRange) )148 aNodes[aNodes.length] = oTable.cells[i] ;149 }150 151 return aNodes ;152 }153 154 126 155 127 // The "nodeTagName" parameter must be UPPER CASE. … … 198 170 return oSel ; 199 171 } ; 200 201 FCKSelection.SelectedHTML = function()202 {203 return FCK.EditorDocument.selection.createRange().htmlText;204 }205