Current File : /home/pacjaorg/www/cop/media/plg_system_nrframework/js/widgets/gallery/manager.js
var TF_Gallery_Manager=function(){function e(e){this.widget=e,this.dz_element=this.widget.querySelector(".tf-gallery-dz"),this.dz=null,this.token=Joomla.getOptions("csrf.token"),this.dropzone_message=this.dz_element.querySelector(".dz-message");var t=parseInt(this.dz_element.dataset.maxfiles);this.max_files=t||null;var i=parseFloat(this.dz_element.dataset.maxfilesize);this.max_file_size=i||null,this.baseurl=this.dz_element.dataset.baseurl,this.rooturl=this.dz_element.dataset.rooturl,this.upload_url="index.php?option=com_ajax&format=raw&plugin=Widgets&widget=GalleryManager",this.item_id=0,this.is_media_uploader_file=!1,this.media_uploader_filename="",this.actions_dropdown_class=".tf-gallery-actions-dropdown",Dropzone.autoDiscover=!1,this.lightbox=null,this.initSortable(),this.detectJ3MediaUploaderImage(),this.initEvents(),this.dz_element.GalleryManager=this}var t=e.prototype;return t.initSortable=function(){this.widget.classList.contains("readonly")||this.widget.classList.contains("disabled")||this.widget.classList.contains("ordering-default")&&new Sortable(this.dz_element,{animation:150,handle:".dz-thumb"})},t.initEvents=function(){this.widget.addEventListener("click",function(e){this.onRemovalOfSelectedImages(e),this.onSelectUnselectAllImages(e),this.onBeforeOpenJ4MediaManager(e),this.onJ4MediaManagerSelection(e),this.onRegenerateThumbnails(e)}.bind(this)),this.widget.addEventListener("dblclick",function(e){this.onDoubleClickSelectItem(e)}.bind(this)),this.widget.addEventListener("change",function(e){this.selectItem(e)}.bind(this))},t.lazyLoadThumbs=function(){var s=this;if(window.IntersectionObserver){var l=this.dz_element.dataset.rooturl,t=new IntersectionObserver(function(e,i){e.forEach(function(e){if(e.isIntersecting){var t=l+e.target.closest(".inner").querySelector(".item-thumbnail").value;s.loadThumbnail(e.target.closest(".tf-gallery-preview-item"),t),i.unobserve(e.target)}})},{rootMargin:"0px 0px 0px 0px"});this.dz_element.querySelectorAll("img:not([src])").forEach(function(e){t.observe(e)})}},t.init=function(){var s=this,e=!!this.widget.querySelector(':scope > input[type="hidden"]');this.dz=new Dropzone(this.dz_element,{url:this.baseurl+this.upload_url,previewTemplate:this.dz_element.nextElementSibling.innerHTML,clickable:[this.dz_element,this.widget.querySelector(".tf-gallery-add-item-button")],maxFilesize:this.max_file_size,uploadMultiple:!0,maxFiles:this.max_files,acceptedFiles:this.dz_element.dataset.acceptedfiles,autoProcessQueue:!0,parallelUploads:1,filesizeBase:2048,createImageThumbnails:!0,dictRemoveFileConfirmation:Joomla.JText._("NR_GALLERY_MANAGER_CONFIRM_DELETE"),thumbnailHeight:220,thumbnailWidth:300,timeout:3e5,init:function(){this.on("addedfile",function(e){0!==this.files.length&&s.markNotClickable(this),s.previewMessageHide(),s.onAddedFile(e),s.max_files===this.files.length&&s.disableAddButton()}),s.handleMocks(this),this.on("sending",function(e,t,i){s.onSendingFile(i)}),this.on("success",function(e){s.onSuccessUploadFile(e)}),this.on("removedfile",function(e){s.onRemovedFile(e)}),this.on("error",function(e,t,i){s.onErrorFile(e,t,i)}),this.on("queuecomplete",function(e){s.widget.classList.remove("dz-working")}),e&&(s.determineFieldValidityAndToggleValidatorField(this.files),this.on("removedfile",function(){s.determineFieldValidityAndToggleValidatorField(this.files)}),this.on("complete",function(){s.determineFieldValidityAndToggleValidatorField(this.files)}))}}),this.lazyLoadThumbs()},t.determineFieldValidityAndToggleValidatorField=function(e){var t=e.some(function(e){return"success"==e.status||e.exists});this.toggleHiddenValidatorField(t?"hide":"show")},t.toggleHiddenValidatorField=function(e){void 0===e&&(e="hide");var t=this.widget.querySelector(':scope > input[type="hidden"]');if("hide"==e)return t.removeAttribute("required"),void t.classList.remove("required");t.setAttribute("required","required"),t.classList.add("required")},t.onAddedFile=function(e){if(null==e.upload){var t={filename:e.filename,thumbnail:e.thumbnail,is_media_uploader_file:e.is_media_uploader_file};if(this.createHiddenInput(e.previewTemplate,t),e.previewTemplate.querySelector(".item-caption").value=e.caption||"",e.error){e.previewTemplate.classList.add("dz-error");var i=e.previewTemplate.querySelector(".tf-gallery-preview-error");i.innerHTML=e.error,i.classList.add("visible")}}else this.widget.classList.add("dz-working"),e.previewTemplate.classList.add("new"),this.showItemInQueueMessage(e.previewTemplate)},t.handleMocks=function(e){var t=this.dz_element.dataset.value;if(t){t=JSON.parse(t);for(var i=0;i<t.length;i++){var s=t[i];s.accepted=!0,s.exists||(s.error=Joomla.JText._("NR_GALLERY_MANAGER_FILE_MISSING")),e.emit("addedfile",s),e.emit("success",s),e.emit("complete",s),this.setThumbValue(e.element,s.thumb),e.files.push(s),0!==e.files.length&&this.markNotClickable(e)}this.max_files===t.length&&this.disableAddButton()}},t.markNotClickable=function(e){this.widget.classList.add("dz-has-items"),this.dz_element.classList.remove("dz-clickable"),this.dz_element.removeEventListener("click",e.listeners[1].events.click)},t.markClickable=function(){this.widget.classList.remove("dz-has-items"),this.dz_element.dataset.value="",this.dz.destroy(),this.init()},t.setThumbValue=function(e,t){t&&(e.querySelector("input.item-thumb").value=t)},t.onRemovedFile=function(e){if(0==this.dz.files.length&&(this.markClickable(),this.resetSelectedUnselectAllButton(),this.previewMessageShow(),this.setIsEditing(!1)),this.dz.files.length<this.max_files&&this.enableAddButton(),0!=e.size&&0!=e.accepted&&e.filename&&e.thumbnail){var t=new XMLHttpRequest;t.onload=function(){200<=t.status&&t.status<300||alert(t.responseText)},t.open("POST",this.baseurl+this.upload_url),t.setRequestHeader("X-CSRF-Token",this.token),fd=new FormData,fd.append("task","delete"),fd.append("field_id",this.widget.dataset.fieldId),fd.append("filename",e.filename),fd.append("thumbnail",e.thumbnail),fd.append("is_media_uploader_file",void 0!==e.is_media_uploader_file&&e.is_media_uploader_file),t.send(fd)}},t.onSendingFile=function(e){e.append("task","upload"),e.append("field_id",this.widget.dataset.fieldId),e.append(this.token,1),this.is_media_uploader_file&&(e.append("media_uploader",1),e.append("media_uploader_filename",this.media_uploader_filename),this.is_media_uploader_file=!1,this.media_uploader_filename="")},t.loadThumbnail=function(e,t){var i=this,s=new Image;s.onload=function(){i.setPreviewImageAspectRatio(e,this.width,this.height)},s.src=t,e.querySelector("img").src=t},t.setPreviewImageAspectRatio=function(e,t,i){var s=t/i;(s<.3||3<s)&&e.querySelector(".dz-thumb img").classList.add("fit-contain")},t.onSuccessUploadFile=function(e){var t=e.xhr.response;try{if(!(t=JSON.parse(t)).filename)throw"Cannot upload file";this.setPreviewImageAspectRatio(e.previewElement,e.width,e.height),e.filename=t.filename,e.thumbnail=t.thumbnail,this.createHiddenInput(e.previewTemplate,t),this.hideItemInQueueMessage(e.previewTemplate)}catch(e){alert("Error! "+e)}},t.onErrorFile=function(e){this.hideItemInQueueMessage(e.previewTemplate),e.thumbnail=e.upload.uuid,e.previewTemplate.querySelector(".item-thumbnail").value=e.upload.uuid,e.previewTemplate.querySelectorAll("*[name]").forEach(function(e){e.removeAttribute("name")})},t.previewMessageHide=function(){this.dropzone_message.classList.add("is-hidden")},t.previewMessageShow=function(){this.dropzone_message.classList.remove("is-hidden")},t.createHiddenInput=function(e,t){var i=document.createElement("input");e.classList.remove("template");var s=this.dz_element.dataset.inputname;s=s.replace("ITEM_ID",this.item_id),i.setAttribute("name",s+"[image]"),i.setAttribute("class","full_image_path"),i.setAttribute("type","hidden"),i.setAttribute("value",t.filename),e.appendChild(i),this.setElementItemID(e,"item-caption"),this.setElementItemID(e,"select-item-checkbox input","id"),this.setElementItemID(e,"select-item-checkbox label","for"),this.setElementItemID(e,"item-thumbnail"),this.setResizedThumbValue(e,t),e.setAttribute("data-item-id",t.thumbnail),this.item_id++},t.setResizedThumbValue=function(e,t){t.thumbnail&&(e.querySelector(".item-thumbnail").value=t.thumbnail)},t.setElementItemID=function(e,t,i){void 0===i&&(i="name");var s=e.querySelector("."+t),l=s.getAttribute(i).replace("ITEM_ID",this.item_id);s.setAttribute(i,l)},t.dataURItoBlob=function(e){for(var t=atob(e.split(",")[1]),i=e.split(",")[0].split(":")[1].split(";")[0],s=new ArrayBuffer(t.length),l=new Uint8Array(s),a=0;a<t.length;a++)l[a]=t.charCodeAt(a);return new Blob([s],{type:i})},t.fileToDataURL=function(e,t){var i=new XMLHttpRequest;i.onload=function(){var e=new FileReader;e.onloadend=function(){t(e.result)},e.readAsDataURL(i.response)},i.open("GET",e),i.responseType="blob",i.send()},t.detectJ3MediaUploaderImage=function(){var l=this;MutationObserver=window.MutationObserver||window.WebKitMutationObserver;var a,e=this.widget.querySelector(".media_uploader_file");a=e,new MutationObserver(function(e,t){if("value"==e[0].attributeName){if(!a.value)return!1;var i=a.value,s=l.rooturl+i;l.addFileByURL(s,i)}}).observe(a,{attributes:!0})},t.onBeforeOpenJ4MediaManager=function(e){var t=e.target.closest(".tf-gallery-browse-item-button[data-bs-target]");t&&this.getGalleryMediaManagerModal().setAttribute("data-gallery-id",t.dataset.galleryId)},t.onJ4MediaManagerSelection=function(e){var t=e.target.closest(".tf-gallery-button-save-selected");if(t){var i=t.closest("#tf-GalleryMediaManager").dataset.galleryId,s=document.querySelector(".nrf-widget."+i),l=this.widget.querySelector("iframe").contentDocument.querySelectorAll(".media-browser-items .media-browser-item.selected");if(l){e.preventDefault();var a=s.querySelector(".tf-gallery-dz");l.forEach(function(e){var t=e.querySelector(".image-background .image-cropped"),i=(t.src?t.src:t.style.backgroundImage.match(/url\(["']?([^"']*)["']?\)/)[1]).split("?")[0],s=i.split("/images");s="images"+s[1],a.GalleryManager.addFileByURL(i,s)})}}},t.onRegenerateThumbnails=function(e){var t=e.target.closest(".tf-gallery-regenerate-thumbs-button");if(t&&!e.target.closest(".message")&&confirm(Joomla.JText._("NR_GALLERY_MANAGER_CONFIRM_REGENERATE_THUMBNAILS"))){e.preventDefault();var i=this;this.widget.classList.add("dz-working"),t.classList.add("working");var s=this.widget.querySelectorAll(".tf-gallery-preview-item:not(.new)"),l=[];s.forEach(function(e){l.push(e.querySelector('input[type="hidden"].full_image_path').value)});var a=this.widget.querySelectorAll(".tf-gallery-preview-item.new"),n=[];a.forEach(function(e){n.push(e.querySelector('input[type="hidden"].full_image_path').value)});var r=t.querySelector(".message"),o=this.baseurl+this.upload_url+"&task=regenerate_thumbs&"+this.token+"=1",d=new FormData;d.append("field_id",this.widget.dataset.fieldId),d.append("existing",JSON.stringify(l)),d.append("new",JSON.stringify(n)),fetch(o,{method:"POST",body:d}).then(function(e){return e.json()}).then(function(e){r.innerHTML=e.message,r.classList.add("visible"),setTimeout(function(){r.classList.remove("visible")},1500),t.classList.remove("working"),i.widget.classList.remove("dz-working")}).catch(function(e){alert(e)})}},t.onDoubleClickSelectItem=function(e){var t=e.target.closest(".tf-gallery-preview-item");if(t&&!e.target.closest("textarea")){var i=t.querySelector('input[type="checkbox"]');i.checked=!i.checked,i.dispatchEvent(new Event("change",{bubbles:!0}))}},t.addFileByURL=function(s,l){var a=this,n=this.widget.querySelector(".media_uploader_file");this.fileToDataURL(s,function(e){var t=e.split(",")[0].match(/[^:\s*]\w+\/[\w-+\d.]+(?=[;| ])/)[0],i=a.dataURItoBlob(e,t);i.name=l,a.dz.addFile(i),a.is_media_uploader_file=!0,a.media_uploader_filename=s,n.value=""})},t.resetSelectedUnselectAllButton=function(){0==this.dz.files.length&&this.updateSelectButton("select",!0)},t.updateSelectButton=function(e,t){void 0===e&&(e="select"),void 0===t&&(t=!1);var i=this.widget.querySelector(".tf-gallery-actions "+this.actions_dropdown_class),s=i.querySelector(".tf-gallery-actions-dropdown-current"),l="icon-checkbox-checked",a="icon-checkbox-unchecked";if("select"===e)s.classList.remove("unselect"),s.classList.add("select");else{s.classList.remove("select"),s.classList.add("unselect");var n=a;a=l,l=n}s.querySelector("i").classList.remove(l),s.querySelector("i").classList.add(a),t&&i.setAttribute("disabled",!0)},t.onRemovalOfSelectedImages=function(e){var t=this,i=e.target.closest(".tf-gallery-remove-selected-items-button");if(i){e.preventDefault();var s=this.getAllItems(!0);if(0==s.length)return!1;if(confirm(Joomla.JText._("NR_GALLERY_MANAGER_CONFIRM_DELETE_ALL_SELECTED"))){i.setAttribute("disabled",!0);var l=[];s.forEach(function(e){l.push(e.closest(".tf-gallery-preview-item").querySelector(".item-thumbnail").value)}),this.dz.files.filter(function(e){return l.includes(e.thumbnail)}).forEach(function(e){t.dz.removeFile(e)}),i.removeAttribute("disabled"),this.setIsEditing(!1),this.resetSelectedUnselectAllButton()}}},t.selectItem=function(e){var t=e.target.closest(".select-item-checkbox");t&&(this.updateGalleryItem(t.querySelector('input[type="checkbox"]')),e.preventDefault())},t.setIsEditing=function(e){e?this.widget.classList.add("editing"):this.widget.classList.remove("editing")},t.updateGalleryItem=function(e){var t=this.getAllItems().length,i=this.getAllItems(!0).length;0<i?this.widget.querySelector(this.actions_dropdown_class+" .dropdown-menu li a.unselect").classList.remove("is-hidden"):(this.widget.querySelector(this.actions_dropdown_class+" .dropdown-menu li a.select").classList.remove("is-hidden"),this.widget.querySelector(this.actions_dropdown_class+" .dropdown-menu li a.unselect").classList.add("is-hidden"),this.updateSelectButton("select")),e.checked?(e.closest(".tf-gallery-preview-item").classList.add("is-selected"),this.setIsEditing(!0)):(e.closest(".tf-gallery-preview-item").classList.remove("is-selected"),0===i&&this.setIsEditing(!1)),t===i?(this.updateSelectButton("unselect"),this.widget.querySelector(this.actions_dropdown_class+" .dropdown-menu li a.select").classList.add("is-hidden")):(this.updateSelectButton("select"),this.widget.querySelector(this.actions_dropdown_class+" .dropdown-menu li a.select").classList.remove("is-hidden"))},t.onSelectUnselectAllImages=function(e){var t=e.target.closest(".tf-gallery-actions-dropdown-action");if(t&&(e.preventDefault(),0!==this.getAllItems().length)){var i=t.classList.contains("unselect")?"select":"unselect";"unselect"==i?this.selectAllImages():this.unselectAllImages(),this.updateSelectButton(i)}},t.select=function(e){var t=e.querySelector(".select-item-checkbox input:not(:checked)");t.checked=!0,t.dispatchEvent(new Event("change",{bubbles:!0})),this.updateGalleryItem(t)},t.deselect=function(e){var t=e.querySelector(".select-item-checkbox input:checked");t.checked=!1,t.dispatchEvent(new Event("change",{bubbles:!0})),this.updateGalleryItem(t)},t.selectAllImages=function(){var t=this;this.widget.querySelectorAll(".tf-gallery-preview-item:not(.is-selected)").forEach(function(e){t.select(e)})},t.unselectAllImages=function(){var t=this;this.widget.querySelectorAll(".tf-gallery-preview-item.is-selected").forEach(function(e){t.deselect(e)})},t.getAllItems=function(e){void 0===e&&(e=!1);var t=e?":checked":"";return this.widget.querySelectorAll(".tf-gallery-preview-item .select-item-checkbox input"+t)},t.showItemInQueueMessage=function(e){e.querySelector(".tf-gallery-preview-in-queue").classList.add("is-visible")},t.hideItemInQueueMessage=function(e){e.querySelector(".tf-gallery-preview-in-queue").classList.remove("is-visible")},t.getAddButtonWrapper=function(){return this.widget.querySelector(".tf-gallery-actions .add-button")},t.enableAddButton=function(){var e=this.getAddButtonWrapper();e.classList.remove("disabled"),e.removeAttribute("title")},t.disableAddButton=function(){var e=this.getAddButtonWrapper();e.classList.add("disabled"),e.title=Joomla.JText._("NR_GALLERY_MANAGER_REACHED_FILES_LIMIT")},t.getGalleryMediaManagerModal=function(){return document.querySelector("#tf-GalleryMediaManager")},e}();

Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!