Rev 35525 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<style>.table-striped > tbody > tr:nth-child(odd) > td {background: white;background-color: white;}.table-striped > tbody > tr:nth-child(even) > td {background: white;background-color: white;}.table-striped > tbody > tr:hover > td,.table-striped > tbody > tr:hover {background-color: #e98c8f;color: white;}.btn:hover {color: grey;text-decoration: none;}.btn-primary:hover {color: grey;text-decoration: none;}.thumb-image-container {float: left;position: relative;padding: 5px;}.thumb-image {float: left;width: 250px;position: relative;padding: 5px;}.selectedItem {border: 2px solid blue;}</style><section class="wrapper"><div class="row"><div class="col-lg-12"><h3 class="page-header"><i class="icon_document_alt"></i>CONTENT</h3><ol class="breadcrumb"><li><i class="fa fa-home"></i><a href="${rc.contextPath}/dashboard">Home</a></li><li><i class="icon_document_alt"></i>CONTENT</li></ol></div></div><div id="upload-table"><div class="row"><div class="col-lg-12"><form class="form-horizontal"><label class="control-label col-sm-2" for="excelfile">Add Content CSV File:</label><div class="col-lg-3"><div class="input-group"><input class="form-control" type="file" id="entityupload" name="uploadfile"value="Upload Images"><span class="input-group-btn"><button class="btn btn-default entityfileupload">Upload</button></span></div></div><div class="col-lg-2"><a class="btn btn-default" href="${rc.contextPath}/content/template.csv">Download Template</a></div></form></div></div><div class="row"><div class="col-lg-12"><form class="form-horizontal"><label class="control-label col-sm-2" for="excelfile">Add Catalog CSV File:</label><div class="col-lg-3"><div class="input-group"><input class="form-control" type="file" id="skupload" name="skuploadfile"value="Upload Images"><span class="input-group-btn"><button class="btn btn-default catalogfileupload">Upload</button></span></div></div><div class="col-lg-2"><a class="btn btn-default" href="${rc.contextPath}/download/catalog-template.xls">Download Template</a></div></form></div></div><div class="row"><div class="col-lg-12"><form class="form-horizontal"><label class="control-label col-sm-2" for="videocsvfile">Upload Video Url CSV:</label><div class="col-lg-3"><div class="input-group"><input class="form-control" type="file" id="videocsv" name="videocsv"><span class="input-group-btn"><button class="btn btn-default videofileupload">Upload</button></span></div></div><div class="col-lg-2"><button onclick="downloadTestCSV()">Download Test CSV</button></div></form></div></div></div><div id="wrapper" style="margin-top: 20px;" class="row"><form class="form-horizontal" id="mediaForm" method="POST" action="content/media/upload"enctype="multipart/form-data"><div class="row container"><div class="col-lg-4"><div class="input-group"><input type="text" class="form-control typeahead" id="entityData"placeholder="Search for Entity"><span class="input-group-btn"><button id="loadImages" class="btn btn-default" type="button">Load Images</button></span></div><!-- /input-group --></div><!-- /.col-lg-6 --><div class="col-lg-3"><div><input id="fileUpload" multiple="multiple" type="file" class="form-control"/></div></div><div class="col-lg-2"><input type="submit" class="btn btn-default" value="Upload Images"></div><div class="col-lg-2"><button id="btnDelete" class="btn btn-default">Delete Selected</button></div></div><div id="image-holder"></div></form></div></section><script type="text/javascript">$(document).ready(function () {$('button.entityfileupload').on('click', function () {var fileSelector = $('#entityupload')[0];if (fileSelector != undefined && fileSelector.files[0] != undefined) {if (confirm("Confirm Upload?")) {doAjaxUploadRequestHandler("${rc.contextPath}/content/upload", "POST", fileSelector.files[0], function (response) {console.log("response ---content", response)if (response) {alert("Content updated successfully");}});}} else {alert("Please upload file!");}return false;});$(document).ready(function () {$('button.videofileupload').on('click', function () {var fileSelector = $('#videocsv')[0];if (fileSelector && fileSelector.files[0]) {if (confirm("Confirm Video URL Upload?")) {doAjaxUploadRequestHandler("/content/video/upload", // <-- new endpoint"POST",fileSelector.files[0],function (response) {if (response) {alert("Video URLs updated successfully!");}});}} else {alert("Please upload CSV file!");}return false;});});$('button.catalogfileupload').on('click', function () {var fileSelector = $('#skupload')[0];if (fileSelector != undefined && fileSelector.files[0] != undefined) {if (confirm("Confirm Upload?")) {doAjaxUploadRequestHandler("${rc.contextPath}/catalog/upload", "POST", fileSelector.files[0], function (response) {if (response) {alert("Items Added Successfully");}});}} else {alert("Please upload file!");}return false;});});$(document).ready(function () {$("#image-holder").on('click', '.thumb-image', function () {$(this).closest('.thumb-image-container').toggleClass("selectedItem");});$("#btnDelete").on("click", function () {$(".selectedItem").remove();return false;});$("#loadImages").on('click', function () {doGetAjaxRequestHandler(context + "/content/media?entityId=" + entityId, function (response) {debugger;if (response) {response = JSON.parse(response);var image_holder = $("#image-holder");response.mediaPojos.forEach(function (value, index) {var checked = index == response.defaultImageIndex;var divObj =$(`<div class="thumb-image-container"><div class="radio"><label><input type="radio" name="optionsRadios">Set as default</label></div><div><input type="text" name="descriptions[]" placeholder="Image Description"/></div></div>`).appendTo(image_holder);var imgObject = $("<img />", {"class": "thumb-image"}).appendTo(divObj);divObj.find('input[type=text]').val(value.title);divObj.find('input:radio').prop("checked", checked);url = new URL(value.url);url.protocol = "https:";fetch(url.toString(), {mode: 'no-cors'}).then(function (response) {response.blob().then(function (blob) {imgObject.src = URL.createObjectURL(blob);});});});}});});$("#mediaForm").on("submit", function () {debugger;returnedValue = "";if (!$("input:radio[name='optionsRadios']").is(":checked")) {alert("Please check default image!");} else if (confirm("Are you sure?")) {var jsonObject = {};jsonObject.entityId = entityId;jsonObject.mediaPojos = [];$('#image-holder .thumb-image-container').each(function (index, ele) {var title = $(ele).find("input:text").val().trim();if (title.length == 0) {alert("Descriptions are required!");} else {var mediaPojo = {};mediaPojo.title = title;mediaPojo.imageData = $(ele).find("img").attr("src");debugger;jsonObject.mediaPojos.push(mediaPojo);if ($(ele).find("input:radio:checked").length > 0) {jsonObject.defaultImageIndex = index;}}});doPostAjaxRequestWithJsonHandler("/content/media/upload", JSON.stringify(jsonObject), function (response) {bootbox.alert("Images uploaded successfully");});}$(".selectedItem");return false;});$("#fileUpload").on('change', function () {//Get count of selected filesvar countFiles = this.files.length;var imgPath = this.value;var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase();var image_holder = $("#image-holder");image_holder.remove(".new");if (extn == "gif" || extn == "png" || extn == "jpg" || extn == "jpeg" || extn == 'webp') {if (typeof (FileReader) != "undefined") {//loop for each file selected for uploaded.for (var i = 0; i < countFiles; i++) {var reader = new FileReader();var filename = this.files[i].namereader.description = filename.substring(0, filename.lastIndexOf('.'));reader.onload = function (e) {var divObj =$(`<div class="thumb-image-container new"><div class="radio"><label><input type="radio" name="optionsRadios">Set as default</label></div><div><input type="text" name="descriptions[]" placeholder="Image Description"/></div></div>`).appendTo(image_holder);$("<img />", {"src": e.target.result,"class": "thumb-image"}).appendTo(divObj);divObj.find('input[type=text]').val(this.description);}reader.readAsDataURL(this.files[i]);}} else {alert("This browser does not support FileReader.");}} else {alert("Pls select only images");}});getEntityAheadOptions($("#entityData"), function (selectedEntity) {entityId = selectedEntity.catalogId_i;});});$(function () {$("#image-holder").sortable({tolerance: 'pointer',revert: 'invalid',placeholder: 'thumb-image-container',forceHelperSize: true});});function downloadTestCSV() {const csvContent ="serialNumber,catalogId,videoUrl\n" +"1,12345,https://cdn.example.com/videos/demo-video-1.mp4\n" +"2,12345,https://cdn.example.com/videos/demo-video-2.mp4\n" +"3,54321,https://cdn.example.com/videos/demo-video-3.mp4";const blob = new Blob([csvContent], {type: "text/csv;charset=utf-8;"});const link = document.createElement("a");link.href = URL.createObjectURL(blob);link.download = "video_upload_test.csv";link.click();}</script>