agenda-libre-ruby/public/assets/tinymce/plugins/emoticons/plugin-65e5124bc674de91a112561ed0eca19267fa2a6ca50c904dae5481b66b04e5db.js
2019-06-28 23:09:26 +02:00

11 lines
7.9 KiB
JavaScript

/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.0.9 (2019-06-26)
*/
!function(m){"use strict";var n,t,e,r,o,u,i=tinymce.util.Tools.resolve("tinymce.PluginManager"),c=function(){},a=function(n){return function(){return n}},l=function(n){return n},f=a(!1),s=a(!0),d=f,g=s,y=function(){return p},p=(r={fold:function(n,t){return n()},is:d,isSome:d,isNone:g,getOr:e=function(n){return n},getOrThunk:t=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:e,orThunk:t,map:y,ap:y,each:function(){},bind:y,flatten:y,exists:d,forall:g,filter:y,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:a("none()")},Object.freeze&&Object.freeze(r),r),h=function(e){var n=function(){return e},t=function(){return o},r=function(n){return n(e)},o={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:g,isNone:d,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:t,orThunk:t,map:function(n){return h(n(e))},ap:function(n){return n.fold(y,function(n){return h(n(e))})},each:function(n){n(e)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){return n(e)?o:p},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(d,function(n){return t(e,n)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return o},v={some:h,none:y,from:function(n){return null===n||n===undefined?p:h(n)}},O=(o="function",function(n){return function(n){if(null===n)return"null";var t=typeof n;return"object"===t&&Array.prototype.isPrototypeOf(n)?"array":"object"===t&&String.prototype.isPrototypeOf(n)?"string":t}(n)===o}),b=Array.prototype.slice,w=function(n,t){for(var e=0,r=n.length;e<r;e++){if(t(n[e],e,n))return v.some(e)}return v.none()},k=(O(Array.from)&&Array.from,function(n,t){return-1!==n.indexOf(t)}),A=function(n,t){return k(n.title.toLowerCase(),t)||(e=n.keywords,w(e,function(n){return k(n.toLowerCase(),t)}).isSome());var e},T=function(n,t,e){for(var r=[],o=t.toLowerCase(),i=e.fold(function(){return f},function(t){return function(n){return t<=n}}),u=0;u<n.length&&(0!==t.length&&!A(n[u],o)||(r.push({value:n[u]["char"],text:n[u].title,icon:n[u]["char"]}),!i(r.length)));u++);return r},j=function(n){var t=n,e=function(){return t};return{get:e,set:function(n){t=n},clone:function(){return j(e())}}},C="undefined"!=typeof m.window?m.window:Function("return this;")(),S=Object.keys,_=Object.hasOwnProperty,x=function(n,t){for(var e=S(n),r=0,o=e.length;r<o;r++){var i=e[r];t(n[i],i,n)}},D=function(r,o){var i={};return x(r,function(n,t){var e=o(n,t,r);i[e.k]=e.v}),i},L=function(e){return{is:function(n){return e===n},isValue:s,isError:f,getOr:a(e),getOrThunk:a(e),getOrDie:a(e),or:function(n){return L(e)},orThunk:function(n){return L(e)},fold:function(n,t){return t(e)},map:function(n){return L(n(e))},mapError:function(n){return L(e)},each:function(n){n(e)},bind:function(n){return n(e)},exists:function(n){return n(e)},forall:function(n){return n(e)},toOption:function(){return v.some(e)}}},E=function(e){return{is:f,isValue:f,isError:s,getOr:l,getOrThunk:function(n){return n()},getOrDie:function(){return n=String(e),function(){throw new Error(n)}();var n},or:function(n){return n},orThunk:function(n){return n()},fold:function(n,t){return n(e)},map:function(n){return E(e)},mapError:function(n){return E(n(e))},each:c,bind:function(n){return E(e)},exists:f,forall:s,toOption:v.none}},P={value:L,error:E,fromOption:function(n,t){return n.fold(function(){return E(t)},L)}},N=Object.prototype.hasOwnProperty,F=(u=function(n,t){return t},function(){for(var n=new Array(arguments.length),t=0;t<n.length;t++)n[t]=arguments[t];if(0===n.length)throw new Error("Can't merge zero objects");for(var e={},r=0;r<n.length;r++){var o=n[r];for(var i in o)N.call(o,i)&&(e[i]=u(e[i],o[i]))}return e}),q=tinymce.util.Tools.resolve("tinymce.dom.ScriptLoader"),z=tinymce.util.Tools.resolve("tinymce.util.Promise"),I=tinymce.util.Tools.resolve("tinymce.util.Delay"),U=function(n,t){return n.getParam("emoticons_database_url",t+"/js/emojis"+n.suffix+".js")},M=function(n){return n.getParam("emoticons_append",{},"object")},R="All",V={symbols:"Symbols",people:"People",animals_and_nature:"Animals and Nature",food_and_drink:"Food and Drink",activity:"Activity",travel_and_places:"Travel and Places",objects:"Objects",flags:"Flags",user:"User Defined"},B="emoticons_plugin_database",G=function(n,t){return e=n,r=t,_.call(e,r)?n[t]:t;var e,r},H=function(n){var r,t=M(n);return r=function(n){return F({keywords:[],category:"user"},n)},D(t,function(n,t,e){return{k:t,v:r(n,t,e)}})},J=function(r,o){var u=j(v.none()),c=j(v.none());r.on("init",function(){q.ScriptLoader.loadScript(o,function(){(function(n){if(C.tinymce[B]){var t=P.value(C.tinymce[B]);return delete C.tinymce[B],t}return P.error("URL "+n+" did not contain the expected format for emoticons")})(o).fold(function(n){m.console.log(n),u.set(v.some({})),c.set(v.some([]))},function(n){var t,o,i,e=H(r);t=F(n,e),o={},i=[],x(t,function(n,t){var e={title:t,keywords:n.keywords,"char":n["char"],category:G(V,n.category)},r=o[e.category]!==undefined?o[e.category]:[];o[e.category]=r.concat([e]),i.push(e)}),u.set(v.some(o)),c.set(v.some(i))})},function(){})});var n=function(){return c.get().getOr([])},i=function(){return u.get().isSome()&&c.get().isSome()};return{listCategories:function(){return[R].concat(S(u.get().getOr({})))},hasLoaded:i,waitForLoad:function(){return i()?z.resolve(!0):new z(function(n,t){var e=3,r=I.setInterval(function(){i()?(I.clearInterval(r),n(!0)):--e<0&&(m.console.log("Could not load emojis from url: "+o),I.clearInterval(r),t(!1))},500)})},listAll:n,listCategory:function(t){return t===R?n():u.get().bind(function(n){return v.from(n[t])}).getOr([])}}},K="pattern",Q=function(o,u){var e,r,i,n={pattern:"",results:T(u.listAll(),"",v.some(300))},c=j(R),a=(e=function(n){var t,e,r,o,i;e=(t=n).getData(),r=c.get(),o=u.listCategory(r),i=T(o,e[K],r===R?v.some(300):v.none()),t.setData({results:i})},r=200,i=null,{cancel:function(){null!==i&&(m.clearTimeout(i),i=null)},throttle:function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];null!==i&&m.clearTimeout(i),i=m.setTimeout(function(){e.apply(null,n),i=null},r)}}),t={label:"Search",type:"input",name:K},l={type:"collection",name:"results"},f=function(){return{title:"Emoticons",size:"normal",body:{type:"tabpanel",tabs:function(n,t){for(var e=n.length,r=new Array(e),o=0;o<e;o++){var i=n[o];r[o]=t(i,o,n)}return r}(u.listCategories(),function(n){return{title:n,name:n,items:[t,l]}})},initialData:n,onTabChange:function(n,t){c.set(t.newTabName),a.throttle(n)},onChange:a.throttle,onAction:function(n,t){var e,r;"results"===t.name&&(e=o,r=t.value,e.insertContent(r),n.close())},buttons:[{type:"cancel",text:"Close",primary:!0}]}},s=o.windowManager.open(f());s.focus(K),u.hasLoaded()||(s.block("Loading emoticons..."),u.waitForLoad().then(function(){s.redial(f()),a.throttle(s),s.focus(K),s.unblock()})["catch"](function(n){s.redial({title:"Emoticons",body:{type:"panel",items:[{type:"alertbanner",level:"error",icon:"warning",text:"<p>Could not load emoticons</p>"}]},buttons:[{type:"cancel",text:"Close",primary:!0}],initialData:{pattern:"",results:[]}}),s.focus(K),s.unblock()}))},W=function(n,t){var e=function(){return Q(n,t)};n.ui.registry.addButton("emoticons",{tooltip:"Emoticons",icon:"emoji",onAction:e}),n.ui.registry.addMenuItem("emoticons",{text:"Emoticons...",icon:"emoji",onAction:e})};!function X(){i.add("emoticons",function(n,t){var r,o,e=U(n,t),i=J(n,e);W(n,i),o=i,(r=n).ui.registry.addAutocompleter("emoticons",{ch:":",columns:"auto",minChars:2,fetch:function(t,e){return o.waitForLoad().then(function(){var n=o.listAll();return T(n,t,v.some(e))})},onAction:function(n,t,e){r.selection.setRng(t),r.insertContent(e),n.hide()}})})}()}(window);