Régularisation de commits manquants
1
web/tinymce/plugins/advlist/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("advlist",function(e){function t(e,t){var n=[];return tinymce.each(t.split(/[ ,]/),function(e){n.push({text:e.replace(/\-/g," ").replace(/\b\w/g,function(e){return e.toUpperCase()}),data:"default"==e?"":e})}),n}function n(t,n){e.undoManager.transact(function(){var r,i=e.dom,o=e.selection;r=i.getParent(o.getNode(),"ol,ul"),r&&r.nodeName==t&&n!==!1||e.execCommand("UL"==t?"InsertUnorderedList":"InsertOrderedList"),n=n===!1?a[t]:n,a[t]=n,r=i.getParent(o.getNode(),"ol,ul"),r&&(i.setStyle(r,"listStyleType",n?n:null),r.removeAttribute("data-mce-style")),e.focus()})}function r(t){var n=e.dom.getStyle(e.dom.getParent(e.selection.getNode(),"ol,ul"),"listStyleType")||"";t.control.items().each(function(e){e.active(e.settings.data===n)})}var i,o,a={};i=t("OL",e.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman")),o=t("UL",e.getParam("advlist_bullet_styles","default,circle,disc,square")),e.addButton("numlist",{type:"splitbutton",tooltip:"Numbered list",menu:i,onshow:r,onselect:function(e){n("OL",e.control.settings.data)},onclick:function(){n("OL",!1)}}),e.addButton("bullist",{type:"splitbutton",tooltip:"Bullet list",menu:o,onshow:r,onselect:function(e){n("UL",e.control.settings.data)},onclick:function(){n("UL",!1)}})});
|
||||
1
web/tinymce/plugins/anchor/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("anchor",function(e){function t(){var t=e.selection.getNode(),n="",r="A"==t.tagName&&""===e.dom.getAttrib(t,"href");r&&(n=t.name||t.id||""),e.windowManager.open({title:"Anchor",body:{type:"textbox",name:"name",size:40,label:"Name",value:n},onsubmit:function(n){var i=n.data.name;r?t.id=i:(e.selection.collapse(!0),e.execCommand("mceInsertContent",!1,e.dom.createHTML("a",{id:i})))}})}e.addCommand("mceAnchor",t),e.addButton("anchor",{icon:"anchor",tooltip:"Anchor",onclick:t,stateSelector:"a:not([href])"}),e.addMenuItem("anchor",{icon:"anchor",text:"Anchor",context:"insert",onclick:t})});
|
||||
1
web/tinymce/plugins/autolink/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("autolink",function(e){function t(e){i(e,-1,"(",!0)}function n(e){i(e,0,"",!0)}function r(e){i(e,-1,"",!1)}function i(e,t,n){function r(e,t){if(0>t&&(t=0),3==e.nodeType){var n=e.data.length;t>n&&(t=n)}return t}function i(e,t){1!=e.nodeType||e.hasChildNodes()?a.setStart(e,r(e,t)):a.setStartBefore(e)}function o(e,t){1!=e.nodeType||e.hasChildNodes()?a.setEnd(e,r(e,t)):a.setEndAfter(e)}var a,s,l,c,u,d,f,p,m,h;if("A"!=e.selection.getNode().tagName){if(a=e.selection.getRng(!0).cloneRange(),a.startOffset<5){if(p=a.endContainer.previousSibling,!p){if(!a.endContainer.firstChild||!a.endContainer.firstChild.nextSibling)return;p=a.endContainer.firstChild.nextSibling}if(m=p.length,i(p,m),o(p,m),a.endOffset<5)return;s=a.endOffset,c=p}else{if(c=a.endContainer,3!=c.nodeType&&c.firstChild){for(;3!=c.nodeType&&c.firstChild;)c=c.firstChild;3==c.nodeType&&(i(c,0),o(c,c.nodeValue.length))}s=1==a.endOffset?2:a.endOffset-1-t}l=s;do i(c,s>=2?s-2:0),o(c,s>=1?s-1:0),s-=1,h=a.toString();while(" "!=h&&""!==h&&160!=h.charCodeAt(0)&&s-2>=0&&h!=n);a.toString()==n||160==a.toString().charCodeAt(0)?(i(c,s),o(c,l),s+=1):0===a.startOffset?(i(c,0),o(c,l)):(i(c,s),o(c,l)),d=a.toString(),"."==d.charAt(d.length-1)&&o(c,l-1),d=a.toString(),f=d.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i),f&&("www."==f[1]?f[1]="http://www.":/@$/.test(f[1])&&!/^mailto:/.test(f[1])&&(f[1]="mailto:"+f[1]),u=e.selection.getBookmark(),e.selection.setRng(a),e.execCommand("createlink",!1,f[1]+f[2]),e.selection.moveToBookmark(u),e.nodeChanged())}}var o;return e.on("keydown",function(t){return 13==t.keyCode?r(e):void 0}),tinymce.Env.ie?void e.on("focus",function(){if(!o){o=!0;try{e.execCommand("AutoUrlDetect",!1,!0)}catch(t){}}}):(e.on("keypress",function(n){return 41==n.keyCode?t(e):void 0}),void e.on("keyup",function(t){return 32==t.keyCode?n(e):void 0}))});
|
||||
1
web/tinymce/plugins/autoresize/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("autoresize",function(e){function t(){return e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen()}function n(r){var a,s,l,c,u,d,f,p,m,h,g,v,y=tinymce.DOM;if(s=e.getDoc()){if(l=s.body,c=s.documentElement,u=i.autoresize_min_height,!l||r&&"setcontent"===r.type&&r.initial||t())return void(l&&c&&(l.style.overflowY="auto",c.style.overflowY="auto"));f=e.dom.getStyle(l,"margin-top",!0),p=e.dom.getStyle(l,"margin-bottom",!0),m=e.dom.getStyle(l,"padding-top",!0),h=e.dom.getStyle(l,"padding-bottom",!0),g=e.dom.getStyle(l,"border-top-width",!0),v=e.dom.getStyle(l,"border-bottom-width",!0),d=l.offsetHeight+parseInt(f,10)+parseInt(p,10)+parseInt(m,10)+parseInt(h,10)+parseInt(g,10)+parseInt(v,10),(isNaN(d)||0>=d)&&(d=tinymce.Env.ie?l.scrollHeight:tinymce.Env.webkit&&0===l.clientHeight?0:l.offsetHeight),d>i.autoresize_min_height&&(u=d),i.autoresize_max_height&&d>i.autoresize_max_height?(u=i.autoresize_max_height,l.style.overflowY="auto",c.style.overflowY="auto"):(l.style.overflowY="hidden",c.style.overflowY="hidden",l.scrollTop=0),u!==o&&(a=u-o,y.setStyle(e.iframeElement,"height",u+"px"),o=u,tinymce.isWebKit&&0>a&&n(r))}}function r(t,i,o){tinymce.util.Delay.setEditorTimeout(e,function(){n({}),t--?r(t,i,o):o&&o()},i)}var i=e.settings,o=0;e.settings.inline||(i.autoresize_min_height=parseInt(e.getParam("autoresize_min_height",e.getElement().offsetHeight),10),i.autoresize_max_height=parseInt(e.getParam("autoresize_max_height",0),10),e.on("init",function(){var t,n;t=e.getParam("autoresize_overflow_padding",1),n=e.getParam("autoresize_bottom_margin",50),t!==!1&&e.dom.setStyles(e.getBody(),{paddingLeft:t,paddingRight:t}),n!==!1&&e.dom.setStyles(e.getBody(),{paddingBottom:n})}),e.on("nodechange setcontent keyup FullscreenStateChanged",n),e.getParam("autoresize_on_init",!0)&&e.on("init",function(){r(20,100,function(){r(5,1e3)})}),e.addCommand("mceAutoResize",n))});
|
||||
1
web/tinymce/plugins/autosave/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce._beforeUnloadHandler=function(){var e;return tinymce.each(tinymce.editors,function(t){t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&t.getParam("autosave_ask_before_unload",!0)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))}),e},tinymce.PluginManager.add("autosave",function(e){function t(e,t){var n={s:1e3,m:6e4};return e=/^(\d+)([ms]?)$/.exec(""+(e||t)),(e[2]?n[e[2]]:1)*parseInt(e,10)}function n(){var e=parseInt(p.getItem(u+"time"),10)||0;return(new Date).getTime()-e>f.autosave_retention?(r(!1),!1):!0}function r(t){p.removeItem(u+"draft"),p.removeItem(u+"time"),t!==!1&&e.fire("RemoveDraft")}function i(){!c()&&e.isDirty()&&(p.setItem(u+"draft",e.getContent({format:"raw",no_events:!0})),p.setItem(u+"time",(new Date).getTime()),e.fire("StoreDraft"))}function o(){n()&&(e.setContent(p.getItem(u+"draft"),{format:"raw"}),e.fire("RestoreDraft"))}function a(){d||(setInterval(function(){e.removed||i()},f.autosave_interval),d=!0)}function s(){var t=this;t.disabled(!n()),e.on("StoreDraft RestoreDraft RemoveDraft",function(){t.disabled(!n())}),a()}function l(){e.undoManager.beforeChange(),o(),r(),e.undoManager.add()}function c(t){var n=e.settings.forced_root_block;return t=tinymce.trim("undefined"==typeof t?e.getBody().innerHTML:t),""===t||new RegExp("^<"+n+"[^>]*>((\xa0| |[ ]|<br[^>]*>)+?|)</"+n+">|<br>$","i").test(t)}var u,d,f=e.settings,p=tinymce.util.LocalStorage;u=f.autosave_prefix||"tinymce-autosave-{path}{query}-{id}-",u=u.replace(/\{path\}/g,document.location.pathname),u=u.replace(/\{query\}/g,document.location.search),u=u.replace(/\{id\}/g,e.id),f.autosave_interval=t(f.autosave_interval,"30s"),f.autosave_retention=t(f.autosave_retention,"20m"),e.addButton("restoredraft",{title:"Restore last draft",onclick:l,onPostRender:s}),e.addMenuItem("restoredraft",{text:"Restore last draft",onclick:l,onPostRender:s,context:"file"}),e.settings.autosave_restore_when_empty!==!1&&(e.on("init",function(){n()&&c()&&o()}),e.on("saveContent",function(){r()})),window.onbeforeunload=tinymce._beforeUnloadHandler,this.hasDraft=n,this.storeDraft=i,this.restoreDraft=o,this.removeDraft=r,this.isEmpty=c});
|
||||
1
web/tinymce/plugins/bbcode/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(e){var t=this,n=e.getParam("bbcode_dialect","punbb").toLowerCase();e.on("beforeSetContent",function(e){e.content=t["_"+n+"_bbcode2html"](e.content)}),e.on("postProcess",function(e){e.set&&(e.content=t["_"+n+"_bbcode2html"](e.content)),e.get&&(e.content=t["_"+n+"_html2bbcode"](e.content))})},getInfo:function(){return{longname:"BBCode Plugin",author:"Ephox Corp",authorurl:"http://www.tinymce.com",infourl:"http://www.tinymce.com/wiki.php/Plugin:bbcode"}},_punbb_html2bbcode:function(e){function t(t,n){e=e.replace(t,n)}return e=tinymce.trim(e),t(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]"),t(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),t(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),t(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),t(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),t(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]"),t(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]"),t(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]"),t(/<font>(.*?)<\/font>/gi,"$1"),t(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]"),t(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]"),t(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]"),t(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"),t(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"),t(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"),t(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"),t(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"),t(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"),t(/<\/(strong|b)>/gi,"[/b]"),t(/<(strong|b)>/gi,"[b]"),t(/<\/(em|i)>/gi,"[/i]"),t(/<(em|i)>/gi,"[i]"),t(/<\/u>/gi,"[/u]"),t(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]"),t(/<u>/gi,"[u]"),t(/<blockquote[^>]*>/gi,"[quote]"),t(/<\/blockquote>/gi,"[/quote]"),t(/<br \/>/gi,"\n"),t(/<br\/>/gi,"\n"),t(/<br>/gi,"\n"),t(/<p>/gi,""),t(/<\/p>/gi,"\n"),t(/ |\u00a0/gi," "),t(/"/gi,'"'),t(/</gi,"<"),t(/>/gi,">"),t(/&/gi,"&"),e},_punbb_bbcode2html:function(e){function t(t,n){e=e.replace(t,n)}return e=tinymce.trim(e),t(/\n/gi,"<br />"),t(/\[b\]/gi,"<strong>"),t(/\[\/b\]/gi,"</strong>"),t(/\[i\]/gi,"<em>"),t(/\[\/i\]/gi,"</em>"),t(/\[u\]/gi,"<u>"),t(/\[\/u\]/gi,"</u>"),t(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>'),t(/\[url\](.*?)\[\/url\]/gi,'<a href="$1">$1</a>'),t(/\[img\](.*?)\[\/img\]/gi,'<img src="$1" />'),t(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<font color="$1">$2</font>'),t(/\[code\](.*?)\[\/code\]/gi,'<span class="codeStyle">$1</span> '),t(/\[quote.*?\](.*?)\[\/quote\]/gi,'<span class="quoteStyle">$1</span> '),e}}),tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)}();
|
||||
1
web/tinymce/plugins/charmap/plugin.min.js
vendored
Normal file
1
web/tinymce/plugins/code/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("code",function(e){function t(){var t=e.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:e.getParam("code_dialog_width",600),minHeight:e.getParam("code_dialog_height",Math.min(tinymce.DOM.getViewPort().h-200,500)),spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(t){e.focus(),e.undoManager.transact(function(){e.setContent(t.data.code)}),e.selection.setCursorLocation(),e.nodeChanged()}});t.find("#code").value(e.getContent({source_view:!0}))}e.addCommand("mceCodeEditor",t),e.addButton("code",{icon:"code",tooltip:"Source code",onclick:t}),e.addMenuItem("code",{icon:"code",text:"Source code",context:"tools",onclick:t})});
|
||||
138
web/tinymce/plugins/codesample/css/prism.css
Normal file
@@ -0,0 +1,138 @@
|
||||
/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript */
|
||||
/**
|
||||
* prism.js default theme for JavaScript, CSS and HTML
|
||||
* Based on dabblet (http://dabblet.com)
|
||||
* @author Lea Verou
|
||||
*/
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: black;
|
||||
text-shadow: 0 1px white;
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
direction: ltr;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
|
||||
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
|
||||
code[class*="language-"]::selection, code[class*="language-"] ::selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
@media print {
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: .5em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
:not(pre) > code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background: #f5f2f0;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre) > code[class*="language-"] {
|
||||
padding: .1em;
|
||||
border-radius: .3em;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: slategray;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.namespace {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.tag,
|
||||
.token.boolean,
|
||||
.token.number,
|
||||
.token.constant,
|
||||
.token.symbol,
|
||||
.token.deleted {
|
||||
color: #905;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
.token.attr-name,
|
||||
.token.string,
|
||||
.token.char,
|
||||
.token.builtin,
|
||||
.token.inserted {
|
||||
color: #690;
|
||||
}
|
||||
|
||||
.token.operator,
|
||||
.token.entity,
|
||||
.token.url,
|
||||
.language-css .token.string,
|
||||
.style .token.string {
|
||||
color: #a67f59;
|
||||
background: hsla(0, 0%, 100%, .5);
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
.token.attr-value,
|
||||
.token.keyword {
|
||||
color: #07a;
|
||||
}
|
||||
|
||||
.token.function {
|
||||
color: #DD4A68;
|
||||
}
|
||||
|
||||
.token.regex,
|
||||
.token.important,
|
||||
.token.variable {
|
||||
color: #e90;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
1
web/tinymce/plugins/codesample/plugin.min.js
vendored
Normal file
1
web/tinymce/plugins/colorpicker/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("colorpicker",function(e){function t(t,n){function r(e){var t=new tinymce.util.Color(e),n=t.toRgb();o.fromJSON({r:n.r,g:n.g,b:n.b,hex:t.toHex().substr(1)}),i(t.toHex())}function i(e){o.find("#preview")[0].getEl().style.background=e}var o=e.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:n,onchange:function(){var e=this.rgb();o&&(o.find("#r").value(e.r),o.find("#g").value(e.g),o.find("#b").value(e.b),o.find("#hex").value(this.value().substr(1)),i(this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var e,t,n=o.find("colorpicker")[0];return e=this.name(),t=this.value(),"hex"==e?(t="#"+t,r(t),void n.value(t)):(t={r:o.find("#r").value(),g:o.find("#g").value(),b:o.find("#b").value()},n.value(t),void r(t))}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){t("#"+this.toJSON().hex)}});r(n)}e.settings.color_picker_callback||(e.settings.color_picker_callback=t)});
|
||||
1
web/tinymce/plugins/contextmenu/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("contextmenu",function(e){var t,n=e.settings.contextmenu_never_use_native;e.on("contextmenu",function(r){var i,o=e.getDoc();if(!r.ctrlKey||n){if(r.preventDefault(),tinymce.Env.mac&&tinymce.Env.webkit&&2==r.button&&o.caretRangeFromPoint&&e.selection.setRng(o.caretRangeFromPoint(r.x,r.y)),i=e.settings.contextmenu||"link image inserttable | cell row column deletetable",t)t.show();else{var a=[];tinymce.each(i.split(/[ ,]/),function(t){var n=e.menuItems[t];"|"==t&&(n={text:t}),n&&(n.shortcut="",a.push(n))});for(var s=0;s<a.length;s++)"|"==a[s].text&&(0===s||s==a.length-1)&&a.splice(s,1);t=new tinymce.ui.Menu({items:a,context:"contextmenu",classes:"contextmenu"}).renderTo(),e.on("remove",function(){t.remove(),t=null})}var l={x:r.pageX,y:r.pageY};e.inline||(l=tinymce.DOM.getPos(e.getContentAreaContainer()),l.x+=r.clientX,l.y+=r.clientY),t.moveTo(l.x,l.y)}})});
|
||||
1
web/tinymce/plugins/directionality/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("directionality",function(e){function t(t){var n,r=e.dom,i=e.selection.getSelectedBlocks();i.length&&(n=r.getAttrib(i[0],"dir"),tinymce.each(i,function(e){r.getParent(e.parentNode,"*[dir='"+t+"']",r.getRoot())||(n!=t?r.setAttrib(e,"dir",t):r.setAttrib(e,"dir",null))}),e.nodeChanged())}function n(e){var t=[];return tinymce.each("h1 h2 h3 h4 h5 h6 div p".split(" "),function(n){t.push(n+"[dir="+e+"]")}),t.join(",")}e.addCommand("mceDirectionLTR",function(){t("ltr")}),e.addCommand("mceDirectionRTL",function(){t("rtl")}),e.addButton("ltr",{title:"Left to right",cmd:"mceDirectionLTR",stateSelector:n("ltr")}),e.addButton("rtl",{title:"Right to left",cmd:"mceDirectionRTL",stateSelector:n("rtl")})});
|
||||
BIN
web/tinymce/plugins/emoticons/img/smiley-cool.gif
Normal file
|
After Width: | Height: | Size: 354 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-cry.gif
Normal file
|
After Width: | Height: | Size: 329 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-embarassed.gif
Normal file
|
After Width: | Height: | Size: 331 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif
Normal file
|
After Width: | Height: | Size: 342 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-frown.gif
Normal file
|
After Width: | Height: | Size: 340 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-innocent.gif
Normal file
|
After Width: | Height: | Size: 336 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-kiss.gif
Normal file
|
After Width: | Height: | Size: 338 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-laughing.gif
Normal file
|
After Width: | Height: | Size: 343 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-money-mouth.gif
Normal file
|
After Width: | Height: | Size: 321 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-sealed.gif
Normal file
|
After Width: | Height: | Size: 323 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-smile.gif
Normal file
|
After Width: | Height: | Size: 344 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-surprised.gif
Normal file
|
After Width: | Height: | Size: 338 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-tongue-out.gif
Normal file
|
After Width: | Height: | Size: 328 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-undecided.gif
Normal file
|
After Width: | Height: | Size: 337 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-wink.gif
Normal file
|
After Width: | Height: | Size: 350 B |
BIN
web/tinymce/plugins/emoticons/img/smiley-yell.gif
Normal file
|
After Width: | Height: | Size: 336 B |
1
web/tinymce/plugins/emoticons/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("emoticons",function(e,t){function n(){var e;return e='<table role="list" class="mce-grid">',tinymce.each(r,function(n){e+="<tr>",tinymce.each(n,function(n){var r=t+"/img/smiley-"+n+".gif";e+='<td><a href="#" data-mce-url="'+r+'" data-mce-alt="'+n+'" tabindex="-1" role="option" aria-label="'+n+'"><img src="'+r+'" style="width: 18px; height: 18px" role="presentation" /></a></td>'}),e+="</tr>"}),e+="</table>"}var r=[["cool","cry","embarassed","foot-in-mouth"],["frown","innocent","kiss","laughing"],["money-mouth","sealed","smile","surprised"],["tongue-out","undecided","wink","yell"]];e.addButton("emoticons",{type:"panelbutton",panel:{role:"application",autohide:!0,html:n,onclick:function(t){var n=e.dom.getParent(t.target,"a");n&&(e.insertContent('<img src="'+n.getAttribute("data-mce-url")+'" alt="'+n.getAttribute("data-mce-alt")+'" />'),this.hide())}},tooltip:"Emoticons"})});
|
||||
8
web/tinymce/plugins/example/dialog.html
Normal file
@@ -0,0 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
<h3>Custom dialog</h3>
|
||||
Input some text: <input id="content">
|
||||
<button onclick="top.tinymce.activeEditor.windowManager.getWindows()[0].close();">Close window</button>
|
||||
</body>
|
||||
</html>
|
||||
1
web/tinymce/plugins/example/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("example",function(e,t){e.addButton("example",{text:"My button",icon:!1,onclick:function(){e.windowManager.open({title:"Example plugin",body:[{type:"textbox",name:"title",label:"Title"}],onsubmit:function(t){e.insertContent("Title: "+t.data.title)}})}}),e.addMenuItem("example",{text:"Example plugin",context:"tools",onclick:function(){e.windowManager.open({title:"TinyMCE site",url:t+"/dialog.html",width:600,height:400,buttons:[{text:"Insert",onclick:function(){var t=e.windowManager.getWindows()[0];e.insertContent(t.getContentWindow().document.getElementById("content").value),t.close()}},{text:"Close",onclick:"close"}]})}})});
|
||||
1
web/tinymce/plugins/example_dependency/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("example_dependency",function(){},["example"]);
|
||||
1
web/tinymce/plugins/fullpage/plugin.min.js
vendored
Normal file
1
web/tinymce/plugins/fullscreen/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("fullscreen",function(e){function t(){var e,t,n=window,r=document,i=r.body;return i.offsetWidth&&(e=i.offsetWidth,t=i.offsetHeight),n.innerWidth&&n.innerHeight&&(e=n.innerWidth,t=n.innerHeight),{w:e,h:t}}function n(){function n(){c.setStyle(f,"height",t().h-(d.clientHeight-f.clientHeight))}var u,d,f,p,m=document.body,h=document.documentElement;l=!l,d=e.getContainer(),u=d.style,f=e.getContentAreaContainer().firstChild,p=f.style,l?(r=p.width,i=p.height,p.width=p.height="100%",a=u.width,s=u.height,u.width=u.height="",c.addClass(m,"mce-fullscreen"),c.addClass(h,"mce-fullscreen"),c.addClass(d,"mce-fullscreen"),c.bind(window,"resize",n),n(),o=n):(p.width=r,p.height=i,a&&(u.width=a),s&&(u.height=s),c.removeClass(m,"mce-fullscreen"),c.removeClass(h,"mce-fullscreen"),c.removeClass(d,"mce-fullscreen"),c.unbind(window,"resize",o)),e.fire("FullscreenStateChanged",{state:l})}var r,i,o,a,s,l=!1,c=tinymce.DOM;return e.settings.inline?void 0:(e.on("init",function(){e.addShortcut("Meta+Alt+F","",n)}),e.on("remove",function(){o&&c.unbind(window,"resize",o)}),e.addCommand("mceFullScreen",n),e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Meta+Alt+F",selectable:!0,onClick:n,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})},context:"view"}),e.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Meta+Alt+F",onClick:n,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})}}),{isFullscreen:function(){return l}})});
|
||||
1
web/tinymce/plugins/hr/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("hr",function(e){e.addCommand("InsertHorizontalRule",function(){e.execCommand("mceInsertContent",!1,"<hr />")}),e.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),e.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})});
|
||||
1
web/tinymce/plugins/image/plugin.min.js
vendored
Normal file
1
web/tinymce/plugins/imagetools/plugin.min.js
vendored
Normal file
1
web/tinymce/plugins/importcss/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("importcss",function(e){function t(t){var n=e.settings,r=n.skin!==!1?n.skin||"lightgray":!1;if(r){var i=n.skin_url;return i=i?e.documentBaseURI.toAbsolute(i):tinymce.baseURL+"/skins/"+r,t===i+"/content"+(e.inline?".inline":"")+".min.css"}return!1}function n(e){return"string"==typeof e?function(t){return-1!==t.indexOf(e)}:e instanceof RegExp?function(t){return e.test(t)}:e}function r(n,r){function i(e,n){var s,l=e.href;if(l&&r(l,n)&&!t(l)){a(e.imports,function(e){i(e,!0)});try{s=e.cssRules||e.rules}catch(c){}a(s,function(e){e.styleSheet?i(e.styleSheet,!0):e.selectorText&&a(e.selectorText.split(","),function(e){o.push(tinymce.trim(e))})})}}var o=[],s={};a(e.contentCSS,function(e){s[e]=!0}),r||(r=function(e,t){return t||s[e]});try{a(n.styleSheets,function(e){i(e)})}catch(l){}return o}function i(t){var n,r=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(t);if(r){var i=r[1],o=r[2].substr(1).split(".").join(" "),a=tinymce.makeMap("a,img");return r[1]?(n={title:t},e.schema.getTextBlockElements()[i]?n.block=i:e.schema.getBlockElements()[i]||a[i.toLowerCase()]?n.selector=i:n.inline=i):r[2]&&(n={inline:"span",title:t.substr(1),classes:o}),e.settings.importcss_merge_classes!==!1?n.classes=o:n.attributes={"class":o},n}}var o=this,a=tinymce.each;e.on("renderFormatsMenu",function(t){var s=e.settings,l={},c=s.importcss_selector_converter||i,u=n(s.importcss_selector_filter),d=t.control;e.settings.importcss_append||d.items().remove();var f=[];tinymce.each(s.importcss_groups,function(e){e=tinymce.extend({},e),e.filter=n(e.filter),f.push(e)}),a(r(t.doc||e.getDoc(),n(s.importcss_file_filter)),function(t){if(-1===t.indexOf(".mce-")&&!l[t]&&(!u||u(t))){var n,r=c.call(o,t);if(r){var i=r.name||tinymce.DOM.uniqueId();if(f)for(var a=0;a<f.length;a++)if(!f[a].filter||f[a].filter(t)){f[a].item||(f[a].item={text:f[a].title,menu:[]}),n=f[a].item.menu;break}e.formatter.register(i,r);var s=tinymce.extend({},d.settings.itemDefaults,{text:r.title,format:i});n?n.push(s):d.add(s)}l[t]=!0}}),a(f,function(e){d.add(e.item)}),t.control.renderNew()}),o.convertSelectorToFormat=i});
|
||||
1
web/tinymce/plugins/insertdatetime/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("insertdatetime",function(e){function t(t,n){function r(e,t){if(e=""+e,e.length<t)for(var n=0;n<t-e.length;n++)e="0"+e;return e}return n=n||new Date,t=t.replace("%D","%m/%d/%Y"),t=t.replace("%r","%I:%M:%S %p"),t=t.replace("%Y",""+n.getFullYear()),t=t.replace("%y",""+n.getYear()),t=t.replace("%m",r(n.getMonth()+1,2)),t=t.replace("%d",r(n.getDate(),2)),t=t.replace("%H",""+r(n.getHours(),2)),t=t.replace("%M",""+r(n.getMinutes(),2)),t=t.replace("%S",""+r(n.getSeconds(),2)),t=t.replace("%I",""+((n.getHours()+11)%12+1)),t=t.replace("%p",""+(n.getHours()<12?"AM":"PM")),t=t.replace("%B",""+e.translate(l[n.getMonth()])),t=t.replace("%b",""+e.translate(s[n.getMonth()])),t=t.replace("%A",""+e.translate(a[n.getDay()])),t=t.replace("%a",""+e.translate(o[n.getDay()])),t=t.replace("%%","%")}function n(n){var r=t(n);if(e.settings.insertdatetime_element){var i;i=t(/%[HMSIp]/.test(n)?"%Y-%m-%dT%H:%M":"%Y-%m-%d"),r='<time datetime="'+i+'">'+r+"</time>";var o=e.dom.getParent(e.selection.getStart(),"time");if(o)return void e.dom.setOuterHTML(o,r)}e.insertContent(r)}var r,i,o="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),a="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),s="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),l="January February March April May June July August September October November December".split(" "),c=[];e.addCommand("mceInsertDate",function(){n(e.getParam("insertdatetime_dateformat",e.translate("%Y-%m-%d")))}),e.addCommand("mceInsertTime",function(){n(e.getParam("insertdatetime_timeformat",e.translate("%H:%M:%S")))}),e.addButton("insertdatetime",{type:"splitbutton",title:"Insert date/time",onclick:function(){n(r||i)},menu:c}),tinymce.each(e.settings.insertdatetime_formats||["%H:%M:%S","%Y-%m-%d","%I:%M:%S %p","%D"],function(e){i||(i=e),c.push({text:t(e),onclick:function(){r=e,n(e)}})}),e.addMenuItem("insertdatetime",{icon:"date",text:"Insert date/time",menu:c,context:"insert"})});
|
||||
1
web/tinymce/plugins/layer/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("layer",function(e){function t(e){do if(e.className&&-1!=e.className.indexOf("mceItemLayer"))return e;while(e=e.parentNode)}function n(t){var n=e.dom;tinymce.each(n.select("div,p",t),function(e){/^(absolute|relative|fixed)$/i.test(e.style.position)&&(e.hasVisual?n.addClass(e,"mceItemVisualAid"):n.removeClass(e,"mceItemVisualAid"),n.addClass(e,"mceItemLayer"))})}function r(n){var r,i,o=[],a=t(e.selection.getNode()),s=-1,l=-1;for(i=[],tinymce.walk(e.getBody(),function(e){1==e.nodeType&&/^(absolute|relative|static)$/i.test(e.style.position)&&i.push(e)},"childNodes"),r=0;r<i.length;r++)o[r]=i[r].style.zIndex?parseInt(i[r].style.zIndex,10):0,0>s&&i[r]==a&&(s=r);if(0>n){for(r=0;r<o.length;r++)if(o[r]<o[s]){l=r;break}l>-1?(i[s].style.zIndex=o[l],i[l].style.zIndex=o[s]):o[s]>0&&(i[s].style.zIndex=o[s]-1)}else{for(r=0;r<o.length;r++)if(o[r]>o[s]){l=r;break}l>-1?(i[s].style.zIndex=o[l],i[l].style.zIndex=o[s]):i[s].style.zIndex=o[s]+1}e.execCommand("mceRepaint")}function i(){var t=e.dom,n=t.getPos(t.getParent(e.selection.getNode(),"*")),r=e.getBody();e.dom.add(r,"div",{style:{position:"absolute",left:n.x,top:n.y>20?n.y:20,width:100,height:100},"class":"mceItemVisualAid mceItemLayer"},e.selection.getContent()||e.getLang("layer.content")),tinymce.Env.ie&&t.setHTML(r,r.innerHTML)}function o(){var n=t(e.selection.getNode());n||(n=e.dom.getParent(e.selection.getNode(),"DIV,P,IMG")),n&&("absolute"==n.style.position.toLowerCase()?(e.dom.setStyles(n,{position:"",left:"",top:"",width:"",height:""}),e.dom.removeClass(n,"mceItemVisualAid"),e.dom.removeClass(n,"mceItemLayer")):(n.style.left||(n.style.left="20px"),n.style.top||(n.style.top="20px"),n.style.width||(n.style.width=n.width?n.width+"px":"100px"),n.style.height||(n.style.height=n.height?n.height+"px":"100px"),n.style.position="absolute",e.dom.setAttrib(n,"data-mce-style",""),e.addVisual(e.getBody())),e.execCommand("mceRepaint"),e.nodeChanged())}e.addCommand("mceInsertLayer",i),e.addCommand("mceMoveForward",function(){r(1)}),e.addCommand("mceMoveBackward",function(){r(-1)}),e.addCommand("mceMakeAbsolute",function(){o()}),e.addButton("moveforward",{title:"layer.forward_desc",cmd:"mceMoveForward"}),e.addButton("movebackward",{title:"layer.backward_desc",cmd:"mceMoveBackward"}),e.addButton("absolute",{title:"layer.absolute_desc",cmd:"mceMakeAbsolute"}),e.addButton("insertlayer",{title:"layer.insertlayer_desc",cmd:"mceInsertLayer"}),e.on("init",function(){tinymce.Env.ie&&e.getDoc().execCommand("2D-Position",!1,!0)}),e.on("mouseup",function(n){var r=t(n.target);r&&e.dom.setAttrib(r,"data-mce-style","")}),e.on("mousedown",function(n){var r,i=n.target,o=e.getDoc();tinymce.Env.gecko&&(t(i)?"on"!==o.designMode&&(o.designMode="on",i=o.body,r=i.parentNode,r.removeChild(i),r.appendChild(i)):"on"==o.designMode&&(o.designMode="off"))}),e.on("NodeChange",n)});
|
||||
1
web/tinymce/plugins/legacyoutput/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(e){e.on("AddEditor",function(e){e.editor.settings.inline_styles=!1}),e.PluginManager.add("legacyoutput",function(t,n,r){t.on("init",function(){var n="p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img",r=e.explode(t.settings.font_size_style_values),i=t.schema;t.formatter.register({alignleft:{selector:n,attributes:{align:"left"}},aligncenter:{selector:n,attributes:{align:"center"}},alignright:{selector:n,attributes:{align:"right"}},alignjustify:{selector:n,attributes:{align:"justify"}},bold:[{inline:"b",remove:"all"},{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}}],italic:[{inline:"i",remove:"all"},{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}}],underline:[{inline:"u",remove:"all"},{inline:"span",styles:{textDecoration:"underline"},exact:!0}],strikethrough:[{inline:"strike",remove:"all"},{inline:"span",styles:{textDecoration:"line-through"},exact:!0}],fontname:{inline:"font",attributes:{face:"%value"}},fontsize:{inline:"font",attributes:{size:function(t){return e.inArray(r,t.value)+1}}},forecolor:{inline:"font",attributes:{color:"%value"}},hilitecolor:{inline:"font",styles:{backgroundColor:"%value"}}}),e.each("b,i,u,strike".split(","),function(e){i.addValidElements(e+"[*]")}),i.getElementRule("font")||i.addValidElements("font[face|size|color|style]"),e.each(n.split(","),function(e){var t=i.getElementRule(e);t&&(t.attributes.align||(t.attributes.align={},t.attributesOrder.push("align")))})}),t.addButton("fontsizeselect",function(){var e=[],n="8pt=1 10pt=2 12pt=3 14pt=4 18pt=5 24pt=6 36pt=7",r=t.settings.fontsize_formats||n;return t.$.each(r.split(" "),function(t,n){var r=n,i=n,o=n.split("=");o.length>1&&(r=o[0],i=o[1]),e.push({text:r,value:i})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:e,fixedWidth:!0,onPostRender:function(){var e=this;t.on("NodeChange",function(){var n;n=t.dom.getParent(t.selection.getNode(),"font"),n?e.value(n.size):e.value("")})},onclick:function(e){e.control.settings.value&&t.execCommand("FontSize",!1,e.control.settings.value)}}}),t.addButton("fontselect",function(){function e(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}var n="Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats",i=[],o=e(t.settings.font_formats||n);return r.each(o,function(e,t){i.push({text:{raw:t[0]},value:t[1],textStyle:-1==t[1].indexOf("dings")?"font-family:"+t[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:i,fixedWidth:!0,onPostRender:function(){var e=this;t.on("NodeChange",function(){var n;n=t.dom.getParent(t.selection.getNode(),"font"),n?e.value(n.face):e.value("")})},onselect:function(e){e.control.settings.value&&t.execCommand("FontName",!1,e.control.settings.value)}}})})}(tinymce);
|
||||
1
web/tinymce/plugins/link/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("link",function(e){function t(t){return function(){var n=e.settings.link_list;"string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):"function"==typeof n?n(t):t(n)}}function n(e,t,n){function r(e,n){return n=n||[],tinymce.each(e,function(e){var i={text:e.text||e.title};e.menu?i.menu=r(e.menu):(i.value=e.value,t&&t(i)),n.push(i)}),n}return r(e,n||[])}function r(t){function r(e){var t=d.find("#text");(!t.value()||e.lastControl&&t.value()==e.lastControl.text())&&t.value(e.control.text()),d.find("#href").value(e.control.value())}function i(t){var n=[];return tinymce.each(e.dom.select("a:not([href])"),function(e){var r=e.name||e.id;r&&n.push({text:r,value:"#"+r,selected:-1!=t.indexOf("#"+r)})}),n.length?(n.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:n,onselect:r}):void 0}function o(){!u&&0===x.text.length&&f&&this.parent().parent().find("#text")[0].value(this.value())}function a(t){var n=t.meta||{};m&&m.value(e.convertURL(this.value(),"href")),tinymce.each(t.meta,function(e,t){d.find("#"+t).value(e)}),n.text||o.call(this)}function s(e){var t=C.getContent();if(/</.test(t)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(t)||-1==t.indexOf("href=")))return!1;if(e){var n,r=e.childNodes;if(0===r.length)return!1;for(n=r.length-1;n>=0;n--)if(3!=r[n].nodeType)return!1}return!0}var l,c,u,d,f,p,m,h,g,v,y,b,x={},C=e.selection,w=e.dom;l=C.getNode(),c=w.getParent(l,"a[href]"),f=s(),x.text=u=c?c.innerText||c.textContent:C.getContent({format:"text"}),x.href=c?w.getAttrib(c,"href"):"",c?x.target=w.getAttrib(c,"target"):e.settings.default_link_target&&(x.target=e.settings.default_link_target),(b=w.getAttrib(c,"rel"))&&(x.rel=b),(b=w.getAttrib(c,"class"))&&(x["class"]=b),(b=w.getAttrib(c,"title"))&&(x.title=b),f&&(p={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){x.text=this.value()}}),t&&(m={type:"listbox",label:"Link list",values:n(t,function(t){t.value=e.convertURL(t.value||t.url,"href")},[{text:"None",value:""}]),onselect:r,value:e.convertURL(x.href,"href"),onPostRender:function(){m=this}}),e.settings.target_list!==!1&&(e.settings.target_list||(e.settings.target_list=[{text:"None",value:""},{text:"New window",value:"_blank"}]),g={name:"target",type:"listbox",label:"Target",values:n(e.settings.target_list)}),e.settings.rel_list&&(h={name:"rel",type:"listbox",label:"Rel",values:n(e.settings.rel_list)}),e.settings.link_class_list&&(v={name:"class",type:"listbox",label:"Class",values:n(e.settings.link_class_list,function(t){t.value&&(t.textStyle=function(){return e.formatter.getCssText({inline:"a",classes:[t.value]})})})}),e.settings.link_title!==!1&&(y={name:"title",type:"textbox",label:"Title",value:x.title}),d=e.windowManager.open({title:"Insert link",data:x,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:a,onkeyup:o},p,y,i(x.href),m,h,g,v],onSubmit:function(t){function n(t,n){var r=e.selection.getRng();tinymce.util.Delay.setEditorTimeout(e,function(){e.windowManager.confirm(t,function(t){e.selection.setRng(r),n(t)})})}function r(){var t={href:i,target:x.target?x.target:null,rel:x.rel?x.rel:null,"class":x["class"]?x["class"]:null,title:x.title?x.title:null};c?(e.focus(),f&&x.text!=u&&("innerText"in c?c.innerText=x.text:c.textContent=x.text),w.setAttribs(c,t),C.select(c),e.undoManager.add()):f?e.insertContent(w.createHTML("a",t,w.encode(x.text))):e.execCommand("mceInsertLink",!1,t)}var i;return x=tinymce.extend(x,t.data),(i=x.href)?i.indexOf("@")>0&&-1==i.indexOf("//")&&-1==i.indexOf("mailto:")?void n("The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",function(e){e&&(i="mailto:"+i),r()}):e.settings.link_assume_external_targets&&!/^\w+:/i.test(i)||!e.settings.link_assume_external_targets&&/^\s*www[\.|\d\.]/i.test(i)?void n("The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(e){e&&(i="http://"+i),r()}):void r():void e.execCommand("unlink")}})}e.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Meta+K",onclick:t(r),stateSelector:"a[href]"}),e.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink",stateSelector:"a[href]"}),e.addShortcut("Meta+K","",t(r)),e.addCommand("mceLink",t(r)),this.showDialog=r,e.addMenuItem("link",{icon:"link",text:"Insert/edit link",shortcut:"Meta+K",onclick:t(r),stateSelector:"a[href]",context:"insert",prependToContext:!0})});
|
||||
1
web/tinymce/plugins/lists/plugin.min.js
vendored
Normal file
BIN
web/tinymce/plugins/media/moxieplayer.swf
Normal file
1
web/tinymce/plugins/media/plugin.min.js
vendored
Normal file
1
web/tinymce/plugins/nonbreaking/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("nonbreaking",function(e){var t=e.getParam("nonbreaking_force_tab");if(e.addCommand("mceNonBreaking",function(){e.insertContent(e.plugins.visualchars&&e.plugins.visualchars.state?'<span class="mce-nbsp"> </span>':" "),e.dom.setAttrib(e.dom.select("span.mce-nbsp"),"data-mce-bogus","1")}),e.addButton("nonbreaking",{title:"Nonbreaking space",cmd:"mceNonBreaking"}),e.addMenuItem("nonbreaking",{text:"Nonbreaking space",cmd:"mceNonBreaking",context:"insert"}),t){var n=+t>1?+t:3;e.on("keydown",function(t){if(9==t.keyCode){if(t.shiftKey)return;t.preventDefault();for(var r=0;n>r;r++)e.execCommand("mceNonBreaking")}})}});
|
||||
1
web/tinymce/plugins/noneditable/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("noneditable",function(e){function t(e){return function(t){return-1!==(" "+t.attr("class")+" ").indexOf(e)}}function n(t){function n(t){var n=arguments,r=n[n.length-2];return r>0&&'"'==a.charAt(r-1)?t:'<span class="'+s+'" data-mce-content="'+e.dom.encode(n[0])+'">'+e.dom.encode("string"==typeof n[1]?n[1]:n[0])+"</span>"}var r=o.length,a=t.content,s=tinymce.trim(i);if("raw"!=t.format){for(;r--;)a=a.replace(o[r],n);t.content=a}}var r,i,o,a="contenteditable";r=" "+tinymce.trim(e.getParam("noneditable_editable_class","mceEditable"))+" ",i=" "+tinymce.trim(e.getParam("noneditable_noneditable_class","mceNonEditable"))+" ";var s=t(r),l=t(i);o=e.getParam("noneditable_regexp"),o&&!o.length&&(o=[o]),e.on("PreInit",function(){o&&e.on("BeforeSetContent",n),e.parser.addAttributeFilter("class",function(e){for(var t,n=e.length;n--;)t=e[n],s(t)?t.attr(a,"true"):l(t)&&t.attr(a,"false")}),e.serializer.addAttributeFilter(a,function(e){for(var t,n=e.length;n--;)t=e[n],(s(t)||l(t))&&(o&&t.attr("data-mce-content")?(t.name="#text",t.type=3,t.raw=!0,t.value=t.attr("data-mce-content")):t.attr(a,null))})})});
|
||||
1
web/tinymce/plugins/pagebreak/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("pagebreak",function(e){var t="mce-pagebreak",n=e.getParam("pagebreak_separator","<!-- pagebreak -->"),r=new RegExp(n.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(e){return"\\"+e}),"gi"),i='<img src="'+tinymce.Env.transparentSrc+'" class="'+t+'" data-mce-resize="false" data-mce-placeholder />';e.addCommand("mcePageBreak",function(){e.settings.pagebreak_split_block?e.insertContent("<p>"+i+"</p>"):e.insertContent(i)}),e.addButton("pagebreak",{title:"Page break",cmd:"mcePageBreak"}),e.addMenuItem("pagebreak",{text:"Page break",icon:"pagebreak",cmd:"mcePageBreak",context:"insert"}),e.on("ResolveName",function(n){"IMG"==n.target.nodeName&&e.dom.hasClass(n.target,t)&&(n.name="pagebreak")}),e.on("click",function(n){n=n.target,"IMG"===n.nodeName&&e.dom.hasClass(n,t)&&e.selection.select(n)}),e.on("BeforeSetContent",function(e){e.content=e.content.replace(r,i)}),e.on("PreInit",function(){e.serializer.addNodeFilter("img",function(t){for(var r,i,o=t.length;o--;)if(r=t[o],i=r.attr("class"),i&&-1!==i.indexOf("mce-pagebreak")){var a=r.parent;if(e.schema.getBlockElements()[a.name]&&e.settings.pagebreak_split_block){a.type=3,a.value=n,a.raw=!0,r.remove();continue}r.type=3,r.value=n,r.raw=!0}})})});
|
||||
1
web/tinymce/plugins/paste/plugin.min.js
vendored
Normal file
1
web/tinymce/plugins/preview/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("preview",function(e){var t=e.settings,n=!tinymce.Env.ie;e.addCommand("mcePreview",function(){e.windowManager.open({title:"Preview",width:parseInt(e.getParam("plugin_preview_width","650"),10),height:parseInt(e.getParam("plugin_preview_height","500"),10),html:'<iframe src="javascript:\'\'" frameborder="0"'+(n?' sandbox="allow-scripts"':"")+"></iframe>",buttons:{text:"Close",onclick:function(){this.parent().parent().close()}},onPostRender:function(){var r,i="";i+='<base href="'+e.documentBaseURI.getURI()+'">',tinymce.each(e.contentCSS,function(t){i+='<link type="text/css" rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(t)+'">'});var o=t.body_id||"tinymce";-1!=o.indexOf("=")&&(o=e.getParam("body_id","","hash"),o=o[e.id]||o);var a=t.body_class||"";-1!=a.indexOf("=")&&(a=e.getParam("body_class","","hash"),a=a[e.id]||"");var s=e.settings.directionality?' dir="'+e.settings.directionality+'"':"";if(r="<!DOCTYPE html><html><head>"+i+'</head><body id="'+o+'" class="mce-content-body '+a+'"'+s+">"+e.getContent()+"</body></html>",n)this.getEl("body").firstChild.src="data:text/html;charset=utf-8,"+encodeURIComponent(r);else{var l=this.getEl("body").firstChild.contentWindow.document;l.open(),l.write(r),l.close()}}})}),e.addButton("preview",{title:"Preview",cmd:"mcePreview"}),e.addMenuItem("preview",{text:"Preview",cmd:"mcePreview",context:"view"})});
|
||||
1
web/tinymce/plugins/print/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("print",function(e){e.addCommand("mcePrint",function(){e.getWin().print()}),e.addButton("print",{title:"Print",cmd:"mcePrint"}),e.addShortcut("Meta+P","","mcePrint"),e.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print",shortcut:"Meta+P",context:"file"})});
|
||||
126
web/tinymce/plugins/responsivefilemanager/editor_plugin.js
Normal file
@@ -0,0 +1,126 @@
|
||||
(function() {
|
||||
|
||||
tinymce.create('tinymce.plugins.ResponsiveFileManager',
|
||||
{
|
||||
|
||||
init : function(editor, url)
|
||||
{
|
||||
|
||||
// File manager callback
|
||||
function openmanager()
|
||||
{
|
||||
editor.focus(true);
|
||||
var title="RESPONSIVE FileManager";
|
||||
if (typeof editor.settings.filemanager_title !== "undefined" && editor.settings.filemanager_title) {
|
||||
title=editor.settings.filemanager_title;
|
||||
}
|
||||
var akey="key";
|
||||
if (typeof editor.settings.filemanager_access_key !== "undefined" && editor.settings.filemanager_access_key) {
|
||||
akey=editor.settings.filemanager_access_key;
|
||||
}
|
||||
var sort_by="";
|
||||
if (typeof editor.settings.filemanager_sort_by !== "undefined" && editor.settings.filemanager_sort_by) {
|
||||
sort_by="&sort_by="+editor.settings.filemanager_sort_by;
|
||||
}
|
||||
var descending="false";
|
||||
if (typeof editor.settings.filemanager_descending !== "undefined" && editor.settings.filemanager_descending) {
|
||||
descending=editor.settings.filemanager_descending;
|
||||
}
|
||||
var fldr="";
|
||||
if (typeof editor.settings.filemanager_subfolder !== "undefined" && editor.settings.filemanager_subfolder) {
|
||||
fldr="&fldr="+editor.settings.filemanager_subfolder;
|
||||
}
|
||||
// Disabled because of bug
|
||||
var type=2;
|
||||
if (typeof editor.settings.filemanager_type !== "undefined" && editor.settings.filemanager_type) {
|
||||
if ($.isNumeric(editor.settings.filemanager_type) === true && editor.settings.filemanager_type > 0 && editor.settings.filemanager_type <= 3) {
|
||||
type=editor.settings.filemanager_type;
|
||||
}
|
||||
else if (editor.settings.filemanager_type == 'image'){
|
||||
type = 1;
|
||||
}
|
||||
else if (editor.settings.filemanager_type == 'media'){
|
||||
type = 3;
|
||||
}
|
||||
else {
|
||||
type = 2;
|
||||
}
|
||||
}
|
||||
|
||||
win = editor.windowManager.open({
|
||||
title: title,
|
||||
file: editor.settings.external_filemanager_path+'dialog.php?type=4&descending='+descending+sort_by+fldr+'&lang='+editor.settings.language+'&akey='+akey,
|
||||
width: 860,
|
||||
height: 570,
|
||||
inline: 1,
|
||||
resizable: true,
|
||||
maximizable: true
|
||||
});
|
||||
}
|
||||
|
||||
editor.settings.file_browser_callback = filemanager;
|
||||
|
||||
function filemanager (id, value, type, win) {
|
||||
// DEFAULT AS FILE
|
||||
urltype=2;
|
||||
if (type=='image') { urltype=1; }
|
||||
if (type=='media') { urltype=3; }
|
||||
var title="RESPONSIVE FileManager";
|
||||
if (typeof editor.settings.filemanager_title !== "undefined" && editor.settings.filemanager_title) {
|
||||
title=editor.settings.filemanager_title;
|
||||
}
|
||||
var akey="key";
|
||||
if (typeof editor.settings.filemanager_access_key !== "undefined" && editor.settings.filemanager_access_key) {
|
||||
akey=editor.settings.filemanager_access_key;
|
||||
}
|
||||
var sort_by="";
|
||||
if (typeof editor.settings.filemanager_sort_by !== "undefined" && editor.settings.filemanager_sort_by) {
|
||||
sort_by="&sort_by="+editor.settings.filemanager_sort_by;
|
||||
}
|
||||
var descending="false";
|
||||
if (typeof editor.settings.filemanager_descending !== "undefined" && editor.settings.filemanager_descending) {
|
||||
descending=editor.settings.filemanager_descending;
|
||||
}
|
||||
var fldr="";
|
||||
if (typeof editor.settings.filemanager_subfolder !== "undefined" && editor.settings.filemanager_subfolder) {
|
||||
fldr="&fldr="+editor.settings.filemanager_subfolder;
|
||||
}
|
||||
|
||||
tinymce.activeEditor.windowManager.open({
|
||||
title: title,
|
||||
file: editor.settings.external_filemanager_path+'dialog.php?type='+urltype+'&descending='+descending+sort_by+fldr+'&lang='+editor.settings.language+'&akey='+akey,
|
||||
width: 860,
|
||||
height: 570,
|
||||
resizable: true,
|
||||
maximizable: true,
|
||||
inline: 1
|
||||
}, {
|
||||
setUrl: function (url) {
|
||||
var fieldElm = win.document.getElementById(id);
|
||||
fieldElm.value = editor.convertURL(url);
|
||||
if ("fireEvent" in fieldElm) {
|
||||
fieldElm.fireEvent("onchange")
|
||||
} else {
|
||||
var evt = document.createEvent("HTMLEvents");
|
||||
evt.initEvent("change", false, true);
|
||||
fieldElm.dispatchEvent(evt);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// Register buttons
|
||||
editor.addButton('responsivefilemanager',
|
||||
{
|
||||
title : 'Browse files',
|
||||
image : url + '/img/insertfile.gif',
|
||||
shortcut: 'Ctrl+E',
|
||||
onclick: openmanager
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Register plugin
|
||||
tinymce.PluginManager.add('responsivefilemanager', tinymce.plugins.ResponsiveFileManager);
|
||||
})();
|
||||
BIN
web/tinymce/plugins/responsivefilemanager/img/insertfile.gif
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
79
web/tinymce/plugins/responsivefilemanager/plugin.js
Normal file
@@ -0,0 +1,79 @@
|
||||
/**
|
||||
* plugin.js
|
||||
*
|
||||
* Copyright, Alberto Peripolli
|
||||
* Released under Creative Commons Attribution-NonCommercial 3.0 Unported License.
|
||||
*
|
||||
* Contributing: https://github.com/trippo/ResponsiveFilemanager
|
||||
*/
|
||||
|
||||
tinymce.PluginManager.add('responsivefilemanager', function(editor) {
|
||||
|
||||
function openmanager() {
|
||||
editor.focus(true);
|
||||
var title="RESPONSIVE FileManager";
|
||||
if (typeof editor.settings.filemanager_title !== "undefined" && editor.settings.filemanager_title) {
|
||||
title=editor.settings.filemanager_title;
|
||||
}
|
||||
var akey="key";
|
||||
if (typeof editor.settings.filemanager_access_key !== "undefined" && editor.settings.filemanager_access_key) {
|
||||
akey=editor.settings.filemanager_access_key;
|
||||
}
|
||||
var sort_by="";
|
||||
if (typeof editor.settings.filemanager_sort_by !== "undefined" && editor.settings.filemanager_sort_by) {
|
||||
sort_by="&sort_by="+editor.settings.filemanager_sort_by;
|
||||
}
|
||||
var descending="false";
|
||||
if (typeof editor.settings.filemanager_descending !== "undefined" && editor.settings.filemanager_descending) {
|
||||
descending=editor.settings.filemanager_descending;
|
||||
}
|
||||
var fldr="";
|
||||
if (typeof editor.settings.filemanager_subfolder !== "undefined" && editor.settings.filemanager_subfolder) {
|
||||
fldr="&fldr="+editor.settings.filemanager_subfolder;
|
||||
}
|
||||
// Disabled because of bug
|
||||
var type=2;
|
||||
if (typeof editor.settings.filemanager_type !== "undefined" && editor.settings.filemanager_type) {
|
||||
if ($.isNumeric(editor.settings.filemanager_type) === true && editor.settings.filemanager_type > 0 && editor.settings.filemanager_type <= 3) {
|
||||
type=editor.settings.filemanager_type;
|
||||
}
|
||||
else if (editor.settings.filemanager_type == 'image'){
|
||||
type = 1;
|
||||
}
|
||||
else if (editor.settings.filemanager_type == 'media'){
|
||||
type = 3;
|
||||
}
|
||||
else {
|
||||
type = 2;
|
||||
}
|
||||
}
|
||||
|
||||
win = editor.windowManager.open({
|
||||
title: title,
|
||||
file: editor.settings.external_filemanager_path+'dialog.php?type=4&descending='+descending+sort_by+fldr+'&lang='+editor.settings.language+'&akey='+akey,
|
||||
width: 860,
|
||||
height: 570,
|
||||
inline: 1,
|
||||
resizable: true,
|
||||
maximizable: true
|
||||
});
|
||||
}
|
||||
|
||||
editor.addButton('responsivefilemanager', {
|
||||
icon: 'browse',
|
||||
tooltip: 'Insert file',
|
||||
shortcut: 'Ctrl+E',
|
||||
onclick:openmanager
|
||||
});
|
||||
|
||||
editor.addShortcut('Ctrl+E', '', openmanager);
|
||||
|
||||
editor.addMenuItem('responsivefilemanager', {
|
||||
icon: 'browse',
|
||||
text: 'Insert file',
|
||||
shortcut: 'Ctrl+E',
|
||||
onclick: openmanager,
|
||||
context: 'insert'
|
||||
});
|
||||
|
||||
});
|
||||
9
web/tinymce/plugins/responsivefilemanager/plugin.min.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* plugin.js
|
||||
*
|
||||
* Copyright, Alberto Peripolli
|
||||
* Released under Creative Commons Attribution-NonCommercial 3.0 Unported License.
|
||||
*
|
||||
* Contributing: https://github.com/trippo/ResponsiveFilemanager
|
||||
*/
|
||||
tinymce.PluginManager.add("responsivefilemanager",function(e){function t(){e.focus(true);var t="RESPONSIVE FileManager";if(typeof e.settings.filemanager_title!=="undefined"&&e.settings.filemanager_title){t=e.settings.filemanager_title}var n="key";if(typeof e.settings.filemanager_access_key!=="undefined"&&e.settings.filemanager_access_key){n=e.settings.filemanager_access_key}var r="";if(typeof e.settings.filemanager_sort_by!=="undefined"&&e.settings.filemanager_sort_by){r="&sort_by="+e.settings.filemanager_sort_by}var i="false";if(typeof e.settings.filemanager_descending!=="undefined"&&e.settings.filemanager_descending){i=e.settings.filemanager_descending}var s="";if(typeof e.settings.filemanager_subfolder!=="undefined"&&e.settings.filemanager_subfolder){s="&fldr="+e.settings.filemanager_subfolder}var o=2;if(typeof e.settings.filemanager_type!=="undefined"&&e.settings.filemanager_type){if($.isNumeric(e.settings.filemanager_type)===true&&e.settings.filemanager_type>0&&e.settings.filemanager_type<=3){o=e.settings.filemanager_type}else if(e.settings.filemanager_type=="image"){o=1}else if(e.settings.filemanager_type=="media"){o=3}else{o=2}}win=e.windowManager.open({title:t,file:e.settings.external_filemanager_path+"dialog.php?type=4&descending="+i+r+s+"&lang="+e.settings.language+"&akey="+n,width:860,height:570,inline:1,resizable:true,maximizable:true})}e.addButton("responsivefilemanager",{icon:"browse",tooltip:"Insert file",shortcut:"Ctrl+E",onclick:t});e.addShortcut("Ctrl+E","",t);e.addMenuItem("responsivefilemanager",{icon:"browse",text:"Insert file",shortcut:"Ctrl+E",onclick:t,context:"insert"})})
|
||||
1
web/tinymce/plugins/save/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("save",function(e){function t(){var t;return t=tinymce.DOM.getParent(e.id,"form"),!e.getParam("save_enablewhendirty",!0)||e.isDirty()?(tinymce.triggerSave(),e.getParam("save_onsavecallback")?(e.execCallback("save_onsavecallback",e),void e.nodeChanged()):void(t?(e.setDirty(!1),(!t.onsubmit||t.onsubmit())&&("function"==typeof t.submit?t.submit():n(e.translate("Error: Form submit field collision."))),e.nodeChanged()):n(e.translate("Error: No form element found.")))):void 0}function n(t){e.notificationManager.open({text:t,type:"error"})}function r(){var t=tinymce.trim(e.startContent);return e.getParam("save_oncancelcallback")?void e.execCallback("save_oncancelcallback",e):(e.setContent(t),e.undoManager.clear(),void e.nodeChanged())}function i(){var t=this;e.on("nodeChange dirty",function(){t.disabled(e.getParam("save_enablewhendirty",!0)&&!e.isDirty())})}e.addCommand("mceSave",t),e.addCommand("mceCancel",r),e.addButton("save",{icon:"save",text:"Save",cmd:"mceSave",disabled:!0,onPostRender:i}),e.addButton("cancel",{text:"Cancel",icon:!1,cmd:"mceCancel",disabled:!0,onPostRender:i}),e.addShortcut("Meta+S","","mceSave")});
|
||||
1
web/tinymce/plugins/searchreplace/plugin.min.js
vendored
Normal file
1
web/tinymce/plugins/spellchecker/plugin.min.js
vendored
Normal file
1
web/tinymce/plugins/tabfocus/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("tabfocus",function(e){function t(e){9!==e.keyCode||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()}function n(t){function n(n){function o(e){return"BODY"===e.nodeName||"hidden"!=e.type&&"none"!=e.style.display&&"hidden"!=e.style.visibility&&o(e.parentNode)}function l(e){return/INPUT|TEXTAREA|BUTTON/.test(e.tagName)&&tinymce.get(t.id)&&-1!=e.tabIndex&&o(e)}if(s=r.select(":input:enabled,*[tabindex]:not(iframe)"),i(s,function(t,n){return t.id==e.id?(a=n,!1):void 0}),n>0){for(c=a+1;c<s.length;c++)if(l(s[c]))return s[c]}else for(c=a-1;c>=0;c--)if(l(s[c]))return s[c];return null}var a,s,l,c;if(!(9!==t.keyCode||t.ctrlKey||t.altKey||t.metaKey||t.isDefaultPrevented())&&(l=o(e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))),1==l.length&&(l[1]=l[0],l[0]=":prev"),s=t.shiftKey?":prev"==l[0]?n(-1):r.get(l[0]):":next"==l[1]?n(1):r.get(l[1]))){var u=tinymce.get(s.id||s.name);s.id&&u?u.focus():tinymce.util.Delay.setTimeout(function(){tinymce.Env.webkit||window.focus(),s.focus()},10),t.preventDefault()}}var r=tinymce.DOM,i=tinymce.each,o=tinymce.explode;e.on("init",function(){e.inline&&tinymce.DOM.setAttrib(e.getBody(),"tabIndex",null),e.on("keyup",t),tinymce.Env.gecko?e.on("keypress keydown",n):e.on("keydown",n)})});
|
||||
2
web/tinymce/plugins/table/plugin.min.js
vendored
Normal file
1
web/tinymce/plugins/template/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("template",function(e){function t(t){return function(){var n=e.settings.templates;"string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):t(n)}}function n(t){function n(t){function n(t){if(-1==t.indexOf("<html>")){var n="";tinymce.each(e.contentCSS,function(t){n+='<link type="text/css" rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(t)+'">'}),t="<!DOCTYPE html><html><head>"+n+"</head><body>"+t+"</body></html>"}t=o(t,"template_preview_replace_values");var i=r.find("iframe")[0].getEl().contentWindow.document;i.open(),i.write(t),i.close()}var a=t.control.value();a.url?tinymce.util.XHR.send({url:a.url,success:function(e){i=e,n(i)}}):(i=a.content,n(i)),r.find("#description")[0].text(t.control.value().description)}var r,i,s=[];if(!t||0===t.length){var l=e.translate("No templates defined.");return void e.notificationManager.open({text:l,type:"info"})}tinymce.each(t,function(e){s.push({selected:!s.length,text:e.title,value:{url:e.url,content:e.content,description:e.description}})}),r=e.windowManager.open({title:"Insert template",layout:"flex",direction:"column",align:"stretch",padding:15,spacing:10,items:[{type:"form",flex:0,padding:0,items:[{type:"container",label:"Templates",items:{type:"listbox",label:"Templates",name:"template",values:s,onselect:n}}]},{type:"label",name:"description",label:"Description",text:"\xa0"},{type:"iframe",flex:1,border:1}],onsubmit:function(){a(!1,i)},width:e.getParam("template_popup_width",600),height:e.getParam("template_popup_height",500)}),r.find("listbox")[0].fire("select")}function r(t,n){function r(e,t){if(e=""+e,e.length<t)for(var n=0;n<t-e.length;n++)e="0"+e;return e}var i="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),o="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),a="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),s="January February March April May June July August September October November December".split(" ");return n=n||new Date,t=t.replace("%D","%m/%d/%Y"),t=t.replace("%r","%I:%M:%S %p"),t=t.replace("%Y",""+n.getFullYear()),t=t.replace("%y",""+n.getYear()),t=t.replace("%m",r(n.getMonth()+1,2)),t=t.replace("%d",r(n.getDate(),2)),t=t.replace("%H",""+r(n.getHours(),2)),t=t.replace("%M",""+r(n.getMinutes(),2)),t=t.replace("%S",""+r(n.getSeconds(),2)),t=t.replace("%I",""+((n.getHours()+11)%12+1)),t=t.replace("%p",""+(n.getHours()<12?"AM":"PM")),t=t.replace("%B",""+e.translate(s[n.getMonth()])),t=t.replace("%b",""+e.translate(a[n.getMonth()])),t=t.replace("%A",""+e.translate(o[n.getDay()])),t=t.replace("%a",""+e.translate(i[n.getDay()])),t=t.replace("%%","%")}function i(t){var n=e.dom,r=e.getParam("template_replace_values");s(n.select("*",t),function(e){s(r,function(t,i){n.hasClass(e,i)&&"function"==typeof r[i]&&r[i](e)})})}function o(t,n){return s(e.getParam(n),function(e,n){"function"==typeof e&&(e=e(n)),t=t.replace(new RegExp("\\{\\$"+n+"\\}","g"),e)}),t}function a(t,n){function a(e,t){return new RegExp("\\b"+t+"\\b","g").test(e.className)}var l,c,u=e.dom,d=e.selection.getContent();n=o(n,"template_replace_values"),l=u.create("div",null,n),c=u.select(".mceTmpl",l),c&&c.length>0&&(l=u.create("div",null),l.appendChild(c[0].cloneNode(!0))),s(u.select("*",l),function(t){a(t,e.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_cdate_format",e.getLang("template.cdate_format")))),a(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format")))),a(t,e.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))&&(t.innerHTML=d)}),i(l),e.execCommand("mceInsertContent",!1,l.innerHTML),e.addVisual()}var s=tinymce.each;e.addCommand("mceInsertTemplate",a),e.addButton("template",{title:"Insert template",onclick:t(n)}),e.addMenuItem("template",{text:"Insert template",onclick:t(n),context:"insert"}),e.on("PreProcess",function(t){var n=e.dom;s(n.select("div",t.node),function(t){n.hasClass(t,"mceTmpl")&&(s(n.select("*",t),function(t){n.hasClass(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format"))))}),i(t))})})});
|
||||
1
web/tinymce/plugins/textcolor/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("textcolor",function(e){function t(t){var n;return e.dom.getParents(e.selection.getStart(),function(e){var r;(r=e.style["forecolor"==t?"color":"background-color"])&&(n=r)}),n}function n(){var t,n,r=[];for(n=e.settings.textcolor_map||["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],t=0;t<n.length;t+=2)r.push({text:n[t+1],color:"#"+n[t]});return r}function r(){function t(e,t){var n="transparent"==e;return'<td class="mce-grid-cell'+(n?" mce-colorbtn-trans":"")+'"><div id="'+p+"-"+m++ +'" data-mce-color="'+(e?e:"")+'" role="option" tabIndex="-1" style="'+(e?"background-color: "+e:"")+'" title="'+tinymce.translate(t)+'">'+(n?"×":"")+"</div></td>"}var r,i,o,a,s,u,d,f=this,p=f._id,m=0;for(r=n(),r.push({text:tinymce.translate("No color"),color:"transparent"}),o='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',a=r.length-1,u=0;c>u;u++){for(o+="<tr>",s=0;l>s;s++)d=u*l+s,d>a?o+="<td></td>":(i=r[d],o+=t(i.color,i.text));o+="</tr>"}if(e.settings.color_picker_callback){for(o+='<tr><td colspan="'+l+'" class="mce-custom-color-btn"><div id="'+p+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+p+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+tinymce.translate("Custom...")+"</button></div></td></tr>",o+="<tr>",s=0;l>s;s++)o+=t("","Custom color");o+="</tr>"}return o+="</tbody></table>"}function i(t,n){e.undoManager.transact(function(){e.focus(),e.formatter.apply(t,{value:n}),e.nodeChanged()})}function o(t){e.undoManager.transact(function(){e.focus(),e.formatter.remove(t,{value:null},null,!0),e.nodeChanged()})}function a(n){function r(e){u.hidePanel(),u.color(e),i(u.settings.format,e)}function a(){u.hidePanel(),u.resetColor(),o(u.settings.format)}function s(e,t){e.style.background=t,e.setAttribute("data-mce-color",t)}var c,u=this.parent();tinymce.DOM.getParent(n.target,".mce-custom-color-btn")&&(u.hidePanel(),e.settings.color_picker_callback.call(e,function(e){var t,n,i,o=u.panel.getEl().getElementsByTagName("table")[0];for(t=tinymce.map(o.rows[o.rows.length-1].childNodes,function(e){return e.firstChild}),i=0;i<t.length&&(n=t[i],n.getAttribute("data-mce-color"));i++);if(i==l)for(i=0;l-1>i;i++)s(t[i],t[i+1].getAttribute("data-mce-color"));s(n,e),r(e)},t(u.settings.format))),c=n.target.getAttribute("data-mce-color"),c?(this.lastId&&document.getElementById(this.lastId).setAttribute("aria-selected",!1),n.target.setAttribute("aria-selected",!0),this.lastId=n.target.id,"transparent"==c?a():r(c)):null!==c&&u.hidePanel()}function s(){var e=this;e._color?i(e.settings.format,e._color):o(e.settings.format)}var l,c;c=e.settings.textcolor_rows||5,l=e.settings.textcolor_cols||8,e.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:r,onclick:a},onclick:s}),e.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:r,onclick:a},onclick:s})});
|
||||
1
web/tinymce/plugins/textpattern/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("textpattern",function(e){function t(){return c&&(l.sort(function(e,t){return e.start.length>t.start.length?-1:e.start.length<t.start.length?1:0}),c=!1),l}function n(e){for(var n=t(),r=0;r<n.length;r++)if(0===e.indexOf(n[r].start)&&(!n[r].end||e.lastIndexOf(n[r].end)==e.length-n[r].end.length))return n[r]}function r(e,n,r){var i,o,a;for(i=t(),a=0;a<i.length;a++)if(o=i[a],o.end&&e.substr(n-o.end.length-r,o.end.length)==o.end)return o}function i(t){function i(){l=l.splitText(u),l.splitText(c-u-m),l.deleteData(0,p.start.length),l.deleteData(l.data.length-p.end.length,p.end.length)}var o,a,s,l,c,u,d,f,p,m,h;return o=e.selection,a=e.dom,o.isCollapsed()&&(s=o.getRng(!0),l=s.startContainer,c=s.startOffset,d=l.data,m=t?1:0,3==l.nodeType&&(p=r(d,c,m),p&&(u=Math.max(0,c-m),u=d.lastIndexOf(p.start,u-p.end.length-1),-1!==u&&(f=a.createRng(),f.setStart(l,u),f.setEnd(l,c-m),p=n(f.toString()),p&&p.end&&!(l.data.length<=p.start.length+p.end.length)))))?(h=e.formatter.get(p.format),h&&h[0].inline?(i(),e.formatter.apply(p.format,{},l),l):void 0):void 0}function o(){var t,r,i,o,a,s,l,c,u,d,f;if(t=e.selection,r=e.dom,t.isCollapsed()&&(l=r.getParent(t.getStart(),"p"))){for(u=new tinymce.dom.TreeWalker(l,l);a=u.next();)if(3==a.nodeType){o=a;break}if(o){if(c=n(o.data),!c)return;if(d=t.getRng(!0),i=d.startContainer,f=d.startOffset,o==i&&(f=Math.max(0,f-c.start.length)),tinymce.trim(o.data).length==c.start.length)return;c.format&&(s=e.formatter.get(c.format),s&&s[0].block&&(o.deleteData(0,c.start.length),e.formatter.apply(c.format,{},o),d.setStart(i,f),d.collapse(!0),t.setRng(d))),c.cmd&&e.undoManager.transact(function(){o.deleteData(0,c.start.length),e.execCommand(c.cmd)})}}}function a(){var t,n;n=i(),n&&(t=e.dom.createRng(),t.setStart(n,n.data.length),t.setEnd(n,n.data.length),e.selection.setRng(t)),o()}function s(){var t,n,r,o,a;t=i(!0),t&&(a=e.dom,n=t.data.slice(-1),/[\u00a0 ]/.test(n)&&(t.deleteData(t.data.length-1,1),r=a.doc.createTextNode(n),t.nextSibling?a.insertAfter(r,t.nextSibling):t.parentNode.appendChild(r),o=a.createRng(),o.setStart(r,1),o.setEnd(r,1),e.selection.setRng(o)))}var l,c=!0;l=e.settings.textpattern_patterns||[{start:"*",end:"*",format:"italic"},{start:"**",end:"**",format:"bold"},{start:"#",format:"h1"},{start:"##",format:"h2"},{start:"###",format:"h3"},{start:"####",format:"h4"},{start:"#####",format:"h5"},{start:"######",format:"h6"},{start:"1. ",cmd:"InsertOrderedList"},{start:"* ",cmd:"InsertUnorderedList"},{start:"- ",cmd:"InsertUnorderedList"}],e.on("keydown",function(e){13!=e.keyCode||tinymce.util.VK.modifierPressed(e)||a()},!0),e.on("keyup",function(e){32!=e.keyCode||tinymce.util.VK.modifierPressed(e)||s()}),this.getPatterns=t,this.setPatterns=function(e){l=e,c=!0}});
|
||||
135
web/tinymce/plugins/visualblocks/css/visualblocks.css
Normal file
@@ -0,0 +1,135 @@
|
||||
.mce-visualblocks p {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin-left: 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
|
||||
}
|
||||
|
||||
.mce-visualblocks h1 {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin-left: 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
|
||||
}
|
||||
|
||||
.mce-visualblocks h2 {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin-left: 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
|
||||
}
|
||||
|
||||
.mce-visualblocks h3 {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin-left: 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
|
||||
}
|
||||
|
||||
.mce-visualblocks h4 {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin-left: 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
|
||||
}
|
||||
|
||||
.mce-visualblocks h5 {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin-left: 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
|
||||
}
|
||||
|
||||
.mce-visualblocks h6 {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin-left: 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
|
||||
}
|
||||
|
||||
.mce-visualblocks div {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin-left: 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
|
||||
}
|
||||
|
||||
.mce-visualblocks section {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin: 0 0 1em 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
|
||||
}
|
||||
|
||||
.mce-visualblocks article {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin: 0 0 1em 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
|
||||
}
|
||||
|
||||
.mce-visualblocks blockquote {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
|
||||
}
|
||||
|
||||
.mce-visualblocks address {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin: 0 0 1em 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
|
||||
}
|
||||
|
||||
.mce-visualblocks pre {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin-left: 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
|
||||
}
|
||||
|
||||
.mce-visualblocks figure {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin: 0 0 1em 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
|
||||
}
|
||||
|
||||
.mce-visualblocks hgroup {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin: 0 0 1em 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
|
||||
}
|
||||
|
||||
.mce-visualblocks aside {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin: 0 0 1em 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
|
||||
}
|
||||
|
||||
.mce-visualblocks figcaption {
|
||||
border: 1px dashed #BBB;
|
||||
}
|
||||
|
||||
.mce-visualblocks ul {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin: 0 0 1em 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)
|
||||
}
|
||||
|
||||
.mce-visualblocks ol {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin: 0 0 1em 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
|
||||
}
|
||||
|
||||
.mce-visualblocks dl {
|
||||
padding-top: 10px;
|
||||
border: 1px dashed #BBB;
|
||||
margin: 0 0 1em 3px;
|
||||
background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
|
||||
}
|
||||
1
web/tinymce/plugins/visualblocks/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("visualblocks",function(e,t){function n(){var t=this;t.active(o),e.on("VisualBlocks",function(){t.active(e.dom.hasClass(e.getBody(),"mce-visualblocks"))})}var r,i,o;window.NodeList&&(e.addCommand("mceVisualBlocks",function(){var n,a=e.dom;r||(r=a.uniqueId(),n=a.create("link",{id:r,rel:"stylesheet",href:t+"/css/visualblocks.css"}),e.getDoc().getElementsByTagName("head")[0].appendChild(n)),e.on("PreviewFormats AfterPreviewFormats",function(t){o&&a.toggleClass(e.getBody(),"mce-visualblocks","afterpreviewformats"==t.type)}),a.toggleClass(e.getBody(),"mce-visualblocks"),o=e.dom.hasClass(e.getBody(),"mce-visualblocks"),i&&i.active(a.hasClass(e.getBody(),"mce-visualblocks")),e.fire("VisualBlocks")}),e.addButton("visualblocks",{title:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n}),e.addMenuItem("visualblocks",{text:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n,selectable:!0,context:"view",prependToContext:!0}),e.on("init",function(){e.settings.visualblocks_default_state&&e.execCommand("mceVisualBlocks",!1,null,{skip_focus:!0})}),e.on("remove",function(){e.dom.removeClass(e.getBody(),"mce-visualblocks")}))});
|
||||
1
web/tinymce/plugins/visualchars/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("visualchars",function(e){function t(t){function n(e){return'<span data-mce-bogus="1" class="mce-'+p[e]+'">'+e+"</span>"}function o(){var e,t="";for(e in p)t+=e;return new RegExp("["+t+"]","g")}function a(){var e,t="";for(e in p)t&&(t+=","),t+="span.mce-"+p[e];return t}var s,l,c,u,d,f,p,m,h=e.getBody(),g=e.selection;if(p={"\xa0":"nbsp","\xad":"shy"},r=!r,i.state=r,e.fire("VisualChars",{state:r}),m=o(),t&&(f=g.getBookmark()),r)for(l=[],tinymce.walk(h,function(e){3==e.nodeType&&e.nodeValue&&m.test(e.nodeValue)&&l.push(e)},"childNodes"),c=0;c<l.length;c++){for(u=l[c].nodeValue,u=u.replace(m,n),d=e.dom.create("div",null,u);s=d.lastChild;)e.dom.insertAfter(s,l[c]);e.dom.remove(l[c])}else for(l=e.dom.select(a(),h),c=l.length-1;c>=0;c--)e.dom.remove(l[c],1);g.moveToBookmark(f)}function n(){var t=this;e.on("VisualChars",function(e){t.active(e.state)})}var r,i=this;e.addCommand("mceVisualChars",t),e.addButton("visualchars",{title:"Show invisible characters",cmd:"mceVisualChars",onPostRender:n}),e.addMenuItem("visualchars",{text:"Show invisible characters",cmd:"mceVisualChars",onPostRender:n,selectable:!0,context:"view",prependToContext:!0}),e.on("beforegetcontent",function(e){r&&"raw"!=e.format&&!e.draft&&(r=!0,t(!1))})});
|
||||
1
web/tinymce/plugins/wordcount/plugin.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tinymce.PluginManager.add("wordcount",function(e){function t(){e.theme.panel.find("#wordcount").text(["Words: {0}",i.getCount()])}var n,r,i=this;n=e.getParam("wordcount_countregex",/[\w\u2019\x27\-\u00C0-\u1FFF]+/g),r=e.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$?\x27\x22_+=\\\/\-]*/g),e.on("init",function(){var n=e.theme.panel&&e.theme.panel.find("#statusbar")[0];n&&tinymce.util.Delay.setEditorTimeout(e,function(){n.insert({type:"label",name:"wordcount",text:["Words: {0}",i.getCount()],classes:"wordcount",disabled:e.settings.readonly},0),e.on("setcontent beforeaddundo",t),e.on("keyup",function(e){32==e.keyCode&&t()})},0)}),i.getCount=function(){var t=e.getContent({format:"raw"}),i=0;if(t){t=t.replace(/\.\.\./g," "),t=t.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," "),t=t.replace(/(\w+)(&#?[a-z0-9]+;)+(\w+)/i,"$1$3").replace(/&.+?;/g," "),t=t.replace(r,"");var o=t.match(n);o&&(i=o.length)}return i}});
|
||||
78
web/tinymce/plugins/youtube/README.md
Normal file
@@ -0,0 +1,78 @@
|
||||
Plugin youtube for TinyMCE 4
|
||||
======================
|
||||
|
||||
Insert YouTube video W3C valid with optionnals (HD, similar vidéos)
|
||||
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
||||
* Gerits Aurelien (Author-Developer) contact[at]aurelien-gerits[point]be
|
||||
|
||||
Official link in french :
|
||||
|
||||
###Screenshot
|
||||
|
||||

|
||||
|
||||
###Installation
|
||||
* Download the dist/youtube.zip archive
|
||||
* Unzip archive in tinyMCE plugin directory (tiny_mce/plugins/)
|
||||
|
||||
###Configuration
|
||||
```html
|
||||
<script type="text/javascript">
|
||||
tinymce.init({
|
||||
selector: "textarea",
|
||||
plugins: [
|
||||
"advlist autolink lists link image charmap print preview anchor",
|
||||
"searchreplace visualblocks code fullscreen",
|
||||
"insertdatetime media table contextmenu paste youtube"
|
||||
],
|
||||
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image| youtube"
|
||||
});
|
||||
</script>
|
||||
```
|
||||
|
||||
###Languages
|
||||
* English
|
||||
* French
|
||||
* Russian
|
||||
* Spanish
|
||||
* German
|
||||
* Italian
|
||||
* Brazilian
|
||||
* Hungarian
|
||||
* Polish
|
||||
|
||||
You can send me translations in other languages
|
||||
|
||||
### Old Version
|
||||
|
||||
[Plugin YouTube for tinyMCE 3](http://magix-cjquery.com/post/2012/05/11/plugin-youtube-v1.4-pour-tinyMCE)
|
||||
|
||||
<pre>
|
||||
This file is part of tinyMCE.
|
||||
YouTube for tinyMCE
|
||||
Copyright (C) 2011 - 2013 Gerits Aurelien aurelien[at]magix-dev[dot]be - contact[at]aurelien-gerits[dot]be
|
||||
|
||||
Redistributions of files must retain the above copyright notice.
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see .
|
||||
|
||||
####DISCLAIMER
|
||||
|
||||
Do not edit or add to this file if you wish to upgrade jimagine to newer
|
||||
versions in the future. If you wish to customize jimagine for your
|
||||
needs please refer to magix-dev.be for more information.
|
||||
</pre>
|
||||
9
web/tinymce/plugins/youtube/css/styles.css
Normal file
BIN
web/tinymce/plugins/youtube/img/Google-YouTube-128.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
web/tinymce/plugins/youtube/img/youtube.gif
Normal file
|
After Width: | Height: | Size: 212 B |
807
web/tinymce/plugins/youtube/js/main.js
Normal file
@@ -0,0 +1,807 @@
|
||||
/*!
|
||||
* bootstrap.js v3.0.0 by @fat and @mdo
|
||||
* Copyright 2013 Twitter Inc.
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*/
|
||||
if (!jQuery)throw new Error("Bootstrap requires jQuery");
|
||||
+function(t) {
|
||||
"use strict";
|
||||
function e() {
|
||||
var t = document.createElement("bootstrap"), e = {WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend"};
|
||||
for (var i in e)if (void 0 !== t.style[i])return{end: e[i]}
|
||||
}
|
||||
|
||||
t.fn.emulateTransitionEnd = function(e) {
|
||||
var i = !1, n = this;
|
||||
t(this).one(t.support.transition.end, function() {
|
||||
i = !0
|
||||
});
|
||||
var o = function() {
|
||||
i || t(n).trigger(t.support.transition.end)
|
||||
};
|
||||
return setTimeout(o, e), this
|
||||
}, t(function() {
|
||||
t.support.transition = e()
|
||||
})
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
var e = '[data-dismiss="alert"]', i = function(i) {
|
||||
t(i).on("click", e, this.close)
|
||||
};
|
||||
i.prototype.close = function(e) {
|
||||
function i() {
|
||||
s.trigger("closed.bs.alert").remove()
|
||||
}
|
||||
|
||||
var n = t(this), o = n.attr("data-target");
|
||||
o || (o = n.attr("href"), o = o && o.replace(/.*(?=#[^\s]*$)/, ""));
|
||||
var s = t(o);
|
||||
e && e.preventDefault(), s.length || (s = n.hasClass("alert") ? n : n.parent()), s.trigger(e = t.Event("close.bs.alert")), e.isDefaultPrevented() || (s.removeClass("in"), t.support.transition && s.hasClass("fade") ? s.one(t.support.transition.end, i).emulateTransitionEnd(150) : i())
|
||||
};
|
||||
var n = t.fn.alert;
|
||||
t.fn.alert = function(e) {
|
||||
return this.each(function() {
|
||||
var n = t(this), o = n.data("bs.alert");
|
||||
o || n.data("bs.alert", o = new i(this)), "string" == typeof e && o[e].call(n)
|
||||
})
|
||||
}, t.fn.alert.Constructor = i, t.fn.alert.noConflict = function() {
|
||||
return t.fn.alert = n, this
|
||||
}, t(document).on("click.bs.alert.data-api", e, i.prototype.close)
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
var e = function(i, n) {
|
||||
this.$element = t(i), this.options = t.extend({}, e.DEFAULTS, n)
|
||||
};
|
||||
e.DEFAULTS = {loadingText: "loading..."}, e.prototype.setState = function(t) {
|
||||
var e = "disabled", i = this.$element, n = i.is("input") ? "val" : "html", o = i.data();
|
||||
t += "Text", o.resetText || i.data("resetText", i[n]()), i[n](o[t] || this.options[t]), setTimeout(function() {
|
||||
"loadingText" == t ? i.addClass(e).attr(e, e) : i.removeClass(e).removeAttr(e)
|
||||
}, 0)
|
||||
}, e.prototype.toggle = function() {
|
||||
var t = this.$element.closest('[data-toggle="buttons"]');
|
||||
if (t.length) {
|
||||
var e = this.$element.find("input").prop("checked", !this.$element.hasClass("active")).trigger("change");
|
||||
"radio" === e.prop("type") && t.find(".active").removeClass("active")
|
||||
}
|
||||
this.$element.toggleClass("active")
|
||||
};
|
||||
var i = t.fn.button;
|
||||
t.fn.button = function(i) {
|
||||
return this.each(function() {
|
||||
var n = t(this), o = n.data("bs.button"), s = "object" == typeof i && i;
|
||||
o || n.data("bs.button", o = new e(this, s)), "toggle" == i ? o.toggle() : i && o.setState(i)
|
||||
})
|
||||
}, t.fn.button.Constructor = e, t.fn.button.noConflict = function() {
|
||||
return t.fn.button = i, this
|
||||
}, t(document).on("click.bs.button.data-api", "[data-toggle^=button]", function(e) {
|
||||
var i = t(e.target);
|
||||
i.hasClass("btn") || (i = i.closest(".btn")), i.button("toggle"), e.preventDefault()
|
||||
})
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
var e = function(e, i) {
|
||||
this.$element = t(e), this.$indicators = this.$element.find(".carousel-indicators"), this.options = i, this.paused = this.sliding = this.interval = this.$active = this.$items = null, "hover" == this.options.pause && this.$element.on("mouseenter", t.proxy(this.pause, this)).on("mouseleave", t.proxy(this.cycle, this))
|
||||
};
|
||||
e.DEFAULTS = {interval: 5e3, pause: "hover", wrap: !0}, e.prototype.cycle = function(e) {
|
||||
return e || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(t.proxy(this.next, this), this.options.interval)), this
|
||||
}, e.prototype.getActiveIndex = function() {
|
||||
return this.$active = this.$element.find(".item.active"), this.$items = this.$active.parent().children(), this.$items.index(this.$active)
|
||||
}, e.prototype.to = function(e) {
|
||||
var i = this, n = this.getActiveIndex();
|
||||
return e > this.$items.length - 1 || 0 > e ? void 0 : this.sliding ? this.$element.one("slid", function() {
|
||||
i.to(e)
|
||||
}) : n == e ? this.pause().cycle() : this.slide(e > n ? "next" : "prev", t(this.$items[e]))
|
||||
}, e.prototype.pause = function(e) {
|
||||
return e || (this.paused = !0), this.$element.find(".next, .prev").length && t.support.transition.end && (this.$element.trigger(t.support.transition.end), this.cycle(!0)), this.interval = clearInterval(this.interval), this
|
||||
}, e.prototype.next = function() {
|
||||
return this.sliding ? void 0 : this.slide("next")
|
||||
}, e.prototype.prev = function() {
|
||||
return this.sliding ? void 0 : this.slide("prev")
|
||||
}, e.prototype.slide = function(e, i) {
|
||||
var n = this.$element.find(".item.active"), o = i || n[e](), s = this.interval, a = "next" == e ? "left" : "right", r = "next" == e ? "first" : "last", l = this;
|
||||
if (!o.length) {
|
||||
if (!this.options.wrap)return;
|
||||
o = this.$element.find(".item")[r]()
|
||||
}
|
||||
this.sliding = !0, s && this.pause();
|
||||
var h = t.Event("slide.bs.carousel", {relatedTarget: o[0], direction: a});
|
||||
if (!o.hasClass("active")) {
|
||||
if (this.$indicators.length && (this.$indicators.find(".active").removeClass("active"), this.$element.one("slid", function() {
|
||||
var e = t(l.$indicators.children()[l.getActiveIndex()]);
|
||||
e && e.addClass("active")
|
||||
})), t.support.transition && this.$element.hasClass("slide")) {
|
||||
if (this.$element.trigger(h), h.isDefaultPrevented())return;
|
||||
o.addClass(e), o[0].offsetWidth, n.addClass(a), o.addClass(a), n.one(t.support.transition.end,function() {
|
||||
o.removeClass([e, a].join(" ")).addClass("active"), n.removeClass(["active", a].join(" ")), l.sliding = !1, setTimeout(function() {
|
||||
l.$element.trigger("slid")
|
||||
}, 0)
|
||||
}).emulateTransitionEnd(600)
|
||||
} else {
|
||||
if (this.$element.trigger(h), h.isDefaultPrevented())return;
|
||||
n.removeClass("active"), o.addClass("active"), this.sliding = !1, this.$element.trigger("slid")
|
||||
}
|
||||
return s && this.cycle(), this
|
||||
}
|
||||
};
|
||||
var i = t.fn.carousel;
|
||||
t.fn.carousel = function(i) {
|
||||
return this.each(function() {
|
||||
var n = t(this), o = n.data("bs.carousel"), s = t.extend({}, e.DEFAULTS, n.data(), "object" == typeof i && i), a = "string" == typeof i ? i : s.slide;
|
||||
o || n.data("bs.carousel", o = new e(this, s)), "number" == typeof i ? o.to(i) : a ? o[a]() : s.interval && o.pause().cycle()
|
||||
})
|
||||
}, t.fn.carousel.Constructor = e, t.fn.carousel.noConflict = function() {
|
||||
return t.fn.carousel = i, this
|
||||
}, t(document).on("click.bs.carousel.data-api", "[data-slide], [data-slide-to]", function(e) {
|
||||
var i, n = t(this), o = t(n.attr("data-target") || (i = n.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, "")), s = t.extend({}, o.data(), n.data()), a = n.attr("data-slide-to");
|
||||
a && (s.interval = !1), o.carousel(s), (a = n.attr("data-slide-to")) && o.data("bs.carousel").to(a), e.preventDefault()
|
||||
}), t(window).on("load", function() {
|
||||
t('[data-ride="carousel"]').each(function() {
|
||||
var e = t(this);
|
||||
e.carousel(e.data())
|
||||
})
|
||||
})
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
var e = function(i, n) {
|
||||
this.$element = t(i), this.options = t.extend({}, e.DEFAULTS, n), this.transitioning = null, this.options.parent && (this.$parent = t(this.options.parent)), this.options.toggle && this.toggle()
|
||||
};
|
||||
e.DEFAULTS = {toggle: !0}, e.prototype.dimension = function() {
|
||||
var t = this.$element.hasClass("width");
|
||||
return t ? "width" : "height"
|
||||
}, e.prototype.show = function() {
|
||||
if (!this.transitioning && !this.$element.hasClass("in")) {
|
||||
var e = t.Event("show.bs.collapse");
|
||||
if (this.$element.trigger(e), !e.isDefaultPrevented()) {
|
||||
var i = this.$parent && this.$parent.find("> .panel > .in");
|
||||
if (i && i.length) {
|
||||
var n = i.data("bs.collapse");
|
||||
if (n && n.transitioning)return;
|
||||
i.collapse("hide"), n || i.data("bs.collapse", null)
|
||||
}
|
||||
var o = this.dimension();
|
||||
this.$element.removeClass("collapse").addClass("collapsing")[o](0), this.transitioning = 1;
|
||||
var s = function() {
|
||||
this.$element.removeClass("collapsing").addClass("in")[o]("auto"), this.transitioning = 0, this.$element.trigger("shown.bs.collapse")
|
||||
};
|
||||
if (!t.support.transition)return s.call(this);
|
||||
var a = t.camelCase(["scroll", o].join("-"));
|
||||
this.$element.one(t.support.transition.end, t.proxy(s, this)).emulateTransitionEnd(350)[o](this.$element[0][a])
|
||||
}
|
||||
}
|
||||
}, e.prototype.hide = function() {
|
||||
if (!this.transitioning && this.$element.hasClass("in")) {
|
||||
var e = t.Event("hide.bs.collapse");
|
||||
if (this.$element.trigger(e), !e.isDefaultPrevented()) {
|
||||
var i = this.dimension();
|
||||
this.$element[i](this.$element[i]())[0].offsetHeight, this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"), this.transitioning = 1;
|
||||
var n = function() {
|
||||
this.transitioning = 0, this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")
|
||||
};
|
||||
return t.support.transition ? void this.$element[i](0).one(t.support.transition.end, t.proxy(n, this)).emulateTransitionEnd(350) : n.call(this)
|
||||
}
|
||||
}
|
||||
}, e.prototype.toggle = function() {
|
||||
this[this.$element.hasClass("in") ? "hide" : "show"]()
|
||||
};
|
||||
var i = t.fn.collapse;
|
||||
t.fn.collapse = function(i) {
|
||||
return this.each(function() {
|
||||
var n = t(this), o = n.data("bs.collapse"), s = t.extend({}, e.DEFAULTS, n.data(), "object" == typeof i && i);
|
||||
o || n.data("bs.collapse", o = new e(this, s)), "string" == typeof i && o[i]()
|
||||
})
|
||||
}, t.fn.collapse.Constructor = e, t.fn.collapse.noConflict = function() {
|
||||
return t.fn.collapse = i, this
|
||||
}, t(document).on("click.bs.collapse.data-api", "[data-toggle=collapse]", function(e) {
|
||||
var i, n = t(this), o = n.attr("data-target") || e.preventDefault() || (i = n.attr("href")) && i.replace(/.*(?=#[^\s]+$)/, ""), s = t(o), a = s.data("bs.collapse"), r = a ? "toggle" : n.data(), l = n.attr("data-parent"), h = l && t(l);
|
||||
a && a.transitioning || (h && h.find('[data-toggle=collapse][data-parent="' + l + '"]').not(n).addClass("collapsed"), n[s.hasClass("in") ? "addClass" : "removeClass"]("collapsed")), s.collapse(r)
|
||||
})
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
function e() {
|
||||
t(n).remove(), t(o).each(function(e) {
|
||||
var n = i(t(this));
|
||||
n.hasClass("open") && (n.trigger(e = t.Event("hide.bs.dropdown")), e.isDefaultPrevented() || n.removeClass("open").trigger("hidden.bs.dropdown"))
|
||||
})
|
||||
}
|
||||
|
||||
function i(e) {
|
||||
var i = e.attr("data-target");
|
||||
i || (i = e.attr("href"), i = i && /#/.test(i) && i.replace(/.*(?=#[^\s]*$)/, ""));
|
||||
var n = i && t(i);
|
||||
return n && n.length ? n : e.parent()
|
||||
}
|
||||
|
||||
var n = ".dropdown-backdrop", o = "[data-toggle=dropdown]", s = function(e) {
|
||||
t(e).on("click.bs.dropdown", this.toggle)
|
||||
};
|
||||
s.prototype.toggle = function(n) {
|
||||
var o = t(this);
|
||||
if (!o.is(".disabled, :disabled")) {
|
||||
var s = i(o), a = s.hasClass("open");
|
||||
if (e(), !a) {
|
||||
if ("ontouchstart"in document.documentElement && !s.closest(".navbar-nav").length && t('<div class="dropdown-backdrop"/>').insertAfter(t(this)).on("click", e), s.trigger(n = t.Event("show.bs.dropdown")), n.isDefaultPrevented())return;
|
||||
s.toggleClass("open").trigger("shown.bs.dropdown"), o.focus()
|
||||
}
|
||||
return!1
|
||||
}
|
||||
}, s.prototype.keydown = function(e) {
|
||||
if (/(38|40|27)/.test(e.keyCode)) {
|
||||
var n = t(this);
|
||||
if (e.preventDefault(), e.stopPropagation(), !n.is(".disabled, :disabled")) {
|
||||
var s = i(n), a = s.hasClass("open");
|
||||
if (!a || a && 27 == e.keyCode)return 27 == e.which && s.find(o).focus(), n.click();
|
||||
var r = t("[role=menu] li:not(.divider):visible a", s);
|
||||
if (r.length) {
|
||||
var l = r.index(r.filter(":focus"));
|
||||
38 == e.keyCode && l > 0 && l--, 40 == e.keyCode && l < r.length - 1 && l++, ~l || (l = 0), r.eq(l).focus()
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
var a = t.fn.dropdown;
|
||||
t.fn.dropdown = function(e) {
|
||||
return this.each(function() {
|
||||
var i = t(this), n = i.data("dropdown");
|
||||
n || i.data("dropdown", n = new s(this)), "string" == typeof e && n[e].call(i)
|
||||
})
|
||||
}, t.fn.dropdown.Constructor = s, t.fn.dropdown.noConflict = function() {
|
||||
return t.fn.dropdown = a, this
|
||||
}, t(document).on("click.bs.dropdown.data-api", e).on("click.bs.dropdown.data-api", ".dropdown form",function(t) {
|
||||
t.stopPropagation()
|
||||
}).on("click.bs.dropdown.data-api", o, s.prototype.toggle).on("keydown.bs.dropdown.data-api", o + ", [role=menu]", s.prototype.keydown)
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
var e = function(e, i) {
|
||||
this.options = i, this.$element = t(e), this.$backdrop = this.isShown = null, this.options.remote && this.$element.load(this.options.remote)
|
||||
};
|
||||
e.DEFAULTS = {backdrop: !0, keyboard: !0, show: !0}, e.prototype.toggle = function(t) {
|
||||
return this[this.isShown ? "hide" : "show"](t)
|
||||
}, e.prototype.show = function(e) {
|
||||
var i = this, n = t.Event("show.bs.modal", {relatedTarget: e});
|
||||
this.$element.trigger(n), this.isShown || n.isDefaultPrevented() || (this.isShown = !0, this.escape(), this.$element.on("click.dismiss.modal", '[data-dismiss="modal"]', t.proxy(this.hide, this)), this.backdrop(function() {
|
||||
var n = t.support.transition && i.$element.hasClass("fade");
|
||||
i.$element.parent().length || i.$element.appendTo(document.body), i.$element.show(), n && i.$element[0].offsetWidth, i.$element.addClass("in").attr("aria-hidden", !1), i.enforceFocus();
|
||||
var o = t.Event("shown.bs.modal", {relatedTarget: e});
|
||||
n ? i.$element.find(".modal-dialog").one(t.support.transition.end,function() {
|
||||
i.$element.focus().trigger(o)
|
||||
}).emulateTransitionEnd(300) : i.$element.focus().trigger(o)
|
||||
}))
|
||||
}, e.prototype.hide = function(e) {
|
||||
e && e.preventDefault(), e = t.Event("hide.bs.modal"), this.$element.trigger(e), this.isShown && !e.isDefaultPrevented() && (this.isShown = !1, this.escape(), t(document).off("focusin.bs.modal"), this.$element.removeClass("in").attr("aria-hidden", !0).off("click.dismiss.modal"), t.support.transition && this.$element.hasClass("fade") ? this.$element.one(t.support.transition.end, t.proxy(this.hideModal, this)).emulateTransitionEnd(300) : this.hideModal())
|
||||
}, e.prototype.enforceFocus = function() {
|
||||
t(document).off("focusin.bs.modal").on("focusin.bs.modal", t.proxy(function(t) {
|
||||
this.$element[0] === t.target || this.$element.has(t.target).length || this.$element.focus()
|
||||
}, this))
|
||||
}, e.prototype.escape = function() {
|
||||
this.isShown && this.options.keyboard ? this.$element.on("keyup.dismiss.bs.modal", t.proxy(function(t) {
|
||||
27 == t.which && this.hide()
|
||||
}, this)) : this.isShown || this.$element.off("keyup.dismiss.bs.modal")
|
||||
}, e.prototype.hideModal = function() {
|
||||
var t = this;
|
||||
this.$element.hide(), this.backdrop(function() {
|
||||
t.removeBackdrop(), t.$element.trigger("hidden.bs.modal")
|
||||
})
|
||||
}, e.prototype.removeBackdrop = function() {
|
||||
this.$backdrop && this.$backdrop.remove(), this.$backdrop = null
|
||||
}, e.prototype.backdrop = function(e) {
|
||||
var i = this.$element.hasClass("fade") ? "fade" : "";
|
||||
if (this.isShown && this.options.backdrop) {
|
||||
var n = t.support.transition && i;
|
||||
if (this.$backdrop = t('<div class="modal-backdrop ' + i + '" />').appendTo(document.body), this.$element.on("click.dismiss.modal", t.proxy(function(t) {
|
||||
t.target === t.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus.call(this.$element[0]) : this.hide.call(this))
|
||||
}, this)), n && this.$backdrop[0].offsetWidth, this.$backdrop.addClass("in"), !e)return;
|
||||
n ? this.$backdrop.one(t.support.transition.end, e).emulateTransitionEnd(150) : e()
|
||||
} else!this.isShown && this.$backdrop ? (this.$backdrop.removeClass("in"), t.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one(t.support.transition.end, e).emulateTransitionEnd(150) : e()) : e && e()
|
||||
};
|
||||
var i = t.fn.modal;
|
||||
t.fn.modal = function(i, n) {
|
||||
return this.each(function() {
|
||||
var o = t(this), s = o.data("bs.modal"), a = t.extend({}, e.DEFAULTS, o.data(), "object" == typeof i && i);
|
||||
s || o.data("bs.modal", s = new e(this, a)), "string" == typeof i ? s[i](n) : a.show && s.show(n)
|
||||
})
|
||||
}, t.fn.modal.Constructor = e, t.fn.modal.noConflict = function() {
|
||||
return t.fn.modal = i, this
|
||||
}, t(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function(e) {
|
||||
var i = t(this), n = i.attr("href"), o = t(i.attr("data-target") || n && n.replace(/.*(?=#[^\s]+$)/, "")), s = o.data("modal") ? "toggle" : t.extend({remote: !/#/.test(n) && n}, o.data(), i.data());
|
||||
e.preventDefault(), o.modal(s, this).one("hide", function() {
|
||||
i.is(":visible") && i.focus()
|
||||
})
|
||||
}), t(document).on("show.bs.modal", ".modal",function() {
|
||||
t(document.body).addClass("modal-open")
|
||||
}).on("hidden.bs.modal", ".modal", function() {
|
||||
t(document.body).removeClass("modal-open")
|
||||
})
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
var e = function(t, e) {
|
||||
this.type = this.options = this.enabled = this.timeout = this.hoverState = this.$element = null, this.init("tooltip", t, e)
|
||||
};
|
||||
e.DEFAULTS = {animation: !0, placement: "top", selector: !1, template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: "hover focus", title: "", delay: 0, html: !1, container: !1}, e.prototype.init = function(e, i, n) {
|
||||
this.enabled = !0, this.type = e, this.$element = t(i), this.options = this.getOptions(n);
|
||||
for (var o = this.options.trigger.split(" "), s = o.length; s--;) {
|
||||
var a = o[s];
|
||||
if ("click" == a)this.$element.on("click." + this.type, this.options.selector, t.proxy(this.toggle, this)); else if ("manual" != a) {
|
||||
var r = "hover" == a ? "mouseenter" : "focus", l = "hover" == a ? "mouseleave" : "blur";
|
||||
this.$element.on(r + "." + this.type, this.options.selector, t.proxy(this.enter, this)), this.$element.on(l + "." + this.type, this.options.selector, t.proxy(this.leave, this))
|
||||
}
|
||||
}
|
||||
this.options.selector ? this._options = t.extend({}, this.options, {trigger: "manual", selector: ""}) : this.fixTitle()
|
||||
}, e.prototype.getDefaults = function() {
|
||||
return e.DEFAULTS
|
||||
}, e.prototype.getOptions = function(e) {
|
||||
return e = t.extend({}, this.getDefaults(), this.$element.data(), e), e.delay && "number" == typeof e.delay && (e.delay = {show: e.delay, hide: e.delay}), e
|
||||
}, e.prototype.getDelegateOptions = function() {
|
||||
var e = {}, i = this.getDefaults();
|
||||
return this._options && t.each(this._options, function(t, n) {
|
||||
i[t] != n && (e[t] = n)
|
||||
}), e
|
||||
}, e.prototype.enter = function(e) {
|
||||
var i = e instanceof this.constructor ? e : t(e.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type);
|
||||
return clearTimeout(i.timeout), i.hoverState = "in", i.options.delay && i.options.delay.show ? void(i.timeout = setTimeout(function() {
|
||||
"in" == i.hoverState && i.show()
|
||||
}, i.options.delay.show)) : i.show()
|
||||
}, e.prototype.leave = function(e) {
|
||||
var i = e instanceof this.constructor ? e : t(e.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type);
|
||||
return clearTimeout(i.timeout), i.hoverState = "out", i.options.delay && i.options.delay.hide ? void(i.timeout = setTimeout(function() {
|
||||
"out" == i.hoverState && i.hide()
|
||||
}, i.options.delay.hide)) : i.hide()
|
||||
}, e.prototype.show = function() {
|
||||
var e = t.Event("show.bs." + this.type);
|
||||
if (this.hasContent() && this.enabled) {
|
||||
if (this.$element.trigger(e), e.isDefaultPrevented())return;
|
||||
var i = this.tip();
|
||||
this.setContent(), this.options.animation && i.addClass("fade");
|
||||
var n = "function" == typeof this.options.placement ? this.options.placement.call(this, i[0], this.$element[0]) : this.options.placement, o = /\s?auto?\s?/i, s = o.test(n);
|
||||
s && (n = n.replace(o, "") || "top"), i.detach().css({top: 0, left: 0, display: "block"}).addClass(n), this.options.container ? i.appendTo(this.options.container) : i.insertAfter(this.$element);
|
||||
var a = this.getPosition(), r = i[0].offsetWidth, l = i[0].offsetHeight;
|
||||
if (s) {
|
||||
var h = this.$element.parent(), c = n, p = document.documentElement.scrollTop || document.body.scrollTop, f = "body" == this.options.container ? window.innerWidth : h.outerWidth(), u = "body" == this.options.container ? window.innerHeight : h.outerHeight(), d = "body" == this.options.container ? 0 : h.offset().left;
|
||||
n = "bottom" == n && a.top + a.height + l - p > u ? "top" : "top" == n && a.top - p - l < 0 ? "bottom" : "right" == n && a.right + r > f ? "left" : "left" == n && a.left - r < d ? "right" : n, i.removeClass(c).addClass(n)
|
||||
}
|
||||
var v = this.getCalculatedOffset(n, a, r, l);
|
||||
this.applyPlacement(v, n), this.$element.trigger("shown.bs." + this.type)
|
||||
}
|
||||
}, e.prototype.applyPlacement = function(t, e) {
|
||||
var i, n = this.tip(), o = n[0].offsetWidth, s = n[0].offsetHeight, a = parseInt(n.css("margin-top"), 10), r = parseInt(n.css("margin-left"), 10);
|
||||
isNaN(a) && (a = 0), isNaN(r) && (r = 0), t.top = t.top + a, t.left = t.left + r, n.offset(t).addClass("in");
|
||||
var l = n[0].offsetWidth, h = n[0].offsetHeight;
|
||||
if ("top" == e && h != s && (i = !0, t.top = t.top + s - h), /bottom|top/.test(e)) {
|
||||
var c = 0;
|
||||
t.left < 0 && (c = -2 * t.left, t.left = 0, n.offset(t), l = n[0].offsetWidth, h = n[0].offsetHeight), this.replaceArrow(c - o + l, l, "left")
|
||||
} else this.replaceArrow(h - s, h, "top");
|
||||
i && n.offset(t)
|
||||
}, e.prototype.replaceArrow = function(t, e, i) {
|
||||
this.arrow().css(i, t ? 50 * (1 - t / e) + "%" : "")
|
||||
}, e.prototype.setContent = function() {
|
||||
var t = this.tip(), e = this.getTitle();
|
||||
t.find(".tooltip-inner")[this.options.html ? "html" : "text"](e), t.removeClass("fade in top bottom left right")
|
||||
}, e.prototype.hide = function() {
|
||||
function e() {
|
||||
"in" != i.hoverState && n.detach()
|
||||
}
|
||||
|
||||
var i = this, n = this.tip(), o = t.Event("hide.bs." + this.type);
|
||||
return this.$element.trigger(o), o.isDefaultPrevented() ? void 0 : (n.removeClass("in"), t.support.transition && this.$tip.hasClass("fade") ? n.one(t.support.transition.end, e).emulateTransitionEnd(150) : e(), this.$element.trigger("hidden.bs." + this.type), this)
|
||||
}, e.prototype.fixTitle = function() {
|
||||
var t = this.$element;
|
||||
(t.attr("title") || "string" != typeof t.attr("data-original-title")) && t.attr("data-original-title", t.attr("title") || "").attr("title", "")
|
||||
}, e.prototype.hasContent = function() {
|
||||
return this.getTitle()
|
||||
}, e.prototype.getPosition = function() {
|
||||
var e = this.$element[0];
|
||||
return t.extend({}, "function" == typeof e.getBoundingClientRect ? e.getBoundingClientRect() : {width: e.offsetWidth, height: e.offsetHeight}, this.$element.offset())
|
||||
}, e.prototype.getCalculatedOffset = function(t, e, i, n) {
|
||||
return"bottom" == t ? {top: e.top + e.height, left: e.left + e.width / 2 - i / 2} : "top" == t ? {top: e.top - n, left: e.left + e.width / 2 - i / 2} : "left" == t ? {top: e.top + e.height / 2 - n / 2, left: e.left - i} : {top: e.top + e.height / 2 - n / 2, left: e.left + e.width}
|
||||
}, e.prototype.getTitle = function() {
|
||||
var t, e = this.$element, i = this.options;
|
||||
return t = e.attr("data-original-title") || ("function" == typeof i.title ? i.title.call(e[0]) : i.title)
|
||||
}, e.prototype.tip = function() {
|
||||
return this.$tip = this.$tip || t(this.options.template)
|
||||
}, e.prototype.arrow = function() {
|
||||
return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
|
||||
}, e.prototype.validate = function() {
|
||||
this.$element[0].parentNode || (this.hide(), this.$element = null, this.options = null)
|
||||
}, e.prototype.enable = function() {
|
||||
this.enabled = !0
|
||||
}, e.prototype.disable = function() {
|
||||
this.enabled = !1
|
||||
}, e.prototype.toggleEnabled = function() {
|
||||
this.enabled = !this.enabled
|
||||
}, e.prototype.toggle = function(e) {
|
||||
var i = e ? t(e.currentTarget)[this.type](this.getDelegateOptions()).data("bs." + this.type) : this;
|
||||
i.tip().hasClass("in") ? i.leave(i) : i.enter(i)
|
||||
}, e.prototype.destroy = function() {
|
||||
this.hide().$element.off("." + this.type).removeData("bs." + this.type)
|
||||
};
|
||||
var i = t.fn.tooltip;
|
||||
t.fn.tooltip = function(i) {
|
||||
return this.each(function() {
|
||||
var n = t(this), o = n.data("bs.tooltip"), s = "object" == typeof i && i;
|
||||
o || n.data("bs.tooltip", o = new e(this, s)), "string" == typeof i && o[i]()
|
||||
})
|
||||
}, t.fn.tooltip.Constructor = e, t.fn.tooltip.noConflict = function() {
|
||||
return t.fn.tooltip = i, this
|
||||
}
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
var e = function(t, e) {
|
||||
this.init("popover", t, e)
|
||||
};
|
||||
if (!t.fn.tooltip)throw new Error("Popover requires tooltip.js");
|
||||
e.DEFAULTS = t.extend({}, t.fn.tooltip.Constructor.DEFAULTS, {placement: "right", trigger: "click", content: "", template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}), e.prototype = t.extend({}, t.fn.tooltip.Constructor.prototype), e.prototype.constructor = e, e.prototype.getDefaults = function() {
|
||||
return e.DEFAULTS
|
||||
}, e.prototype.setContent = function() {
|
||||
var t = this.tip(), e = this.getTitle(), i = this.getContent();
|
||||
t.find(".popover-title")[this.options.html ? "html" : "text"](e), t.find(".popover-content")[this.options.html ? "html" : "text"](i), t.removeClass("fade top bottom left right in"), t.find(".popover-title").html() || t.find(".popover-title").hide()
|
||||
}, e.prototype.hasContent = function() {
|
||||
return this.getTitle() || this.getContent()
|
||||
}, e.prototype.getContent = function() {
|
||||
var t = this.$element, e = this.options;
|
||||
return t.attr("data-content") || ("function" == typeof e.content ? e.content.call(t[0]) : e.content)
|
||||
}, e.prototype.arrow = function() {
|
||||
return this.$arrow = this.$arrow || this.tip().find(".arrow")
|
||||
}, e.prototype.tip = function() {
|
||||
return this.$tip || (this.$tip = t(this.options.template)), this.$tip
|
||||
};
|
||||
var i = t.fn.popover;
|
||||
t.fn.popover = function(i) {
|
||||
return this.each(function() {
|
||||
var n = t(this), o = n.data("bs.popover"), s = "object" == typeof i && i;
|
||||
o || n.data("bs.popover", o = new e(this, s)), "string" == typeof i && o[i]()
|
||||
})
|
||||
}, t.fn.popover.Constructor = e, t.fn.popover.noConflict = function() {
|
||||
return t.fn.popover = i, this
|
||||
}
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
function e(i, n) {
|
||||
var o, s = t.proxy(this.process, this);
|
||||
this.$element = t(t(i).is("body") ? window : i), this.$body = t("body"), this.$scrollElement = this.$element.on("scroll.bs.scroll-spy.data-api", s), this.options = t.extend({}, e.DEFAULTS, n), this.selector = (this.options.target || (o = t(i).attr("href")) && o.replace(/.*(?=#[^\s]+$)/, "") || "") + " .nav li > a", this.offsets = t([]), this.targets = t([]), this.activeTarget = null, this.refresh(), this.process()
|
||||
}
|
||||
|
||||
e.DEFAULTS = {offset: 10}, e.prototype.refresh = function() {
|
||||
var e = this.$element[0] == window ? "offset" : "position";
|
||||
this.offsets = t([]), this.targets = t([]);
|
||||
var i = this;
|
||||
this.$body.find(this.selector).map(function() {
|
||||
var n = t(this), o = n.data("target") || n.attr("href"), s = /^#\w/.test(o) && t(o);
|
||||
return s && s.length && [
|
||||
[s[e]().top + (!t.isWindow(i.$scrollElement.get(0)) && i.$scrollElement.scrollTop()), o]
|
||||
] || null
|
||||
}).sort(function(t, e) {
|
||||
return t[0] - e[0]
|
||||
}).each(function() {
|
||||
i.offsets.push(this[0]), i.targets.push(this[1])
|
||||
})
|
||||
}, e.prototype.process = function() {
|
||||
var t, e = this.$scrollElement.scrollTop() + this.options.offset, i = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight, n = i - this.$scrollElement.height(), o = this.offsets, s = this.targets, a = this.activeTarget;
|
||||
if (e >= n)return a != (t = s.last()[0]) && this.activate(t);
|
||||
for (t = o.length; t--;)a != s[t] && e >= o[t] && (!o[t + 1] || e <= o[t + 1]) && this.activate(s[t])
|
||||
}, e.prototype.activate = function(e) {
|
||||
this.activeTarget = e, t(this.selector).parents(".active").removeClass("active");
|
||||
var i = this.selector + '[data-target="' + e + '"],' + this.selector + '[href="' + e + '"]', n = t(i).parents("li").addClass("active");
|
||||
n.parent(".dropdown-menu").length && (n = n.closest("li.dropdown").addClass("active")), n.trigger("activate")
|
||||
};
|
||||
var i = t.fn.scrollspy;
|
||||
t.fn.scrollspy = function(i) {
|
||||
return this.each(function() {
|
||||
var n = t(this), o = n.data("bs.scrollspy"), s = "object" == typeof i && i;
|
||||
o || n.data("bs.scrollspy", o = new e(this, s)), "string" == typeof i && o[i]()
|
||||
})
|
||||
}, t.fn.scrollspy.Constructor = e, t.fn.scrollspy.noConflict = function() {
|
||||
return t.fn.scrollspy = i, this
|
||||
}, t(window).on("load", function() {
|
||||
t('[data-spy="scroll"]').each(function() {
|
||||
var e = t(this);
|
||||
e.scrollspy(e.data())
|
||||
})
|
||||
})
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
var e = function(e) {
|
||||
this.element = t(e)
|
||||
};
|
||||
e.prototype.show = function() {
|
||||
var e = this.element, i = e.closest("ul:not(.dropdown-menu)"), n = e.attr("data-target");
|
||||
if (n || (n = e.attr("href"), n = n && n.replace(/.*(?=#[^\s]*$)/, "")), !e.parent("li").hasClass("active")) {
|
||||
var o = i.find(".active:last a")[0], s = t.Event("show.bs.tab", {relatedTarget: o});
|
||||
if (e.trigger(s), !s.isDefaultPrevented()) {
|
||||
var a = t(n);
|
||||
this.activate(e.parent("li"), i), this.activate(a, a.parent(), function() {
|
||||
e.trigger({type: "shown.bs.tab", relatedTarget: o})
|
||||
})
|
||||
}
|
||||
}
|
||||
}, e.prototype.activate = function(e, i, n) {
|
||||
function o() {
|
||||
s.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"), e.addClass("active"), a ? (e[0].offsetWidth, e.addClass("in")) : e.removeClass("fade"), e.parent(".dropdown-menu") && e.closest("li.dropdown").addClass("active"), n && n()
|
||||
}
|
||||
|
||||
var s = i.find("> .active"), a = n && t.support.transition && s.hasClass("fade");
|
||||
a ? s.one(t.support.transition.end, o).emulateTransitionEnd(150) : o(), s.removeClass("in")
|
||||
};
|
||||
var i = t.fn.tab;
|
||||
t.fn.tab = function(i) {
|
||||
return this.each(function() {
|
||||
var n = t(this), o = n.data("bs.tab");
|
||||
o || n.data("bs.tab", o = new e(this)), "string" == typeof i && o[i]()
|
||||
})
|
||||
}, t.fn.tab.Constructor = e, t.fn.tab.noConflict = function() {
|
||||
return t.fn.tab = i, this
|
||||
}, t(document).on("click.bs.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"]', function(e) {
|
||||
e.preventDefault(), t(this).tab("show")
|
||||
})
|
||||
}(window.jQuery), +function(t) {
|
||||
"use strict";
|
||||
var e = function(i, n) {
|
||||
this.options = t.extend({}, e.DEFAULTS, n), this.$window = t(window).on("scroll.bs.affix.data-api", t.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", t.proxy(this.checkPositionWithEventLoop, this)), this.$element = t(i), this.affixed = this.unpin = null, this.checkPosition()
|
||||
};
|
||||
e.RESET = "affix affix-top affix-bottom", e.DEFAULTS = {offset: 0}, e.prototype.checkPositionWithEventLoop = function() {
|
||||
setTimeout(t.proxy(this.checkPosition, this), 1)
|
||||
}, e.prototype.checkPosition = function() {
|
||||
if (this.$element.is(":visible")) {
|
||||
var i = t(document).height(), n = this.$window.scrollTop(), o = this.$element.offset(), s = this.options.offset, a = s.top, r = s.bottom;
|
||||
"object" != typeof s && (r = a = s), "function" == typeof a && (a = s.top()), "function" == typeof r && (r = s.bottom());
|
||||
var l = null != this.unpin && n + this.unpin <= o.top ? !1 : null != r && o.top + this.$element.height() >= i - r ? "bottom" : null != a && a >= n ? "top" : !1;
|
||||
this.affixed !== l && (this.unpin && this.$element.css("top", ""), this.affixed = l, this.unpin = "bottom" == l ? o.top - n : null, this.$element.removeClass(e.RESET).addClass("affix" + (l ? "-" + l : "")), "bottom" == l && this.$element.offset({top: document.body.offsetHeight - r - this.$element.height()}))
|
||||
}
|
||||
};
|
||||
var i = t.fn.affix;
|
||||
t.fn.affix = function(i) {
|
||||
return this.each(function() {
|
||||
var n = t(this), o = n.data("bs.affix"), s = "object" == typeof i && i;
|
||||
o || n.data("bs.affix", o = new e(this, s)), "string" == typeof i && o[i]()
|
||||
})
|
||||
}, t.fn.affix.Constructor = e, t.fn.affix.noConflict = function() {
|
||||
return t.fn.affix = i, this
|
||||
}, t(window).on("load", function() {
|
||||
t('[data-spy="affix"]').each(function() {
|
||||
var e = t(this), i = e.data();
|
||||
i.offset = i.offset || {}, i.offsetBottom && (i.offset.bottom = i.offsetBottom), i.offsetTop && (i.offset.top = i.offsetTop), e.affix(i)
|
||||
})
|
||||
})
|
||||
}(window.jQuery), /*!
|
||||
* mustache.js - Logic-less {{mustache}} templates with JavaScript
|
||||
* http://github.com/janl/mustache.js
|
||||
*/
|
||||
function(t, e) {
|
||||
if ("object" == typeof exports && exports)e(exports); else {
|
||||
var i = {};
|
||||
e(i), "function" == typeof define && define.amd ? define(i) : t.Mustache = i
|
||||
}
|
||||
}(this, function(t) {
|
||||
function e(t, e) {
|
||||
return b.call(t, e)
|
||||
}
|
||||
|
||||
function i(t) {
|
||||
return!e(v, t)
|
||||
}
|
||||
|
||||
function n(t) {
|
||||
return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&")
|
||||
}
|
||||
|
||||
function o(t) {
|
||||
return String(t).replace(/[&<>"'\/]/g, function(t) {
|
||||
return C[t]
|
||||
})
|
||||
}
|
||||
|
||||
function s(t) {
|
||||
this.string = t, this.tail = t, this.pos = 0
|
||||
}
|
||||
|
||||
function a(t, e) {
|
||||
this.view = t || {}, this.parent = e, this._cache = {}
|
||||
}
|
||||
|
||||
function r() {
|
||||
this.clearCache()
|
||||
}
|
||||
|
||||
function l(e, i, n, o) {
|
||||
for (var s, a, r, h = "", c = 0, p = e.length; p > c; ++c)switch (s = e[c], a = s[1], s[0]) {
|
||||
case"#":
|
||||
if (r = n.lookup(a), "object" == typeof r)if ($(r))for (var f = 0, u = r.length; u > f; ++f)h += l(s[4], i, n.push(r[f]), o); else r && (h += l(s[4], i, n.push(r), o)); else if ("function" == typeof r) {
|
||||
var d = null == o ? null : o.slice(s[3], s[5]);
|
||||
r = r.call(n.view, d, function(t) {
|
||||
return i.render(t, n)
|
||||
}), null != r && (h += r)
|
||||
} else r && (h += l(s[4], i, n, o));
|
||||
break;
|
||||
case"^":
|
||||
r = n.lookup(a), (!r || $(r) && 0 === r.length) && (h += l(s[4], i, n, o));
|
||||
break;
|
||||
case">":
|
||||
r = i.getPartial(a), "function" == typeof r && (h += r(n));
|
||||
break;
|
||||
case"&":
|
||||
r = n.lookup(a), null != r && (h += r);
|
||||
break;
|
||||
case"name":
|
||||
r = n.lookup(a), null != r && (h += t.escape(r));
|
||||
break;
|
||||
case"text":
|
||||
h += a
|
||||
}
|
||||
return h
|
||||
}
|
||||
|
||||
function h(t) {
|
||||
for (var e, i = [], n = i, o = [], s = 0, a = t.length; a > s; ++s)switch (e = t[s], e[0]) {
|
||||
case"#":
|
||||
case"^":
|
||||
o.push(e), n.push(e), n = e[4] = [];
|
||||
break;
|
||||
case"/":
|
||||
var r = o.pop();
|
||||
r[5] = e[2], n = o.length > 0 ? o[o.length - 1][4] : i;
|
||||
break;
|
||||
default:
|
||||
n.push(e)
|
||||
}
|
||||
return i
|
||||
}
|
||||
|
||||
function c(t) {
|
||||
for (var e, i, n = [], o = 0, s = t.length; s > o; ++o)e = t[o], e && ("text" === e[0] && i && "text" === i[0] ? (i[1] += e[1], i[3] = e[3]) : (i = e, n.push(e)));
|
||||
return n
|
||||
}
|
||||
|
||||
function p(t) {
|
||||
return[new RegExp(n(t[0]) + "\\s*"), new RegExp("\\s*" + n(t[1]))]
|
||||
}
|
||||
|
||||
function f(e, o) {
|
||||
function a() {
|
||||
if (T && !E)for (; x.length;)delete k[x.pop()]; else x = [];
|
||||
T = !1, E = !1
|
||||
}
|
||||
|
||||
if (e = e || "", o = o || t.tags, "string" == typeof o && (o = o.split(d)), 2 !== o.length)throw new Error("Invalid tags: " + o.join(", "));
|
||||
for (var r, l, f, v, b, w = p(o), $ = new s(e), C = [], k = [], x = [], T = !1, E = !1; !$.eos();) {
|
||||
if (r = $.pos, f = $.scanUntil(w[0]))for (var D = 0, S = f.length; S > D; ++D)v = f.charAt(D), i(v) ? x.push(k.length) : E = !0, k.push(["text", v, r, r + 1]), r += 1, "\n" == v && a();
|
||||
if (!$.scan(w[0]))break;
|
||||
if (T = !0, l = $.scan(y) || "name", $.scan(u), "=" === l ? (f = $.scanUntil(m), $.scan(m), $.scanUntil(w[1])) : "{" === l ? (f = $.scanUntil(new RegExp("\\s*" + n("}" + o[1]))), $.scan(g), $.scanUntil(w[1]), l = "&") : f = $.scanUntil(w[1]), !$.scan(w[1]))throw new Error("Unclosed tag at " + $.pos);
|
||||
if (b = [l, f, r, $.pos], k.push(b), "#" === l || "^" === l)C.push(b); else if ("/" === l) {
|
||||
if (0 === C.length)throw new Error('Unopened section "' + f + '" at ' + r);
|
||||
var j = C.pop();
|
||||
if (j[1] !== f)throw new Error('Unclosed section "' + j[1] + '" at ' + r)
|
||||
} else if ("name" === l || "{" === l || "&" === l)E = !0; else if ("=" === l) {
|
||||
if (o = f.split(d), 2 !== o.length)throw new Error("Invalid tags at " + r + ": " + o.join(", "));
|
||||
w = p(o)
|
||||
}
|
||||
}
|
||||
var j = C.pop();
|
||||
if (j)throw new Error('Unclosed section "' + j[1] + '" at ' + $.pos);
|
||||
return k = c(k), h(k)
|
||||
}
|
||||
|
||||
var u = /\s*/, d = /\s+/, v = /\S/, m = /\s*=/, g = /\s*\}/, y = /#|\^|\/|>|\{|&|=|!/, b = RegExp.prototype.test, w = Object.prototype.toString, $ = Array.isArray || function(t) {
|
||||
return"[object Array]" === w.call(t)
|
||||
}, C = {"&": "&", "<": "<", ">": ">", '"': """, "'": "'", "/": "/"};
|
||||
s.prototype.eos = function() {
|
||||
return"" === this.tail
|
||||
}, s.prototype.scan = function(t) {
|
||||
var e = this.tail.match(t);
|
||||
return e && 0 === e.index ? (this.tail = this.tail.substring(e[0].length), this.pos += e[0].length, e[0]) : ""
|
||||
}, s.prototype.scanUntil = function(t) {
|
||||
var e, i = this.tail.search(t);
|
||||
switch (i) {
|
||||
case-1:
|
||||
e = this.tail, this.pos += this.tail.length, this.tail = "";
|
||||
break;
|
||||
case 0:
|
||||
e = "";
|
||||
break;
|
||||
default:
|
||||
e = this.tail.substring(0, i), this.tail = this.tail.substring(i), this.pos += i
|
||||
}
|
||||
return e
|
||||
}, a.make = function(t) {
|
||||
return t instanceof a ? t : new a(t)
|
||||
}, a.prototype.push = function(t) {
|
||||
return new a(t, this)
|
||||
}, a.prototype.lookup = function(t) {
|
||||
var e = this._cache[t];
|
||||
if (!e) {
|
||||
if ("." == t)e = this.view; else for (var i = this; i;) {
|
||||
if (t.indexOf(".") > 0) {
|
||||
e = i.view;
|
||||
for (var n = t.split("."), o = 0; e && o < n.length;)e = e[n[o++]]
|
||||
} else e = i.view[t];
|
||||
if (null != e)break;
|
||||
i = i.parent
|
||||
}
|
||||
this._cache[t] = e
|
||||
}
|
||||
return"function" == typeof e && (e = e.call(this.view)), e
|
||||
}, r.prototype.clearCache = function() {
|
||||
this._cache = {}, this._partialCache = {}
|
||||
}, r.prototype.compile = function(e, i) {
|
||||
var n = this._cache[e];
|
||||
if (!n) {
|
||||
var o = t.parse(e, i);
|
||||
n = this._cache[e] = this.compileTokens(o, e)
|
||||
}
|
||||
return n
|
||||
}, r.prototype.compilePartial = function(t, e, i) {
|
||||
var n = this.compile(e, i);
|
||||
return this._partialCache[t] = n, n
|
||||
}, r.prototype.getPartial = function(t) {
|
||||
return t in this._partialCache || !this._loadPartial || this.compilePartial(t, this._loadPartial(t)), this._partialCache[t]
|
||||
}, r.prototype.compileTokens = function(t, e) {
|
||||
var i = this;
|
||||
return function(n, o) {
|
||||
if (o)if ("function" == typeof o)i._loadPartial = o; else for (var s in o)i.compilePartial(s, o[s]);
|
||||
return l(t, i, a.make(n), e)
|
||||
}
|
||||
}, r.prototype.render = function(t, e, i) {
|
||||
return this.compile(t)(e, i)
|
||||
}, t.name = "mustache.js", t.version = "0.7.2", t.tags = ["{{", "}}"], t.Scanner = s, t.Context = a, t.Writer = r, t.parse = f, t.escape = o;
|
||||
var k = new r;
|
||||
t.clearCache = function() {
|
||||
return k.clearCache()
|
||||
}, t.compile = function(t, e) {
|
||||
return k.compile(t, e)
|
||||
}, t.compilePartial = function(t, e, i) {
|
||||
return k.compilePartial(t, e, i)
|
||||
}, t.compileTokens = function(t, e) {
|
||||
return k.compileTokens(t, e)
|
||||
}, t.render = function(t, e, i) {
|
||||
return k.render(t, e, i)
|
||||
}, t.to_html = function(e, i, n, o) {
|
||||
var s = t.render(e, i, n);
|
||||
return"function" != typeof o ? s : void o(s)
|
||||
}
|
||||
}), function(t) {
|
||||
function e(t) {
|
||||
var e = t.match(/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);
|
||||
return e && 11 === e[2].length ? e[2] : !1
|
||||
}
|
||||
|
||||
function i(t, i) {
|
||||
var n = e(t);
|
||||
return t && n && (t = "https://www.youtube.com/" + (i ? "embed/" : "v/") + e(t)), t
|
||||
}
|
||||
|
||||
function n(t, e, i, n) {
|
||||
var o, s;
|
||||
return n && (o = 'width="' + e + '" height="' + i + '"', s = t ? '<iframe src="' + n + '" ' + o + ' frameborder="0" allowfullscreen> </iframe>' : '<div class="youtube"><object type="application/x-shockwave-flash" ' + o + ' data="' + n + '&modestbranding=1"><param name="movie" value="' + n + '&modestbranding=1" /><param name="wmode" value="transparent" /></object></div>'), s
|
||||
}
|
||||
|
||||
function o() {
|
||||
var e, o = "", s = t("#video").is(":checked"), a = t("#youtubeAutoplay").is(":checked"), r = t("#youtubeREL").is(":checked"), l = t("#youtubeHD").is(":checked"), h = t("#youtubeWidth").val(), c = t("#youtubeHeight").val(), p = i(t("#youtubeID").val(), s);
|
||||
return a && (o += "&autoplay=1"), r && (o += "&rel=0"), l && (o += "&hd=1"), p && (e = n(s, h, c, p + (s ? "" : o))), e
|
||||
}
|
||||
|
||||
function s() {
|
||||
t("#preview").html(n(!0, 420, 315, i(t("#youtubeID").val())))
|
||||
}
|
||||
|
||||
function a(t) {
|
||||
clearTimeout(h), h = setTimeout(s, t || 1e3)
|
||||
}
|
||||
|
||||
function r() {
|
||||
var t = o();
|
||||
t && parent.tinymce.activeEditor.insertContent(t), parent.tinymce.activeEditor.windowManager.close()
|
||||
}
|
||||
|
||||
function l() {
|
||||
t("#preview").length && t("#youtubeID").keypress(function() {
|
||||
a()
|
||||
}).change(function() {
|
||||
a(100)
|
||||
})
|
||||
}
|
||||
|
||||
var h;
|
||||
t(function() {
|
||||
var e = {youtubeurl: parent.tinymce.util.I18n.translate("Youtube URL"), youtubeID: parent.tinymce.util.I18n.translate("Youtube ID"), youtubeWidth: parent.tinymce.util.I18n.translate("width"), youtubeHeight: parent.tinymce.util.I18n.translate("height"), youtubeAutoplay: parent.tinymce.util.I18n.translate("autoplay"), youtubeHD: parent.tinymce.util.I18n.translate("HD video"), youtubeREL: parent.tinymce.util.I18n.translate("Related video"), HTML5: parent.tinymce.util.I18n.translate("HTML5"), Insert: parent.tinymce.util.I18n.translate("Insert")};
|
||||
t.get("view/forms.html", function(i) {
|
||||
t("#template-container").append(Mustache.render(i, e)), l(), t("#insert-btn").on("click", r)
|
||||
})
|
||||
})
|
||||
}(jQuery);
|
||||
6
web/tinymce/plugins/youtube/js/vendor/jquery.js
vendored
Normal file
10
web/tinymce/plugins/youtube/langs/de.js
Normal file
@@ -0,0 +1,10 @@
|
||||
tinymce.addI18n('de',{
|
||||
'YouTube Title' : "Einfügen von YouTube-Videos",
|
||||
'Youtube URL' : 'Youtube-Link',
|
||||
'Youtube ID' : 'Link-Format : http://youtu.be/xxxxxxxx oder http://www.youtube.com/watch?v=xxxxxxxx',
|
||||
'width' : 'Breite',
|
||||
'height' : 'Hoehe',
|
||||
'autoplay' : 'Automatische Wiedergabe?',
|
||||
'Related video' : 'Verwandte Videos anzeigen?',
|
||||
'HD video' : 'In HD abspielen?'
|
||||
});
|
||||
12
web/tinymce/plugins/youtube/langs/en.js
Normal file
@@ -0,0 +1,12 @@
|
||||
tinymce.addI18n('en',{
|
||||
'YouTube Title' : "Insert a YouTube Video",
|
||||
'Youtube URL' : 'Link Sharing',
|
||||
'Youtube ID' : 'Link format for sharing : http://youtu.be/xxxxxxxx or http://www.youtube.com/watch?v=xxxxxxxx',
|
||||
'width' : 'Width',
|
||||
'height' : 'Height',
|
||||
'autoplay' : 'Autoplay',
|
||||
'Related video' : 'Related video',
|
||||
'HD video' : 'Watch in HD',
|
||||
'Insert' : 'Insert',
|
||||
'HTML5' : 'Force HTML5'
|
||||
});
|
||||
10
web/tinymce/plugins/youtube/langs/es.js
Normal file
@@ -0,0 +1,10 @@
|
||||
tinymce.addI18n('es',{
|
||||
'YouTube Title' : "Insertar un vídeo de YouTube",
|
||||
'Youtube URL' : 'Enlace para compartir',
|
||||
'Youtube ID' : 'Formato de enlace para compartir: http://youtu.be/xxxxxxxx ó http://www.youtube.com/watch?v=xxxxxxxx',
|
||||
'width' : 'Ancho',
|
||||
'height' : 'Alto',
|
||||
'autoplay' : 'Autoplay',
|
||||
'Related video' : 'Vídeos relacionados',
|
||||
'HD video' : 'Ver en HD'
|
||||
});
|
||||
12
web/tinymce/plugins/youtube/langs/fr_FR.js
Normal file
@@ -0,0 +1,12 @@
|
||||
tinymce.addI18n('fr',{
|
||||
'YouTube Title' : "Insertion d'une vidéo youtube",
|
||||
'Youtube URL' : 'URL YouTube',
|
||||
'Youtube ID' : 'Format du lien de partage : http://youtu.be/xxxxxxxx ou http://www.youtube.com/watch?v=xxxxxxxx',
|
||||
'width' : 'Largeur',
|
||||
'height' : 'Hauteur',
|
||||
'autoplay' : 'Autoplay',
|
||||
'Related video' : 'Vidéos similaires',
|
||||
'HD video' : 'Visionner en HD',
|
||||
'Insert' : 'Insérer',
|
||||
'HTML5' : 'Forcer HTML5'
|
||||
});
|
||||
10
web/tinymce/plugins/youtube/langs/hu.js
Normal file
@@ -0,0 +1,10 @@
|
||||
tinymce.addI18n('hu', {
|
||||
'YouTube Title': "Youtube videó beillesztése",
|
||||
'Youtube URL': 'Link megosztása',
|
||||
'Youtube ID': 'Link formátuma a megosztáshoz: http://youtu.be/xxxxxxxx vagy http://www.youtube.com/watch?v=xxxxxxxx',
|
||||
'width': 'Szélesség',
|
||||
'height': 'Magasság',
|
||||
'autoplay': 'Automatikus lejátszás',
|
||||
'Related video': 'Kapcsolód videó',
|
||||
'HD video': 'HD lejátszás'
|
||||
});
|
||||
10
web/tinymce/plugins/youtube/langs/it.js
Normal file
@@ -0,0 +1,10 @@
|
||||
tinymce.addI18n('it',{
|
||||
'YouTube Title' : "Inserisci un video di Youtube",
|
||||
'Youtube URL' : 'Condividi URL',
|
||||
'Youtube ID' : 'Formato del link per da condividere : http://youtu.be/xxxxxxxx o http://www.youtube.com/watch?v=xxxxxxxx',
|
||||
'width' : 'Larghezza',
|
||||
'height' : 'Altezza',
|
||||
'autoplay' : 'Autoplay',
|
||||
'Related video' : 'Video correlati',
|
||||
'HD video' : 'Guarda in HD'
|
||||
});
|
||||
10
web/tinymce/plugins/youtube/langs/pl.js
Normal file
@@ -0,0 +1,10 @@
|
||||
tinymce.addI18n('pl',{
|
||||
'YouTube Title' : "Wstaw film z YouTube",
|
||||
'Youtube URL' : 'Adres',
|
||||
'Youtube ID' : 'Format adresu: http://youtu.be/xxxxxxxx lub http://www.youtube.com/watch?v=xxxxxxxx',
|
||||
'width' : 'Szeroko\u015B\u0107',
|
||||
'height' : 'Wysoko\u015B\u0107',
|
||||
'autoplay' : 'Automatyczne odtwarzanie',
|
||||
'Related video' : 'Pokazuj sugerowane filmy',
|
||||
'HD video' : 'Odtwarzaj w HD'
|
||||
});
|
||||
10
web/tinymce/plugins/youtube/langs/pt_BR.js
Normal file
@@ -0,0 +1,10 @@
|
||||
tinymce.addI18n('pt_BR',{
|
||||
'YouTube Title' : "Inserir um vídeo do Youtube",
|
||||
'Youtube URL' : 'URL do Youtube',
|
||||
'Youtube ID' : 'Formato do link : http://youtu.be/xxxxxxxx or http://www.youtube.com/watch?v=xxxxxxxx',
|
||||
'width' : 'Largura',
|
||||
'height' : 'Altura',
|
||||
'autoplay' : 'Tocar automaticamente',
|
||||
'Related video' : 'Vídeos relacionados',
|
||||
'HD video' : 'Assistir em HD'
|
||||
});
|
||||
10
web/tinymce/plugins/youtube/langs/ru.js
Normal file
@@ -0,0 +1,10 @@
|
||||
tinymce.addI18n('ru',{
|
||||
'YouTube Title' : "Вставить видео YouTube",
|
||||
'Youtube URL' : 'Ссылка',
|
||||
'Youtube ID' : 'Формат ссылки: http://youtu.be/xxxxxxxx или http://www.youtube.com/watch?v=xxxxxxxx',
|
||||
'width' : 'Ширина',
|
||||
'height' : 'Высота',
|
||||
'autoplay' : 'Автозапуск',
|
||||
'Related video' : 'Похожие видео',
|
||||
'HD video' : 'В формате HD'
|
||||
});
|
||||
51
web/tinymce/plugins/youtube/plugin.js
Normal file
@@ -0,0 +1,51 @@
|
||||
/*!
|
||||
# -- BEGIN LICENSE BLOCK ----------------------------------
|
||||
#
|
||||
# This file is part of tinyMCE.
|
||||
# YouTube for tinyMCE
|
||||
# Copyright (C) 2011 - 2013 Gerits Aurelien <aurelien[at]magix-dev[dot]be> - <contact[at]aurelien-gerits[dot]be>
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# -- END LICENSE BLOCK -----------------------------------
|
||||
*/
|
||||
(function (tiny) {
|
||||
tiny.PluginManager.requireLangPack("youtube");
|
||||
tiny.PluginManager.add("youtube", function (editor, url) {
|
||||
function showDialog() {
|
||||
editor.windowManager.open({
|
||||
title: "YouTube Title",
|
||||
file: url + "/youtube.html",
|
||||
width: 800,
|
||||
height: 530,
|
||||
inline: 1,
|
||||
resizable: true,
|
||||
maximizable: true
|
||||
});
|
||||
}
|
||||
|
||||
// Add a button that opens a window
|
||||
editor.addButton("youtube", {
|
||||
icon: true,
|
||||
image: url + "/img/youtube.gif",
|
||||
tooltip: "Youtube insert",
|
||||
onclick: showDialog,
|
||||
onPostRender: function () {
|
||||
var self = this;
|
||||
editor.on("NodeChange", function (e) {
|
||||
self.active(e.element.nodeName === "IMG");
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}(tinymce));
|
||||
22
web/tinymce/plugins/youtube/plugin.min.js
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
/*!
|
||||
# -- BEGIN LICENSE BLOCK ----------------------------------
|
||||
#
|
||||
# This file is part of tinyMCE.
|
||||
# YouTube for tinyMCE
|
||||
# Copyright (C) 2011 - 2013 Gerits Aurelien <aurelien[at]magix-dev[dot]be> - <contact[at]aurelien-gerits[dot]be>
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# -- END LICENSE BLOCK -----------------------------------
|
||||
*/
|
||||
!function(e){e.PluginManager.requireLangPack("youtube"),e.PluginManager.add("youtube",function(e,n){function i(){e.windowManager.open({title:"YouTube Title",file:n+"/youtube.html",width:800,height:530,inline:1,resizable:!0,maximizable:!0})}e.addButton("youtube",{icon:!0,image:n+"/img/youtube.gif",tooltip:"Youtube insert",onclick:i,onPostRender:function(){var n=this;e.on("NodeChange",function(e){n.active("IMG"===e.element.nodeName)})}})})}(tinymce);
|
||||
65
web/tinymce/plugins/youtube/view/forms.html
Normal file
@@ -0,0 +1,65 @@
|
||||
<form action="#" method="get" class="form-horizontal">
|
||||
<div class="row">
|
||||
<div class="col-xs-10">
|
||||
<div class="form-group">
|
||||
<label class="col-xs-2 control-label" for="youtubeID" id="youtubeurl">{{youtubeurl}}:</label>
|
||||
<div class="col-xs-10">
|
||||
<input class="form-control" id="youtubeID" name="youtubeID" type="text" />
|
||||
<p class="help-block alert alert-info">{{youtubeID}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-10">
|
||||
<div class="form-group">
|
||||
<label class="col-xs-2 control-label" for="youtubeWidth">{{youtubeWidth}}:</label>
|
||||
<div class="col-xs-2">
|
||||
<input class="form-control" id="youtubeWidth" name="youtubeWidth" type="text" value="640" />
|
||||
</div>
|
||||
<label class="col-xs-2 control-label" for="youtubeHeight">{{youtubeHeight}}:</label>
|
||||
<div class="col-xs-2">
|
||||
<input class="form-control" id="youtubeHeight" name="youtubeHeight" type="text" value="385">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="checkbox-inline">
|
||||
<label>
|
||||
<input type="checkbox" id="youtubeAutoplay" name="youtubeAutoplay" value="1">
|
||||
{{youtubeAutoplay}}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox-inline">
|
||||
<label>
|
||||
<input type="checkbox" id="youtubeREL" name="youtubeREL" value="1">
|
||||
{{youtubeREL}}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox-inline">
|
||||
<label>
|
||||
<input type="checkbox" id="youtubeHD" name="youtubeHD" value="1">
|
||||
{{youtubeHD}}
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox-inline">
|
||||
<label>
|
||||
<input type="checkbox" id="video" name="video" value="1">
|
||||
{{HTML5}}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-11">
|
||||
<div class="col-xs-9">
|
||||
<div id="preview" class="thumbnail pull-left"></div>
|
||||
</div>
|
||||
<div class="col-xs-3">
|
||||
<button id="insert-btn" class="btn btn-primary btn-lg btn-block" type="button">{{Insert}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
20
web/tinymce/plugins/youtube/youtube.html
Normal file
@@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
||||
<title>YouTube</title>
|
||||
<link href="./css/styles.css" rel="stylesheet">
|
||||
<!--[if lt IE 9]>
|
||||
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
|
||||
<script>window.jQuery || document.write('<script src="./js/vendor/jquery.js"><\/script>')</script>
|
||||
<script src="./js/main.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="row" id="template-container"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||