2 tinyMCEPopup.resizeToInnerSize();
4 var inst = tinyMCE.selectedInstance;
5 var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
6 var formObj = document.forms[0];
7 var st = tinyMCE.parseStyle(tdElm.style.cssText);
10 var celltype = tdElm.nodeName.toLowerCase();
11 var align = tinyMCE.getAttrib(tdElm, 'align');
12 var valign = tinyMCE.getAttrib(tdElm, 'valign');
13 var width = tinyMCE.getAttrib(tdElm, 'width');
14 var height = tinyMCE.getAttrib(tdElm, 'height');
15 var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false);
16 var bordercolor = tinyMCE.getAttrib(tdElm, 'bordercolor');
17 var bgcolor = tinyMCE.getAttrib(tdElm, 'bgcolor');
18 var backgroundimage = getStyle(tdElm, st, 'background', 'background-image').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
19 var id = tinyMCE.getAttrib(tdElm, 'id');
20 var lang = tinyMCE.getAttrib(tdElm, 'lang');
21 var dir = tinyMCE.getAttrib(tdElm, 'dir');
24 addClassesToList('class', 'table_cell_styles');
25 formObj.bordercolor.value = bordercolor;
26 formObj.bgcolor.value = bgcolor;
27 formObj.backgroundimage.value = backgroundimage;
28 formObj.width.value = width;
29 formObj.height.value = height;
30 formObj.id.value = id;
31 formObj.lang.value = lang;
32 formObj.style.value = tinyMCE.serializeStyle(st);
33 selectByValue(formObj, 'align', align);
34 selectByValue(formObj, 'valign', valign);
35 selectByValue(formObj, 'class', className);
36 selectByValue(formObj, 'celltype', celltype);
37 selectByValue(formObj, 'dir', dir);
39 // Resize some elements
40 if (isVisible('backgroundimagebrowser'))
41 document.getElementById('backgroundimage').style.width = '180px';
43 updateColor('bordercolor_pick', 'bordercolor');
44 updateColor('bgcolor_pick', 'bgcolor');
47 function updateAction() {
48 var inst = tinyMCE.selectedInstance;
49 var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
50 var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
51 var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
52 var formObj = document.forms[0];
54 inst.execCommand('mceBeginUndoLevel');
56 switch (getSelectValue(formObj, 'action')) {
62 var cell = trElm.firstChild;
65 cell = updateCell(cell, true);
66 } while ((cell = nextCell(cell)));
71 var rows = tableElm.getElementsByTagName("tr");
73 for (var i=0; i<rows.length; i++) {
74 var cell = rows[i].firstChild;
77 cell = updateCell(cell, true);
78 } while ((cell = nextCell(cell)));
84 tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
85 tinyMCE.triggerNodeChange();
86 inst.execCommand('mceEndUndoLevel');
90 function nextCell(elm) {
91 while ((elm = elm.nextSibling)) {
92 if (elm.nodeName == "TD" || elm.nodeName == "TH")
99 function updateCell(td, skip_id) {
100 var inst = tinyMCE.selectedInstance;
101 var formObj = document.forms[0];
102 var curCellType = td.nodeName.toLowerCase();
103 var celltype = getSelectValue(formObj, 'celltype');
104 var doc = inst.getDoc();
107 td.setAttribute('id', formObj.id.value);
109 td.setAttribute('align', formObj.align.value);
110 td.setAttribute('vAlign', formObj.valign.value);
111 td.setAttribute('width', formObj.width.value);
112 td.setAttribute('height', formObj.height.value);
113 td.setAttribute('borderColor', formObj.bordercolor.value);
114 td.setAttribute('bgColor', formObj.bgcolor.value);
115 td.setAttribute('lang', formObj.lang.value);
116 td.setAttribute('dir', getSelectValue(formObj, 'dir'));
117 td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
118 tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
120 if (curCellType != celltype) {
121 // changing to a different node type
122 var newCell = doc.createElement(celltype);
124 for (var c=0; c<td.childNodes.length; c++) {
125 newCell.appendChild(td.childNodes[c].cloneNode(1));
128 for (var a=0; a<td.attributes.length; a++) {
129 var attr = td.attributes[a];
130 newCell.setAttribute(attr.name, attr.value);
133 td.parentNode.replaceChild(newCell, td);
142 function getStyle(elm, st, attrib, style) {
143 var val = tinyMCE.getAttrib(elm, attrib);
145 if (typeof(style) == 'undefined')
148 return val == '' ? (st[style] ? st[style].replace('px', '') : '') : val;
151 function changedBackgroundImage() {
152 var formObj = document.forms[0];
153 var st = tinyMCE.parseStyle(formObj.style.value);
155 st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
157 formObj.style.value = tinyMCE.serializeStyle(st);
160 function changedStyle() {
161 var formObj = document.forms[0];
162 var st = tinyMCE.parseStyle(formObj.style.value);
164 if (st['background-image'])
165 formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
167 formObj.backgroundimage.value = '';