diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2020-07-27 10:05:23 +0200 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2020-07-27 10:05:23 +0200 |
| commit | 5bf66662a9bdd62c5bccab15e607cd95cfb8fcab (patch) | |
| tree | 39a1a4629749056191c05dfd899f931701b7acf3 /srcs/wordpress/wp-includes/js/tinymce/plugins/image | |
| parent | 5afd237bbd22028b85532b8c0b3fcead49a00764 (diff) | |
| download | ft_server-master.tar.gz ft_server-master.tar.bz2 ft_server-master.zip | |
Removed wordpress and phpmyadmin, my server doesn't handle it well and it brings shame on my famillyHEADmaster
Diffstat (limited to 'srcs/wordpress/wp-includes/js/tinymce/plugins/image')
| -rw-r--r-- | srcs/wordpress/wp-includes/js/tinymce/plugins/image/plugin.js | 1209 | ||||
| -rw-r--r-- | srcs/wordpress/wp-includes/js/tinymce/plugins/image/plugin.min.js | 1 |
2 files changed, 0 insertions, 1210 deletions
diff --git a/srcs/wordpress/wp-includes/js/tinymce/plugins/image/plugin.js b/srcs/wordpress/wp-includes/js/tinymce/plugins/image/plugin.js deleted file mode 100644 index 62ccc9d..0000000 --- a/srcs/wordpress/wp-includes/js/tinymce/plugins/image/plugin.js +++ /dev/null @@ -1,1209 +0,0 @@ -(function () { -var image = (function (domGlobals) { - 'use strict'; - - var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); - - var hasDimensions = function (editor) { - return editor.settings.image_dimensions === false ? false : true; - }; - var hasAdvTab = function (editor) { - return editor.settings.image_advtab === true ? true : false; - }; - var getPrependUrl = function (editor) { - return editor.getParam('image_prepend_url', ''); - }; - var getClassList = function (editor) { - return editor.getParam('image_class_list'); - }; - var hasDescription = function (editor) { - return editor.settings.image_description === false ? false : true; - }; - var hasImageTitle = function (editor) { - return editor.settings.image_title === true ? true : false; - }; - var hasImageCaption = function (editor) { - return editor.settings.image_caption === true ? true : false; - }; - var getImageList = function (editor) { - return editor.getParam('image_list', false); - }; - var hasUploadUrl = function (editor) { - return editor.getParam('images_upload_url', false); - }; - var hasUploadHandler = function (editor) { - return editor.getParam('images_upload_handler', false); - }; - var getUploadUrl = function (editor) { - return editor.getParam('images_upload_url'); - }; - var getUploadHandler = function (editor) { - return editor.getParam('images_upload_handler'); - }; - var getUploadBasePath = function (editor) { - return editor.getParam('images_upload_base_path'); - }; - var getUploadCredentials = function (editor) { - return editor.getParam('images_upload_credentials'); - }; - var Settings = { - hasDimensions: hasDimensions, - hasAdvTab: hasAdvTab, - getPrependUrl: getPrependUrl, - getClassList: getClassList, - hasDescription: hasDescription, - hasImageTitle: hasImageTitle, - hasImageCaption: hasImageCaption, - getImageList: getImageList, - hasUploadUrl: hasUploadUrl, - hasUploadHandler: hasUploadHandler, - getUploadUrl: getUploadUrl, - getUploadHandler: getUploadHandler, - getUploadBasePath: getUploadBasePath, - getUploadCredentials: getUploadCredentials - }; - - var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')(); - - var path = function (parts, scope) { - var o = scope !== undefined && scope !== null ? scope : Global; - for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i) { - o = o[parts[i]]; - } - return o; - }; - var resolve = function (p, scope) { - var parts = p.split('.'); - return path(parts, scope); - }; - - var unsafe = function (name, scope) { - return resolve(name, scope); - }; - var getOrDie = function (name, scope) { - var actual = unsafe(name, scope); - if (actual === undefined || actual === null) { - throw new Error(name + ' not available on this browser'); - } - return actual; - }; - var Global$1 = { getOrDie: getOrDie }; - - function FileReader () { - var f = Global$1.getOrDie('FileReader'); - return new f(); - } - - var global$1 = tinymce.util.Tools.resolve('tinymce.util.Promise'); - - var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools'); - - var global$3 = tinymce.util.Tools.resolve('tinymce.util.XHR'); - - var parseIntAndGetMax = function (val1, val2) { - return Math.max(parseInt(val1, 10), parseInt(val2, 10)); - }; - var getImageSize = function (url, callback) { - var img = domGlobals.document.createElement('img'); - function done(width, height) { - if (img.parentNode) { - img.parentNode.removeChild(img); - } - callback({ - width: width, - height: height - }); - } - img.onload = function () { - var width = parseIntAndGetMax(img.width, img.clientWidth); - var height = parseIntAndGetMax(img.height, img.clientHeight); - done(width, height); - }; - img.onerror = function () { - done(0, 0); - }; - var style = img.style; - style.visibility = 'hidden'; - style.position = 'fixed'; - style.bottom = style.left = '0px'; - style.width = style.height = 'auto'; - domGlobals.document.body.appendChild(img); - img.src = url; - }; - var buildListItems = function (inputList, itemCallback, startItems) { - function appendItems(values, output) { - output = output || []; - global$2.each(values, function (item) { - var menuItem = { text: item.text || item.title }; - if (item.menu) { - menuItem.menu = appendItems(item.menu); - } else { - menuItem.value = item.value; - itemCallback(menuItem); - } - output.push(menuItem); - }); - return output; - } - return appendItems(inputList, startItems || []); - }; - var removePixelSuffix = function (value) { - if (value) { - value = value.replace(/px$/, ''); - } - return value; - }; - var addPixelSuffix = function (value) { - if (value.length > 0 && /^[0-9]+$/.test(value)) { - value += 'px'; - } - return value; - }; - var mergeMargins = function (css) { - if (css.margin) { - var splitMargin = css.margin.split(' '); - switch (splitMargin.length) { - case 1: - css['margin-top'] = css['margin-top'] || splitMargin[0]; - css['margin-right'] = css['margin-right'] || splitMargin[0]; - css['margin-bottom'] = css['margin-bottom'] || splitMargin[0]; - css['margin-left'] = css['margin-left'] || splitMargin[0]; - break; - case 2: - css['margin-top'] = css['margin-top'] || splitMargin[0]; - css['margin-right'] = css['margin-right'] || splitMargin[1]; - css['margin-bottom'] = css['margin-bottom'] || splitMargin[0]; - css['margin-left'] = css['margin-left'] || splitMargin[1]; - break; - case 3: - css['margin-top'] = css['margin-top'] || splitMargin[0]; - css['margin-right'] = css['margin-right'] || splitMargin[1]; - css['margin-bottom'] = css['margin-bottom'] || splitMargin[2]; - css['margin-left'] = css['margin-left'] || splitMargin[1]; - break; - case 4: - css['margin-top'] = css['margin-top'] || splitMargin[0]; - css['margin-right'] = css['margin-right'] || splitMargin[1]; - css['margin-bottom'] = css['margin-bottom'] || splitMargin[2]; - css['margin-left'] = css['margin-left'] || splitMargin[3]; - } - delete css.margin; - } - return css; - }; - var createImageList = function (editor, callback) { - var imageList = Settings.getImageList(editor); - if (typeof imageList === 'string') { - global$3.send({ - url: imageList, - success: function (text) { - callback(JSON.parse(text)); - } - }); - } else if (typeof imageList === 'function') { - imageList(callback); - } else { - callback(imageList); - } - }; - var waitLoadImage = function (editor, data, imgElm) { - function selectImage() { - imgElm.onload = imgElm.onerror = null; - if (editor.selection) { - editor.selection.select(imgElm); - editor.nodeChanged(); - } - } - imgElm.onload = function () { - if (!data.width && !data.height && Settings.hasDimensions(editor)) { - editor.dom.setAttribs(imgElm, { - width: imgElm.clientWidth, - height: imgElm.clientHeight - }); - } - selectImage(); - }; - imgElm.onerror = selectImage; - }; - var blobToDataUri = function (blob) { - return new global$1(function (resolve, reject) { - var reader = FileReader(); - reader.onload = function () { - resolve(reader.result); - }; - reader.onerror = function () { - reject(reader.error.message); - }; - reader.readAsDataURL(blob); - }); - }; - var Utils = { - getImageSize: getImageSize, - buildListItems: buildListItems, - removePixelSuffix: removePixelSuffix, - addPixelSuffix: addPixelSuffix, - mergeMargins: mergeMargins, - createImageList: createImageList, - waitLoadImage: waitLoadImage, - blobToDataUri: blobToDataUri - }; - - var global$4 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); - - var hasOwnProperty = Object.prototype.hasOwnProperty; - var shallow = function (old, nu) { - return nu; - }; - var baseMerge = function (merger) { - return function () { - var objects = new Array(arguments.length); - for (var i = 0; i < objects.length; i++) { - objects[i] = arguments[i]; - } - if (objects.length === 0) { - throw new Error('Can\'t merge zero objects'); - } - var ret = {}; - for (var j = 0; j < objects.length; j++) { - var curObject = objects[j]; - for (var key in curObject) { - if (hasOwnProperty.call(curObject, key)) { - ret[key] = merger(ret[key], curObject[key]); - } - } - } - return ret; - }; - }; - var merge = baseMerge(shallow); - - var DOM = global$4.DOM; - var getHspace = function (image) { - if (image.style.marginLeft && image.style.marginRight && image.style.marginLeft === image.style.marginRight) { - return Utils.removePixelSuffix(image.style.marginLeft); - } else { - return ''; - } - }; - var getVspace = function (image) { - if (image.style.marginTop && image.style.marginBottom && image.style.marginTop === image.style.marginBottom) { - return Utils.removePixelSuffix(image.style.marginTop); - } else { - return ''; - } - }; - var getBorder = function (image) { - if (image.style.borderWidth) { - return Utils.removePixelSuffix(image.style.borderWidth); - } else { - return ''; - } - }; - var getAttrib = function (image, name) { - if (image.hasAttribute(name)) { - return image.getAttribute(name); - } else { - return ''; - } - }; - var getStyle = function (image, name) { - return image.style[name] ? image.style[name] : ''; - }; - var hasCaption = function (image) { - return image.parentNode !== null && image.parentNode.nodeName === 'FIGURE'; - }; - var setAttrib = function (image, name, value) { - image.setAttribute(name, value); - }; - var wrapInFigure = function (image) { - var figureElm = DOM.create('figure', { class: 'image' }); - DOM.insertAfter(figureElm, image); - figureElm.appendChild(image); - figureElm.appendChild(DOM.create('figcaption', { contentEditable: true }, 'Caption')); - figureElm.contentEditable = 'false'; - }; - var removeFigure = function (image) { - var figureElm = image.parentNode; - DOM.insertAfter(image, figureElm); - DOM.remove(figureElm); - }; - var toggleCaption = function (image) { - if (hasCaption(image)) { - removeFigure(image); - } else { - wrapInFigure(image); - } - }; - var normalizeStyle = function (image, normalizeCss) { - var attrValue = image.getAttribute('style'); - var value = normalizeCss(attrValue !== null ? attrValue : ''); - if (value.length > 0) { - image.setAttribute('style', value); - image.setAttribute('data-mce-style', value); - } else { - image.removeAttribute('style'); - } - }; - var setSize = function (name, normalizeCss) { - return function (image, name, value) { - if (image.style[name]) { - image.style[name] = Utils.addPixelSuffix(value); - normalizeStyle(image, normalizeCss); - } else { - setAttrib(image, name, value); - } - }; - }; - var getSize = function (image, name) { - if (image.style[name]) { - return Utils.removePixelSuffix(image.style[name]); - } else { - return getAttrib(image, name); - } - }; - var setHspace = function (image, value) { - var pxValue = Utils.addPixelSuffix(value); - image.style.marginLeft = pxValue; - image.style.marginRight = pxValue; - }; - var setVspace = function (image, value) { - var pxValue = Utils.addPixelSuffix(value); - image.style.marginTop = pxValue; - image.style.marginBottom = pxValue; - }; - var setBorder = function (image, value) { - var pxValue = Utils.addPixelSuffix(value); - image.style.borderWidth = pxValue; - }; - var setBorderStyle = function (image, value) { - image.style.borderStyle = value; - }; - var getBorderStyle = function (image) { - return getStyle(image, 'borderStyle'); - }; - var isFigure = function (elm) { - return elm.nodeName === 'FIGURE'; - }; - var defaultData = function () { - return { - src: '', - alt: '', - title: '', - width: '', - height: '', - class: '', - style: '', - caption: false, - hspace: '', - vspace: '', - border: '', - borderStyle: '' - }; - }; - var getStyleValue = function (normalizeCss, data) { - var image = domGlobals.document.createElement('img'); - setAttrib(image, 'style', data.style); - if (getHspace(image) || data.hspace !== '') { - setHspace(image, data.hspace); - } - if (getVspace(image) || data.vspace !== '') { - setVspace(image, data.vspace); - } - if (getBorder(image) || data.border !== '') { - setBorder(image, data.border); - } - if (getBorderStyle(image) || data.borderStyle !== '') { - setBorderStyle(image, data.borderStyle); - } - return normalizeCss(image.getAttribute('style')); - }; - var create = function (normalizeCss, data) { - var image = domGlobals.document.createElement('img'); - write(normalizeCss, merge(data, { caption: false }), image); - setAttrib(image, 'alt', data.alt); - if (data.caption) { - var figure = DOM.create('figure', { class: 'image' }); - figure.appendChild(image); - figure.appendChild(DOM.create('figcaption', { contentEditable: true }, 'Caption')); - figure.contentEditable = 'false'; - return figure; - } else { - return image; - } - }; - var read = function (normalizeCss, image) { - return { - src: getAttrib(image, 'src'), - alt: getAttrib(image, 'alt'), - title: getAttrib(image, 'title'), - width: getSize(image, 'width'), - height: getSize(image, 'height'), - class: getAttrib(image, 'class'), - style: normalizeCss(getAttrib(image, 'style')), - caption: hasCaption(image), - hspace: getHspace(image), - vspace: getVspace(image), - border: getBorder(image), - borderStyle: getStyle(image, 'borderStyle') - }; - }; - var updateProp = function (image, oldData, newData, name, set) { - if (newData[name] !== oldData[name]) { - set(image, name, newData[name]); - } - }; - var normalized = function (set, normalizeCss) { - return function (image, name, value) { - set(image, value); - normalizeStyle(image, normalizeCss); - }; - }; - var write = function (normalizeCss, newData, image) { - var oldData = read(normalizeCss, image); - updateProp(image, oldData, newData, 'caption', function (image, _name, _value) { - return toggleCaption(image); - }); - updateProp(image, oldData, newData, 'src', setAttrib); - updateProp(image, oldData, newData, 'alt', setAttrib); - updateProp(image, oldData, newData, 'title', setAttrib); - updateProp(image, oldData, newData, 'width', setSize('width', normalizeCss)); - updateProp(image, oldData, newData, 'height', setSize('height', normalizeCss)); - updateProp(image, oldData, newData, 'class', setAttrib); - updateProp(image, oldData, newData, 'style', normalized(function (image, value) { - return setAttrib(image, 'style', value); - }, normalizeCss)); - updateProp(image, oldData, newData, 'hspace', normalized(setHspace, normalizeCss)); - updateProp(image, oldData, newData, 'vspace', normalized(setVspace, normalizeCss)); - updateProp(image, oldData, newData, 'border', normalized(setBorder, normalizeCss)); - updateProp(image, oldData, newData, 'borderStyle', normalized(setBorderStyle, normalizeCss)); - }; - - var normalizeCss = function (editor, cssText) { - var css = editor.dom.styles.parse(cssText); - var mergedCss = Utils.mergeMargins(css); - var compressed = editor.dom.styles.parse(editor.dom.styles.serialize(mergedCss)); - return editor.dom.styles.serialize(compressed); - }; - var getSelectedImage = function (editor) { - var imgElm = editor.selection.getNode(); - var figureElm = editor.dom.getParent(imgElm, 'figure.image'); - if (figureElm) { - return editor.dom.select('img', figureElm)[0]; - } - if (imgElm && (imgElm.nodeName !== 'IMG' || imgElm.getAttribute('data-mce-object') || imgElm.getAttribute('data-mce-placeholder'))) { - return null; - } - return imgElm; - }; - var splitTextBlock = function (editor, figure) { - var dom = editor.dom; - var textBlock = dom.getParent(figure.parentNode, function (node) { - return editor.schema.getTextBlockElements()[node.nodeName]; - }, editor.getBody()); - if (textBlock) { - return dom.split(textBlock, figure); - } else { - return figure; - } - }; - var readImageDataFromSelection = function (editor) { - var image = getSelectedImage(editor); - return image ? read(function (css) { - return normalizeCss(editor, css); - }, image) : defaultData(); - }; - var insertImageAtCaret = function (editor, data) { - var elm = create(function (css) { - return normalizeCss(editor, css); - }, data); - editor.dom.setAttrib(elm, 'data-mce-id', '__mcenew'); - editor.focus(); - editor.selection.setContent(elm.outerHTML); - var insertedElm = editor.dom.select('*[data-mce-id="__mcenew"]')[0]; - editor.dom.setAttrib(insertedElm, 'data-mce-id', null); - if (isFigure(insertedElm)) { - var figure = splitTextBlock(editor, insertedElm); - editor.selection.select(figure); - } else { - editor.selection.select(insertedElm); - } - }; - var syncSrcAttr = function (editor, image) { - editor.dom.setAttrib(image, 'src', image.getAttribute('src')); - }; - var deleteImage = function (editor, image) { - if (image) { - var elm = editor.dom.is(image.parentNode, 'figure.image') ? image.parentNode : image; - editor.dom.remove(elm); - editor.focus(); - editor.nodeChanged(); - if (editor.dom.isEmpty(editor.getBody())) { - editor.setContent(''); - editor.selection.setCursorLocation(); - } - } - }; - var writeImageDataToSelection = function (editor, data) { - var image = getSelectedImage(editor); - write(function (css) { - return normalizeCss(editor, css); - }, data, image); - syncSrcAttr(editor, image); - if (isFigure(image.parentNode)) { - var figure = image.parentNode; - splitTextBlock(editor, figure); - editor.selection.select(image.parentNode); - } else { - editor.selection.select(image); - Utils.waitLoadImage(editor, data, image); - } - }; - var insertOrUpdateImage = function (editor, data) { - var image = getSelectedImage(editor); - if (image) { - if (data.src) { - writeImageDataToSelection(editor, data); - } else { - deleteImage(editor, image); - } - } else if (data.src) { - insertImageAtCaret(editor, data); - } - }; - - var updateVSpaceHSpaceBorder = function (editor) { - return function (evt) { - var dom = editor.dom; - var rootControl = evt.control.rootControl; - if (!Settings.hasAdvTab(editor)) { - return; - } - var data = rootControl.toJSON(); - var css = dom.parseStyle(data.style); - rootControl.find('#vspace').value(''); - rootControl.find('#hspace').value(''); - css = Utils.mergeMargins(css); - if (css['margin-top'] && css['margin-bottom'] || css['margin-right'] && css['margin-left']) { - if (css['margin-top'] === css['margin-bottom']) { - rootControl.find('#vspace').value(Utils.removePixelSuffix(css['margin-top'])); - } else { - rootControl.find('#vspace').value(''); - } - if (css['margin-right'] === css['margin-left']) { - rootControl.find('#hspace').value(Utils.removePixelSuffix(css['margin-right'])); - } else { - rootControl.find('#hspace').value(''); - } - } - if (css['border-width']) { - rootControl.find('#border').value(Utils.removePixelSuffix(css['border-width'])); - } else { - rootControl.find('#border').value(''); - } - if (css['border-style']) { - rootControl.find('#borderStyle').value(css['border-style']); - } else { - rootControl.find('#borderStyle').value(''); - } - rootControl.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css)))); - }; - }; - var updateStyle = function (editor, win) { - win.find('#style').each(function (ctrl) { - var value = getStyleValue(function (css) { - return normalizeCss(editor, css); - }, merge(defaultData(), win.toJSON())); - ctrl.value(value); - }); - }; - var makeTab = function (editor) { - return { - title: 'Advanced', - type: 'form', - pack: 'start', - items: [ - { - label: 'Style', - name: 'style', - type: 'textbox', - onchange: updateVSpaceHSpaceBorder(editor) - }, - { - type: 'form', - layout: 'grid', - packV: 'start', - columns: 2, - padding: 0, - defaults: { - type: 'textbox', - maxWidth: 50, - onchange: function (evt) { - updateStyle(editor, evt.control.rootControl); - } - }, - items: [ - { - label: 'Vertical space', - name: 'vspace' - }, - { - label: 'Border width', - name: 'border' - }, - { - label: 'Horizontal space', - name: 'hspace' - }, - { - label: 'Border style', - type: 'listbox', - name: 'borderStyle', - width: 90, - maxWidth: 90, - onselect: function (evt) { - updateStyle(editor, evt.control.rootControl); - }, - values: [ - { - text: 'Select...', - value: '' - }, - { - text: 'Solid', - value: 'solid' - }, - { - text: 'Dotted', - value: 'dotted' - }, - { - text: 'Dashed', - value: 'dashed' - }, - { - text: 'Double', - value: 'double' - }, - { - text: 'Groove', - value: 'groove' - }, - { - text: 'Ridge', - value: 'ridge' - }, - { - text: 'Inset', - value: 'inset' - }, - { - text: 'Outset', - value: 'outset' - }, - { - text: 'None', - value: 'none' - }, - { - text: 'Hidden', - value: 'hidden' - } - ] - } - ] - } - ] - }; - }; - var AdvTab = { makeTab: makeTab }; - - var doSyncSize = function (widthCtrl, heightCtrl) { - widthCtrl.state.set('oldVal', widthCtrl.value()); - heightCtrl.state.set('oldVal', heightCtrl.value()); - }; - var doSizeControls = function (win, f) { - var widthCtrl = win.find('#width')[0]; - var heightCtrl = win.find('#height')[0]; - var constrained = win.find('#constrain')[0]; - if (widthCtrl && heightCtrl && constrained) { - f(widthCtrl, heightCtrl, constrained.checked()); - } - }; - var doUpdateSize = function (widthCtrl, heightCtrl, isContrained) { - var oldWidth = widthCtrl.state.get('oldVal'); - var oldHeight = heightCtrl.state.get('oldVal'); - var newWidth = widthCtrl.value(); - var newHeight = heightCtrl.value(); - if (isContrained && oldWidth && oldHeight && newWidth && newHeight) { - if (newWidth !== oldWidth) { - newHeight = Math.round(newWidth / oldWidth * newHeight); - if (!isNaN(newHeight)) { - heightCtrl.value(newHeight); - } - } else { - newWidth = Math.round(newHeight / oldHeight * newWidth); - if (!isNaN(newWidth)) { - widthCtrl.value(newWidth); - } - } - } - doSyncSize(widthCtrl, heightCtrl); - }; - var syncSize = function (win) { - doSizeControls(win, doSyncSize); - }; - var updateSize = function (win) { - doSizeControls(win, doUpdateSize); - }; - var createUi = function () { - var recalcSize = function (evt) { - updateSize(evt.control.rootControl); - }; - return { - type: 'container', - label: 'Dimensions', - layout: 'flex', - align: 'center', - spacing: 5, - items: [ - { - name: 'width', - type: 'textbox', - maxLength: 5, - size: 5, - onchange: recalcSize, - ariaLabel: 'Width' - }, - { - type: 'label', - text: 'x' - }, - { - name: 'height', - type: 'textbox', - maxLength: 5, - size: 5, - onchange: recalcSize, - ariaLabel: 'Height' - }, - { - name: 'constrain', - type: 'checkbox', - checked: true, - text: 'Constrain proportions' - } - ] - }; - }; - var SizeManager = { - createUi: createUi, - syncSize: syncSize, - updateSize: updateSize - }; - - var onSrcChange = function (evt, editor) { - var srcURL, prependURL, absoluteURLPattern; - var meta = evt.meta || {}; - var control = evt.control; - var rootControl = control.rootControl; - var imageListCtrl = rootControl.find('#image-list')[0]; - if (imageListCtrl) { - imageListCtrl.value(editor.convertURL(control.value(), 'src')); - } - global$2.each(meta, function (value, key) { - rootControl.find('#' + key).value(value); - }); - if (!meta.width && !meta.height) { - srcURL = editor.convertURL(control.value(), 'src'); - prependURL = Settings.getPrependUrl(editor); - absoluteURLPattern = new RegExp('^(?:[a-z]+:)?//', 'i'); - if (prependURL && !absoluteURLPattern.test(srcURL) && srcURL.substring(0, prependURL.length) !== prependURL) { - srcURL = prependURL + srcURL; - } - control.value(srcURL); - Utils.getImageSize(editor.documentBaseURI.toAbsolute(control.value()), function (data) { - if (data.width && data.height && Settings.hasDimensions(editor)) { - rootControl.find('#width').value(data.width); - rootControl.find('#height').value(data.height); - SizeManager.syncSize(rootControl); - } - }); - } - }; - var onBeforeCall = function (evt) { - evt.meta = evt.control.rootControl.toJSON(); - }; - var getGeneralItems = function (editor, imageListCtrl) { - var generalFormItems = [ - { - name: 'src', - type: 'filepicker', - filetype: 'image', - label: 'Source', - autofocus: true, - onchange: function (evt) { - onSrcChange(evt, editor); - }, - onbeforecall: onBeforeCall - }, - imageListCtrl - ]; - if (Settings.hasDescription(editor)) { - generalFormItems.push({ - name: 'alt', - type: 'textbox', - label: 'Image description' - }); - } - if (Settings.hasImageTitle(editor)) { - generalFormItems.push({ - name: 'title', - type: 'textbox', - label: 'Image Title' - }); - } - if (Settings.hasDimensions(editor)) { - generalFormItems.push(SizeManager.createUi()); - } - if (Settings.getClassList(editor)) { - generalFormItems.push({ - name: 'class', - type: 'listbox', - label: 'Class', - values: Utils.buildListItems(Settings.getClassList(editor), function (item) { - if (item.value) { - item.textStyle = function () { - return editor.formatter.getCssText({ - inline: 'img', - classes: [item.value] - }); - }; - } - }) - }); - } - if (Settings.hasImageCaption(editor)) { - generalFormItems.push({ - name: 'caption', - type: 'checkbox', - label: 'Caption' - }); - } - return generalFormItems; - }; - var makeTab$1 = function (editor, imageListCtrl) { - return { - title: 'General', - type: 'form', - items: getGeneralItems(editor, imageListCtrl) - }; - }; - var MainTab = { - makeTab: makeTab$1, - getGeneralItems: getGeneralItems - }; - - var url = function () { - return Global$1.getOrDie('URL'); - }; - var createObjectURL = function (blob) { - return url().createObjectURL(blob); - }; - var revokeObjectURL = function (u) { - url().revokeObjectURL(u); - }; - var URL = { - createObjectURL: createObjectURL, - revokeObjectURL: revokeObjectURL - }; - - var global$5 = tinymce.util.Tools.resolve('tinymce.ui.Factory'); - - function XMLHttpRequest () { - var f = Global$1.getOrDie('XMLHttpRequest'); - return new f(); - } - - var noop = function () { - }; - var pathJoin = function (path1, path2) { - if (path1) { - return path1.replace(/\/$/, '') + '/' + path2.replace(/^\//, ''); - } - return path2; - }; - function Uploader (settings) { - var defaultHandler = function (blobInfo, success, failure, progress) { - var xhr, formData; - xhr = XMLHttpRequest(); - xhr.open('POST', settings.url); - xhr.withCredentials = settings.credentials; - xhr.upload.onprogress = function (e) { - progress(e.loaded / e.total * 100); - }; - xhr.onerror = function () { - failure('Image upload failed due to a XHR Transport error. Code: ' + xhr.status); - }; - xhr.onload = function () { - var json; - if (xhr.status < 200 || xhr.status >= 300) { - failure('HTTP Error: ' + xhr.status); - return; - } - json = JSON.parse(xhr.responseText); - if (!json || typeof json.location !== 'string') { - failure('Invalid JSON: ' + xhr.responseText); - return; - } - success(pathJoin(settings.basePath, json.location)); - }; - formData = new domGlobals.FormData(); - formData.append('file', blobInfo.blob(), blobInfo.filename()); - xhr.send(formData); - }; - var uploadBlob = function (blobInfo, handler) { - return new global$1(function (resolve, reject) { - try { - handler(blobInfo, resolve, reject, noop); - } catch (ex) { - reject(ex.message); - } - }); - }; - var isDefaultHandler = function (handler) { - return handler === defaultHandler; - }; - var upload = function (blobInfo) { - return !settings.url && isDefaultHandler(settings.handler) ? global$1.reject('Upload url missing from the settings.') : uploadBlob(blobInfo, settings.handler); - }; - settings = global$2.extend({ - credentials: false, - handler: defaultHandler - }, settings); - return { upload: upload }; - } - - var onFileInput = function (editor) { - return function (evt) { - var Throbber = global$5.get('Throbber'); - var rootControl = evt.control.rootControl; - var throbber = new Throbber(rootControl.getEl()); - var file = evt.control.value(); - var blobUri = URL.createObjectURL(file); - var uploader = Uploader({ - url: Settings.getUploadUrl(editor), - basePath: Settings.getUploadBasePath(editor), - credentials: Settings.getUploadCredentials(editor), - handler: Settings.getUploadHandler(editor) - }); - var finalize = function () { - throbber.hide(); - URL.revokeObjectURL(blobUri); - }; - throbber.show(); - return Utils.blobToDataUri(file).then(function (dataUrl) { - var blobInfo = editor.editorUpload.blobCache.create({ - blob: file, - blobUri: blobUri, - name: file.name ? file.name.replace(/\.[^\.]+$/, '') : null, - base64: dataUrl.split(',')[1] - }); - return uploader.upload(blobInfo).then(function (url) { - var src = rootControl.find('#src'); - src.value(url); - rootControl.find('tabpanel')[0].activateTab(0); - src.fire('change'); - finalize(); - return url; - }); - }).catch(function (err) { - editor.windowManager.alert(err); - finalize(); - }); - }; - }; - var acceptExts = '.jpg,.jpeg,.png,.gif'; - var makeTab$2 = function (editor) { - return { - title: 'Upload', - type: 'form', - layout: 'flex', - direction: 'column', - align: 'stretch', - padding: '20 20 20 20', - items: [ - { - type: 'container', - layout: 'flex', - direction: 'column', - align: 'center', - spacing: 10, - items: [ - { - text: 'Browse for an image', - type: 'browsebutton', - accept: acceptExts, - onchange: onFileInput(editor) - }, - { - text: 'OR', - type: 'label' - } - ] - }, - { - text: 'Drop an image here', - type: 'dropzone', - accept: acceptExts, - height: 100, - onchange: onFileInput(editor) - } - ] - }; - }; - var UploadTab = { makeTab: makeTab$2 }; - - function curry(fn) { - var initialArgs = []; - for (var _i = 1; _i < arguments.length; _i++) { - initialArgs[_i - 1] = arguments[_i]; - } - return function () { - var restArgs = []; - for (var _i = 0; _i < arguments.length; _i++) { - restArgs[_i] = arguments[_i]; - } - var all = initialArgs.concat(restArgs); - return fn.apply(null, all); - }; - } - - var submitForm = function (editor, evt) { - var win = evt.control.getRoot(); - SizeManager.updateSize(win); - editor.undoManager.transact(function () { - var data = merge(readImageDataFromSelection(editor), win.toJSON()); - insertOrUpdateImage(editor, data); - }); - editor.editorUpload.uploadImagesAuto(); - }; - function Dialog (editor) { - function showDialog(imageList) { - var data = readImageDataFromSelection(editor); - var win, imageListCtrl; - if (imageList) { - imageListCtrl = { - type: 'listbox', - label: 'Image list', - name: 'image-list', - values: Utils.buildListItems(imageList, function (item) { - item.value = editor.convertURL(item.value || item.url, 'src'); - }, [{ - text: 'None', - value: '' - }]), - value: data.src && editor.convertURL(data.src, 'src'), - onselect: function (e) { - var altCtrl = win.find('#alt'); - if (!altCtrl.value() || e.lastControl && altCtrl.value() === e.lastControl.text()) { - altCtrl.value(e.control.text()); - } - win.find('#src').value(e.control.value()).fire('change'); - }, - onPostRender: function () { - imageListCtrl = this; - } - }; - } - if (Settings.hasAdvTab(editor) || Settings.hasUploadUrl(editor) || Settings.hasUploadHandler(editor)) { - var body = [MainTab.makeTab(editor, imageListCtrl)]; - if (Settings.hasAdvTab(editor)) { - body.push(AdvTab.makeTab(editor)); - } - if (Settings.hasUploadUrl(editor) || Settings.hasUploadHandler(editor)) { - body.push(UploadTab.makeTab(editor)); - } - win = editor.windowManager.open({ - title: 'Insert/edit image', - data: data, - bodyType: 'tabpanel', - body: body, - onSubmit: curry(submitForm, editor) - }); - } else { - win = editor.windowManager.open({ - title: 'Insert/edit image', - data: data, - body: MainTab.getGeneralItems(editor, imageListCtrl), - onSubmit: curry(submitForm, editor) - }); - } - SizeManager.syncSize(win); - } - function open() { - Utils.createImageList(editor, showDialog); - } - return { open: open }; - } - - var register = function (editor) { - editor.addCommand('mceImage', Dialog(editor).open); - }; - var Commands = { register: register }; - - var hasImageClass = function (node) { - var className = node.attr('class'); - return className && /\bimage\b/.test(className); - }; - var toggleContentEditableState = function (state) { - return function (nodes) { - var i = nodes.length, node; - var toggleContentEditable = function (node) { - node.attr('contenteditable', state ? 'true' : null); - }; - while (i--) { - node = nodes[i]; - if (hasImageClass(node)) { - node.attr('contenteditable', state ? 'false' : null); - global$2.each(node.getAll('figcaption'), toggleContentEditable); - } - } - }; - }; - var setup = function (editor) { - editor.on('preInit', function () { - editor.parser.addNodeFilter('figure', toggleContentEditableState(true)); - editor.serializer.addNodeFilter('figure', toggleContentEditableState(false)); - }); - }; - var FilterContent = { setup: setup }; - - var register$1 = function (editor) { - editor.addButton('image', { - icon: 'image', - tooltip: 'Insert/edit image', - onclick: Dialog(editor).open, - stateSelector: 'img:not([data-mce-object],[data-mce-placeholder]),figure.image' - }); - editor.addMenuItem('image', { - icon: 'image', - text: 'Image', - onclick: Dialog(editor).open, - context: 'insert', - prependToContext: true - }); - }; - var Buttons = { register: register$1 }; - - global.add('image', function (editor) { - FilterContent.setup(editor); - Buttons.register(editor); - Commands.register(editor); - }); - function Plugin () { - } - - return Plugin; - -}(window)); -})(); diff --git a/srcs/wordpress/wp-includes/js/tinymce/plugins/image/plugin.min.js b/srcs/wordpress/wp-includes/js/tinymce/plugins/image/plugin.min.js deleted file mode 100644 index 23473aa..0000000 --- a/srcs/wordpress/wp-includes/js/tinymce/plugins/image/plugin.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(l){"use strict";var i,e=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=function(e){return!1!==e.settings.image_dimensions},u=function(e){return!0===e.settings.image_advtab},m=function(e){return e.getParam("image_prepend_url","")},n=function(e){return e.getParam("image_class_list")},r=function(e){return!1!==e.settings.image_description},a=function(e){return!0===e.settings.image_title},o=function(e){return!0===e.settings.image_caption},c=function(e){return e.getParam("image_list",!1)},s=function(e){return e.getParam("images_upload_url",!1)},g=function(e){return e.getParam("images_upload_handler",!1)},f=function(e){return e.getParam("images_upload_url")},p=function(e){return e.getParam("images_upload_handler")},h=function(e){return e.getParam("images_upload_base_path")},v=function(e){return e.getParam("images_upload_credentials")},b="undefined"!=typeof l.window?l.window:Function("return this;")(),y=function(e,t){return function(e,t){for(var n=t!==undefined&&null!==t?t:b,r=0;r<e.length&&n!==undefined&&null!==n;++r)n=n[e[r]];return n}(e.split("."),t)},x={getOrDie:function(e,t){var n=y(e,t);if(n===undefined||null===n)throw new Error(e+" not available on this browser");return n}},w=tinymce.util.Tools.resolve("tinymce.util.Promise"),C=tinymce.util.Tools.resolve("tinymce.util.Tools"),S=tinymce.util.Tools.resolve("tinymce.util.XHR"),N=function(e,t){return Math.max(parseInt(e,10),parseInt(t,10))},_=function(e,n){var r=l.document.createElement("img");function t(e,t){r.parentNode&&r.parentNode.removeChild(r),n({width:e,height:t})}r.onload=function(){t(N(r.width,r.clientWidth),N(r.height,r.clientHeight))},r.onerror=function(){t(0,0)};var a=r.style;a.visibility="hidden",a.position="fixed",a.bottom=a.left="0px",a.width=a.height="auto",l.document.body.appendChild(r),r.src=e},T=function(e,a,t){return function n(e,r){return r=r||[],C.each(e,function(e){var t={text:e.text||e.title};e.menu?t.menu=n(e.menu):(t.value=e.value,a(t)),r.push(t)}),r}(e,t||[])},A=function(e){return e&&(e=e.replace(/px$/,"")),e},R=function(e){return 0<e.length&&/^[0-9]+$/.test(e)&&(e+="px"),e},I=function(e){if(e.margin){var t=e.margin.split(" ");switch(t.length){case 1:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[0],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[0];break;case 2:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[1];break;case 3:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[1];break;case 4:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[3]}delete e.margin}return e},t=function(e,t){var n=c(e);"string"==typeof n?S.send({url:n,success:function(e){t(JSON.parse(e))}}):"function"==typeof n?n(t):t(n)},O=function(e,t,n){function r(){n.onload=n.onerror=null,e.selection&&(e.selection.select(n),e.nodeChanged())}n.onload=function(){t.width||t.height||!d(e)||e.dom.setAttribs(n,{width:n.clientWidth,height:n.clientHeight}),r()},n.onerror=r},L=function(r){return new w(function(e,t){var n=new(x.getOrDie("FileReader"));n.onload=function(){e(n.result)},n.onerror=function(){t(n.error.message)},n.readAsDataURL(r)})},P=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),U=Object.prototype.hasOwnProperty,E=(i=function(e,t){return t},function(){for(var e=new Array(arguments.length),t=0;t<e.length;t++)e[t]=arguments[t];if(0===e.length)throw new Error("Can't merge zero objects");for(var n={},r=0;r<e.length;r++){var a=e[r];for(var o in a)U.call(a,o)&&(n[o]=i(n[o],a[o]))}return n}),k=P.DOM,M=function(e){return e.style.marginLeft&&e.style.marginRight&&e.style.marginLeft===e.style.marginRight?A(e.style.marginLeft):""},D=function(e){return e.style.marginTop&&e.style.marginBottom&&e.style.marginTop===e.style.marginBottom?A(e.style.marginTop):""},z=function(e){return e.style.borderWidth?A(e.style.borderWidth):""},B=function(e,t){return e.hasAttribute(t)?e.getAttribute(t):""},H=function(e,t){return e.style[t]?e.style[t]:""},j=function(e){return null!==e.parentNode&&"FIGURE"===e.parentNode.nodeName},F=function(e,t,n){e.setAttribute(t,n)},W=function(e){var t,n,r,a;j(e)?(a=(r=e).parentNode,k.insertAfter(r,a),k.remove(a)):(t=e,n=k.create("figure",{"class":"image"}),k.insertAfter(n,t),n.appendChild(t),n.appendChild(k.create("figcaption",{contentEditable:!0},"Caption")),n.contentEditable="false")},J=function(e,t){var n=e.getAttribute("style"),r=t(null!==n?n:"");0<r.length?(e.setAttribute("style",r),e.setAttribute("data-mce-style",r)):e.removeAttribute("style")},V=function(e,r){return function(e,t,n){e.style[t]?(e.style[t]=R(n),J(e,r)):F(e,t,n)}},G=function(e,t){return e.style[t]?A(e.style[t]):B(e,t)},$=function(e,t){var n=R(t);e.style.marginLeft=n,e.style.marginRight=n},X=function(e,t){var n=R(t);e.style.marginTop=n,e.style.marginBottom=n},q=function(e,t){var n=R(t);e.style.borderWidth=n},K=function(e,t){e.style.borderStyle=t},Q=function(e){return"FIGURE"===e.nodeName},Y=function(e,t){var n=l.document.createElement("img");return F(n,"style",t.style),(M(n)||""!==t.hspace)&&$(n,t.hspace),(D(n)||""!==t.vspace)&&X(n,t.vspace),(z(n)||""!==t.border)&&q(n,t.border),(H(n,"borderStyle")||""!==t.borderStyle)&&K(n,t.borderStyle),e(n.getAttribute("style"))},Z=function(e,t){return{src:B(t,"src"),alt:B(t,"alt"),title:B(t,"title"),width:G(t,"width"),height:G(t,"height"),"class":B(t,"class"),style:e(B(t,"style")),caption:j(t),hspace:M(t),vspace:D(t),border:z(t),borderStyle:H(t,"borderStyle")}},ee=function(e,t,n,r,a){n[r]!==t[r]&&a(e,r,n[r])},te=function(r,a){return function(e,t,n){r(e,n),J(e,a)}},ne=function(e,t,n){var r=Z(e,n);ee(n,r,t,"caption",function(e,t,n){return W(e)}),ee(n,r,t,"src",F),ee(n,r,t,"alt",F),ee(n,r,t,"title",F),ee(n,r,t,"width",V(0,e)),ee(n,r,t,"height",V(0,e)),ee(n,r,t,"class",F),ee(n,r,t,"style",te(function(e,t){return F(e,"style",t)},e)),ee(n,r,t,"hspace",te($,e)),ee(n,r,t,"vspace",te(X,e)),ee(n,r,t,"border",te(q,e)),ee(n,r,t,"borderStyle",te(K,e))},re=function(e,t){var n=e.dom.styles.parse(t),r=I(n),a=e.dom.styles.parse(e.dom.styles.serialize(r));return e.dom.styles.serialize(a)},ae=function(e){var t=e.selection.getNode(),n=e.dom.getParent(t,"figure.image");return n?e.dom.select("img",n)[0]:t&&("IMG"!==t.nodeName||t.getAttribute("data-mce-object")||t.getAttribute("data-mce-placeholder"))?null:t},oe=function(t,e){var n=t.dom,r=n.getParent(e.parentNode,function(e){return t.schema.getTextBlockElements()[e.nodeName]},t.getBody());return r?n.split(r,e):e},ie=function(t){var e=ae(t);return e?Z(function(e){return re(t,e)},e):{src:"",alt:"",title:"",width:"",height:"","class":"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:""}},le=function(t,e){var n=function(e,t){var n=l.document.createElement("img");if(ne(e,E(t,{caption:!1}),n),F(n,"alt",t.alt),t.caption){var r=k.create("figure",{"class":"image"});return r.appendChild(n),r.appendChild(k.create("figcaption",{contentEditable:!0},"Caption")),r.contentEditable="false",r}return n}(function(e){return re(t,e)},e);t.dom.setAttrib(n,"data-mce-id","__mcenew"),t.focus(),t.selection.setContent(n.outerHTML);var r=t.dom.select('*[data-mce-id="__mcenew"]')[0];if(t.dom.setAttrib(r,"data-mce-id",null),Q(r)){var a=oe(t,r);t.selection.select(a)}else t.selection.select(r)},ue=function(e,t){var n=ae(e);n?t.src?function(t,e){var n,r=ae(t);if(ne(function(e){return re(t,e)},e,r),n=r,t.dom.setAttrib(n,"src",n.getAttribute("src")),Q(r.parentNode)){var a=r.parentNode;oe(t,a),t.selection.select(r.parentNode)}else t.selection.select(r),O(t,e,r)}(e,t):function(e,t){if(t){var n=e.dom.is(t.parentNode,"figure.image")?t.parentNode:t;e.dom.remove(n),e.focus(),e.nodeChanged(),e.dom.isEmpty(e.getBody())&&(e.setContent(""),e.selection.setCursorLocation())}}(e,n):t.src&&le(e,t)},ce=function(n,r){r.find("#style").each(function(e){var t=Y(function(e){return re(n,e)},E({src:"",alt:"",title:"",width:"",height:"","class":"",style:"",caption:!1,hspace:"",vspace:"",border:"",borderStyle:""},r.toJSON()));e.value(t)})},se=function(t){return{title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox",onchange:(o=t,function(e){var t=o.dom,n=e.control.rootControl;if(u(o)){var r=n.toJSON(),a=t.parseStyle(r.style);n.find("#vspace").value(""),n.find("#hspace").value(""),((a=I(a))["margin-top"]&&a["margin-bottom"]||a["margin-right"]&&a["margin-left"])&&(a["margin-top"]===a["margin-bottom"]?n.find("#vspace").value(A(a["margin-top"])):n.find("#vspace").value(""),a["margin-right"]===a["margin-left"]?n.find("#hspace").value(A(a["margin-right"])):n.find("#hspace").value("")),a["border-width"]?n.find("#border").value(A(a["border-width"])):n.find("#border").value(""),a["border-style"]?n.find("#borderStyle").value(a["border-style"]):n.find("#borderStyle").value(""),n.find("#style").value(t.serializeStyle(t.parseStyle(t.serializeStyle(a))))}})},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,defaults:{type:"textbox",maxWidth:50,onchange:function(e){ce(t,e.control.rootControl)}},items:[{label:"Vertical space",name:"vspace"},{label:"Border width",name:"border"},{label:"Horizontal space",name:"hspace"},{label:"Border style",type:"listbox",name:"borderStyle",width:90,maxWidth:90,onselect:function(e){ce(t,e.control.rootControl)},values:[{text:"Select...",value:""},{text:"Solid",value:"solid"},{text:"Dotted",value:"dotted"},{text:"Dashed",value:"dashed"},{text:"Double",value:"double"},{text:"Groove",value:"groove"},{text:"Ridge",value:"ridge"},{text:"Inset",value:"inset"},{text:"Outset",value:"outset"},{text:"None",value:"none"},{text:"Hidden",value:"hidden"}]}]}]};var o},de=function(e,t){e.state.set("oldVal",e.value()),t.state.set("oldVal",t.value())},me=function(e,t){var n=e.find("#width")[0],r=e.find("#height")[0],a=e.find("#constrain")[0];n&&r&&a&&t(n,r,a.checked())},ge=function(e,t,n){var r=e.state.get("oldVal"),a=t.state.get("oldVal"),o=e.value(),i=t.value();n&&r&&a&&o&&i&&(o!==r?(i=Math.round(o/r*i),isNaN(i)||t.value(i)):(o=Math.round(i/a*o),isNaN(o)||e.value(o))),de(e,t)},fe=function(e){me(e,ge)},pe=function(){var e=function(e){fe(e.control.rootControl)};return{type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:5,onchange:e,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:5,onchange:e,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}},he=function(e){me(e,de)},ve=fe,be=function(e){e.meta=e.control.rootControl.toJSON()},ye=function(s,e){var t=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:function(e){var t,n,r,a,o,i,l,u,c;n=s,i=(t=e).meta||{},l=t.control,u=l.rootControl,(c=u.find("#image-list")[0])&&c.value(n.convertURL(l.value(),"src")),C.each(i,function(e,t){u.find("#"+t).value(e)}),i.width||i.height||(r=n.convertURL(l.value(),"src"),a=m(n),o=new RegExp("^(?:[a-z]+:)?//","i"),a&&!o.test(r)&&r.substring(0,a.length)!==a&&(r=a+r),l.value(r),_(n.documentBaseURI.toAbsolute(l.value()),function(e){e.width&&e.height&&d(n)&&(u.find("#width").value(e.width),u.find("#height").value(e.height),he(u))}))},onbeforecall:be},e];return r(s)&&t.push({name:"alt",type:"textbox",label:"Image description"}),a(s)&&t.push({name:"title",type:"textbox",label:"Image Title"}),d(s)&&t.push(pe()),n(s)&&t.push({name:"class",type:"listbox",label:"Class",values:T(n(s),function(e){e.value&&(e.textStyle=function(){return s.formatter.getCssText({inline:"img",classes:[e.value]})})})}),o(s)&&t.push({name:"caption",type:"checkbox",label:"Caption"}),t},xe=function(e,t){return{title:"General",type:"form",items:ye(e,t)}},we=ye,Ce=function(){return x.getOrDie("URL")},Se=function(e){return Ce().createObjectURL(e)},Ne=function(e){Ce().revokeObjectURL(e)},_e=tinymce.util.Tools.resolve("tinymce.ui.Factory"),Te=function(){};function Ae(i){var t=function(e,r,a,t){var o,n;(o=new(x.getOrDie("XMLHttpRequest"))).open("POST",i.url),o.withCredentials=i.credentials,o.upload.onprogress=function(e){t(e.loaded/e.total*100)},o.onerror=function(){a("Image upload failed due to a XHR Transport error. Code: "+o.status)},o.onload=function(){var e,t,n;o.status<200||300<=o.status?a("HTTP Error: "+o.status):(e=JSON.parse(o.responseText))&&"string"==typeof e.location?r((t=i.basePath,n=e.location,t?t.replace(/\/$/,"")+"/"+n.replace(/^\//,""):n)):a("Invalid JSON: "+o.responseText)},(n=new l.FormData).append("file",e.blob(),e.filename()),o.send(n)};return i=C.extend({credentials:!1,handler:t},i),{upload:function(e){return i.url||i.handler!==t?(r=e,a=i.handler,new w(function(e,t){try{a(r,e,t,Te)}catch(n){t(n.message)}})):w.reject("Upload url missing from the settings.");var r,a}}}var Re=function(u){return function(e){var t=_e.get("Throbber"),n=e.control.rootControl,r=new t(n.getEl()),a=e.control.value(),o=Se(a),i=Ae({url:f(u),basePath:h(u),credentials:v(u),handler:p(u)}),l=function(){r.hide(),Ne(o)};return r.show(),L(a).then(function(e){var t=u.editorUpload.blobCache.create({blob:a,blobUri:o,name:a.name?a.name.replace(/\.[^\.]+$/,""):null,base64:e.split(",")[1]});return i.upload(t).then(function(e){var t=n.find("#src");return t.value(e),n.find("tabpanel")[0].activateTab(0),t.fire("change"),l(),e})})["catch"](function(e){u.windowManager.alert(e),l()})}},Ie=".jpg,.jpeg,.png,.gif",Oe=function(e){return{title:"Upload",type:"form",layout:"flex",direction:"column",align:"stretch",padding:"20 20 20 20",items:[{type:"container",layout:"flex",direction:"column",align:"center",spacing:10,items:[{text:"Browse for an image",type:"browsebutton",accept:Ie,onchange:Re(e)},{text:"OR",type:"label"}]},{text:"Drop an image here",type:"dropzone",accept:Ie,height:100,onchange:Re(e)}]}};function Le(r){for(var a=[],e=1;e<arguments.length;e++)a[e-1]=arguments[e];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=a.concat(e);return r.apply(null,n)}}var Pe=function(t,e){var n=e.control.getRoot();ve(n),t.undoManager.transact(function(){var e=E(ie(t),n.toJSON());ue(t,e)}),t.editorUpload.uploadImagesAuto()};function Ue(o){function e(e){var n,t,r=ie(o);if(e&&(t={type:"listbox",label:"Image list",name:"image-list",values:T(e,function(e){e.value=o.convertURL(e.value||e.url,"src")},[{text:"None",value:""}]),value:r.src&&o.convertURL(r.src,"src"),onselect:function(e){var t=n.find("#alt");(!t.value()||e.lastControl&&t.value()===e.lastControl.text())&&t.value(e.control.text()),n.find("#src").value(e.control.value()).fire("change")},onPostRender:function(){t=this}}),u(o)||s(o)||g(o)){var a=[xe(o,t)];u(o)&&a.push(se(o)),(s(o)||g(o))&&a.push(Oe(o)),n=o.windowManager.open({title:"Insert/edit image",data:r,bodyType:"tabpanel",body:a,onSubmit:Le(Pe,o)})}else n=o.windowManager.open({title:"Insert/edit image",data:r,body:we(o,t),onSubmit:Le(Pe,o)});he(n)}return{open:function(){t(o,e)}}}var Ee=function(e){e.addCommand("mceImage",Ue(e).open)},ke=function(o){return function(e){for(var t,n,r=e.length,a=function(e){e.attr("contenteditable",o?"true":null)};r--;)t=e[r],(n=t.attr("class"))&&/\bimage\b/.test(n)&&(t.attr("contenteditable",o?"false":null),C.each(t.getAll("figcaption"),a))}},Me=function(e){e.on("preInit",function(){e.parser.addNodeFilter("figure",ke(!0)),e.serializer.addNodeFilter("figure",ke(!1))})},De=function(e){e.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:Ue(e).open,stateSelector:"img:not([data-mce-object],[data-mce-placeholder]),figure.image"}),e.addMenuItem("image",{icon:"image",text:"Image",onclick:Ue(e).open,context:"insert",prependToContext:!0})};e.add("image",function(e){Me(e),De(e),Ee(e)})}(window);
\ No newline at end of file |
