2 tinyMCEPopup
.resizeToInnerSize();
4 document
.getElementById('backgroundimagebrowsercontainer').innerHTML
= getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
5 document
.getElementById('bgcolor_pickcontainer').innerHTML
= getColorPickerHTML('bgcolor_pick','bgcolor');
7 var inst
= tinyMCE
.selectedInstance
;
8 var trElm
= tinyMCE
.getParentElement(inst
.getFocusElement(), "tr");
9 var formObj
= document
.forms
[0];
10 var st
= tinyMCE
.parseStyle(tinyMCE
.getAttrib(trElm
, "style"));
13 var rowtype
= trElm
.parentNode
.nodeName
.toLowerCase();
14 var align
= tinyMCE
.getAttrib(trElm
, 'align');
15 var valign
= tinyMCE
.getAttrib(trElm
, 'valign');
16 var height
= trimSize(getStyle(trElm
, 'height', 'height'));
17 var className
= tinyMCE
.getVisualAidClass(tinyMCE
.getAttrib(trElm
, 'class'), false);
18 var bgcolor
= convertRGBToHex(getStyle(trElm
, 'bgcolor', 'backgroundColor'));
19 var backgroundimage
= getStyle(trElm
, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
20 var id
= tinyMCE
.getAttrib(trElm
, 'id');
21 var lang
= tinyMCE
.getAttrib(trElm
, 'lang');
22 var dir
= tinyMCE
.getAttrib(trElm
, 'dir');
25 addClassesToList('class', 'table_row_styles');
26 formObj
.bgcolor
.value
= bgcolor
;
27 formObj
.backgroundimage
.value
= backgroundimage
;
28 formObj
.height
.value
= height
;
29 formObj
.id
.value
= id
;
30 formObj
.lang
.value
= lang
;
31 formObj
.style
.value
= tinyMCE
.serializeStyle(st
);
32 selectByValue(formObj
, 'align', align
);
33 selectByValue(formObj
, 'valign', valign
);
34 selectByValue(formObj
, 'class', className
);
35 selectByValue(formObj
, 'rowtype', rowtype
);
36 selectByValue(formObj
, 'dir', dir
);
38 // Resize some elements
39 if (isVisible('backgroundimagebrowser'))
40 document
.getElementById('backgroundimage').style
.width
= '180px';
42 updateColor('bgcolor_pick', 'bgcolor');
45 function updateAction() {
46 tinyMCEPopup
.restoreSelection();
48 var inst
= tinyMCE
.selectedInstance
;
49 var trElm
= tinyMCE
.getParentElement(inst
.getFocusElement(), "tr");
50 var tableElm
= tinyMCE
.getParentElement(inst
.getFocusElement(), "table");
51 var formObj
= document
.forms
[0];
52 var action
= getSelectValue(formObj
, 'action');
54 inst
.execCommand('mceBeginUndoLevel');
62 var rows
= tableElm
.getElementsByTagName("tr");
64 for (var i
=0; i
<rows
.length
; i
++)
65 updateRow(rows
[i
], true);
71 var rows
= tableElm
.getElementsByTagName("tr");
73 for (var i
=0; i
<rows
.length
; i
++) {
74 if ((i
% 2 == 0 && action
== "odd") || (i
% 2 != 0 && action
== "even"))
75 updateRow(rows
[i
], true, true);
81 tinyMCE
.handleVisualAid(inst
.getBody(), true, inst
.visualAid
, inst
);
82 tinyMCE
.triggerNodeChange();
83 inst
.execCommand('mceEndUndoLevel');
87 function updateRow(tr_elm
, skip_id
, skip_parent
) {
88 var inst
= tinyMCE
.selectedInstance
;
89 var formObj
= document
.forms
[0];
90 var curRowType
= tr_elm
.parentNode
.nodeName
.toLowerCase();
91 var rowtype
= getSelectValue(formObj
, 'rowtype');
92 var doc
= inst
.getDoc();
96 tr_elm
.setAttribute('id', formObj
.id
.value
);
98 tr_elm
.setAttribute('align', getSelectValue(formObj
, 'align'));
99 tr_elm
.setAttribute('vAlign', getSelectValue(formObj
, 'valign'));
100 tr_elm
.setAttribute('lang', formObj
.lang
.value
);
101 tr_elm
.setAttribute('dir', getSelectValue(formObj
, 'dir'));
102 tr_elm
.setAttribute('style', tinyMCE
.serializeStyle(tinyMCE
.parseStyle(formObj
.style
.value
)));
103 tinyMCE
.setAttrib(tr_elm
, 'class', getSelectValue(formObj
, 'class'));
105 // Clear deprecated attributes
106 tr_elm
.setAttribute('background', '');
107 tr_elm
.setAttribute('bgColor', '');
108 tr_elm
.setAttribute('height', '');
111 tr_elm
.style
.height
= getCSSSize(formObj
.height
.value
);
112 tr_elm
.style
.backgroundColor
= formObj
.bgcolor
.value
;
114 if (formObj
.backgroundimage
.value
!= "")
115 tr_elm
.style
.backgroundImage
= "url('" + formObj
.backgroundimage
.value
+ "')";
117 tr_elm
.style
.backgroundImage
= '';
120 if (curRowType
!= rowtype
&& !skip_parent
) {
121 // first, clone the node we are working on
122 var newRow
= tr_elm
.cloneNode(1);
124 // next, find the parent of its new destination (creating it if necessary)
125 var theTable
= tinyMCE
.getParentElement(tr_elm
, "table");
127 var newParent
= null;
128 for (var i
= 0; i
< theTable
.childNodes
.length
; i
++) {
129 if (theTable
.childNodes
[i
].nodeName
.toLowerCase() == dest
)
130 newParent
= theTable
.childNodes
[i
];
133 if (newParent
== null) {
134 newParent
= doc
.createElement(dest
);
137 theTable
.insertBefore(newParent
, theTable
.firstChild
);
139 theTable
.appendChild(newParent
);
142 // append the row to the new parent
143 newParent
.appendChild(newRow
);
145 // remove the original
146 tr_elm
.parentNode
.removeChild(tr_elm
);
148 // set tr_elm to the new node
153 function changedBackgroundImage() {
154 var formObj
= document
.forms
[0];
155 var st
= tinyMCE
.parseStyle(formObj
.style
.value
);
157 st
['background-image'] = "url('" + formObj
.backgroundimage
.value
+ "')";
159 formObj
.style
.value
= tinyMCE
.serializeStyle(st
);
162 function changedStyle() {
163 var formObj
= document
.forms
[0];
164 var st
= tinyMCE
.parseStyle(formObj
.style
.value
);
166 if (st
['background-image'])
167 formObj
.backgroundimage
.value
= st
['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
169 formObj
.backgroundimage
.value
= '';
172 formObj
.height
.value
= trimSize(st
['height']);
174 if (st
['background-color']) {
175 formObj
.bgcolor
.value
= st
['background-color'];
176 updateColor('bgcolor_pick','bgcolor');
180 function changedSize() {
181 var formObj
= document
.forms
[0];
182 var st
= tinyMCE
.parseStyle(formObj
.style
.value
);
184 var height
= formObj
.height
.value
;
186 st
['height'] = getCSSSize(height
);
190 formObj
.style
.value
= tinyMCE
.serializeStyle(st
);
193 function changedColor() {
194 var formObj
= document
.forms
[0];
195 var st
= tinyMCE
.parseStyle(formObj
.style
.value
);
197 st
['background-color'] = formObj
.bgcolor
.value
;
199 formObj
.style
.value
= tinyMCE
.serializeStyle(st
);