var imageManagerInput = { baseUrl: null, //language message: null, //init imageManagerInput init: function() { //create modal imageManagerInput.initModal(); }, //creat image Manager modal initModal: function() { //check if modal not jet exists if ($("#modal-imagemanager").length === 0) { //set html modal in var var sModalHtml = ''; //prepend data to body $('body') .prepend(sModalHtml); } }, //open media manager modal openModal: function(inputId, aspectRatio, cropViewMode) { //get selected item var iImageId = $("#" + inputId) .val(); var srcImageIdQueryString = ""; if (iImageId !== "") { srcImageIdQueryString = "&image-id=" + iImageId; } //create iframe url var queryStringStartCharacter = ((imageManagerInput.baseUrl).indexOf('?') == -1) ? '?' : '&'; var imageManagerUrl = imageManagerInput.baseUrl + queryStringStartCharacter + "view-mode=iframe&input-id=" + inputId + "&aspect-ratio=" + aspectRatio + "&crop-view-mode=" + cropViewMode + srcImageIdQueryString; //set iframe path $("#modal-imagemanager iframe") .attr("src", imageManagerUrl); //set translation title for modal header $("#modal-imagemanager .modal-dialog .modal-header h4") .text(imageManagerInput.message.imageManager); //open modal $("#modal-imagemanager") .modal("show"); }, //close media manager modal closeModal: function() { $("#modal-imagemanager") .modal("hide"); }, //delete picked image deletePickedImage: function(inputId) { //remove value of the input field var sFieldId = inputId; var sFieldNameId = sFieldId + "_name"; var sImagePreviewId = sFieldId + "_image"; var bShowConfirm = JSON.parse( $(".delete-selected-image[data-input-id='" + inputId + "']") .data("show-delete-confirm") ); //show warning if bShowConfirm == true if (bShowConfirm) { if (confirm(imageManagerInput.message.detachWarningMessage) == false) { return false; } } //set input data $('#' + sFieldId) .val(""); $('#' + sFieldNameId) .val(""); //trigger change $('#' + sFieldId) .trigger("change"); //hide image $('#' + sImagePreviewId) .attr("src", "") .parent() .addClass("hide"); //delete hide class $(".delete-selected-image[data-input-id='" + inputId + "']") .addClass("hide"); } }; $(document) .ready( function() { //init Image manage imageManagerInput.init(); //open media manager modal $(document) .on( "click", ".open-modal-imagemanager", function() { var aspectRatio = $(this) .data("aspect-ratio"); var cropViewMode = $(this) .data("crop-view-mode"); var inputId = $(this) .data("input-id"); //open selector id imageManagerInput.openModal(inputId, aspectRatio, cropViewMode); } ); //delete picked image $(document) .on( "click", ".delete-selected-image", function() { var inputId = $(this) .data("input-id"); //open selector id imageManagerInput.deletePickedImage(inputId); } ); } );