Version 5.0.0 beta 1

This commit is contained in:
Neo committed 2025-12-19 16:27:35 -08:00
1 parent 25ddeb65d6
commit 15c7beabc5
6736 files changed
+627902 -497943

No files matched your search

@@ -0,0 +1,2 @@
;(function($,_,undefined){"use strict";ips.controller.register('gallery.admin.settings.settings',{alertOpen:false,initialize:function(){if($('input[name=rebuildWatermarkScreenshots]').val()==0){this.on('uploadComplete','[data-ipsUploader]',this.promptRebuildPreference);this.on('fileDeleted',this.promptRebuildPreference);this.on('change','#gallery_watermark_images input, #form_gallery_large_dims input, #form_gallery_small_dims input, #form_gallery_use_square_thumbnails input',this.promptRebuildPreference);}},promptRebuildPreference:function(e){if(this.alertOpen){return;}
this.alertOpen=true;ips.ui.alert.show({type:'confirm',message:ips.getString('rebuildGalleryThumbnails'),subText:ips.getString('rebuildGalleryThumbnailsBlurb'),icon:'question',buttons:{ok:ips.getString('rebuildGalleryThumbnailsYes'),cancel:ips.getString('rebuildGalleryThumbnailsNo')},callbacks:{ok:function(){$('input[name=rebuildWatermarkScreenshots]').val(1);this.alertOpen=false;},cancel:function(){$('input[name=rebuildWatermarkScreenshots]').val(0);this.alertOpen=false;}}});}});}(jQuery,_));;
+1
View File
@@ -0,0 +1 @@
;
+1
View File
@@ -0,0 +1 @@
;(function($,_,undefined){"use strict";ips.controller.register('gallery.front.global.nsfw',{initialize(){this.on('click','.ipsNsfwOverlay button',this.removeOverlays);},removeOverlays(e){let expires=new Date();expires.setDate(expires.getDate()+365);ips.utils.cookie.set('nsfwImageOptIn',true,expires.toUTCString());$('.ipsNsfwOverlay').fadeOut(500,function(){this.remove()});},});}(jQuery,_));;
+48
View File
@@ -0,0 +1,48 @@
ips.templates.set('gallery.submit.imageItem'," <div class='ipsAttach ipsImageAttach {{#done}}ipsAttach_done{{/done}}' id='{{id}}' data-role='file' data-fileid='{{id}}' data-fullsizeurl='{{imagesrc}}' data-thumbnailurl='{{thumbnail}}' data-isImage='1'> <ul class='ipsImageAttach_controls'> <li data-role='insert' {{#insertable}}style='display: none'{{/insertable}}><a href='#' data-action='insertFile' class='ipsAttach_selection' data-ipsTooltip title='{{#lang}}insertIntoPost{{/lang}}'><i class='fa-solid fa-plus'></i></a></li> </li> <li class='i-margin-start_auto' {{#newUpload}}style='display: none'{{/newUpload}} data-role='deleteFileWrapper'> <input type='hidden' name='{{field_name}}_keep[{{id}}]' value='1'> <a href='#' data-role='deleteFile' class='ipsButton ipsButton--small ipsButton--soft' data-ipsTooltip title='{{#lang}}attachRemove{{/lang}}'><i class='fa-regular fa-trash-can'></i></a> </li> </ul> <div class='ipsImageAttach_thumb' data-role='preview' data-grid-ratio='65' data-action='insertFile' {{#thumb}}style='background-image: url( \"{{thumbnail}}\" )'{{/thumb}}> {{#status}} <span class='ipsImageAttach_status i-color_soft' data-role='status'>{{{status}}}</span> <meter class='ipsMeter' data-role='progressbar' max='100'></meter> {{/status}} {{#thumb}} {{{thumb}}} {{/thumb}} </div> <h2 class='ipsAttach_title ipsTruncate_1 cGalleryImageAttach_info' data-role='title'>{{title}}</h2> <p class='cGalleryImageAttach_info'>{{size}} {{#statusText}}&middot; <span data-role='status'>{{statusText}}</span>{{/statusText}}</p> </div>");ips.templates.set('gallery.submit.imageItemWrapper'," <div class='cGallerySubmit_fileList'>{{{content}}}</div>");;
;(function($,_,undefined){"use strict";ips.controller.register('gallery.front.submit.chooseCategory',{_chosen:false,_resizeTimer:null,initialize:function(){this.on('nodeItemSelected','[data-name="image_category"]',this.chooseCategory);this.on('nodeSelectedChanged','[data-name="image_category"]',this.chooseCategoryInitially);this.on('click','[data-action="continueNoAlbum"]',this.continueNoAlbum);this.on('click','[data-type]:not([data-disabled])',this.chooseAlbumType);this.setup();this.on(document,'gallery.wrapperInit',this.setup);},setup:function(){if(this.scope.find('[data-role="categoryForm"]').length){this.trigger('gallery.updateTitle',{title:ips.getString('chooseCategory')});}else{this.trigger('gallery.updateTitle',{title:ips.getString('chooseAlbum')});}},chooseAlbumType:function(e){e.preventDefault();var target=$(e.currentTarget);switch(target.attr('data-type')){case'category':target.next('form').submit();break;case'createAlbum':this.trigger('gallery.updateTitle',{title:ips.getString('createAlbum')});this._resizeFormDiv(this.scope.find('[data-role="createAlbumForm"]'));break;case'existingAlbum':this.trigger('gallery.updateTitle',{title:ips.getString('existingAlbum')});this._resizeFormDiv(this.scope.find('[data-role="existingAlbumForm"]'));break;}},destroy:function(){if(this._resizeTimer){clearInterval(this._resizeTimer);}},_resizeFormDiv:function(form){this.scope.find('[data-role="chooseAlbumType"]').attr("hidden","");form.removeAttr("hidden");},chooseCategoryInitially:function(e,data){if(this._chosen){return;}
if(!_.isArray(data.selectedItems)){return;}
var id=data.selectedItems[0];if(!_.isUndefined(id)){this._chosen=true;this.showAlbumOptions(id);}},chooseCategory:function(e,data){if(this._chosen){return;}
this._chosen=true;this.showAlbumOptions(data.id);},continueNoAlbum:function(e){e.preventDefault();$(e.currentTarget).closest('form').submit();},showAlbumOptions:function(id){var outerWrapper=this.scope.closest('.ipsDialog_content');var self=this;outerWrapper.addClass('ipsLoading');this.scope.hide();ips.getAjax()(ips.getSetting('baseURL')+'index.php?app=gallery&module=gallery&controller=submit&noWrapper=1&category='+id+'&album='+this.scope.attr('data-preselected-album')).done(function(response){if(response){self.trigger('gallery.submit.response',{response:response});}else{self.scope.find('[data-role="continueCategory"]').show();}}).fail(function(err){self.scope.find('[data-role="continueCategory"]').show();}).always(function(){outerWrapper.removeClass('ipsLoading');self.scope.show();});},});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('gallery.front.submit.existingAlbums',{initialize:function(){this.on('click','#elGallerySubmit_albumChooser > li',this.clickAlbum);this.clickAlbum();},clickAlbum:function(e){if(this.scope.find('[name="existing_album"]:checked').length){this.scope.find('[type="submit"]').prop('disabled',false);}else{this.scope.find('[type="submit"]').prop('disabled',true);}}});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('gallery.front.submit.uploadImages',{initialize:function(){var self=this;this.scope.find('.ipsAttachment_dropZone').on('click',function(e){e.stopPropagation();if(!$(e.target).is('input')){self.scope.find('input[type="file"]').trigger('click');}});this.on('fileAdded','[data-ipsUploader]',this.filesAdded);this.on('uploadComplete','[data-ipsUploader]',this.uploadComplete);this.on('fileDeleted','[data-ipsUploader]',this.fileRemoved);this.setup();},setup:function(){if(!this.scope.find('[data-role="fileList"] [data-role="file"]').length){this.scope.find('[data-role="submitForm"]').prop('disabled',true);}
$('.cGallerySubmit_bottomBar').removeClass('ipsHide');$('[data-role="allowedTypes"]').html(this.scope.find('span.i-color_soft.i-font-size_-2').html());this.scope.find('span.i-color_soft.i-font-size_-2').remove();this.scope.find('.ipsAttachment_supportDrag').html(ips.getString('uploader_add_images'));},fileRemoved:function(e,data){if(data.fileElem.attr('data-fileid').indexOf('o_')!=-1){var imageId=$('input[name="images_existing\\['+data.fileElem.attr('data-fileid')+'\\]"').val();}
else
{var imageId=data.fileElem.attr('data-fileid');}
if($('#image_details_'+imageId).length){$('#image_details_'+imageId).remove();}},uploadComplete:function(e,data){if(data.success>0){this.trigger('gallery.activateSubmitButton');}
if(data.error>0){this.trigger('gallery.uploadErrors');}
if(!this.sortableInitialized){this.scope.find('[data-role="fileList"] > .cGallerySubmit_fileList').sortable({forcePlaceholderSize:true});this.sortableInitialized=true;}},sortableInitialized:false,filesAdded:function(e,data){this.trigger('gallery.disableSubmitButton');$('[data-role="addFiles"]').removeClass('ipsHide');$('[data-role="imageDetails"]').removeClass('ipsHide');if(!ips.utils.responsive.enabled()||!ips.utils.responsive.currentIs('phone')){this.scope.closest('.cGalleryDialog').addClass('cGalleryDialog_uploadStep');}
$(window).trigger('resize');}});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('gallery.front.submit.wrapper',{_expanded:false,_currentErrors:{},initialize:function(){this.on('submit','form',this.submitForm);this.on('click','[data-role="submitForm"]',this.maybeSubmitForm);this.on('gallery.submit.response',this._updateWrapper);this.on('click','[data-role="addFiles"]',this.dropzoneClick);this.on('click','[data-action="closeDialog"]',this.confirmClose);this.on('click','[data-role="file"][data-fileid]',this.setUpImageDetailsForm);this.on('click','[data-role="imageDescriptionUseEditor"]',this.setUpImageDescriptionRich);this.on('click','[data-role="imageDescriptionUseTextarea"]',this.setUpImageDescriptionPlain);this.on('click','[data-role="addCopyrightCredit"]',this.showCopyrightCredit);this.on('click','[data-role="saveDetails"]',this.saveDetails);this.on('click','[data-role="saveInfo"]',this.saveInfo);this.on('gallery.activateSubmitButton',this.activateSubmitButton);this.on('gallery.disableSubmitButton',this.disableSubmitButton);this.on('gallery.uploadErrors',this.uploadErrors);this.on('gallery.enlargeUploader',this.enlargeUploader);this.on('gallery.updateTitle',this.updateTitle);this.setup();this.trigger('gallery.wrapperInit');},setup:function(){ips.ui.editorv5.destruct(this.scope.find('[data-ipseditorv5]'));if(this.scope.find('.cGalleryDialog_imageForm').is(':visible')){this._enlargeUploadStep();}},updateTitle:function(e,data){if(data.title){this._updateTitle(data.title);}},_updateTitle:function(title){this.scope.find('[data-role="dialogTitle"]').text(title);},enlargeUploader:function(e,data){this._enlargeUploadStep(data.callback||$.noop);},activateSubmitButton:function(){this.scope.find('[data-role="submitForm"]').prop('disabled',false);},disableSubmitButton:function(){this.scope.find('[data-role="submitForm"]').prop('disabled',true);},uploadErrors:function(){this.scope.find('[data-role="imageErrors"]').show();},dropzoneClick:function(){this.scope.find('.ipsAttachment_dropZone').trigger('click');},showCopyrightCredit:function(e){e.preventDefault();var link=$(e.currentTarget);link.hide().next().slideDown();},saveInfo:function(e){e.preventDefault();$(e.currentTarget).trigger('closeMenu');},saveDetails:function(e){if(e){e.preventDefault();}
this._markActiveImageAsSaved();$(e.currentTarget).next('[data-role="savedMessage"]').fadeIn();setTimeout(function(){$(e.currentTarget).next('[data-role="savedMessage"]').fadeOut();},2000);if(e){$(e.currentTarget).closest('.cGallerySubmit_details').find('[data-errorField]').hide();}
if(ips.utils.responsive.enabled()&&ips.utils.responsive.currentIs('phone')){this._toggleDetailsPanelMobile(false);this.scope.find('.cGallerySubmit_activeFile').removeClass('cGallerySubmit_activeFile');}},confirmClose:function(e){if(!this.scope.find('[data-fileid]').length){this.trigger('closeDialog');return;}
if(e){e.preventDefault();}
var self=this;ips.ui.alert.show({type:'confirm',icon:'question',message:ips.getString('confirmSubmitClose'),callbacks:{ok:function(){self.trigger('closeDialog');}}});},_markActiveImageAsSaved:function(){this.scope.find('.cGallerySubmit_activeFile').removeClass('cGallerySubmit_imageError').addClass('cGallerySubmit_imageSaved');},setUpImageDetailsForm:function(e){this.scope.find('.cGallerySubmit_activeFile').removeClass('cGallerySubmit_activeFile');$(e.currentTarget).addClass('cGallerySubmit_activeFile');if($(e.currentTarget).attr('data-fileid').indexOf('o_')!=-1){var imageId=$('input[name="images_existing\\['+$(e.currentTarget).attr('data-fileid')+'\\]"').val();}
else
{var imageId=$(e.currentTarget).attr('data-fileid');}
var imagePreview=$(e.currentTarget).find('[data-role="preview"] img').attr('src');var detailsPanel=this.scope.find('[data-role="imageDetails"]');detailsPanel.find('.cGallerySubmit_details, [data-role="submitHelp"]').hide();if($('#image_details_'+imageId).length){$('#image_details_'+imageId+' .cGallerySubmit_details').show();if(ips.utils.responsive.currentIs('phone')){this._toggleDetailsPanelMobile(true);}}else{var htmlToInsert=$('[data-role="defaultImageDetailsForm"]').html();htmlToInsert='<div id="image_details_'+imageId+'">'+htmlToInsert.replace(/name="image_tags_DEFAULT"/g,'name="image_tags_DEFAULT" data-ipsAutocomplete ').replace(/_DEFAULT/g,'_'+imageId)+"</div>";detailsPanel.find('> form').prepend(htmlToInsert);var imageForm=$('#image_details_'+imageId);var filename=$(e.currentTarget).find('[data-role="title"]').text();var filenameWithoutExt=filename.replace(/\.[^/.]+$/,'');$('#elInput_image_title_'+imageId).val(filenameWithoutExt);if(!_.isUndefined(imagePreview)){imageForm.find('.cGallerySubmit_preview').html("<img src='"+imagePreview+"' alt='' />").show();}
else{imageForm.find('.cGallerySubmit_preview').html("<i></i>").show();}
if(!$(e.currentTarget).attr('data-thumbnailurl')){imageForm.find('.cGalleryThumbField').removeClass('ipsHide');}else{ips.getAjax()(ips.getSetting('baseURL')+'index.php?app=gallery&module=gallery&controller=submit&do=checkGps&imageId='+imageId,{type:'get',bypassRedirect:true}).done(function(response,status,jqXHR){if(parseInt(response.hasGeo)){imageForm.find('.cGalleryMapField').removeClass('ipsHide');}});}
if(ips.utils.responsive.currentIs('phone')){this._toggleDetailsPanelMobile(true);}
$(document).trigger('contentChange',[$('[data-role="imageDetails"] > form')]);if(!_.isUndefined(this._currentErrors[imageId])){this._updateDetailsWithErrors(imageId,this._currentErrors[imageId]);}}},_toggleDetailsPanelMobile:function(show){var detailsPanel=this.scope.find('[data-role="imageDetails"]');if(!show){detailsPanel.animate({opacity:"0",top:'400px'},400,function(){detailsPanel.hide()});}else if(!detailsPanel.is(':visible')){detailsPanel.show().css({opacity:"0",top:'400px'}).animate({opacity:"1",top:'0px'},400);}},setUpImageDescriptionRich:function(e){const currentDescription=$(e.currentTarget).closest('[data-role="imageDescriptionTextarea"]').find('> textarea').val().trim();if(currentDescription.length){const editorObj=ips.ui.editorv5.getObj($(e.currentTarget).closest('[data-role="imageDescriptionTextarea"]').prev('[data-role="imageDescriptionEditor"]').find('[data-ipseditorv5]'));const editorInstance=editorObj.getInstance();editorInstance.commands.setContent(currentDescription);$(e.currentTarget).closest('[data-role="imageDescriptionTextarea"]').find('> textarea').val('');}
$(e.currentTarget).closest('[data-role="imageDescriptionTextarea"]').addClass('ipsHide').prev('[data-role="imageDescriptionEditor"]').removeClass('ipsHide');e.preventDefault();},setUpImageDescriptionPlain:function(e){const editorObj=ips.ui.editorv5.getObj($(e.currentTarget).closest('[data-role="imageDescriptionEditor"]').find('[data-ipseditorv5]'));const currentDescription=$(editorObj.getInstance().getHTML()).text().trim();if(currentDescription.length){$(e.currentTarget).closest('[data-role="imageDescriptionEditor"]').next('[data-role="imageDescriptionTextarea"]').find('textarea').val(currentDescription);}
$(e.currentTarget).closest('[data-role="imageDescriptionEditor"]').addClass('ipsHide').next('[data-role="imageDescriptionTextarea"]').removeClass('ipsHide');e.preventDefault();},maybeSubmitForm:function(e){var isIE11=!(window.ActiveXObject)&&"ActiveXObject"in window;if(!$(e.currentTarget).closest('form').length&&$(e.currentTarget).is('[form]')&&isIE11){var form=$('#'+$(e.currentTarget).attr('form'));if(form.length){form.submit();}}},submitForm:function(e){e.preventDefault();var form=$(e.currentTarget);var url=form.attr('action');if(form.attr('id')=='elGallerySubmit'){this.scope.find('[data-ipseditorv5]').each(function(){try{var editorObj=ips.ui.editorv5.getObj($(this));var editorInstance=editorObj.getInstance();$(this).find('textarea[data-role="contentEditor"]').val(editorInstance.getHTML());}catch(err){Debug.error("Couldn't update textarea from editor");}});form.find('textarea[name="credit_all"]').val($('#elTextarea_image_credit_info').val());form.find('textarea[name="copyright_all"]').val($('#elInput_image_copyright').val());if($('#elInput_image_tags_wrapper').length){try{var tags=ips.ui.autocomplete.getObj(this.scope.find('#elInput_image_tags')).getTokens();form.find('textarea[name="tags_all"]').val(tags.join("\n"));form.find('textarea[name="prefix_all"]').val($('[name="image_tags_prefix"]').val());}catch(err){Debug.error("Couldn't update tags");}}
if(ips.getSetting('memberID')){form.find('input[name="images_autofollow_all"]').val($('#check_image_auto_follow_wrapper').hasClass('ipsToggle_on')?1:0);}
if($('#check_image_nsfw_wrapper').length){form.find('input[name="nsfw_all"]').val($('#check_image_nsfw_wrapper').hasClass('ipsToggle_on')?1:0);}
var imageOrder=[];form.find('[data-role="file"]').each(function(){if($(this).attr('data-fileid').indexOf('o_')!=-1){imageOrder.push($('input[name="images_existing\\['+$(this).attr('data-fileid')+'\\]"').val());}
else
{imageOrder.push($(this).attr('data-fileid'));}});form.find('textarea[name="images_order"]').val(JSON.stringify(imageOrder));form.find('textarea[name="images_info"]').val(JSON.stringify($('#form_imageDetails').serializeArray()));this.scope.find('[data-role="imageDetails"]').addClass('ipsHide');this.scope.find('#elGallerySubmit_toolBar').hide();this.scope.find('[data-role="submitForm"]').prop('disabled',true);this.scope.find('.cGalleryDialog').removeClass('cGalleryDialog_uploadStep');}
e.stopPropagation();this._changeContents(url,form.serialize());},_changeContents:function(url,data){if(_.isUndefined(data)){data={};}
var self=this;var loadingElement=this.scope.closest('.ipsDialog_content');this.scope.find('.cGalleryDialog_container, .cGalleryDialog_imageForm').hide();this.cleanContents();loadingElement.addClass('ipsLoading');ips.getAjax()(url+'&noWrapper=1',{data:data,type:'post',bypassRedirect:true}).done(function(response,status,jqXHR){self._updateContents(response);}).always(function(){loadingElement.removeClass('ipsLoading');});},_updateWrapper:function(e,data){this._updateContents(data.response);},_updateContents:function(response){var wrapper=$('[data-role="submitWrapper"]');var container=wrapper.find('[data-role="container"]');if(response.container){container.html(response.container);container.show();}else{container.hide();}
if(response.containerInfo){wrapper.find('[data-role="containerInfo"]').html(response.containerInfo);}
if(response.images){this._updateTitle(ips.getString('addImages'));if(this.scope.closest('.cGalleryDialog_outer').length&&!this.scope.find('[data-role="imagesForm"]').is(':visible')&&!this._expanded){this._enlargeUploadStep(function(){wrapper.find('[data-role="imageForm"]').html(response.images);});}else{wrapper.find('[data-role="images"]').show();wrapper.find('[data-role="imageForm"]').html(response.images);}}
if(response.imageTags&&wrapper.find('.cGalleryTagsField').hasClass('ipsHide')){wrapper.find('.cGalleryTagsField').removeClass('ipsHide');wrapper.find('.cGalleryTagsField .ipsFieldRow__content').append(response.imageTags);}
if(response.tagsField&&wrapper.find('.cGalleryTagsButton').hasClass('ipsHide')){wrapper.find('.cGalleryTagsButton').removeClass('ipsHide');wrapper.find('[data-role="globalTagsField"]').append(response.tagsField);}
$(document).trigger('contentChange',[wrapper]);if(!_.isUndefined(response.imageErrors)&&_.size(response.imageErrors)>0){this._handleUploaderErrors(response.imageErrors);}},_handleUploaderErrors:function(errors){var self=this;this.scope.find('[data-role="imageDetails"]').removeClass('ipsHide');this.scope.find('#elGallerySubmit_toolBar').show();this.scope.find('[data-role="submitForm"]').prop('disabled',false);this.scope.find('.cGalleryDialog').addClass('cGalleryDialog_uploadStep');this._currentErrors=errors;var errorCount=_.size(errors);var errorIDs=_.keys(errors);var errorFileIDs=_.map(errorIDs,function(id){if(self.scope.find('input[type="hidden"][value="'+id+'"]').attr('name')){return'#'+self.scope.find('input[type="hidden"][value="'+id+'"]').attr('name').replace(/images_existing\[/g,'').replace(/\]/g,'');}});var errorFileThumbs=this.scope.find(errorFileIDs.join(','));this.scope.find('.cGallerySubmit_fileList [data-role="file"]').addClass('cGallerySubmit_imageSaved');errorFileThumbs.addClass('cGallerySubmit_imageError').removeClass('cGallerySubmit_imageSaved');_.each(errorIDs,function(id){if(self.scope.find('#image_details_'+id).length){self._updateDetailsWithErrors(id,errors[id]);}});if(!_.isUndefined(errors[0])&&!_.isUndefined(errors[0]['images'])){ips.ui.alert.show({type:'alert',icon:'warn',message:errors[0]['images'],});}
else
{ips.ui.alert.show({type:'alert',icon:'warn',message:ips.pluralize(ips.getString('imageUploadErrors'),errorCount),subText:ips.pluralize(ips.getString('imageUploadErrorsDesc'),errorCount)});}},_updateDetailsWithErrors:function(fileID,errors){var panel=this.scope.find('#image_details_'+fileID);_.each(errors,function(error,field){panel.find('[data-errorField="'+field+'"]').text(error).show();if(field=='image_tags'||field=='image_credit'||field=='image_copyright'){panel.find('[data-errorField="'+field+'"]').closest('.ipsFieldRow').find('[data-role="addCopyrightCredit"]').click();}});},_enlargeUploadStep:function(callback){var wrapper=$('[data-role="submitWrapper"]');var dialogElem=this.scope.closest('.cGalleryDialog_outer > div');if(dialogElem.length){var dialogElemPos=ips.utils.position.getElemPosition(dialogElem);var viewportSize={width:$(window).width(),height:$(window).height()};var left=(viewportSize.width-dialogElem.width())/2;this.scope.closest('.cGalleryDialog_outer > div').css({width:'auto',maxWidth:'100%',position:'fixed',margin:0,top:dialogElemPos.absPos.top+'px',left:left+'px',right:viewportSize.width-(left+dialogElem.width())+'px'}).animate({left:'10px',right:'10px',bottom:'10px',top:'10px',},function(){wrapper.find('[data-role="images"]').css({opacity:"0.0001",}).show();if(callback){callback();}
wrapper.find('[data-role="images"]').animate({opacity:"1"});dialogElem.find('.ipsDialog_close').hide();$(document).trigger('contentChange',[wrapper]);});}
else
{if(callback){callback();}
$(document).trigger('contentChange',[wrapper]);}
this.scope.find('.cGalleryDialog').css({minHeight:"0",position:'absolute',top:"0",left:"0",right:"0",bottom:"0"});this.scope.closest('.ipsDialog_content').css({position:'absolute',top:"0",left:"0",right:"0",bottom:"0"});if(!wrapper.find('.cGallerySubmit_bottomBar').hasClass('ipsHide')){wrapper.find('.cGallerySubmit_bottomBar').removeClass('ipsHide').fadeIn();}
this._expanded=true;}});}(jQuery,_));;
+24
View File
@@ -0,0 +1,24 @@
ips.templates.set('gallery.notes.wrapper'," <div class='cGalleryNote' data-controller='gallery.front.view.note' data-noteID='{{id}}' data-note=\"{{note}}\" {{#editable}}data-editable{{/editable}} data-posLeft='{{left}}' data-posTop='{{top}}' data-dimWidth='{{width}}' data-dimHeight='{{height}}'> <div class='cGalleryNote_border'></div> <div class='cGalleryNote_note' style='display: none'> <div>{{note}}</div> </div></div>");ips.templates.set('gallery.notes.delete'," <a href='#' data-action='delete' class='cGalleryNote_delete' data-ipsTooltip title='{{#lang}}delete_note{{/lang}}'>&times;</a>");ips.templates.set('gallery.notes.edit'," <textarea>{{note}}</textarea> <ul class='ipsButtons i-justify-content_start i-margin-top_2'> <li><button data-action='save' class='ipsButton ipsButton--positive'>{{#lang}}save_note{{/lang}}</button></li> <li><a href='#' class='ipsButton ipsButton--inherit' data-action='cancel'>{{#lang}}cancel_note{{/lang}}</a></li> </ul>");;
;(function($,_,undefined){"use strict";ips.controller.register('gallery.front.view.image',{initialize:function(){this.on('menuOpened',this.menuOpened);this.on('menuClosed',this.menuClosed);this.on(document,'keydown',this.keyDown);this.on('click','[data-action="setAsCover"]',this.setAsCover);this.on('click','[data-action="setAsProfile"]',this.setAsProfile);this.on('click','[data-action="rotateImage"]',this.rotateImage);},menuOpened:function(){this.scope.find('.elGalleryImage').addClass('cGalleryImageHover');},menuClosed:function(e){this.scope.find('.elGalleryImage').removeClass('cGalleryImageHover');},keyDown:function(e){if($(e.target).closest('input, textarea, .ipsComposeArea, .ipsComposeArea_editor').length){return;}
switch(e.keyCode){case ips.ui.key.LEFT:this.scope.find('[data-action="prevMedia"]')[0].click();break;case ips.ui.key.RIGHT:this.scope.find('[data-action="nextMedia"]')[0].click();break;}},setAsProfile:function(e){e.preventDefault();var url=$(e.currentTarget).attr('href');ips.ui.alert.show({type:'confirm',icon:'question',message:ips.getString('set_as_photo_confirm'),callbacks:{ok:function(){ips.getAjax()(url,{showLoading:true}).done(function(response){ips.ui.flashMsg.show(response.message);}).fail(function(){window.location=url;});}}});},setAsCover:function(e){e.preventDefault();var url=$(e.currentTarget).attr('href');ips.getAjax()(url,{showLoading:true}).done(function(response){ips.ui.flashMsg.show(response.message);}).fail(function(){window.location=url;});},rotateImage:function(e){e.preventDefault();var url=$(e.currentTarget).attr('href');var self=this;ips.getAjax()(url,{showLoading:true}).done(function(response){self.scope.find('[data-role="theImage"]')[0].src=response.src;self.scope.find('[data-role="theImage"]').css({'width':response.width+'px','height':response.height+'px'});self.scope.find('[data-role="theImage"]').closest('.cGalleryViewImage').css({'width':response.width+'px','height':response.height+'px'});ips.ui.flashMsg.show(response.message);}).fail(function(){window.location=url;});}});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('gallery.front.view.note',{_editing:false,_editable:false,_draggingNotEditing:false,_hoverTimerOn:null,_hoverTimerOff:null,_note:'',initialize:function(){this.on('click','.cGalleryNote_border',this.startEditing);this.on('click','[data-action="save"]',this.saveNote);this.on('click','[data-action="cancel"]',this.cancelNote);this.on('click','[data-action="delete"]',this.deleteNote);this.on('mousedown','.cGalleryNote_note',this.mouseDown);this.on('mouseenter',this.mouseEnter);this.on('mouseleave',this.mouseLeave);this.setup();},setup:function(){var self=this;if(!_.isUndefined(this.scope.attr('data-editable'))&&!ips.utils.responsive.currentIs('phone')){this._editable=true;}
this._note=this.scope.attr('data-note');this._baseURL=ips.getSetting('baseURL')+'index.php?app=gallery&module=gallery&controller=notes&imageId='+this.scope.closest('.cGalleryViewImage').attr('data-imageID');this._buildNote();this._setUpEditable();this._initialPosition();if(this.scope.attr('data-noteID')=='new'){this.scope.find('.cGalleryNote_border').click();}},saveNote:function(e){e.preventDefault();var self=this;var note=this.scope.find('.cGalleryNote_note textarea').val();var savePosition=false;this.scope.draggable('enable');if(!note.trim()){return;}
if(this.scope.attr('data-noteID')=='new'){savePosition=true;}
this._saveNote(note,savePosition).done(function(){self._note=note;self._stopEditing();});},cancelNote:function(e){if(this.scope.attr('data-noteID')=='new'){this.deleteNote(e);return;}
e.preventDefault();this.scope.draggable('enable');this._stopEditing();},deleteNote:function(e){e.preventDefault();var self=this;ips.ui.alert.show({type:'confirm',icon:'question',message:ips.getString('delete_note_confirm'),callbacks:{ok:function(){self._doDeleteNote();}}});},mouseEnter:function(){var self=this;if(this._hoverTimerOn){clearTimeout(this._hoverTimerOn);}
if(!this._editing){this._hoverTimerOn=setTimeout(function(){if(!self.scope.find('.cGalleryNote_note').is(':visible')){ips.utils.anim.go('fadeIn fast',self.scope.find('.cGalleryNote_note'));}});}},mouseLeave:function(){var self=this;if(this._hoverTimerOff){clearTimeout(this._hoverTimerOff);}
if(!this._editing){this._hoverTimerOff=setTimeout(function(){if(self.scope.find('.cGalleryNote_note').is(':visible')){ips.utils.anim.go('fadeOut fast',self.scope.find('.cGalleryNote_note'));}});}},mouseDown:function(){},startEditing:function(){if(!this._editable||this._draggingNotEditing){return;}
if(this._editing===true){this.scope.find('.cGalleryNote_note > div textarea').focus();return;}
this._editing=true;this.scope.addClass('cGalleryNote_editing').append(ips.templates.render('gallery.notes.delete')).find('.cGalleryNote_note > div').html(ips.templates.render('gallery.notes.edit',{note:this._note})).find('textarea').focus();},_doDeleteNote:function(){var url=this._baseURL;var self=this;if(this.scope.attr('data-noteID')=='new'){ips.utils.anim.go('fadeOutDown',self.scope).done(function(){self.scope.remove();});return;}
ips.getAjax()(url+'&delete=1&id='+this.scope.attr('data-noteID')).done(function(){ips.utils.anim.go('fadeOutDown',self.scope).done(function(){self.scope.remove();});})},_saveNote:function(noteContent,savePosition){var deferred=$.Deferred();var self=this;var url=this._baseURL;var position='';var note='';if(this.scope.attr('data-noteID')=='new'){url+='&add=1';}else{url+='&edit=1&id='+this.scope.attr('data-noteID');}
if(savePosition){position=this._getPosition();}
if(noteContent){note=noteContent;}
if(this.scope.find('[data-action="save"]').length&&note){this.scope.find('[data-action="save"]').prop('disabled',true).text(ips.getString('saving_note'));}
ips.getAjax()(url,{data:{note:note,position:position}}).done(function(response){if(self.scope.find('[data-action="save"]').length&&note){self.scope.find('[data-action="save"]').prop('disabled',false).text('Save');}
if(_.isObject(response)&&response.id){self.scope.attr('data-noteID',response.id);}
deferred.resolve();}).fail(function(){deferred.reject();});return deferred.promise();},_getPosition:function(){var position=[];var parent=this.scope.closest('.cGalleryViewImage');var notePos=this.scope.position();position[0]=(notePos['left']/parent.width())*100;position[1]=(notePos['top']/parent.height())*100;position[2]=(this.scope.width()/parent.width())*100;position[3]=(this.scope.height()/parent.height())*100;return position.join(',');},_stopEditing:function(){this._editing=false;this._draggingNotEditing=false;this.scope.removeClass('cGalleryNote_editing').find('.cGalleryNote_note > div').text(this._note).end().find('.cGalleryNote_delete').remove();},_buildNote:function(){this.scope.find('.cGalleryNote_note > div').text(this._note);},_setUpEditable:function(){if(!this._editable){return;}
var self=this;ips.loader.get(['core/interface/jquery/jquery-ui.js']).then(function(){self.scope.resizable({containment:self.scope.closest('.cGalleryViewImage'),handles:'se',stop:self._updatePosition.bind(self)});self.scope.draggable({containment:self.scope.closest('.cGalleryViewImage'),start:self._startDragging.bind(self),stop:self._updatePosition.bind(self)});});},_startDragging:function(){if(!this._editing){this._draggingNotEditing=true;}},_updatePosition:function(){var self=this;if(this.scope.attr('data-noteID')=='new'){return;}
this._saveNote(false,true).done(function(){if(!self._editing){self._stopEditing();}});},_initialPosition:function(){var left=this.scope.attr('data-posLeft');var top=this.scope.attr('data-posTop');var width=this.scope.attr('data-dimWidth');var height=this.scope.attr('data-dimHeight');this.scope.css({left:left+'%',top:top+'%',width:width+'%',height:height+'%'});}});}(jQuery,_));;
;(function($,_,undefined){"use strict";ips.controller.register('gallery.front.view.notes',{_inAddingState:false,initialize:function(){this.on(document,'click','[data-action="addNote"]',this.startAddNote);this.setup();},setup:function(){var notes;try{notes=$.parseJSON(this.scope.attr('data-notesData'));}catch(err){}
if(notes&&notes.length){this._buildNotes(notes);}},startAddNote:function(e){e.preventDefault();this.scope.append(ips.templates.render('gallery.notes.wrapper',{id:'new',left:50,top:50,width:(100/this.scope.width())*100,height:(100/this.scope.height())*100,editable:true}));$(document).trigger('contentChange',[this.scope]);},_buildNotes:function(notes){if(notes.length){for(var i=0;i<notes.length;i++){this.scope.append(ips.templates.render('gallery.notes.wrapper',{id:notes[i].ID,left:notes[i].LEFT,top:notes[i].TOP,width:notes[i].WIDTH,height:notes[i].HEIGHT,note:notes[i].NOTE,editable:!_.isUndefined(this.scope.attr('data-editable'))?true:false}));}
$(document).trigger('contentChange',[this.scope]);}}});}(jQuery,_));;