embedly.min.js 7.6 KB

1234567
  1. /*!
  2. * froala_editor v2.8.4 (https://www.froala.com/wysiwyg-editor)
  3. * License https://froala.com/wysiwyg-editor/terms/
  4. * Copyright 2014-2018 Froala Labs
  5. */
  6. !function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(b){b.extend(b.FE.POPUP_TEMPLATES,{"embedly.insert":"[_BUTTONS_][_URL_LAYER_]","embedly.edit":"[_BUTTONS_]"}),b.extend(b.FE.DEFAULTS,{embedlyKey:null,embedlyInsertButtons:["embedlyBack","|"],embedlyEditButtons:["embedlyRemove"],embedlyScriptPath:"https://cdn.embedly.com/widgets/platform.js"}),b.FE.PLUGINS.embedly=function(r){function t(){r.events.on("html.processGet",d),r.events.$on(r.$el,"click touchend","div.fr-embedly",o),r.events.on("mousedown window.mousedown",u),r.events.on("window.touchmove",m),r.events.on("mouseup window.mouseup",f),r.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&f()}),r.events.on("blur video.hideResizer commands.undo commands.redo element.dropped",function(){f(!0)}),r.events.on("element.beforeDrop",function(e){if(e.hasClass("fr-embedly"))return e.html(e.attr("data-original-embed")),e}),r.events.on("keydown",function(e){var t=e.which;return!s||t!=b.FE.KEYCODE.BACKSPACE&&t!=b.FE.KEYCODE.DELETE?s&&t==b.FE.KEYCODE.ESC?(f(!0),e.preventDefault(),!1):s&&t!=b.FE.KEYCODE.F10&&!r.keys.isBrowserAction(e)?(e.preventDefault(),!1):void 0:(e.preventDefault(),a(),!1)},!0),r.events.on("toolbar.esc",function(){if(s)return r.events.disableBlur(),r.events.focus(),!1},!0),r.events.on("toolbar.focusEditor",function(){if(s)return!1},!0),r.events.on("snapshot.after",function(e){var t=r.doc.createElement("div");t.innerHTML=e.html,d(t),e.html=t.innerHTML}),r.win.embedly&&r.win.embedly("on","card.resize",function(e){var t=b(e);t.parents(".fr-embedly").attr("contenteditable",!1).attr("draggable",!0).css("height",t.height()).addClass("fr-draggable")}),i(!0)}var s,n;function o(e){s=b(this),function(){n||function(){r.shared.$embedly_resizer?(n=r.shared.$embedly_resizer,r.shared.$embedly_overlay,r.events.on("destroy",function(){n.appendTo(b("body:first"))},!0)):(r.shared.$embedly_resizer=b('<div class="fr-embedly-resizer"></div>'),n=r.shared.$embedly_resizer,r.events.$on(n,"mousedown",function(e){e.stopPropagation()},!0));r.events.on("shared.destroy",function(){n.html("").removeData().remove(),n=null},!0)}();(r.$wp||r.$sc).append(n),n.data("instance",r),n.css("top",(r.opts.iframe?s.offset().top-1+r.$iframe.position().top:s.offset().top-r.$wp.offset().top-1)+r.$wp.scrollTop()).css("left",(r.opts.iframe?s.offset().left-1:s.offset().left-r.$wp.offset().left-1)+r.$wp.scrollLeft()).css("width",s.outerWidth()).css("height",s.height()).addClass("fr-active")}(),function(){var e=r.popups.get("embedly.edit");e||(e=function(){var e="";if(0<r.opts.embedlyEditButtons.length){e+='<div class="fr-buttons">',e+=r.button.buildList(r.opts.embedlyEditButtons);var t={buttons:e+="</div>"},n=r.popups.create("embedly.edit",t);return r.events.$on(r.$wp,"scroll.emebdly-edit",function(){s&&r.popups.isVisible("embedly.edit")&&(r.events.disableBlur(),o.call(s.get(0)))}),n}return!1}());if(e){r.popups.setContainer("embedly.edit",r.$sc),r.popups.refresh("embedly.edit");var t=s.offset().left+s.outerWidth()/2,n=s.offset().top+s.outerHeight();r.popups.show("embedly.edit",t,n,s.outerHeight())}}()}function d(e){if(e&&r.node.hasClass(e,"fr-embedly"))e.innerHTML=e.getAttribute("data-original-embed"),e.removeAttribute("draggable"),e.removeAttribute("contenteditable"),e.setAttribute("class",(e.getAttribute("class")||"").replace("fr-draggable",""));else if(e&&e.nodeType==Node.ELEMENT_NODE)for(var t=e.querySelectorAll(".fr-embedly"),n=0;n<t.length;n++)d(t[n])}function i(e){if(e)return r.popups.onRefresh("embedly.insert",l),!0;var t="";0<r.opts.embedlyInsertButtons.length&&(t+='<div class="fr-buttons">',t+=r.button.buildList(r.opts.embedlyInsertButtons),t+="</div>");var n={buttons:t,url_layer:'<div class="fr-embedly-layer fr-active fr-layer" id="fr-embedly-layer-'+r.id+'"><div class="fr-input-line"><input id="fr-embedly-layer-text-'+r.id+'" type="text" placeholder="'+r.language.translate("Paste in a URL to embed")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="embedlyInsert" tabIndex="2" role="button">'+r.language.translate("Insert")+"</button></div></div>"};return r.popups.create("embedly.insert",n)}function l(){r.popups.get("embedly.insert").find(".fr-embedly-layer input").val("").trigger("change")}function e(e){if(e.length){var t="<a href='"+e+"' data-card-branding='0' class='embedly-card'"+(r.opts.embedlyKey?" data-card-key='"+r.opts.embedlyKey+"'":"")+"></a>";r.html.insert('<div class="fr-embedly fr-draggable" draggable="true" contenteditable="false" data-original-embed="'+t+'">'+t+"</div>"),r.popups.hideAll()}}function a(){if(s&&!1!==r.events.trigger("embedly.beforeRemove",[s])){var e=s;r.popups.hideAll(),f(!0),r.selection.setBefore(e.get(0))||r.selection.setAfter(e.get(0)),e.remove(),r.selection.restore(),r.html.fillEmptyBlocks(),r.undo.saveStep(),r.events.trigger("video.removed",[e])}}function f(e){s&&(r.shared.embedly_exit_flag||!0===e)&&(n.removeClass("fr-active"),r.toolbar.enable(),s.removeClass("fr-active"),s=null,m())}function u(){r.shared.embedly_exit_flag=!0}function m(){r.shared.embedly_exit_flag=!1}return r.shared.embedly_exit_flag=!1,{_init:function(){if(!r.$wp)return!1;if("undefined"!=typeof embedly)t();else if(r.shared.embedlyLoaded||(r.shared.embedlyCallbacks=[]),r.shared.embedlyCallbacks.push(t),!r.shared.embedlyLoaded){r.shared.embedlyLoaded=!0;var e=r.doc.createElement("script");e.type="text/javascript",e.src=r.opts.embedlyScriptPath,e.innerText="",e.onload=function(){for(var e=0;e<r.shared.embedlyCallbacks.length;e++)r.shared.embedlyCallbacks[e]()},r.doc.getElementsByTagName("head")[0].appendChild(e)}},showInsertPopup:function(){var e=r.$tb.find('.fr-command[data-cmd="embedly"]'),t=r.popups.get("embedly.insert");if(t||(t=i()),!t.hasClass("fr-active"))if(r.popups.refresh("embedly.insert"),r.popups.setContainer("embedly.insert",r.$tb),e.is(":visible")){var n=e.offset().left+e.outerWidth()/2,s=e.offset().top+(r.opts.toolbarBottom?10:e.outerHeight()-10);r.popups.show("embedly.insert",n,s,e.outerHeight())}else r.position.forSelection(t),r.popups.show("embedly.insert")},insert:function(){e(r.popups.get("embedly.insert").find(".fr-embedly-layer input").val())},remove:a,get:function(){return s},add:e,back:function(){s?(r.events.disableBlur(),s.trigger("click")):(r.events.disableBlur(),r.selection.restore(),r.events.enableBlur(),r.popups.hide("embedly.insert"),r.toolbar.showInline())}}},b.FE.DefineIcon("embedly",{NAME:"share-alt"}),b.FE.RegisterCommand("embedly",{undo:!0,focus:!0,title:"Embed URL",popup:!0,callback:function(){this.popups.isVisible("embedly.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("embedly.insert")):this.embedly.showInsertPopup()},plugin:"embedly"}),b.FE.RegisterCommand("embedlyInsert",{undo:!0,focus:!0,callback:function(){this.embedly.insert()}}),b.FE.DefineIcon("embedlyRemove",{NAME:"trash"}),b.FE.RegisterCommand("embedlyRemove",{title:"Remove",undo:!1,callback:function(){this.embedly.remove()}}),b.FE.DefineIcon("embedlyBack",{NAME:"arrow-left"}),b.FE.RegisterCommand("embedlyBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.embedly.back()},refresh:function(e){this.embedly.get()||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}})});