mirror of
https://github.com/WordPress/WordPress.git
synced 2024-10-30 23:39:42 +01:00
d30fe43245
The phrase "sanity check" unnecessarily references mental health. It's an old phrase used to denote an extra step in verifying code works as expected. “The WordPress open source community cares about diversity. We strive to maintain a welcoming environment where everyone can feel included.” While "sanity check" is a well-known phrase with a specific meaning, "confidence check" is a direct replacement that is more clear of its intent while being more inclusive. Words matter. Follow-up to [49216], [46271], [40583], [38832], [38637], [37409], [33359], [32162], [30346], [30345], [30238], [30055], [29902], [28763], [26141], [25002], [22227], [13428], [12148], [11025], [8927]. Props dartiss, hellofromTonya. Fixes #60187. Built from https://develop.svn.wordpress.org/trunk@57239 git-svn-id: http://core.svn.wordpress.org/trunk@56745 1a063a9b-81f0-0310-95a4-ce76da25c4cd
223 lines
5.9 KiB
JavaScript
223 lines
5.9 KiB
JavaScript
/**
|
|
* form_utils.js
|
|
*
|
|
* Released under LGPL License.
|
|
* Copyright (c) 1999-2017 Ephox Corp. All rights reserved
|
|
*
|
|
* License: http://www.tinymce.com/license
|
|
* Contributing: http://www.tinymce.com/contributing
|
|
*/
|
|
|
|
var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));
|
|
|
|
function getColorPickerHTML(id, target_form_element) {
|
|
var h = "", dom = tinyMCEPopup.dom;
|
|
|
|
if (label = dom.select('label[for=' + target_form_element + ']')[0]) {
|
|
label.id = label.id || dom.uniqueId();
|
|
}
|
|
|
|
h += '<a role="button" aria-labelledby="' + id + '_label" id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element + '\');" onmousedown="return false;" class="pickcolor">';
|
|
h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '"> <span id="' + id + '_label" class="mceVoiceLabel mceIconOnly" style="display:none;">' + tinyMCEPopup.getLang('browse') + '</span></span></a>';
|
|
|
|
return h;
|
|
}
|
|
|
|
function updateColor(img_id, form_element_id) {
|
|
document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
|
|
}
|
|
|
|
function setBrowserDisabled(id, state) {
|
|
var img = document.getElementById(id);
|
|
var lnk = document.getElementById(id + "_link");
|
|
|
|
if (lnk) {
|
|
if (state) {
|
|
lnk.setAttribute("realhref", lnk.getAttribute("href"));
|
|
lnk.removeAttribute("href");
|
|
tinyMCEPopup.dom.addClass(img, 'disabled');
|
|
} else {
|
|
if (lnk.getAttribute("realhref")) {
|
|
lnk.setAttribute("href", lnk.getAttribute("realhref"));
|
|
}
|
|
|
|
tinyMCEPopup.dom.removeClass(img, 'disabled');
|
|
}
|
|
}
|
|
}
|
|
|
|
function getBrowserHTML(id, target_form_element, type, prefix) {
|
|
var option = prefix + "_" + type + "_browser_callback", cb, html;
|
|
|
|
cb = tinyMCEPopup.getParam(option, tinyMCEPopup.getParam("file_browser_callback"));
|
|
|
|
if (!cb) {
|
|
return "";
|
|
}
|
|
|
|
html = "";
|
|
html += '<a id="' + id + '_link" href="javascript:openBrowser(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;" class="browse">';
|
|
html += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '"> </span></a>';
|
|
|
|
return html;
|
|
}
|
|
|
|
function openBrowser(img_id, target_form_element, type, option) {
|
|
var img = document.getElementById(img_id);
|
|
|
|
if (img.className != "mceButtonDisabled") {
|
|
tinyMCEPopup.openBrowser(target_form_element, type, option);
|
|
}
|
|
}
|
|
|
|
function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
|
|
if (!form_obj || !form_obj.elements[field_name]) {
|
|
return;
|
|
}
|
|
|
|
if (!value) {
|
|
value = "";
|
|
}
|
|
|
|
var sel = form_obj.elements[field_name];
|
|
|
|
var found = false;
|
|
for (var i = 0; i < sel.options.length; i++) {
|
|
var option = sel.options[i];
|
|
|
|
if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
|
|
option.selected = true;
|
|
found = true;
|
|
} else {
|
|
option.selected = false;
|
|
}
|
|
}
|
|
|
|
if (!found && add_custom && value != '') {
|
|
var option = new Option(value, value);
|
|
option.selected = true;
|
|
sel.options[sel.options.length] = option;
|
|
sel.selectedIndex = sel.options.length - 1;
|
|
}
|
|
|
|
return found;
|
|
}
|
|
|
|
function getSelectValue(form_obj, field_name) {
|
|
var elm = form_obj.elements[field_name];
|
|
|
|
if (elm == null || elm.options == null || elm.selectedIndex === -1) {
|
|
return "";
|
|
}
|
|
|
|
return elm.options[elm.selectedIndex].value;
|
|
}
|
|
|
|
function addSelectValue(form_obj, field_name, name, value) {
|
|
var s = form_obj.elements[field_name];
|
|
var o = new Option(name, value);
|
|
s.options[s.options.length] = o;
|
|
}
|
|
|
|
function addClassesToList(list_id, specific_option) {
|
|
// Setup class droplist
|
|
var styleSelectElm = document.getElementById(list_id);
|
|
var styles = tinyMCEPopup.getParam('theme_advanced_styles', false);
|
|
styles = tinyMCEPopup.getParam(specific_option, styles);
|
|
|
|
if (styles) {
|
|
var stylesAr = styles.split(';');
|
|
|
|
for (var i = 0; i < stylesAr.length; i++) {
|
|
if (stylesAr != "") {
|
|
var key, value;
|
|
|
|
key = stylesAr[i].split('=')[0];
|
|
value = stylesAr[i].split('=')[1];
|
|
|
|
styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
|
|
}
|
|
}
|
|
} else {
|
|
/*tinymce.each(tinyMCEPopup.editor.dom.getClasses(), function(o) {
|
|
styleSelectElm.options[styleSelectElm.length] = new Option(o.title || o['class'], o['class']);
|
|
});*/
|
|
}
|
|
}
|
|
|
|
function isVisible(element_id) {
|
|
var elm = document.getElementById(element_id);
|
|
|
|
return elm && elm.style.display != "none";
|
|
}
|
|
|
|
function convertRGBToHex(col) {
|
|
var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
|
|
|
|
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 "rgb(" + r + "," + g + "," + b + ")";
|
|
}
|
|
|
|
return col;
|
|
}
|
|
|
|
function trimSize(size) {
|
|
return size.replace(/([0-9\.]+)(px|%|in|cm|mm|em|ex|pt|pc)/i, '$1$2');
|
|
}
|
|
|
|
function getCSSSize(size) {
|
|
size = trimSize(size);
|
|
|
|
if (size == "") {
|
|
return "";
|
|
}
|
|
|
|
// Add px
|
|
if (/^[0-9]+$/.test(size)) {
|
|
size += 'px';
|
|
}
|
|
// Confidence check, IE doesn't like broken values
|
|
else if (!(/^[0-9\.]+(px|%|in|cm|mm|em|ex|pt|pc)$/i.test(size))) {
|
|
return "";
|
|
}
|
|
|
|
return size;
|
|
}
|
|
|
|
function getStyle(elm, attrib, style) {
|
|
var val = tinyMCEPopup.dom.getAttrib(elm, attrib);
|
|
|
|
if (val != '') {
|
|
return '' + val;
|
|
}
|
|
|
|
if (typeof (style) == 'undefined') {
|
|
style = attrib;
|
|
}
|
|
|
|
return tinyMCEPopup.dom.getStyle(elm, style);
|
|
}
|