/*Powered By: Manaknightdigital Inc. https://manaknightdigital.com/ Year: 2019*/ $(document).ready(function() { var page = 0; var num_page = 0; var image_selected = ""; var field = ""; }); // ====== Assets =========== window.asset_page = 0; window.asset_num_page = 0; window.asset_per_page = 0; window.asset_num_item = 0; window.asset_selected_id = 0; window.asset_selected_img = ""; // ====== CROPPING =========== window.crop_object = null; window.crop_width = 500; window.crop_height = 500; window.crop_boundary_width = 500; window.crop_boundary_height = 500; window.crop_output_image = "output_image"; window.crop_image_id = 0; window.crop_image_url = ""; $(document).ready(function() { $(".mkd-close-modal").click(function() { $("#mkd-media-gallery-wrapper").html(""); window.asset_page = 0; window.asset_num_page = 0; window.asset_per_page = 0; window.asset_num_item = 0; window.asset_selected_id = 0; window.asset_selected_img = ""; if (window.crop_object) { window.crop_object.destroy(); } window.crop_object = null; window.crop_width = 500; window.crop_height = 500; window.crop_boundary_width = 500; window.crop_boundary_height = 500; window.crop_output_image = "output_image"; window.crop_image_id = 0; window.crop_image_url = ""; $("#mkd-media-gallery-container").show(); $(".mkd-media-panel-1").show(); $(".mkd-media-panel-3").hide(); $("#mkd-media-upload-container").hide(); $("#mkd-media-crop-container").hide(); $(".mkd-media-panel-2").hide(); }); $("#mkd-media-choose").click(function() { if (window.asset_selected_id != 0) { $("#" + window.crop_image_id).val(window.asset_selected_id); $("#" + window.crop_image_url).val(window.asset_selected_img); $("#" + window.crop_output_image).attr("src", window.asset_selected_img); $("#mkd-media-gallery").modal("hide"); $("#mkd-media-upload-container").hide(); $("#mkd-media-crop-container").hide(); $("#mkd-media-gallery-container").show(); $(".mkd-media-panel-1").show(); $(".mkd-media-panel-2").hide(); $(".mkd-media-panel-3").hide(); $("#mkd-media-gallery-wrapper").html(""); window.asset_page = 0; window.asset_num_page = 0; window.asset_per_page = 0; window.asset_num_item = 0; window.asset_selected_id = 0; window.asset_selected_img = ""; window.crop_object = null; window.crop_width = 500; window.crop_height = 500; window.crop_boundary_width = 500; window.crop_boundary_height = 500; window.crop_output_image = "output_image"; window.crop_image_id = 0; window.crop_image_url = ""; } }); $("#mkd-load-more").click(function() { if (window.asset_page + window.asset_per_page >= window.asset_num_item) { $("#mkd-load-more-container").hide(); } $.ajax({ type: "GET", url: "/v1/api/assets/" + window.asset_page }).done(function(result) { window.asset_page = result.page; window.asset_num_page = result.num_page; window.asset_num_item = result.num_item; window.asset_per_page = result.per_page; var items = result.item; for (var i = 0; i < items.length; i++) { var element = items[i]; $("#mkd-media-gallery-wrapper").append( '
' ); } if (window.asset_page + window.asset_per_page >= window.asset_num_item) { $("#mkd-load-more-container").hide(); } window.asset_page = window.asset_page + window.asset_per_page; $(".mkd-gallery-image-image").click(function() { var id = Number($(this).attr("data-id")); $(this).addClass("active"); window.asset_selected_id = id; window.asset_selected_img = $(this).attr("src"); }); }); }); $(".mkd-choose-image").click(function() { var view_width = Number($(this).attr("data-view-width")); var view_height = Number($(this).attr("data-view-height")); var boundary_width = Number($(this).attr("data-boundary-width")); var boundary_height = Number($(this).attr("data-boundary-height")); var image_preview = $(this).attr("data-image-preview"); var image_id = $(this).attr("data-image-id"); var image_url = $(this).attr("data-image-url"); window.crop_output_image = image_preview; window.crop_image_id = image_id; window.crop_image_url = image_url; if (Number.isInteger(view_width)) { window.crop_width = Number(view_width); } if (Number.isInteger(view_height)) { window.crop_height = Number(view_height); } if (Number.isInteger(boundary_width)) { window.crop_boundary_width = Number(boundary_width); } if (Number.isInteger(boundary_height)) { window.crop_boundary_height = Number(boundary_height); } $("#mkd-media-gallery").modal("show"); $("#mkd-load-more-container").show(); $.ajax({ type: "GET", url: "/v1/api/assets/0" }).done(function(result) { window.asset_page = result.page; window.asset_num_page = result.num_page; window.asset_num_item = result.num_item; window.asset_per_page = result.per_page; var items = result.item; for (var i = 0; i < items.length; i++) { var element = items[i]; $("#mkd-media-gallery-wrapper").append( '
' ); } if (result.page + result.per_page >= result.num_item) { $("#mkd-load-more-container").hide(); } window.asset_page = window.asset_page + window.asset_per_page; $(".mkd-gallery-image-image").click(function() { var id = Number($(this).attr("data-id")); $(this).addClass("active"); window.asset_selected_id = id; window.asset_selected_img = $(this).attr("src"); }); }); }); $("#mkd-media-upload").click(function() { $("#mkd-media-gallery-container").hide(); $(".mkd-media-panel-1").hide(); $(".mkd-media-panel-3").hide(); $("#mkd-media-upload-container").show(); $(".mkd-media-panel-2").show(); }); mkd_events.subscribe("crop_image", function(e) { $("#mkd-media-upload-container").hide(); $("#mkd-media-crop-container").show(); $(".mkd-media-panel-1").hide(); $(".mkd-media-panel-2").hide(); $(".mkd-media-panel-3").show(); var el = document.getElementById("mkd-crop-upload-container"); window.crop_object = new Croppie(el, { enableExif: true, viewport: { width: window.crop_width, height: window.crop_height }, boundary: { width: window.crop_boundary_width, height: window.crop_boundary_height } }); window.crop_object.bind({ url: e.url }); $("#mkd-media-crop").click(function() { window.crop_object .result({ type: "base64", format: "png" }) .then(function(base64) { $.ajax({ type: "POST", url: "/v1/api/image/upload", data: { image: base64 } }) .done(function(result) { mkd_events.publish("image_uploaded", result); }) .fail(function(jqXHR, textStatus) { alert("Image Upload Failed"); }); }); }); }); mkd_events.subscribe("file_upload", function(e) { var formData = new FormData(); formData.append("file", e.url, "file"); $.ajax({ url: "/v1/api/file/upload", type: "post", data: formData, processData: false, contentType: false, cache: false, async: false, success: function(data) { $("#" + e.id).val(data.file); $("#" + e.id + "_id").val(data.id); $("#" + e.id + "_text").html(data.file); } }); }); mkd_events.subscribe("image_uploaded", function(e) { $("#mkd-media-gallery").modal("hide"); $("#mkd-media-upload-container").hide(); $("#mkd-media-crop-container").hide(); $("#mkd-media-gallery-container").show(); $(".mkd-media-panel-1").show(); $(".mkd-media-panel-2").hide(); $(".mkd-media-panel-3").hide(); $("#" + window.crop_output_image).attr("src", e.image); $("#" + window.crop_image_id).val(e.id); $("#" + window.crop_image_url).val(e.image); $("#mkd-media-gallery-wrapper").html(""); window.asset_page = 0; window.asset_num_page = 0; window.asset_num_item = 0; window.asset_selected_id = 0; window.asset_selected_img = ""; if (window.crop_object) { window.crop_object.destroy(); } window.crop_object = null; window.crop_width = 500; window.crop_height = 500; window.crop_boundary_width = 500; window.crop_boundary_height = 500; window.crop_output_image = "output_image"; window.crop_image_id = 0; window.crop_image_url = ""; }); mkd_events.subscribe("file_import", function(e) { var formData = new FormData(); formData.append("file", e.url, "file"); $.ajax({ url: "/v1/api/file/import/" + e.model, type: "post", data: formData, processData: false, contentType: false, cache: false, async: false, success: function(data) { alert("Imported Data successfully"); }, error: function(error) { alert("Error: " + error.responseJSON.message); } }); }); }); function onFileSelected(event) { var selectedFile = event.target.files[0]; var reader = new FileReader(); reader.onload = function(e) { mkd_events.publish("crop_image", { url: e.target.result }); }; reader.readAsDataURL(selectedFile); } function onFileUploaded(event, id) { var selectedFile = event.target.files[0]; var reader = new FileReader(); reader.onload = function(e) { mkd_events.publish("file_upload", { url: selectedFile, id: id }); }; reader.readAsDataURL(selectedFile); } function onFileImport(event, model) { alert( "Remember to have to the following in CSV: \n1.All field seperate by ;. \n2.ID is first field. \n3.All field wrap around with double quotes.\n4.1 line per row.\n5.No header row." ); var selectedFile = event.target.files[0]; var reader = new FileReader(); reader.onload = function(e) { mkd_events.publish("file_import", { url: selectedFile, model: model }); }; reader.readAsDataURL(selectedFile); } function fixBrokenImages(url) { var img = document.getElementsByTagName("img"); var i = 0, l = img.length; for (; i < l; i++) { var t = img[i]; if (t.naturalWidth === 0) { //this image is broken t.src = url; } } }