From 5a63fb292a531aae94fa59033368dfaee96553e4 Mon Sep 17 00:00:00 2001 From: Samuel Georges Date: Sat, 21 May 2016 12:37:21 +1000 Subject: [PATCH] Combine media manager global with the core october.js file This should save 1 extra request, although it is less modular we can address it again later --- modules/backend/assets/js/october-min.js | 50 +++- modules/backend/assets/js/october.js | 1 + modules/backend/layouts/_head.htm | 1 - modules/cms/ServiceProvider.php | 1 - .../assets/js/mediamanager-global-min.js | 132 ---------- .../assets/js/mediamanager-global.js | 9 +- .../assets/js/mediamanager.redactor.js | 237 ------------------ 7 files changed, 51 insertions(+), 380 deletions(-) delete mode 100644 modules/cms/widgets/mediamanager/assets/js/mediamanager-global-min.js delete mode 100644 modules/cms/widgets/mediamanager/assets/js/mediamanager.redactor.js diff --git a/modules/backend/assets/js/october-min.js b/modules/backend/assets/js/october-min.js index fd0345183..0bc34fc0b 100644 --- a/modules/backend/assets/js/october-min.js +++ b/modules/backend/assets/js/october-min.js @@ -457,7 +457,55 @@ $.Jcrop.Loader(this,function(){$(this).css({display:'block',visibility:'hidden'} else window.setTimeout(completeCheck,50);} $img.bind('load.jcloader',completeCheck).bind('error.jcloader',function(e){$img.unbind('.jcloader');if($.isFunction(error))error.call(img);});if(img.complete&&$.isFunction(success)){$img.unbind('.jcloader');success.call(img);}};$.Jcrop.defaults={allowSelect:true,allowMove:true,allowResize:true,trackDocument:true,baseClass:'jcrop',addClass:null,bgColor:'black',bgOpacity:0.6,bgFade:false,borderOpacity:0.4,handleOpacity:0.5,handleSize:null,aspectRatio:0,keySupport:true,createHandles:['n','s','e','w','nw','ne','se','sw'],createDragbars:['n','s','e','w'],createBorders:['n','s','e','w'],drawBorders:true,dragEdges:true,fixedSupport:true,touchSupport:null,shade:null,boxWidth:0,boxHeight:0,boundary:2,fadeTime:400,animationDelay:20,swingSpeed:3,minSelect:[0,0],maxSize:[0,0],minSize:[0,0],onChange:function(){},onSelect:function(){},onDblClick:function(){},onRelease:function(){}};}(jQuery));!function(){var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;(function(){function S(a){function d(e){var b=e.charCodeAt(0);if(b!==92)return b;var a=e.charAt(1);return(b=r[a])?b:"0"<=a&&a<="7"?parseInt(e.substring(1),8):a==="u"||a==="x"?parseInt(e.substring(2),16):e.charCodeAt(1)}function g(e){if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return e==="\\"||e==="-"||e==="]"||e==="^"?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),e=[],a=b[0]==="^",c=["["];a&&c.push("^");for(var a=a?1:0,f=b.length;a122||(l<65||h>90||e.push([Math.max(65,h)|32,Math.min(l,90)|32]),l<97||h>122||e.push([Math.max(97,h)&-33,Math.min(l,122)&-33]))}}e.sort(function(e,a){return e[0]-a[0]||a[1]-e[1]});b=[];f=[];for(a=0;ah[0]&&(h[1]+1>h[0]&&c.push("-"),c.push(g(h[1])));c.push("]");return c.join("")}function s(e){for(var a=e.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),c=a.length,d=[],f=0,h=0;f=2&&e==="["?a[f]=b(l):e!=="\\"&&(a[f]=l.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return a.join("")}for(var x=0,m=!1,j=!1,k=0,c=a.length;k=5&&"lang-"===w.substring(0,5))&&!(t&&typeof t[1]==="string"))f=!1,w="src";f||(r[z]=w)}h=c;c+=z.length;if(f){f=t[1];var l=z.indexOf(f),B=l+f.length;t[2]&&(B=z.length-t[2].length,l=B-f.length);w=w.substring(5);H(j+h,z.substring(0,l),g,k);H(j+h+l,f,I(w,f),k);H(j+h+B,z.substring(B),g,k)}else k.push(j+h,w)}a.g=k}var b={},s;(function(){for(var g=a.concat(d),j=[],k={},c=0,i=g.length;c=0;)b[n.charAt(e)]=r;r=r[1];n=""+r;k.hasOwnProperty(n)||(j.push(r),k[n]=q)}j.push(/[\S\s]/);s=S(j)})();var x=d.length;return g}function v(a){var d=[],g=[];a.tripleQuotedStrings?d.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?d.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,q,"'\"`"]):d.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&g.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var b=a.hashComments;b&&(a.cStyleComments?(b>1?d.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):d.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),g.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,q])):d.push(["com",/^#[^\n\r]*/,q,"#"]));a.cStyleComments&&(g.push(["com",/^\/\/[^\n\r]*/,q]),g.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));if(b=a.regexLiterals){var s=(b=b>1?"":"\n\r")?".":"[\\S\\s]";g.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+s+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+ s+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&g.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&g.push(["kwd",RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),q]);d.push(["pln",/^\s+/,q," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");g.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",RegExp(b),q]);return C(d,g)}function J(a,d,g){function b(a){var c=a.nodeType;if(c==1&&!x.test(a.className))if("br"===a.nodeName)s(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((c==3||c==4)&&g){var d=a.nodeValue,i=d.match(m);if(i)c=d.substring(0,i.index),a.nodeValue=c,(d=d.substring(i.index+i[0].length))&&a.parentNode.insertBefore(j.createTextNode(d),a.nextSibling),s(a),c||a.parentNode.removeChild(a)}}function s(a){function b(a,c){var d=c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),g=a.nextSibling;e.appendChild(d);for(var i=g;i;i=g)g=i.nextSibling,e.appendChild(i)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),d;(d=a.parentNode)&&d.nodeType===1;)a=d;c.push(a)}for(var x=/(?:^|\s)nocode(?:\s|$)/,m=/\r\n?|\n/,j=a.ownerDocument,k=j.createElement("li");a.firstChild;)k.appendChild(a.firstChild);for(var c=[k],i=0;i=0;){var b=d[g];F.hasOwnProperty(b)?D.console&&console.warn("cannot override language handler %s",b):F[b]=a}}function I(a,d){if(!a||!F.hasOwnProperty(a))a=/^\s*=l&&(b+=2);g>=B&&(r+=2)}}finally{if(f)f.style.display=h}}catch(u){D.console&&console.log(u&&u.stack||u)}}var D=window,y=["break,continue,do,else,for,if,return,while"],E=[[y,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],M=[E,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],N=[E,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],O=[N,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],E=[E,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],P=[y,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],Q=[y,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],W=[y,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],y=[y,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],R=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,V=/\S/,X=v({keywords:[M,O,E,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",P,Q,y],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};p(X,["default-code"]);p(C([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);p(C([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\S\s]+/]]),["uq.val"]);p(v({keywords:M,hashComments:!0,cStyleComments:!0,types:R}),["c","cc","cpp","cxx","cyc","m"]);p(v({keywords:"null,true,false"}),["json"]);p(v({keywords:O,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:R}),["cs"]);p(v({keywords:N,cStyleComments:!0}),["java"]);p(v({keywords:y,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(v({keywords:P,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(v({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]);p(v({keywords:Q,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(v({keywords:E,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(v({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(v({keywords:W,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]);p(C([],[["str",/^[\S\s]+/]]),["regex"]);var Y=D.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:v,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:D.prettyPrintOne=function(a,d,g){var b=document.createElement("div");b.innerHTML="
"+a+"
";b=b.firstChild;g&&J(b,g,!0);K({h:d,j:g,c:b,i:1});return b.innerHTML},prettyPrint:D.prettyPrint=function(a,d){function g(){for(var b=D.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;i') +this.registerHandlers()} +MediaManagerPopup.prototype.registerHandlers=function(){this.$popupRootElement.one('hide.oc.popup',this.proxy(this.onPopupHidden)) +this.$popupRootElement.one('shown.oc.popup',this.proxy(this.onPopupShown))} +MediaManagerPopup.prototype.unregisterHandlers=function(){this.$popupElement.off('popupcommand',this.proxy(this.onPopupCommand)) +this.$popupRootElement.off('popupcommand',this.proxy(this.onPopupCommand))} +MediaManagerPopup.prototype.show=function(){var data={bottomToolbar:this.options.bottomToolbar?1:0,cropAndInsertButton:this.options.cropAndInsertButton?1:0} +this.$popupRootElement.popup({extraData:data,size:'adaptive',adaptiveHeight:true,handler:this.options.alias+'::onLoadPopup'})} +MediaManagerPopup.prototype.hide=function(){if(this.$popupElement) +this.$popupElement.trigger('close.oc.popup')} +MediaManagerPopup.prototype.getMediaManagerElement=function(){return this.$popupElement.find('[data-control="media-manager"]')} +MediaManagerPopup.prototype.insertMedia=function(){var items=this.getMediaManagerElement().mediaManager('getSelectedItems') +if(this.options.onInsert!==undefined) +this.options.onInsert.call(this,items)} +MediaManagerPopup.prototype.insertCroppedImage=function(imageItem){if(this.options.onInsert!==undefined) +this.options.onInsert.call(this,[imageItem])} +MediaManagerPopup.prototype.onPopupHidden=function(event,element,popup){var mediaManager=this.getMediaManagerElement() +mediaManager.mediaManager('dispose') +mediaManager.remove() +$(document).trigger('mousedown') +this.dispose() +if(this.options.onClose!==undefined) +this.options.onClose.call(this)} +MediaManagerPopup.prototype.onPopupShown=function(event,element,popup){this.$popupElement=popup +this.$popupElement.on('popupcommand',this.proxy(this.onPopupCommand)) +this.getMediaManagerElement().mediaManager('selectFirstItem')} +MediaManagerPopup.prototype.onPopupCommand=function(ev,command,param){switch(command){case'insert':this.insertMedia() +break;case'insert-cropped':this.insertCroppedImage(param) +break;} +return false} +MediaManagerPopup.DEFAULTS={alias:undefined,bottomToolbar:true,cropAndInsertButton:false,onInsert:undefined,onClose:undefined} +$.oc.mediaManager.popup=MediaManagerPopup}(window.jQuery);if($.oc===undefined) $.oc={} if($.oc.langMessages===undefined) $.oc.langMessages={} diff --git a/modules/backend/assets/js/october.js b/modules/backend/assets/js/october.js index 8082b2b80..e964042e3 100644 --- a/modules/backend/assets/js/october.js +++ b/modules/backend/assets/js/october.js @@ -15,6 +15,7 @@ =require ../vendor/sweet-alert/sweet-alert.js =require ../vendor/jcrop/js/jquery.Jcrop.js =require ../../../system/assets/vendor/prettify/prettify.js +=require ../../../cms/widgets/mediamanager/assets/js/mediamanager-global.js =require october.lang.js =require october.alert.js diff --git a/modules/backend/layouts/_head.htm b/modules/backend/layouts/_head.htm index 88894c624..956047475 100644 --- a/modules/backend/layouts/_head.htm +++ b/modules/backend/layouts/_head.htm @@ -19,7 +19,6 @@ - diff --git a/modules/cms/ServiceProvider.php b/modules/cms/ServiceProvider.php index 3125d48d7..52615076b 100644 --- a/modules/cms/ServiceProvider.php +++ b/modules/cms/ServiceProvider.php @@ -71,7 +71,6 @@ class ServiceProvider extends ModuleServiceProvider * Register asset bundles */ CombineAssets::registerCallback(function($combiner) { - $combiner->registerBundle('~/modules/cms/widgets/mediamanager/assets/js/mediamanager-global.js'); $combiner->registerBundle('~/modules/cms/widgets/mediamanager/assets/js/mediamanager-browser.js'); $combiner->registerBundle('~/modules/cms/widgets/mediamanager/assets/less/mediamanager.less'); }); diff --git a/modules/cms/widgets/mediamanager/assets/js/mediamanager-global-min.js b/modules/cms/widgets/mediamanager/assets/js/mediamanager-global-min.js deleted file mode 100644 index 5b78d66e4..000000000 --- a/modules/cms/widgets/mediamanager/assets/js/mediamanager-global-min.js +++ /dev/null @@ -1,132 +0,0 @@ - -if(!RedactorPlugins)var RedactorPlugins={};RedactorPlugins.mediamanager=function() -{function hideLinkTooltips(){$('.redactor-link-tooltip').remove()} -return{init:function() -{var buttonInsertLink=this.button.add('mmInsertMediaLink',$.oc.lang.get('mediamanager.insert_link'));this.button.setAwesome('mmInsertMediaLink','icon-link');buttonInsertLink.addClass('oc-redactor-button oc-autumn-button') -this.button.addCallback(buttonInsertLink,this.mediamanager.onInsertLink);var buttonInsertImage=this.button.add('mmInsertImageLink',$.oc.lang.get('mediamanager.insert_image'));buttonInsertImage.addClass('re-image oc-autumn-button') -buttonInsertImage.removeClass('redactor-btn-image') -this.button.addCallback(buttonInsertImage,this.mediamanager.onInsertImage);var buttonInsertVideo=this.button.add('mmInsertVideoLink',$.oc.lang.get('mediamanager.insert_video'));buttonInsertVideo.addClass('re-video oc-autumn-button') -buttonInsertVideo.removeClass('redactor-btn-image') -this.button.addCallback(buttonInsertVideo,this.mediamanager.onInsertVideo);var buttonInsertAudio=this.button.add('mmInsertAudioLink',$.oc.lang.get('mediamanager.insert_audio'));this.button.setAwesome('mmInsertAudioLink','icon-volume-up');buttonInsertAudio.addClass('oc-redactor-button oc-autumn-button') -this.button.addCallback(buttonInsertAudio,this.mediamanager.onInsertAudio);},onInsertLink:function(buttonName) -{var that=this -hideLinkTooltips() -this.selection.save() -this.link.getData() -new $.oc.mediaManager.popup({alias:'ocmediamanager',cropAndInsertButton:false,onInsert:function(items){if(!items.length){$.oc.alert($.oc.lang.get('mediamanager.invalid_file_empty_insert')) -return} -if(items.length>1){$.oc.alert($.oc.lang.get('mediamanager.invalid_file_single_insert')) -return} -var text=that.link.text,textIsEmpty=$.trim(text)==='' -for(var i=0,len=items.length;i').attr('src',items[i].publicUrl).attr('data-redactor-inserted-image','true') -html+=that.utils.getOuterHtml($img) -imagesInserted++} -if(imagesInserted>0){if(isP) -html='
'+html+'
' -that.selection.restore() -that.buffer.set() -that.insert.html(html,false);var $image=that.$editor.find('img[data-redactor-inserted-image=true]').removeAttr('data-redactor-inserted-image') -if(isP) -$image.parent().contents().unwrap().wrap('

') -else{if(that.opts.linebreaks) -$image.before('
').after('
')}} -if(imagesInserted!==0) -this.hide()}})},onInsertVideo:function(buttonName){hideLinkTooltips() -var that=this -hideLinkTooltips() -this.selection.save() -this.link.getData() -new $.oc.mediaManager.popup({alias:'ocmediamanager',cropAndInsertButton:false,onInsert:function(items){if(!items.length){$.oc.alert($.oc.lang.get('mediamanager.invalid_video_empty_insert')) -return} -if(items.length>1){$.oc.alert($.oc.lang.get('mediamanager.invalid_file_single_insert')) -return} -var item=items[0] -if(item.documentType!=='video'){$.oc.alert($.oc.lang.get('mediamanager.invalid_video_invalid_insert','The file "'+item.title+'" is not a video.')) -return} -var $richEditorNode=that.core.getTextarea().closest('[data-control="richeditor"]'),$videoNode=$('

') -$videoNode.get(0).contentEditable=false -$videoNode.attr('data-video',item.publicUrl) -$videoNode.attr('data-label',item.title) -that.selection.restore() -$richEditorNode.richEditor('insertUiBlock',$videoNode) -this.hide()}})},onInsertAudio:function(buttonName){hideLinkTooltips() -var that=this -hideLinkTooltips() -this.selection.save() -this.link.getData() -new $.oc.mediaManager.popup({alias:'ocmediamanager',cropAndInsertButton:false,onInsert:function(items){if(!items.length){$.oc.alert($.oc.lang.get('mediamanager.invalid_audio_empty_insert')) -return} -if(items.length>1){$.oc.alert($.oc.lang.get('mediamanager.invalid_file_single_insert')) -return} -var item=items[0] -if(item.documentType!=='audio'){$.oc.alert($.oc.lang.get('mediamanager.invalid_audio_invalid_insert','The file "'+item.title+'" is not an audio file.')) -return} -var $richEditorNode=that.core.getTextarea().closest('[data-control="richeditor"]'),$videoNode=$('
') -$videoNode.get(0).contentEditable=false -$videoNode.attr('data-audio',item.publicUrl) -$videoNode.attr('data-label',item.title) -that.selection.restore() -$richEditorNode.richEditor('insertUiBlock',$videoNode) -this.hide()}})}};};+function($){"use strict";if($.oc.mediaManager===undefined) -$.oc.mediaManager={} -var Base=$.oc.foundation.base,BaseProto=Base.prototype -var MediaManagerPopup=function(options){this.$popupRootElement=null -this.options=$.extend({},MediaManagerPopup.DEFAULTS,options) -Base.call(this) -this.init() -this.show()} -MediaManagerPopup.prototype=Object.create(BaseProto) -MediaManagerPopup.prototype.constructor=MediaManagerPopup -MediaManagerPopup.prototype.dispose=function(){this.unregisterHandlers() -this.$popupRootElement.remove() -this.$popupRootElement=null -this.$popupElement=null -BaseProto.dispose.call(this)} -MediaManagerPopup.prototype.init=function(){if(this.options.alias===undefined) -throw new Error('Media Manager popup option "alias" is not set.') -this.$popupRootElement=$('
') -this.registerHandlers()} -MediaManagerPopup.prototype.registerHandlers=function(){this.$popupRootElement.one('hide.oc.popup',this.proxy(this.onPopupHidden)) -this.$popupRootElement.one('shown.oc.popup',this.proxy(this.onPopupShown))} -MediaManagerPopup.prototype.unregisterHandlers=function(){this.$popupElement.off('popupcommand',this.proxy(this.onPopupCommand)) -this.$popupRootElement.off('popupcommand',this.proxy(this.onPopupCommand))} -MediaManagerPopup.prototype.show=function(){var data={bottomToolbar:this.options.bottomToolbar?1:0,cropAndInsertButton:this.options.cropAndInsertButton?1:0} -this.$popupRootElement.popup({extraData:data,size:'adaptive',adaptiveHeight:true,handler:this.options.alias+'::onLoadPopup'})} -MediaManagerPopup.prototype.hide=function(){if(this.$popupElement) -this.$popupElement.trigger('close.oc.popup')} -MediaManagerPopup.prototype.getMediaManagerElement=function(){return this.$popupElement.find('[data-control="media-manager"]')} -MediaManagerPopup.prototype.insertMedia=function(){var items=this.getMediaManagerElement().mediaManager('getSelectedItems') -if(this.options.onInsert!==undefined) -this.options.onInsert.call(this,items)} -MediaManagerPopup.prototype.insertCroppedImage=function(imageItem){if(this.options.onInsert!==undefined) -this.options.onInsert.call(this,[imageItem])} -MediaManagerPopup.prototype.onPopupHidden=function(event,element,popup){var mediaManager=this.getMediaManagerElement() -mediaManager.mediaManager('dispose') -mediaManager.remove() -$(document).trigger('mousedown') -this.dispose() -if(this.options.onClose!==undefined) -this.options.onClose.call(this)} -MediaManagerPopup.prototype.onPopupShown=function(event,element,popup){this.$popupElement=popup -this.$popupElement.on('popupcommand',this.proxy(this.onPopupCommand)) -this.getMediaManagerElement().mediaManager('selectFirstItem')} -MediaManagerPopup.prototype.onPopupCommand=function(ev,command,param){switch(command){case'insert':this.insertMedia() -break;case'insert-cropped':this.insertCroppedImage(param) -break;} -return false} -MediaManagerPopup.DEFAULTS={alias:undefined,bottomToolbar:true,cropAndInsertButton:false,onInsert:undefined,onClose:undefined} -$.oc.mediaManager.popup=MediaManagerPopup}(window.jQuery); \ No newline at end of file diff --git a/modules/cms/widgets/mediamanager/assets/js/mediamanager-global.js b/modules/cms/widgets/mediamanager/assets/js/mediamanager-global.js index 6e773dd9b..049a806f6 100644 --- a/modules/cms/widgets/mediamanager/assets/js/mediamanager-global.js +++ b/modules/cms/widgets/mediamanager/assets/js/mediamanager-global.js @@ -1,13 +1,6 @@ /* - * This is a bundle file, you can compile this in two ways: - * (1) Using your favorite JS combiner - * (2) Using CLI command: - * php artisan october:util compile assets - * - * @see build-min.js - * +These scripts will be included globally as part of the backend. -=require mediamanager.redactor.js =require mediamanager.popup.js */ diff --git a/modules/cms/widgets/mediamanager/assets/js/mediamanager.redactor.js b/modules/cms/widgets/mediamanager/assets/js/mediamanager.redactor.js deleted file mode 100644 index cf84ca369..000000000 --- a/modules/cms/widgets/mediamanager/assets/js/mediamanager.redactor.js +++ /dev/null @@ -1,237 +0,0 @@ -if (!RedactorPlugins) var RedactorPlugins = {}; - -RedactorPlugins.mediamanager = function() -{ - // This plugin uses Redactor's undocumented internals directly (this.link). - // If Redactor changes the internal link API, we will need - // to rewrite the code. - - function hideLinkTooltips() { - $('.redactor-link-tooltip').remove() - } - - return { - init: function() - { - // Insert link button - var buttonInsertLink = this.button.add('mmInsertMediaLink', $.oc.lang.get('mediamanager.insert_link')); - - this.button.setAwesome('mmInsertMediaLink', 'icon-link'); - buttonInsertLink.addClass('oc-redactor-button oc-autumn-button') - this.button.addCallback(buttonInsertLink, this.mediamanager.onInsertLink); - - // Insert image button - var buttonInsertImage = this.button.add('mmInsertImageLink', $.oc.lang.get('mediamanager.insert_image')); - buttonInsertImage.addClass('re-image oc-autumn-button') - buttonInsertImage.removeClass('redactor-btn-image') - this.button.addCallback(buttonInsertImage, this.mediamanager.onInsertImage); - - // Insert video button - var buttonInsertVideo = this.button.add('mmInsertVideoLink', $.oc.lang.get('mediamanager.insert_video')); - buttonInsertVideo.addClass('re-video oc-autumn-button') - buttonInsertVideo.removeClass('redactor-btn-image') - this.button.addCallback(buttonInsertVideo, this.mediamanager.onInsertVideo); - - // Insert audio button - var buttonInsertAudio = this.button.add('mmInsertAudioLink', $.oc.lang.get('mediamanager.insert_audio')); - this.button.setAwesome('mmInsertAudioLink', 'icon-volume-up'); - buttonInsertAudio.addClass('oc-redactor-button oc-autumn-button') - this.button.addCallback(buttonInsertAudio, this.mediamanager.onInsertAudio); - }, - - onInsertLink: function(buttonName) - { - var that = this - hideLinkTooltips() - - this.selection.save() - this.link.getData() - - new $.oc.mediaManager.popup({ - alias: 'ocmediamanager', - cropAndInsertButton: false, - onInsert: function(items) { - if (!items.length) { - $.oc.alert($.oc.lang.get('mediamanager.invalid_file_empty_insert')) - return - } - - if (items.length > 1) { - $.oc.alert($.oc.lang.get('mediamanager.invalid_file_single_insert')) - return - } - - var text = that.link.text, - textIsEmpty = $.trim(text) === '' - - for (var i=0, len=items.length; i') - .attr('src', items[i].publicUrl) - .attr('data-redactor-inserted-image', 'true') - - html += that.utils.getOuterHtml($img) - imagesInserted++ - } - - if (imagesInserted > 0) { - if (isP) - html = '
' + html + '
' - - that.selection.restore() - that.buffer.set() - that.insert.html(html, false); - - var $image = that.$editor.find('img[data-redactor-inserted-image=true]').removeAttr('data-redactor-inserted-image') - - if (isP) - $image.parent().contents().unwrap().wrap('

') - else { - if (that.opts.linebreaks) - $image.before('
').after('
') - } - } - - if (imagesInserted !== 0) - this.hide() - } - }) - }, - - onInsertVideo: function(buttonName) { - hideLinkTooltips() - - var that = this - hideLinkTooltips() - - this.selection.save() - this.link.getData() - - new $.oc.mediaManager.popup({ - alias: 'ocmediamanager', - cropAndInsertButton: false, - onInsert: function(items) { - if (!items.length) { - $.oc.alert($.oc.lang.get('mediamanager.invalid_video_empty_insert')) - return - } - - if (items.length > 1) { - $.oc.alert($.oc.lang.get('mediamanager.invalid_file_single_insert')) - return - } - - var item = items[0] - - if (item.documentType !== 'video') { - $.oc.alert($.oc.lang.get('mediamanager.invalid_video_invalid_insert', 'The file "'+item.title+'" is not a video.')) - return - } - - var $richEditorNode = that.core.getTextarea().closest('[data-control="richeditor"]'), - $videoNode = $('

') - - $videoNode.get(0).contentEditable = false - - $videoNode.attr('data-video', item.publicUrl) - $videoNode.attr('data-label', item.title) - - that.selection.restore() - - $richEditorNode.richEditor('insertUiBlock', $videoNode) - - this.hide() - } - }) - }, - - onInsertAudio: function(buttonName) { - hideLinkTooltips() - - var that = this - hideLinkTooltips() - - this.selection.save() - this.link.getData() - - new $.oc.mediaManager.popup({ - alias: 'ocmediamanager', - cropAndInsertButton: false, - onInsert: function(items) { - if (!items.length) { - $.oc.alert($.oc.lang.get('mediamanager.invalid_audio_empty_insert')) - return - } - - if (items.length > 1) { - $.oc.alert($.oc.lang.get('mediamanager.invalid_file_single_insert')) - return - } - - var item = items[0] - - if (item.documentType !== 'audio') { - $.oc.alert($.oc.lang.get('mediamanager.invalid_audio_invalid_insert', 'The file "'+item.title+'" is not an audio file.')) - return - } - - var $richEditorNode = that.core.getTextarea().closest('[data-control="richeditor"]'), - $videoNode = $('
') - - $videoNode.get(0).contentEditable = false - - $videoNode.attr('data-audio', item.publicUrl) - $videoNode.attr('data-label', item.title) - - that.selection.restore() - - $richEditorNode.richEditor('insertUiBlock', $videoNode) - - this.hide() - } - }) - } - }; -}; \ No newline at end of file