Index: lams_tool_images/web/includes/javascript/imageGalleryitem.js =================================================================== RCS file: /usr/local/cvsroot/lams_tool_images/web/includes/javascript/imageGalleryitem.js,v diff -u -r1.4.2.2 -r1.4.2.3 --- lams_tool_images/web/includes/javascript/imageGalleryitem.js 13 Apr 2015 18:18:03 -0000 1.4.2.2 +++ lams_tool_images/web/includes/javascript/imageGalleryitem.js 12 May 2016 09:54:34 -0000 1.4.2.3 @@ -1,63 +1,152 @@ - var itemAttachmentTargetDiv = "itemAttachmentArea"; - function removeItemAttachment(idx){ - //var id = "instructionItem" + idx; - //Element.remove(id); - var url= removeItemAttachmentUrl; - var reqIDVar = new Date(); - var param = "reqID="+reqIDVar.getTime(); - removeItemAttachmentLoading(); - var myAjax = new Ajax.Updater( - itemAttachmentTargetDiv, - url, - { - method:'post', - parameters:param, - onComplete:removeItemAttachmentComplete, - evalScripts:true - } - ); - } - function removeItemAttachmentLoading(){ - showBusy(itemAttachmentTargetDiv); - } - function removeItemAttachmentComplete(){ - hideBusy(itemAttachmentTargetDiv); - } - - function cancelImageGalleryItem(){ - var win = null; - if (window.hideMessage) { - win = window; - } else if (window.parent && window.parent.hideMessage) { - win = window.parent; - } else { - win = window.top; +var itemAttachmentTargetDiv = "itemAttachmentArea"; +function removeItemAttachment(idx){ + removeItemAttachmentLoading(); + $("#" + itemAttachmentTargetDiv).load( + removeItemAttachmentUrl, + { + reqID: new Date() } - win.hideMessage(); + ); +} + +function removeItemAttachmentLoading(){ + showBusy(itemAttachmentTargetDiv); +} + +function cancelImageGalleryItem(){ + var win = null; + if (window.hideMessage) { + win = window; + } else if (window.parent && window.parent.hideMessage) { + win = window.parent; + } else { + win = window.top; } - /** - * Launches the popup window for the instruction files - */ - function showMessage(url) { - var area = window.document.getElementById('reourceInputArea'); - var elem = window.document.getElementById("saveCancelButtons"); - if (!area && window.parent) { - area = window.parent.document.getElementById('reourceInputArea'); - elem = window.parent.document.getElementById("saveCancelButtons"); - } - if (!area) { - obj = window.top.document.getElementById('reourceInputArea'); - elem = window.top.document.getElementById("saveCancelButtons"); + win.hideMessage(); +} + +function submitImageGalleryItem(){ + + if ( typeof CKEDITOR !== 'undefined' ) { + for ( instance in CKEDITOR.instances ) { + CKEDITOR.instances[instance].updateElement(); } + } + + var formData = new FormData(); + $.each($('#imageGalleryItemForm').serializeArray(), function(i, field) { + formData.append(field.name, field.value); + }); + + // validate uploading file if we add it for the first time + if (!eval($("#has-file").val())) { + var fileSelect = document.getElementById('file-select'); + // Get the selected files from the input. + var files = fileSelect.files; - if(area != null){ - area.style.width="100%"; - area.src=url; - area.style.display="block"; + if (files.length == 0) { + alert(LABEL_ITEM_BLANK); + return; } + var file = files[0]; - if (elem != null) { - elem.style.display="none"; + // Check the file type. + if (file.name.length < 1) { + alert("file.name.length < 1"); + return; + } else if (file.size > UPLOAD_FILE_LARGE_MAX_SIZE) { + alert(LABEL_MAX_FILE_SIZE); + return; + } else if (file.type != 'image/png' && file.type != 'image/jpg' && file.type != 'image/gif' && file.type != 'image/jpeg' ) { + alert(LABEL_NOT_ALLOWED_FORMAT); + return; } - location.hash = "reourceInputArea"; - } + + // Add the file to the request. + formData.append('file', file, file.name); + } + + $.ajax({ + type: 'POST', + url: $("#imageGalleryItemForm").attr('action'), + data: formData, + processData: false, + contentType: false, + success: function(data) { + $('#imageGalleryListArea').html(data); + }, + error: function(jqXHR, textStatus, errorMessage) { + alert(errorMessage); + } + }); +} + +function submitMultipleImageGalleryItems(){ + var formData = new FormData(); + formData.append('sessionMapID', $("#sessionMapID").val()); + + // Get selected files from the inputs + var validateFiles = []; + if ($('#file1').val()) { + var file = document.getElementById('file1').files[0]; + validateFiles.push(file); + formData.append('file1', file, file.name); + } + if ($('#file2').val()) { + var file = document.getElementById('file2').files[0]; + validateFiles.push(file); + formData.append('file2', file, file.name); + } + if ($('#file3').val()) { + var file = document.getElementById('file3').files[0]; + validateFiles.push(file); + formData.append('file3', file, file.name); + } + if ($('#file4').val()) { + var file = document.getElementById('file4').files[0]; + validateFiles.push(file); + formData.append('file4', file, file.name); + } + if ($('#file5').val()) { + var file = document.getElementById('file5').files[0]; + validateFiles.push(file); + formData.append('file5', file, file.name); + } + + // validate files + if (validateFiles.length == 0) { + alert(LABEL_ITEM_BLANK); + return; + } + for (var i = 0; i < validateFiles.length; i++) { + var file = validateFiles[i]; + + // Check the file type. + if(file.name.length < 1) { + alert("file.name.length < 1"); + return; + } else if (file.size > UPLOAD_FILE_LARGE_MAX_SIZE) { + alert(LABEL_MAX_FILE_SIZE); + return; + } else if (file.type != 'image/png' && file.type != 'image/jpg' && file.type != 'image/gif' && file.type != 'image/jpeg' ) { + alert(LABEL_NOT_ALLOWED_FORMAT); + return; + } + + // Add the file to the request. + } + + $.ajax({ + type: 'POST', + url: saveMultipleImagesUrl, + data: formData, + processData: false, + contentType: false, + success: function(data) { + $('#imageGalleryListArea').html(data); + }, + error: function(jqXHR, textStatus, errorMessage) { + alert(errorMessage); + } + }); +}