[ Index ] |
|
Code source de e107 0.7.8 |
1 function init() { 2 tinyMCEPopup.resizeToInnerSize(); 3 4 document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); 5 document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); 6 document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') 7 8 var inst = tinyMCE.selectedInstance; 9 var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th"); 10 var formObj = document.forms[0]; 11 var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style")); 12 13 // Get table cell data 14 var celltype = tdElm.nodeName.toLowerCase(); 15 var align = tinyMCE.getAttrib(tdElm, 'align'); 16 var valign = tinyMCE.getAttrib(tdElm, 'valign'); 17 var width = trimSize(getStyle(tdElm, 'width', 'width')); 18 var height = trimSize(getStyle(tdElm, 'height', 'height')); 19 var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); 20 var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); 21 var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false); 22 var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; 23 var id = tinyMCE.getAttrib(tdElm, 'id'); 24 var lang = tinyMCE.getAttrib(tdElm, 'lang'); 25 var dir = tinyMCE.getAttrib(tdElm, 'dir'); 26 var scope = tinyMCE.getAttrib(tdElm, 'scope'); 27 28 // Setup form 29 addClassesToList('class', 'table_cell_styles'); 30 formObj.bordercolor.value = bordercolor; 31 formObj.bgcolor.value = bgcolor; 32 formObj.backgroundimage.value = backgroundimage; 33 formObj.width.value = width; 34 formObj.height.value = height; 35 formObj.id.value = id; 36 formObj.lang.value = lang; 37 formObj.style.value = tinyMCE.serializeStyle(st); 38 selectByValue(formObj, 'align', align); 39 selectByValue(formObj, 'valign', valign); 40 selectByValue(formObj, 'class', className); 41 selectByValue(formObj, 'celltype', celltype); 42 selectByValue(formObj, 'dir', dir); 43 selectByValue(formObj, 'scope', scope); 44 45 // Resize some elements 46 if (isVisible('backgroundimagebrowser')) 47 document.getElementById('backgroundimage').style.width = '180px'; 48 49 updateColor('bordercolor_pick', 'bordercolor'); 50 updateColor('bgcolor_pick', 'bgcolor'); 51 } 52 53 function updateAction() { 54 tinyMCEPopup.restoreSelection(); 55 56 var inst = tinyMCE.selectedInstance; 57 var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th"); 58 var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); 59 var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); 60 var formObj = document.forms[0]; 61 62 inst.execCommand('mceBeginUndoLevel'); 63 64 switch (getSelectValue(formObj, 'action')) { 65 case "cell": 66 var celltype = getSelectValue(formObj, 'celltype'); 67 var scope = getSelectValue(formObj, 'scope'); 68 69 if (tinyMCE.getParam("accessibility_warnings")) { 70 if (celltype == "th" && scope == "") 71 var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true)); 72 else 73 var answer = true; 74 75 if (!answer) 76 return; 77 } 78 79 updateCell(tdElm); 80 break; 81 82 case "row": 83 var cell = trElm.firstChild; 84 85 if (cell.nodeName != "TD" && cell.nodeName != "TH") 86 cell = nextCell(cell); 87 88 do { 89 cell = updateCell(cell, true); 90 } while ((cell = nextCell(cell)) != null); 91 92 break; 93 94 case "all": 95 var rows = tableElm.getElementsByTagName("tr"); 96 97 for (var i=0; i<rows.length; i++) { 98 var cell = rows[i].firstChild; 99 100 if (cell.nodeName != "TD" && cell.nodeName != "TH") 101 cell = nextCell(cell); 102 103 do { 104 cell = updateCell(cell, true); 105 } while ((cell = nextCell(cell)) != null); 106 } 107 108 break; 109 } 110 111 tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst); 112 tinyMCE.triggerNodeChange(); 113 inst.execCommand('mceEndUndoLevel'); 114 tinyMCEPopup.close(); 115 } 116 117 function nextCell(elm) { 118 while ((elm = elm.nextSibling) != null) { 119 if (elm.nodeName == "TD" || elm.nodeName == "TH") 120 return elm; 121 } 122 123 return null; 124 } 125 126 function updateCell(td, skip_id) { 127 var inst = tinyMCE.selectedInstance; 128 var formObj = document.forms[0]; 129 var curCellType = td.nodeName.toLowerCase(); 130 var celltype = getSelectValue(formObj, 'celltype'); 131 var doc = inst.getDoc(); 132 133 if (!skip_id) 134 td.setAttribute('id', formObj.id.value); 135 136 td.setAttribute('align', formObj.align.value); 137 td.setAttribute('vAlign', formObj.valign.value); 138 td.setAttribute('lang', formObj.lang.value); 139 td.setAttribute('dir', getSelectValue(formObj, 'dir')); 140 td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value))); 141 td.setAttribute('scope', formObj.scope.value); 142 tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class')); 143 144 // Clear deprecated attributes 145 tinyMCE.setAttrib(td, 'width', ''); 146 tinyMCE.setAttrib(td, 'height', ''); 147 tinyMCE.setAttrib(td, 'bgColor', ''); 148 tinyMCE.setAttrib(td, 'borderColor', ''); 149 tinyMCE.setAttrib(td, 'background', ''); 150 151 // Set styles 152 td.style.width = getCSSSize(formObj.width.value); 153 td.style.height = getCSSSize(formObj.height.value); 154 if (formObj.bordercolor.value != "") { 155 td.style.borderColor = formObj.bordercolor.value; 156 td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle; 157 td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth; 158 } else 159 td.style.borderColor = ''; 160 161 td.style.backgroundColor = formObj.bgcolor.value; 162 163 if (formObj.backgroundimage.value != "") 164 td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')"; 165 else 166 td.style.backgroundImage = ''; 167 168 if (curCellType != celltype) { 169 // changing to a different node type 170 var newCell = doc.createElement(celltype); 171 172 for (var c=0; c<td.childNodes.length; c++) 173 newCell.appendChild(td.childNodes[c].cloneNode(1)); 174 175 for (var a=0; a<td.attributes.length; a++) { 176 var attr = td.attributes[a]; 177 newCell.setAttribute(attr.name, attr.value); 178 } 179 180 td.parentNode.replaceChild(newCell, td); 181 td = newCell; 182 } 183 184 return td; 185 } 186 187 function changedBackgroundImage() { 188 var formObj = document.forms[0]; 189 var st = tinyMCE.parseStyle(formObj.style.value); 190 191 st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; 192 193 formObj.style.value = tinyMCE.serializeStyle(st); 194 } 195 196 function changedSize() { 197 var formObj = document.forms[0]; 198 var st = tinyMCE.parseStyle(formObj.style.value); 199 200 var width = formObj.width.value; 201 if (width != "") 202 st['width'] = getCSSSize(width); 203 else 204 st['width'] = ""; 205 206 var height = formObj.height.value; 207 if (height != "") 208 st['height'] = getCSSSize(height); 209 else 210 st['height'] = ""; 211 212 formObj.style.value = tinyMCE.serializeStyle(st); 213 } 214 215 function changedColor() { 216 var formObj = document.forms[0]; 217 var st = tinyMCE.parseStyle(formObj.style.value); 218 219 st['background-color'] = formObj.bgcolor.value; 220 st['border-color'] = formObj.bordercolor.value; 221 222 formObj.style.value = tinyMCE.serializeStyle(st); 223 } 224 225 function changedStyle() { 226 var formObj = document.forms[0]; 227 var st = tinyMCE.parseStyle(formObj.style.value); 228 229 if (st['background-image']) 230 formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); 231 else 232 formObj.backgroundimage.value = ''; 233 234 if (st['width']) 235 formObj.width.value = trimSize(st['width']); 236 237 if (st['height']) 238 formObj.height.value = trimSize(st['height']); 239 240 if (st['background-color']) { 241 formObj.bgcolor.value = st['background-color']; 242 updateColor('bgcolor_pick','bgcolor'); 243 } 244 245 if (st['border-color']) { 246 formObj.bordercolor.value = st['border-color']; 247 updateColor('bordercolor_pick','bordercolor'); 248 } 249 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Apr 1 01:23:32 2007 | par Balluche grâce à PHPXref 0.7 |