1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-24 07:13:08 +02:00

Fix issue where drag/drop image into non-default language CKEditor field was showing error message

This commit is contained in:
Ryan Cramer
2018-09-04 12:01:46 -04:00
parent 4c48e1d941
commit 7e5f79e9b3
2 changed files with 4 additions and 1 deletions

View File

@@ -28,6 +28,9 @@ function ckeGetProcessWireConfig(editor) {
if(typeof ProcessWire.config[configName] == "undefined" && configName.indexOf('_ckeditor') > 0) {
configName = configName.replace(/_ckeditor$/, ''); // inline only
}
if(typeof ProcessWire.config[configName] == "undefined" && configName.indexOf('__') > 0) {
configName = configName.replace(/__\d+$/, ''); // remove language-id
}
if(typeof ProcessWire.config[configName] == "undefined") {
settings.error = 'Cannot find CKEditor settings for ' + configName;
} else {

View File

@@ -1 +1 @@
function ckeGetProcessWireConfig(c){var e=typeof c=="string"?c:c.name;var d=e.replace("Inputfield_","InputfieldCKEditor_");var a="";var b={};d=d.replace("Inputfield_","InputfieldCKEditor_");if(typeof ProcessWire.config[d]=="undefined"&&d.indexOf("_repeater")>0){d=d.replace(/_repeater[0-9]+/,"");a=$("#"+e).closest(".InputfieldRepeaterItem")}if(typeof ProcessWire.config[d]=="undefined"&&d.indexOf("_ckeditor")>0){d=d.replace(/_ckeditor$/,"")}if(typeof ProcessWire.config[d]=="undefined"){b.error="Cannot find CKEditor settings for "+d}else{b=ProcessWire.config[d]}if(a.length){b.repeaterItem=a}else{b.repeaterItem=""}return b}function ckeLoadPlugins(){for(var a in ProcessWire.config.InputfieldCKEditor.plugins){var b=ProcessWire.config.InputfieldCKEditor.plugins[a];CKEDITOR.plugins.addExternal(a,b,"")}}ckeLoadPlugins();function ckeBlurEvent(b){var a=b.editor;var c=$(a.element.$);if(a.checkDirty()){if(c.length){if(c.is("textarea")){c.change()}c.closest(".Inputfield").addClass("InputfieldStateChanged")}}}function ckeFocusEvent(b){var a=b.editor;var c=$(a.element.$);c.trigger("pw-focus")}function ckeResizeEvent(b){var a=b.editor;var c=$(a.element.$);if(c.length){c.closest(".Inputfield").trigger("heightChanged")}}function ckeUploadEvent(e){var g=e.data.fileLoader.xhr;var b=e.data.fileLoader;var d=ckeGetProcessWireConfig(e.editor);var c=d?d.pwUploadField:"_unknown";var f=$("#Inputfield_"+c);if(typeof d.repeaterItem!="undefined"&&d.repeaterItem.length){var a=d.repeaterItem.find(".InputfieldImage:not(.InputfieldFileSingle)");if(a.length){f=a}}if(f.length){g.open("POST",b.uploadUrl,true);f.trigger("pwimageupload",{name:b.fileName,file:b.file,xhr:g});e.stop()}else{if(typeof d.error!="undefined"&&d.error.length){ProcessWire.alert(d.error)}else{ProcessWire.alert("Unable to find images field for upload")}e.stop();return false}}function ckeInitEvents(b){b.on("blur",ckeBlurEvent);b.on("focus",ckeFocusEvent);b.on("change",ckeBlurEvent);b.on("resize",ckeResizeEvent);b.on("fileUploadRequest",ckeUploadEvent,null,null,4);var c=$(b.element.$);var a=c.closest(".Inputfield.InputfieldColumnWidth");if(a.length){setTimeout(function(){a.trigger("heightChanged")},1000)}}function ckeSaveReadyInline(b){if(!b.length){return}var a=b.hasClass(".InputfieldCKEditorInline")?b:b.find(".InputfieldCKEditorInline");if(a.length){a.each(function(){var f=$(this);var d;if(f.hasClass("InputfieldCKEditorLoaded")){var c=CKEDITOR.instances[f.attr("id")];if(typeof c!="undefined"){if(c.focusManager.hasFocus){c.focusManager.focus(true);c.focus()}d=c.getData()}}else{d=f.html()}var e=f.next("input");e.attr("value",d)})}}function ckeSaveReadyNormal(b){var a=b.hasClass("InputfieldCKEditorNormal")?b:b.find(".InputfieldCKEditorNormal");a.each(function(){var d=$(this);if(!d.hasClass("InputfieldCKEditorLoaded")){return}var c=CKEDITOR.instances[d.attr("id")];c.updateElement()})}function ckeInlineMouseoverEvent(b){var d=$(this);if(d.hasClass("InputfieldCKEditorLoaded")){return}d.effect("highlight",{},500);d.attr("contenteditable","true");var c=d.attr("data-configName");var a=CKEDITOR.inline($(this).attr("id"),ProcessWire.config[c]);ckeInitEvents(a);d.addClass("InputfieldCKEditorLoaded")}function ckeInitTab(c,e){var h=e.newTab;var d=h.find("a");if(d.hasClass("InputfieldCKEditor_init")){return}var a=d.attr("data-editorID");var g=d.attr("data-configName");var b=CKEDITOR.replace(a,config[g]);ckeInitEvents(b);d.addClass("InputfieldCKEditor_init");e.oldTab.find("a").addClass("InputfieldCKEditor_init");var f=$("#"+a);f.addClass("InputfieldCKEditorLoaded")}function ckeInitNormal(a){var f=$("#"+a);var e=f.parent();if(typeof ProcessWire.config.InputfieldCKEditor.editors[a]!="undefined"){var d=ProcessWire.config.InputfieldCKEditor.editors[a]}else{var d=f.attr("data-configName")}if(e.hasClass("ui-tabs-panel")&&e.css("display")=="none"){var g=f.parent().attr("id");var c=e.closest(".ui-tabs, .langTabs").find("a[href=#"+g+"]");c.attr("data-editorID",a).attr("data-configName",d);e.closest(".ui-tabs, .langTabs").on("tabsactivate",ckeInitTab)}else{var b=CKEDITOR.replace(a,ProcessWire.config[d]);ckeInitEvents(b);f.addClass("InputfieldCKEditorLoaded")}}$(document).ready(function(){CKEDITOR.timestamp=ProcessWire.config.InputfieldCKEditor.timestamp;for(var a in ProcessWire.config.InputfieldCKEditor.editors){ckeInitNormal(a)}$(document).on("reloaded",".InputfieldCKEditor",function(){var b=$(this).find(".InputfieldCKEditorNormal:not(.InputfieldCKEditorLoaded)");b.each(function(){ckeInitNormal($(this).attr("id"))});return false});CKEDITOR.disableAutoInline=true;$(document).on("mouseover",".InputfieldCKEditorInlineEditor",ckeInlineMouseoverEvent);$(document).on("submit","form.InputfieldForm",function(){ckeSaveReadyInline($(this))});$(document).on("saveReady",".InputfieldCKEditor",function(){ckeSaveReadyNormal($(this));ckeSaveReadyInline($(this))})});
function ckeGetProcessWireConfig(c){var e=typeof c=="string"?c:c.name;var d=e.replace("Inputfield_","InputfieldCKEditor_");var a="";var b={};d=d.replace("Inputfield_","InputfieldCKEditor_");if(typeof ProcessWire.config[d]=="undefined"&&d.indexOf("_repeater")>0){d=d.replace(/_repeater[0-9]+/,"");a=$("#"+e).closest(".InputfieldRepeaterItem")}if(typeof ProcessWire.config[d]=="undefined"&&d.indexOf("_ckeditor")>0){d=d.replace(/_ckeditor$/,"")}if(typeof ProcessWire.config[d]=="undefined"&&d.indexOf("__")>0){d=d.replace(/__\d+$/,"")}if(typeof ProcessWire.config[d]=="undefined"){b.error="Cannot find CKEditor settings for "+d}else{b=ProcessWire.config[d]}if(a.length){b.repeaterItem=a}else{b.repeaterItem=""}return b}function ckeLoadPlugins(){for(var a in ProcessWire.config.InputfieldCKEditor.plugins){var b=ProcessWire.config.InputfieldCKEditor.plugins[a];CKEDITOR.plugins.addExternal(a,b,"")}}ckeLoadPlugins();function ckeBlurEvent(b){var a=b.editor;var c=$(a.element.$);if(a.checkDirty()){if(c.length){if(c.is("textarea")){c.change()}c.closest(".Inputfield").addClass("InputfieldStateChanged")}}}function ckeFocusEvent(b){var a=b.editor;var c=$(a.element.$);c.trigger("pw-focus")}function ckeResizeEvent(b){var a=b.editor;var c=$(a.element.$);if(c.length){c.closest(".Inputfield").trigger("heightChanged")}}function ckeUploadEvent(e){var g=e.data.fileLoader.xhr;var b=e.data.fileLoader;var d=ckeGetProcessWireConfig(e.editor);var c=d?d.pwUploadField:"_unknown";var f=$("#Inputfield_"+c);if(typeof d.repeaterItem!="undefined"&&d.repeaterItem.length){var a=d.repeaterItem.find(".InputfieldImage:not(.InputfieldFileSingle)");if(a.length){f=a}}if(f.length){g.open("POST",b.uploadUrl,true);f.trigger("pwimageupload",{name:b.fileName,file:b.file,xhr:g});e.stop()}else{if(typeof d.error!="undefined"&&d.error.length){ProcessWire.alert(d.error)}else{ProcessWire.alert("Unable to find images field for upload")}e.stop();return false}}function ckeInitEvents(b){b.on("blur",ckeBlurEvent);b.on("focus",ckeFocusEvent);b.on("change",ckeBlurEvent);b.on("resize",ckeResizeEvent);b.on("fileUploadRequest",ckeUploadEvent,null,null,4);var c=$(b.element.$);var a=c.closest(".Inputfield.InputfieldColumnWidth");if(a.length){setTimeout(function(){a.trigger("heightChanged")},1000)}}function ckeSaveReadyInline(b){if(!b.length){return}var a=b.hasClass(".InputfieldCKEditorInline")?b:b.find(".InputfieldCKEditorInline");if(a.length){a.each(function(){var f=$(this);var d;if(f.hasClass("InputfieldCKEditorLoaded")){var c=CKEDITOR.instances[f.attr("id")];if(typeof c!="undefined"){if(c.focusManager.hasFocus){c.focusManager.focus(true);c.focus()}d=c.getData()}}else{d=f.html()}var e=f.next("input");e.attr("value",d)})}}function ckeSaveReadyNormal(b){var a=b.hasClass("InputfieldCKEditorNormal")?b:b.find(".InputfieldCKEditorNormal");a.each(function(){var d=$(this);if(!d.hasClass("InputfieldCKEditorLoaded")){return}var c=CKEDITOR.instances[d.attr("id")];c.updateElement()})}function ckeInlineMouseoverEvent(b){var d=$(this);if(d.hasClass("InputfieldCKEditorLoaded")){return}d.effect("highlight",{},500);d.attr("contenteditable","true");var c=d.attr("data-configName");var a=CKEDITOR.inline($(this).attr("id"),ProcessWire.config[c]);ckeInitEvents(a);d.addClass("InputfieldCKEditorLoaded")}function ckeInitTab(c,e){var h=e.newTab;var d=h.find("a");if(d.hasClass("InputfieldCKEditor_init")){return}var a=d.attr("data-editorID");var g=d.attr("data-configName");var b=CKEDITOR.replace(a,config[g]);ckeInitEvents(b);d.addClass("InputfieldCKEditor_init");e.oldTab.find("a").addClass("InputfieldCKEditor_init");var f=$("#"+a);f.addClass("InputfieldCKEditorLoaded")}function ckeInitNormal(a){var f=$("#"+a);var e=f.parent();if(typeof ProcessWire.config.InputfieldCKEditor.editors[a]!="undefined"){var d=ProcessWire.config.InputfieldCKEditor.editors[a]}else{var d=f.attr("data-configName")}if(e.hasClass("ui-tabs-panel")&&e.css("display")=="none"){var g=f.parent().attr("id");var c=e.closest(".ui-tabs, .langTabs").find("a[href=#"+g+"]");c.attr("data-editorID",a).attr("data-configName",d);e.closest(".ui-tabs, .langTabs").on("tabsactivate",ckeInitTab)}else{var b=CKEDITOR.replace(a,ProcessWire.config[d]);ckeInitEvents(b);f.addClass("InputfieldCKEditorLoaded")}}$(document).ready(function(){CKEDITOR.timestamp=ProcessWire.config.InputfieldCKEditor.timestamp;for(var a in ProcessWire.config.InputfieldCKEditor.editors){ckeInitNormal(a)}$(document).on("reloaded",".InputfieldCKEditor",function(){var b=$(this).find(".InputfieldCKEditorNormal:not(.InputfieldCKEditorLoaded)");b.each(function(){ckeInitNormal($(this).attr("id"))});return false});CKEDITOR.disableAutoInline=true;$(document).on("mouseover",".InputfieldCKEditorInlineEditor",ckeInlineMouseoverEvent);$(document).on("submit","form.InputfieldForm",function(){ckeSaveReadyInline($(this))});$(document).on("saveReady",".InputfieldCKEditor",function(){ckeSaveReadyNormal($(this));ckeSaveReadyInline($(this))})});