| Current Path : /home/smartconb/www/armencom33/media/com_jce/editor/pro/js/ |
| Current File : /home/smartconb/www/armencom33/media/com_jce/editor/pro/js/widget.js |
/* jce - 2.9.63 | 2024-03-11 | https://www.joomlacontenteditor.net | Copyright (C) 2006 - 2024 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */
!function($, Wf) {
var options = {
view_mode: "list"
};
function onBeforeBuildList() {
"grid" === getMode() && $("li.file", "#item-list").hide();
}
function onAfterBuildList() {
"grid" === getMode() && togglePreviewThumbnails();
}
function createPreviewThumbnails(force) {
var area = $("#browser-list").height() + $("#browser-list").scrollTop(), selector = [ ".thumbnail-loading" ];
force || selector.concat(".thumbnail-loading", ".thumbnail-loaded", ".thumbnail-error");
$("#item-list .file").filter([ ".jpg", ".jpeg", ".bmp", ".tiff", ".png", ".webp", ".gif" ].join(",")).not(selector.join(",")).each(function() {
var item, img, src;
$(this).position().top < area && (src = $(item = this).data("preview"),
src = $(item).data("thumbnail") ? $(item).data("thumbnail") : src) && (img = new Image(),
$(item).addClass("thumbnail-loading"), $(img).on("load", function() {
$(".uk-thumbnail", item).get(0) || $('<span class="uk-thumbnail uk-position-cover"></span>').css("background-image", 'url("' + img.src + '")').appendTo(item);
$(item).removeClass("thumbnail-loading").addClass("thumbnail-loaded");
}), $(img).on("error.local", function() {
$(item).removeClass("thumbnail-loading").addClass("thumbnail-error");
}), img.src = src);
});
}
function togglePreviewThumbnails(force) {
"grid" === getMode() ? (createPreviewThumbnails(force), $("#browser-list").on("scroll.browser-list", function(e) {
createPreviewThumbnails();
}), $("#item-list").data("sortable") && $("#item-list").sortable("option", "axis", !1)) : ($("#browser-list").off("scroll.browser-list"),
$("#item-list").off("click.item-list-images"), $("#item-list").data("sortable") && $("#item-list").sortable("option", "axis", "y"));
}
function getMode() {
var mode = Wf.Storage.get("wf_" + Wf.getName() + "_mode", options.view_mode);
return "images" == mode ? "grid" : mode;
}
function toggleMode(mode) {
$("#browser").toggleClass("view-mode-grid", "grid" === mode), togglePreviewThumbnails(!0);
}
function editImage() {
var items = $.fn.filebrowser.getselected();
if (1 < items.length) return function(items) {
Wf.Modal.dialog(tinyMCEPopup.getLang("dlg.resize-dialog", "Resize Images"), "", {
id: "resize-dialog",
classes: "uk-modal-prompt",
width: 480,
onOpen: function() {
var modal = this, rw = options.upload_resize_width || "", rh = options.upload_resize_height || "", $resize = $('<div class="uk-form-row uk-form-striped uk-repeatable uk-width-1-1 uk-flex-wrap uk-position-relative uk-panel uk-panel-box uk-panel-box-secondary"> <div class="uk-form-row uk-width-9-10"> <label class="uk-form-label uk-width-1-5" title="' + tinyMCEPopup.getLang("dlg.dimensions", "Dimensions") + '">' + tinyMCEPopup.getLang("dlg.dimensions", "Dimensions") + '</label> <div class="uk-width-4-5 uk-form-constrain uk-flex uk-flex-wrap"> <div class="uk-form-controls uk-width-1-4"> <input type="text" name="resize_width[]" class="uk-text-center" value="" /> </div> <div class="uk-form-controls"> <strong class="uk-form-label uk-text-center uk-vertical-align-middle uk-display-block">×</strong> </div> <div class="uk-form-controls uk-width-1-4"> <input type="text" name="resize_height[]" class="uk-text-center" value="" /> </div> <div class="uk-form-controls uk-width-auto"> <label class="uk-form-label uk-constrain-label" title="' + tinyMCEPopup.getLang("dlg.proportional", "Proportional") + '"><input class="uk-constrain-checkbox" type="checkbox" checked />' + tinyMCEPopup.getLang("dlg.proportional", "Proportional") + '</label> </div> </div> </div> <div class="uk-form-row uk-width-1-1"> <div class="uk-form-row uk-width-1-2"> <label class="uk-form-label uk-width-1-1" title="' + tinyMCEPopup.getLang("dlg.upload_crop", "Crop to Fit") + '"><input class="uk-margin-right" name="resize_crop[]" type="checkbox" value="0" />' + tinyMCEPopup.getLang("dlg.upload_crop", "Crop to Fit") + '</label> </div> <div class="uk-form-row uk-width-1-2 uk-grid uk-grid-small uk-margin-top-remove"> <label class="uk-form-label uk-width-1-5">' + tinyMCEPopup.getLang("dlg.upload_resize_suffix", "Suffix") + '</label> <div class="uk-form-controls uk-width-4-5"> <input type="text" name="resize_suffix[]" value="" /> </div> </div> </div> <div class="uk-text-right uk-position-top-right uk-margin-small-top"> <button class="uk-button uk-button-link uk-repeatable-create uk-margin-small-top"><i class="uk-icon-plus"></i></button> <button class="uk-button uk-button-link uk-repeatable-delete uk-margin-small-top"><i class="uk-icon-trash"></i></button> </div></div>');
if (options.upload_resize && options.can_edit_images) {
"string" == typeof rw && (rw = rw.split(",")), "string" == typeof rh && (rh = rh.split(","));
for (var num = Math.max(rw.length, rh.length), i = 0; i < num; i++) {
var $opt = $resize.clone(), w = rw[i] || "", h = rh[i] || "", w = ($("#resize-dialog").append($opt),
$opt.find('input[name^="resize_width"]').val(w), $opt.find('input[name^="resize_height"]').val(h),
$opt.find(".uk-constrain-checkbox").constrain(), $opt.repeatable().on("repeatable:create", function(e, o, n) {
$(n).find(".uk-constrain-checkbox").trigger("constrain:update"),
$(modal).trigger("modal.assetloaded");
}).on("repeatable:delete", function(e, ctrl, elm) {
$(elm).remove();
}), parseInt(options.upload_resize_crop, 10));
$opt.find('input[name^="resize_crop"]').prop("checked", !!w).on("click", function() {
this.value = this.checked ? 1 : 0;
}).val(w);
}
}
},
buttons: [ {
text: Wf.translate("cancel", "Cancel"),
icon: "uk-icon-close",
attributes: {
class: "uk-modal-close"
}
}, {
text: Wf.translate("ok", "OK"),
icon: "uk-icon-check",
attributes: {
class: "uk-button-primary uk-modal-close"
},
click: function() {
var args = {
json: [ $.map(items, function(file) {
return $(file).attr("id");
}) ]
};
$.fn.filebrowser.status({
message: tinyMCEPopup.getLang("dlg.resize_message", "Resizing..."),
state: "load"
}), Wf.JSON.request("resizeImages", args, function(o) {
o && o.error && o.error.length && Wf.Modal.alert(o.error || "Unable to resize images"),
$.fn.filebrowser.load($.map(items, function(file) {
return $(file).data("url");
}));
}, self);
}
} ]
});
}(items);
var items = items[0], ed = tinyMCEPopup.editor, iw = parseFloat($(items).data("width")), ih = parseFloat($(items).data("height")), src = $(items).attr("id"), items = $(items).data("preview"), query = items.indexOf("?");
-1 !== query && (items = items.substring(0, query)), ed.windowManager.open({
url: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=" + Wf.getName() + "&slot=editor.image",
size: "mce-modal-landscape-full",
close_previous: !1,
inline: !0,
title: tinyMCEPopup.getLang("dlg.edit_image", "Edit Image")
}, {
src: src,
url: items,
width: iw,
height: ih,
onsave: function(item) {
$(".filebrowser").trigger("filebrowser:load", item);
},
scope: this
});
}
function editText() {
var item = $.fn.filebrowser.getselected(), ed = tinyMCEPopup.editor, src = $(item).attr("id"), item = $(item).data("preview"), query = item.indexOf("?");
-1 !== query && (item = item.substring(0, query)), ed.windowManager.open({
url: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=" + Wf.getName() + "&slot=editor.text",
size: "mce-modal-landscape-full",
close_previous: !1,
inline: !0,
title: tinyMCEPopup.getLang("dlg.edit_text", "Edit Text")
}, {
src: src,
url: item,
onsave: function(item) {
$(".filebrowser").trigger("filebrowser:load", item);
},
scope: this
});
}
function getUploadOptions() {
$("#upload-options").append(function() {
var layout = [], rw = options.upload_resize_width || "", rh = options.upload_resize_height || "", rs = options.upload_resize_suffix || "", crop = options.upload_resize_crop || "", $resize = $('<div class="uk-form-row uk-repeatable uk-flex uk-flex-wrap uk-width-1-1 uk-position-relative uk-placeholder uk-placeholder-small"> <div class="uk-width-1-1 uk-width-medium-1-5"> <input name="upload_resize_state" type="checkbox" value="0" class="uk-margin-small-right" /> <label for="upload_resize_state" title="' + tinyMCEPopup.getLang("dlg.upload_resize_tip", "Resize Image") + '" class="hastip">' + tinyMCEPopup.getLang("dlg.resize", "Resize Image") + '</label> </div> <div class="uk-width-1-1 uk-width-small-4-5 uk-flex"> <div class="uk-width-1-1 uk-width-small-3-5 uk-width-medium-2-5 uk-form-constrain uk-flex uk-flex-wrap"> <div class="uk-form-controls uk-width-1-4 uk-width-medium-1-6"> <input type="text" name="upload_resize_width[]" class="uk-text-center" value="" /> </div> <div class="uk-form-controls"> <strong class="uk-form-label uk-text-center uk-vertical-align-middle uk-display-block">×</strong> </div> <div class="uk-form-controls uk-width-1-4 uk-width-medium-1-6"> <input type="text" name="upload_resize_height[]" class="uk-text-center" value="" /> </div> <div class="uk-form-controls uk-width-auto uk-width-medium-3-6"> <label class="uk-form-label uk-constrain-label" title="' + tinyMCEPopup.getLang("dlg.proportional", "Proportional") + '"><input class="uk-constrain-checkbox" type="checkbox" checked />' + tinyMCEPopup.getLang("dlg.proportional", "Proportional") + '</label> </div> </div> <div class="uk-width-1-1 uk-width-small-1-4 uk-flex"> <label class="uk-form-label uk-width-1-1" title="' + tinyMCEPopup.getLang("dlg.upload_crop", "Crop to Fit") + '"><input class="uk-margin-right" name="upload_resize_crop[]" type="checkbox" value="0" />' + tinyMCEPopup.getLang("dlg.upload_crop", "Crop to Fit") + '</label> </div> <div class="uk-width-medium-1-4 uk-flex"> <label class="uk-form-label uk-width-1-5">' + tinyMCEPopup.getLang("dlg.upload_resize_suffix", "Suffix") + '</label> <div class="uk-form-controls uk-width-4-5 uk-margin-small-right"> <input type="text" name="upload_resize_suffix[]" class="uk-margin-small-left" value="" /> </div> </div> <div class="uk-width-1-1 uk-width-small-1-6 uk-flex uk-flex-middle uk-flex-center"> <label><input name="upload_resize_item_state[]" type="checkbox" value="1" class="uk-margin-small-right" title="" checked /></label> </div> </div> <div class="uk-text-right uk-position-top-right"> <button class="uk-button uk-button-link uk-repeatable-create uk-margin-small-top"><i class="uk-icon-plus"></i></button> <button class="uk-button uk-button-link uk-repeatable-delete uk-margin-small-top"><i class="uk-icon-trash"></i></button> </div></div>');
if (options.upload_resize && options.can_edit_images) {
"string" == typeof rw && (rw = rw.split(",")), "string" == typeof rh && (rh = rh.split(",")),
"string" == typeof rs && (rs = rs.split(",")), "string" == typeof crop && (crop = crop.split(","));
for (var num = Math.max(rw.length, rh.length), state = parseInt(options.upload_resize_state, 10), i = 0; i < num; i++) {
var $opt = $resize.clone(), w = rw[i] || "", h = rh[i] || "", sfx = rs[i] || "", ctf = crop[i] || "", w = (layout.push($opt),
$opt.find('input[name^="upload_resize_width"]').val(w), $opt.find('input[name^="upload_resize_height"]').val(h),
$opt.find('input[name^="upload_resize_suffix"]').val(sfx), $opt.find(".uk-constrain-checkbox").constrain(),
0 < i && $('input[name="upload_resize_state"]', $opt).remove(),
$opt.repeatable().on("repeatable:create", function(e, o, n) {
$('input[name="upload_resize_state"]', n).remove(), $(n).find(".uk-constrain-checkbox").trigger("constrain:update");
}).on("repeatable:delete", function(e, ctrl, elm) {
$(elm).remove();
}), $opt.find('input[name="upload_resize_state"]').prop("checked", !!state).on("click", function() {
var el = this;
this.value = this.checked ? 1 : 0, $(".uk-repeatable", "#upload-options").each(function() {
$(this).find(":input").not(el).prop("disabled", !el.checked);
}), this.checked && $opt.parent().find('input[name^="upload_resize_item_state"]').trigger("update");
}).val(state), $opt.find(":input").not('input[name="upload_resize_state"]').prop("disabled", !state),
parseInt(ctf, 10));
$opt.find('input[name^="upload_resize_crop"]').prop("checked", !!w).on("click", function() {
this.value = this.checked ? 1 : 0;
}).val(w), $opt.find('input[name^="upload_resize_item_state"]').on("update", function() {
$(this).parentsUntil(".uk-repeatable").find(":input").not(this).prop("disabled", !this.checked);
}).on("click", function() {
this.value = this.checked ? 1 : 0, $(this).trigger("update");
});
}
}
return layout;
}());
var th, tw, $watermark = $('<div class="uk-form-row uk-flex uk-flex-wrap uk-width-1-1 uk-placeholder uk-placeholder-small" id="upload_watermark_options"> <div class="uk-width-1-1 uk-width-small-1-5"> <input id="upload_watermark" name="upload_watermark_state" type="checkbox" value="0" class="uk-margin-small-right" /> <label for="upload_watermark" title="' + tinyMCEPopup.getLang("dlg.upload_watermark_tip", "Watermark Image") + '" class="hastip">' + tinyMCEPopup.getLang("dlg.upload_watermark", "Watermark Image") + "</label> </div></div>"), $thumbnail = $('<div class="uk-form-row uk-flex uk-flex-wrap uk-width-1-1 uk-placeholder uk-placeholder-small"><div class="uk-width-1-1 uk-width-medium-1-5"> <input name="upload_thumbnail_state" type="checkbox" value="0" class="uk-margin-small-right" /> <label for="upload_thumbnail_state" title="' + tinyMCEPopup.getLang("dlg.upload_thumbnail_tip", "Thumbnail") + '" class="hastip">' + tinyMCEPopup.getLang("dlg.upload_thumbnail", "Thumbnail") + '</label></div><div class="uk-width-1-1 uk-width-small-4-5"><div class="uk-width-1-1 uk-width-medium-2-5 uk-width-small-3-5 uk-form-constrain uk-flex uk-flex-wrap"> <div class="uk-form-controls uk-width-1-4 uk-width-medium-1-6"> <input type="text" name="upload_thumbnail_width" class="uk-text-center" value="" /> </div> <div class="uk-form-controls"> <strong class="uk-form-label uk-text-center uk-vertical-align-middle uk-display-block">×</strong> </div> <div class="uk-form-controls uk-width-1-4 uk-width-medium-1-6"> <input type="text" name="upload_thumbnail_height" class="uk-text-center" value="" /> </div> <div class="uk-form-controls uk-width-auto uk-width-medium-3-6"> <label class="uk-form-label uk-width-1-1 uk-constrain-label" title="' + tinyMCEPopup.getLang("dlg.proportional", "Proportional") + '"><input class="uk-constrain-checkbox" type="checkbox" checked />' + tinyMCEPopup.getLang("dlg.proportional", "Proportional") + '</label> </div></div><div class="uk-width-1-1 uk-width-medium-3-5 uk-width-small-2-5"> <label class="uk-form-label uk-width-1-1" title="' + tinyMCEPopup.getLang("dlg.upload_crop", "Crop to Fit") + '" class="hastip"><input class="uk-margin-right" name="upload_thumbnail_crop" type="checkbox" value="0" />' + tinyMCEPopup.getLang("dlg.upload_crop", "Crop Thumbnail") + "</label></div></div></div>");
options.upload_thumbnail && options.can_edit_images && (tw = options.upload_thumbnail_width || "",
th = options.upload_thumbnail_height || "", tw || th || (tw = 120, th = 90),
$("#upload-options").append($thumbnail), $thumbnail.find('input[name^="upload_thumbnail_width"]').val(tw),
$thumbnail.find('input[name^="upload_thumbnail_height"]').val(th), $thumbnail.find(".uk-constrain-checkbox").constrain(),
tw = parseInt(options.upload_thumbnail_state, 10), $thumbnail.find('input[name="upload_thumbnail_state"]').prop("checked", !!tw).on("click", function() {
this.value = this.checked ? 1 : 0, $thumbnail.find(":input").not(this).prop("disabled", !this.checked);
}).val(tw), $thumbnail.find(":input").not('input[name="upload_thumbnail_state"]').prop("disabled", !tw),
th = parseInt(options.upload_thumbnail_crop, 10), $thumbnail.find('input[name="upload_thumbnail_crop"]').prop("checked", !!th).on("click", function() {
this.value = this.checked ? 1 : 0;
}).val(th)), options.upload_watermark && options.can_edit_images && (tw = parseInt(options.upload_watermark_state, 10),
$("#upload-options").append($watermark).find('input[name="upload_watermark_state"]').prop("checked", !!tw).on("click", function() {
this.value = this.checked ? 1 : 0;
}).val(tw)), (options.upload_resize || options.upload_watermark) && options.can_edit_images && ($("#upload-options").prepend('<h4 class="uk-text-bold">' + tinyMCEPopup.getLang("dlg.image_options", "Image Options") + "</h4>"),
$('<button class="uk-button uk-button-small uk-float-right"><i class="uk-icon-caret-up"></i><i class="uk-icon-caret-down"></i></button>').on("click", function(e) {
e.preventDefault(), $("#upload-options").toggleClass("uk-expanded");
}).appendTo("#upload-options > h4"), $("#upload-options").show(), $(".hastip", "#upload-options").tips()),
$("#upload-queue").on("uploadwidget:fileadded", function(e, file) {
var $opt;
/^(jpg|jpeg|png|bmp|tiff|gif)$/i.test(file.extension) && options.upload_resize && options.can_edit_images && (($opt = $('<div class="uk-grid uk-grid-collapse uk-width-1-1 queue-item-resize uk-placeholder uk-placeholder-small uk-repeatable uk-position-relative uk-hidden"> <div class="uk-width-1-10"> <label for="upload_resize" class="uk-form-label" title="' + tinyMCEPopup.getLang("dlg.upload_resize_tip", "Resize") + '">' + tinyMCEPopup.getLang("dlg.resize", "Resize") + '</label> </div><div class="uk-width-1-1 uk-width-medium-4-5 uk-flex uk-flex-wrap"> <div class="uk-width-1-1 uk-width-small-3-5 uk-width-medium-2-5 uk-form-constrain uk-flex uk-flex-wrap uk-margin-small-top"> <div class="uk-form-controls uk-width-1-4 uk-width-medium-1-6"> <input type="text" name="upload_file_resize_width[]" class="uk-text-center" value="" /> </div> <div class="uk-form-controls"> <strong class="uk-form-label uk-text-center uk-vertical-align-middle uk-display-block">×</strong> </div> <div class="uk-form-controls uk-width-1-4 uk-width-medium-1-6"> <input type="text" name="upload_file_resize_height[]" class="uk-text-center" value="" /> </div> <div class="uk-form-controls uk-width-auto uk-width-medium-3-6"> <label class="uk-form-label uk-constrain-label" title="' + tinyMCEPopup.getLang("dlg.proportional", "Proportional") + '"><input class="uk-constrain-checkbox" type="checkbox" checked />' + tinyMCEPopup.getLang("dlg.proportional", "Proportional") + '</label> </div> </div> <div class="uk-width-1-1 uk-width-medium-1-5 uk-flex uk-margin-small-top"> <label class="uk-form-label uk-width-1-1" title="' + tinyMCEPopup.getLang("dlg.upload_crop", "Crop to Fit") + '"><input class="uk-margin-right" name="upload_file_resize_crop[]" type="checkbox" value="0" />' + tinyMCEPopup.getLang("dlg.upload_crop", "Crop to Fit") + '</label> </div> <div class="uk-width-medium-1-5 uk-flex uk-margin-small-top"> <label class="uk-form-label uk-width-1-5">' + tinyMCEPopup.getLang("dlg.upload_resize_suffix", "Suffix") + '</label> <div class="uk-form-controls uk-width-4-5 uk-margin-small-right"> <input type="text" name="upload_file_resize_suffix[]" class="uk-margin-small-left" value="" /> </div> </div></div><div class="uk-text-right uk-position-top-right"> <button class="uk-button uk-button-link uk-repeatable-create uk-margin-small-top"><i class="uk-icon-plus"></i></button> <button class="uk-button uk-button-link uk-repeatable-delete uk-margin-small-top"><i class="uk-icon-trash"></i></button></div></div>')).appendTo(file.element).repeatable().on("repeatable:create", function(e, o, n) {
$(n).find(".uk-constrain-checkbox").trigger("constrain:update");
}).on("repeatable:delete", function(e, ctrl, elm) {
$(elm).remove();
}).find(".uk-constrain-checkbox").constrain(), $opt.find('input[name^="upload_file_resize_crop"]').on("click", function() {
this.value = this.checked ? 1 : 0;
}), $opt = $('<button class="uk-button uk-button-link queue-item-action" title="' + tinyMCEPopup.getLang("dlg.resize_item_options", "Options") + '"><i class="uk-icon uk-icon-gear"></i></button>').click(function(e) {
e.preventDefault(), e.stopPropagation(), $(".queue-item-resize", file.element).toggleClass("uk-hidden");
}), $(".queue-item-actions", file.element).append($opt));
});
}
function onInit(e, o) {
var mode = getMode();
$("#view-mode").on("click", function(e) {
e.preventDefault(), e = "list" == (e = getMode()) ? "grid" : "list",
Wf.Storage.set("wf_" + Wf.getName() + "_mode", e), toggleMode(e);
}), $("#show-details").on("click", function(e) {
"grid" === mode && createPreviewThumbnails();
}), "grid" === mode && toggleMode(mode);
}
function deleteThumbnail() {
var items = $.fn.filebrowser.getselected();
Wf.Modal.confirm(tinyMCEPopup.getLang("dlg.delete_thumbnail", "Delete Thumbnail?"), function(state) {
state && (state = {
json: [ $.map(items, function(file) {
return $(file).attr("id");
}) ]
}, $.fn.filebrowser.status({
message: tinyMCEPopup.getLang("dlg.delete_thumbnail_message", "Deleting Thumbnail..."),
state: "load"
}), Wf.JSON.request("deleteThumbnail", state, function(o) {
o.error.length && Wf.Modal.alert(o.error), $.fn.filebrowser.load($.map(items, function(file) {
return $(file).data("url");
}));
}));
});
}
function createThumbnail() {
var item, items = $.fn.filebrowser.getselected();
if (options.thumbnail_width || options.thumbnail_height || (options.thumbnail_width = 120,
options.thumbnail_height = 90), 1 < items.length) return function(items) {
Wf.Modal.dialog(tinyMCEPopup.getLang("dlg.create_thumbnail", "Create Thumbnail"), "", {
id: "thumbnail-create-dialog",
classes: "uk-modal-prompt",
width: 440,
onOpen: function() {
$("#thumbnail-create-dialog").append('<div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-3-10" title="' + tinyMCEPopup.getLang("dlg.dimensions", "Dimensions") + '">' + tinyMCEPopup.getLang("dlg.dimensions", "Dimensions") + '</label> <div class="uk-width-2-3 uk-form-constrain uk-flex"> <div class="uk-form-controls"> <input type="text" name="thumbnail_width" class="uk-text-center" value="" /> </div> <div class="uk-form-controls"> <strong class="uk-form-label uk-text-center uk-vertical-align-middle uk-display-block">×</strong> </div> <div class="uk-form-controls"> <input type="text" name="thumbnail_height" class="uk-text-center" value="" /> </div> <div class="uk-form-controls uk-width-auto"> <label class="uk-form-label uk-width-1-1 uk-constrain-label" title="' + tinyMCEPopup.getLang("dlg.proportional", "Proportional") + '"><input class="uk-constrain-checkbox" type="checkbox" checked />' + tinyMCEPopup.getLang("dlg.proportional", "Proportional") + '</label> </div> </div></div><div class="uk-form-row uk-grid uk-grid-small"> <label for="thumbnail_quality" class="uk-form-label uk-width-3-10">' + tinyMCEPopup.getLang("dlg.quality", "Quality") + '</label> <div class="uk-form-controls uk-width-2-3"><input type="number" name="thumbnail_quality" min="1" max="100" value="100" class="quality" /> %</div></div><div class="uk-form-row uk-grid uk-grid-small"> <div class="uk-form-row uk-width-1-1"> <label class="uk-form-label uk-width-1-1" title="' + tinyMCEPopup.getLang("dlg.upload_crop", "Crop to Fit") + '" class="hastip"><input class="uk-margin-right" name="thumbnail_crop" type="checkbox" value="0" />' + tinyMCEPopup.getLang("dlg.upload_crop", "Crop Thumbnail") + "</label> </div></div>"),
options.upload_thumbnail_width || options.upload_thumbnail_height || (options.upload_thumbnail_width = 120,
options.upload_thumbnail_height = 90), $("#thumbnail-create-dialog").find('input[name^="thumbnail_width"]').val(options.upload_thumbnail_width),
$("#thumbnail-create-dialog").find('input[name^="thumbnail_height"]').val(options.upload_thumbnail_height),
$("#thumbnail-create-dialog").find(".uk-constrain-checkbox").constrain();
var crop_state = parseInt(options.upload_thumbnail_crop, 10);
$("#thumbnail-create-dialog").find('input[name="thumbnail_crop"]').prop("checked", !!crop_state).on("click", function() {
this.value = this.checked ? 1 : 0;
}).val(crop_state);
},
buttons: [ {
text: Wf.translate("cancel", "Cancel"),
icon: "uk-icon-close",
attributes: {
class: "uk-modal-close"
}
}, {
text: Wf.translate("ok", "OK"),
icon: "uk-icon-check",
attributes: {
type: "submit",
class: "uk-button-primary uk-modal-close"
},
click: function() {
var args = {
json: [ $.map(items, function(file) {
return $(file).attr("id");
}) ]
};
$.fn.filebrowser.status({
message: tinyMCEPopup.getLang("dlg.create_thumbnail_message", "Creating Thumbnail..."),
state: "load"
}), Wf.JSON.request("createThumbnails", args, function(o) {
o && o.error && o.error.length && Wf.Modal.alert(o.error || "Unable to create thumbnails"),
$.fn.filebrowser.load($.map(items, function(file) {
return $(file).data("url");
}));
}, self);
}
} ]
});
}(items);
item = items[0], Wf.Modal.dialog(tinyMCEPopup.getLang("dlg.create_thumbnail", "Create Thumbnail"), "", {
text: tinyMCEPopup.getLang("dlg.name", "Name"),
id: "thumbnail-create-dialog",
width: 680,
height: 440,
dialogClass: "thumbnail",
onOpen: function() {
$("#thumbnail-create-dialog").thumbnail({
src: $(item).data("preview") + "?" + new Date().getTime(),
values: {
width: options.upload_thumbnail_width,
height: options.upload_thumbnail_height,
quality: options.upload_thumbnail_quality
}
});
},
buttons: [ {
text: Wf.translate("save", "Save"),
icon: "uk-icon-check",
attributes: {
type: "submit",
class: "uk-button-primary uk-modal-close"
},
click: function() {
var data = $("#thumbnail-create-dialog").thumbnail("save"), args = {
json: [ $(item).attr("id") ]
}, box = {
sw: data.sw,
sh: data.sh,
sx: data.sx,
sy: data.sy
};
$.merge(args.json, [ data.width, data.height, data.quality, box ]),
$.fn.filebrowser.status({
message: tinyMCEPopup.getLang("dlg.create_thumbnail_message", "Creating Thumbnail..."),
state: "load"
}), Wf.JSON.request("createThumbnail", args, function(o) {
o && o.error && o.error.length && Wf.Modal.alert(o.error || "Unable to create thumbnail"),
$.fn.filebrowser.load($(item).data("url"));
}, self);
}
} ]
});
}
function onUpload() {}
$(window).ready(function(e) {
$("input.filebrowser").on("filebrowser:oninit", onInit).on("filebrowser:onbeforebuildList", onBeforeBuildList).on("filebrowser:onafterbuildlist", onAfterBuildList).on("filebrowser:onpaste", onAfterBuildList).on("filebrowser:editimage", editImage).on("filebrowser:edittext", editText).on("filebrowser:onuploadopen", getUploadOptions).on("filebrowser:onupload", onUpload).on("filebrowser:onlistsort", createPreviewThumbnails).on("filebrowser:onmaximise", createPreviewThumbnails).on("filebrowser:createthumbnail", createThumbnail).on("filebrowser:deletethumbnail", deleteThumbnail),
options = $.extend(options, FileBrowser.options);
});
}(jQuery, Wf);