mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
Updating TinyMce to latest version
- Corrects IE9 issues --HG-- branch : dev
This commit is contained in:
@@ -170,13 +170,8 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div style="float: left">
|
||||
<div><input type="submit" id="insert" name="insert" value="{#update}" /></div>
|
||||
</div>
|
||||
|
||||
<div style="float: right">
|
||||
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
||||
</div>
|
||||
<input type="submit" id="insert" name="insert" value="{#update}" />
|
||||
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -11,7 +11,7 @@ function init() {
|
||||
document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
|
||||
|
||||
var inst = ed;
|
||||
var tdElm = ed.dom.getParent(ed.selection.getNode(), "td,th");
|
||||
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"));
|
||||
|
||||
@@ -24,7 +24,7 @@ function init() {
|
||||
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 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');
|
||||
@@ -34,38 +34,55 @@ function init() {
|
||||
addClassesToList('class', 'table_cell_styles');
|
||||
TinyMCE_EditableSelects.init();
|
||||
|
||||
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);
|
||||
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';
|
||||
// Resize some elements
|
||||
if (isVisible('backgroundimagebrowser'))
|
||||
document.getElementById('backgroundimage').style.width = '180px';
|
||||
|
||||
updateColor('bordercolor_pick', 'bordercolor');
|
||||
updateColor('bgcolor_pick', 'bgcolor');
|
||||
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];
|
||||
|
||||
tinyMCEPopup.restoreSelection();
|
||||
el = ed.selection.getNode();
|
||||
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;
|
||||
}
|
||||
|
||||
ed.execCommand('mceBeginUndoLevel');
|
||||
|
||||
switch (getSelectValue(formObj, 'action')) {
|
||||
|
||||
@@ -1,29 +1,27 @@
|
||||
tinyMCEPopup.requireLangPack();
|
||||
|
||||
function init() {
|
||||
var f = document.forms[0], v;
|
||||
var MergeCellsDialog = {
|
||||
init : function() {
|
||||
var f = document.forms[0];
|
||||
|
||||
tinyMCEPopup.resizeToInnerSize();
|
||||
f.numcols.value = tinyMCEPopup.getWindowArg('cols', 1);
|
||||
f.numrows.value = tinyMCEPopup.getWindowArg('rows', 1);
|
||||
},
|
||||
|
||||
f.numcols.value = tinyMCEPopup.getWindowArg('numcols', 1);
|
||||
f.numrows.value = tinyMCEPopup.getWindowArg('numrows', 1);
|
||||
}
|
||||
merge : function() {
|
||||
var func, f = document.forms[0];
|
||||
|
||||
function mergeCells() {
|
||||
var args = [], f = document.forms[0];
|
||||
tinyMCEPopup.restoreSelection();
|
||||
|
||||
tinyMCEPopup.restoreSelection();
|
||||
func = tinyMCEPopup.getWindowArg('onaction');
|
||||
|
||||
if (!AutoValidator.validate(f)) {
|
||||
tinyMCEPopup.alert(tinyMCEPopup.getLang('invalid_data'));
|
||||
return false;
|
||||
func({
|
||||
cols : f.numcols.value,
|
||||
rows : f.numrows.value
|
||||
});
|
||||
|
||||
tinyMCEPopup.close();
|
||||
}
|
||||
};
|
||||
|
||||
args["numcols"] = f.numcols.value;
|
||||
args["numrows"] = f.numrows.value;
|
||||
|
||||
tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
|
||||
tinyMCEPopup.close();
|
||||
}
|
||||
|
||||
tinyMCEPopup.onInit.add(init);
|
||||
tinyMCEPopup.onInit.add(MergeCellsDialog.init, MergeCellsDialog);
|
||||
|
||||
@@ -8,7 +8,7 @@ function init() {
|
||||
|
||||
var inst = tinyMCEPopup.editor;
|
||||
var dom = inst.dom;
|
||||
var trElm = dom.getParent(inst.selection.getNode(), "tr");
|
||||
var trElm = dom.getParent(inst.selection.getStart(), "tr");
|
||||
var formObj = document.forms[0];
|
||||
var st = dom.parseStyle(dom.getAttrib(trElm, "style"));
|
||||
|
||||
@@ -19,32 +19,37 @@ function init() {
|
||||
var height = trimSize(getStyle(trElm, 'height', 'height'));
|
||||
var className = dom.getAttrib(trElm, 'class');
|
||||
var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
|
||||
var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
|
||||
var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");
|
||||
var id = dom.getAttrib(trElm, 'id');
|
||||
var lang = dom.getAttrib(trElm, 'lang');
|
||||
var dir = dom.getAttrib(trElm, 'dir');
|
||||
|
||||
// Setup form
|
||||
addClassesToList('class', 'table_row_styles');
|
||||
TinyMCE_EditableSelects.init();
|
||||
|
||||
formObj.bgcolor.value = bgcolor;
|
||||
formObj.backgroundimage.value = backgroundimage;
|
||||
formObj.height.value = height;
|
||||
formObj.id.value = id;
|
||||
formObj.lang.value = lang;
|
||||
formObj.style.value = dom.serializeStyle(st);
|
||||
selectByValue(formObj, 'align', align);
|
||||
selectByValue(formObj, 'valign', valign);
|
||||
selectByValue(formObj, 'class', className, true, true);
|
||||
selectByValue(formObj, 'rowtype', rowtype);
|
||||
selectByValue(formObj, 'dir', dir);
|
||||
|
||||
// Resize some elements
|
||||
if (isVisible('backgroundimagebrowser'))
|
||||
document.getElementById('backgroundimage').style.width = '180px';
|
||||
// Any cells selected
|
||||
if (dom.select('td.mceSelected,th.mceSelected', trElm).length == 0) {
|
||||
// Setup form
|
||||
addClassesToList('class', 'table_row_styles');
|
||||
TinyMCE_EditableSelects.init();
|
||||
|
||||
updateColor('bgcolor_pick', 'bgcolor');
|
||||
formObj.bgcolor.value = bgcolor;
|
||||
formObj.backgroundimage.value = backgroundimage;
|
||||
formObj.height.value = height;
|
||||
formObj.id.value = id;
|
||||
formObj.lang.value = lang;
|
||||
formObj.style.value = dom.serializeStyle(st);
|
||||
selectByValue(formObj, 'align', align);
|
||||
selectByValue(formObj, 'valign', valign);
|
||||
selectByValue(formObj, 'class', className, true, true);
|
||||
selectByValue(formObj, 'dir', dir);
|
||||
|
||||
// Resize some elements
|
||||
if (isVisible('backgroundimagebrowser'))
|
||||
document.getElementById('backgroundimage').style.width = '180px';
|
||||
|
||||
updateColor('bgcolor_pick', 'bgcolor');
|
||||
} else
|
||||
tinyMCEPopup.dom.hide('action');
|
||||
}
|
||||
|
||||
function updateAction() {
|
||||
@@ -52,8 +57,28 @@ function updateAction() {
|
||||
var action = getSelectValue(formObj, 'action');
|
||||
|
||||
tinyMCEPopup.restoreSelection();
|
||||
trElm = dom.getParent(inst.selection.getNode(), "tr");
|
||||
tableElm = dom.getParent(inst.selection.getNode(), "table");
|
||||
trElm = dom.getParent(inst.selection.getStart(), "tr");
|
||||
tableElm = dom.getParent(inst.selection.getStart(), "table");
|
||||
|
||||
// Update all selected rows
|
||||
if (dom.select('td.mceSelected,th.mceSelected', trElm).length > 0) {
|
||||
tinymce.each(tableElm.rows, function(tr) {
|
||||
var i;
|
||||
|
||||
for (i = 0; i < tr.cells.length; i++) {
|
||||
if (dom.hasClass(tr.cells[i], 'mceSelected')) {
|
||||
updateRow(tr, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
inst.addVisual();
|
||||
inst.nodeChanged();
|
||||
inst.execCommand('mceEndUndoLevel');
|
||||
tinyMCEPopup.close();
|
||||
return;
|
||||
}
|
||||
|
||||
inst.execCommand('mceBeginUndoLevel');
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ function insertTable() {
|
||||
capEl = elm.ownerDocument.createElement('caption');
|
||||
|
||||
if (!tinymce.isIE)
|
||||
capEl.innerHTML = '<br mce_bogus="1"/>';
|
||||
capEl.innerHTML = '<br _mce_bogus="1"/>';
|
||||
|
||||
elm.insertBefore(capEl, elm.firstChild);
|
||||
}
|
||||
@@ -151,6 +151,7 @@ function insertTable() {
|
||||
html += makeAttrib('border', border);
|
||||
html += makeAttrib('cellpadding', cellpadding);
|
||||
html += makeAttrib('cellspacing', cellspacing);
|
||||
html += makeAttrib('_mce_new', '1');
|
||||
|
||||
if (width && inst.settings.inline_styles) {
|
||||
if (style)
|
||||
@@ -186,7 +187,7 @@ function insertTable() {
|
||||
|
||||
if (caption) {
|
||||
if (!tinymce.isIE)
|
||||
html += '<caption><br mce_bogus="1"/></caption>';
|
||||
html += '<caption><br _mce_bogus="1"/></caption>';
|
||||
else
|
||||
html += '<caption></caption>';
|
||||
}
|
||||
@@ -196,7 +197,7 @@ function insertTable() {
|
||||
|
||||
for (var x=0; x<cols; x++) {
|
||||
if (!tinymce.isIE)
|
||||
html += '<td><br mce_bogus="1"/></td>';
|
||||
html += '<td><br _mce_bogus="1"/></td>';
|
||||
else
|
||||
html += '<td></td>';
|
||||
}
|
||||
@@ -210,9 +211,10 @@ function insertTable() {
|
||||
|
||||
// Move table
|
||||
if (inst.settings.fix_table_elements) {
|
||||
var bm = inst.selection.getBookmark(), patt = '';
|
||||
var patt = '';
|
||||
|
||||
inst.execCommand('mceInsertContent', false, '<br class="_mce_marker" />');
|
||||
inst.focus();
|
||||
inst.selection.setContent('<br class="_mce_marker" />');
|
||||
|
||||
tinymce.each('h1,h2,h3,h4,h5,h6,p'.split(','), function(n) {
|
||||
if (patt)
|
||||
@@ -225,12 +227,24 @@ function insertTable() {
|
||||
inst.dom.split(inst.dom.getParent(n, 'h1,h2,h3,h4,h5,h6,p'), n);
|
||||
});
|
||||
|
||||
dom.setOuterHTML(dom.select('._mce_marker')[0], html);
|
||||
|
||||
inst.selection.moveToBookmark(bm);
|
||||
dom.setOuterHTML(dom.select('br._mce_marker')[0], html);
|
||||
} else
|
||||
inst.execCommand('mceInsertContent', false, html);
|
||||
|
||||
tinymce.each(dom.select('table[_mce_new]'), function(node) {
|
||||
var td = dom.select('td', node);
|
||||
|
||||
try {
|
||||
// IE9 might fail to do this selection
|
||||
inst.selection.select(td[0], true);
|
||||
inst.selection.collapse();
|
||||
} catch (ex) {
|
||||
// Ignore
|
||||
}
|
||||
|
||||
dom.setAttrib(node, '_mce_new', '');
|
||||
});
|
||||
|
||||
inst.addVisual();
|
||||
inst.execCommand('mceEndUndoLevel');
|
||||
|
||||
@@ -270,7 +284,7 @@ function init() {
|
||||
|
||||
var cols = 2, rows = 2, border = tinyMCEPopup.getParam('table_default_border', '0'), cellpadding = tinyMCEPopup.getParam('table_default_cellpadding', ''), cellspacing = tinyMCEPopup.getParam('table_default_cellspacing', '');
|
||||
var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = "";
|
||||
var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules, frame;
|
||||
var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules = "", frame = "";
|
||||
var inst = tinyMCEPopup.editor, dom = inst.dom;
|
||||
var formObj = document.forms[0];
|
||||
var elm = dom.getParent(inst.selection.getNode(), "table");
|
||||
@@ -307,7 +321,7 @@ function init() {
|
||||
style = dom.serializeStyle(st);
|
||||
dir = dom.getAttrib(elm, 'dir');
|
||||
lang = dom.getAttrib(elm, 'lang');
|
||||
background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
|
||||
background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");
|
||||
formObj.caption.checked = elm.getElementsByTagName('caption').length > 0;
|
||||
|
||||
orgTableWidth = width;
|
||||
@@ -416,7 +430,7 @@ function changedStyle() {
|
||||
var st = dom.parseStyle(formObj.style.value);
|
||||
|
||||
if (st['background-image'])
|
||||
formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
|
||||
formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");
|
||||
else
|
||||
formObj.backgroundimage.value = '';
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<script type="text/javascript" src="js/merge_cells.js"></script>
|
||||
</head>
|
||||
<body style="margin: 8px">
|
||||
<form onsubmit="mergeCells();return false;" action="#">
|
||||
<form onsubmit="MergeCellsDialog.merge();return false;" action="#">
|
||||
<fieldset>
|
||||
<legend>{#table_dlg.merge_cells_title}</legend>
|
||||
<table border="0" cellpadding="0" cellspacing="3" width="100%">
|
||||
@@ -24,13 +24,8 @@
|
||||
</fieldset>
|
||||
|
||||
<div class="mceActionPanel">
|
||||
<div style="float: left">
|
||||
<input type="submit" id="insert" name="insert" value="{#update}" />
|
||||
</div>
|
||||
|
||||
<div style="float: right">
|
||||
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
||||
</div>
|
||||
<input type="submit" id="insert" name="insert" value="{#update}" />
|
||||
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
|
||||
@@ -147,13 +147,8 @@
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div style="float: left">
|
||||
<div><input type="submit" id="insert" name="insert" value="{#update}" /></div>
|
||||
</div>
|
||||
|
||||
<div style="float: right">
|
||||
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
||||
</div>
|
||||
<input type="submit" id="insert" name="insert" value="{#update}" />
|
||||
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
|
||||
@@ -179,13 +179,8 @@
|
||||
</div>
|
||||
|
||||
<div class="mceActionPanel">
|
||||
<div style="float: left">
|
||||
<input type="submit" id="insert" name="insert" value="{#insert}" />
|
||||
</div>
|
||||
|
||||
<div style="float: right">
|
||||
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
||||
</div>
|
||||
<input type="submit" id="insert" name="insert" value="{#insert}" />
|
||||
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
||||
</div>
|
||||
</form>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user