functions.js
资源名称:bangong.rar [点击查看]
上传用户:dlqqsh
上传日期:2021-11-13
资源大小:7840k
文件大小:16k
源码类别:
OA系统
开发平台:
Java
- /* Functions for the advimage plugin popup */
- var preloadImg = null;
- var orgImageWidth, orgImageHeight;
- function preinit() {
- // Initialize
- tinyMCE.setWindowArg('mce_windowresize', false);
- // Import external list url javascript
- var url = tinyMCE.getParam("external_image_list_url");
- if (url != null) {
- // Fix relative
- if (url.charAt(0) != '/' && url.indexOf('://') == -1)
- url = tinyMCE.documentBasePath + "/" + url;
- document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
- }
- }
- function convertURL(url, node, on_save) {
- return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
- }
- function getImageSrc(str) {
- var pos = -1;
- if (!str)
- return "";
- if ((pos = str.indexOf('this.src=')) != -1) {
- var src = str.substring(pos + 10);
- src = src.substring(0, src.indexOf('''));
- if (tinyMCE.getParam('convert_urls'))
- src = convertURL(src, null, true);
- return src;
- }
- return "";
- }
- function init() {
- tinyMCEPopup.resizeToInnerSize();
- var formObj = document.forms[0];
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
- var elm = inst.getFocusElement();
- var action = "insert";
- var html = "";
- // Image list src
- html = getImageListHTML('imagelistsrc','src','onSelectMainImage');
- if (html == "")
- document.getElementById("imagelistsrcrow").style.display = 'none';
- else
- document.getElementById("imagelistsrccontainer").innerHTML = html;
- // Image list oversrc
- html = getImageListHTML('imagelistover','onmouseoversrc');
- if (html == "")
- document.getElementById("imagelistoverrow").style.display = 'none';
- else
- document.getElementById("imagelistovercontainer").innerHTML = html;
- // Image list outsrc
- html = getImageListHTML('imagelistout','onmouseoutsrc');
- if (html == "")
- document.getElementById("imagelistoutrow").style.display = 'none';
- else
- document.getElementById("imagelistoutcontainer").innerHTML = html;
- // Src browser
- html = getBrowserHTML('srcbrowser','src','image','advimage');
- document.getElementById("srcbrowsercontainer").innerHTML = html;
- // Over browser
- html = getBrowserHTML('oversrcbrowser','onmouseoversrc','image','advimage');
- document.getElementById("onmouseoversrccontainer").innerHTML = html;
- // Out browser
- html = getBrowserHTML('outsrcbrowser','onmouseoutsrc','image','advimage');
- document.getElementById("onmouseoutsrccontainer").innerHTML = html;
- // Longdesc browser
- html = getBrowserHTML('longdescbrowser','longdesc','file','advimage');
- document.getElementById("longdesccontainer").innerHTML = html;
- // Resize some elements
- if (isVisible('srcbrowser'))
- document.getElementById('src').style.width = '260px';
- if (isVisible('oversrcbrowser'))
- document.getElementById('onmouseoversrc').style.width = '260px';
- if (isVisible('outsrcbrowser'))
- document.getElementById('onmouseoutsrc').style.width = '260px';
- if (isVisible('longdescbrowser'))
- document.getElementById('longdesc').style.width = '180px';
- // Check action
- if (elm != null && elm.nodeName == "IMG")
- action = "update";
- formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
- if (action == "update") {
- var src = tinyMCE.getAttrib(elm, 'src');
- var onmouseoversrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
- var onmouseoutsrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
- src = convertURL(src, elm, true);
- // Use mce_src if found
- var mceRealSrc = tinyMCE.getAttrib(elm, 'mce_src');
- if (mceRealSrc != "") {
- src = mceRealSrc;
- if (tinyMCE.getParam('convert_urls'))
- src = convertURL(src, elm, true);
- }
- if (onmouseoversrc != "" && tinyMCE.getParam('convert_urls'))
- onmouseoversrc = convertURL(onmouseoversrc, elm, true);
- if (onmouseoutsrc != "" && tinyMCE.getParam('convert_urls'))
- onmouseoutsrc = convertURL(onmouseoutsrc, elm, true);
- // Setup form data
- var style = tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"));
- // Store away old size
- orgImageWidth = trimSize(getStyle(elm, 'width'))
- orgImageHeight = trimSize(getStyle(elm, 'height'));
- formObj.src.value = src;
- formObj.alt.value = tinyMCE.getAttrib(elm, 'alt');
- formObj.title.value = tinyMCE.getAttrib(elm, 'title');
- formObj.border.value = trimSize(getStyle(elm, 'border', 'borderWidth'));
- formObj.vspace.value = tinyMCE.getAttrib(elm, 'vspace');
- formObj.hspace.value = tinyMCE.getAttrib(elm, 'hspace');
- formObj.width.value = orgImageWidth;
- formObj.height.value = orgImageHeight;
- formObj.onmouseoversrc.value = onmouseoversrc;
- formObj.onmouseoutsrc.value = onmouseoutsrc;
- formObj.id.value = tinyMCE.getAttrib(elm, 'id');
- formObj.dir.value = tinyMCE.getAttrib(elm, 'dir');
- formObj.lang.value = tinyMCE.getAttrib(elm, 'lang');
- formObj.longdesc.value = tinyMCE.getAttrib(elm, 'longdesc');
- formObj.usemap.value = tinyMCE.getAttrib(elm, 'usemap');
- formObj.style.value = tinyMCE.serializeStyle(style);
- // Select by the values
- if (tinyMCE.isMSIE)
- selectByValue(formObj, 'align', getStyle(elm, 'align', 'styleFloat'));
- else
- selectByValue(formObj, 'align', getStyle(elm, 'align', 'cssFloat'));
- addClassesToList('classlist', 'advimage_styles');
- selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'));
- selectByValue(formObj, 'imagelistsrc', src);
- selectByValue(formObj, 'imagelistover', onmouseoversrc);
- selectByValue(formObj, 'imagelistout', onmouseoutsrc);
- updateStyle();
- showPreviewImage(src, true);
- changeAppearance();
- window.focus();
- } else
- addClassesToList('classlist', 'advimage_styles');
- // If option enabled default contrain proportions to checked
- if (tinyMCE.getParam("advimage_constrain_proportions", true))
- formObj.constrain.checked = true;
- // Check swap image if valid data
- if (formObj.onmouseoversrc.value != "" || formObj.onmouseoutsrc.value != "")
- setSwapImageDisabled(false);
- else
- setSwapImageDisabled(true);
- }
- function setSwapImageDisabled(state) {
- var formObj = document.forms[0];
- formObj.onmousemovecheck.checked = !state;
- setBrowserDisabled('overbrowser', state);
- setBrowserDisabled('outbrowser', state);
- if (formObj.imagelistover)
- formObj.imagelistover.disabled = state;
- if (formObj.imagelistout)
- formObj.imagelistout.disabled = state;
- formObj.onmouseoversrc.disabled = state;
- formObj.onmouseoutsrc.disabled = state;
- }
- function setAttrib(elm, attrib, value) {
- var formObj = document.forms[0];
- var valueElm = formObj.elements[attrib];
- if (typeof(value) == "undefined" || value == null) {
- value = "";
- if (valueElm)
- value = valueElm.value;
- }
- if (value != "") {
- elm.setAttribute(attrib, value);
- if (attrib == "style")
- attrib = "style.cssText";
- if (attrib == "longdesc")
- attrib = "longDesc";
- if (attrib == "width") {
- attrib = "style.width";
- value = value + "px";
- value = value.replace(/%px/g, 'px');
- }
- if (attrib == "height") {
- attrib = "style.height";
- value = value + "px";
- value = value.replace(/%px/g, 'px');
- }
- if (attrib == "class")
- attrib = "className";
- eval('elm.' + attrib + "=value;");
- } else
- elm.removeAttribute(attrib);
- }
- function makeAttrib(attrib, value) {
- var formObj = document.forms[0];
- var valueElm = formObj.elements[attrib];
- if (typeof(value) == "undefined" || value == null) {
- value = "";
- if (valueElm)
- value = valueElm.value;
- }
- if (value == "")
- return "";
- // XML encode it
- value = value.replace(/&/g, '&');
- value = value.replace(/"/g, '"');
- value = value.replace(/</g, '<');
- value = value.replace(/>/g, '>');
- return ' ' + attrib + '="' + value + '"';
- }
- function insertAction() {
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
- var elm = inst.getFocusElement();
- var formObj = document.forms[0];
- var src = formObj.src.value;
- var onmouseoversrc = formObj.onmouseoversrc.value;
- var onmouseoutsrc = formObj.onmouseoutsrc.value;
- if (!AutoValidator.validate(formObj)) {
- alert(tinyMCE.getLang('lang_invalid_data'));
- return false;
- }
- if (tinyMCE.getParam("accessibility_warnings")) {
- if (formObj.alt.value == "" && !confirm(tinyMCE.getLang('lang_advimage_missing_alt', '', true)))
- return;
- }
- if (onmouseoversrc && onmouseoversrc != "")
- onmouseoversrc = "this.src='" + convertURL(onmouseoversrc, tinyMCE.imgElement) + "';";
- if (onmouseoutsrc && onmouseoutsrc != "")
- onmouseoutsrc = "this.src='" + convertURL(onmouseoutsrc, tinyMCE.imgElement) + "';";
- if (elm != null && elm.nodeName == "IMG") {
- setAttrib(elm, 'src', convertURL(src, tinyMCE.imgElement));
- setAttrib(elm, 'mce_src', src);
- setAttrib(elm, 'alt');
- setAttrib(elm, 'title');
- setAttrib(elm, 'border');
- setAttrib(elm, 'vspace');
- setAttrib(elm, 'hspace');
- setAttrib(elm, 'width');
- setAttrib(elm, 'height');
- setAttrib(elm, 'onmouseover', onmouseoversrc);
- setAttrib(elm, 'onmouseout', onmouseoutsrc);
- setAttrib(elm, 'id');
- setAttrib(elm, 'dir');
- setAttrib(elm, 'lang');
- setAttrib(elm, 'longdesc');
- setAttrib(elm, 'usemap');
- setAttrib(elm, 'style');
- setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
- setAttrib(elm, 'align', getSelectValue(formObj, 'align'));
- //tinyMCEPopup.execCommand("mceRepaint");
- // Repaint if dimensions changed
- if (formObj.width.value != orgImageWidth || formObj.height.value != orgImageHeight)
- inst.repaint();
- // Refresh in old MSIE
- if (tinyMCE.isMSIE5)
- elm.outerHTML = elm.outerHTML;
- } else {
- var html = "<img";
- html += makeAttrib('src', convertURL(src, tinyMCE.imgElement));
- html += makeAttrib('mce_src', src);
- html += makeAttrib('alt');
- html += makeAttrib('title');
- html += makeAttrib('border');
- html += makeAttrib('vspace');
- html += makeAttrib('hspace');
- html += makeAttrib('width');
- html += makeAttrib('height');
- html += makeAttrib('onmouseover', onmouseoversrc);
- html += makeAttrib('onmouseout', onmouseoutsrc);
- html += makeAttrib('id');
- html += makeAttrib('dir');
- html += makeAttrib('lang');
- html += makeAttrib('longdesc');
- html += makeAttrib('usemap');
- html += makeAttrib('style');
- html += makeAttrib('class', getSelectValue(formObj, 'classlist'));
- html += makeAttrib('align', getSelectValue(formObj, 'align'));
- html += " />";
- tinyMCEPopup.execCommand("mceInsertContent", false, html);
- }
- tinyMCE._setEventsEnabled(inst.getBody(), false);
- tinyMCEPopup.close();
- }
- function cancelAction() {
- tinyMCEPopup.close();
- }
- function changeAppearance() {
- var formObj = document.forms[0];
- var img = document.getElementById('alignSampleImg');
- if (img) {
- img.align = formObj.align.value;
- img.border = formObj.border.value;
- img.hspace = formObj.hspace.value;
- img.vspace = formObj.vspace.value;
- }
- }
- function changeMouseMove() {
- var formObj = document.forms[0];
- setSwapImageDisabled(!formObj.onmousemovecheck.checked);
- }
- function updateStyle() {
- var formObj = document.forms[0];
- var st = tinyMCE.parseStyle(formObj.style.value);
- if (tinyMCE.getParam('inline_styles', false)) {
- st['width'] = formObj.width.value == '' ? '' : formObj.width.value + "px";
- st['height'] = formObj.height.value == '' ? '' : formObj.height.value + "px";
- st['border-width'] = formObj.border.value == '' ? '' : formObj.border.value + "px";
- st['margin-top'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
- st['margin-bottom'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
- st['margin-left'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
- st['margin-right'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
- } else {
- st['width'] = st['height'] = st['border-width'] = null;
- if (st['margin-top'] == st['margin-bottom'])
- st['margin-top'] = st['margin-bottom'] = null;
- if (st['margin-left'] == st['margin-right'])
- st['margin-left'] = st['margin-right'] = null;
- }
- formObj.style.value = tinyMCE.serializeStyle(st);
- }
- function styleUpdated() {
- var formObj = document.forms[0];
- var st = tinyMCE.parseStyle(formObj.style.value);
- if (st['width'])
- formObj.width.value = st['width'].replace('px', '');
- if (st['height'])
- formObj.height.value = st['height'].replace('px', '');
- if (st['margin-top'] && st['margin-top'] == st['margin-bottom'])
- formObj.vspace.value = st['margin-top'].replace('px', '');
- if (st['margin-left'] && st['margin-left'] == st['margin-right'])
- formObj.hspace.value = st['margin-left'].replace('px', '');
- if (st['border-width'])
- formObj.border.value = st['border-width'].replace('px', '');
- }
- function changeHeight() {
- var formObj = document.forms[0];
- if (!formObj.constrain.checked || !preloadImg) {
- updateStyle();
- return;
- }
- if (formObj.width.value == "" || formObj.height.value == "")
- return;
- var temp = (parseInt(formObj.width.value) / parseInt(preloadImg.width)) * preloadImg.height;
- formObj.height.value = temp.toFixed(0);
- updateStyle();
- }
- function changeWidth() {
- var formObj = document.forms[0];
- if (!formObj.constrain.checked || !preloadImg) {
- updateStyle();
- return;
- }
- if (formObj.width.value == "" || formObj.height.value == "")
- return;
- var temp = (parseInt(formObj.height.value) / parseInt(preloadImg.height)) * preloadImg.width;
- formObj.width.value = temp.toFixed(0);
- updateStyle();
- }
- function onSelectMainImage(target_form_element, name, value) {
- var formObj = document.forms[0];
- formObj.alt.value = name;
- formObj.title.value = name;
- resetImageData();
- showPreviewImage(formObj.elements[target_form_element].value, false);
- }
- function showPreviewImage(src, start) {
- var formObj = document.forms[0];
- selectByValue(document.forms[0], 'imagelistsrc', src);
- var elm = document.getElementById('prev');
- var src = src == "" ? src : tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
- if (!start && tinyMCE.getParam("advimage_update_dimensions_onchange", true))
- resetImageData();
- if (src == "")
- elm.innerHTML = "";
- else
- elm.innerHTML = '<img id="previewImg" src="' + src + '" border="0" onload="updateImageData();" onerror="resetImageData();" />'
- }
- function updateImageData() {
- var formObj = document.forms[0];
- preloadImg = document.getElementById('previewImg');
- if (formObj.width.value == "")
- formObj.width.value = preloadImg.width;
- if (formObj.height.value == "")
- formObj.height.value = preloadImg.height;
- updateStyle();
- }
- function resetImageData() {
- var formObj = document.forms[0];
- formObj.width.value = formObj.height.value = "";
- }
- function getSelectValue(form_obj, field_name) {
- var elm = form_obj.elements[field_name];
- if (elm == null || elm.options == null)
- return "";
- return elm.options[elm.selectedIndex].value;
- }
- function getImageListHTML(elm_id, target_form_element, onchange_func) {
- if (typeof(tinyMCEImageList) == "undefined" || tinyMCEImageList.length == 0)
- return "";
- var html = "";
- html += '<select id="' + elm_id + '" name="' + elm_id + '"';
- html += ' class="mceImageList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
- html += 'this.options[this.selectedIndex].value;';
- if (typeof(onchange_func) != "undefined")
- html += onchange_func + '('' + target_form_element + '',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
- html += '"><option value="">---</option>';
- for (var i=0; i<tinyMCEImageList.length; i++)
- html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
- html += '</select>';
- return html;
- // tinyMCE.debug('-- image list start --', html, '-- image list end --');
- }
- // While loading
- preinit();