app/assets/javascripts/plugins/video.min.js in wysiwyg-rails-3.0.0.pre.rc.2 vs app/assets/javascripts/plugins/video.min.js in wysiwyg-rails-3.0.0

- old
+ new

@@ -1,7 +1,7 @@ /*! - * froala_editor v3.0.0-rc.2 (https://www.froala.com/wysiwyg-editor) + * froala_editor v3.0.0 (https://www.froala.com/wysiwyg-editor) * License https://froala.com/wysiwyg-editor/terms/ * Copyright 2014-2019 Froala Labs */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(Q){"use strict";Q=Q&&Q.hasOwnProperty("default")?Q["default"]:Q,Object.assign(Q.POPUP_TEMPLATES,{"video.insert":"[_BUTTONS_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_LAYER_][_PROGRESS_BAR_]","video.edit":"[_BUTTONS_]","video.size":"[_BUTTONS_][_SIZE_LAYER_]"}),Object.assign(Q.DEFAULTS,{videoAllowedTypes:["mp4","webm","ogg"],videoAllowedProviders:[".*"],videoDefaultAlign:"center",videoDefaultDisplay:"block",videoDefaultWidth:600,videoEditButtons:["videoReplace","videoRemove","videoDisplay","videoAlign","videoSize"],videoInsertButtons:["videoBack","|","videoByURL","videoEmbed","videoUpload"],videoMaxSize:52428800,videoMove:!0,videoResize:!0,videoResponsive:!1,videoSizeButtons:["videoBack","|"],videoSplitHTML:!1,videoTextNear:!0,videoUpload:!0,videoUploadMethod:"POST",videoUploadParam:"file",videoUploadParams:{},videoUploadToS3:!1,videoUploadURL:null}),Q.VIDEO_PROVIDERS=[{test_regex:/^.*((youtu.be)|(youtube.com))\/((v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))?\??v?=?([^#\&\?]*).*/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=|embed\/)?([0-9a-zA-Z_\-]+)(.+)?/g,url_text:"https://www.youtube.com/embed/$1?$2",html:'<iframe width="640" height="360" src="{url}&wmode=opaque" frameborder="0" allowfullscreen></iframe>',provider:"youtube"},{test_regex:/^.*(?:vimeo.com)\/(?:channels(\/\w+\/)?|groups\/*\/videos\/\u200b\d+\/|video\/|)(\d+)(?:$|\/|\?)/,url_regex:/(?:https?:\/\/)?(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|video\/|)(\d+)(?:[a-zA-Z0-9_\-]+)?(\/[a-zA-Z0-9_\-]+)?/i,url_text:"https://player.vimeo.com/video/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"vimeo"},{test_regex:/^.+(dailymotion.com|dai.ly)\/(video|hub)?\/?([^_]+)[^#]*(#video=([^_&]+))?/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:dailymotion\.com|dai\.ly)\/(?:video|hub)?\/?(.+)/g,url_text:"https://www.dailymotion.com/embed/video/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"dailymotion"},{test_regex:/^.+(screen.yahoo.com)\/[^_&]+/,url_regex:"",url_text:"",html:'<iframe width="640" height="360" src="{url}?format=embed" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>',provider:"yahoo"},{test_regex:/^.+(rutube.ru)\/[^_&]+/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:rutube\.ru)\/(?:video)?\/?(.+)/g,url_text:"https://rutube.ru/play/embed/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>',provider:"rutube"},{test_regex:/^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/,url_regex:/^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/g,url_text:"https://play.vidyard.com/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"vidyard"}],Q.VIDEO_EMBED_REGEX=/^\W*((<iframe(.|\n)*>(\s|\n)*<\/iframe>)|(<embed(.|\n)*>))\W*$/i,Q.PLUGINS.video=function(p){var a,f,v,u,o,i,c=p.$,d="https://i.froala.com/upload",l=2,h=3,g=4,m=5,b=6,r={};function y(){var e=p.popups.get("video.insert");e.find(".fr-video-by-url-layer input").val("").trigger("change");var t=e.find(".fr-video-embed-layer textarea");t.val("").trigger("change"),(t=e.find(".fr-video-upload-layer input")).val("").trigger("change")}function s(){var e=p.popups.get("video.edit");if(e||(e=function(){var e="";if(0<p.opts.videoEditButtons.length){p.opts.videoResponsive&&(-1<p.opts.videoEditButtons.indexOf("videoSize")&&p.opts.videoEditButtons.splice(p.opts.videoEditButtons.indexOf("videoSize"),1),-1<p.opts.videoEditButtons.indexOf("videoDisplay")&&p.opts.videoEditButtons.splice(p.opts.videoEditButtons.indexOf("videoDisplay"),1),-1<p.opts.videoEditButtons.indexOf("videoAlign")&&p.opts.videoEditButtons.splice(p.opts.videoEditButtons.indexOf("videoAlign"),1));var t={buttons:e+='<div class="fr-buttons"> \n '.concat(p.button.buildList(p.opts.videoEditButtons)," \n </div>")},i=p.popups.create("video.edit",t);return p.events.$on(p.$wp,"scroll.video-edit",function(){u&&p.popups.isVisible("video.edit")&&(p.events.disableBlur(),R(u))}),i}return!1}()),e){p.popups.setContainer("video.edit",p.$sc),p.popups.refresh("video.edit");var t=u.find("iframe, embed, video"),i=t.offset().left+t.outerWidth()/2,o=t.offset().top+t.outerHeight();p.popups.show("video.edit",i,o,t.outerHeight(),!0)}}function n(e){if(e)return p.popups.onRefresh("video.insert",y),p.popups.onHide("video.insert",j),!0;var t="";p.opts.videoUpload||-1===p.opts.videoInsertButtons.indexOf("videoUpload")||p.opts.videoInsertButtons.splice(p.opts.videoInsertButtons.indexOf("videoUpload"),1);var i=p.button.buildList(p.opts.videoInsertButtons);""!==i&&(t='<div class="fr-buttons">'+i+"</div>");var o,r="",s=p.opts.videoInsertButtons.indexOf("videoUpload"),n=p.opts.videoInsertButtons.indexOf("videoByURL"),a=p.opts.videoInsertButtons.indexOf("videoEmbed");0<=n&&(o=" fr-active",(s<n&&0<=s||a<n&&0<=a)&&(o=""),r='<div class="fr-video-by-url-layer fr-layer'+o+'" id="fr-video-by-url-layer-'+p.id+'"><div class="fr-input-line"><input id="fr-video-by-url-layer-text-'+p.id+'" type="text" placeholder="'+p.language.translate("Paste in a video URL")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoInsertByURL" tabIndex="2" role="button">'+p.language.translate("Insert")+"</button></div></div>");var d="";0<=a&&(o=" fr-active",(s<a&&0<=s||n<a&&0<=n)&&(o=""),d='<div class="fr-video-embed-layer fr-layer'+o+'" id="fr-video-embed-layer-'+p.id+'"><div class="fr-input-line"><textarea id="fr-video-embed-layer-text'+p.id+'" type="text" placeholder="'+p.language.translate("Embedded Code")+'" tabIndex="1" aria-required="true" rows="5"></textarea></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoInsertEmbed" tabIndex="2" role="button">'+p.language.translate("Insert")+"</button></div></div>");var l="";0<=s&&(o=" fr-active",(a<s&&0<=a||n<s&&0<=n)&&(o=""),l='<div class="fr-video-upload-layer fr-layer'+o+'" id="fr-video-upload-layer-'+p.id+'"><strong>'+p.language.translate("Drop video")+"</strong><br>("+p.language.translate("or click")+')<div class="fr-form"><input type="file" accept="video/'+p.opts.videoAllowedTypes.join(", video/").toLowerCase()+'" tabIndex="-1" aria-labelledby="fr-video-upload-layer-'+p.id+'" role="button"></div></div>');var f={buttons:t,by_url_layer:r,embed_layer:d,upload_layer:l,progress_bar:'<div class="fr-video-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="videoDismissError" tabIndex="2" role="button">OK</button></div></div>'},v=p.popups.create("video.insert",f);return function(o){p.events.$on(o,"dragover dragenter",".fr-video-upload-layer",function(){return c(this).addClass("fr-drop"),!1},!0),p.events.$on(o,"dragleave dragend",".fr-video-upload-layer",function(){return c(this).removeClass("fr-drop"),!1},!0),p.events.$on(o,"drop",".fr-video-upload-layer",function(e){e.preventDefault(),e.stopPropagation(),c(this).removeClass("fr-drop");var t=e.originalEvent.dataTransfer;if(t&&t.files){var i=o.data("instance")||p;i.events.disableBlur(),i.video.upload(t.files),i.events.enableBlur()}},!0),p.helpers.isIOS()&&p.events.$on(o,"touchstart",'.fr-video-upload-layer input[type="file"]',function(){c(this).trigger("click")},!0);p.events.$on(o,"change",'.fr-video-upload-layer input[type="file"]',function(){if(this.files){var e=o.data("instance")||p;e.events.disableBlur(),o.find("input:focus").blur(),e.events.enableBlur(),e.video.upload(this.files)}c(this).val("")},!0)}(v),v}function w(e){p.events.focus(!0),p.selection.restore();var t=!1;u&&(W(),t=!0),p.html.insert('<span contenteditable="false" draggable="true" class="fr-jiv fr-video">'+e+"</span>",!1,p.opts.videoSplitHTML),p.popups.hide("video.insert");var i=p.$el.find(".fr-jiv");i.removeClass("fr-jiv"),i.toggleClass("fr-rv",p.opts.videoResponsive),q(i,p.opts.videoDefaultDisplay,p.opts.videoDefaultAlign),i.toggleClass("fr-draggable",p.opts.videoMove),p.events.trigger(t?"video.replaced":"video.inserted",[i])}function E(){var e=c(this);p.popups.hide("video.insert"),e.removeClass("fr-uploading"),e.parent().next().is("br")&&e.parent().next().remove(),R(e.parent()),p.events.trigger("video.loaded",[e.parent()])}function C(a,e,d,l,f){p.edit.off(),A("Loading video"),e&&(a=p.helpers.sanitizeURL(a));_("Loading video"),function(){var e,t;if(l){p.undo.canDo()||l.find("video").hasClass("fr-uploading")||p.undo.saveStep();var i=l.find("video").data("fr-old-src"),o=l.data("fr-replaced");l.data("fr-replaced",!1),p.$wp?((e=l.clone(!0)).find("video").removeData("fr-old-src").removeClass("fr-uploading"),e.find("video").off("canplay"),i&&l.find("video").attr("src",i),l.replaceWith(e)):e=l;for(var r=e.find("video").get(0).attributes,s=0;s<r.length;s++){var n=r[s];0===n.nodeName.indexOf("data-")&&e.find("video").removeAttr(n.nodeName)}if(void 0!==d)for(t in d)d.hasOwnProperty(t)&&"link"!=t&&e.find("video").attr("data-"+t,d[t]);e.find("video").on("canplay",E),e.find("video").attr("src",a),p.edit.on(),z(),p.undo.saveStep(),p.$el.blur(),p.events.trigger(o?"video.replaced":"video.inserted",[e,f])}else e=function(e,t,i){var o,r="";if(t&&void 0!==t)for(o in t)t.hasOwnProperty(o)&&"link"!=o&&(r+=" data-"+o+'="'+t[o]+'"');var s=p.opts.videoDefaultWidth;s&&"auto"!=s&&(s+="px");var n=c(document.createElement("span")).attr("contenteditable","false").attr("draggable","true").attr("class","fr-video fr-dv"+p.opts.videoDefaultDisplay[0]+("center"!=p.opts.videoDefaultAlign?" fr-fv"+p.opts.videoDefaultAlign[0]:"")).html('<video src="'+e+'" '+r+(s?' style="width: '+s+';" ':"")+" controls>"+p.language.translate("Your browser does not support HTML5 video.")+"</video>");n.toggleClass("fr-draggable",p.opts.videoMove),p.edit.on(),p.events.focus(!0),p.selection.restore(),p.undo.saveStep(),p.opts.videoSplitHTML?p.markers.split():p.markers.insert(),p.html.wrap();var a=p.$el.find(".fr-marker");return p.node.isLastSibling(a)&&a.parent().hasClass("fr-deletable")&&a.insertAfter(a.parent()),a.replaceWith(n),p.selection.clear(),n.find("video").get(0).readyState>n.find("video").get(0).HAVE_FUTURE_DATA||p.helpers.isIOS()?i.call(n.find("video").get(0)):n.find("video").on("canplaythrough load",i),n}(a,d,E),z(),p.undo.saveStep(),p.events.trigger("video.inserted",[e,f])}()}function _(e){var t=p.popups.get("video.insert");if(t||(t=n()),t.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"),t.find(".fr-video-progress-bar-layer").addClass("fr-active"),t.find(".fr-buttons").hide(),u){var i=u.find("video");p.popups.setContainer("video.insert",p.$sc);var o=i.offset().left,r=i.offset().top+i.height();p.popups.show("video.insert",o,r,i.outerHeight())}void 0===e&&A(p.language.translate("Uploading"),0)}function S(e){var t=p.popups.get("video.insert");if(t&&(t.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"),t.find(".fr-video-progress-bar-layer").removeClass("fr-active"),t.find(".fr-buttons").show(),e||p.$el.find("video.fr-error").length)){if(p.events.focus(),p.$el.find("video.fr-error").length&&(p.$el.find("video.fr-error").parent().remove(),p.undo.saveStep(),p.undo.run(),p.undo.dropRedo()),!p.$wp&&u){var i=u;M(!0),p.selection.setAfter(i.find("video").get(0)),p.selection.restore()}p.popups.hide("video.insert")}}function A(e,t){var i=p.popups.get("video.insert");if(i){var o=i.find(".fr-video-progress-bar-layer");o.find("h3").text(e+(t?" "+t+"%":"")),o.removeClass("fr-error"),t?(o.find("div").removeClass("fr-indeterminate"),o.find("div > span").css("width",t+"%")):o.find("div").addClass("fr-indeterminate")}}function x(e){_();var t=p.popups.get("video.insert").find(".fr-video-progress-bar-layer");t.addClass("fr-error");var i=t.find("h3");i.text(e),p.events.disableBlur(),i.focus()}function R(e){t.call(e.get(0))}function D(e){A("Loading video");var t=this.status,i=this.response,o=this.responseXML,r=this.responseText;try{if(p.opts.videoUploadToS3)if(201==t){var s=function(e){try{var t=c(e).find("Location").text(),i=c(e).find("Key").text();return!1===p.events.trigger("video.uploadedToS3",[t,i,e],!0)?(p.edit.on(),!1):t}catch(o){return K(g,e),!1}}(o);s&&C(s,!1,[],e,i||o)}else K(g,i||o);else if(200<=t&&t<300){var n=function(e){try{if(!1===p.events.trigger("video.uploaded",[e],!0))return p.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(K(l,e),!1)}catch(i){return K(g,e),!1}}(r);n&&C(n.link,!1,n,e,i||r)}else K(h,i||r)}catch(a){K(g,i||r)}}function U(){K(g,this.response||this.responseText||this.responseXML)}function B(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;A(p.language.translate("Uploading"),t)}}function $(){p.edit.on(),S(!0)}function I(e){if(!p.core.sameInstance(v))return!0;e.preventDefault(),e.stopPropagation();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),i=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!i)return!1;if("mousedown"==e.type){var o=p.$oel.get(0).ownerDocument,r=o.defaultView||o.parentWindow,s=!1;try{s=r.location!=r.parent.location&&!(r.$&&r.$.FE)}catch(n){}s&&r.frameElement&&(t+=p.helpers.getPX(c(r.frameElement).offset().left)+r.frameElement.clientLeft,i=e.clientY+p.helpers.getPX(c(r.frameElement).offset().top)+r.frameElement.clientTop)}p.undo.canDo()||p.undo.saveStep(),(f=c(this)).data("start-x",t),f.data("start-y",i),a.show(),p.popups.hideAll(),V()}function k(e){if(!p.core.sameInstance(v))return!0;if(f){e.preventDefault();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),i=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!i)return!1;var o=f.data("start-x"),r=f.data("start-y");f.data("start-x",t),f.data("start-y",i);var s=t-o,n=i-r,a=u.find("iframe, embed, video"),d=a.width(),l=a.height();(f.hasClass("fr-hnw")||f.hasClass("fr-hsw"))&&(s=0-s),(f.hasClass("fr-hnw")||f.hasClass("fr-hne"))&&(n=0-n),a.css("width",d+s),a.css("height",l+n),a.removeAttr("width"),a.removeAttr("height"),T()}}function O(e){if(!p.core.sameInstance(v))return!0;f&&u&&(e&&e.stopPropagation(),f=null,a.hide(),T(),s(),p.undo.saveStep())}function L(e){return'<div class="fr-handler fr-h'+e+'"></div>'}function P(e,t,i,o){return e.pageX=t,e.pageY=t,I.call(this,e),e.pageX=e.pageX+i*Math.floor(Math.pow(1.1,o)),e.pageY=e.pageY+i*Math.floor(Math.pow(1.1,o)),k.call(this,e),O.call(this,e),++o}function z(){var e,t=Array.prototype.slice.call(p.el.querySelectorAll("video, .fr-video > *")),i=[];for(e=0;e<t.length;e++)i.push(t[e].getAttribute("src")),c(t[e]).toggleClass("fr-draggable",p.opts.videoMove),""===t[e].getAttribute("class")&&t[e].removeAttribute("class"),""===t[e].getAttribute("style")&&t[e].removeAttribute("style");if(o)for(e=0;e<o.length;e++)i.indexOf(o[e].getAttribute("src"))<0&&p.events.trigger("video.removed",[c(o[e])]);o=t}function T(){v||function(){var e;if(p.shared.$video_resizer?(v=p.shared.$video_resizer,a=p.shared.$vid_overlay,p.events.on("destroy",function(){c("body").first().append(v.removeClass("fr-active"))},!0)):(p.shared.$video_resizer=c(document.createElement("div")).attr("class","fr-video-resizer"),v=p.shared.$video_resizer,p.events.$on(v,"mousedown",function(e){e.stopPropagation()},!0),p.opts.videoResize&&(v.append(L("nw")+L("ne")+L("sw")+L("se")),p.shared.$vid_overlay=c(document.createElement("div")).attr("class","fr-video-overlay"),a=p.shared.$vid_overlay,e=v.get(0).ownerDocument,c(e).find("body").first().append(a))),p.events.on("shared.destroy",function(){v.html("").removeData().remove(),v=null,p.opts.videoResize&&(a.remove(),a=null)},!0),p.helpers.isMobile()||p.events.$on(c(p.o_win),"resize.video",function(){M(!0)}),p.opts.videoResize){e=v.get(0).ownerDocument,p.events.$on(v,p._mousedown,".fr-handler",I),p.events.$on(c(e),p._mousemove,k),p.events.$on(c(e.defaultView||e.parentWindow),p._mouseup,O),p.events.$on(a,"mouseleave",O);var o=1,r=null,s=0;p.events.on("keydown",function(e){if(u){var t=-1!=navigator.userAgent.indexOf("Mac OS X")?e.metaKey:e.ctrlKey,i=e.which;(i!==r||200<e.timeStamp-s)&&(o=1),(i==Q.KEYCODE.EQUALS||p.browser.mozilla&&i==Q.KEYCODE.FF_EQUALS)&&t&&!e.altKey?o=P.call(this,e,1,1,o):(i==Q.KEYCODE.HYPHEN||p.browser.mozilla&&i==Q.KEYCODE.FF_HYPHEN)&&t&&!e.altKey&&(o=P.call(this,e,2,-1,o)),r=i,s=e.timeStamp}}),p.events.on("keyup",function(){o=1})}}(),(p.$wp||p.$sc).append(v),v.data("instance",p);var e=u.find("iframe, embed, video"),t=0,i=0;p.opts.iframe&&(i=p.helpers.getPX(p.$wp.find(".fr-iframe").css("padding-top")),t=p.helpers.getPX(p.$wp.find(".fr-iframe").css("padding-left"))),v.css("top",(p.opts.iframe?e.offset().top+i-1:e.offset().top-p.$wp.offset().top-1)+p.$wp.scrollTop()).css("left",(p.opts.iframe?e.offset().left+t-1:e.offset().left-p.$wp.offset().left-1)+p.$wp.scrollLeft()).css("width",e.get(0).getBoundingClientRect().width).css("height",e.get(0).getBoundingClientRect().height).addClass("fr-active")}function t(e){if(e&&"touchend"==e.type&&i)return!0;if(e&&p.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;if(p.edit.isDisabled())return!1;for(var t=0;t<Q.INSTANCES.length;t++)Q.INSTANCES[t]!=p&&Q.INSTANCES[t].events.trigger("video.hideResizer");p.toolbar.disable(),p.helpers.isMobile()&&(p.events.disableBlur(),p.$el.blur(),p.events.enableBlur()),p.$el.find(".fr-video.fr-active").removeClass("fr-active"),(u=c(this)).addClass("fr-active"),p.opts.iframe&&p.size.syncIframe(),J(),T(),s(),p.selection.clear(),p.button.bulkRefresh(),p.events.trigger("image.hideResizer")}function M(e){u&&(p.shared.vid_exit_flag||!0===e)&&(v.removeClass("fr-active"),p.toolbar.enable(),u.removeClass("fr-active"),u=null,V())}function e(){p.shared.vid_exit_flag=!0}function V(){p.shared.vid_exit_flag=!1}function Y(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var i=t.files[0];if(i&&i.type&&-1!==i.type.indexOf("video")){if(!p.opts.videoUpload)return e.preventDefault(),e.stopPropagation(),!1;p.markers.remove(),p.markers.insertAtPoint(e.originalEvent),p.$el.find(".fr-marker").replaceWith(Q.MARKERS),p.popups.hideAll();var o=p.popups.get("video.insert");return o||(o=n()),p.popups.setContainer("video.insert",p.$sc),p.popups.show("video.insert",e.originalEvent.pageX,e.originalEvent.pageY),_(),0<=p.opts.videoAllowedTypes.indexOf(i.type.replace(/video\//g,""))?N(t.files):K(b),e.preventDefault(),e.stopPropagation(),!1}}}function N(e){if(void 0!==e&&0<e.length){if(!1===p.events.trigger("video.beforeUpload",[e]))return!1;var t,i=e[0];if((null===p.opts.videoUploadURL||p.opts.videoUploadURL==d)&&!p.opts.videoUploadToS3)return function(o){u&&u.find("iframe")&&u.find("iframe").length&&W();var r=new FileReader;r.onload=function(){r.result;for(var e=atob(r.result.split(",")[1]),t=[],i=0;i<e.length;i++)t.push(e.charCodeAt(i));C(window.URL.createObjectURL(new Blob([new Uint8Array(t)],{type:o.type})),!1,null,u)},_(),r.readAsDataURL(o)}(i),!1;if(i.size>p.opts.videoMaxSize)return K(m),!1;if(p.opts.videoAllowedTypes.indexOf(i.type.replace(/video\//g,""))<0)return K(b),!1;if(p.drag_support.formdata&&(t=p.drag_support.formdata?new FormData:null),t){var o;if(!1!==p.opts.videoUploadToS3)for(o in t.append("key",p.opts.videoUploadToS3.keyStart+(new Date).getTime()+"-"+(i.name||"untitled")),t.append("success_action_status","201"),t.append("X-Requested-With","xhr"),t.append("Content-Type",i.type),p.opts.videoUploadToS3.params)p.opts.videoUploadToS3.params.hasOwnProperty(o)&&t.append(o,p.opts.videoUploadToS3.params[o]);for(o in p.opts.videoUploadParams)p.opts.videoUploadParams.hasOwnProperty(o)&&t.append(o,p.opts.videoUploadParams[o]);t.append(p.opts.videoUploadParam,i);var r=p.opts.videoUploadURL;p.opts.videoUploadToS3&&(r=p.opts.videoUploadToS3.uploadURL?p.opts.videoUploadToS3.uploadURL:"https://"+p.opts.videoUploadToS3.region+".amazonaws.com/"+p.opts.videoUploadToS3.bucket);var s=p.core.getXHR(r,p.opts.videoUploadMethod);s.onload=function(){D.call(s,u)},s.onerror=U,s.upload.onprogress=B,s.onabort=$,_(),p.events.disableBlur(),p.edit.off(),p.events.enableBlur();var n=p.popups.get("video.insert");n&&c(n.off("abortUpload")).on("abortUpload",function(){4!=s.readyState&&s.abort()}),s.send(t)}}}function K(e,t){p.edit.on(),u&&u.find("video").addClass("fr-error"),x(p.language.translate("Something went wrong. Please try again.")),p.events.trigger("video.error",[{code:e,message:r[e]},t])}function X(){if(u){var e=p.popups.get("video.size"),t=u.find("iframe, embed, video");e.find('input[name="width"]').val(t.get(0).style.width||t.attr("width")).trigger("change"),e.find('input[name="height"]').val(t.get(0).style.height||t.attr("height")).trigger("change")}}function H(e){if(e)return p.popups.onRefresh("video.size",X),!0;var t={buttons:'<div class="fr-buttons fr-tabs">'+p.button.buildList(p.opts.videoSizeButtons)+"</div>",size_layer:'<div class="fr-video-size-layer fr-layer fr-active" id="fr-video-size-layer-'+p.id+'"><div class="fr-video-group"><div class="fr-input-line"><input id="fr-video-size-layer-width-'+p.id+'" type="text" name="width" placeholder="'+p.language.translate("Width")+'" tabIndex="1"></div><div class="fr-input-line"><input id="fr-video-size-layer-height-'+p.id+'" type="text" name="height" placeholder="'+p.language.translate("Height")+'" tabIndex="1"></div></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoSetSize" tabIndex="2" role="button">'+p.language.translate("Update")+"</button></div></div>"},i=p.popups.create("video.size",t);return p.events.$on(p.$wp,"scroll",function(){u&&p.popups.isVisible("video.size")&&(p.events.disableBlur(),R(u))}),i}function G(e){if(void 0===e&&(e=u),e){if(e.hasClass("fr-fvl"))return"left";if(e.hasClass("fr-fvr"))return"right";if(e.hasClass("fr-dvb")||e.hasClass("fr-dvi"))return"center";if("block"==e.css("display")){if("left"==e.css("text-algin"))return"left";if("right"==e.css("text-align"))return"right"}else{if("left"==e.css("float"))return"left";if("right"==e.css("float"))return"right"}}return"center"}function F(e){void 0===e&&(e=u);var t=e.css("float");return e.css("float","none"),"block"==e.css("display")?(e.css("float",""),e.css("float")!=t&&e.css("float",t),"block"):(e.css("float",""),e.css("float")!=t&&e.css("float",t),"inline")}function W(){if(u&&!1!==p.events.trigger("video.beforeRemove",[u])){var e=u;p.popups.hideAll(),M(!0),p.selection.setBefore(e.get(0))||p.selection.setAfter(e.get(0)),e.remove(),p.selection.restore(),p.html.fillEmptyBlocks()}}function j(){S()}function q(e,t,i){!p.opts.htmlUntouched&&p.opts.useClasses?(e.removeClass("fr-fvl fr-fvr fr-dvb fr-dvi"),e.addClass("fr-fv"+i[0]+" fr-dv"+t[0])):"inline"==t?(e.css({display:"inline-block"}),"center"==i?e.css({"float":"none"}):"left"==i?e.css({"float":"left"}):e.css({"float":"right"})):(e.css({display:"block",clear:"both"}),"left"==i?e.css({textAlign:"left"}):"right"==i?e.css({textAlign:"right"}):e.css({textAlign:"center"}))}function Z(){var e=p.$el.find("video").filter(function(){return 0===c(this).parents("span.fr-video").length});if(0!=e.length){e.wrap(c(document.createElement("span")).attr("class","fr-video").attr("contenteditable","false")),p.$el.find("embed, iframe").filter(function(){if(p.browser.safari&&this.getAttribute("src")&&this.setAttribute("src",this.src),0<c(this).parents("span.fr-video").length)return!1;for(var e=c(this).attr("src"),t=0;t<Q.VIDEO_PROVIDERS.length;t++){var i=Q.VIDEO_PROVIDERS[t];if(i.test_regex.test(e)&&new RegExp(p.opts.videoAllowedProviders.join("|")).test(i.provider))return!0}return!1}).map(function(){return 0===c(this).parents("object").length?this:c(this).parents("object").get(0)}).wrap(c(document.createElement("span")).attr("class","fr-video").attr("contenteditable","false"));for(var t,i,o=p.$el.find("span.fr-video, video"),r=0;r<o.length;r++){var s=c(o[r]);!p.opts.htmlUntouched&&p.opts.useClasses?((i=s).hasClass("fr-dvi")||i.hasClass("fr-dvb")||(i.addClass("fr-fv"+G(i)[0]),i.addClass("fr-dv"+F(i)[0])),p.opts.videoTextNear||s.removeClass("fr-dvi").addClass("fr-dvb")):p.opts.htmlUntouched||p.opts.useClasses||(q(t=s,t.hasClass("fr-dvb")?"block":t.hasClass("fr-dvi")?"inline":null,t.hasClass("fr-fvl")?"left":t.hasClass("fr-fvr")?"right":G(t)),t.removeClass("fr-dvb fr-dvi fr-fvr fr-fvl"))}o.toggleClass("fr-draggable",p.opts.videoMove)}}function J(){if(u){p.selection.clear();var e=p.doc.createRange();e.selectNode(u.get(0)),p.selection.get().addRange(e)}}return r[1]="Video cannot be loaded from the passed link.",r[l]="No link in upload response.",r[h]="Error during file upload.",r[g]="Parsing response failed.",r[m]="File is too large.",r[b]="Video file type is invalid.",r[7]="Files can be uploaded only to same domain in IE 8 and IE 9.",p.shared.vid_exit_flag=!1,{_init:function(){p.opts.videoResponsive&&(p.opts.videoResize=!1),p.events.on("drop",Y,!0),p.events.on("mousedown window.mousedown",e),p.events.on("window.touchmove",V),p.events.on("mouseup window.mouseup",M),p.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&M()}),p.events.on("video.hideResizer commands.undo commands.redo element.dropped",function(){M(!0)}),p.helpers.isMobile()&&(p.events.$on(p.$el,"touchstart","span.fr-video",function(){i=!1}),p.events.$on(p.$el,"touchmove",function(){i=!0})),p.events.on("html.set",Z),Z(),p.events.$on(p.$el,"mousedown","span.fr-video",function(e){e.stopPropagation(),(p.browser.msie||p.browser.edge)&&(e.target.dragDrop(),t.call(this,e))}),p.events.$on(p.$el,"click touchend","span.fr-video",function(e){if("false"==c(this).parents("[contenteditable]").not(".fr-element").not(".fr-img-caption").not("body").first().attr("contenteditable"))return!0;t.call(this,e)}),p.events.on("keydown",function(e){var t=e.which;return!u||t!=Q.KEYCODE.BACKSPACE&&t!=Q.KEYCODE.DELETE?u&&t==Q.KEYCODE.ESC?(M(!0),e.preventDefault(),!1):u&&t!=Q.KEYCODE.F10&&!p.keys.isBrowserAction(e)?(e.preventDefault(),!1):void 0:(e.preventDefault(),W(),p.undo.saveStep(),!1)},!0),p.events.on("toolbar.esc",function(){if(u)return p.events.disableBlur(),p.events.focus(),!1},!0),p.events.on("toolbar.focusEditor",function(){if(u)return!1},!0),p.events.on("keydown",function(){p.$el.find("span.fr-video:empty").remove()}),p.$wp&&(z(),p.events.on("contentChanged",z)),n(!0),H(!0)},showInsertPopup:function(){var e=p.$tb.find('.fr-command[data-cmd="insertVideo"]'),t=p.popups.get("video.insert");if(t||(t=n()),S(),!t.hasClass("fr-active"))if(p.popups.refresh("video.insert"),p.popups.setContainer("video.insert",p.$tb),e.isVisible()){var i=p.button.getPosition(e),o=i.left,r=i.top;p.popups.show("video.insert",o,r,e.outerHeight())}else p.position.forSelection(t),p.popups.show("video.insert")},showLayer:function(e){var t,i,o=p.popups.get("video.insert");if(!u&&!p.opts.toolbarInline){var r=p.$tb.find('.fr-command[data-cmd="insertVideo"]');t=r.offset().left,i=r.offset().top+(p.opts.toolbarBottom?10:r.outerHeight()-10)}p.opts.toolbarInline&&(i=o.offset().top-p.helpers.getPX(o.css("margin-top")),o.hasClass("fr-above")&&(i+=o.outerHeight())),o.find(".fr-layer").removeClass("fr-active"),o.find(".fr-"+e+"-layer").addClass("fr-active"),p.popups.show("video.insert",t,i,0),p.accessibility.focusPopup(o)},refreshByURLButton:function(e){var t=p.popups.get("video.insert");t&&t.find(".fr-video-by-url-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},refreshEmbedButton:function(e){var t=p.popups.get("video.insert");t&&t.find(".fr-video-embed-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},refreshUploadButton:function(e){var t=p.popups.get("video.insert");t&&t.find(".fr-video-upload-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},upload:N,insertByURL:function(e){void 0===e&&(e=(p.popups.get("video.insert").find('.fr-video-by-url-layer input[type="text"]').val()||"").trim());var t=null;if(/^http/.test(e)||(e="https://"+e),p.helpers.isURL(e))for(var i=0;i<Q.VIDEO_PROVIDERS.length;i++){var o=Q.VIDEO_PROVIDERS[i];if(o.test_regex.test(e)&&new RegExp(p.opts.videoAllowedProviders.join("|")).test(o.provider)){t=e.replace(o.url_regex,o.url_text),t=o.html.replace(/\{url\}/,t);break}}t?w(t):(x(p.language.translate("Something went wrong. Please try again.")),p.events.trigger("video.linkError",[e]))},insertEmbed:function(e){void 0===e&&(e=p.popups.get("video.insert").find(".fr-video-embed-layer textarea").val()||""),0!==e.length&&Q.VIDEO_EMBED_REGEX.test(e)?w(e):(x(p.language.translate("Something went wrong. Please try again.")),p.events.trigger("video.codeError",[e]))},insert:w,align:function(e){u.removeClass("fr-fvr fr-fvl"),!p.opts.htmlUntouched&&p.opts.useClasses?"left"==e?u.addClass("fr-fvl"):"right"==e&&u.addClass("fr-fvr"):q(u,F(),e),J(),T(),s(),p.selection.clear()},refreshAlign:function(e){if(!u)return!1;e.find(">*").first().replaceWith(p.icon.create("video-align-"+G()))},refreshAlignOnShow:function(e,t){u&&t.find('.fr-command[data-param1="'+G()+'"]').addClass("fr-active").attr("aria-selected",!0)},display:function(e){u.removeClass("fr-dvi fr-dvb"),!p.opts.htmlUntouched&&p.opts.useClasses?"inline"==e?u.addClass("fr-dvi"):"block"==e&&u.addClass("fr-dvb"):q(u,e,G()),J(),T(),s(),p.selection.clear()},refreshDisplayOnShow:function(e,t){u&&t.find('.fr-command[data-param1="'+F()+'"]').addClass("fr-active").attr("aria-selected",!0)},remove:W,hideProgressBar:S,showSizePopup:function(){var e=p.popups.get("video.size");e||(e=H()),S(),p.popups.refresh("video.size"),p.popups.setContainer("video.size",p.$sc);var t=u.find("iframe, embed, video"),i=t.offset().left+t.outerWidth()/2,o=t.offset().top+t.height();p.popups.show("video.size",i,o,t.height(),!0)},replace:function(){var e=p.popups.get("video.insert");e||(e=n()),p.popups.isVisible("video.insert")||(S(),p.popups.refresh("video.insert"),p.popups.setContainer("video.insert",p.$sc));var t=u.offset().left+u.outerWidth()/2,i=u.offset().top+u.height();p.popups.show("video.insert",t,i,u.outerHeight(),!0)},back:function(){u?(p.events.disableBlur(),u[0].click()):(p.events.disableBlur(),p.selection.restore(),p.events.enableBlur(),p.popups.hide("video.insert"),p.toolbar.showInline())},setSize:function(e,t){if(u){var i=p.popups.get("video.size"),o=u.find("iframe, embed, video");o.css("width",e||i.find('input[name="width"]').val()),o.css("height",t||i.find('input[name="height"]').val()),o.get(0).style.width&&o.removeAttr("width"),o.get(0).style.height&&o.removeAttr("height"),i.find("input:focus").blur(),setTimeout(function(){u.trigger("click")},p.helpers.isAndroid()?50:0)}},get:function(){return u},showProgressBar:_}},Q.RegisterCommand("insertVideo",{title:"Insert Video",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible("video.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("video.insert")):this.video.showInsertPopup()},plugin:"video"}),Q.DefineIcon("insertVideo",{NAME:"video-camera",FA5NAME:"camera",SVG_KEY:"insertVideo"}),Q.DefineIcon("videoByURL",{NAME:"link",SVG_KEY:"insertLink"}),Q.RegisterCommand("videoByURL",{title:"By URL",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-by-url")},refresh:function(e){this.video.refreshByURLButton(e)}}),Q.DefineIcon("videoEmbed",{NAME:"code",SVG_KEY:"codeView"}),Q.RegisterCommand("videoEmbed",{title:"Embedded Code",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-embed")},refresh:function(e){this.video.refreshEmbedButton(e)}}),Q.DefineIcon("videoUpload",{NAME:"upload",SVG_KEY:"upload"}),Q.RegisterCommand("videoUpload",{title:"Upload Video",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-upload")},refresh:function(e){this.video.refreshUploadButton(e)}}),Q.RegisterCommand("videoInsertByURL",{undo:!0,focus:!0,callback:function(){this.video.insertByURL()}}),Q.RegisterCommand("videoInsertEmbed",{undo:!0,focus:!0,callback:function(){this.video.insertEmbed()}}),Q.DefineIcon("videoDisplay",{NAME:"star",SVG_KEY:"star"}),Q.RegisterCommand("videoDisplay",{title:"Display",type:"dropdown",options:{inline:"Inline",block:"Break Text"},callback:function(e,t){this.video.display(t)},refresh:function(e){this.opts.videoTextNear||e.addClass("fr-hidden")},refreshOnShow:function(e,t){this.video.refreshDisplayOnShow(e,t)}}),Q.DefineIcon("video-align",{NAME:"align-left",SVG_KEY:"align Left"}),Q.DefineIcon("video-align-left",{NAME:"align-left",SVG_KEY:"alignLeft"}),Q.DefineIcon("video-align-right",{NAME:"align-right",SVG_KEY:"alignRight"}),Q.DefineIcon("video-align-center",{NAME:"align-justify",SVG_KEY:"alignJustify"}),Q.DefineIcon("videoAlign",{NAME:"align-center",SVG_KEY:"alignCenter"}),Q.RegisterCommand("videoAlign",{type:"dropdown",title:"Align",options:{left:"Align Left",center:"None",right:"Align Right"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=Q.COMMANDS.videoAlign.options;for(var i in t)t.hasOwnProperty(i)&&(e+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="videoAlign" data-param1="'+i+'" title="'+this.language.translate(t[i])+'">'+this.icon.create("video-align-"+i)+'<span class="fr-sr-only">'+this.language.translate(t[i])+"</span></a></li>");return e+="</ul>"},callback:function(e,t){this.video.align(t)},refresh:function(e){this.video.refreshAlign(e)},refreshOnShow:function(e,t){this.video.refreshAlignOnShow(e,t)}}),Q.DefineIcon("videoReplace",{NAME:"exchange",FA5NAME:"exchange-alt",SVG_KEY:"replaceImage"}),Q.RegisterCommand("videoReplace",{title:"Replace",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.video.replace()}}),Q.DefineIcon("videoRemove",{NAME:"trash",SVG_KEY:"remove"}),Q.RegisterCommand("videoRemove",{title:"Remove",callback:function(){this.video.remove()}}),Q.DefineIcon("videoSize",{NAME:"arrows-alt",SVG_KEY:"imageSize"}),Q.RegisterCommand("videoSize",{undo:!1,focus:!1,popup:!0,title:"Change Size",callback:function(){this.video.showSizePopup()}}),Q.DefineIcon("videoBack",{NAME:"arrow-left",SVG_KEY:"back"}),Q.RegisterCommand("videoBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.video.back()},refresh:function(e){this.video.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"))}}),Q.RegisterCommand("videoDismissError",{title:"OK",undo:!1,callback:function(){this.video.hideProgressBar(!0)}}),Q.RegisterCommand("videoSetSize",{undo:!0,focus:!1,title:"Update",refreshAfterCallback:!1,callback:function(){this.video.setSize()}})}); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(me){"use strict";me=me&&me.hasOwnProperty("default")?me["default"]:me,Object.assign(me.POPUP_TEMPLATES,{"video.insert":"[_BUTTONS_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_LAYER_][_PROGRESS_BAR_]","video.edit":"[_BUTTONS_]","video.size":"[_BUTTONS_][_SIZE_LAYER_]"}),Object.assign(me.DEFAULTS,{videoAllowedTypes:["mp4","webm","ogg"],videoAllowedProviders:[".*"],videoDefaultAlign:"center",videoDefaultDisplay:"block",videoDefaultWidth:600,videoEditButtons:["videoReplace","videoRemove","videoDisplay","videoAlign","videoSize"],videoInsertButtons:["videoBack","|","videoByURL","videoEmbed","videoUpload"],videoMaxSize:52428800,videoMove:!0,videoResize:!0,videoResponsive:!1,videoSizeButtons:["videoBack","|"],videoSplitHTML:!1,videoTextNear:!0,videoUpload:!0,videoUploadMethod:"POST",videoUploadParam:"file",videoUploadParams:{},videoUploadToS3:!1,videoUploadURL:null}),me.VIDEO_PROVIDERS=[{test_regex:/^.*((youtu.be)|(youtube.com))\/((v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))?\??v?=?([^#\&\?]*).*/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=|embed\/)?([0-9a-zA-Z_\-]+)(.+)?/g,url_text:"https://www.youtube.com/embed/$1?$2",html:'<iframe width="640" height="360" src="{url}&wmode=opaque" frameborder="0" allowfullscreen></iframe>',provider:"youtube"},{test_regex:/^.*(?:vimeo.com)\/(?:channels(\/\w+\/)?|groups\/*\/videos\/\u200b\d+\/|video\/|)(\d+)(?:$|\/|\?)/,url_regex:/(?:https?:\/\/)?(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|video\/|)(\d+)(?:[a-zA-Z0-9_\-]+)?(\/[a-zA-Z0-9_\-]+)?/i,url_text:"https://player.vimeo.com/video/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"vimeo"},{test_regex:/^.+(dailymotion.com|dai.ly)\/(video|hub)?\/?([^_]+)[^#]*(#video=([^_&]+))?/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:dailymotion\.com|dai\.ly)\/(?:video|hub)?\/?(.+)/g,url_text:"https://www.dailymotion.com/embed/video/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"dailymotion"},{test_regex:/^.+(screen.yahoo.com)\/[^_&]+/,url_regex:"",url_text:"",html:'<iframe width="640" height="360" src="{url}?format=embed" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>',provider:"yahoo"},{test_regex:/^.+(rutube.ru)\/[^_&]+/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:rutube\.ru)\/(?:video)?\/?(.+)/g,url_text:"https://rutube.ru/play/embed/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>',provider:"rutube"},{test_regex:/^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/,url_regex:/^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/g,url_text:"https://play.vidyard.com/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"vidyard"}],me.VIDEO_EMBED_REGEX=/^\W*((<iframe(.|\n)*>(\s|\n)*<\/iframe>)|(<embed(.|\n)*>))\W*$/i,me.PLUGINS.video=function(u){var a,f,v,p,o,i,c=u.$,d="https://i.froala.com/upload",h=2,g=3,m=4,l=5,b=6,r={};function y(){var e=u.popups.get("video.insert");e.find(".fr-video-by-url-layer input").val("").trigger("change");var t=e.find(".fr-video-embed-layer textarea");t.val("").trigger("change"),(t=e.find(".fr-video-upload-layer input")).val("").trigger("change")}function s(){var e=u.popups.get("video.edit");if(e||(e=function r(){var e="";if(0<u.opts.videoEditButtons.length){u.opts.videoResponsive&&(-1<u.opts.videoEditButtons.indexOf("videoSize")&&u.opts.videoEditButtons.splice(u.opts.videoEditButtons.indexOf("videoSize"),1),-1<u.opts.videoEditButtons.indexOf("videoDisplay")&&u.opts.videoEditButtons.splice(u.opts.videoEditButtons.indexOf("videoDisplay"),1),-1<u.opts.videoEditButtons.indexOf("videoAlign")&&u.opts.videoEditButtons.splice(u.opts.videoEditButtons.indexOf("videoAlign"),1));var t={buttons:e+='<div class="fr-buttons"> \n '.concat(u.button.buildList(u.opts.videoEditButtons)," \n </div>")},i=u.popups.create("video.edit",t);return u.events.$on(u.$wp,"scroll.video-edit",function(){p&&u.popups.isVisible("video.edit")&&(u.events.disableBlur(),R(p))}),i}return!1}()),e){u.popups.setContainer("video.edit",u.$sc),u.popups.refresh("video.edit");var t=p.find("iframe, embed, video"),i=t.offset().left+t.outerWidth()/2,o=t.offset().top+t.outerHeight();u.popups.show("video.edit",i,o,t.outerHeight(),!0)}}function n(e){if(e)return u.popups.onRefresh("video.insert",y),u.popups.onHide("video.insert",q),!0;var t="";u.opts.videoUpload||-1===u.opts.videoInsertButtons.indexOf("videoUpload")||u.opts.videoInsertButtons.splice(u.opts.videoInsertButtons.indexOf("videoUpload"),1);var i=u.button.buildList(u.opts.videoInsertButtons);""!==i&&(t='<div class="fr-buttons">'+i+"</div>");var o,r="",s=u.opts.videoInsertButtons.indexOf("videoUpload"),n=u.opts.videoInsertButtons.indexOf("videoByURL"),a=u.opts.videoInsertButtons.indexOf("videoEmbed");0<=n&&(o=" fr-active",(s<n&&0<=s||a<n&&0<=a)&&(o=""),r='<div class="fr-video-by-url-layer fr-layer'+o+'" id="fr-video-by-url-layer-'+u.id+'"><div class="fr-input-line"><input id="fr-video-by-url-layer-text-'+u.id+'" type="text" placeholder="'+u.language.translate("Paste in a video URL")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoInsertByURL" tabIndex="2" role="button">'+u.language.translate("Insert")+"</button></div></div>");var d="";0<=a&&(o=" fr-active",(s<a&&0<=s||n<a&&0<=n)&&(o=""),d='<div class="fr-video-embed-layer fr-layer'+o+'" id="fr-video-embed-layer-'+u.id+'"><div class="fr-input-line"><textarea id="fr-video-embed-layer-text'+u.id+'" type="text" placeholder="'+u.language.translate("Embedded Code")+'" tabIndex="1" aria-required="true" rows="5"></textarea></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoInsertEmbed" tabIndex="2" role="button">'+u.language.translate("Insert")+"</button></div></div>");var l="";0<=s&&(o=" fr-active",(a<s&&0<=a||n<s&&0<=n)&&(o=""),l='<div class="fr-video-upload-layer fr-layer'+o+'" id="fr-video-upload-layer-'+u.id+'"><strong>'+u.language.translate("Drop video")+"</strong><br>("+u.language.translate("or click")+')<div class="fr-form"><input type="file" accept="video/'+u.opts.videoAllowedTypes.join(", video/").toLowerCase()+'" tabIndex="-1" aria-labelledby="fr-video-upload-layer-'+u.id+'" role="button"></div></div>');var f={buttons:t,by_url_layer:r,embed_layer:d,upload_layer:l,progress_bar:'<div class="fr-video-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="videoDismissError" tabIndex="2" role="button">OK</button></div></div>'},v=u.popups.create("video.insert",f);return function p(o){u.events.$on(o,"dragover dragenter",".fr-video-upload-layer",function(){return c(this).addClass("fr-drop"),!1},!0),u.events.$on(o,"dragleave dragend",".fr-video-upload-layer",function(){return c(this).removeClass("fr-drop"),!1},!0),u.events.$on(o,"drop",".fr-video-upload-layer",function(e){e.preventDefault(),e.stopPropagation(),c(this).removeClass("fr-drop");var t=e.originalEvent.dataTransfer;if(t&&t.files){var i=o.data("instance")||u;i.events.disableBlur(),i.video.upload(t.files),i.events.enableBlur()}},!0),u.helpers.isIOS()&&u.events.$on(o,"touchstart",'.fr-video-upload-layer input[type="file"]',function(){c(this).trigger("click")},!0);u.events.$on(o,"change",'.fr-video-upload-layer input[type="file"]',function(){if(this.files){var e=o.data("instance")||u;e.events.disableBlur(),o.find("input:focus").blur(),e.events.enableBlur(),e.video.upload(this.files)}c(this).val("")},!0)}(v),v}function w(e){u.events.focus(!0),u.selection.restore();var t=!1;p&&(j(),t=!0),u.html.insert('<span contenteditable="false" draggable="true" class="fr-jiv fr-video">'+e+"</span>",!1,u.opts.videoSplitHTML),u.popups.hide("video.insert");var i=u.$el.find(".fr-jiv");i.removeClass("fr-jiv"),i.toggleClass("fr-rv",u.opts.videoResponsive),Z(i,u.opts.videoDefaultDisplay,u.opts.videoDefaultAlign),i.toggleClass("fr-draggable",u.opts.videoMove),u.events.trigger(t?"video.replaced":"video.inserted",[i])}function E(){var e=c(this);u.popups.hide("video.insert"),e.removeClass("fr-uploading"),e.parent().next().is("br")&&e.parent().next().remove(),R(e.parent()),u.events.trigger("video.loaded",[e.parent()])}function C(a,e,l,f,v){u.edit.off(),A("Loading video"),e&&(a=u.helpers.sanitizeURL(a));var p=function p(){var e,t;if(f){u.undo.canDo()||f.find("video").hasClass("fr-uploading")||u.undo.saveStep();var i=f.find("video").data("fr-old-src"),o=f.data("fr-replaced");f.data("fr-replaced",!1),u.$wp?((e=f.clone(!0)).find("video").removeData("fr-old-src").removeClass("fr-uploading"),e.find("video").off("canplay"),i&&f.find("video").attr("src",i),f.replaceWith(e)):e=f;for(var r=e.find("video").get(0).attributes,s=0;s<r.length;s++){var n=r[s];0===n.nodeName.indexOf("data-")&&e.find("video").removeAttr(n.nodeName)}if(void 0!==l)for(t in l)l.hasOwnProperty(t)&&"link"!=t&&e.find("video").attr("data-"+t,l[t]);e.find("video").on("canplay",E),e.find("video").attr("src",a),u.edit.on(),z(),u.undo.saveStep(),u.$el.blur(),u.events.trigger(o?"video.replaced":"video.inserted",[e,v])}else e=function d(e,t,i){var o,r="";if(t&&void 0!==t)for(o in t)t.hasOwnProperty(o)&&"link"!=o&&(r+=" data-"+o+'="'+t[o]+'"');var s=u.opts.videoDefaultWidth;s&&"auto"!=s&&(s+="px");var n=c(document.createElement("span")).attr("contenteditable","false").attr("draggable","true").attr("class","fr-video fr-dv"+u.opts.videoDefaultDisplay[0]+("center"!=u.opts.videoDefaultAlign?" fr-fv"+u.opts.videoDefaultAlign[0]:"")).html('<video src="'+e+'" '+r+(s?' style="width: '+s+';" ':"")+" controls>"+u.language.translate("Your browser does not support HTML5 video.")+"</video>");n.toggleClass("fr-draggable",u.opts.videoMove),u.edit.on(),u.events.focus(!0),u.selection.restore(),u.undo.saveStep(),u.opts.videoSplitHTML?u.markers.split():u.markers.insert();u.html.wrap();var a=u.$el.find(".fr-marker");u.node.isLastSibling(a)&&a.parent().hasClass("fr-deletable")&&a.insertAfter(a.parent());a.replaceWith(n),u.selection.clear(),n.find("video").get(0).readyState>n.find("video").get(0).HAVE_FUTURE_DATA||u.helpers.isIOS()?i.call(n.find("video").get(0)):n.find("video").on("canplaythrough load",i);return n}(a,l,E),z(),u.undo.saveStep(),u.events.trigger("video.inserted",[e,v])};_("Loading video"),p()}function _(e){var t=u.popups.get("video.insert");if(t||(t=n()),t.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"),t.find(".fr-video-progress-bar-layer").addClass("fr-active"),t.find(".fr-buttons").hide(),p){var i=p.find("video");u.popups.setContainer("video.insert",u.$sc);var o=i.offset().left,r=i.offset().top+i.height();u.popups.show("video.insert",o,r,i.outerHeight())}void 0===e&&A(u.language.translate("Uploading"),0)}function S(e){var t=u.popups.get("video.insert");if(t&&(t.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"),t.find(".fr-video-progress-bar-layer").removeClass("fr-active"),t.find(".fr-buttons").show(),e||u.$el.find("video.fr-error").length)){if(u.events.focus(),u.$el.find("video.fr-error").length&&(u.$el.find("video.fr-error").parent().remove(),u.undo.saveStep(),u.undo.run(),u.undo.dropRedo()),!u.$wp&&p){var i=p;M(!0),u.selection.setAfter(i.find("video").get(0)),u.selection.restore()}u.popups.hide("video.insert")}}function A(e,t){var i=u.popups.get("video.insert");if(i){var o=i.find(".fr-video-progress-bar-layer");o.find("h3").text(e+(t?" "+t+"%":"")),o.removeClass("fr-error"),t?(o.find("div").removeClass("fr-indeterminate"),o.find("div > span").css("width",t+"%")):o.find("div").addClass("fr-indeterminate")}}function x(e){_();var t=u.popups.get("video.insert").find(".fr-video-progress-bar-layer");t.addClass("fr-error");var i=t.find("h3");i.text(e),u.events.disableBlur(),i.focus()}function R(e){t.call(e.get(0))}function D(e){A("Loading video");var t=this.status,i=this.response,o=this.responseXML,r=this.responseText;try{if(u.opts.videoUploadToS3)if(201==t){var s=function a(e){try{var t=c(e).find("Location").text(),i=c(e).find("Key").text();return!1===u.events.trigger("video.uploadedToS3",[t,i,e],!0)?(u.edit.on(),!1):t}catch(o){return X(m,e),!1}}(o);s&&C(s,!1,[],e,i||o)}else X(m,i||o);else if(200<=t&&t<300){var n=function d(e){try{if(!1===u.events.trigger("video.uploaded",[e],!0))return u.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(X(h,e),!1)}catch(i){return X(m,e),!1}}(r);n&&C(n.link,!1,n,e,i||r)}else X(g,i||r)}catch(l){X(m,i||r)}}function U(){X(m,this.response||this.responseText||this.responseXML)}function B(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;A(u.language.translate("Uploading"),t)}}function $(){u.edit.on(),S(!0)}function I(e){if(!u.core.sameInstance(v))return!0;e.preventDefault(),e.stopPropagation();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),i=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!i)return!1;if("mousedown"==e.type){var o=u.$oel.get(0).ownerDocument,r=o.defaultView||o.parentWindow,s=!1;try{s=r.location!=r.parent.location&&!(r.$&&r.$.FE)}catch(n){}s&&r.frameElement&&(t+=u.helpers.getPX(c(r.frameElement).offset().left)+r.frameElement.clientLeft,i=e.clientY+u.helpers.getPX(c(r.frameElement).offset().top)+r.frameElement.clientTop)}u.undo.canDo()||u.undo.saveStep(),(f=c(this)).data("start-x",t),f.data("start-y",i),a.show(),u.popups.hideAll(),Y()}function k(e){if(!u.core.sameInstance(v))return!0;if(f){e.preventDefault();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),i=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!i)return!1;var o=f.data("start-x"),r=f.data("start-y");f.data("start-x",t),f.data("start-y",i);var s=t-o,n=i-r,a=p.find("iframe, embed, video"),d=a.width(),l=a.height();(f.hasClass("fr-hnw")||f.hasClass("fr-hsw"))&&(s=0-s),(f.hasClass("fr-hnw")||f.hasClass("fr-hne"))&&(n=0-n),a.css("width",d+s),a.css("height",l+n),a.removeAttr("width"),a.removeAttr("height"),T()}}function O(e){if(!u.core.sameInstance(v))return!0;f&&p&&(e&&e.stopPropagation(),f=null,a.hide(),T(),s(),u.undo.saveStep())}function L(e){return'<div class="fr-handler fr-h'+e+'"></div>'}function P(e,t,i,o){return e.pageX=t,e.pageY=t,I.call(this,e),e.pageX=e.pageX+i*Math.floor(Math.pow(1.1,o)),e.pageY=e.pageY+i*Math.floor(Math.pow(1.1,o)),k.call(this,e),O.call(this,e),++o}function z(){var e,t=Array.prototype.slice.call(u.el.querySelectorAll("video, .fr-video > *")),i=[];for(e=0;e<t.length;e++)i.push(t[e].getAttribute("src")),c(t[e]).toggleClass("fr-draggable",u.opts.videoMove),""===t[e].getAttribute("class")&&t[e].removeAttribute("class"),""===t[e].getAttribute("style")&&t[e].removeAttribute("style");if(o)for(e=0;e<o.length;e++)i.indexOf(o[e].getAttribute("src"))<0&&u.events.trigger("video.removed",[c(o[e])]);o=t}function T(){v||function n(){var e;if(u.shared.$video_resizer?(v=u.shared.$video_resizer,a=u.shared.$vid_overlay,u.events.on("destroy",function(){c("body").first().append(v.removeClass("fr-active"))},!0)):(u.shared.$video_resizer=c(document.createElement("div")).attr("class","fr-video-resizer"),v=u.shared.$video_resizer,u.events.$on(v,"mousedown",function(e){e.stopPropagation()},!0),u.opts.videoResize&&(v.append(L("nw")+L("ne")+L("sw")+L("se")),u.shared.$vid_overlay=c(document.createElement("div")).attr("class","fr-video-overlay"),a=u.shared.$vid_overlay,e=v.get(0).ownerDocument,c(e).find("body").first().append(a))),u.events.on("shared.destroy",function(){v.html("").removeData().remove(),v=null,u.opts.videoResize&&(a.remove(),a=null)},!0),u.helpers.isMobile()||u.events.$on(c(u.o_win),"resize.video",function(){M(!0)}),u.opts.videoResize){e=v.get(0).ownerDocument,u.events.$on(v,u._mousedown,".fr-handler",I),u.events.$on(c(e),u._mousemove,k),u.events.$on(c(e.defaultView||e.parentWindow),u._mouseup,O),u.events.$on(a,"mouseleave",O);var o=1,r=null,s=0;u.events.on("keydown",function(e){if(p){var t=-1!=navigator.userAgent.indexOf("Mac OS X")?e.metaKey:e.ctrlKey,i=e.which;(i!==r||200<e.timeStamp-s)&&(o=1),(i==me.KEYCODE.EQUALS||u.browser.mozilla&&i==me.KEYCODE.FF_EQUALS)&&t&&!e.altKey?o=P.call(this,e,1,1,o):(i==me.KEYCODE.HYPHEN||u.browser.mozilla&&i==me.KEYCODE.FF_HYPHEN)&&t&&!e.altKey&&(o=P.call(this,e,2,-1,o)),r=i,s=e.timeStamp}}),u.events.on("keyup",function(){o=1})}}(),(u.$wp||u.$sc).append(v),v.data("instance",u);var e=p.find("iframe, embed, video"),t=0,i=0;u.opts.iframe&&(i=u.helpers.getPX(u.$wp.find(".fr-iframe").css("padding-top")),t=u.helpers.getPX(u.$wp.find(".fr-iframe").css("padding-left"))),v.css("top",(u.opts.iframe?e.offset().top+i-1:e.offset().top-u.$wp.offset().top-1)+u.$wp.scrollTop()).css("left",(u.opts.iframe?e.offset().left+t-1:e.offset().left-u.$wp.offset().left-1)+u.$wp.scrollLeft()).css("width",e.get(0).getBoundingClientRect().width).css("height",e.get(0).getBoundingClientRect().height).addClass("fr-active")}function t(e){if(e&&"touchend"==e.type&&i)return!0;if(e&&u.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;if(u.edit.isDisabled())return!1;for(var t=0;t<me.INSTANCES.length;t++)me.INSTANCES[t]!=u&&me.INSTANCES[t].events.trigger("video.hideResizer");u.toolbar.disable(),u.helpers.isMobile()&&(u.events.disableBlur(),u.$el.blur(),u.events.enableBlur()),u.$el.find(".fr-video.fr-active").removeClass("fr-active"),(p=c(this)).addClass("fr-active"),u.opts.iframe&&u.size.syncIframe(),Q(),T(),s(),u.selection.clear(),u.button.bulkRefresh(),u.events.trigger("image.hideResizer")}function M(e){p&&(function t(){return u.shared.vid_exit_flag}()||!0===e)&&(v.removeClass("fr-active"),u.toolbar.enable(),p.removeClass("fr-active"),p=null,Y())}function V(){u.shared.vid_exit_flag=!0}function Y(){u.shared.vid_exit_flag=!1}function N(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var i=t.files[0];if(i&&i.type&&-1!==i.type.indexOf("video")){if(!u.opts.videoUpload)return e.preventDefault(),e.stopPropagation(),!1;u.markers.remove(),u.markers.insertAtPoint(e.originalEvent),u.$el.find(".fr-marker").replaceWith(me.MARKERS),u.popups.hideAll();var o=u.popups.get("video.insert");return o||(o=n()),u.popups.setContainer("video.insert",u.$sc),u.popups.show("video.insert",e.originalEvent.pageX,e.originalEvent.pageY),_(),0<=u.opts.videoAllowedTypes.indexOf(i.type.replace(/video\//g,""))?K(t.files):X(b),e.preventDefault(),e.stopPropagation(),!1}}}function K(e){if(void 0!==e&&0<e.length){if(!1===u.events.trigger("video.beforeUpload",[e]))return!1;var t,i=e[0];if((null===u.opts.videoUploadURL||u.opts.videoUploadURL==d)&&!u.opts.videoUploadToS3)return function a(o){p&&p.find("iframe")&&p.find("iframe").length&&j();var r=new FileReader;r.onload=function(){r.result;for(var e=atob(r.result.split(",")[1]),t=[],i=0;i<e.length;i++)t.push(e.charCodeAt(i));C(window.URL.createObjectURL(new Blob([new Uint8Array(t)],{type:o.type})),!1,null,p)},_(),r.readAsDataURL(o)}(i),!1;if(i.size>u.opts.videoMaxSize)return X(l),!1;if(u.opts.videoAllowedTypes.indexOf(i.type.replace(/video\//g,""))<0)return X(b),!1;if(u.drag_support.formdata&&(t=u.drag_support.formdata?new FormData:null),t){var o;if(!1!==u.opts.videoUploadToS3)for(o in t.append("key",u.opts.videoUploadToS3.keyStart+(new Date).getTime()+"-"+(i.name||"untitled")),t.append("success_action_status","201"),t.append("X-Requested-With","xhr"),t.append("Content-Type",i.type),u.opts.videoUploadToS3.params)u.opts.videoUploadToS3.params.hasOwnProperty(o)&&t.append(o,u.opts.videoUploadToS3.params[o]);for(o in u.opts.videoUploadParams)u.opts.videoUploadParams.hasOwnProperty(o)&&t.append(o,u.opts.videoUploadParams[o]);t.append(u.opts.videoUploadParam,i);var r=u.opts.videoUploadURL;u.opts.videoUploadToS3&&(r=u.opts.videoUploadToS3.uploadURL?u.opts.videoUploadToS3.uploadURL:"https://"+u.opts.videoUploadToS3.region+".amazonaws.com/"+u.opts.videoUploadToS3.bucket);var s=u.core.getXHR(r,u.opts.videoUploadMethod);s.onload=function(){D.call(s,p)},s.onerror=U,s.upload.onprogress=B,s.onabort=$,_(),u.events.disableBlur(),u.edit.off(),u.events.enableBlur();var n=u.popups.get("video.insert");n&&c(n.off("abortUpload")).on("abortUpload",function(){4!=s.readyState&&s.abort()}),s.send(t)}}}function X(e,t){u.edit.on(),p&&p.find("video").addClass("fr-error"),x(u.language.translate("Something went wrong. Please try again.")),u.events.trigger("video.error",[{code:e,message:r[e]},t])}function H(){if(p){var e=u.popups.get("video.size"),t=p.find("iframe, embed, video");e.find('input[name="width"]').val(t.get(0).style.width||t.attr("width")).trigger("change"),e.find('input[name="height"]').val(t.get(0).style.height||t.attr("height")).trigger("change")}}function G(e){if(e)return u.popups.onRefresh("video.size",H),!0;var t={buttons:'<div class="fr-buttons fr-tabs">'+u.button.buildList(u.opts.videoSizeButtons)+"</div>",size_layer:'<div class="fr-video-size-layer fr-layer fr-active" id="fr-video-size-layer-'+u.id+'"><div class="fr-video-group"><div class="fr-input-line"><input id="fr-video-size-layer-width-'+u.id+'" type="text" name="width" placeholder="'+u.language.translate("Width")+'" tabIndex="1"></div><div class="fr-input-line"><input id="fr-video-size-layer-height-'+u.id+'" type="text" name="height" placeholder="'+u.language.translate("Height")+'" tabIndex="1"></div></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoSetSize" tabIndex="2" role="button">'+u.language.translate("Update")+"</button></div></div>"},i=u.popups.create("video.size",t);return u.events.$on(u.$wp,"scroll",function(){p&&u.popups.isVisible("video.size")&&(u.events.disableBlur(),R(p))}),i}function F(e){if(void 0===e&&(e=p),e){if(e.hasClass("fr-fvl"))return"left";if(e.hasClass("fr-fvr"))return"right";if(e.hasClass("fr-dvb")||e.hasClass("fr-dvi"))return"center";if("block"==e.css("display")){if("left"==e.css("text-algin"))return"left";if("right"==e.css("text-align"))return"right"}else{if("left"==e.css("float"))return"left";if("right"==e.css("float"))return"right"}}return"center"}function W(e){void 0===e&&(e=p);var t=e.css("float");return e.css("float","none"),"block"==e.css("display")?(e.css("float",""),e.css("float")!=t&&e.css("float",t),"block"):(e.css("float",""),e.css("float")!=t&&e.css("float",t),"inline")}function j(){if(p&&!1!==u.events.trigger("video.beforeRemove",[p])){var e=p;u.popups.hideAll(),M(!0),u.selection.setBefore(e.get(0))||u.selection.setAfter(e.get(0)),e.remove(),u.selection.restore(),u.html.fillEmptyBlocks()}}function q(){S()}function Z(e,t,i){!u.opts.htmlUntouched&&u.opts.useClasses?(e.removeClass("fr-fvl fr-fvr fr-dvb fr-dvi"),e.addClass("fr-fv"+i[0]+" fr-dv"+t[0])):"inline"==t?(e.css({display:"inline-block"}),"center"==i?e.css({"float":"none"}):"left"==i?e.css({"float":"left"}):e.css({"float":"right"})):(e.css({display:"block",clear:"both"}),"left"==i?e.css({textAlign:"left"}):"right"==i?e.css({textAlign:"right"}):e.css({textAlign:"center"}))}function J(){var e=u.$el.find("video").filter(function(){return 0===c(this).parents("span.fr-video").length});if(0!=e.length){e.wrap(c(document.createElement("span")).attr("class","fr-video").attr("contenteditable","false")),u.$el.find("embed, iframe").filter(function(){if(u.browser.safari&&this.getAttribute("src")&&this.setAttribute("src",this.src),0<c(this).parents("span.fr-video").length)return!1;for(var e=c(this).attr("src"),t=0;t<me.VIDEO_PROVIDERS.length;t++){var i=me.VIDEO_PROVIDERS[t];if(i.test_regex.test(e)&&new RegExp(u.opts.videoAllowedProviders.join("|")).test(i.provider))return!0}return!1}).map(function(){return 0===c(this).parents("object").length?this:c(this).parents("object").get(0)}).wrap(c(document.createElement("span")).attr("class","fr-video").attr("contenteditable","false"));for(var t,i,o,r,s=u.$el.find("span.fr-video, video"),n=0;n<s.length;n++){var a=c(s[n]);!u.opts.htmlUntouched&&u.opts.useClasses?((r=a).hasClass("fr-dvi")||r.hasClass("fr-dvb")||(r.addClass("fr-fv"+F(r)[0]),r.addClass("fr-dv"+W(r)[0])),u.opts.videoTextNear||a.removeClass("fr-dvi").addClass("fr-dvb")):u.opts.htmlUntouched||u.opts.useClasses||(void 0,i=(t=a).hasClass("fr-dvb")?"block":t.hasClass("fr-dvi")?"inline":null,o=t.hasClass("fr-fvl")?"left":t.hasClass("fr-fvr")?"right":F(t),Z(t,i,o),t.removeClass("fr-dvb fr-dvi fr-fvr fr-fvl"))}s.toggleClass("fr-draggable",u.opts.videoMove)}}function Q(){if(p){u.selection.clear();var e=u.doc.createRange();e.selectNode(p.get(0)),u.selection.get().addRange(e)}}return r[1]="Video cannot be loaded from the passed link.",r[h]="No link in upload response.",r[g]="Error during file upload.",r[m]="Parsing response failed.",r[l]="File is too large.",r[b]="Video file type is invalid.",r[7]="Files can be uploaded only to same domain in IE 8 and IE 9.",u.shared.vid_exit_flag=!1,{_init:function ee(){u.opts.videoResponsive&&(u.opts.videoResize=!1),function e(){u.events.on("drop",N,!0),u.events.on("mousedown window.mousedown",V),u.events.on("window.touchmove",Y),u.events.on("mouseup window.mouseup",M),u.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&M()}),u.events.on("video.hideResizer commands.undo commands.redo element.dropped",function(){M(!0)})}(),u.helpers.isMobile()&&(u.events.$on(u.$el,"touchstart","span.fr-video",function(){i=!1}),u.events.$on(u.$el,"touchmove",function(){i=!0})),u.events.on("html.set",J),J(),u.events.$on(u.$el,"mousedown","span.fr-video",function(e){e.stopPropagation(),(u.browser.msie||u.browser.edge)&&(e.target.dragDrop(),t.call(this,e))}),u.events.$on(u.$el,"click touchend","span.fr-video",function(e){if("false"==c(this).parents("[contenteditable]").not(".fr-element").not(".fr-img-caption").not("body").first().attr("contenteditable"))return!0;t.call(this,e)}),u.events.on("keydown",function(e){var t=e.which;return!p||t!=me.KEYCODE.BACKSPACE&&t!=me.KEYCODE.DELETE?p&&t==me.KEYCODE.ESC?(M(!0),e.preventDefault(),!1):p&&t!=me.KEYCODE.F10&&!u.keys.isBrowserAction(e)?(e.preventDefault(),!1):void 0:(e.preventDefault(),j(),u.undo.saveStep(),!1)},!0),u.events.on("toolbar.esc",function(){if(p)return u.events.disableBlur(),u.events.focus(),!1},!0),u.events.on("toolbar.focusEditor",function(){if(p)return!1},!0),u.events.on("keydown",function(){u.$el.find("span.fr-video:empty").remove()}),u.$wp&&(z(),u.events.on("contentChanged",z)),n(!0),G(!0)},showInsertPopup:function te(){var e=u.$tb.find('.fr-command[data-cmd="insertVideo"]'),t=u.popups.get("video.insert");if(t||(t=n()),S(),!t.hasClass("fr-active"))if(u.popups.refresh("video.insert"),u.popups.setContainer("video.insert",u.$tb),e.isVisible()){var i=u.button.getPosition(e),o=i.left,r=i.top;u.popups.show("video.insert",o,r,e.outerHeight())}else u.position.forSelection(t),u.popups.show("video.insert")},showLayer:function ie(e){var t,i,o=u.popups.get("video.insert");if(!p&&!u.opts.toolbarInline){var r=u.$tb.find('.fr-command[data-cmd="insertVideo"]');t=r.offset().left,i=r.offset().top+(u.opts.toolbarBottom?10:r.outerHeight()-10)}u.opts.toolbarInline&&(i=o.offset().top-u.helpers.getPX(o.css("margin-top")),o.hasClass("fr-above")&&(i+=o.outerHeight())),o.find(".fr-layer").removeClass("fr-active"),o.find(".fr-"+e+"-layer").addClass("fr-active"),u.popups.show("video.insert",t,i,0),u.accessibility.focusPopup(o)},refreshByURLButton:function oe(e){var t=u.popups.get("video.insert");t&&t.find(".fr-video-by-url-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},refreshEmbedButton:function re(e){var t=u.popups.get("video.insert");t&&t.find(".fr-video-embed-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},refreshUploadButton:function se(e){var t=u.popups.get("video.insert");t&&t.find(".fr-video-upload-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},upload:K,insertByURL:function ne(e){void 0===e&&(e=(u.popups.get("video.insert").find('.fr-video-by-url-layer input[type="text"]').val()||"").trim());var t=null;if(/^http/.test(e)||(e="https://"+e),u.helpers.isURL(e))for(var i=0;i<me.VIDEO_PROVIDERS.length;i++){var o=me.VIDEO_PROVIDERS[i];if(o.test_regex.test(e)&&new RegExp(u.opts.videoAllowedProviders.join("|")).test(o.provider)){t=e.replace(o.url_regex,o.url_text),t=o.html.replace(/\{url\}/,t);break}}t?w(t):(x(u.language.translate("Something went wrong. Please try again.")),u.events.trigger("video.linkError",[e]))},insertEmbed:function ae(e){void 0===e&&(e=u.popups.get("video.insert").find(".fr-video-embed-layer textarea").val()||""),0!==e.length&&me.VIDEO_EMBED_REGEX.test(e)?w(e):(x(u.language.translate("Something went wrong. Please try again.")),u.events.trigger("video.codeError",[e]))},insert:w,align:function de(e){p.removeClass("fr-fvr fr-fvl"),!u.opts.htmlUntouched&&u.opts.useClasses?"left"==e?p.addClass("fr-fvl"):"right"==e&&p.addClass("fr-fvr"):Z(p,W(),e),Q(),T(),s(),u.selection.clear()},refreshAlign:function le(e){if(!p)return!1;e.find(">*").first().replaceWith(u.icon.create("video-align-"+F()))},refreshAlignOnShow:function fe(e,t){p&&t.find('.fr-command[data-param1="'+F()+'"]').addClass("fr-active").attr("aria-selected",!0)},display:function ve(e){p.removeClass("fr-dvi fr-dvb"),!u.opts.htmlUntouched&&u.opts.useClasses?"inline"==e?p.addClass("fr-dvi"):"block"==e&&p.addClass("fr-dvb"):Z(p,e,F()),Q(),T(),s(),u.selection.clear()},refreshDisplayOnShow:function pe(e,t){p&&t.find('.fr-command[data-param1="'+W()+'"]').addClass("fr-active").attr("aria-selected",!0)},remove:j,hideProgressBar:S,showSizePopup:function ue(){var e=u.popups.get("video.size");e||(e=G()),S(),u.popups.refresh("video.size"),u.popups.setContainer("video.size",u.$sc);var t=p.find("iframe, embed, video"),i=t.offset().left+t.outerWidth()/2,o=t.offset().top+t.height();u.popups.show("video.size",i,o,t.height(),!0)},replace:function ce(){var e=u.popups.get("video.insert");e||(e=n()),u.popups.isVisible("video.insert")||(S(),u.popups.refresh("video.insert"),u.popups.setContainer("video.insert",u.$sc));var t=p.offset().left+p.outerWidth()/2,i=p.offset().top+p.height();u.popups.show("video.insert",t,i,p.outerHeight(),!0)},back:function e(){p?(u.events.disableBlur(),p[0].click()):(u.events.disableBlur(),u.selection.restore(),u.events.enableBlur(),u.popups.hide("video.insert"),u.toolbar.showInline())},setSize:function he(e,t){if(p){var i=u.popups.get("video.size"),o=p.find("iframe, embed, video");o.css("width",e||i.find('input[name="width"]').val()),o.css("height",t||i.find('input[name="height"]').val()),o.get(0).style.width&&o.removeAttr("width"),o.get(0).style.height&&o.removeAttr("height"),i.find("input:focus").blur(),setTimeout(function(){p.trigger("click")},u.helpers.isAndroid()?50:0)}},get:function ge(){return p},showProgressBar:_}},me.RegisterCommand("insertVideo",{title:"Insert Video",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible("video.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("video.insert")):this.video.showInsertPopup()},plugin:"video"}),me.DefineIcon("insertVideo",{NAME:"video-camera",FA5NAME:"camera",SVG_KEY:"insertVideo"}),me.DefineIcon("videoByURL",{NAME:"link",SVG_KEY:"insertLink"}),me.RegisterCommand("videoByURL",{title:"By URL",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-by-url")},refresh:function(e){this.video.refreshByURLButton(e)}}),me.DefineIcon("videoEmbed",{NAME:"code",SVG_KEY:"codeView"}),me.RegisterCommand("videoEmbed",{title:"Embedded Code",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-embed")},refresh:function(e){this.video.refreshEmbedButton(e)}}),me.DefineIcon("videoUpload",{NAME:"upload",SVG_KEY:"upload"}),me.RegisterCommand("videoUpload",{title:"Upload Video",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-upload")},refresh:function(e){this.video.refreshUploadButton(e)}}),me.RegisterCommand("videoInsertByURL",{undo:!0,focus:!0,callback:function(){this.video.insertByURL()}}),me.RegisterCommand("videoInsertEmbed",{undo:!0,focus:!0,callback:function(){this.video.insertEmbed()}}),me.DefineIcon("videoDisplay",{NAME:"star",SVG_KEY:"star"}),me.RegisterCommand("videoDisplay",{title:"Display",type:"dropdown",options:{inline:"Inline",block:"Break Text"},callback:function(e,t){this.video.display(t)},refresh:function(e){this.opts.videoTextNear||e.addClass("fr-hidden")},refreshOnShow:function(e,t){this.video.refreshDisplayOnShow(e,t)}}),me.DefineIcon("video-align",{NAME:"align-left",SVG_KEY:"align Left"}),me.DefineIcon("video-align-left",{NAME:"align-left",SVG_KEY:"alignLeft"}),me.DefineIcon("video-align-right",{NAME:"align-right",SVG_KEY:"alignRight"}),me.DefineIcon("video-align-center",{NAME:"align-justify",SVG_KEY:"alignJustify"}),me.DefineIcon("videoAlign",{NAME:"align-center",SVG_KEY:"alignCenter"}),me.RegisterCommand("videoAlign",{type:"dropdown",title:"Align",options:{left:"Align Left",center:"None",right:"Align Right"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=me.COMMANDS.videoAlign.options;for(var i in t)t.hasOwnProperty(i)&&(e+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="videoAlign" data-param1="'+i+'" title="'+this.language.translate(t[i])+'">'+this.icon.create("video-align-"+i)+'<span class="fr-sr-only">'+this.language.translate(t[i])+"</span></a></li>");return e+="</ul>"},callback:function(e,t){this.video.align(t)},refresh:function(e){this.video.refreshAlign(e)},refreshOnShow:function(e,t){this.video.refreshAlignOnShow(e,t)}}),me.DefineIcon("videoReplace",{NAME:"exchange",FA5NAME:"exchange-alt",SVG_KEY:"replaceImage"}),me.RegisterCommand("videoReplace",{title:"Replace",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.video.replace()}}),me.DefineIcon("videoRemove",{NAME:"trash",SVG_KEY:"remove"}),me.RegisterCommand("videoRemove",{title:"Remove",callback:function(){this.video.remove()}}),me.DefineIcon("videoSize",{NAME:"arrows-alt",SVG_KEY:"imageSize"}),me.RegisterCommand("videoSize",{undo:!1,focus:!1,popup:!0,title:"Change Size",callback:function(){this.video.showSizePopup()}}),me.DefineIcon("videoBack",{NAME:"arrow-left",SVG_KEY:"back"}),me.RegisterCommand("videoBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.video.back()},refresh:function(e){this.video.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"))}}),me.RegisterCommand("videoDismissError",{title:"OK",undo:!1,callback:function(){this.video.hideProgressBar(!0)}}),me.RegisterCommand("videoSetSize",{undo:!0,focus:!1,title:"Update",refreshAfterCallback:!1,callback:function(){this.video.setSize()}})}); \ No newline at end of file