PHP Classes

File: Script/_server/library/PFBC/Resources/tiny_mce/plugins/table/js/cell.js

Recommend this page to a friend!
  Classes of Pierre-Henry Soria   H2OGame PHP Game Engine   Script/_server/library/PFBC/Resources/tiny_mce/plugins/table/js/cell.js   Download  
File: Script/_server/library/PFBC/Resources/tiny_mce/plugins/table/js/cell.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: H2OGame PHP Game Engine
Application to manage an online games platform
Author: By
Last change:
Date: 3 years ago
Size: 10,552 bytes
 

Contents

Class file image Download
tinyMCEPopup.requireLangPack(); var ed; function init() { ed = tinyMCEPopup.editor; tinyMCEPopup.resizeToInnerSize(); document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') var inst = ed; var tdElm = ed.dom.getParent(ed.selection.getStart(), "td,th"); var formObj = document.forms[0]; var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style")); // Get table cell data var celltype = tdElm.nodeName.toLowerCase(); var align = ed.dom.getAttrib(tdElm, 'align'); var valign = ed.dom.getAttrib(tdElm, 'valign'); var width = trimSize(getStyle(tdElm, 'width', 'width')); var height = trimSize(getStyle(tdElm, 'height', 'height')); var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); var className = ed.dom.getAttrib(tdElm, 'class'); var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); var id = ed.dom.getAttrib(tdElm, 'id'); var lang = ed.dom.getAttrib(tdElm, 'lang'); var dir = ed.dom.getAttrib(tdElm, 'dir'); var scope = ed.dom.getAttrib(tdElm, 'scope'); // Setup form addClassesToList('class', 'table_cell_styles'); TinyMCE_EditableSelects.init(); if (!ed.dom.hasClass(tdElm, 'mceSelected')) { formObj.bordercolor.value = bordercolor; formObj.bgcolor.value = bgcolor; formObj.backgroundimage.value = backgroundimage; formObj.width.value = width; formObj.height.value = height; formObj.id.value = id; formObj.lang.value = lang; formObj.style.value = ed.dom.serializeStyle(st); selectByValue(formObj, 'align', align); selectByValue(formObj, 'valign', valign); selectByValue(formObj, 'class', className, true, true); selectByValue(formObj, 'celltype', celltype); selectByValue(formObj, 'dir', dir); selectByValue(formObj, 'scope', scope); // Resize some elements if (isVisible('backgroundimagebrowser')) document.getElementById('backgroundimage').style.width = '180px'; updateColor('bordercolor_pick', 'bordercolor'); updateColor('bgcolor_pick', 'bgcolor'); } else tinyMCEPopup.dom.hide('action'); } function updateAction() { var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0]; if (!AutoValidator.validate(formObj)) { tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.'); return false; } tinyMCEPopup.restoreSelection(); el = ed.selection.getStart(); tdElm = ed.dom.getParent(el, "td,th"); trElm = ed.dom.getParent(el, "tr"); tableElm = ed.dom.getParent(el, "table"); // Cell is selected if (ed.dom.hasClass(tdElm, 'mceSelected')) { // Update all selected sells tinymce.each(ed.dom.select('td.mceSelected,th.mceSelected'), function(td) { updateCell(td); }); ed.addVisual(); ed.nodeChanged(); inst.execCommand('mceEndUndoLevel'); tinyMCEPopup.close(); return; } switch (getSelectValue(formObj, 'action')) { case "cell": var celltype = getSelectValue(formObj, 'celltype'); var scope = getSelectValue(formObj, 'scope'); function doUpdate(s) { if (s) { updateCell(tdElm); ed.addVisual(); ed.nodeChanged(); inst.execCommand('mceEndUndoLevel'); tinyMCEPopup.close(); } }; if (ed.getParam("accessibility_warnings", 1)) { if (celltype == "th" && scope == "") tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate); else doUpdate(1); return; } updateCell(tdElm); break; case "row": var cell = trElm.firstChild; if (cell.nodeName != "TD" && cell.nodeName != "TH") cell = nextCell(cell); do { cell = updateCell(cell, true); } while ((cell = nextCell(cell)) != null); break; case "col": var curr, col = 0, cell = trElm.firstChild, rows = tableElm.getElementsByTagName("tr"); if (cell.nodeName != "TD" && cell.nodeName != "TH") cell = nextCell(cell); do { if (cell == tdElm) break; col += cell.getAttribute("colspan")?cell.getAttribute("colspan"):1; } while ((cell = nextCell(cell)) != null); for (var i=0; i<rows.length; i++) { cell = rows[i].firstChild; if (cell.nodeName != "TD" && cell.nodeName != "TH") cell = nextCell(cell); curr = 0; do { if (curr == col) { cell = updateCell(cell, true); break; } curr += cell.getAttribute("colspan")?cell.getAttribute("colspan"):1; } while ((cell = nextCell(cell)) != null); } break; case "all": var rows = tableElm.getElementsByTagName("tr"); for (var i=0; i<rows.length; i++) { var cell = rows[i].firstChild; if (cell.nodeName != "TD" && cell.nodeName != "TH") cell = nextCell(cell); do { cell = updateCell(cell, true); } while ((cell = nextCell(cell)) != null); } break; } ed.addVisual(); ed.nodeChanged(); inst.execCommand('mceEndUndoLevel'); tinyMCEPopup.close(); } function nextCell(elm) { while ((elm = elm.nextSibling) != null) { if (elm.nodeName == "TD" || elm.nodeName == "TH") return elm; } return null; } function updateCell(td, skip_id) { var inst = ed; var formObj = document.forms[0]; var curCellType = td.nodeName.toLowerCase(); var celltype = getSelectValue(formObj, 'celltype'); var doc = inst.getDoc(); var dom = ed.dom; if (!skip_id) dom.setAttrib(td, 'id', formObj.id.value); dom.setAttrib(td, 'align', formObj.align.value); dom.setAttrib(td, 'vAlign', formObj.valign.value); dom.setAttrib(td, 'lang', formObj.lang.value); dom.setAttrib(td, 'dir', getSelectValue(formObj, 'dir')); dom.setAttrib(td, 'style', ed.dom.serializeStyle(ed.dom.parseStyle(formObj.style.value))); dom.setAttrib(td, 'scope', formObj.scope.value); dom.setAttrib(td, 'class', getSelectValue(formObj, 'class')); // Clear deprecated attributes ed.dom.setAttrib(td, 'width', ''); ed.dom.setAttrib(td, 'height', ''); ed.dom.setAttrib(td, 'bgColor', ''); ed.dom.setAttrib(td, 'borderColor', ''); ed.dom.setAttrib(td, 'background', ''); // Set styles td.style.width = getCSSSize(formObj.width.value); td.style.height = getCSSSize(formObj.height.value); if (formObj.bordercolor.value != "") { td.style.borderColor = formObj.bordercolor.value; td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle; td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth; } else td.style.borderColor = ''; td.style.backgroundColor = formObj.bgcolor.value; if (formObj.backgroundimage.value != "") td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')"; else td.style.backgroundImage = ''; if (curCellType != celltype) { // changing to a different node type var newCell = doc.createElement(celltype); for (var c=0; c<td.childNodes.length; c++) newCell.appendChild(td.childNodes[c].cloneNode(1)); for (var a=0; a<td.attributes.length; a++) ed.dom.setAttrib(newCell, td.attributes[a].name, ed.dom.getAttrib(td, td.attributes[a].name)); td.parentNode.replaceChild(newCell, td); td = newCell; } dom.setAttrib(td, 'style', dom.serializeStyle(dom.parseStyle(td.style.cssText))); return td; } function changedBackgroundImage() { var formObj = document.forms[0]; var st = ed.dom.parseStyle(formObj.style.value); st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; formObj.style.value = ed.dom.serializeStyle(st); } function changedSize() { var formObj = document.forms[0]; var st = ed.dom.parseStyle(formObj.style.value); var width = formObj.width.value; if (width != "") st['width'] = getCSSSize(width); else st['width'] = ""; var height = formObj.height.value; if (height != "") st['height'] = getCSSSize(height); else st['height'] = ""; formObj.style.value = ed.dom.serializeStyle(st); } function changedColor() { var formObj = document.forms[0]; var st = ed.dom.parseStyle(formObj.style.value); st['background-color'] = formObj.bgcolor.value; st['border-color'] = formObj.bordercolor.value; formObj.style.value = ed.dom.serializeStyle(st); } function changedStyle() { var formObj = document.forms[0]; var st = ed.dom.parseStyle(formObj.style.value); if (st['background-image']) formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); else formObj.backgroundimage.value = ''; if (st['width']) formObj.width.value = trimSize(st['width']); if (st['height']) formObj.height.value = trimSize(st['height']); if (st['background-color']) { formObj.bgcolor.value = st['background-color']; updateColor('bgcolor_pick','bgcolor'); } if (st['border-color']) { formObj.bordercolor.value = st['border-color']; updateColor('bordercolor_pick','bordercolor'); } } tinyMCEPopup.onInit.add(init);