diff options
author | Mike Macgirvin <mike@macgirvin.com> | 2010-07-01 16:48:07 -0700 |
---|---|---|
committer | Mike Macgirvin <mike@macgirvin.com> | 2010-07-01 16:48:07 -0700 |
commit | 6348e70daa113e8b3203de8fbc919d08c90d972e (patch) | |
tree | 1bc3dd3bc85fe6136411086785cf6753960e22f9 /tinymce/jscripts/tiny_mce/themes/advanced/js | |
download | volse-hubzilla-6348e70daa113e8b3203de8fbc919d08c90d972e.tar.gz volse-hubzilla-6348e70daa113e8b3203de8fbc919d08c90d972e.tar.bz2 volse-hubzilla-6348e70daa113e8b3203de8fbc919d08c90d972e.zip |
Initial checkin
Diffstat (limited to 'tinymce/jscripts/tiny_mce/themes/advanced/js')
7 files changed, 1160 insertions, 0 deletions
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js b/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js new file mode 100644 index 000000000..5cee9ed86 --- /dev/null +++ b/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js @@ -0,0 +1,72 @@ +tinyMCEPopup.requireLangPack();
+
+function init() {
+ var ed, tcont;
+
+ tinyMCEPopup.resizeToInnerSize();
+ ed = tinyMCEPopup.editor;
+
+ // Give FF some time
+ window.setTimeout(insertHelpIFrame, 10);
+
+ tcont = document.getElementById('plugintablecontainer');
+ document.getElementById('plugins_tab').style.display = 'none';
+
+ var html = "";
+ html += '<table id="plugintable">';
+ html += '<thead>';
+ html += '<tr>';
+ html += '<td>' + ed.getLang('advanced_dlg.about_plugin') + '</td>';
+ html += '<td>' + ed.getLang('advanced_dlg.about_author') + '</td>';
+ html += '<td>' + ed.getLang('advanced_dlg.about_version') + '</td>';
+ html += '</tr>';
+ html += '</thead>';
+ html += '<tbody>';
+
+ tinymce.each(ed.plugins, function(p, n) {
+ var info;
+
+ if (!p.getInfo)
+ return;
+
+ html += '<tr>';
+
+ info = p.getInfo();
+
+ if (info.infourl != null && info.infourl != '')
+ html += '<td width="50%" title="' + n + '"><a href="' + info.infourl + '" target="_blank">' + info.longname + '</a></td>';
+ else
+ html += '<td width="50%" title="' + n + '">' + info.longname + '</td>';
+
+ if (info.authorurl != null && info.authorurl != '')
+ html += '<td width="35%"><a href="' + info.authorurl + '" target="_blank">' + info.author + '</a></td>';
+ else
+ html += '<td width="35%">' + info.author + '</td>';
+
+ html += '<td width="15%">' + info.version + '</td>';
+ html += '</tr>';
+
+ document.getElementById('plugins_tab').style.display = '';
+
+ });
+
+ html += '</tbody>';
+ html += '</table>';
+
+ tcont.innerHTML = html;
+
+ tinyMCEPopup.dom.get('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion;
+ tinyMCEPopup.dom.get('date').innerHTML = tinymce.releaseDate;
+}
+
+function insertHelpIFrame() {
+ var html;
+
+ if (tinyMCEPopup.getParam('docs_url')) {
+ html = '<iframe width="100%" height="300" src="' + tinyMCEPopup.editor.baseURI.toAbsolute(tinyMCEPopup.getParam('docs_url')) + '"></iframe>';
+ document.getElementById('iframecontainer').innerHTML = html;
+ document.getElementById('help_tab').style.display = 'block';
+ }
+}
+
+tinyMCEPopup.onInit.add(init);
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js b/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js new file mode 100644 index 000000000..7fe781055 --- /dev/null +++ b/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js @@ -0,0 +1,37 @@ +tinyMCEPopup.requireLangPack();
+
+var AnchorDialog = {
+ init : function(ed) {
+ var action, elm, f = document.forms[0];
+
+ this.editor = ed;
+ elm = ed.dom.getParent(ed.selection.getNode(), 'A');
+ v = ed.dom.getAttrib(elm, 'name');
+
+ if (v) {
+ this.action = 'update';
+ f.anchorName.value = v;
+ }
+
+ f.insert.value = ed.getLang(elm ? 'update' : 'insert');
+ },
+
+ update : function() {
+ var ed = this.editor, elm, name = document.forms[0].anchorName.value;
+
+ tinyMCEPopup.restoreSelection();
+
+ if (this.action != 'update')
+ ed.selection.collapse(1);
+
+ elm = ed.dom.getParent(ed.selection.getNode(), 'A');
+ if (elm)
+ elm.name = name;
+ else
+ ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : name, 'class' : 'mceItemAnchor'}, ''));
+
+ tinyMCEPopup.close();
+ }
+};
+
+tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog);
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js b/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js new file mode 100644 index 000000000..8c5aea172 --- /dev/null +++ b/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js @@ -0,0 +1,335 @@ +/**
+ * charmap.js
+ *
+ * Copyright 2009, Moxiecode Systems AB
+ * Released under LGPL License.
+ *
+ * License: http://tinymce.moxiecode.com/license
+ * Contributing: http://tinymce.moxiecode.com/contributing
+ */
+
+tinyMCEPopup.requireLangPack();
+
+var charmap = [
+ [' ', ' ', true, 'no-break space'],
+ ['&', '&', true, 'ampersand'],
+ ['"', '"', true, 'quotation mark'],
+// finance
+ ['¢', '¢', true, 'cent sign'],
+ ['€', '€', true, 'euro sign'],
+ ['£', '£', true, 'pound sign'],
+ ['¥', '¥', true, 'yen sign'],
+// signs
+ ['©', '©', true, 'copyright sign'],
+ ['®', '®', true, 'registered sign'],
+ ['™', '™', true, 'trade mark sign'],
+ ['‰', '‰', true, 'per mille sign'],
+ ['µ', 'µ', true, 'micro sign'],
+ ['·', '·', true, 'middle dot'],
+ ['•', '•', true, 'bullet'],
+ ['…', '…', true, 'three dot leader'],
+ ['′', '′', true, 'minutes / feet'],
+ ['″', '″', true, 'seconds / inches'],
+ ['§', '§', true, 'section sign'],
+ ['¶', '¶', true, 'paragraph sign'],
+ ['ß', 'ß', true, 'sharp s / ess-zed'],
+// quotations
+ ['‹', '‹', true, 'single left-pointing angle quotation mark'],
+ ['›', '›', true, 'single right-pointing angle quotation mark'],
+ ['«', '«', true, 'left pointing guillemet'],
+ ['»', '»', true, 'right pointing guillemet'],
+ ['‘', '‘', true, 'left single quotation mark'],
+ ['’', '’', true, 'right single quotation mark'],
+ ['“', '“', true, 'left double quotation mark'],
+ ['”', '”', true, 'right double quotation mark'],
+ ['‚', '‚', true, 'single low-9 quotation mark'],
+ ['„', '„', true, 'double low-9 quotation mark'],
+ ['<', '<', true, 'less-than sign'],
+ ['>', '>', true, 'greater-than sign'],
+ ['≤', '≤', true, 'less-than or equal to'],
+ ['≥', '≥', true, 'greater-than or equal to'],
+ ['–', '–', true, 'en dash'],
+ ['—', '—', true, 'em dash'],
+ ['¯', '¯', true, 'macron'],
+ ['‾', '‾', true, 'overline'],
+ ['¤', '¤', true, 'currency sign'],
+ ['¦', '¦', true, 'broken bar'],
+ ['¨', '¨', true, 'diaeresis'],
+ ['¡', '¡', true, 'inverted exclamation mark'],
+ ['¿', '¿', true, 'turned question mark'],
+ ['ˆ', 'ˆ', true, 'circumflex accent'],
+ ['˜', '˜', true, 'small tilde'],
+ ['°', '°', true, 'degree sign'],
+ ['−', '−', true, 'minus sign'],
+ ['±', '±', true, 'plus-minus sign'],
+ ['÷', '÷', true, 'division sign'],
+ ['⁄', '⁄', true, 'fraction slash'],
+ ['×', '×', true, 'multiplication sign'],
+ ['¹', '¹', true, 'superscript one'],
+ ['²', '²', true, 'superscript two'],
+ ['³', '³', true, 'superscript three'],
+ ['¼', '¼', true, 'fraction one quarter'],
+ ['½', '½', true, 'fraction one half'],
+ ['¾', '¾', true, 'fraction three quarters'],
+// math / logical
+ ['ƒ', 'ƒ', true, 'function / florin'],
+ ['∫', '∫', true, 'integral'],
+ ['∑', '∑', true, 'n-ary sumation'],
+ ['∞', '∞', true, 'infinity'],
+ ['√', '√', true, 'square root'],
+ ['∼', '∼', false,'similar to'],
+ ['≅', '≅', false,'approximately equal to'],
+ ['≈', '≈', true, 'almost equal to'],
+ ['≠', '≠', true, 'not equal to'],
+ ['≡', '≡', true, 'identical to'],
+ ['∈', '∈', false,'element of'],
+ ['∉', '∉', false,'not an element of'],
+ ['∋', '∋', false,'contains as member'],
+ ['∏', '∏', true, 'n-ary product'],
+ ['∧', '∧', false,'logical and'],
+ ['∨', '∨', false,'logical or'],
+ ['¬', '¬', true, 'not sign'],
+ ['∩', '∩', true, 'intersection'],
+ ['∪', '∪', false,'union'],
+ ['∂', '∂', true, 'partial differential'],
+ ['∀', '∀', false,'for all'],
+ ['∃', '∃', false,'there exists'],
+ ['∅', '∅', false,'diameter'],
+ ['∇', '∇', false,'backward difference'],
+ ['∗', '∗', false,'asterisk operator'],
+ ['∝', '∝', false,'proportional to'],
+ ['∠', '∠', false,'angle'],
+// undefined
+ ['´', '´', true, 'acute accent'],
+ ['¸', '¸', true, 'cedilla'],
+ ['ª', 'ª', true, 'feminine ordinal indicator'],
+ ['º', 'º', true, 'masculine ordinal indicator'],
+ ['†', '†', true, 'dagger'],
+ ['‡', '‡', true, 'double dagger'],
+// alphabetical special chars
+ ['À', 'À', true, 'A - grave'],
+ ['Á', 'Á', true, 'A - acute'],
+ ['Â', 'Â', true, 'A - circumflex'],
+ ['Ã', 'Ã', true, 'A - tilde'],
+ ['Ä', 'Ä', true, 'A - diaeresis'],
+ ['Å', 'Å', true, 'A - ring above'],
+ ['Æ', 'Æ', true, 'ligature AE'],
+ ['Ç', 'Ç', true, 'C - cedilla'],
+ ['È', 'È', true, 'E - grave'],
+ ['É', 'É', true, 'E - acute'],
+ ['Ê', 'Ê', true, 'E - circumflex'],
+ ['Ë', 'Ë', true, 'E - diaeresis'],
+ ['Ì', 'Ì', true, 'I - grave'],
+ ['Í', 'Í', true, 'I - acute'],
+ ['Î', 'Î', true, 'I - circumflex'],
+ ['Ï', 'Ï', true, 'I - diaeresis'],
+ ['Ð', 'Ð', true, 'ETH'],
+ ['Ñ', 'Ñ', true, 'N - tilde'],
+ ['Ò', 'Ò', true, 'O - grave'],
+ ['Ó', 'Ó', true, 'O - acute'],
+ ['Ô', 'Ô', true, 'O - circumflex'],
+ ['Õ', 'Õ', true, 'O - tilde'],
+ ['Ö', 'Ö', true, 'O - diaeresis'],
+ ['Ø', 'Ø', true, 'O - slash'],
+ ['Œ', 'Œ', true, 'ligature OE'],
+ ['Š', 'Š', true, 'S - caron'],
+ ['Ù', 'Ù', true, 'U - grave'],
+ ['Ú', 'Ú', true, 'U - acute'],
+ ['Û', 'Û', true, 'U - circumflex'],
+ ['Ü', 'Ü', true, 'U - diaeresis'],
+ ['Ý', 'Ý', true, 'Y - acute'],
+ ['Ÿ', 'Ÿ', true, 'Y - diaeresis'],
+ ['Þ', 'Þ', true, 'THORN'],
+ ['à', 'à', true, 'a - grave'],
+ ['á', 'á', true, 'a - acute'],
+ ['â', 'â', true, 'a - circumflex'],
+ ['ã', 'ã', true, 'a - tilde'],
+ ['ä', 'ä', true, 'a - diaeresis'],
+ ['å', 'å', true, 'a - ring above'],
+ ['æ', 'æ', true, 'ligature ae'],
+ ['ç', 'ç', true, 'c - cedilla'],
+ ['è', 'è', true, 'e - grave'],
+ ['é', 'é', true, 'e - acute'],
+ ['ê', 'ê', true, 'e - circumflex'],
+ ['ë', 'ë', true, 'e - diaeresis'],
+ ['ì', 'ì', true, 'i - grave'],
+ ['í', 'í', true, 'i - acute'],
+ ['î', 'î', true, 'i - circumflex'],
+ ['ï', 'ï', true, 'i - diaeresis'],
+ ['ð', 'ð', true, 'eth'],
+ ['ñ', 'ñ', true, 'n - tilde'],
+ ['ò', 'ò', true, 'o - grave'],
+ ['ó', 'ó', true, 'o - acute'],
+ ['ô', 'ô', true, 'o - circumflex'],
+ ['õ', 'õ', true, 'o - tilde'],
+ ['ö', 'ö', true, 'o - diaeresis'],
+ ['ø', 'ø', true, 'o slash'],
+ ['œ', 'œ', true, 'ligature oe'],
+ ['š', 'š', true, 's - caron'],
+ ['ù', 'ù', true, 'u - grave'],
+ ['ú', 'ú', true, 'u - acute'],
+ ['û', 'û', true, 'u - circumflex'],
+ ['ü', 'ü', true, 'u - diaeresis'],
+ ['ý', 'ý', true, 'y - acute'],
+ ['þ', 'þ', true, 'thorn'],
+ ['ÿ', 'ÿ', true, 'y - diaeresis'],
+ ['Α', 'Α', true, 'Alpha'],
+ ['Β', 'Β', true, 'Beta'],
+ ['Γ', 'Γ', true, 'Gamma'],
+ ['Δ', 'Δ', true, 'Delta'],
+ ['Ε', 'Ε', true, 'Epsilon'],
+ ['Ζ', 'Ζ', true, 'Zeta'],
+ ['Η', 'Η', true, 'Eta'],
+ ['Θ', 'Θ', true, 'Theta'],
+ ['Ι', 'Ι', true, 'Iota'],
+ ['Κ', 'Κ', true, 'Kappa'],
+ ['Λ', 'Λ', true, 'Lambda'],
+ ['Μ', 'Μ', true, 'Mu'],
+ ['Ν', 'Ν', true, 'Nu'],
+ ['Ξ', 'Ξ', true, 'Xi'],
+ ['Ο', 'Ο', true, 'Omicron'],
+ ['Π', 'Π', true, 'Pi'],
+ ['Ρ', 'Ρ', true, 'Rho'],
+ ['Σ', 'Σ', true, 'Sigma'],
+ ['Τ', 'Τ', true, 'Tau'],
+ ['Υ', 'Υ', true, 'Upsilon'],
+ ['Φ', 'Φ', true, 'Phi'],
+ ['Χ', 'Χ', true, 'Chi'],
+ ['Ψ', 'Ψ', true, 'Psi'],
+ ['Ω', 'Ω', true, 'Omega'],
+ ['α', 'α', true, 'alpha'],
+ ['β', 'β', true, 'beta'],
+ ['γ', 'γ', true, 'gamma'],
+ ['δ', 'δ', true, 'delta'],
+ ['ε', 'ε', true, 'epsilon'],
+ ['ζ', 'ζ', true, 'zeta'],
+ ['η', 'η', true, 'eta'],
+ ['θ', 'θ', true, 'theta'],
+ ['ι', 'ι', true, 'iota'],
+ ['κ', 'κ', true, 'kappa'],
+ ['λ', 'λ', true, 'lambda'],
+ ['μ', 'μ', true, 'mu'],
+ ['ν', 'ν', true, 'nu'],
+ ['ξ', 'ξ', true, 'xi'],
+ ['ο', 'ο', true, 'omicron'],
+ ['π', 'π', true, 'pi'],
+ ['ρ', 'ρ', true, 'rho'],
+ ['ς', 'ς', true, 'final sigma'],
+ ['σ', 'σ', true, 'sigma'],
+ ['τ', 'τ', true, 'tau'],
+ ['υ', 'υ', true, 'upsilon'],
+ ['φ', 'φ', true, 'phi'],
+ ['χ', 'χ', true, 'chi'],
+ ['ψ', 'ψ', true, 'psi'],
+ ['ω', 'ω', true, 'omega'],
+// symbols
+ ['ℵ', 'ℵ', false,'alef symbol'],
+ ['ϖ', 'ϖ', false,'pi symbol'],
+ ['ℜ', 'ℜ', false,'real part symbol'],
+ ['ϑ','ϑ', false,'theta symbol'],
+ ['ϒ', 'ϒ', false,'upsilon - hook symbol'],
+ ['℘', '℘', false,'Weierstrass p'],
+ ['ℑ', 'ℑ', false,'imaginary part'],
+// arrows
+ ['←', '←', true, 'leftwards arrow'],
+ ['↑', '↑', true, 'upwards arrow'],
+ ['→', '→', true, 'rightwards arrow'],
+ ['↓', '↓', true, 'downwards arrow'],
+ ['↔', '↔', true, 'left right arrow'],
+ ['↵', '↵', false,'carriage return'],
+ ['⇐', '⇐', false,'leftwards double arrow'],
+ ['⇑', '⇑', false,'upwards double arrow'],
+ ['⇒', '⇒', false,'rightwards double arrow'],
+ ['⇓', '⇓', false,'downwards double arrow'],
+ ['⇔', '⇔', false,'left right double arrow'],
+ ['∴', '∴', false,'therefore'],
+ ['⊂', '⊂', false,'subset of'],
+ ['⊃', '⊃', false,'superset of'],
+ ['⊄', '⊄', false,'not a subset of'],
+ ['⊆', '⊆', false,'subset of or equal to'],
+ ['⊇', '⊇', false,'superset of or equal to'],
+ ['⊕', '⊕', false,'circled plus'],
+ ['⊗', '⊗', false,'circled times'],
+ ['⊥', '⊥', false,'perpendicular'],
+ ['⋅', '⋅', false,'dot operator'],
+ ['⌈', '⌈', false,'left ceiling'],
+ ['⌉', '⌉', false,'right ceiling'],
+ ['⌊', '⌊', false,'left floor'],
+ ['⌋', '⌋', false,'right floor'],
+ ['⟨', '〈', false,'left-pointing angle bracket'],
+ ['⟩', '〉', false,'right-pointing angle bracket'],
+ ['◊', '◊', true,'lozenge'],
+ ['♠', '♠', false,'black spade suit'],
+ ['♣', '♣', true, 'black club suit'],
+ ['♥', '♥', true, 'black heart suit'],
+ ['♦', '♦', true, 'black diamond suit'],
+ [' ', ' ', false,'en space'],
+ [' ', ' ', false,'em space'],
+ [' ', ' ', false,'thin space'],
+ ['‌', '‌', false,'zero width non-joiner'],
+ ['‍', '‍', false,'zero width joiner'],
+ ['‎', '‎', false,'left-to-right mark'],
+ ['‏', '‏', false,'right-to-left mark'],
+ ['­', '­', false,'soft hyphen']
+];
+
+tinyMCEPopup.onInit.add(function() {
+ tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML());
+});
+
+function renderCharMapHTML() {
+ var charsPerRow = 20, tdWidth=20, tdHeight=20, i;
+ var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
+ var cols=-1;
+
+ for (i=0; i<charmap.length; i++) {
+ if (charmap[i][2]==true) {
+ cols++;
+ html += ''
+ + '<td class="charmap">'
+ + '<a onmouseover="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'
+ + charmap[i][1]
+ + '</a></td>';
+ if ((cols+1) % charsPerRow == 0)
+ html += '</tr><tr height="' + tdHeight + '">';
+ }
+ }
+
+ if (cols % charsPerRow > 0) {
+ var padd = charsPerRow - (cols % charsPerRow);
+ for (var i=0; i<padd-1; i++)
+ html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"> </td>';
+ }
+
+ html += '</tr></table>';
+
+ return html;
+}
+
+function insertChar(chr) {
+ tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';');
+
+ // Refocus in window
+ if (tinyMCEPopup.isWindow)
+ window.focus();
+
+ tinyMCEPopup.editor.focus();
+ tinyMCEPopup.close();
+}
+
+function previewChar(codeA, codeB, codeN) {
+ var elmA = document.getElementById('codeA');
+ var elmB = document.getElementById('codeB');
+ var elmV = document.getElementById('codeV');
+ var elmN = document.getElementById('codeN');
+
+ if (codeA=='#160;') {
+ elmV.innerHTML = '__';
+ } else {
+ elmV.innerHTML = '&' + codeA;
+ }
+
+ elmB.innerHTML = '&' + codeA;
+ elmA.innerHTML = '&' + codeB;
+ elmN.innerHTML = codeN;
+}
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js b/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js new file mode 100644 index 000000000..fd9700f22 --- /dev/null +++ b/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js @@ -0,0 +1,253 @@ +tinyMCEPopup.requireLangPack();
+
+var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false;
+
+var colors = [
+ "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
+ "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099",
+ "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff",
+ "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033",
+ "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399",
+ "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff",
+ "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333",
+ "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399",
+ "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff",
+ "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633",
+ "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699",
+ "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff",
+ "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633",
+ "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999",
+ "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff",
+ "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933",
+ "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999",
+ "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff",
+ "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33",
+ "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99",
+ "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff",
+ "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33",
+ "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99",
+ "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff",
+ "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33",
+ "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99",
+ "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff"
+];
+
+var named = {
+ '#F0F8FF':'AliceBlue','#FAEBD7':'AntiqueWhite','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige',
+ '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'BlanchedAlmond','#0000FF':'Blue','#8A2BE2':'BlueViolet','#A52A2A':'Brown',
+ '#DEB887':'BurlyWood','#5F9EA0':'CadetBlue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'CornflowerBlue',
+ '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'DarkBlue','#008B8B':'DarkCyan','#B8860B':'DarkGoldenRod',
+ '#A9A9A9':'DarkGray','#A9A9A9':'DarkGrey','#006400':'DarkGreen','#BDB76B':'DarkKhaki','#8B008B':'DarkMagenta','#556B2F':'DarkOliveGreen',
+ '#FF8C00':'Darkorange','#9932CC':'DarkOrchid','#8B0000':'DarkRed','#E9967A':'DarkSalmon','#8FBC8F':'DarkSeaGreen','#483D8B':'DarkSlateBlue',
+ '#2F4F4F':'DarkSlateGray','#2F4F4F':'DarkSlateGrey','#00CED1':'DarkTurquoise','#9400D3':'DarkViolet','#FF1493':'DeepPink','#00BFFF':'DeepSkyBlue',
+ '#696969':'DimGray','#696969':'DimGrey','#1E90FF':'DodgerBlue','#B22222':'FireBrick','#FFFAF0':'FloralWhite','#228B22':'ForestGreen',
+ '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'GhostWhite','#FFD700':'Gold','#DAA520':'GoldenRod','#808080':'Gray','#808080':'Grey',
+ '#008000':'Green','#ADFF2F':'GreenYellow','#F0FFF0':'HoneyDew','#FF69B4':'HotPink','#CD5C5C':'IndianRed','#4B0082':'Indigo','#FFFFF0':'Ivory',
+ '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'LavenderBlush','#7CFC00':'LawnGreen','#FFFACD':'LemonChiffon','#ADD8E6':'LightBlue',
+ '#F08080':'LightCoral','#E0FFFF':'LightCyan','#FAFAD2':'LightGoldenRodYellow','#D3D3D3':'LightGray','#D3D3D3':'LightGrey','#90EE90':'LightGreen',
+ '#FFB6C1':'LightPink','#FFA07A':'LightSalmon','#20B2AA':'LightSeaGreen','#87CEFA':'LightSkyBlue','#778899':'LightSlateGray','#778899':'LightSlateGrey',
+ '#B0C4DE':'LightSteelBlue','#FFFFE0':'LightYellow','#00FF00':'Lime','#32CD32':'LimeGreen','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon',
+ '#66CDAA':'MediumAquaMarine','#0000CD':'MediumBlue','#BA55D3':'MediumOrchid','#9370D8':'MediumPurple','#3CB371':'MediumSeaGreen','#7B68EE':'MediumSlateBlue',
+ '#00FA9A':'MediumSpringGreen','#48D1CC':'MediumTurquoise','#C71585':'MediumVioletRed','#191970':'MidnightBlue','#F5FFFA':'MintCream','#FFE4E1':'MistyRose','#FFE4B5':'Moccasin',
+ '#FFDEAD':'NavajoWhite','#000080':'Navy','#FDF5E6':'OldLace','#808000':'Olive','#6B8E23':'OliveDrab','#FFA500':'Orange','#FF4500':'OrangeRed','#DA70D6':'Orchid',
+ '#EEE8AA':'PaleGoldenRod','#98FB98':'PaleGreen','#AFEEEE':'PaleTurquoise','#D87093':'PaleVioletRed','#FFEFD5':'PapayaWhip','#FFDAB9':'PeachPuff',
+ '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'PowderBlue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'RosyBrown','#4169E1':'RoyalBlue',
+ '#8B4513':'SaddleBrown','#FA8072':'Salmon','#F4A460':'SandyBrown','#2E8B57':'SeaGreen','#FFF5EE':'SeaShell','#A0522D':'Sienna','#C0C0C0':'Silver',
+ '#87CEEB':'SkyBlue','#6A5ACD':'SlateBlue','#708090':'SlateGray','#708090':'SlateGrey','#FFFAFA':'Snow','#00FF7F':'SpringGreen',
+ '#4682B4':'SteelBlue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet',
+ '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'WhiteSmoke','#FFFF00':'Yellow','#9ACD32':'YellowGreen'
+};
+
+function init() {
+ var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color'));
+
+ tinyMCEPopup.resizeToInnerSize();
+
+ generatePicker();
+
+ if (inputColor) {
+ changeFinalColor(inputColor);
+
+ col = convertHexToRGB(inputColor);
+
+ if (col)
+ updateLight(col.r, col.g, col.b);
+ }
+}
+
+function insertAction() {
+ var color = document.getElementById("color").value, f = tinyMCEPopup.getWindowArg('func');
+
+ tinyMCEPopup.restoreSelection();
+
+ if (f)
+ f(color);
+
+ tinyMCEPopup.close();
+}
+
+function showColor(color, name) {
+ if (name)
+ document.getElementById("colorname").innerHTML = name;
+
+ document.getElementById("preview").style.backgroundColor = color;
+ document.getElementById("color").value = color.toLowerCase();
+}
+
+function convertRGBToHex(col) {
+ var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
+
+ if (!col)
+ return col;
+
+ var rgb = col.replace(re, "$1,$2,$3").split(',');
+ if (rgb.length == 3) {
+ r = parseInt(rgb[0]).toString(16);
+ g = parseInt(rgb[1]).toString(16);
+ b = parseInt(rgb[2]).toString(16);
+
+ r = r.length == 1 ? '0' + r : r;
+ g = g.length == 1 ? '0' + g : g;
+ b = b.length == 1 ? '0' + b : b;
+
+ return "#" + r + g + b;
+ }
+
+ return col;
+}
+
+function convertHexToRGB(col) {
+ if (col.indexOf('#') != -1) {
+ col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+
+ r = parseInt(col.substring(0, 2), 16);
+ g = parseInt(col.substring(2, 4), 16);
+ b = parseInt(col.substring(4, 6), 16);
+
+ return {r : r, g : g, b : b};
+ }
+
+ return null;
+}
+
+function generatePicker() {
+ var el = document.getElementById('light'), h = '', i;
+
+ for (i = 0; i < detail; i++){
+ h += '<div id="gs'+i+'" style="background-color:#000000; width:15px; height:3px; border-style:none; border-width:0px;"'
+ + ' onclick="changeFinalColor(this.style.backgroundColor)"'
+ + ' onmousedown="isMouseDown = true; return false;"'
+ + ' onmouseup="isMouseDown = false;"'
+ + ' onmousemove="if (isMouseDown && isMouseOver) changeFinalColor(this.style.backgroundColor); return false;"'
+ + ' onmouseover="isMouseOver = true;"'
+ + ' onmouseout="isMouseOver = false;"'
+ + '></div>';
+ }
+
+ el.innerHTML = h;
+}
+
+function generateWebColors() {
+ var el = document.getElementById('webcolors'), h = '', i;
+
+ if (el.className == 'generated')
+ return;
+
+ h += '<table border="0" cellspacing="1" cellpadding="0">'
+ + '<tr>';
+
+ for (i=0; i<colors.length; i++) {
+ h += '<td bgcolor="' + colors[i] + '" width="10" height="10">'
+ + '<a href="javascript:insertAction();" onfocus="showColor(\'' + colors[i] + '\');" onmouseover="showColor(\'' + colors[i] + '\');" style="display:block;width:10px;height:10px;overflow:hidden;">'
+ + '</a></td>';
+ if ((i+1) % 18 == 0)
+ h += '</tr><tr>';
+ }
+
+ h += '</table>';
+
+ el.innerHTML = h;
+ el.className = 'generated';
+}
+
+function generateNamedColors() {
+ var el = document.getElementById('namedcolors'), h = '', n, v, i = 0;
+
+ if (el.className == 'generated')
+ return;
+
+ for (n in named) {
+ v = named[n];
+ h += '<a href="javascript:insertAction();" onmouseover="showColor(\'' + n + '\',\'' + v + '\');" style="background-color: ' + n + '"><!-- IE --></a>'
+ }
+
+ el.innerHTML = h;
+ el.className = 'generated';
+}
+
+function dechex(n) {
+ return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16);
+}
+
+function computeColor(e) {
+ var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB;
+
+ x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0);
+ y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0);
+
+ partWidth = document.getElementById('colors').width / 6;
+ partDetail = detail / 2;
+ imHeight = document.getElementById('colors').height;
+
+ r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255;
+ g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255 + (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth);
+ b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth);
+
+ coef = (imHeight - y) / imHeight;
+ r = 128 + (r - 128) * coef;
+ g = 128 + (g - 128) * coef;
+ b = 128 + (b - 128) * coef;
+
+ changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b));
+ updateLight(r, g, b);
+}
+
+function updateLight(r, g, b) {
+ var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color;
+
+ for (i=0; i<detail; i++) {
+ if ((i>=0) && (i<partDetail)) {
+ finalCoef = i / partDetail;
+ finalR = dechex(255 - (255 - r) * finalCoef);
+ finalG = dechex(255 - (255 - g) * finalCoef);
+ finalB = dechex(255 - (255 - b) * finalCoef);
+ } else {
+ finalCoef = 2 - i / partDetail;
+ finalR = dechex(r * finalCoef);
+ finalG = dechex(g * finalCoef);
+ finalB = dechex(b * finalCoef);
+ }
+
+ color = finalR + finalG + finalB;
+
+ setCol('gs' + i, '#'+color);
+ }
+}
+
+function changeFinalColor(color) {
+ if (color.indexOf('#') == -1)
+ color = convertRGBToHex(color);
+
+ setCol('preview', color);
+ document.getElementById('color').value = color;
+}
+
+function setCol(e, c) {
+ try {
+ document.getElementById(e).style.backgroundColor = c;
+ } catch (ex) {
+ // Ignore IE warning
+ }
+}
+
+tinyMCEPopup.onInit.add(init);
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js b/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js new file mode 100644 index 000000000..6423d9080 --- /dev/null +++ b/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js @@ -0,0 +1,245 @@ +var ImageDialog = {
+ preInit : function() {
+ var url;
+
+ tinyMCEPopup.requireLangPack();
+
+ if (url = tinyMCEPopup.getParam("external_image_list_url"))
+ document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
+ },
+
+ init : function() {
+ var f = document.forms[0], ed = tinyMCEPopup.editor;
+
+ // Setup browse button
+ document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
+ if (isVisible('srcbrowser'))
+ document.getElementById('src').style.width = '180px';
+
+ e = ed.selection.getNode();
+
+ this.fillFileList('image_list', 'tinyMCEImageList');
+
+ if (e.nodeName == 'IMG') {
+ f.src.value = ed.dom.getAttrib(e, 'src');
+ f.alt.value = ed.dom.getAttrib(e, 'alt');
+ f.border.value = this.getAttrib(e, 'border');
+ f.vspace.value = this.getAttrib(e, 'vspace');
+ f.hspace.value = this.getAttrib(e, 'hspace');
+ f.width.value = ed.dom.getAttrib(e, 'width');
+ f.height.value = ed.dom.getAttrib(e, 'height');
+ f.insert.value = ed.getLang('update');
+ this.styleVal = ed.dom.getAttrib(e, 'style');
+ selectByValue(f, 'image_list', f.src.value);
+ selectByValue(f, 'align', this.getAttrib(e, 'align'));
+ this.updateStyle();
+ }
+ },
+
+ fillFileList : function(id, l) {
+ var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
+
+ l = window[l];
+
+ if (l && l.length > 0) {
+ lst.options[lst.options.length] = new Option('', '');
+
+ tinymce.each(l, function(o) {
+ lst.options[lst.options.length] = new Option(o[0], o[1]);
+ });
+ } else
+ dom.remove(dom.getParent(id, 'tr'));
+ },
+
+ update : function() {
+ var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, args = {}, el;
+
+ tinyMCEPopup.restoreSelection();
+
+ if (f.src.value === '') {
+ if (ed.selection.getNode().nodeName == 'IMG') {
+ ed.dom.remove(ed.selection.getNode());
+ ed.execCommand('mceRepaint');
+ }
+
+ tinyMCEPopup.close();
+ return;
+ }
+
+ if (!ed.settings.inline_styles) {
+ args = tinymce.extend(args, {
+ vspace : nl.vspace.value,
+ hspace : nl.hspace.value,
+ border : nl.border.value,
+ align : getSelectValue(f, 'align')
+ });
+ } else
+ args.style = this.styleVal;
+
+ tinymce.extend(args, {
+ src : f.src.value,
+ alt : f.alt.value,
+ width : f.width.value,
+ height : f.height.value
+ });
+
+ el = ed.selection.getNode();
+
+ if (el && el.nodeName == 'IMG') {
+ ed.dom.setAttribs(el, args);
+ } else {
+ ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" />', {skip_undo : 1});
+ ed.dom.setAttribs('__mce_tmp', args);
+ ed.dom.setAttrib('__mce_tmp', 'id', '');
+ ed.undoManager.add();
+ }
+
+ tinyMCEPopup.close();
+ },
+
+ updateStyle : function() {
+ var dom = tinyMCEPopup.dom, st, v, f = document.forms[0];
+
+ if (tinyMCEPopup.editor.settings.inline_styles) {
+ st = tinyMCEPopup.dom.parseStyle(this.styleVal);
+
+ // Handle align
+ v = getSelectValue(f, 'align');
+ if (v) {
+ if (v == 'left' || v == 'right') {
+ st['float'] = v;
+ delete st['vertical-align'];
+ } else {
+ st['vertical-align'] = v;
+ delete st['float'];
+ }
+ } else {
+ delete st['float'];
+ delete st['vertical-align'];
+ }
+
+ // Handle border
+ v = f.border.value;
+ if (v || v == '0') {
+ if (v == '0')
+ st['border'] = '0';
+ else
+ st['border'] = v + 'px solid black';
+ } else
+ delete st['border'];
+
+ // Handle hspace
+ v = f.hspace.value;
+ if (v) {
+ delete st['margin'];
+ st['margin-left'] = v + 'px';
+ st['margin-right'] = v + 'px';
+ } else {
+ delete st['margin-left'];
+ delete st['margin-right'];
+ }
+
+ // Handle vspace
+ v = f.vspace.value;
+ if (v) {
+ delete st['margin'];
+ st['margin-top'] = v + 'px';
+ st['margin-bottom'] = v + 'px';
+ } else {
+ delete st['margin-top'];
+ delete st['margin-bottom'];
+ }
+
+ // Merge
+ st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st), 'img');
+ this.styleVal = dom.serializeStyle(st, 'img');
+ }
+ },
+
+ getAttrib : function(e, at) {
+ var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2;
+
+ if (ed.settings.inline_styles) {
+ switch (at) {
+ case 'align':
+ if (v = dom.getStyle(e, 'float'))
+ return v;
+
+ if (v = dom.getStyle(e, 'vertical-align'))
+ return v;
+
+ break;
+
+ case 'hspace':
+ v = dom.getStyle(e, 'margin-left')
+ v2 = dom.getStyle(e, 'margin-right');
+ if (v && v == v2)
+ return parseInt(v.replace(/[^0-9]/g, ''));
+
+ break;
+
+ case 'vspace':
+ v = dom.getStyle(e, 'margin-top')
+ v2 = dom.getStyle(e, 'margin-bottom');
+ if (v && v == v2)
+ return parseInt(v.replace(/[^0-9]/g, ''));
+
+ break;
+
+ case 'border':
+ v = 0;
+
+ tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) {
+ sv = dom.getStyle(e, 'border-' + sv + '-width');
+
+ // False or not the same as prev
+ if (!sv || (sv != v && v !== 0)) {
+ v = 0;
+ return false;
+ }
+
+ if (sv)
+ v = sv;
+ });
+
+ if (v)
+ return parseInt(v.replace(/[^0-9]/g, ''));
+
+ break;
+ }
+ }
+
+ if (v = dom.getAttrib(e, at))
+ return v;
+
+ return '';
+ },
+
+ resetImageData : function() {
+ var f = document.forms[0];
+
+ f.width.value = f.height.value = "";
+ },
+
+ updateImageData : function() {
+ var f = document.forms[0], t = ImageDialog;
+
+ if (f.width.value == "")
+ f.width.value = t.preloadImg.width;
+
+ if (f.height.value == "")
+ f.height.value = t.preloadImg.height;
+ },
+
+ getImageData : function() {
+ var f = document.forms[0];
+
+ this.preloadImg = new Image();
+ this.preloadImg.onload = this.updateImageData;
+ this.preloadImg.onerror = this.resetImageData;
+ this.preloadImg.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.src.value);
+ }
+};
+
+ImageDialog.preInit();
+tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog);
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js b/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js new file mode 100644 index 000000000..f67a5bc82 --- /dev/null +++ b/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js @@ -0,0 +1,156 @@ +tinyMCEPopup.requireLangPack();
+
+var LinkDialog = {
+ preInit : function() {
+ var url;
+
+ if (url = tinyMCEPopup.getParam("external_link_list_url"))
+ document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
+ },
+
+ init : function() {
+ var f = document.forms[0], ed = tinyMCEPopup.editor;
+
+ // Setup browse button
+ document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser', 'href', 'file', 'theme_advanced_link');
+ if (isVisible('hrefbrowser'))
+ document.getElementById('href').style.width = '180px';
+
+ this.fillClassList('class_list');
+ this.fillFileList('link_list', 'tinyMCELinkList');
+ this.fillTargetList('target_list');
+
+ if (e = ed.dom.getParent(ed.selection.getNode(), 'A')) {
+ f.href.value = ed.dom.getAttrib(e, 'href');
+ f.linktitle.value = ed.dom.getAttrib(e, 'title');
+ f.insert.value = ed.getLang('update');
+ selectByValue(f, 'link_list', f.href.value);
+ selectByValue(f, 'target_list', ed.dom.getAttrib(e, 'target'));
+ selectByValue(f, 'class_list', ed.dom.getAttrib(e, 'class'));
+ }
+ },
+
+ update : function() {
+ var f = document.forms[0], ed = tinyMCEPopup.editor, e, b;
+
+ tinyMCEPopup.restoreSelection();
+ e = ed.dom.getParent(ed.selection.getNode(), 'A');
+
+ // Remove element if there is no href
+ if (!f.href.value) {
+ if (e) {
+ tinyMCEPopup.execCommand("mceBeginUndoLevel");
+ b = ed.selection.getBookmark();
+ ed.dom.remove(e, 1);
+ ed.selection.moveToBookmark(b);
+ tinyMCEPopup.execCommand("mceEndUndoLevel");
+ tinyMCEPopup.close();
+ return;
+ }
+ }
+
+ tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+ // Create new anchor elements
+ if (e == null) {
+ ed.getDoc().execCommand("unlink", false, null);
+ tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1});
+
+ tinymce.each(ed.dom.select("a"), function(n) {
+ if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') {
+ e = n;
+
+ ed.dom.setAttribs(e, {
+ href : f.href.value,
+ title : f.linktitle.value,
+ target : f.target_list ? getSelectValue(f, "target_list") : null,
+ 'class' : f.class_list ? getSelectValue(f, "class_list") : null
+ });
+ }
+ });
+ } else {
+ ed.dom.setAttribs(e, {
+ href : f.href.value,
+ title : f.linktitle.value,
+ target : f.target_list ? getSelectValue(f, "target_list") : null,
+ 'class' : f.class_list ? getSelectValue(f, "class_list") : null
+ });
+ }
+
+ // Don't move caret if selection was image
+ if (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') {
+ ed.focus();
+ ed.selection.select(e);
+ ed.selection.collapse(0);
+ tinyMCEPopup.storeSelection();
+ }
+
+ tinyMCEPopup.execCommand("mceEndUndoLevel");
+ tinyMCEPopup.close();
+ },
+
+ checkPrefix : function(n) {
+ if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_email')))
+ n.value = 'mailto:' + n.value;
+
+ if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_external')))
+ n.value = 'http://' + n.value;
+ },
+
+ fillFileList : function(id, l) {
+ var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
+
+ l = window[l];
+
+ if (l && l.length > 0) {
+ lst.options[lst.options.length] = new Option('', '');
+
+ tinymce.each(l, function(o) {
+ lst.options[lst.options.length] = new Option(o[0], o[1]);
+ });
+ } else
+ dom.remove(dom.getParent(id, 'tr'));
+ },
+
+ fillClassList : function(id) {
+ var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
+
+ if (v = tinyMCEPopup.getParam('theme_advanced_styles')) {
+ cl = [];
+
+ tinymce.each(v.split(';'), function(v) {
+ var p = v.split('=');
+
+ cl.push({'title' : p[0], 'class' : p[1]});
+ });
+ } else
+ cl = tinyMCEPopup.editor.dom.getClasses();
+
+ if (cl.length > 0) {
+ lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), '');
+
+ tinymce.each(cl, function(o) {
+ lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']);
+ });
+ } else
+ dom.remove(dom.getParent(id, 'tr'));
+ },
+
+ fillTargetList : function(id) {
+ var dom = tinyMCEPopup.dom, lst = dom.get(id), v;
+
+ lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), '');
+ lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_same'), '_self');
+ lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_blank'), '_blank');
+
+ if (v = tinyMCEPopup.getParam('theme_advanced_link_targets')) {
+ tinymce.each(v.split(','), function(v) {
+ v = v.split('=');
+ lst.options[lst.options.length] = new Option(v[0], v[1]);
+ });
+ }
+ }
+};
+
+LinkDialog.preInit();
+tinyMCEPopup.onInit.add(LinkDialog.init, LinkDialog);
diff --git a/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js b/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js new file mode 100644 index 000000000..279328614 --- /dev/null +++ b/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js @@ -0,0 +1,62 @@ +tinyMCEPopup.requireLangPack();
+tinyMCEPopup.onInit.add(onLoadInit);
+
+function saveContent() {
+ tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value, {source_view : true});
+ tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+ tinyMCEPopup.resizeToInnerSize();
+
+ // Remove Gecko spellchecking
+ if (tinymce.isGecko)
+ document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck");
+
+ document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent({source_view : true});
+
+ if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) {
+ setWrap('soft');
+ document.getElementById('wraped').checked = true;
+ }
+
+ resizeInputs();
+}
+
+function setWrap(val) {
+ var v, n, s = document.getElementById('htmlSource');
+
+ s.wrap = val;
+
+ if (!tinymce.isIE) {
+ v = s.value;
+ n = s.cloneNode(false);
+ n.setAttribute("wrap", val);
+ s.parentNode.replaceChild(n, s);
+ n.value = v;
+ }
+}
+
+function toggleWordWrap(elm) {
+ if (elm.checked)
+ setWrap('soft');
+ else
+ setWrap('off');
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+ var el = document.getElementById('htmlSource');
+
+ if (!tinymce.isIE) {
+ wHeight = self.innerHeight - 65;
+ wWidth = self.innerWidth - 16;
+ } else {
+ wHeight = document.body.clientHeight - 70;
+ wWidth = document.body.clientWidth - 16;
+ }
+
+ el.style.height = Math.abs(wHeight) + 'px';
+ el.style.width = Math.abs(wWidth) + 'px';
+}
|