Version Description
Download this release
Release Info
Developer | azaozz |
Plugin | TinyMCE Advanced |
Version | 5.3 |
Comparing to | |
See all releases |
Code changes from version 5.2.1 to 5.3
- block-editor/classic-paragraph.css +1 -1
- block-editor/richtext-buttons.js +1 -1
- block-editor/tma-block-editor.css +1 -1
- mce/advlist/plugin.js +1 -1
- mce/print/plugin.js +7 -1
- mce/print/plugin.min.js +1 -1
- mce/table/plugin.js +1186 -1288
- mce/table/plugin.min.js +1 -1
- mce/visualchars/plugin.js +11 -5
- mce/visualchars/plugin.min.js +1 -1
- plugin-assets/tadv.css +37 -11
- readme.txt +9 -6
- tinymce-advanced.php +2 -2
block-editor/classic-paragraph.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
|
1 |
+
div[data-type="tadv/classic-paragraph"] .block-editor-block-list__block-edit:before{transition:border-color .1s linear,box-shadow .1s linear;border:1px solid #e2e4e7;outline:1px solid transparent}@media (prefers-reduced-motion:reduce){div[data-type="tadv/classic-paragraph"] .block-editor-block-list__block-edit:before{transition-duration:0s}}div[data-type="tadv/classic-paragraph"].is-selected .block-editor-block-list__block-edit:before{border-color:#b5bcc2 #b5bcc2 #b5bcc2 transparent}div[data-type="tadv/classic-paragraph"] .editor-block-contextual-toolbar+div{margin-top:0;padding-top:0}div[data-type="tadv/classic-paragraph"].is-selected .block-library-rich-text__tinymce:after{content:"";display:table;clear:both}div[data-type="tadv/classic-paragraph"].is-selected .block-library-classic__toolbar,div[data-type="tadv/classic-paragraph"].is-typing .block-library-classic__toolbar{border-color:#b5bcc2}div[data-type="tadv/classic-paragraph"] .block-library-classic__toolbar:empty{display:none}div[data-type="tadv/classic-paragraph"].is-selected .block-library-classic__toolbar,div[data-type="tadv/classic-paragraph"].is-typing .block-library-classic__toolbar{display:block;border-color:transparent}div[data-type="tadv/classic-paragraph"] .block-library-classic__toolbar .mce-menubar{min-height:34px;padding:3px 2px 0}@media (min-width:600px){.block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-switcher__no-switcher-icon{display:none}.block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar{float:right;margin-right:74px;transform:translateY(-16px);top:14px}.rtl .block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar{float:left;margin-right:0;margin-left:74px}.block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar .block-editor-block-toolbar{border:none;box-shadow:none;margin-top:1px}.block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar .block-editor-block-toolbar:before{content:"";display:block;border-left:1px solid #e2e4e7;margin-top:4px;margin-bottom:4px}.block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar .block-editor-block-toolbar .components-toolbar__control.components-button:hover{background-color:transparent}.block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar .components-toolbar{background:transparent;border:none}.block-editor-block-list__block[data-type="tadv/classic-paragraph"] .mce-container.mce-toolbar{padding-right:86px}.rtl .block-editor-block-list__block[data-type="tadv/classic-paragraph"] .mce-container.mce-toolbar{padding-left:86px;padding-right:0}.block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-library-classic__toolbar .mce-menubar+.mce-toolbar-grp .mce-container-body .mce-toolbar{padding:0}.block-editor-inner-blocks .block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar{float:none;margin-right:0;transform:translateY(-52px);top:0;position:absolute}.rtl .block-editor-inner-blocks .block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar{margin-right:-15px;margin-left:0}.block-editor-inner-blocks .block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar .block-editor-block-toolbar{box-shadow:-3px 0 0 0 #555d66;position:relative}.rtl .block-editor-inner-blocks .block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar .block-editor-block-toolbar{box-shadow:3px 0 0 0 #555d66}.block-editor-inner-blocks .block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar .block-editor-block-toolbar:before{display:none}.block-editor-inner-blocks .block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar .components-toolbar{background:#fff;border:1px solid #b5bcc2;border-left-width:0}.rtl .block-editor-inner-blocks .block-editor-block-list__block[data-type="tadv/classic-paragraph"] .block-editor-block-contextual-toolbar .components-toolbar{border:1px solid #b5bcc2;border-right-width:0}.block-editor-inner-blocks .block-editor-block-list__block[data-type="tadv/classic-paragraph"] .mce-container.mce-toolbar{padding:3px 2px 0}}
|
block-editor/richtext-buttons.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){var e={};function r(o){if(e[o])return e[o].exports;var n=e[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=t,r.c=e,r.d=function(t,e,o){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(o,n,function(e){return t[e]}.bind(null,n));return o},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=10)}({10:function(t,e,r){"use strict";r.r(e);var o=window.tadvBlockButtons,n=window.wp,a=window.lodash.get,i=n.element.createElement,c=n.editor,l=c.InspectorControls,u=c.PanelColorSettings,s=n.richText,d=s.registerFormatType,v=s.applyFormat,m=s.removeFormat,p=s.getActiveFormat;function f(t){return(t=t.replace(/.*?(background-)?color:\s*/,"")).replace(/[; ]+$/,"")}var h,g=window.tadvBlockButtons||{},b=window.wp,y=b.editor.RichTextToolbarButton,k=b.richText,T=k.registerFormatType,w=k.removeFormat,x=b.element.createElement,F=b.components.ToolbarButton;function C(t){var e=[];return h||(h=g.formats_to_remove?g.formats_to_remove.split(","):["core/bold","core/italic","core/code","core/underline","core/strikethrough","tadv/sup","tadv/sub","tadv/mark","tadv/color-panel","tadv/background-color-panel"]),t.forEach(function(t){t&&t.forEach(function(t){h.indexOf(t.type)>-1&&-1===e.indexOf(t.type)&&e.push(t.type)})}),e}function B(t){var e=t.formats;if(!e.length)return t;var r=0,o=e.length;t.end>t.start&&(r=t.start,o=t.end,e=e.slice(r,o));var n=C(e);return n.length?(n.forEach(function(e){t=w(t,e,r,o)}),t):t}var N=window.wp,A=(window.tadvBlockButtons,N.element),S=A.createElement,_=A.Fragment,R=N.i18n.__,E=N.components.ToolbarButton,O=N.editor,P=O.RichTextToolbarButton,M=O.RichTextShortcut,U=N.richText,j=U.registerFormatType,z=U.getActiveFormat,I=U.toggleFormat;U.applyFormat,U.removeFormat;function L(t,e){e(I(t,{type:"core/strikethrough"}))}var G=window.wp,V=G.element,$=V.createElement,q=V.Fragment,D=G.i18n.__,H=G.components.ToolbarButton,J=G.editor,K=J.RichTextToolbarButton,Q=J.RichTextShortcut,W=G.richText,X=W.registerFormatType,Y=W.getActiveFormat,Z=W.toggleFormat;function tt(t,e){e(Z(t,{type:"core/code"}))}var et=window.wp,rt=window.tadvBlockButtons||{},ot=et.element,nt=ot.createElement,at=ot.Fragment,it=(et.i18n.__,et.components.ToolbarButton),ct=et.editor,lt=ct.RichTextToolbarButton,ut=ct.RichTextShortcut,st=et.richText,dt=st.registerFormatType,vt=st.getActiveFormat,mt=st.toggleFormat;st.applyFormat,st.removeFormat;function pt(t,e){e(mt(t,{type:"tadv/mark"}))}var ft=window.wp,ht=window.tadvBlockButtons||{},gt=ft.element,bt=gt.createElement,yt=gt.Fragment,kt=(ft.i18n.__,ft.components.ToolbarButton),Tt=ft.editor,wt=Tt.RichTextToolbarButton,xt=Tt.RichTextShortcut,Ft=ft.richText,Ct=Ft.registerFormatType,Bt=Ft.getActiveFormat,Nt=Ft.applyFormat,At=Ft.removeFormat;function St(t,e,r){if(t)r(At(e,"core/underline"));else{r(Nt(e,{type:"core/underline",attributes:{style:"text-decoration: underline"}}))}}var _t=window.wp,Rt=_t.element,Et=Rt.createElement,Ot=(Rt.Fragment,_t.i18n.__),Pt=_t.components.ToolbarButton,Mt=_t.editor,Ut=(Mt.RichTextToolbarButton,Mt.RichTextShortcut,_t.richText),jt=(Ut.registerFormatType,Ut.getActiveFormat),zt=Ut.toggleFormat;function It(t,e){e(zt(t,{type:"core/bold"}))}var Lt=window.wp,Gt=Lt.element,Vt=Gt.createElement,$t=(Gt.Fragment,Lt.i18n.__),qt=Lt.components.ToolbarButton,Dt=Lt.editor,Ht=(Dt.RichTextToolbarButton,Dt.RichTextShortcut,Lt.richText),Jt=(Ht.registerFormatType,Ht.getActiveFormat),Kt=Ht.toggleFormat;function Qt(t,e){e(Kt(t,{type:"core/italic"}))}var Wt=window.wp,Xt=window.tadvBlockButtons,Yt=Wt.element,Zt=Yt.createElement,te=Yt.Fragment,ee=Wt.richText,re=ee.registerFormatType,oe=ee.getActiveFormat,ne=ee.toggleFormat,ae=Wt.components.ToolbarButton,ie=Wt.editor,ce=ie.RichTextToolbarButton,le=ie.RichTextShortcut,ue=Wt.components,se=ue.Path,de=ue.SVG,ve=Zt(de,{viewBox:"-85 -985 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Zt(se,{"aria-hidden":"true",role:"img",focusable:"false",transform:"scale(1, -1)",translate:"(0, -960)",d:"M768 754v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z"})),me=Zt(de,{viewBox:"-85 -975 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Zt(se,{"aria-hidden":"true",role:"img",focusable:"false",transform:"scale(1, -1)",translate:"(0, -960)",d:"M768 50v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z"}));function pe(t,e,r){e(ne(t,{type:r}))}function fe(t,e){var r=t.type,o=t.tagName,n=t.title,a=t.character,i=t.icon;re(r,{title:n,tagName:o,className:null,edit:function(t){var o=t.isActive,c=t.value,l=t.onChange,u=null;return e||(u=Zt(ce,{title:n,icon:i,onClick:function(){return pe(c,l,r)},isActive:o,shortcutType:"primary",shortcutCharacter:a})),Zt(te,null,Zt(le,{type:"primary",character:a,onUse:function(){return pe(c,l,r)}}),u)}})}var he,ge=window.wp,be=ge.element.createElement,ye=ge.data.select,ke=ge.hooks.addFilter,Te=ge.components,we=Te.PanelBody,xe=Te.Toolbar,Fe=ge.editor.InspectorControls,Ce=ge.richText,Be=Ce.registerFormatType,Ne=Ce.unregisterFormatType,Ae=window.tadvBlockButtons||{},Se=Ae.buttons?Ae.buttons.split(","):[],_e=Ae.panelButtons?Ae.panelButtons.split(","):[],Re=Ae.unusedButtons?Ae.unusedButtons.split(","):[],Ee={"tadv/mark":function(t){dt("tadv/mark",{title:rt.strMark,tagName:"mark",className:null,edit:function(e){var r=e.isActive,o=e.value,n=e.onChange,a=null;return t||(a=nt(lt,{title:rt.strMark,icon:"editor-textcolor",onClick:function(){return pt(o,n)},className:"tadv-icon-button-mark",isActive:r,shortcutType:"access",shortcutCharacter:"m"})),nt(at,null,nt(ut,{type:"access",character:"m",onUse:function(){return pt(o,n)}}),a)}})},"tadv/removeformat":function(t){T("tadv/removeformat",{title:g.strRemoveFormatting||"Remove formatting",tagName:"u",className:"remove-format",edit:function(e){e.isActive;var r=e.value,o=e.onChange;return t?null:x(y,{icon:"editor-removeformatting",title:g.strRemoveFormatting,onClick:function(){return o(B(r))},isActive:null})}})},"tadv/sub":function(t){fe({type:"tadv/sub",tagName:"sub",title:Xt.strSubscript,character:",",icon:me},t)},"tadv/sup":function(t){fe({type:"tadv/sup",tagName:"sup",title:Xt.strSuperscript,character:".",icon:ve},t)},"core/code":function(t){X("core/code",{title:D("Code"),tagName:"code",className:null,edit:function(e){var r=e.isActive,o=e.value,n=e.onChange,a=null;return t||(a=$(K,{icon:"editor-code",title:D("Code"),onClick:function(){return tt(o,n)},isActive:r,shortcutType:"access",shortcutCharacter:"x"})),$(q,null,$(Q,{type:"access",character:"x",onUse:function(){return tt(o,n)}}),a)}})},"core/strikethrough":function(t){j("core/strikethrough",{name:"core/strikethrough",title:R("Strikethrough"),tagName:"del",className:null,edit:function(e){var r=e.isActive,o=e.value,n=e.onChange,a=null;return t||(a=S(P,{name:"strikethrough",icon:"editor-strikethrough",title:R("Strikethrough"),onClick:function(){return L(o,n)},isActive:r,shortcutType:"access",shortcutCharacter:"d"})),S(_,null,S(M,{type:"access",character:"d",onUse:function(){return L(o,n)}}),a)}})},"core/underline":function(t){Ct("core/underline",{title:ht.strUnderline,tagName:"span",className:"underline",attributes:{style:"style"},edit:function(e){var r=e.isActive,o=e.value,n=e.onChange,a=null;return t||(a=bt(wt,{title:ht.strUnderline,icon:"editor-underline",onClick:function(){return St(r,o,n)},className:null,isActive:r,shortcutType:"primary",shortcutCharacter:"u"})),bt(yt,null,bt(xt,{type:"primary",character:"u",onUse:function(){return St(r,o,n)}}),a)}})}},Oe={"core/bold":function(t,e,r){return Et(Pt,{key:"core/bold",icon:"editor-bold",className:"tadv-icon-button",isActive:jt(e,"core/bold"),title:Ot("Bold"),onClick:function(){return It(e,r)}})},"core/italic":function(t,e,r){return Vt(qt,{key:"core/italic",icon:"editor-italic",className:"tadv-icon-button",isActive:Jt(e,"core/italic"),title:$t("Italic"),onClick:function(){return Qt(e,r)}})},"core/code":function(t,e,r){return $(H,{key:"core/code",icon:"editor-code",className:"tadv-icon-button",isActive:Y(e,"core/code"),title:D("Code"),onClick:function(){return tt(e,r)}})},"core/strikethrough":function(t,e,r){return S(E,{key:"core/strikethrough",icon:"editor-strikethrough",className:"tadv-icon-button",isActive:z(e,"core/strikethrough"),title:R("Strikethrough"),onClick:function(){return L(e,r)}})},"core/underline":function(t,e,r){var o=!!Bt(e,"core/underline");return bt(kt,{key:"core/underline",icon:"editor-underline",className:"tadv-icon-button",isActive:o,title:ht.strUnderline,onClick:function(){return St(o,e,r)}})},"tadv/removeformat":function(t,e,r){return x(F,{key:"tadv/removeformat",icon:"editor-removeformatting",className:"tadv-icon-button",title:g.strRemoveFormatting,onClick:function(){return r(B(e))}})},"tadv/mark":function(t,e,r){return nt(it,{key:"tadv/mark",icon:"editor-textcolor",className:"tadv-icon-button tadv-icon-button-mark",isActive:vt(e,"tadv/mark"),title:rt.strMark,onClick:function(){return pt(e,r)}})},"tadv/sup":function(t,e,r){return Zt(ae,{key:"tadv/sup",icon:ve,className:"tadv-icon-button",isActive:oe(e,"tadv/sup"),title:Xt.strSuperscript,onClick:function(){return pe(e,r,"tadv/sup")}})},"tadv/sub":function(t,e,r){return Zt(ae,{key:"tadv/sub",icon:me,className:"tadv-icon-button",isActive:oe(e,"tadv/sub"),title:Xt.strSubscript,onClick:function(){return pe(e,r,"tadv/sub")}})}};function Pe(t){(function(t){var e=ye("core/rich-text").getFormatTypes(),r=!1;return e.forEach(function(e){e.name===t&&(r=!0)}),r})(t)&&Ne(t)}function Me(){Re.length&&Re.forEach(function(t){Pe(t)}),Se.forEach(function(t){Ee.hasOwnProperty(t)&&(Pe(t),Ee[t].call(null))}),_e.length&&(_e.forEach(function(t){-1===Se.indexOf(t)&&Ee.hasOwnProperty(t)&&(Pe(t),Ee[t].call(null,"panel"))}),Be("tadv/tadv-format-panel",{title:Ae.strFormatting,tagName:"span",className:"tadv-format-panel",edit:function(t){var e=t.isActive,r=t.value,o=t.onChange,n=[];return _e.forEach(function(t){Oe.hasOwnProperty(t)&&n.push(Oe[t].call(null,e,r,o))}),be(Fe,null,be(we,{title:Ae.strFormatting,className:"tadv-buttons-panel"},be(xe,null,n)))}})),function(){if(o.colorPanel){var t=o.colorPanel.indexOf("tadv/color-panel")>-1,e=o.colorPanel.indexOf("tadv/background-color-panel")>-1;t&&d("tadv/color-panel",{title:o.strTextColor,tagName:"span",className:"tadv-color",attributes:{style:"style"},edit:function(t){var r,n,c=t.isActive,s=t.value,d=t.onChange;if(c){var h=p(s,"tadv/color-panel"),g=a(h,["attributes","style"])||"",b=p(s,"tadv/background-color-panel"),y=a(b,["attributes","style"])||"";r=f(g),n=f(y)}var k=[{value:r,onChange:function(t){d(t?v(s,{type:"tadv/color-panel",attributes:{style:"color:"+t}}):m(s,"tadv/color-panel"))},label:o.strTextColorLabel}];return e&&k.push({value:n,onChange:function(t){d(t?v(s,{type:"tadv/background-color-panel",attributes:{style:"background-color:"+t}}):m(s,"tadv/background-color-panel"))},label:o.strBackgroundColorLabel}),i(l,null,i(u,{title:o.strTextColor,initialOpen:!1,colorSettings:k}))}}),d("tadv/background-color-panel",{title:o.strBackgroundColor,tagName:"span",className:"tadv-background-color",attributes:{style:"style"},edit:function(r){var n,c=r.isActive,s=r.value,d=r.onChange;if(!e||t)return null;if(c){var h=p(s,"tadv/background-color-panel");n=f(a(h,["attributes","style"])||"")}var g=[{value:n,onChange:function(t){d(t?v(s,{type:"tadv/background-color-panel",attributes:{style:"background-color:"+t}}):m(s,"tadv/background-color-panel"))},label:o.strBackgroundColorLabel}];return i(l,null,i(u,{title:o.strTextColor,initialOpen:!1,colorSettings:g}))}})}}()}ke("blocks.registerBlockType","tadv-register-formats",function(t){return he||(Me(),he=!0),t})}});
|
1 |
+
!function(t){var e={};function o(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=10)}({10:function(t,e,o){"use strict";o.r(e);var n=window.tadvBlockButtons,r=window.wp,a=window.lodash.get,c=r.element.createElement,i=r.blockEditor,l=i.InspectorControls,u=i.PanelColorSettings,s=r.richText,d=s.registerFormatType,v=s.applyFormat,m=s.removeFormat,p=s.getActiveFormat;function f(t){return(t=t.replace(/.*?(background-)?color:\s*/,"")).replace(/[; ]+$/,"")}var h,g=window.tadvBlockButtons||{},b=window.wp,y=b.blockEditor.RichTextToolbarButton,k=b.richText,T=k.registerFormatType,w=k.removeFormat,x=b.element.createElement,F=b.components.ToolbarButton;function C(t){var e=[];return h||(h=g.formats_to_remove&&g.formats_to_remove.indexOf(",")>-1?g.formats_to_remove.split(","):["core/bold","core/italic","core/code","core/underline","core/strikethrough","tadv/sup","tadv/sub","tadv/mark","tadv/color-panel","tadv/background-color-panel"]),t.forEach(function(t){t&&t.forEach(function(t){h.indexOf(t.type)>-1&&-1===e.indexOf(t.type)&&e.push(t.type)})}),e}function B(t){var e=t.formats;if(!e.length)return t;var o=0,n=e.length;t.end>t.start&&(o=t.start,n=t.end,e=e.slice(o,n));var r=C(e);return r.length?(r.forEach(function(e){t=w(t,e,o,n)}),t):t}var N="tadv/removeformat",A=g.strRemoveFormatting||"Remove formatting",E="editor-removeformatting";var _=window.wp,S=_.element,O=S.createElement,R=S.Fragment,P=_.i18n.__,M=_.components.ToolbarButton,j=_.blockEditor,U=j.RichTextToolbarButton,I=j.RichTextShortcut,z=_.richText,L=z.registerFormatType,G=z.getActiveFormat,V=z.toggleFormat,$=(z.applyFormat,z.removeFormat,"core/strikethrough"),q=P("Strikethrough"),D="editor-strikethrough";function H(t,e){e(V(t,{type:$}))}var J=window.wp,K=J.element,Q=K.createElement,W=K.Fragment,X=J.i18n.__,Y=J.components.ToolbarButton,Z=J.blockEditor,tt=Z.RichTextToolbarButton,et=Z.RichTextShortcut,ot=J.richText,nt=ot.registerFormatType,rt=ot.getActiveFormat,at=ot.toggleFormat,ct=ot.applyFormat,it=ot.remove,lt="core/code",ut=X("Inline Code"),st="editor-code";function dt(t,e){e(at(t,{type:lt}))}var vt=window.wp,mt=window.tadvBlockButtons||{},pt=vt.element,ft=pt.createElement,ht=pt.Fragment,gt=(vt.i18n.__,vt.components.ToolbarButton),bt=vt.blockEditor,yt=bt.RichTextToolbarButton,kt=bt.RichTextShortcut,Tt=vt.richText,wt=Tt.registerFormatType,xt=Tt.getActiveFormat,Ft=Tt.toggleFormat,Ct=(Tt.applyFormat,Tt.removeFormat,"tadv/mark"),Bt=mt.strMark||"Mark",Nt="editor-textcolor";function At(t,e){e(Ft(t,{type:Ct}))}var Et=window.wp,_t=window.tadvBlockButtons||{},St=Et.element,Ot=St.createElement,Rt=St.Fragment,Pt=Et.i18n.__,Mt=Et.components.ToolbarButton,jt=Et.blockEditor,Ut=jt.RichTextToolbarButton,It=jt.RichTextShortcut,zt=Et.richText,Lt=zt.registerFormatType,Gt=zt.getActiveFormat,Vt=zt.applyFormat,$t=zt.removeFormat,qt="core/underline",Dt=Pt("Underline"),Ht="editor-underline";function Jt(t,e){Gt(t,qt)?e($t(t,qt)):e(Vt(t,{type:qt,attributes:{style:"text-decoration: underline"}}))}var Kt=window.wp,Qt=Kt.element,Wt=Qt.createElement,Xt=(Qt.Fragment,Kt.i18n.__),Yt=Kt.components.ToolbarButton,Zt=Kt.blockEditor,te=(Zt.RichTextToolbarButton,Zt.RichTextShortcut,Kt.richText),ee=(te.registerFormatType,te.getActiveFormat),oe=te.toggleFormat;function ne(t,e){e(oe(t,{type:"core/bold"}))}var re=window.wp,ae=re.element,ce=ae.createElement,ie=(ae.Fragment,re.i18n.__),le=re.components.ToolbarButton,ue=re.blockEditor,se=(ue.RichTextToolbarButton,ue.RichTextShortcut,re.richText),de=(se.registerFormatType,se.getActiveFormat),ve=se.toggleFormat;function me(t,e){e(ve(t,{type:"core/italic"}))}var pe=window.wp,fe=window.tadvBlockButtons,he=pe.element,ge=he.createElement,be=he.Fragment,ye=pe.richText,ke=ye.registerFormatType,Te=ye.getActiveFormat,we=ye.toggleFormat,xe=pe.components.ToolbarButton,Fe=pe.blockEditor,Ce=Fe.RichTextToolbarButton,Be=Fe.RichTextShortcut,Ne=pe.components,Ae=Ne.Path,Ee=Ne.SVG,_e=ge(Ee,{viewBox:"-85 -985 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ge(Ae,{"aria-hidden":"true",role:"img",focusable:"false",transform:"scale(1, -1)",translate:"(0, -960)",d:"M768 754v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z"})),Se=ge(Ee,{viewBox:"-85 -975 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ge(Ae,{"aria-hidden":"true",role:"img",focusable:"false",transform:"scale(1, -1)",translate:"(0, -960)",d:"M768 50v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z"}));function Oe(t,e,o){e(we(t,{type:o}))}function Re(t,e){var o=t.type,n=t.tagName,r=t.title,a=t.character,c=t.icon;ke(o,{title:r,tagName:n,className:null,edit:function(t){var n=t.isActive,i=t.value,l=t.onChange,u=null,s=ge(Be,{type:"primary",character:a,onUse:function(){return Oe(i,l,o)}});return e||(u=ge(Ce,{title:r,icon:c,onClick:function(){return Oe(i,l,o)},isActive:n,shortcutType:"primary",shortcutCharacter:a})),ge(be,null,s,u)}})}var Pe,Me=window.wp,je=Me.element.createElement,Ue=Me.data.select,Ie=Me.hooks.addFilter,ze=Me.components,Le=ze.PanelBody,Ge=ze.Toolbar,Ve=Me.blockEditor.InspectorControls,$e=Me.richText,qe=$e.registerFormatType,De=$e.unregisterFormatType,He=window.tadvBlockButtons||{},Je=He.buttons?He.buttons.split(","):[],Ke=He.panelButtons?He.panelButtons.split(","):[],Qe=He.unusedButtons?He.unusedButtons.split(","):[],We={"tadv/mark":function(t){wt(Ct,{title:mt.strMark,tagName:"mark",className:null,edit:function(e){var o=e.isActive,n=e.value,r=e.onChange,a=null,c=ft(kt,{type:"access",character:"m",onUse:function(){return At(n,r)}});return t||(a=ft(yt,{icon:Nt,title:Bt,onClick:function(){return At(n,r)},className:"tadv-icon-button-mark",isActive:o,shortcutType:"access",shortcutCharacter:"m"})),ft(ht,null,c,a)}})},"tadv/removeformat":function(t){T(N,{title:A,tagName:"u",className:"remove-format",edit:function(e){e.isActive;var o=e.value,n=e.onChange;return t?null:x(y,{icon:E,title:A,onClick:function(){return n(B(o))},isActive:null})}})},"tadv/sub":function(t){Re({type:"tadv/sub",tagName:"sub",title:fe.strSubscript,character:",",icon:Se},t)},"tadv/sup":function(t){Re({type:"tadv/sup",tagName:"sup",title:fe.strSuperscript,character:".",icon:_e},t)},"core/code":function(t){nt(lt,{title:ut,tagName:"code",className:null,__unstableInputRule:function(t){var e=t,o=e.start,n=e.text;if("`"!==n.slice(o-1,o))return t;var r=n.slice(0,o-1).lastIndexOf("`");if(-1===r)return t;var a=r,c=o-2;return a===c?t:(t=it(t,a,a+1),t=it(t,c,c+1),t=ct(t,{type:lt},a,c))},edit:function(e){var o=e.isActive,n=e.value,r=e.onChange,a=null,c=Q(et,{type:"access",character:"x",onUse:function(){return dt(n,r)}});return t||(a=Q(tt,{icon:st,title:ut,onClick:function(){return dt(n,r)},isActive:o,shortcutType:"access",shortcutCharacter:"x"})),Q(W,null,c,a)}})},"core/strikethrough":function(t){L($,{name:$,title:q,tagName:"s",className:null,edit:function(e){var o=e.isActive,n=e.value,r=e.onChange,a=null,c=O(I,{type:"access",character:"d",onUse:function(){return H(n,r)}});return t||(a=O(U,{icon:D,title:q,onClick:function(){return H(n,r)},isActive:o,shortcutType:"access",shortcutCharacter:"d"})),O(R,null,c,a)}})},"core/underline":function(t){Lt(qt,{title:Dt,tagName:"span",className:"underline",attributes:{style:"style"},edit:function(e){var o=e.isActive,n=e.value,r=e.onChange,a=null,c=Ot(It,{type:"primary",character:"u",onUse:function(){return Jt(n,r)}});return t||(a=Ot(Ut,{title:_t.strUnderline,icon:"editor-underline",onClick:function(){return Jt(n,r)},className:null,isActive:o,shortcutType:"primary",shortcutCharacter:"u"})),Ot(Rt,null,c,a)}})}},Xe={"core/bold":function(t,e,o){return Wt(Yt,{key:"core/bold",icon:"editor-bold",className:"tadv-icon-button",isActive:ee(e,"core/bold"),title:Xt("Bold"),onClick:function(){return ne(e,o)}})},"core/italic":function(t,e,o){return ce(le,{key:"core/italic",icon:"editor-italic",className:"tadv-icon-button",isActive:de(e,"core/italic"),title:ie("Italic"),onClick:function(){return me(e,o)}})},"core/code":function(t,e,o){return Q(Y,{key:lt,icon:st,className:"tadv-icon-button",isActive:rt(e,lt),title:ut,onClick:function(){return dt(e,o)}})},"core/strikethrough":function(t,e,o){return O(M,{key:$,icon:D,title:q,className:"tadv-icon-button",isActive:G(e,$),onClick:function(){return H(e,o)}})},"core/underline":function(t,e,o){return Ot(Mt,{key:qt,title:Dt,icon:Ht,className:"tadv-icon-button",isActive:Gt(e,qt),onClick:function(){return Jt(e,o)}})},"tadv/removeformat":function(t,e,o){return x(F,{key:N,icon:E,title:A,className:"tadv-icon-button",onClick:function(){return o(B(e))}})},"tadv/mark":function(t,e,o){return ft(gt,{key:Ct,icon:Nt,title:Bt,className:"tadv-icon-button tadv-icon-button-mark",isActive:xt(e,Ct),onClick:function(){return At(e,o)}})},"tadv/sup":function(t,e,o){var n="tadv/sup",r={key:n,icon:_e,className:"tadv-icon-button",isActive:Te(e,n),title:fe.strSuperscript,onClick:function(){return Oe(e,o,n)}};return ge(xe,r)},"tadv/sub":function(t,e,o){var n="tadv/sub",r={key:n,icon:Se,className:"tadv-icon-button",isActive:Te(e,n),title:fe.strSubscript,onClick:function(){return Oe(e,o,n)}};return ge(xe,r)}};function Ye(t){(function(t){var e=Ue("core/rich-text").getFormatTypes(),o=!1;return e.forEach(function(e){e.name===t&&(o=!0)}),o})(t)&&De(t)}function Ze(){Qe.length&&Qe.forEach(function(t){Ye(t)}),Je.forEach(function(t){We.hasOwnProperty(t)&&(Ye(t),We[t].call(null))}),Ke.length&&(Ke.forEach(function(t){-1===Je.indexOf(t)&&We.hasOwnProperty(t)&&(Ye(t),We[t].call(null,"panel"))}),qe("tadv/tadv-format-panel",{title:He.strFormatting,tagName:"span",className:"tadv-format-panel",edit:function(t){var e=t.isActive,o=t.value,n=t.onChange,r=[];return Ke.forEach(function(t){Xe.hasOwnProperty(t)&&r.push(Xe[t].call(null,e,o,n))}),je(Ve,null,je(Le,{title:He.strFormatting,className:"tadv-buttons-panel"},je(Ge,null,r)))}})),function(){if(n.colorPanel){var t=n.colorPanel.indexOf("tadv/color-panel")>-1,e=n.colorPanel.indexOf("tadv/background-color-panel")>-1;t&&d("tadv/color-panel",{title:n.strTextColor,tagName:"span",className:"tadv-color",attributes:{style:"style"},edit:function(t){var o,r,i=t.isActive,s=t.value,d=t.onChange;if(i){var h=p(s,"tadv/color-panel"),g=a(h,["attributes","style"])||"",b=p(s,"tadv/background-color-panel"),y=a(b,["attributes","style"])||"";o=f(g),r=f(y)}var k=[{value:o,onChange:function(t){d(t?v(s,{type:"tadv/color-panel",attributes:{style:"color:"+t}}):m(s,"tadv/color-panel"))},label:n.strTextColorLabel}];return e&&k.push({value:r,onChange:function(t){d(t?v(s,{type:"tadv/background-color-panel",attributes:{style:"background-color:"+t}}):m(s,"tadv/background-color-panel"))},label:n.strBackgroundColorLabel}),c(l,null,c(u,{title:n.strTextColor,initialOpen:!1,colorSettings:k}))}}),d("tadv/background-color-panel",{title:n.strBackgroundColor,tagName:"span",className:"tadv-background-color",attributes:{style:"style"},edit:function(o){var r,i=o.isActive,s=o.value,d=o.onChange;if(!e||t)return null;if(i){var h=p(s,"tadv/background-color-panel");r=f(a(h,["attributes","style"])||"")}var g=[{value:r,onChange:function(t){d(t?v(s,{type:"tadv/background-color-panel",attributes:{style:"background-color:"+t}}):m(s,"tadv/background-color-panel"))},label:n.strBackgroundColorLabel}];return c(l,null,c(u,{title:n.strTextColor,initialOpen:!1,colorSettings:g}))}})}}()}Ie("blocks.registerBlockType","tadv-register-formats",function(t){return Pe||(Ze(),Pe=!0),t})}});
|
block-editor/tma-block-editor.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.block-library-classic__toolbar
|
1 |
+
div[data-type="core/freeform"].is-selected .block-library-classic__toolbar,div[data-type="core/freeform"].is-typing .block-library-classic__toolbar{display:block;border-color:transparent}.block-library-classic__toolbar .mce-btn .mce-txt{font-size:13px;color:#454545}.mce-tinymce-inline .mce-menubar>div,.mce-tinymce-inline .mce-toolbar .mce-btn-group>div{white-space:normal}div.mce-menubar,div.mce-menubar *{box-sizing:border-box}.block-library-classic__toolbar .mce-menubar{padding:2px 2px 1px}.block-library-classic__toolbar .mce-menubar .mce-menubtn button span{font-size:13px}.block-library-classic__toolbar .mce-menubar i.mce-caret{margin-top:.35em}.block-library-classic__toolbar .mce-menubar .mce-flow-layout-item{margin:2px 0}div.mce-menubar.mce-toolbar .mce-btn button{padding:3px 4px 2px}div.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}div.mce-menubar .mce-menubtn:focus{color:#124964;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}div.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{border-bottom:1px solid #ddd;height:0;margin:5px 0}div.mce-menubtn span{margin-right:0;padding-left:3px}div.mce-menu-has-icons i.mce-ico:before{margin-left:0}div.mce-menu-has-icons i.mce-ico{line-height:16px}.wp-core-ui .mce-menu-item .mce-text{font-size:13px}.block-library-classic__toolbar .mce-menubar .mce-menubtn.mce-active,.block-library-classic__toolbar .mce-menubar .mce-menubtn:focus,.block-library-classic__toolbar .mce-menubar .mce-menubtn:hover{border-color:transparent}.block-library-classic__toolbar .mce-menubar .mce-menubtn.mce-active span,.block-library-classic__toolbar .mce-menubar .mce-menubtn:focus span,.block-library-classic__toolbar .mce-menubar .mce-menubtn:hover span{color:#000}.mce-inline-toolbar-grp div.wp-link-input{margin:2px 4px}.mce-inline-toolbar-grp div.wp-link-input input{padding:4px}div.mce-menu-item.mce-menu-item-preview.mce-active:hover,div.mce-menu .mce-menu-item-normal.mce-active,div.mce-menu .mce-menu-item-preview.mce-active,div.mce-menu .mce-menu-item.mce-selected,div.mce-menu .mce-menu-item:focus,div.mce-menu .mce-menu-item:hover{background:#0073aa;color:#fff}div.mce-menu-item.mce-active .mce-menu-shortcut,div.mce-menu-item.mce-disabled:hover .mce-ico,div.mce-menu-item.mce-disabled:hover .mce-text,div.mce-menu-item.mce-menu-item-preview.mce-active .mce-ico,div.mce-menu-item.mce-menu-item-preview.mce-active .mce-text,div.mce-menu-item:focus .mce-ico,div.mce-menu-item:focus .mce-menu-shortcut,div.mce-menu-item:focus .mce-text,div.mce-menu-item:hover .mce-ico,div.mce-menu-item:hover .mce-menu-shortcut,div.mce-menu-item:hover .mce-text{color:inherit}div.mce-menu .mce-menu-item.mce-disabled{cursor:default}div.mce-menu .mce-menu-item.mce-disabled:hover{background:#ccc}div.mce-inline-toolbar-grp .mce-btn.mce-active:hover button,div.mce-inline-toolbar-grp .mce-btn.mce-active:hover i,div.mce-inline-toolbar-grp .mce-btn.mce-active button,div.mce-inline-toolbar-grp .mce-btn.mce-active i,div.mce-inline-toolbar-grp .mce-btn:hover i,div.mce-toolbar-grp .mce-btn.mce-active:hover button,div.mce-toolbar-grp .mce-btn.mce-active:hover i div.mce-inline-toolbar-grp .mce-btn:hover button,div.mce-toolbar-grp .mce-btn.mce-active button,div.mce-toolbar-grp .mce-btn.mce-active i,div.mce-toolbar-grp .mce-btn:hover button,div.mce-toolbar-grp .mce-btn:hover i{color:#191e23}div.mce-inline-toolbar-grp .mce-btn i,div.mce-toolbar-grp .mce-btn i{font-style:normal}div.mce-widget.mce-tooltip .mce-tooltip-inner{font-size:13px;opacity:1}.mce-toolbar-grp .mce-toolbar .mce-btn-group .mce-btn{margin:0}.mce-inline-toolbar-grp.mce-panel .mce-toolbar .mce-btn{margin:2px 1px}.mce-inline-toolbar-grp.mce-panel .mce-toolbar .mce-btn button{padding:3px}.wp-block-freeform.block-library-rich-text__tinymce table{width:100%}
|
mce/advlist/plugin.js
CHANGED
@@ -132,7 +132,7 @@ var advlist = (function () {
|
|
132 |
if (styles.length > 0) {
|
133 |
addSplitButton(editor, id, tooltip, cmd, nodeName, styles);
|
134 |
} else {
|
135 |
-
addButton(editor, id, tooltip, cmd, nodeName
|
136 |
}
|
137 |
};
|
138 |
var register$1 = function (editor) {
|
132 |
if (styles.length > 0) {
|
133 |
addSplitButton(editor, id, tooltip, cmd, nodeName, styles);
|
134 |
} else {
|
135 |
+
addButton(editor, id, tooltip, cmd, nodeName);
|
136 |
}
|
137 |
};
|
138 |
var register$1 = function (editor) {
|
mce/print/plugin.js
CHANGED
@@ -4,9 +4,15 @@ var print = (function () {
|
|
4 |
|
5 |
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
6 |
|
|
|
|
|
7 |
var register = function (editor) {
|
8 |
editor.addCommand('mcePrint', function () {
|
9 |
-
|
|
|
|
|
|
|
|
|
10 |
});
|
11 |
};
|
12 |
var Commands = { register: register };
|
4 |
|
5 |
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
6 |
|
7 |
+
var global$1 = tinymce.util.Tools.resolve('tinymce.Env');
|
8 |
+
|
9 |
var register = function (editor) {
|
10 |
editor.addCommand('mcePrint', function () {
|
11 |
+
if (global$1.ie && global$1.ie <= 11) {
|
12 |
+
editor.getDoc().execCommand('print', false, null);
|
13 |
+
} else {
|
14 |
+
editor.getWin().print();
|
15 |
+
}
|
16 |
});
|
17 |
};
|
18 |
var Commands = { register: register };
|
mce/print/plugin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(t){t.addCommand("mcePrint",function(){t.getWin().print()})},
|
1 |
+
!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.Env"),i=function(t){t.addCommand("mcePrint",function(){n.ie&&n.ie<=11?t.getDoc().execCommand("print",!1,null):t.getWin().print()})},e=function(t){t.addButton("print",{title:"Print",cmd:"mcePrint"}),t.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print"})};t.add("print",function(t){i(t),e(t),t.addShortcut("Meta+P","","mcePrint")})}();
|
mce/table/plugin.js
CHANGED
@@ -5,10 +5,6 @@ var table = (function (domGlobals) {
|
|
5 |
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
6 |
|
7 |
var noop = function () {
|
8 |
-
var args = [];
|
9 |
-
for (var _i = 0; _i < arguments.length; _i++) {
|
10 |
-
args[_i] = arguments[_i];
|
11 |
-
}
|
12 |
};
|
13 |
var compose = function (fa, fb) {
|
14 |
return function () {
|
@@ -55,9 +51,6 @@ var table = (function (domGlobals) {
|
|
55 |
throw new Error(msg);
|
56 |
};
|
57 |
};
|
58 |
-
var apply = function (f) {
|
59 |
-
return f();
|
60 |
-
};
|
61 |
var never = constant(false);
|
62 |
var always = constant(true);
|
63 |
|
@@ -115,8 +108,9 @@ var table = (function (domGlobals) {
|
|
115 |
},
|
116 |
toString: constant('none()')
|
117 |
};
|
118 |
-
if (Object.freeze)
|
119 |
Object.freeze(me);
|
|
|
120 |
return me;
|
121 |
}();
|
122 |
var some = function (a) {
|
@@ -191,13 +185,16 @@ var table = (function (domGlobals) {
|
|
191 |
};
|
192 |
|
193 |
var typeOf = function (x) {
|
194 |
-
if (x === null)
|
195 |
return 'null';
|
|
|
196 |
var t = typeof x;
|
197 |
-
if (t === 'object' && Array.prototype.isPrototypeOf(x))
|
198 |
return 'array';
|
199 |
-
|
|
|
200 |
return 'string';
|
|
|
201 |
return t;
|
202 |
};
|
203 |
var isType = function (type) {
|
@@ -211,6 +208,7 @@ var table = (function (domGlobals) {
|
|
211 |
var isFunction = isType('function');
|
212 |
var isNumber = isType('number');
|
213 |
|
|
|
214 |
var rawIndexOf = function () {
|
215 |
var pIndexOf = Array.prototype.indexOf;
|
216 |
var fastIndex = function (xs, x) {
|
@@ -258,29 +256,6 @@ var table = (function (domGlobals) {
|
|
258 |
}
|
259 |
return r;
|
260 |
};
|
261 |
-
var groupBy = function (xs, f) {
|
262 |
-
if (xs.length === 0) {
|
263 |
-
return [];
|
264 |
-
} else {
|
265 |
-
var wasType = f(xs[0]);
|
266 |
-
var r = [];
|
267 |
-
var group = [];
|
268 |
-
for (var i = 0, len = xs.length; i < len; i++) {
|
269 |
-
var x = xs[i];
|
270 |
-
var type = f(x);
|
271 |
-
if (type !== wasType) {
|
272 |
-
r.push(group);
|
273 |
-
group = [];
|
274 |
-
}
|
275 |
-
wasType = type;
|
276 |
-
group.push(x);
|
277 |
-
}
|
278 |
-
if (group.length !== 0) {
|
279 |
-
r.push(group);
|
280 |
-
}
|
281 |
-
return r;
|
282 |
-
}
|
283 |
-
};
|
284 |
var foldr = function (xs, f, acc) {
|
285 |
eachr(xs, function (x) {
|
286 |
acc = f(acc, x);
|
@@ -323,8 +298,9 @@ var table = (function (domGlobals) {
|
|
323 |
var flatten = function (xs) {
|
324 |
var r = [];
|
325 |
for (var i = 0, len = xs.length; i < len; ++i) {
|
326 |
-
if (!
|
327 |
throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
|
|
|
328 |
push.apply(r, xs[i]);
|
329 |
}
|
330 |
return r;
|
@@ -342,17 +318,11 @@ var table = (function (domGlobals) {
|
|
342 |
}
|
343 |
return true;
|
344 |
};
|
345 |
-
var slice = Array.prototype.slice;
|
346 |
var reverse = function (xs) {
|
347 |
var r = slice.call(xs, 0);
|
348 |
r.reverse();
|
349 |
return r;
|
350 |
};
|
351 |
-
var sort = function (xs, comparator) {
|
352 |
-
var copy = slice.call(xs, 0);
|
353 |
-
copy.sort(comparator);
|
354 |
-
return copy;
|
355 |
-
};
|
356 |
var last = function (xs) {
|
357 |
return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]);
|
358 |
};
|
@@ -407,28 +377,30 @@ var table = (function (domGlobals) {
|
|
407 |
};
|
408 |
};
|
409 |
|
410 |
-
var sort
|
411 |
return arr.slice(0).sort();
|
412 |
};
|
413 |
var reqMessage = function (required, keys) {
|
414 |
-
throw new Error('All required keys (' + sort
|
415 |
};
|
416 |
var unsuppMessage = function (unsupported) {
|
417 |
-
throw new Error('Unsupported keys for object: ' + sort
|
418 |
};
|
419 |
var validateStrArr = function (label, array) {
|
420 |
-
if (!isArray(array))
|
421 |
throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.');
|
|
|
422 |
each(array, function (a) {
|
423 |
-
if (!isString(a))
|
424 |
throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.');
|
|
|
425 |
});
|
426 |
};
|
427 |
var invalidTypeMessage = function (incorrect, type) {
|
428 |
-
throw new Error('All values need to be of type: ' + type + '. Keys (' + sort
|
429 |
};
|
430 |
var checkDupes = function (everything) {
|
431 |
-
var sorted = sort
|
432 |
var dupe = find(sorted, function (s, i) {
|
433 |
return i < sorted.length - 1 && s === sorted[i + 1];
|
434 |
});
|
@@ -439,8 +411,9 @@ var table = (function (domGlobals) {
|
|
439 |
|
440 |
var MixedBag = function (required, optional) {
|
441 |
var everything = required.concat(optional);
|
442 |
-
if (everything.length === 0)
|
443 |
throw new Error('You must specify at least one required or optional field.');
|
|
|
444 |
validateStrArr('required', required);
|
445 |
validateStrArr('optional', optional);
|
446 |
checkDupes(everything);
|
@@ -449,13 +422,15 @@ var table = (function (domGlobals) {
|
|
449 |
var allReqd = forall(required, function (req) {
|
450 |
return contains(keys$1, req);
|
451 |
});
|
452 |
-
if (!allReqd)
|
453 |
reqMessage(required, keys$1);
|
|
|
454 |
var unsupported = filter(keys$1, function (key) {
|
455 |
return !contains(everything, key);
|
456 |
});
|
457 |
-
if (unsupported.length > 0)
|
458 |
unsuppMessage(unsupported);
|
|
|
459 |
var r = {};
|
460 |
each(required, function (req) {
|
461 |
r[req] = constant(obj[req]);
|
@@ -480,6 +455,32 @@ var table = (function (domGlobals) {
|
|
480 |
var ENTITY = domGlobals.Node.ENTITY_NODE;
|
481 |
var NOTATION = domGlobals.Node.NOTATION_NODE;
|
482 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
483 |
var name = function (element) {
|
484 |
var r = element.dom().nodeName;
|
485 |
return r.toLowerCase();
|
@@ -497,7 +498,6 @@ var table = (function (domGlobals) {
|
|
497 |
};
|
498 |
var isElement = isType$1(ELEMENT);
|
499 |
var isText = isType$1(TEXT);
|
500 |
-
var isDocument = isType$1(DOCUMENT);
|
501 |
|
502 |
var rawSet = function (dom, key, value) {
|
503 |
if (isString(value) || isBoolean(value) || isNumber(value)) {
|
@@ -535,10 +535,12 @@ var table = (function (domGlobals) {
|
|
535 |
};
|
536 |
|
537 |
var checkRange = function (str, substr, start) {
|
538 |
-
if (substr === '')
|
539 |
return true;
|
540 |
-
|
|
|
541 |
return false;
|
|
|
542 |
var x = str.substr(start, start + substr.length);
|
543 |
return x === substr;
|
544 |
};
|
@@ -553,7 +555,7 @@ var table = (function (domGlobals) {
|
|
553 |
};
|
554 |
|
555 |
var isSupported = function (dom) {
|
556 |
-
return dom.style !== undefined;
|
557 |
};
|
558 |
|
559 |
var cached = function (f) {
|
@@ -681,30 +683,6 @@ var table = (function (domGlobals) {
|
|
681 |
}
|
682 |
};
|
683 |
|
684 |
-
var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')();
|
685 |
-
|
686 |
-
var path = function (parts, scope) {
|
687 |
-
var o = scope !== undefined && scope !== null ? scope : Global;
|
688 |
-
for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i)
|
689 |
-
o = o[parts[i]];
|
690 |
-
return o;
|
691 |
-
};
|
692 |
-
var resolve = function (p, scope) {
|
693 |
-
var parts = p.split('.');
|
694 |
-
return path(parts, scope);
|
695 |
-
};
|
696 |
-
|
697 |
-
var unsafe = function (name, scope) {
|
698 |
-
return resolve(name, scope);
|
699 |
-
};
|
700 |
-
var getOrDie = function (name, scope) {
|
701 |
-
var actual = unsafe(name, scope);
|
702 |
-
if (actual === undefined || actual === null)
|
703 |
-
throw name + ' not available on this browser';
|
704 |
-
return actual;
|
705 |
-
};
|
706 |
-
var Global$1 = { getOrDie: getOrDie };
|
707 |
-
|
708 |
var node = function () {
|
709 |
var f = Global$1.getOrDie('Node');
|
710 |
return f;
|
@@ -726,18 +704,20 @@ var table = (function (domGlobals) {
|
|
726 |
var firstMatch = function (regexes, s) {
|
727 |
for (var i = 0; i < regexes.length; i++) {
|
728 |
var x = regexes[i];
|
729 |
-
if (x.test(s))
|
730 |
return x;
|
|
|
731 |
}
|
732 |
return undefined;
|
733 |
};
|
734 |
var find$1 = function (regexes, agent) {
|
735 |
var r = firstMatch(regexes, agent);
|
736 |
-
if (!r)
|
737 |
return {
|
738 |
major: 0,
|
739 |
minor: 0
|
740 |
};
|
|
|
741 |
var group = function (i) {
|
742 |
return Number(agent.replace(r, '$' + i));
|
743 |
};
|
@@ -745,8 +725,9 @@ var table = (function (domGlobals) {
|
|
745 |
};
|
746 |
var detect = function (versionRegexes, agent) {
|
747 |
var cleanedAgent = String(agent).toLowerCase();
|
748 |
-
if (versionRegexes.length === 0)
|
749 |
return unknown();
|
|
|
750 |
return find$1(versionRegexes, cleanedAgent);
|
751 |
};
|
752 |
var unknown = function () {
|
@@ -912,8 +893,7 @@ var table = (function (domGlobals) {
|
|
912 |
name: 'Edge',
|
913 |
versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
|
914 |
search: function (uastring) {
|
915 |
-
|
916 |
-
return monstrosity;
|
917 |
}
|
918 |
},
|
919 |
{
|
@@ -1031,19 +1011,22 @@ var table = (function (domGlobals) {
|
|
1031 |
var ELEMENT$1 = ELEMENT;
|
1032 |
var DOCUMENT$1 = DOCUMENT;
|
1033 |
var is = function (element, selector) {
|
1034 |
-
var
|
1035 |
-
if (
|
1036 |
return false;
|
1037 |
-
} else if (elem.matches !== undefined) {
|
1038 |
-
return elem.matches(selector);
|
1039 |
-
} else if (elem.msMatchesSelector !== undefined) {
|
1040 |
-
return elem.msMatchesSelector(selector);
|
1041 |
-
} else if (elem.webkitMatchesSelector !== undefined) {
|
1042 |
-
return elem.webkitMatchesSelector(selector);
|
1043 |
-
} else if (elem.mozMatchesSelector !== undefined) {
|
1044 |
-
return elem.mozMatchesSelector(selector);
|
1045 |
} else {
|
1046 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1047 |
}
|
1048 |
};
|
1049 |
var bypassSelector = function (dom) {
|
@@ -1077,16 +1060,13 @@ var table = (function (domGlobals) {
|
|
1077 |
return Element.fromDom(element.dom().ownerDocument);
|
1078 |
};
|
1079 |
var defaultView = function (element) {
|
1080 |
-
|
1081 |
-
var defView = el.ownerDocument.defaultView;
|
1082 |
-
return Element.fromDom(defView);
|
1083 |
};
|
1084 |
var parent = function (element) {
|
1085 |
-
|
1086 |
-
return Option.from(dom.parentNode).map(Element.fromDom);
|
1087 |
};
|
1088 |
var parents = function (element, isRoot) {
|
1089 |
-
var stop = isFunction(isRoot) ? isRoot :
|
1090 |
var dom = element.dom();
|
1091 |
var ret = [];
|
1092 |
while (dom.parentNode !== null && dom.parentNode !== undefined) {
|
@@ -1102,16 +1082,13 @@ var table = (function (domGlobals) {
|
|
1102 |
return ret;
|
1103 |
};
|
1104 |
var prevSibling = function (element) {
|
1105 |
-
|
1106 |
-
return Option.from(dom.previousSibling).map(Element.fromDom);
|
1107 |
};
|
1108 |
var nextSibling = function (element) {
|
1109 |
-
|
1110 |
-
return Option.from(dom.nextSibling).map(Element.fromDom);
|
1111 |
};
|
1112 |
var children = function (element) {
|
1113 |
-
|
1114 |
-
return map(dom.childNodes, Element.fromDom);
|
1115 |
};
|
1116 |
var child = function (element, index) {
|
1117 |
var cs = element.dom().childNodes;
|
@@ -1192,6 +1169,7 @@ var table = (function (domGlobals) {
|
|
1192 |
remove$2(wrapper);
|
1193 |
};
|
1194 |
|
|
|
1195 |
var dimensions = Immutable('width', 'height');
|
1196 |
var grid = Immutable('rows', 'columns');
|
1197 |
var address = Immutable('row', 'column');
|
@@ -1205,21 +1183,6 @@ var table = (function (domGlobals) {
|
|
1205 |
var rowcells = Immutable('cells', 'section');
|
1206 |
var rowdetails = Immutable('details', 'section');
|
1207 |
var bounds = Immutable('startRow', 'startCol', 'finishRow', 'finishCol');
|
1208 |
-
var Structs = {
|
1209 |
-
dimensions: dimensions,
|
1210 |
-
grid: grid,
|
1211 |
-
address: address,
|
1212 |
-
coords: coords,
|
1213 |
-
extended: extended,
|
1214 |
-
detail: detail,
|
1215 |
-
detailnew: detailnew,
|
1216 |
-
rowdata: rowdata,
|
1217 |
-
elementnew: elementnew,
|
1218 |
-
rowdatanew: rowdatanew,
|
1219 |
-
rowcells: rowcells,
|
1220 |
-
rowdetails: rowdetails,
|
1221 |
-
bounds: bounds
|
1222 |
-
};
|
1223 |
|
1224 |
var ancestors = function (scope, predicate, isRoot) {
|
1225 |
return filter(parents(scope, isRoot), predicate);
|
@@ -1271,20 +1234,24 @@ var table = (function (domGlobals) {
|
|
1271 |
return Option.none();
|
1272 |
};
|
1273 |
var closest = function (scope, predicate, isRoot) {
|
1274 |
-
var is = function (s) {
|
1275 |
-
return
|
1276 |
};
|
1277 |
return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);
|
1278 |
};
|
1279 |
var child$1 = function (scope, predicate) {
|
1280 |
-
var
|
|
|
|
|
|
|
1281 |
return result.map(Element.fromDom);
|
1282 |
};
|
1283 |
var descendant = function (scope, predicate) {
|
1284 |
var descend = function (node) {
|
1285 |
for (var i = 0; i < node.childNodes.length; i++) {
|
1286 |
-
|
1287 |
-
|
|
|
1288 |
}
|
1289 |
var res = descend(node.childNodes[i]);
|
1290 |
if (res.isSome()) {
|
@@ -1326,8 +1293,10 @@ var table = (function (domGlobals) {
|
|
1326 |
filterFirstLayer: filterFirstLayer
|
1327 |
};
|
1328 |
|
1329 |
-
var lookup = function (tags, element,
|
1330 |
-
|
|
|
|
|
1331 |
if (isRoot(element)) {
|
1332 |
return Option.none();
|
1333 |
}
|
@@ -1382,7 +1351,7 @@ var table = (function (domGlobals) {
|
|
1382 |
var grid$1 = function (element, rowProp, colProp) {
|
1383 |
var rowsCount = attr(element, rowProp);
|
1384 |
var cols = attr(element, colProp);
|
1385 |
-
return
|
1386 |
};
|
1387 |
var TableLookup = {
|
1388 |
cell: cell,
|
@@ -1410,9 +1379,9 @@ var table = (function (domGlobals) {
|
|
1410 |
var cells = map(TableLookup.cells(row), function (cell) {
|
1411 |
var rowspan = has(cell, 'rowspan') ? parseInt(get(cell, 'rowspan'), 10) : 1;
|
1412 |
var colspan = has(cell, 'colspan') ? parseInt(get(cell, 'colspan'), 10) : 1;
|
1413 |
-
return
|
1414 |
});
|
1415 |
-
return
|
1416 |
});
|
1417 |
};
|
1418 |
var fromPastedRows = function (rows, example) {
|
@@ -1420,9 +1389,9 @@ var table = (function (domGlobals) {
|
|
1420 |
var cells = map(TableLookup.cells(row), function (cell) {
|
1421 |
var rowspan = has(cell, 'rowspan') ? parseInt(get(cell, 'rowspan'), 10) : 1;
|
1422 |
var colspan = has(cell, 'colspan') ? parseInt(get(cell, 'colspan'), 10) : 1;
|
1423 |
-
return
|
1424 |
});
|
1425 |
-
return
|
1426 |
});
|
1427 |
};
|
1428 |
var DetailsList = {
|
@@ -1456,12 +1425,12 @@ var table = (function (domGlobals) {
|
|
1456 |
var maxColumns = 0;
|
1457 |
each(list, function (details, r) {
|
1458 |
var currentRow = [];
|
1459 |
-
each(details.cells(), function (detail
|
1460 |
var start = 0;
|
1461 |
while (access[key(r, start)] !== undefined) {
|
1462 |
start++;
|
1463 |
}
|
1464 |
-
var current =
|
1465 |
for (var i = 0; i < detail.colspan(); i++) {
|
1466 |
for (var j = 0; j < detail.rowspan(); j++) {
|
1467 |
var cr = r + j;
|
@@ -1473,11 +1442,11 @@ var table = (function (domGlobals) {
|
|
1473 |
}
|
1474 |
currentRow.push(current);
|
1475 |
});
|
1476 |
-
cells.push(
|
1477 |
});
|
1478 |
-
var grid =
|
1479 |
return {
|
1480 |
-
grid: constant(grid),
|
1481 |
access: constant(access),
|
1482 |
all: constant(cells)
|
1483 |
};
|
@@ -1589,18 +1558,9 @@ var table = (function (domGlobals) {
|
|
1589 |
}
|
1590 |
return getOption(element).getOr('');
|
1591 |
};
|
1592 |
-
var
|
1593 |
-
try {
|
1594 |
-
return getOptionSafe(element);
|
1595 |
-
} catch (e) {
|
1596 |
-
return Option.none();
|
1597 |
-
}
|
1598 |
-
};
|
1599 |
-
var getOptionSafe = function (element) {
|
1600 |
return is(element) ? Option.from(element.dom().nodeValue) : Option.none();
|
1601 |
};
|
1602 |
-
var browser = PlatformDetection$1.detect().browser;
|
1603 |
-
var getOption = browser.isIE() && browser.version.major === 10 ? getOptionIE10 : getOptionSafe;
|
1604 |
var set = function (element, value) {
|
1605 |
if (!is(element)) {
|
1606 |
throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');
|
@@ -1709,8 +1669,8 @@ var table = (function (domGlobals) {
|
|
1709 |
});
|
1710 |
return replica;
|
1711 |
};
|
1712 |
-
var pasteReplace = function (
|
1713 |
-
return
|
1714 |
};
|
1715 |
var newRow = function (doc) {
|
1716 |
return function () {
|
@@ -1789,6 +1749,121 @@ var table = (function (domGlobals) {
|
|
1789 |
return children(Element.fromDom(div));
|
1790 |
};
|
1791 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1792 |
var TagBoundaries = [
|
1793 |
'body',
|
1794 |
'p',
|
@@ -1831,15 +1906,18 @@ var table = (function (domGlobals) {
|
|
1831 |
return element.dom().ownerDocument;
|
1832 |
};
|
1833 |
var isBoundary = function (element) {
|
1834 |
-
if (!isElement(element))
|
1835 |
return false;
|
1836 |
-
|
|
|
1837 |
return true;
|
|
|
1838 |
return contains(TagBoundaries, name(element));
|
1839 |
};
|
1840 |
var isEmptyTag = function (element) {
|
1841 |
-
if (!isElement(element))
|
1842 |
return false;
|
|
|
1843 |
return contains([
|
1844 |
'br',
|
1845 |
'img',
|
@@ -1919,6 +1997,7 @@ var table = (function (domGlobals) {
|
|
1919 |
}
|
1920 |
|
1921 |
var leftRight = Immutable('left', 'right');
|
|
|
1922 |
var bisect = function (universe, parent, child) {
|
1923 |
var children = universe.property().children(parent);
|
1924 |
var index = findIndex(children, curry(universe.eq, child));
|
@@ -1947,12 +2026,11 @@ var table = (function (domGlobals) {
|
|
1947 |
});
|
1948 |
};
|
1949 |
var breakPath = function (universe, item, isTop, breaker) {
|
1950 |
-
var result = Immutable('first', 'second', 'splits');
|
1951 |
var next = function (child, group, splits) {
|
1952 |
-
var fallback =
|
1953 |
-
if (isTop(child))
|
1954 |
-
return
|
1955 |
-
else {
|
1956 |
return universe.property().parent(child).bind(function (parent) {
|
1957 |
return breaker(universe, parent, child).map(function (breakage) {
|
1958 |
var extra = [{
|
@@ -1961,17 +2039,12 @@ var table = (function (domGlobals) {
|
|
1961 |
}];
|
1962 |
var nextChild = isTop(parent) ? parent : breakage.left();
|
1963 |
return next(nextChild, Option.some(breakage.right()), splits.concat(extra));
|
1964 |
-
})
|
1965 |
-
});
|
1966 |
}
|
1967 |
};
|
1968 |
return next(item, Option.none(), []);
|
1969 |
};
|
1970 |
-
var Breaker = {
|
1971 |
-
breakToLeft: breakToLeft,
|
1972 |
-
breakToRight: breakToRight,
|
1973 |
-
breakPath: breakPath
|
1974 |
-
};
|
1975 |
|
1976 |
var all$1 = function (universe, look, elements, f) {
|
1977 |
var head = elements[0];
|
@@ -1993,17 +2066,18 @@ var table = (function (domGlobals) {
|
|
1993 |
return end.filter(curry(universe.eq, s));
|
1994 |
});
|
1995 |
};
|
1996 |
-
var Shared = { oneAll: oneAll };
|
1997 |
|
1998 |
var eq$1 = function (universe, item) {
|
1999 |
return curry(universe.eq, item);
|
2000 |
};
|
2001 |
var unsafeSubset = function (universe, common, ps1, ps2) {
|
2002 |
var children = universe.property().children(common);
|
2003 |
-
if (universe.eq(common, ps1[0]))
|
2004 |
return Option.some([ps1[0]]);
|
2005 |
-
|
|
|
2006 |
return Option.some([ps2[0]]);
|
|
|
2007 |
var finder = function (ps) {
|
2008 |
var topDown = reverse(ps);
|
2009 |
var index = findIndex(topDown, eq$1(universe, common)).getOr(-1);
|
@@ -2020,8 +2094,10 @@ var table = (function (domGlobals) {
|
|
2020 |
});
|
2021 |
});
|
2022 |
};
|
2023 |
-
var ancestors$2 = function (universe, start, end,
|
2024 |
-
|
|
|
|
|
2025 |
var ps1 = [start].concat(universe.up().all(start));
|
2026 |
var ps2 = [end].concat(universe.up().all(end));
|
2027 |
var prune = function (path) {
|
@@ -2049,29 +2125,17 @@ var table = (function (domGlobals) {
|
|
2049 |
return unsafeSubset(universe, shared, ancs.firstpath(), ancs.secondpath());
|
2050 |
});
|
2051 |
};
|
2052 |
-
var
|
2053 |
subset: subset,
|
2054 |
ancestors: ancestors$2
|
2055 |
};
|
2056 |
|
2057 |
-
var sharedOne =
|
2058 |
-
|
2059 |
-
|
2060 |
-
var
|
2061 |
-
|
2062 |
-
|
2063 |
-
var ancestors$3 = function (universe, start, finish, _isRoot) {
|
2064 |
-
return Subset.ancestors(universe, start, finish, _isRoot);
|
2065 |
-
};
|
2066 |
-
var breakToLeft$1 = function (universe, parent, child) {
|
2067 |
-
return Breaker.breakToLeft(universe, parent, child);
|
2068 |
-
};
|
2069 |
-
var breakToRight$1 = function (universe, parent, child) {
|
2070 |
-
return Breaker.breakToRight(universe, parent, child);
|
2071 |
-
};
|
2072 |
-
var breakPath$1 = function (universe, child, isTop, breaker) {
|
2073 |
-
return Breaker.breakPath(universe, child, isTop, breaker);
|
2074 |
-
};
|
2075 |
var Parent = {
|
2076 |
sharedOne: sharedOne,
|
2077 |
subset: subset$1,
|
@@ -2083,15 +2147,15 @@ var table = (function (domGlobals) {
|
|
2083 |
|
2084 |
var universe = DomUniverse();
|
2085 |
var sharedOne$1 = function (look, elements) {
|
2086 |
-
return Parent.sharedOne(universe, function (
|
2087 |
return look(element);
|
2088 |
}, elements);
|
2089 |
};
|
2090 |
var subset$2 = function (start, finish) {
|
2091 |
return Parent.subset(universe, start, finish);
|
2092 |
};
|
2093 |
-
var ancestors$4 = function (start, finish,
|
2094 |
-
return Parent.ancestors(universe, start, finish,
|
2095 |
};
|
2096 |
var breakToLeft$2 = function (parent, child) {
|
2097 |
return Parent.breakToLeft(universe, parent, child);
|
@@ -2113,142 +2177,33 @@ var table = (function (domGlobals) {
|
|
2113 |
breakPath: breakPath$2
|
2114 |
};
|
2115 |
|
2116 |
-
var
|
2117 |
-
|
2118 |
-
|
2119 |
-
|
2120 |
-
|
2121 |
-
|
2122 |
-
};
|
2123 |
-
var isWithin = function (bounds, detail) {
|
2124 |
-
return detail.column() >= bounds.startCol() && detail.column() + detail.colspan() - 1 <= bounds.finishCol() && detail.row() >= bounds.startRow() && detail.row() + detail.rowspan() - 1 <= bounds.finishRow();
|
2125 |
-
};
|
2126 |
-
var isRectangular = function (warehouse, bounds) {
|
2127 |
-
var isRect = true;
|
2128 |
-
var detailIsWithin = curry(isWithin, bounds);
|
2129 |
-
for (var i = bounds.startRow(); i <= bounds.finishRow(); i++) {
|
2130 |
-
for (var j = bounds.startCol(); j <= bounds.finishCol(); j++) {
|
2131 |
-
isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);
|
2132 |
-
}
|
2133 |
-
}
|
2134 |
-
return isRect ? Option.some(bounds) : Option.none();
|
2135 |
-
};
|
2136 |
-
var CellBounds = {
|
2137 |
-
inSelection: inSelection,
|
2138 |
-
isWithin: isWithin,
|
2139 |
-
isRectangular: isRectangular
|
2140 |
-
};
|
2141 |
|
2142 |
-
var
|
2143 |
-
return
|
2144 |
-
};
|
2145 |
-
var getAnyBox = function (warehouse, startCell, finishCell) {
|
2146 |
-
var startCoords = Warehouse.findItem(warehouse, startCell, eq);
|
2147 |
-
var finishCoords = Warehouse.findItem(warehouse, finishCell, eq);
|
2148 |
-
return startCoords.bind(function (sc) {
|
2149 |
-
return finishCoords.map(function (fc) {
|
2150 |
-
return getBounds(sc, fc);
|
2151 |
-
});
|
2152 |
-
});
|
2153 |
};
|
2154 |
-
var getBox = function (warehouse, startCell, finishCell) {
|
2155 |
-
return getAnyBox(warehouse, startCell, finishCell).bind(function (bounds) {
|
2156 |
-
return CellBounds.isRectangular(warehouse, bounds);
|
2157 |
-
});
|
2158 |
-
};
|
2159 |
-
var CellGroup = {
|
2160 |
-
getAnyBox: getAnyBox,
|
2161 |
-
getBox: getBox
|
2162 |
-
};
|
2163 |
-
|
2164 |
-
var moveBy = function (warehouse, cell, row, column) {
|
2165 |
-
return Warehouse.findItem(warehouse, cell, eq).bind(function (detail) {
|
2166 |
-
var startRow = row > 0 ? detail.row() + detail.rowspan() - 1 : detail.row();
|
2167 |
-
var startCol = column > 0 ? detail.column() + detail.colspan() - 1 : detail.column();
|
2168 |
-
var dest = Warehouse.getAt(warehouse, startRow + row, startCol + column);
|
2169 |
-
return dest.map(function (d) {
|
2170 |
-
return d.element();
|
2171 |
-
});
|
2172 |
-
});
|
2173 |
-
};
|
2174 |
-
var intercepts = function (warehouse, start, finish) {
|
2175 |
-
return CellGroup.getAnyBox(warehouse, start, finish).map(function (bounds) {
|
2176 |
-
var inside = Warehouse.filterItems(warehouse, curry(CellBounds.inSelection, bounds));
|
2177 |
-
return map(inside, function (detail) {
|
2178 |
-
return detail.element();
|
2179 |
-
});
|
2180 |
-
});
|
2181 |
-
};
|
2182 |
-
var parentCell = function (warehouse, innerCell) {
|
2183 |
-
var isContainedBy = function (c1, c2) {
|
2184 |
-
return contains$2(c2, c1);
|
2185 |
-
};
|
2186 |
-
return Warehouse.findItem(warehouse, innerCell, isContainedBy).bind(function (detail) {
|
2187 |
-
return detail.element();
|
2188 |
-
});
|
2189 |
-
};
|
2190 |
-
var CellFinder = {
|
2191 |
-
moveBy: moveBy,
|
2192 |
-
intercepts: intercepts,
|
2193 |
-
parentCell: parentCell
|
2194 |
-
};
|
2195 |
-
|
2196 |
-
var moveBy$1 = function (cell, deltaRow, deltaColumn) {
|
2197 |
-
return TableLookup.table(cell).bind(function (table) {
|
2198 |
-
var warehouse = getWarehouse(table);
|
2199 |
-
return CellFinder.moveBy(warehouse, cell, deltaRow, deltaColumn);
|
2200 |
-
});
|
2201 |
-
};
|
2202 |
-
var intercepts$1 = function (table, first, last) {
|
2203 |
-
var warehouse = getWarehouse(table);
|
2204 |
-
return CellFinder.intercepts(warehouse, first, last);
|
2205 |
-
};
|
2206 |
-
var nestedIntercepts = function (table, first, firstTable, last, lastTable) {
|
2207 |
-
var warehouse = getWarehouse(table);
|
2208 |
-
var startCell = eq(table, firstTable) ? first : CellFinder.parentCell(warehouse, first);
|
2209 |
-
var lastCell = eq(table, lastTable) ? last : CellFinder.parentCell(warehouse, last);
|
2210 |
-
return CellFinder.intercepts(warehouse, startCell, lastCell);
|
2211 |
-
};
|
2212 |
-
var getBox$1 = function (table, first, last) {
|
2213 |
-
var warehouse = getWarehouse(table);
|
2214 |
-
return CellGroup.getBox(warehouse, first, last);
|
2215 |
-
};
|
2216 |
-
var getWarehouse = function (table) {
|
2217 |
-
var list = DetailsList.fromTable(table);
|
2218 |
-
return Warehouse.generate(list);
|
2219 |
-
};
|
2220 |
-
var TablePositions = {
|
2221 |
-
moveBy: moveBy$1,
|
2222 |
-
intercepts: intercepts$1,
|
2223 |
-
nestedIntercepts: nestedIntercepts,
|
2224 |
-
getBox: getBox$1
|
2225 |
-
};
|
2226 |
-
|
2227 |
-
var lookupTable = function (container, isRoot) {
|
2228 |
-
return ancestor$1(container, 'table');
|
2229 |
-
};
|
2230 |
-
var identified = MixedBag([
|
2231 |
-
'boxes',
|
2232 |
-
'start',
|
2233 |
-
'finish'
|
2234 |
-
], []);
|
2235 |
var identify = function (start, finish, isRoot) {
|
2236 |
var getIsRoot = function (rootTable) {
|
2237 |
return function (element) {
|
2238 |
-
return isRoot(element) || eq(element, rootTable);
|
2239 |
};
|
2240 |
};
|
2241 |
if (eq(start, finish)) {
|
2242 |
-
return Option.some(
|
2243 |
boxes: Option.some([start]),
|
2244 |
start: start,
|
2245 |
finish: finish
|
2246 |
}));
|
2247 |
} else {
|
2248 |
-
return lookupTable(start
|
2249 |
-
return lookupTable(finish
|
2250 |
if (eq(startTable, finishTable)) {
|
2251 |
-
return Option.some(
|
2252 |
boxes: TablePositions.intercepts(startTable, start, finish),
|
2253 |
start: start,
|
2254 |
finish: finish
|
@@ -2256,7 +2211,7 @@ var table = (function (domGlobals) {
|
|
2256 |
} else if (contains$2(startTable, finishTable)) {
|
2257 |
var ancestorCells = ancestors$1(finish, 'td,th', getIsRoot(startTable));
|
2258 |
var finishCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : finish;
|
2259 |
-
return Option.some(
|
2260 |
boxes: TablePositions.nestedIntercepts(startTable, start, startTable, finish, finishTable),
|
2261 |
start: start,
|
2262 |
finish: finishCell
|
@@ -2264,7 +2219,7 @@ var table = (function (domGlobals) {
|
|
2264 |
} else if (contains$2(finishTable, startTable)) {
|
2265 |
var ancestorCells = ancestors$1(start, 'td,th', getIsRoot(finishTable));
|
2266 |
var startCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : start;
|
2267 |
-
return Option.some(
|
2268 |
boxes: TablePositions.nestedIntercepts(finishTable, start, startTable, finish, finishTable),
|
2269 |
start: start,
|
2270 |
finish: startCell
|
@@ -2276,7 +2231,7 @@ var table = (function (domGlobals) {
|
|
2276 |
var finishCell = finishAncestorCells.length > 0 ? finishAncestorCells[finishAncestorCells.length - 1] : finish;
|
2277 |
var startAncestorCells = ancestors$1(start, 'td,th', getIsRoot(lcaTable));
|
2278 |
var startCell = startAncestorCells.length > 0 ? startAncestorCells[startAncestorCells.length - 1] : start;
|
2279 |
-
return Option.some(
|
2280 |
boxes: TablePositions.nestedIntercepts(lcaTable, start, startTable, finish, finishTable),
|
2281 |
start: startCell,
|
2282 |
finish: finishCell
|
@@ -2411,8 +2366,9 @@ var table = (function (domGlobals) {
|
|
2411 |
throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);
|
2412 |
}
|
2413 |
var args = new Array(argLength);
|
2414 |
-
for (var i = 0; i < args.length; i++)
|
2415 |
args[i] = arguments[i];
|
|
|
2416 |
var match = function (branches) {
|
2417 |
var branchKeys = keys(branches);
|
2418 |
if (constructors.length !== branchKeys.length) {
|
@@ -2421,8 +2377,9 @@ var table = (function (domGlobals) {
|
|
2421 |
var allReqd = forall(constructors, function (reqKey) {
|
2422 |
return contains(branchKeys, reqKey);
|
2423 |
});
|
2424 |
-
if (!allReqd)
|
2425 |
throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\nRequired: ' + constructors.join(', '));
|
|
|
2426 |
return branches[key].apply(null, args);
|
2427 |
};
|
2428 |
return {
|
@@ -2733,8 +2690,8 @@ var table = (function (domGlobals) {
|
|
2733 |
return cellWidth / tableSize.pixelWidth() * 100;
|
2734 |
};
|
2735 |
var choosePercentageSize = function (element, width, tableSize) {
|
2736 |
-
|
2737 |
-
|
2738 |
return parseFloat(percentMatch[1]);
|
2739 |
} else {
|
2740 |
var intWidth = get$4(element);
|
@@ -2754,16 +2711,16 @@ var table = (function (domGlobals) {
|
|
2754 |
return cellWidth / 100 * tableSize.pixelWidth();
|
2755 |
};
|
2756 |
var choosePixelSize = function (element, width, tableSize) {
|
2757 |
-
|
2758 |
-
|
2759 |
return parseInt(pixelMatch[1], 10);
|
2760 |
-
}
|
2761 |
-
|
|
|
2762 |
var floatWidth = parseFloat(percentMatch[1]);
|
2763 |
return normalizePixelWidth(floatWidth, tableSize);
|
2764 |
-
} else {
|
2765 |
-
return get$4(element);
|
2766 |
}
|
|
|
2767 |
};
|
2768 |
var getPixelWidth = function (cell, tableSize) {
|
2769 |
var width = getRawWidth(cell);
|
@@ -2779,10 +2736,10 @@ var table = (function (domGlobals) {
|
|
2779 |
var getGenericWidth = function (cell) {
|
2780 |
var width = getRawWidth(cell);
|
2781 |
return width.bind(function (w) {
|
2782 |
-
|
2783 |
-
|
2784 |
return Option.some({
|
2785 |
-
width: constant(match[1]),
|
2786 |
unit: constant(match[3])
|
2787 |
});
|
2788 |
} else {
|
@@ -2817,18 +2774,6 @@ var table = (function (domGlobals) {
|
|
2817 |
};
|
2818 |
var CellMutations = { halve: halve };
|
2819 |
|
2820 |
-
var attached = function (element, scope) {
|
2821 |
-
var doc = scope || Element.fromDom(domGlobals.document.documentElement);
|
2822 |
-
return ancestor(element, curry(eq, doc)).isSome();
|
2823 |
-
};
|
2824 |
-
var windowOf = function (element) {
|
2825 |
-
var dom = element.dom();
|
2826 |
-
if (dom === dom.window && element instanceof domGlobals.Window) {
|
2827 |
-
return element;
|
2828 |
-
}
|
2829 |
-
return isDocument(element) ? dom.defaultView || dom.parentWindow : null;
|
2830 |
-
};
|
2831 |
-
|
2832 |
var r = function (left, top) {
|
2833 |
var translate = function (x, y) {
|
2834 |
return r(left + x, top + y);
|
@@ -2851,7 +2796,7 @@ var table = (function (domGlobals) {
|
|
2851 |
var absolute = function (element) {
|
2852 |
var doc = element.dom().ownerDocument;
|
2853 |
var body = doc.body;
|
2854 |
-
var win =
|
2855 |
var html = doc.documentElement;
|
2856 |
var scrollTop = firstDefinedOrZero(win.pageYOffset, html.scrollTop);
|
2857 |
var scrollLeft = firstDefinedOrZero(win.pageXOffset, html.scrollLeft);
|
@@ -2863,11 +2808,10 @@ var table = (function (domGlobals) {
|
|
2863 |
var dom = element.dom();
|
2864 |
var doc = dom.ownerDocument;
|
2865 |
var body = doc.body;
|
2866 |
-
var html = Element.fromDom(doc.documentElement);
|
2867 |
if (body === dom) {
|
2868 |
return Position(body.offsetLeft, body.offsetTop);
|
2869 |
}
|
2870 |
-
if (!
|
2871 |
return Position(0, 0);
|
2872 |
}
|
2873 |
return boxPosition(dom);
|
@@ -2911,23 +2855,29 @@ var table = (function (domGlobals) {
|
|
2911 |
});
|
2912 |
return lines.concat([lastLine]);
|
2913 |
};
|
2914 |
-
var negate = function (step
|
2915 |
return -step;
|
2916 |
};
|
2917 |
var height = {
|
2918 |
delta: identity,
|
2919 |
-
positions:
|
|
|
|
|
2920 |
edge: getTop
|
2921 |
};
|
2922 |
var ltr = {
|
2923 |
delta: identity,
|
2924 |
edge: ltrEdge,
|
2925 |
-
positions:
|
|
|
|
|
2926 |
};
|
2927 |
var rtl = {
|
2928 |
delta: negate,
|
2929 |
edge: rtlEdge,
|
2930 |
-
positions:
|
|
|
|
|
2931 |
};
|
2932 |
var BarPositions = {
|
2933 |
height: height,
|
@@ -2948,7 +2898,7 @@ var table = (function (domGlobals) {
|
|
2948 |
return auto(table).delta(amount, table);
|
2949 |
};
|
2950 |
var positions = function (cols, table) {
|
2951 |
-
return auto(table).positions(cols);
|
2952 |
};
|
2953 |
var edge = function (cell) {
|
2954 |
return auto(cell).edge(cell);
|
@@ -2967,29 +2917,18 @@ var table = (function (domGlobals) {
|
|
2967 |
};
|
2968 |
var TableGridSize = { getGridSize: getGridSize };
|
2969 |
|
2970 |
-
var
|
2971 |
-
|
2972 |
-
|
2973 |
-
|
2974 |
-
|
2975 |
-
|
2976 |
-
|
2977 |
-
for (var i = 0; i < objects.length; i++)
|
2978 |
-
objects[i] = arguments[i];
|
2979 |
-
if (objects.length === 0)
|
2980 |
-
throw new Error('Can\'t merge zero objects');
|
2981 |
-
var ret = {};
|
2982 |
-
for (var j = 0; j < objects.length; j++) {
|
2983 |
-
var curObject = objects[j];
|
2984 |
-
for (var key in curObject)
|
2985 |
-
if (hasOwnProperty.call(curObject, key)) {
|
2986 |
-
ret[key] = merger(ret[key], curObject[key]);
|
2987 |
-
}
|
2988 |
}
|
2989 |
-
return
|
2990 |
};
|
|
|
2991 |
};
|
2992 |
-
var merge = baseMerge(shallow$1);
|
2993 |
|
2994 |
var cat = function (arr) {
|
2995 |
var r = [];
|
@@ -3173,17 +3112,6 @@ var table = (function (domGlobals) {
|
|
3173 |
}
|
3174 |
return r;
|
3175 |
};
|
3176 |
-
var unique = function (xs, comparator) {
|
3177 |
-
var result = [];
|
3178 |
-
each(xs, function (x, i) {
|
3179 |
-
if (i < xs.length - 1 && !comparator(x, xs[i + 1])) {
|
3180 |
-
result.push(x);
|
3181 |
-
} else if (i === xs.length - 1) {
|
3182 |
-
result.push(x);
|
3183 |
-
}
|
3184 |
-
});
|
3185 |
-
return result;
|
3186 |
-
};
|
3187 |
var deduce = function (xs, index) {
|
3188 |
if (index < 0 || index >= xs.length - 1) {
|
3189 |
return Option.none();
|
@@ -3227,17 +3155,11 @@ var table = (function (domGlobals) {
|
|
3227 |
});
|
3228 |
});
|
3229 |
};
|
3230 |
-
var Util = {
|
3231 |
-
repeat: repeat,
|
3232 |
-
range: range,
|
3233 |
-
unique: unique,
|
3234 |
-
deduce: deduce
|
3235 |
-
};
|
3236 |
|
3237 |
var columns = function (warehouse) {
|
3238 |
var grid = warehouse.grid();
|
3239 |
-
var cols =
|
3240 |
-
var rowsArr =
|
3241 |
return map(cols, function (col) {
|
3242 |
var getBlock = function () {
|
3243 |
return bind(rowsArr, function (r) {
|
@@ -3269,8 +3191,8 @@ var table = (function (domGlobals) {
|
|
3269 |
};
|
3270 |
var rows$1 = function (warehouse) {
|
3271 |
var grid = warehouse.grid();
|
3272 |
-
var rowsArr =
|
3273 |
-
var cols =
|
3274 |
return map(rowsArr, function (row) {
|
3275 |
var getBlock = function () {
|
3276 |
return bind(cols, function (c) {
|
@@ -3345,7 +3267,7 @@ var table = (function (domGlobals) {
|
|
3345 |
var resizeRowBar = Styles.resolve('resizer-rows');
|
3346 |
var resizeColBar = Styles.resolve('resizer-cols');
|
3347 |
var BAR_THICKNESS = 7;
|
3348 |
-
var
|
3349 |
var previous = descendants$1(wire.parent(), '.' + resizeBar);
|
3350 |
each(previous, remove$2);
|
3351 |
};
|
@@ -3381,7 +3303,7 @@ var table = (function (domGlobals) {
|
|
3381 |
refreshCol(wire, colPositions, position, getOuter(table));
|
3382 |
};
|
3383 |
var refresh = function (wire, table, hdirection, vdirection) {
|
3384 |
-
|
3385 |
var list = DetailsList.fromTable(table);
|
3386 |
var warehouse = Warehouse.generate(list);
|
3387 |
var rows = Blocks.rows(warehouse);
|
@@ -3412,7 +3334,7 @@ var table = (function (domGlobals) {
|
|
3412 |
refresh: refresh,
|
3413 |
hide: hide,
|
3414 |
show: show,
|
3415 |
-
destroy:
|
3416 |
isRowBar: isRowBar,
|
3417 |
isColBar: isColBar
|
3418 |
};
|
@@ -3429,12 +3351,12 @@ var table = (function (domGlobals) {
|
|
3429 |
cells[index] = cell;
|
3430 |
};
|
3431 |
var setCells = function (gridRow, cells) {
|
3432 |
-
return
|
3433 |
};
|
3434 |
var mapCells = function (gridRow, f) {
|
3435 |
var cells = gridRow.cells();
|
3436 |
var r = map(cells, f);
|
3437 |
-
return
|
3438 |
};
|
3439 |
var getCell = function (gridRow, index) {
|
3440 |
return gridRow.cells()[index];
|
@@ -3507,12 +3429,12 @@ var table = (function (domGlobals) {
|
|
3507 |
if (seen[ri][ci] === false) {
|
3508 |
var result = TableGrid.subgrid(grid, ri, ci, comparator);
|
3509 |
updateSeen(ri, ci, result.rowspan(), result.colspan());
|
3510 |
-
return [
|
3511 |
} else {
|
3512 |
return [];
|
3513 |
}
|
3514 |
});
|
3515 |
-
return
|
3516 |
});
|
3517 |
};
|
3518 |
var toGrid = function (warehouse, generators, isNew) {
|
@@ -3521,13 +3443,13 @@ var table = (function (domGlobals) {
|
|
3521 |
var rowCells = [];
|
3522 |
for (var j = 0; j < warehouse.grid().columns(); j++) {
|
3523 |
var element = Warehouse.getAt(warehouse, i, j).map(function (item) {
|
3524 |
-
return
|
3525 |
}).getOrThunk(function () {
|
3526 |
-
return
|
3527 |
});
|
3528 |
rowCells.push(element);
|
3529 |
}
|
3530 |
-
var row =
|
3531 |
grid.push(row);
|
3532 |
}
|
3533 |
return grid;
|
@@ -3545,16 +3467,16 @@ var table = (function (domGlobals) {
|
|
3545 |
var rowOfCells = findMap(details, function (detail) {
|
3546 |
return parent(detail.element()).map(function (row) {
|
3547 |
var isNew = parent(row).isNone();
|
3548 |
-
return
|
3549 |
});
|
3550 |
});
|
3551 |
return rowOfCells.getOrThunk(function () {
|
3552 |
-
return
|
3553 |
});
|
3554 |
};
|
3555 |
return map(rendered, function (details) {
|
3556 |
var row = findRow(details.details());
|
3557 |
-
return
|
3558 |
});
|
3559 |
};
|
3560 |
var toDetailList = function (grid, generators) {
|
@@ -3605,10 +3527,11 @@ var table = (function (domGlobals) {
|
|
3605 |
var onPaste = function (warehouse, target) {
|
3606 |
return TableLookup.cell(target.element()).bind(function (cell) {
|
3607 |
return findInWarehouse(warehouse, cell).map(function (details) {
|
3608 |
-
|
3609 |
generators: target.generators,
|
3610 |
clipboard: target.clipboard
|
3611 |
});
|
|
|
3612 |
});
|
3613 |
});
|
3614 |
};
|
@@ -3619,15 +3542,16 @@ var table = (function (domGlobals) {
|
|
3619 |
});
|
3620 |
});
|
3621 |
var cells = cat(details);
|
3622 |
-
return cells.length > 0 ? Option.some(
|
|
|
3623 |
generators: target.generators,
|
3624 |
clipboard: target.clipboard
|
3625 |
-
})
|
3626 |
};
|
3627 |
-
var onMergable = function (
|
3628 |
return target.mergable();
|
3629 |
};
|
3630 |
-
var onUnmergable = function (
|
3631 |
return target.unmergable();
|
3632 |
};
|
3633 |
var onCells = function (warehouse, target) {
|
@@ -3639,16 +3563,6 @@ var table = (function (domGlobals) {
|
|
3639 |
var cells = cat(details);
|
3640 |
return cells.length > 0 ? Option.some(cells) : Option.none();
|
3641 |
};
|
3642 |
-
var RunOperation = {
|
3643 |
-
run: run,
|
3644 |
-
toDetailList: toDetailList,
|
3645 |
-
onCell: onCell,
|
3646 |
-
onCells: onCells,
|
3647 |
-
onPaste: onPaste,
|
3648 |
-
onPasteRows: onPasteRows,
|
3649 |
-
onMergable: onMergable,
|
3650 |
-
onUnmergable: onUnmergable
|
3651 |
-
};
|
3652 |
|
3653 |
var value = function (o) {
|
3654 |
var is = function (v) {
|
@@ -3747,9 +3661,15 @@ var table = (function (domGlobals) {
|
|
3747 |
toOption: Option.none
|
3748 |
};
|
3749 |
};
|
|
|
|
|
|
|
|
|
|
|
3750 |
var Result = {
|
3751 |
value: value,
|
3752 |
-
error: error
|
|
|
3753 |
};
|
3754 |
|
3755 |
var measure = function (startAddress, gridA, gridB) {
|
@@ -3775,17 +3695,17 @@ var table = (function (domGlobals) {
|
|
3775 |
};
|
3776 |
var fill = function (cells, generator) {
|
3777 |
return map(cells, function () {
|
3778 |
-
return
|
3779 |
});
|
3780 |
};
|
3781 |
var rowFill = function (grid, amount, generator) {
|
3782 |
-
return grid.concat(
|
3783 |
return GridRow.setCells(grid[grid.length - 1], fill(grid[grid.length - 1].cells(), generator));
|
3784 |
}));
|
3785 |
};
|
3786 |
var colFill = function (grid, amount, generator) {
|
3787 |
return map(grid, function (row) {
|
3788 |
-
return GridRow.setCells(row, row.cells().concat(fill(
|
3789 |
});
|
3790 |
};
|
3791 |
var tailor = function (gridA, delta, generator) {
|
@@ -3801,13 +3721,13 @@ var table = (function (domGlobals) {
|
|
3801 |
tailor: tailor
|
3802 |
};
|
3803 |
|
3804 |
-
var merge
|
3805 |
if (grid.length === 0) {
|
3806 |
return grid;
|
3807 |
}
|
3808 |
for (var i = bounds.startRow(); i <= bounds.finishRow(); i++) {
|
3809 |
for (var j = bounds.startCol(); j <= bounds.finishCol(); j++) {
|
3810 |
-
GridRow.mutateCell(grid[i], j,
|
3811 |
}
|
3812 |
}
|
3813 |
return grid;
|
@@ -3819,7 +3739,7 @@ var table = (function (domGlobals) {
|
|
3819 |
var current = GridRow.getCellElement(grid[i], j);
|
3820 |
var isToReplace = comparator(current, target);
|
3821 |
if (isToReplace === true && first === false) {
|
3822 |
-
GridRow.mutateCell(grid[i], j,
|
3823 |
} else if (isToReplace === true) {
|
3824 |
first = false;
|
3825 |
}
|
@@ -3849,7 +3769,7 @@ var table = (function (domGlobals) {
|
|
3849 |
replacement = Option.some(substitution());
|
3850 |
}
|
3851 |
replacement.each(function (sub) {
|
3852 |
-
GridRow.mutateCell(grid[i], j,
|
3853 |
});
|
3854 |
}
|
3855 |
};
|
@@ -3865,7 +3785,7 @@ var table = (function (domGlobals) {
|
|
3865 |
return grid;
|
3866 |
};
|
3867 |
var MergingOperations = {
|
3868 |
-
merge: merge
|
3869 |
unmerge: unmerge,
|
3870 |
splitRows: splitRows
|
3871 |
};
|
@@ -3874,7 +3794,7 @@ var table = (function (domGlobals) {
|
|
3874 |
var candidate = GridRow.getCell(grid[row], col);
|
3875 |
var matching = curry(comparator, candidate.element());
|
3876 |
var currentRow = grid[row];
|
3877 |
-
return grid.length > 1 && GridRow.cellLength(currentRow) > 1 && (col > 0 && matching(GridRow.getCellElement(currentRow, col - 1)) || col < currentRow.length - 1 && matching(GridRow.getCellElement(currentRow, col + 1)) || row > 0 && matching(GridRow.getCellElement(grid[row - 1], col)) || row < grid.length - 1 && matching(GridRow.getCellElement(grid[row + 1], col)));
|
3878 |
};
|
3879 |
var mergeTables = function (startAddress, gridA, gridB, generator, comparator) {
|
3880 |
var startRow = startAddress.row();
|
@@ -3890,12 +3810,12 @@ var table = (function (domGlobals) {
|
|
3890 |
}
|
3891 |
var newCell = GridRow.getCellElement(gridB[r - startRow], c - startCol);
|
3892 |
var replacement = generator.replace(newCell);
|
3893 |
-
GridRow.mutateCell(gridA[r], c,
|
3894 |
}
|
3895 |
}
|
3896 |
return gridA;
|
3897 |
};
|
3898 |
-
var merge$
|
3899 |
var result = Fitment.measure(startAddress, gridA, gridB);
|
3900 |
return result.map(function (delta) {
|
3901 |
var fittedGrid = Fitment.tailor(gridA, delta, generator);
|
@@ -3911,7 +3831,7 @@ var table = (function (domGlobals) {
|
|
3911 |
return fittedOldGrid.slice(0, index).concat(fittedNewGrid).concat(fittedOldGrid.slice(index, fittedOldGrid.length));
|
3912 |
};
|
3913 |
var TableMerge = {
|
3914 |
-
merge: merge$
|
3915 |
insert: insert
|
3916 |
};
|
3917 |
|
@@ -3920,7 +3840,7 @@ var table = (function (domGlobals) {
|
|
3920 |
var after = grid.slice(index);
|
3921 |
var between = GridRow.mapCells(grid[example], function (ex, c) {
|
3922 |
var withinSpan = index > 0 && index < grid.length && comparator(GridRow.getCellElement(grid[index - 1], c), GridRow.getCellElement(grid[index], c));
|
3923 |
-
var ret = withinSpan ? GridRow.getCell(grid[index], c) :
|
3924 |
return ret;
|
3925 |
});
|
3926 |
return before.concat([between]).concat(after);
|
@@ -3928,7 +3848,7 @@ var table = (function (domGlobals) {
|
|
3928 |
var insertColumnAt = function (grid, index, example, comparator, substitution) {
|
3929 |
return map(grid, function (row) {
|
3930 |
var withinSpan = index > 0 && index < GridRow.cellLength(row) && comparator(GridRow.getCellElement(row, index - 1), GridRow.getCellElement(row, index));
|
3931 |
-
var sub = withinSpan ? GridRow.getCell(row, index) :
|
3932 |
return GridRow.addCell(row, index, sub);
|
3933 |
});
|
3934 |
};
|
@@ -3936,7 +3856,7 @@ var table = (function (domGlobals) {
|
|
3936 |
var index = exampleCol + 1;
|
3937 |
return map(grid, function (row, i) {
|
3938 |
var isTargetCell = i === exampleRow;
|
3939 |
-
var sub = isTargetCell ?
|
3940 |
return GridRow.addCell(row, index, sub);
|
3941 |
});
|
3942 |
};
|
@@ -3946,14 +3866,14 @@ var table = (function (domGlobals) {
|
|
3946 |
var after = grid.slice(index);
|
3947 |
var between = GridRow.mapCells(grid[exampleRow], function (ex, i) {
|
3948 |
var isTargetCell = i === exampleCol;
|
3949 |
-
return isTargetCell ?
|
3950 |
});
|
3951 |
return before.concat([between]).concat(after);
|
3952 |
};
|
3953 |
var deleteColumnsAt = function (grid, start, finish) {
|
3954 |
var rows = map(grid, function (row) {
|
3955 |
var cells = row.cells().slice(0, start).concat(row.cells().slice(finish + 1));
|
3956 |
-
return
|
3957 |
});
|
3958 |
return filter(rows, function (row) {
|
3959 |
return row.cells().length > 0;
|
@@ -3971,10 +3891,6 @@ var table = (function (domGlobals) {
|
|
3971 |
deleteColumnsAt: deleteColumnsAt
|
3972 |
};
|
3973 |
|
3974 |
-
var get$7 = function (element) {
|
3975 |
-
return element.dom().textContent;
|
3976 |
-
};
|
3977 |
-
|
3978 |
var replaceIn = function (grid, targets, comparator, substitution) {
|
3979 |
var isTarget = function (cell) {
|
3980 |
return exists(targets, function (target) {
|
@@ -3983,7 +3899,7 @@ var table = (function (domGlobals) {
|
|
3983 |
};
|
3984 |
return map(grid, function (row) {
|
3985 |
return GridRow.mapCells(row, function (cell) {
|
3986 |
-
return isTarget(cell) ?
|
3987 |
});
|
3988 |
});
|
3989 |
};
|
@@ -4008,110 +3924,35 @@ var table = (function (domGlobals) {
|
|
4008 |
});
|
4009 |
return replaceIn(grid, targets, comparator, substitution);
|
4010 |
};
|
4011 |
-
var sortTableRows = function (grid, index, comparator, ascending) {
|
4012 |
-
var grouped = groupBy(grid, function (row) {
|
4013 |
-
return name(GridRow.getCell(row, index).element());
|
4014 |
-
});
|
4015 |
-
var sortGroup = function (group) {
|
4016 |
-
var texted = map(group, function (row) {
|
4017 |
-
var cell = GridRow.getCell(row, index);
|
4018 |
-
var text = get$7(cell.element());
|
4019 |
-
return {
|
4020 |
-
row: row,
|
4021 |
-
text: text
|
4022 |
-
};
|
4023 |
-
});
|
4024 |
-
var sorted = sort(texted, function (rowA, rowB) {
|
4025 |
-
var compared = comparator(rowA.text, rowB.text);
|
4026 |
-
return ascending ? compared : compared * -1;
|
4027 |
-
});
|
4028 |
-
return map(sorted, function (sortedRow) {
|
4029 |
-
return sortedRow.row;
|
4030 |
-
});
|
4031 |
-
};
|
4032 |
-
return bind(grouped, function (group) {
|
4033 |
-
return name(GridRow.getCell(group[0], index).element()) === 'th' ? group : sortGroup(group);
|
4034 |
-
});
|
4035 |
-
};
|
4036 |
-
var sortTableColumns = function (grid, index, comparator, ascending) {
|
4037 |
-
var targetRow = grid[index].cells();
|
4038 |
-
var targetReferences = map(targetRow, function (cell) {
|
4039 |
-
return get$7(cell.element());
|
4040 |
-
});
|
4041 |
-
var zip = function (row) {
|
4042 |
-
var zippedCells = map(row.cells(), function (cell, i) {
|
4043 |
-
return {
|
4044 |
-
cell: cell,
|
4045 |
-
reference: targetRow[i],
|
4046 |
-
referenceText: targetReferences[i]
|
4047 |
-
};
|
4048 |
-
});
|
4049 |
-
return {
|
4050 |
-
zippedCells: zippedCells,
|
4051 |
-
section: row.section()
|
4052 |
-
};
|
4053 |
-
};
|
4054 |
-
var unzip = function (row) {
|
4055 |
-
var grouped = groupBy(row.zippedCells, function (zippedCell) {
|
4056 |
-
return name(zippedCell.reference.element());
|
4057 |
-
});
|
4058 |
-
var sorted = bind(grouped, function (group) {
|
4059 |
-
return name(group[0].reference.element()) === 'th' ? group : sort(group, function (cellA, cellB) {
|
4060 |
-
var compared = comparator(cellA.referenceText, cellB.referenceText);
|
4061 |
-
return ascending ? compared : compared * -1;
|
4062 |
-
});
|
4063 |
-
});
|
4064 |
-
var unzippedCells = map(sorted, function (sortedCell) {
|
4065 |
-
return sortedCell.cell;
|
4066 |
-
});
|
4067 |
-
return Structs.rowcells(unzippedCells, row.section);
|
4068 |
-
};
|
4069 |
-
var zippedGrid = map(grid, zip);
|
4070 |
-
var unzipped = map(zippedGrid, unzip);
|
4071 |
-
return unzipped;
|
4072 |
-
};
|
4073 |
var TransformOperations = {
|
4074 |
replaceColumn: replaceColumn,
|
4075 |
-
replaceRow: replaceRow
|
4076 |
-
sortTableRows: sortTableRows,
|
4077 |
-
sortTableColumns: sortTableColumns
|
4078 |
};
|
4079 |
|
4080 |
-
var
|
4081 |
-
|
4082 |
-
|
4083 |
-
|
4084 |
-
|
4085 |
-
|
4086 |
-
|
4087 |
-
|
4088 |
-
}
|
4089 |
-
|
4090 |
-
|
4091 |
-
|
4092 |
-
|
4093 |
-
|
4094 |
-
|
4095 |
-
|
4096 |
-
|
4097 |
-
|
4098 |
-
|
4099 |
-
|
4100 |
-
|
4101 |
-
|
4102 |
-
|
4103 |
-
|
4104 |
-
};
|
4105 |
-
var folder = function (fold) {
|
4106 |
-
return { fold: fold };
|
4107 |
-
};
|
4108 |
-
var ColumnContext = {
|
4109 |
-
none: none$1,
|
4110 |
-
only: only,
|
4111 |
-
left: left,
|
4112 |
-
middle: middle,
|
4113 |
-
right: right
|
4114 |
-
};
|
4115 |
|
4116 |
var neighbours$1 = function (input, index) {
|
4117 |
if (input.length === 0) {
|
@@ -4158,10 +3999,10 @@ var table = (function (domGlobals) {
|
|
4158 |
}
|
4159 |
};
|
4160 |
var onLeft = onChange;
|
4161 |
-
var onMiddle = function (
|
4162 |
return onChange(index, next);
|
4163 |
};
|
4164 |
-
var onRight = function (
|
4165 |
if (step >= 0) {
|
4166 |
return zero(result.slice(0, index)).concat([step]);
|
4167 |
} else {
|
@@ -4200,8 +4041,10 @@ var table = (function (domGlobals) {
|
|
4200 |
return raw;
|
4201 |
});
|
4202 |
};
|
4203 |
-
var getRawW = function (cell) {
|
4204 |
-
return getRaw$1(cell, 'width',
|
|
|
|
|
4205 |
};
|
4206 |
var getRawH = function (cell) {
|
4207 |
return getRaw$1(cell, 'height', Sizes.getHeight);
|
@@ -4214,7 +4057,7 @@ var table = (function (domGlobals) {
|
|
4214 |
return map(columns, function (cellOption, c) {
|
4215 |
var columnCell = cellOption.filter(not(CellUtils.hasColspan));
|
4216 |
return columnCell.fold(function () {
|
4217 |
-
var deduced =
|
4218 |
return fallback(deduced);
|
4219 |
}, function (cell) {
|
4220 |
return getWidth(cell, tableSize);
|
@@ -4226,8 +4069,8 @@ var table = (function (domGlobals) {
|
|
4226 |
return d + 'px';
|
4227 |
}).getOr('');
|
4228 |
};
|
4229 |
-
var getRawWidths = function (warehouse, direction) {
|
4230 |
-
return getWidthFrom(warehouse, direction, getRawW, getDeduced);
|
4231 |
};
|
4232 |
var getPercentageWidths = function (warehouse, direction, tableSize) {
|
4233 |
return getWidthFrom(warehouse, direction, Sizes.getPercentageWidth, function (deduced) {
|
@@ -4251,7 +4094,7 @@ var table = (function (domGlobals) {
|
|
4251 |
return map(rows, function (cellOption, c) {
|
4252 |
var rowCell = cellOption.filter(not(CellUtils.hasRowspan));
|
4253 |
return rowCell.fold(function () {
|
4254 |
-
var deduced =
|
4255 |
return fallback(deduced);
|
4256 |
}, function (cell) {
|
4257 |
return getHeight(cell);
|
@@ -4330,8 +4173,9 @@ var table = (function (domGlobals) {
|
|
4330 |
return CellUtils.minWidth() / pixelWidth * 100;
|
4331 |
};
|
4332 |
var setTableWidth = function (table, _newWidths, delta) {
|
4333 |
-
var
|
4334 |
-
|
|
|
4335 |
};
|
4336 |
return {
|
4337 |
width: constant(floatWidth),
|
@@ -4345,7 +4189,6 @@ var table = (function (domGlobals) {
|
|
4345 |
};
|
4346 |
};
|
4347 |
var pixelSize = function (width) {
|
4348 |
-
var intWidth = parseInt(width, 10);
|
4349 |
var getCellDelta = identity;
|
4350 |
var singleColumnWidth = function (w, delta) {
|
4351 |
var newNext = Math.max(CellUtils.minWidth(), w + delta);
|
@@ -4358,8 +4201,8 @@ var table = (function (domGlobals) {
|
|
4358 |
Sizes.setPixelWidth(table, total);
|
4359 |
};
|
4360 |
return {
|
4361 |
-
width: constant(
|
4362 |
-
pixelWidth: constant(
|
4363 |
getWidths: ColumnSizes.getPixelWidths,
|
4364 |
getCellDelta: getCellDelta,
|
4365 |
singleColumnWidth: singleColumnWidth,
|
@@ -4369,16 +4212,17 @@ var table = (function (domGlobals) {
|
|
4369 |
};
|
4370 |
};
|
4371 |
var chooseSize = function (element, width) {
|
4372 |
-
|
4373 |
-
|
4374 |
return percentageSize(percentMatch[1], element);
|
4375 |
-
} else if (Sizes.pixelBasedSizeRegex().test(width)) {
|
4376 |
-
var pixelMatch = Sizes.pixelBasedSizeRegex().exec(width);
|
4377 |
-
return pixelSize(pixelMatch[1]);
|
4378 |
-
} else {
|
4379 |
-
var fallbackWidth = get$4(element);
|
4380 |
-
return pixelSize(fallbackWidth);
|
4381 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4382 |
};
|
4383 |
var getTableSize = function (element) {
|
4384 |
var width = Sizes.getRawWidth(element);
|
@@ -4445,11 +4289,8 @@ var table = (function (domGlobals) {
|
|
4445 |
each(newSizes, function (cell) {
|
4446 |
tableSize.setElementWidth(cell.element(), cell.width());
|
4447 |
});
|
4448 |
-
var total = foldr(widths, function (b, a) {
|
4449 |
-
return a + b;
|
4450 |
-
}, 0);
|
4451 |
if (newSizes.length > 0) {
|
4452 |
-
tableSize.setTableWidth(table,
|
4453 |
}
|
4454 |
};
|
4455 |
var Adjustments = {
|
@@ -4483,8 +4324,9 @@ var table = (function (domGlobals) {
|
|
4483 |
});
|
4484 |
};
|
4485 |
var baseWith = function (handleUnsupported, required, pred) {
|
4486 |
-
if (required.length === 0)
|
4487 |
throw new Error('You must specify at least one required field.');
|
|
|
4488 |
validateStrArr('required', required);
|
4489 |
checkDupes(required);
|
4490 |
return function (obj) {
|
@@ -4492,14 +4334,16 @@ var table = (function (domGlobals) {
|
|
4492 |
var allReqd = forall(required, function (req) {
|
4493 |
return contains(keys$1, req);
|
4494 |
});
|
4495 |
-
if (!allReqd)
|
4496 |
reqMessage(required, keys$1);
|
|
|
4497 |
handleUnsupported(required, keys$1);
|
4498 |
var invalidKeys = filter(required, function (key) {
|
4499 |
return !pred.validate(obj[key], key);
|
4500 |
});
|
4501 |
-
if (invalidKeys.length > 0)
|
4502 |
invalidTypeMessage(invalidKeys, pred.label);
|
|
|
4503 |
return obj;
|
4504 |
};
|
4505 |
};
|
@@ -4507,13 +4351,20 @@ var table = (function (domGlobals) {
|
|
4507 |
var unsupported = filter(keys, function (key) {
|
4508 |
return !contains(required, key);
|
4509 |
});
|
4510 |
-
if (unsupported.length > 0)
|
4511 |
unsuppMessage(unsupported);
|
|
|
4512 |
};
|
4513 |
var exactly = function (required) {
|
4514 |
return base(handleExact, required);
|
4515 |
};
|
4516 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4517 |
var elementToData = function (element) {
|
4518 |
var colspan = has(element, 'colspan') ? parseInt(get(element, 'colspan'), 10) : 1;
|
4519 |
var rowspan = has(element, 'rowspan') ? parseInt(get(element, 'rowspan'), 10) : 1;
|
@@ -4523,10 +4374,12 @@ var table = (function (domGlobals) {
|
|
4523 |
rowspan: constant(rowspan)
|
4524 |
};
|
4525 |
};
|
4526 |
-
var modification = function (generators,
|
4527 |
-
|
|
|
|
|
|
|
4528 |
var position = Cell(Option.none());
|
4529 |
-
var toData = _toData !== undefined ? _toData : elementToData;
|
4530 |
var nu = function (data) {
|
4531 |
return generators.cell(data);
|
4532 |
};
|
@@ -4561,7 +4414,7 @@ var table = (function (domGlobals) {
|
|
4561 |
var transform = function (scope, tag) {
|
4562 |
return function (generators) {
|
4563 |
var position = Cell(Option.none());
|
4564 |
-
|
4565 |
var list = [];
|
4566 |
var find$1 = function (element, comparator) {
|
4567 |
return find(list, function (x) {
|
@@ -4569,7 +4422,8 @@ var table = (function (domGlobals) {
|
|
4569 |
});
|
4570 |
};
|
4571 |
var makeNew = function (element) {
|
4572 |
-
var
|
|
|
4573 |
list.push({
|
4574 |
item: element,
|
4575 |
sub: cell
|
@@ -4593,7 +4447,7 @@ var table = (function (domGlobals) {
|
|
4593 |
};
|
4594 |
};
|
4595 |
var merging = function (generators) {
|
4596 |
-
|
4597 |
var position = Cell(Option.none());
|
4598 |
var combine = function (cell) {
|
4599 |
if (position.get().isNone()) {
|
@@ -4615,12 +4469,6 @@ var table = (function (domGlobals) {
|
|
4615 |
cursor: position.get
|
4616 |
};
|
4617 |
};
|
4618 |
-
var contract = exactly([
|
4619 |
-
'cell',
|
4620 |
-
'row',
|
4621 |
-
'replace',
|
4622 |
-
'gap'
|
4623 |
-
]);
|
4624 |
var Generators = {
|
4625 |
modification: modification,
|
4626 |
transform: transform,
|
@@ -4767,7 +4615,7 @@ var table = (function (domGlobals) {
|
|
4767 |
isInline: isInline$1
|
4768 |
};
|
4769 |
|
4770 |
-
var merge$
|
4771 |
var isBr = function (el) {
|
4772 |
return name(el) === 'br';
|
4773 |
};
|
@@ -4787,6 +4635,7 @@ var table = (function (domGlobals) {
|
|
4787 |
if (DomStructure.isEmptyTag(rightSibling)) {
|
4788 |
return name(rightSibling) === 'img' ? false : true;
|
4789 |
}
|
|
|
4790 |
}).getOr(false);
|
4791 |
};
|
4792 |
var markCell = function (cell) {
|
@@ -4808,7 +4657,7 @@ var table = (function (domGlobals) {
|
|
4808 |
empty(cells[0]);
|
4809 |
append$1(cells[0], contents);
|
4810 |
};
|
4811 |
-
var TableContent = { merge: merge$
|
4812 |
|
4813 |
var prune = function (table) {
|
4814 |
var cells = TableLookup.cells(table);
|
@@ -4934,13 +4783,13 @@ var table = (function (domGlobals) {
|
|
4934 |
var newGrid = ModificationOperations.splitCellIntoRows(grid, detail.row(), detail.column(), comparator, genWrappers.getOrInit);
|
4935 |
return bundle(newGrid, detail.row(), detail.column());
|
4936 |
};
|
4937 |
-
var eraseColumns = function (grid, details,
|
4938 |
var columns = uniqueColumns(details);
|
4939 |
var newGrid = ModificationOperations.deleteColumnsAt(grid, columns[0].column(), columns[columns.length - 1].column());
|
4940 |
var cursor = elementFromGrid(newGrid, details[0].row(), details[0].column());
|
4941 |
return outcome(newGrid, cursor);
|
4942 |
};
|
4943 |
-
var eraseRows = function (grid, details,
|
4944 |
var rows = uniqueRows(details);
|
4945 |
var newGrid = ModificationOperations.deleteRowsAt(grid, rows[0].row(), rows[rows.length - 1].row());
|
4946 |
var cursor = elementFromGrid(newGrid, details[0].row(), details[0].column());
|
@@ -4965,7 +4814,7 @@ var table = (function (domGlobals) {
|
|
4965 |
return Transitions.toGrid(wh, generators, true);
|
4966 |
};
|
4967 |
var gridB = gridify(pasteDetails.clipboard(), pasteDetails.generators());
|
4968 |
-
var startAddress =
|
4969 |
var mergedGrid = TableMerge.merge(startAddress, grid, gridB, pasteDetails.generators(), comparator);
|
4970 |
return mergedGrid.fold(function () {
|
4971 |
return outcome(grid, Option.some(pasteDetails.element()));
|
@@ -4995,48 +4844,29 @@ var table = (function (domGlobals) {
|
|
4995 |
var cursor = elementFromGrid(mergedGrid, pasteDetails.cells[0].row(), pasteDetails.cells[0].column());
|
4996 |
return outcome(mergedGrid, cursor);
|
4997 |
};
|
4998 |
-
var sortRows = function (grid, detail, sortComparator, ascending) {
|
4999 |
-
var newGrid = TransformOperations.sortTableRows(grid, detail.column(), sortComparator, ascending);
|
5000 |
-
return bundle(newGrid, detail.row(), detail.column());
|
5001 |
-
};
|
5002 |
-
var sortColumns = function (grid, detail, sortComparator, ascending) {
|
5003 |
-
var newGrid = TransformOperations.sortTableColumns(grid, detail.row(), sortComparator, ascending);
|
5004 |
-
return bundle(newGrid, detail.row(), detail.column());
|
5005 |
-
};
|
5006 |
-
var runSort = function (sortF) {
|
5007 |
-
return function (wire, table, target, generators, direction, sortComparator, ascending) {
|
5008 |
-
var operation = function (grid, detail, _comparator, _generators) {
|
5009 |
-
return sortF(grid, detail, sortComparator, ascending);
|
5010 |
-
};
|
5011 |
-
var wrappedOperation = RunOperation.run(operation, RunOperation.onCell, noop, noop, Generators.modification);
|
5012 |
-
return wrappedOperation(wire, table, target, generators, direction);
|
5013 |
-
};
|
5014 |
-
};
|
5015 |
var resize = Adjustments.adjustWidthTo;
|
5016 |
var TableOperations = {
|
5017 |
-
insertRowBefore:
|
5018 |
-
insertRowsBefore:
|
5019 |
-
insertRowAfter:
|
5020 |
-
insertRowsAfter:
|
5021 |
-
insertColumnBefore:
|
5022 |
-
insertColumnsBefore:
|
5023 |
-
insertColumnAfter:
|
5024 |
-
insertColumnsAfter:
|
5025 |
-
splitCellIntoColumns:
|
5026 |
-
splitCellIntoRows:
|
5027 |
-
eraseColumns:
|
5028 |
-
eraseRows:
|
5029 |
-
makeColumnHeader:
|
5030 |
-
unmakeColumnHeader:
|
5031 |
-
makeRowHeader:
|
5032 |
-
unmakeRowHeader:
|
5033 |
-
mergeCells:
|
5034 |
-
unmergeCells:
|
5035 |
-
pasteCells:
|
5036 |
-
pasteRowsBefore:
|
5037 |
-
pasteRowsAfter:
|
5038 |
-
sortRows: runSort(sortRows),
|
5039 |
-
sortColumns: runSort(sortColumns)
|
5040 |
};
|
5041 |
|
5042 |
var getBody$1 = function (editor) {
|
@@ -5257,11 +5087,11 @@ var table = (function (domGlobals) {
|
|
5257 |
var copyRows = function (table, target, generators) {
|
5258 |
var list = DetailsList.fromTable(table);
|
5259 |
var house = Warehouse.generate(list);
|
5260 |
-
var details =
|
5261 |
return details.map(function (selectedCells) {
|
5262 |
var grid = Transitions.toGrid(house, generators, false);
|
5263 |
var slicedGrid = grid.slice(selectedCells[0].row(), selectedCells[selectedCells.length - 1].row() + selectedCells[selectedCells.length - 1].rowspan());
|
5264 |
-
var slicedDetails =
|
5265 |
return Redraw.copy(slicedDetails);
|
5266 |
});
|
5267 |
};
|
@@ -6036,14 +5866,14 @@ var table = (function (domGlobals) {
|
|
6036 |
return table;
|
6037 |
};
|
6038 |
|
6039 |
-
var get$
|
6040 |
return element.dom().innerHTML;
|
6041 |
};
|
6042 |
var getOuter$2 = function (element) {
|
6043 |
var container = Element.fromTag('div');
|
6044 |
var clone = Element.fromDom(element.dom().cloneNode(true));
|
6045 |
append(container, clone);
|
6046 |
-
return get$
|
6047 |
};
|
6048 |
|
6049 |
var placeCaretInCell = function (editor, cell) {
|
@@ -6490,7 +6320,7 @@ var table = (function (domGlobals) {
|
|
6490 |
};
|
6491 |
var Commands = { registerCommands: registerCommands };
|
6492 |
|
6493 |
-
var only
|
6494 |
var parent = Option.from(element.dom().documentElement).map(Element.fromDom).getOr(element);
|
6495 |
return {
|
6496 |
parent: constant(parent),
|
@@ -6499,7 +6329,9 @@ var table = (function (domGlobals) {
|
|
6499 |
};
|
6500 |
};
|
6501 |
var detached = function (editable, chrome) {
|
6502 |
-
var origin =
|
|
|
|
|
6503 |
return {
|
6504 |
parent: constant(chrome),
|
6505 |
view: constant(editable),
|
@@ -6514,17 +6346,17 @@ var table = (function (domGlobals) {
|
|
6514 |
};
|
6515 |
};
|
6516 |
var ResizeWire = {
|
6517 |
-
only: only
|
6518 |
detached: detached,
|
6519 |
body: body$1
|
6520 |
};
|
6521 |
|
6522 |
-
|
6523 |
var struct = Immutable.apply(null, fields);
|
6524 |
var handlers = [];
|
6525 |
var bind = function (handler) {
|
6526 |
if (handler === undefined) {
|
6527 |
-
throw 'Event bind error: undefined handler';
|
6528 |
}
|
6529 |
handlers.push(handler);
|
6530 |
};
|
@@ -6534,7 +6366,11 @@ var table = (function (domGlobals) {
|
|
6534 |
});
|
6535 |
};
|
6536 |
var trigger = function () {
|
6537 |
-
var
|
|
|
|
|
|
|
|
|
6538 |
each(handlers, function (handler) {
|
6539 |
handler(event);
|
6540 |
});
|
@@ -6544,9 +6380,9 @@ var table = (function (domGlobals) {
|
|
6544 |
unbind: unbind,
|
6545 |
trigger: trigger
|
6546 |
};
|
6547 |
-
}
|
6548 |
|
6549 |
-
var create = function (typeDefs) {
|
6550 |
var registry = map$1(typeDefs, function (event) {
|
6551 |
return {
|
6552 |
bind: event.bind,
|
@@ -6561,59 +6397,7 @@ var table = (function (domGlobals) {
|
|
6561 |
trigger: trigger
|
6562 |
};
|
6563 |
};
|
6564 |
-
var Events = { create: create };
|
6565 |
-
|
6566 |
-
var mode = exactly([
|
6567 |
-
'compare',
|
6568 |
-
'extract',
|
6569 |
-
'mutate',
|
6570 |
-
'sink'
|
6571 |
-
]);
|
6572 |
-
var sink = exactly([
|
6573 |
-
'element',
|
6574 |
-
'start',
|
6575 |
-
'stop',
|
6576 |
-
'destroy'
|
6577 |
-
]);
|
6578 |
-
var api$3 = exactly([
|
6579 |
-
'forceDrop',
|
6580 |
-
'drop',
|
6581 |
-
'move',
|
6582 |
-
'delayDrop'
|
6583 |
-
]);
|
6584 |
-
var DragApis = {
|
6585 |
-
mode: mode,
|
6586 |
-
sink: sink,
|
6587 |
-
api: api$3
|
6588 |
-
};
|
6589 |
-
|
6590 |
-
var styles$1 = css('ephox-dragster');
|
6591 |
-
var Styles$2 = { resolve: styles$1.resolve };
|
6592 |
-
|
6593 |
-
function Blocker (options) {
|
6594 |
-
var settings = merge({ 'layerClass': Styles$2.resolve('blocker') }, options);
|
6595 |
-
var div = Element.fromTag('div');
|
6596 |
-
set(div, 'role', 'presentation');
|
6597 |
-
setAll$1(div, {
|
6598 |
-
position: 'fixed',
|
6599 |
-
left: '0px',
|
6600 |
-
top: '0px',
|
6601 |
-
width: '100%',
|
6602 |
-
height: '100%'
|
6603 |
-
});
|
6604 |
-
add$2(div, Styles$2.resolve('blocker'));
|
6605 |
-
add$2(div, settings.layerClass);
|
6606 |
-
var element = function () {
|
6607 |
-
return div;
|
6608 |
-
};
|
6609 |
-
var destroy = function () {
|
6610 |
-
remove$2(div);
|
6611 |
-
};
|
6612 |
-
return {
|
6613 |
-
element: element,
|
6614 |
-
destroy: destroy
|
6615 |
-
};
|
6616 |
-
}
|
6617 |
|
6618 |
var mkEvent = function (target, x, y, stop, prevent, kill, raw) {
|
6619 |
return {
|
@@ -6660,16 +6444,90 @@ var table = (function (domGlobals) {
|
|
6660 |
return bind$1(element, event, filter$1, handler);
|
6661 |
};
|
6662 |
|
6663 |
-
var
|
6664 |
-
|
6665 |
-
|
6666 |
-
var extract$1 = function (event) {
|
6667 |
-
return Option.some(Position(event.x(), event.y()));
|
6668 |
-
};
|
6669 |
-
var mutate = function (mutation, info) {
|
6670 |
-
mutation.mutate(info.left(), info.top());
|
6671 |
};
|
6672 |
-
var
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6673 |
var blocker = Blocker(settings);
|
6674 |
var mdown = bind$2(blocker.element(), 'mousedown', dragApi.forceDrop);
|
6675 |
var mup = bind$2(blocker.element(), 'mouseup', dragApi.drop);
|
@@ -6688,20 +6546,47 @@ var table = (function (domGlobals) {
|
|
6688 |
var stop = function () {
|
6689 |
remove$2(blocker.element());
|
6690 |
};
|
6691 |
-
return
|
6692 |
element: blocker.element,
|
6693 |
start: start,
|
6694 |
stop: stop,
|
6695 |
destroy: destroy
|
6696 |
});
|
6697 |
};
|
6698 |
-
var MouseDrag =
|
6699 |
compare: compare,
|
6700 |
extract: extract$1,
|
6701 |
-
sink: sink
|
6702 |
mutate: mutate
|
6703 |
});
|
6704 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6705 |
function InDrag () {
|
6706 |
var previous = Option.none();
|
6707 |
var reset = function () {
|
@@ -6731,11 +6616,9 @@ var table = (function (domGlobals) {
|
|
6731 |
};
|
6732 |
}
|
6733 |
|
6734 |
-
function NoDrag (
|
6735 |
-
var onEvent = function (event, mode) {
|
6736 |
-
};
|
6737 |
return {
|
6738 |
-
onEvent:
|
6739 |
reset: noop
|
6740 |
};
|
6741 |
}
|
@@ -6767,32 +6650,6 @@ var table = (function (domGlobals) {
|
|
6767 |
};
|
6768 |
}
|
6769 |
|
6770 |
-
var last$2 = function (fn, rate) {
|
6771 |
-
var timer = null;
|
6772 |
-
var cancel = function () {
|
6773 |
-
if (timer !== null) {
|
6774 |
-
domGlobals.clearTimeout(timer);
|
6775 |
-
timer = null;
|
6776 |
-
}
|
6777 |
-
};
|
6778 |
-
var throttle = function () {
|
6779 |
-
var args = [];
|
6780 |
-
for (var _i = 0; _i < arguments.length; _i++) {
|
6781 |
-
args[_i] = arguments[_i];
|
6782 |
-
}
|
6783 |
-
if (timer !== null)
|
6784 |
-
domGlobals.clearTimeout(timer);
|
6785 |
-
timer = domGlobals.setTimeout(function () {
|
6786 |
-
fn.apply(null, args);
|
6787 |
-
timer = null;
|
6788 |
-
}, rate);
|
6789 |
-
};
|
6790 |
-
return {
|
6791 |
-
cancel: cancel,
|
6792 |
-
throttle: throttle
|
6793 |
-
};
|
6794 |
-
};
|
6795 |
-
|
6796 |
var setup = function (mutation, mode, settings) {
|
6797 |
var active = false;
|
6798 |
var events = Events.create({
|
@@ -6813,7 +6670,7 @@ var table = (function (domGlobals) {
|
|
6813 |
movement.on();
|
6814 |
events.trigger.start();
|
6815 |
};
|
6816 |
-
var mousemove = function (event
|
6817 |
throttledDrop.cancel();
|
6818 |
movement.onEvent(event, mode);
|
6819 |
};
|
@@ -6828,13 +6685,16 @@ var table = (function (domGlobals) {
|
|
6828 |
};
|
6829 |
var runIfActive = function (f) {
|
6830 |
return function () {
|
6831 |
-
var args =
|
|
|
|
|
|
|
6832 |
if (active) {
|
6833 |
-
|
6834 |
}
|
6835 |
};
|
6836 |
};
|
6837 |
-
var sink = mode.sink(
|
6838 |
forceDrop: drop,
|
6839 |
drop: runIfActive(drop),
|
6840 |
move: runIfActive(mousemove),
|
@@ -6854,18 +6714,16 @@ var table = (function (domGlobals) {
|
|
6854 |
};
|
6855 |
var Dragging = { setup: setup };
|
6856 |
|
6857 |
-
var transform$1 = function (mutation,
|
6858 |
-
|
|
|
|
|
6859 |
var mode = settings.mode !== undefined ? settings.mode : MouseDrag;
|
6860 |
-
return Dragging.setup(mutation, mode,
|
6861 |
};
|
6862 |
var Dragger = { transform: transform$1 };
|
6863 |
|
6864 |
-
var
|
6865 |
-
return closest$1(scope, selector, isRoot).isSome();
|
6866 |
-
};
|
6867 |
-
|
6868 |
-
function Mutation () {
|
6869 |
var events = Events.create({
|
6870 |
drag: Event([
|
6871 |
'xDelta',
|
@@ -6879,9 +6737,9 @@ var table = (function (domGlobals) {
|
|
6879 |
mutate: mutate,
|
6880 |
events: events.registry
|
6881 |
};
|
6882 |
-
}
|
6883 |
|
6884 |
-
|
6885 |
var events = Events.create({
|
6886 |
drag: Event([
|
6887 |
'xDelta',
|
@@ -6908,10 +6766,17 @@ var table = (function (domGlobals) {
|
|
6908 |
mutate: delegate.mutate,
|
6909 |
events: events.registry
|
6910 |
};
|
6911 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6912 |
|
6913 |
var resizeBarDragging = Styles.resolve('resizer-bar-dragging');
|
6914 |
-
|
6915 |
var mutation = BarMutation();
|
6916 |
var resizing = Dragger.transform(mutation, {});
|
6917 |
var hoverTable = Option.none();
|
@@ -6969,15 +6834,20 @@ var table = (function (domGlobals) {
|
|
6969 |
var isRoot = function (e) {
|
6970 |
return eq(e, wire.view());
|
6971 |
};
|
|
|
|
|
|
|
|
|
|
|
6972 |
var mouseover = bind$2(wire.view(), 'mouseover', function (event) {
|
6973 |
-
|
6974 |
-
|
6975 |
-
|
6976 |
-
|
6977 |
-
|
6978 |
-
|
6979 |
-
Bars.
|
6980 |
-
}
|
6981 |
});
|
6982 |
var destroy = function () {
|
6983 |
mousedown.unbind();
|
@@ -7010,7 +6880,7 @@ var table = (function (domGlobals) {
|
|
7010 |
showBars: curry(Bars.show, wire),
|
7011 |
events: events.registry
|
7012 |
};
|
7013 |
-
}
|
7014 |
|
7015 |
function TableResize (wire, vdirection) {
|
7016 |
var hdirection = BarPositions.height;
|
@@ -7022,7 +6892,7 @@ var table = (function (domGlobals) {
|
|
7022 |
});
|
7023 |
manager.events.adjustHeight.bind(function (event) {
|
7024 |
events.trigger.beforeResize(event.table());
|
7025 |
-
var delta = hdirection.delta(event.delta());
|
7026 |
Adjustments.adjustHeight(event.table(), delta, event.row(), hdirection);
|
7027 |
events.trigger.afterResize(event.table());
|
7028 |
});
|
@@ -7058,7 +6928,7 @@ var table = (function (domGlobals) {
|
|
7058 |
append(body(), container);
|
7059 |
return container;
|
7060 |
};
|
7061 |
-
var get$
|
7062 |
return editor.inline ? ResizeWire.body(getBody$1(editor), createContainer()) : ResizeWire.only(Element.fromDom(editor.getDoc()));
|
7063 |
};
|
7064 |
var remove$6 = function (editor, wire) {
|
@@ -7067,7 +6937,7 @@ var table = (function (domGlobals) {
|
|
7067 |
}
|
7068 |
};
|
7069 |
var TableWire = {
|
7070 |
-
get: get$
|
7071 |
remove: remove$6
|
7072 |
};
|
7073 |
|
@@ -7165,35 +7035,24 @@ var table = (function (domGlobals) {
|
|
7165 |
};
|
7166 |
};
|
7167 |
|
7168 |
-
var
|
7169 |
-
|
7170 |
-
|
7171 |
-
|
7172 |
-
|
7173 |
-
|
7174 |
-
|
7175 |
-
|
7176 |
-
|
7177 |
-
|
7178 |
-
|
7179 |
-
|
7180 |
-
|
7181 |
-
|
7182 |
-
|
7183 |
-
|
7184 |
-
});
|
7185 |
-
};
|
7186 |
-
var last$3 = function (current) {
|
7187 |
-
return folder$1(function (n, f, m, l) {
|
7188 |
-
return l(current);
|
7189 |
-
});
|
7190 |
-
};
|
7191 |
-
var CellLocation = {
|
7192 |
-
none: none$2,
|
7193 |
-
first: first$1,
|
7194 |
-
middle: middle$1,
|
7195 |
-
last: last$3
|
7196 |
};
|
|
|
7197 |
|
7198 |
var detect$4 = function (current, isRoot) {
|
7199 |
return TableLookup.table(current, isRoot).bind(function (table) {
|
@@ -7230,7 +7089,10 @@ var table = (function (domGlobals) {
|
|
7230 |
prev: prev
|
7231 |
};
|
7232 |
|
7233 |
-
var
|
|
|
|
|
|
|
7234 |
{ before: ['element'] },
|
7235 |
{
|
7236 |
on: [
|
@@ -7246,9 +7108,9 @@ var table = (function (domGlobals) {
|
|
7246 |
var getStart = function (situ) {
|
7247 |
return situ.fold(identity, identity, identity);
|
7248 |
};
|
7249 |
-
var before$2 = adt.before;
|
7250 |
-
var on = adt.on;
|
7251 |
-
var after$2 = adt.after;
|
7252 |
var Situ = {
|
7253 |
before: before$2,
|
7254 |
on: on,
|
@@ -7257,7 +7119,7 @@ var table = (function (domGlobals) {
|
|
7257 |
getStart: getStart
|
7258 |
};
|
7259 |
|
7260 |
-
var
|
7261 |
{ domRange: ['rng'] },
|
7262 |
{
|
7263 |
relative: [
|
@@ -7274,7 +7136,9 @@ var table = (function (domGlobals) {
|
|
7274 |
]
|
7275 |
}
|
7276 |
]);
|
7277 |
-
var
|
|
|
|
|
7278 |
var getStart$1 = function (selection) {
|
7279 |
return selection.match({
|
7280 |
domRange: function (rng) {
|
@@ -7288,24 +7152,21 @@ var table = (function (domGlobals) {
|
|
7288 |
}
|
7289 |
});
|
7290 |
};
|
|
|
|
|
|
|
7291 |
var getWin = function (selection) {
|
7292 |
var start = getStart$1(selection);
|
7293 |
return defaultView(start);
|
7294 |
};
|
7295 |
-
var
|
7296 |
-
var
|
7297 |
-
|
7298 |
-
|
7299 |
-
|
7300 |
-
|
7301 |
-
|
7302 |
-
|
7303 |
-
return rng;
|
7304 |
-
};
|
7305 |
-
var after$3 = function (start, soffset, finish, foffset) {
|
7306 |
-
var r = makeRange(start, soffset, finish, foffset);
|
7307 |
-
var same = eq(start, finish) && soffset === foffset;
|
7308 |
-
return r.collapsed && !same;
|
7309 |
};
|
7310 |
|
7311 |
var selectNodeContents = function (win, element) {
|
@@ -7362,7 +7223,7 @@ var table = (function (domGlobals) {
|
|
7362 |
return rect.width > 0 || rect.height > 0 ? Option.some(rect).map(toRect) : Option.none();
|
7363 |
};
|
7364 |
|
7365 |
-
var adt$
|
7366 |
{
|
7367 |
ltr: [
|
7368 |
'start',
|
@@ -7420,12 +7281,12 @@ var table = (function (domGlobals) {
|
|
7420 |
return rev.collapsed === false;
|
7421 |
});
|
7422 |
return reversed.map(function (rev) {
|
7423 |
-
return adt$
|
7424 |
}).getOrThunk(function () {
|
7425 |
-
return fromRange(win, adt$
|
7426 |
});
|
7427 |
} else {
|
7428 |
-
return fromRange(win, adt$
|
7429 |
}
|
7430 |
};
|
7431 |
var diagnose = function (win, selection) {
|
@@ -7510,8 +7371,7 @@ var table = (function (domGlobals) {
|
|
7510 |
});
|
7511 |
};
|
7512 |
var locateNode = function (doc, node, x, y) {
|
7513 |
-
|
7514 |
-
return locator(doc, node, x, y);
|
7515 |
};
|
7516 |
var locate$1 = function (doc, node, x, y) {
|
7517 |
var r = doc.dom().createRange();
|
@@ -7587,7 +7447,7 @@ var table = (function (domGlobals) {
|
|
7587 |
var fromPoint$1 = function (win, x, y) {
|
7588 |
var doc = Element.fromDom(win.document);
|
7589 |
return availableSearch(doc, x, y).map(function (rng) {
|
7590 |
-
return
|
7591 |
});
|
7592 |
};
|
7593 |
|
@@ -7607,12 +7467,12 @@ var table = (function (domGlobals) {
|
|
7607 |
var preprocessRelative = function (startSitu, finishSitu) {
|
7608 |
var start = startSitu.fold(Situ.before, beforeSpecial, Situ.after);
|
7609 |
var finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after);
|
7610 |
-
return relative(start, finish);
|
7611 |
};
|
7612 |
var preprocessExact = function (start, soffset, finish, foffset) {
|
7613 |
var startSitu = beforeSpecial(start, soffset);
|
7614 |
var finishSitu = beforeSpecial(finish, foffset);
|
7615 |
-
return relative(startSitu, finishSitu);
|
7616 |
};
|
7617 |
var preprocess = function (selection) {
|
7618 |
return selection.match({
|
@@ -7626,6 +7486,19 @@ var table = (function (domGlobals) {
|
|
7626 |
});
|
7627 |
};
|
7628 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7629 |
var doSetNativeRange = function (win, rng) {
|
7630 |
Option.from(win.getSelection()).each(function (selection) {
|
7631 |
selection.removeAllRanges();
|
@@ -7670,7 +7543,7 @@ var table = (function (domGlobals) {
|
|
7670 |
setRangeFromRelative(win, relative);
|
7671 |
};
|
7672 |
var toNative = function (selection) {
|
7673 |
-
var win = getWin(selection).dom();
|
7674 |
var getDomRange = function (start, soffset, finish, foffset) {
|
7675 |
return exactToNative(win, start, soffset, finish, foffset);
|
7676 |
};
|
@@ -7684,7 +7557,7 @@ var table = (function (domGlobals) {
|
|
7684 |
if (selection.rangeCount > 0) {
|
7685 |
var firstRng = selection.getRangeAt(0);
|
7686 |
var lastRng = selection.getRangeAt(selection.rangeCount - 1);
|
7687 |
-
return Option.some(
|
7688 |
} else {
|
7689 |
return Option.none();
|
7690 |
}
|
@@ -7692,7 +7565,7 @@ var table = (function (domGlobals) {
|
|
7692 |
var doGetExact = function (selection) {
|
7693 |
var anchor = Element.fromDom(selection.anchorNode);
|
7694 |
var focus = Element.fromDom(selection.focusNode);
|
7695 |
-
return after$3(anchor, selection.anchorOffset, focus, selection.focusOffset) ? Option.some(
|
7696 |
};
|
7697 |
var setToElement = function (win, element) {
|
7698 |
var rng = selectNodeContents(win, element);
|
@@ -7703,9 +7576,9 @@ var table = (function (domGlobals) {
|
|
7703 |
return sel.rangeCount > 0;
|
7704 |
}).bind(doGetExact);
|
7705 |
};
|
7706 |
-
var get$
|
7707 |
return getExact(win).map(function (range) {
|
7708 |
-
return exact(range.start(), range.soffset(), range.finish(), range.foffset());
|
7709 |
});
|
7710 |
};
|
7711 |
var getFirstRect$1 = function (win, selection) {
|
@@ -7715,7 +7588,7 @@ var table = (function (domGlobals) {
|
|
7715 |
var getAtPoint = function (win, x, y) {
|
7716 |
return fromPoint$1(win, x, y);
|
7717 |
};
|
7718 |
-
var clear
|
7719 |
var selection = win.getSelection();
|
7720 |
selection.removeAllRanges();
|
7721 |
};
|
@@ -7729,7 +7602,7 @@ var table = (function (domGlobals) {
|
|
7729 |
return go(editor, isRoot, CellNavigation.prev(cell), lazyWire);
|
7730 |
};
|
7731 |
var getCellFirstCursorPosition = function (editor, cell) {
|
7732 |
-
var selection = exact(cell, 0, cell, 0);
|
7733 |
return toNative(selection);
|
7734 |
};
|
7735 |
var getNewRowCursorPosition = function (editor, table) {
|
@@ -7783,160 +7656,52 @@ var table = (function (domGlobals) {
|
|
7783 |
};
|
7784 |
var TabContext = { handle: handle$1 };
|
7785 |
|
7786 |
-
var
|
7787 |
-
var
|
7788 |
|
7789 |
-
var
|
7790 |
-
return
|
7791 |
-
|
|
|
7792 |
};
|
7793 |
};
|
7794 |
-
var
|
7795 |
-
var isDown = isKey(40);
|
7796 |
-
var isNavigation = function (keycode) {
|
7797 |
-
return keycode >= 37 && keycode <= 40;
|
7798 |
-
};
|
7799 |
-
var SelectionKeys = {
|
7800 |
-
ltr: {
|
7801 |
-
isBackward: isKey(37),
|
7802 |
-
isForward: isKey(39)
|
7803 |
-
},
|
7804 |
-
rtl: {
|
7805 |
-
isBackward: isKey(39),
|
7806 |
-
isForward: isKey(37)
|
7807 |
-
},
|
7808 |
-
isUp: isUp,
|
7809 |
-
isDown: isDown,
|
7810 |
-
isNavigation: isNavigation
|
7811 |
-
};
|
7812 |
|
7813 |
var convertToRange = function (win, selection) {
|
7814 |
var rng = asLtrRange(win, selection);
|
7815 |
-
return
|
7816 |
-
start: constant(Element.fromDom(rng.startContainer)),
|
7817 |
-
soffset: constant(rng.startOffset),
|
7818 |
-
finish: constant(Element.fromDom(rng.endContainer)),
|
7819 |
-
foffset: constant(rng.endOffset)
|
7820 |
-
};
|
7821 |
-
};
|
7822 |
-
var makeSitus = function (start, soffset, finish, foffset) {
|
7823 |
-
return {
|
7824 |
-
start: constant(Situ.on(start, soffset)),
|
7825 |
-
finish: constant(Situ.on(finish, foffset))
|
7826 |
-
};
|
7827 |
};
|
7828 |
-
var
|
|
|
7829 |
convertToRange: convertToRange,
|
7830 |
makeSitus: makeSitus
|
7831 |
};
|
7832 |
|
7833 |
-
var
|
7834 |
-
|
7835 |
-
|
7836 |
-
|
7837 |
-
|
7838 |
-
|
|
|
|
|
|
|
|
|
7839 |
};
|
7840 |
-
var
|
7841 |
-
|
7842 |
-
|
7843 |
-
|
7844 |
-
|
7845 |
-
|
7846 |
-
|
7847 |
-
|
7848 |
-
|
7849 |
-
|
7850 |
-
|
7851 |
-
|
7852 |
-
|
7853 |
-
|
7854 |
-
var sel = exact(start, soffset, finish, foffset);
|
7855 |
-
return getFirstRect$1(win, sel).map(function (structRect) {
|
7856 |
-
return map$1(structRect, apply);
|
7857 |
-
});
|
7858 |
-
};
|
7859 |
-
var getSelection = function () {
|
7860 |
-
return get$a(win).map(function (exactAdt) {
|
7861 |
-
return Util$1.convertToRange(win, exactAdt);
|
7862 |
-
});
|
7863 |
-
};
|
7864 |
-
var fromSitus = function (situs) {
|
7865 |
-
var relative$1 = relative(situs.start(), situs.finish());
|
7866 |
-
return Util$1.convertToRange(win, relative$1);
|
7867 |
-
};
|
7868 |
-
var situsFromPoint = function (x, y) {
|
7869 |
-
return getAtPoint(win, x, y).map(function (exact) {
|
7870 |
-
return {
|
7871 |
-
start: constant(Situ.on(exact.start(), exact.soffset())),
|
7872 |
-
finish: constant(Situ.on(exact.finish(), exact.foffset()))
|
7873 |
-
};
|
7874 |
-
});
|
7875 |
-
};
|
7876 |
-
var clearSelection = function () {
|
7877 |
-
clear$1(win);
|
7878 |
-
};
|
7879 |
-
var selectContents = function (element) {
|
7880 |
-
setToElement(win, element);
|
7881 |
-
};
|
7882 |
-
var setSelection = function (sel) {
|
7883 |
-
setExact(win, sel.start(), sel.soffset(), sel.finish(), sel.foffset());
|
7884 |
-
};
|
7885 |
-
var setRelativeSelection = function (start, finish) {
|
7886 |
-
setRelative(win, start, finish);
|
7887 |
-
};
|
7888 |
-
var getInnerHeight = function () {
|
7889 |
-
return win.innerHeight;
|
7890 |
-
};
|
7891 |
-
var getScrollY = function () {
|
7892 |
-
var pos = get$b(Element.fromDom(win.document));
|
7893 |
-
return pos.top();
|
7894 |
-
};
|
7895 |
-
var scrollBy = function (x, y) {
|
7896 |
-
by(x, y, Element.fromDom(win.document));
|
7897 |
-
};
|
7898 |
-
return {
|
7899 |
-
elementFromPoint: elementFromPoint,
|
7900 |
-
getRect: getRect,
|
7901 |
-
getRangedRect: getRangedRect,
|
7902 |
-
getSelection: getSelection,
|
7903 |
-
fromSitus: fromSitus,
|
7904 |
-
situsFromPoint: situsFromPoint,
|
7905 |
-
clearSelection: clearSelection,
|
7906 |
-
setSelection: setSelection,
|
7907 |
-
setRelativeSelection: setRelativeSelection,
|
7908 |
-
selectContents: selectContents,
|
7909 |
-
getInnerHeight: getInnerHeight,
|
7910 |
-
getScrollY: getScrollY,
|
7911 |
-
scrollBy: scrollBy
|
7912 |
-
};
|
7913 |
-
}
|
7914 |
-
|
7915 |
-
var sync = function (container, isRoot, start, soffset, finish, foffset, selectRange) {
|
7916 |
-
if (!(eq(start, finish) && soffset === foffset)) {
|
7917 |
-
return closest$1(start, 'td,th', isRoot).bind(function (s) {
|
7918 |
-
return closest$1(finish, 'td,th', isRoot).bind(function (f) {
|
7919 |
-
return detect$5(container, isRoot, s, f, selectRange);
|
7920 |
-
});
|
7921 |
-
});
|
7922 |
-
} else {
|
7923 |
-
return Option.none();
|
7924 |
-
}
|
7925 |
-
};
|
7926 |
-
var detect$5 = function (container, isRoot, start, finish, selectRange) {
|
7927 |
-
if (!eq(start, finish)) {
|
7928 |
-
return CellSelection.identify(start, finish, isRoot).bind(function (cellSel) {
|
7929 |
-
var boxes = cellSel.boxes().getOr([]);
|
7930 |
-
if (boxes.length > 0) {
|
7931 |
-
selectRange(container, boxes, cellSel.start(), cellSel.finish());
|
7932 |
-
return Option.some(Responses.response(Option.some(Util$1.makeSitus(start, 0, start, getEnd(start))), true));
|
7933 |
-
} else {
|
7934 |
-
return Option.none();
|
7935 |
-
}
|
7936 |
-
});
|
7937 |
-
} else {
|
7938 |
-
return Option.none();
|
7939 |
-
}
|
7940 |
};
|
7941 |
var update = function (rows, columns, container, selected, annotations) {
|
7942 |
var updateSelection = function (newSels) {
|
@@ -7952,114 +7717,6 @@ var table = (function (domGlobals) {
|
|
7952 |
update: update
|
7953 |
};
|
7954 |
|
7955 |
-
var nu$3 = MixedBag([
|
7956 |
-
'left',
|
7957 |
-
'top',
|
7958 |
-
'right',
|
7959 |
-
'bottom'
|
7960 |
-
], []);
|
7961 |
-
var moveDown = function (caret, amount) {
|
7962 |
-
return nu$3({
|
7963 |
-
left: caret.left(),
|
7964 |
-
top: caret.top() + amount,
|
7965 |
-
right: caret.right(),
|
7966 |
-
bottom: caret.bottom() + amount
|
7967 |
-
});
|
7968 |
-
};
|
7969 |
-
var moveUp = function (caret, amount) {
|
7970 |
-
return nu$3({
|
7971 |
-
left: caret.left(),
|
7972 |
-
top: caret.top() - amount,
|
7973 |
-
right: caret.right(),
|
7974 |
-
bottom: caret.bottom() - amount
|
7975 |
-
});
|
7976 |
-
};
|
7977 |
-
var moveBottomTo = function (caret, bottom) {
|
7978 |
-
var height = caret.bottom() - caret.top();
|
7979 |
-
return nu$3({
|
7980 |
-
left: caret.left(),
|
7981 |
-
top: bottom - height,
|
7982 |
-
right: caret.right(),
|
7983 |
-
bottom: bottom
|
7984 |
-
});
|
7985 |
-
};
|
7986 |
-
var moveTopTo = function (caret, top) {
|
7987 |
-
var height = caret.bottom() - caret.top();
|
7988 |
-
return nu$3({
|
7989 |
-
left: caret.left(),
|
7990 |
-
top: top,
|
7991 |
-
right: caret.right(),
|
7992 |
-
bottom: top + height
|
7993 |
-
});
|
7994 |
-
};
|
7995 |
-
var translate = function (caret, xDelta, yDelta) {
|
7996 |
-
return nu$3({
|
7997 |
-
left: caret.left() + xDelta,
|
7998 |
-
top: caret.top() + yDelta,
|
7999 |
-
right: caret.right() + xDelta,
|
8000 |
-
bottom: caret.bottom() + yDelta
|
8001 |
-
});
|
8002 |
-
};
|
8003 |
-
var getTop$1 = function (caret) {
|
8004 |
-
return caret.top();
|
8005 |
-
};
|
8006 |
-
var getBottom = function (caret) {
|
8007 |
-
return caret.bottom();
|
8008 |
-
};
|
8009 |
-
var toString = function (caret) {
|
8010 |
-
return '(' + caret.left() + ', ' + caret.top() + ') -> (' + caret.right() + ', ' + caret.bottom() + ')';
|
8011 |
-
};
|
8012 |
-
var Carets = {
|
8013 |
-
nu: nu$3,
|
8014 |
-
moveUp: moveUp,
|
8015 |
-
moveDown: moveDown,
|
8016 |
-
moveBottomTo: moveBottomTo,
|
8017 |
-
moveTopTo: moveTopTo,
|
8018 |
-
getTop: getTop$1,
|
8019 |
-
getBottom: getBottom,
|
8020 |
-
translate: translate,
|
8021 |
-
toString: toString
|
8022 |
-
};
|
8023 |
-
|
8024 |
-
var getPartialBox = function (bridge, element, offset) {
|
8025 |
-
if (offset >= 0 && offset < getEnd(element))
|
8026 |
-
return bridge.getRangedRect(element, offset, element, offset + 1);
|
8027 |
-
else if (offset > 0)
|
8028 |
-
return bridge.getRangedRect(element, offset - 1, element, offset);
|
8029 |
-
return Option.none();
|
8030 |
-
};
|
8031 |
-
var toCaret = function (rect) {
|
8032 |
-
return Carets.nu({
|
8033 |
-
left: rect.left,
|
8034 |
-
top: rect.top,
|
8035 |
-
right: rect.right,
|
8036 |
-
bottom: rect.bottom
|
8037 |
-
});
|
8038 |
-
};
|
8039 |
-
var getElemBox = function (bridge, element) {
|
8040 |
-
return Option.some(bridge.getRect(element));
|
8041 |
-
};
|
8042 |
-
var getBoxAt = function (bridge, element, offset) {
|
8043 |
-
if (isElement(element))
|
8044 |
-
return getElemBox(bridge, element).map(toCaret);
|
8045 |
-
else if (isText(element))
|
8046 |
-
return getPartialBox(bridge, element, offset).map(toCaret);
|
8047 |
-
else
|
8048 |
-
return Option.none();
|
8049 |
-
};
|
8050 |
-
var getEntireBox = function (bridge, element) {
|
8051 |
-
if (isElement(element))
|
8052 |
-
return getElemBox(bridge, element).map(toCaret);
|
8053 |
-
else if (isText(element))
|
8054 |
-
return bridge.getRangedRect(element, 0, element, getEnd(element)).map(toCaret);
|
8055 |
-
else
|
8056 |
-
return Option.none();
|
8057 |
-
};
|
8058 |
-
var Rectangles = {
|
8059 |
-
getBoxAt: getBoxAt,
|
8060 |
-
getEntireBox: getEntireBox
|
8061 |
-
};
|
8062 |
-
|
8063 |
var traverse = Immutable('item', 'mode');
|
8064 |
var backtrack = function (universe, item, _direction, transition) {
|
8065 |
if (transition === void 0) {
|
@@ -8120,7 +7777,7 @@ var table = (function (domGlobals) {
|
|
8120 |
});
|
8121 |
};
|
8122 |
|
8123 |
-
var left
|
8124 |
var sibling = function (universe, item) {
|
8125 |
return universe.query().prevSibling(item);
|
8126 |
};
|
@@ -8132,7 +7789,7 @@ var table = (function (domGlobals) {
|
|
8132 |
first: first
|
8133 |
};
|
8134 |
};
|
8135 |
-
var right
|
8136 |
var sibling = function (universe, item) {
|
8137 |
return universe.query().nextSibling(item);
|
8138 |
};
|
@@ -8145,23 +7802,24 @@ var table = (function (domGlobals) {
|
|
8145 |
};
|
8146 |
};
|
8147 |
var Walkers = {
|
8148 |
-
left: left
|
8149 |
-
right: right
|
8150 |
};
|
8151 |
|
8152 |
var hone = function (universe, item, predicate, mode, direction, isRoot) {
|
8153 |
var next = go$1(universe, item, mode, direction);
|
8154 |
return next.bind(function (n) {
|
8155 |
-
if (isRoot(n.item()))
|
8156 |
return Option.none();
|
8157 |
-
else
|
8158 |
return predicate(n.item()) ? Option.some(n.item()) : hone(universe, n.item(), predicate, n.mode(), direction, isRoot);
|
|
|
8159 |
});
|
8160 |
};
|
8161 |
-
var left$
|
8162 |
return hone(universe, item, predicate, sidestep, Walkers.left(), isRoot);
|
8163 |
};
|
8164 |
-
var right$
|
8165 |
return hone(universe, item, predicate, sidestep, Walkers.right(), isRoot);
|
8166 |
};
|
8167 |
|
@@ -8176,28 +7834,257 @@ var table = (function (domGlobals) {
|
|
8176 |
var after$4 = function (universe, item, isRoot) {
|
8177 |
return seekRight(universe, item, isLeaf(universe), isRoot);
|
8178 |
};
|
8179 |
-
var seekLeft = left$
|
8180 |
-
var seekRight = right$
|
8181 |
-
|
8182 |
-
var universe$2 = DomUniverse();
|
8183 |
-
var before$4 = function (element, isRoot) {
|
8184 |
-
return before$3(universe$2, element, isRoot);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8185 |
};
|
8186 |
-
var
|
8187 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
8188 |
};
|
8189 |
-
var
|
8190 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
8191 |
};
|
8192 |
-
var
|
8193 |
-
|
|
|
8194 |
};
|
8195 |
|
8196 |
var JUMP_SIZE = 5;
|
8197 |
var NUM_RETRIES = 100;
|
8198 |
-
var adt$
|
8199 |
-
{
|
8200 |
-
{
|
8201 |
]);
|
8202 |
var isOutside = function (caret, box) {
|
8203 |
return caret.left() < box.left() || Math.abs(box.right() - caret.left()) < 1 || caret.left() > box.right();
|
@@ -8211,25 +8098,27 @@ var table = (function (domGlobals) {
|
|
8211 |
};
|
8212 |
var adjustDown = function (bridge, element, guessBox, original, caret) {
|
8213 |
var lowerCaret = Carets.moveDown(caret, JUMP_SIZE);
|
8214 |
-
if (Math.abs(guessBox.bottom() - original.bottom()) < 1)
|
8215 |
-
return adt$
|
8216 |
-
else if (guessBox.top() > caret.bottom())
|
8217 |
-
return adt$
|
8218 |
-
else if (guessBox.top() === caret.bottom())
|
8219 |
-
return adt$
|
8220 |
-
else
|
8221 |
-
return inOutsideBlock(bridge, element, caret) ? adt$
|
|
|
8222 |
};
|
8223 |
var adjustUp = function (bridge, element, guessBox, original, caret) {
|
8224 |
var higherCaret = Carets.moveUp(caret, JUMP_SIZE);
|
8225 |
-
if (Math.abs(guessBox.top() - original.top()) < 1)
|
8226 |
-
return adt$
|
8227 |
-
else if (guessBox.bottom() < caret.top())
|
8228 |
-
return adt$
|
8229 |
-
else if (guessBox.bottom() === caret.top())
|
8230 |
-
return adt$
|
8231 |
-
else
|
8232 |
-
return inOutsideBlock(bridge, element, caret) ? adt$
|
|
|
8233 |
};
|
8234 |
var upMovement = {
|
8235 |
point: Carets.getTop,
|
@@ -8252,13 +8141,15 @@ var table = (function (domGlobals) {
|
|
8252 |
return adjustTil(bridge, movement, original, movement.move(caret, JUMP_SIZE), numRetries);
|
8253 |
};
|
8254 |
var adjustTil = function (bridge, movement, original, caret, numRetries) {
|
8255 |
-
if (numRetries === 0)
|
8256 |
return Option.some(caret);
|
8257 |
-
|
|
|
8258 |
return adjustForTable(bridge, movement, original, caret, numRetries - 1);
|
|
|
8259 |
return bridge.situsFromPoint(caret.left(), movement.point(caret)).bind(function (guess) {
|
8260 |
-
return guess.start().fold(Option.none, function (element
|
8261 |
-
return Rectangles.getEntireBox(bridge, element
|
8262 |
return movement.adjuster(bridge, element, guessBox, original, caret).fold(Option.none, function (newCaret) {
|
8263 |
return adjustTil(bridge, movement, original, newCaret, numRetries - 1);
|
8264 |
});
|
@@ -8275,12 +8166,13 @@ var table = (function (domGlobals) {
|
|
8275 |
return bridge.situsFromPoint(caret.left(), caret.top() - JUMP_SIZE);
|
8276 |
};
|
8277 |
var checkScroll = function (movement, adjusted, bridge) {
|
8278 |
-
if (movement.point(adjusted) > bridge.getInnerHeight())
|
8279 |
return Option.some(movement.point(adjusted) - bridge.getInnerHeight());
|
8280 |
-
else if (movement.point(adjusted) < 0)
|
8281 |
return Option.some(-movement.point(adjusted));
|
8282 |
-
else
|
8283 |
return Option.none();
|
|
|
8284 |
};
|
8285 |
var retry = function (movement, bridge, caret) {
|
8286 |
var moved = movement.move(caret, JUMP_SIZE);
|
@@ -8300,121 +8192,6 @@ var table = (function (domGlobals) {
|
|
8300 |
getJumpSize: constant(JUMP_SIZE)
|
8301 |
};
|
8302 |
|
8303 |
-
var adt$3 = Adt.generate([
|
8304 |
-
{ 'none': ['message'] },
|
8305 |
-
{ 'success': [] },
|
8306 |
-
{ 'failedUp': ['cell'] },
|
8307 |
-
{ 'failedDown': ['cell'] }
|
8308 |
-
]);
|
8309 |
-
var isOverlapping = function (bridge, before, after) {
|
8310 |
-
var beforeBounds = bridge.getRect(before);
|
8311 |
-
var afterBounds = bridge.getRect(after);
|
8312 |
-
return afterBounds.right > beforeBounds.left && afterBounds.left < beforeBounds.right;
|
8313 |
-
};
|
8314 |
-
var verify = function (bridge, before, beforeOffset, after, afterOffset, failure, isRoot) {
|
8315 |
-
return closest$1(after, 'td,th', isRoot).bind(function (afterCell) {
|
8316 |
-
return closest$1(before, 'td,th', isRoot).map(function (beforeCell) {
|
8317 |
-
if (!eq(afterCell, beforeCell)) {
|
8318 |
-
return DomParent.sharedOne(isRow, [
|
8319 |
-
afterCell,
|
8320 |
-
beforeCell
|
8321 |
-
]).fold(function () {
|
8322 |
-
return isOverlapping(bridge, beforeCell, afterCell) ? adt$3.success() : failure(beforeCell);
|
8323 |
-
}, function (sharedRow) {
|
8324 |
-
return failure(beforeCell);
|
8325 |
-
});
|
8326 |
-
} else {
|
8327 |
-
return eq(after, afterCell) && getEnd(afterCell) === afterOffset ? failure(beforeCell) : adt$3.none('in same cell');
|
8328 |
-
}
|
8329 |
-
});
|
8330 |
-
}).getOr(adt$3.none('default'));
|
8331 |
-
};
|
8332 |
-
var isRow = function (elem) {
|
8333 |
-
return closest$1(elem, 'tr');
|
8334 |
-
};
|
8335 |
-
var cata$2 = function (subject, onNone, onSuccess, onFailedUp, onFailedDown) {
|
8336 |
-
return subject.fold(onNone, onSuccess, onFailedUp, onFailedDown);
|
8337 |
-
};
|
8338 |
-
var BeforeAfter = {
|
8339 |
-
verify: verify,
|
8340 |
-
cata: cata$2,
|
8341 |
-
adt: adt$3
|
8342 |
-
};
|
8343 |
-
|
8344 |
-
var point = Immutable('element', 'offset');
|
8345 |
-
var delta = Immutable('element', 'deltaOffset');
|
8346 |
-
var range$2 = Immutable('element', 'start', 'finish');
|
8347 |
-
var points = Immutable('begin', 'end');
|
8348 |
-
var text = Immutable('element', 'text');
|
8349 |
-
|
8350 |
-
var inAncestor = Immutable('ancestor', 'descendants', 'element', 'index');
|
8351 |
-
var inParent = Immutable('parent', 'children', 'element', 'index');
|
8352 |
-
var indexInParent = function (element) {
|
8353 |
-
return parent(element).bind(function (parent) {
|
8354 |
-
var children$1 = children(parent);
|
8355 |
-
return indexOf(children$1, element).map(function (index) {
|
8356 |
-
return inParent(parent, children$1, element, index);
|
8357 |
-
});
|
8358 |
-
});
|
8359 |
-
};
|
8360 |
-
var indexOf = function (elements, element) {
|
8361 |
-
return findIndex(elements, curry(eq, element));
|
8362 |
-
};
|
8363 |
-
|
8364 |
-
var isBr = function (elem) {
|
8365 |
-
return name(elem) === 'br';
|
8366 |
-
};
|
8367 |
-
var gatherer = function (cand, gather, isRoot) {
|
8368 |
-
return gather(cand, isRoot).bind(function (target) {
|
8369 |
-
return isText(target) && get$2(target).trim().length === 0 ? gatherer(target, gather, isRoot) : Option.some(target);
|
8370 |
-
});
|
8371 |
-
};
|
8372 |
-
var handleBr = function (isRoot, element, direction) {
|
8373 |
-
return direction.traverse(element).orThunk(function () {
|
8374 |
-
return gatherer(element, direction.gather, isRoot);
|
8375 |
-
}).map(direction.relative);
|
8376 |
-
};
|
8377 |
-
var findBr = function (element, offset) {
|
8378 |
-
return child(element, offset).filter(isBr).orThunk(function () {
|
8379 |
-
return child(element, offset - 1).filter(isBr);
|
8380 |
-
});
|
8381 |
-
};
|
8382 |
-
var handleParent = function (isRoot, element, offset, direction) {
|
8383 |
-
return findBr(element, offset).bind(function (br) {
|
8384 |
-
return direction.traverse(br).fold(function () {
|
8385 |
-
return gatherer(br, direction.gather, isRoot).map(direction.relative);
|
8386 |
-
}, function (adjacent) {
|
8387 |
-
return indexInParent(adjacent).map(function (info) {
|
8388 |
-
return Situ.on(info.parent(), info.index());
|
8389 |
-
});
|
8390 |
-
});
|
8391 |
-
});
|
8392 |
-
};
|
8393 |
-
var tryBr = function (isRoot, element, offset, direction) {
|
8394 |
-
var target = isBr(element) ? handleBr(isRoot, element, direction) : handleParent(isRoot, element, offset, direction);
|
8395 |
-
return target.map(function (tgt) {
|
8396 |
-
return {
|
8397 |
-
start: constant(tgt),
|
8398 |
-
finish: constant(tgt)
|
8399 |
-
};
|
8400 |
-
});
|
8401 |
-
};
|
8402 |
-
var process = function (analysis) {
|
8403 |
-
return BeforeAfter.cata(analysis, function (message) {
|
8404 |
-
return Option.none();
|
8405 |
-
}, function () {
|
8406 |
-
return Option.none();
|
8407 |
-
}, function (cell) {
|
8408 |
-
return Option.some(point(cell, 0));
|
8409 |
-
}, function (cell) {
|
8410 |
-
return Option.some(point(cell, getEnd(cell)));
|
8411 |
-
});
|
8412 |
-
};
|
8413 |
-
var BrTags = {
|
8414 |
-
tryBr: tryBr,
|
8415 |
-
process: process
|
8416 |
-
};
|
8417 |
-
|
8418 |
var MAX_RETRIES = 20;
|
8419 |
var platform$1 = PlatformDetection$1.detect();
|
8420 |
var findSpot = function (bridge, isRoot, direction) {
|
@@ -8429,8 +8206,9 @@ var table = (function (domGlobals) {
|
|
8429 |
});
|
8430 |
};
|
8431 |
var scan = function (bridge, isRoot, element, offset, direction, numRetries) {
|
8432 |
-
if (numRetries === 0)
|
8433 |
return Option.none();
|
|
|
8434 |
return tryCursor(bridge, isRoot, element, offset, direction).bind(function (situs) {
|
8435 |
var range = bridge.fromSitus(situs);
|
8436 |
var analysis = BeforeAfter.verify(bridge, element, offset, range.finish(), range.foffset(), direction.failure, isRoot);
|
@@ -8439,15 +8217,17 @@ var table = (function (domGlobals) {
|
|
8439 |
}, function () {
|
8440 |
return Option.some(situs);
|
8441 |
}, function (cell) {
|
8442 |
-
if (eq(element, cell) && offset === 0)
|
8443 |
return tryAgain(bridge, element, offset, Carets.moveUp, direction);
|
8444 |
-
else
|
8445 |
return scan(bridge, isRoot, cell, 0, direction, numRetries - 1);
|
|
|
8446 |
}, function (cell) {
|
8447 |
-
if (eq(element, cell) && offset === getEnd(cell))
|
8448 |
return tryAgain(bridge, element, offset, Carets.moveDown, direction);
|
8449 |
-
else
|
8450 |
return scan(bridge, isRoot, cell, getEnd(cell), direction, numRetries - 1);
|
|
|
8451 |
});
|
8452 |
});
|
8453 |
};
|
@@ -8457,12 +8237,13 @@ var table = (function (domGlobals) {
|
|
8457 |
});
|
8458 |
};
|
8459 |
var tryAt = function (bridge, direction, box) {
|
8460 |
-
if (platform$1.browser.isChrome() || platform$1.browser.isSafari() || platform$1.browser.isFirefox() || platform$1.browser.isEdge())
|
8461 |
return direction.otherRetry(bridge, box);
|
8462 |
-
else if (platform$1.browser.isIE())
|
8463 |
return direction.ieRetry(bridge, box);
|
8464 |
-
else
|
8465 |
return Option.none();
|
|
|
8466 |
};
|
8467 |
var tryCursor = function (bridge, isRoot, element, offset, direction) {
|
8468 |
return Rectangles.getBoxAt(bridge, element, offset).bind(function (box) {
|
@@ -8476,10 +8257,6 @@ var table = (function (domGlobals) {
|
|
8476 |
};
|
8477 |
var TableKeys = { handle: handle$2 };
|
8478 |
|
8479 |
-
var ancestor$2 = function (scope, predicate, isRoot) {
|
8480 |
-
return ancestor(scope, predicate, isRoot).isSome();
|
8481 |
-
};
|
8482 |
-
|
8483 |
var detection = PlatformDetection$1.detect();
|
8484 |
var inSameTable = function (elem, table) {
|
8485 |
return ancestor$2(elem, function (e) {
|
@@ -8491,8 +8268,9 @@ var table = (function (domGlobals) {
|
|
8491 |
var simulate = function (bridge, isRoot, direction, initial, anchor) {
|
8492 |
return closest$1(initial, 'td,th', isRoot).bind(function (start) {
|
8493 |
return closest$1(start, 'table', isRoot).bind(function (table) {
|
8494 |
-
if (!inSameTable(anchor, table))
|
8495 |
return Option.none();
|
|
|
8496 |
return TableKeys.handle(bridge, isRoot, direction).bind(function (range) {
|
8497 |
return closest$1(range.finish(), 'td,th', isRoot).map(function (finish) {
|
8498 |
return {
|
@@ -8512,7 +8290,7 @@ var table = (function (domGlobals) {
|
|
8512 |
return precheck(initial, isRoot).orThunk(function () {
|
8513 |
return simulate(bridge, isRoot, direction, initial, anchor).map(function (info) {
|
8514 |
var range = info.range();
|
8515 |
-
return
|
8516 |
});
|
8517 |
});
|
8518 |
}
|
@@ -8526,7 +8304,7 @@ var table = (function (domGlobals) {
|
|
8526 |
return last$1(element).isSome();
|
8527 |
}, isRoot).map(function (last) {
|
8528 |
var lastOffset = getEnd(last);
|
8529 |
-
return
|
8530 |
});
|
8531 |
} else {
|
8532 |
return Option.none();
|
@@ -8542,7 +8320,7 @@ var table = (function (domGlobals) {
|
|
8542 |
return seekRight$1(table, function (element) {
|
8543 |
return first(element).isSome();
|
8544 |
}, isRoot).map(function (first) {
|
8545 |
-
return
|
8546 |
});
|
8547 |
} else {
|
8548 |
return Option.none();
|
@@ -8588,7 +8366,7 @@ var table = (function (domGlobals) {
|
|
8588 |
});
|
8589 |
});
|
8590 |
};
|
8591 |
-
var mouseup = function () {
|
8592 |
cursor.each(clearState);
|
8593 |
};
|
8594 |
return {
|
@@ -8598,23 +8376,138 @@ var table = (function (domGlobals) {
|
|
8598 |
};
|
8599 |
}
|
8600 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8601 |
var KeyDirection = {
|
8602 |
-
down:
|
8603 |
-
|
8604 |
-
|
8605 |
-
|
8606 |
-
|
8607 |
-
|
8608 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8609 |
},
|
8610 |
-
|
8611 |
-
|
8612 |
-
|
8613 |
-
|
8614 |
-
|
8615 |
-
|
8616 |
-
|
8617 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8618 |
};
|
8619 |
|
8620 |
var rc = Immutable('rows', 'cols');
|
@@ -8634,8 +8527,9 @@ var table = (function (domGlobals) {
|
|
8634 |
return Option.none();
|
8635 |
};
|
8636 |
var keydown = function (event, start, soffset, finish, foffset, direction) {
|
8637 |
-
var
|
8638 |
-
var
|
|
|
8639 |
var handler = CellSelection.retrieve(container, annotations.selectedSelector()).fold(function () {
|
8640 |
if (SelectionKeys.isDown(keycode) && shiftKey) {
|
8641 |
return curry(VerticalMovement.select, bridge, container, isRoot, KeyDirection.down, finish, start, annotations.selectRange);
|
@@ -8659,44 +8553,48 @@ var table = (function (domGlobals) {
|
|
8659 |
var relative = SelectionKeys.isDown(keycode) || direction.isForward(keycode) ? Situ.after : Situ.before;
|
8660 |
bridge.setRelativeSelection(Situ.on(edges.first(), 0), relative(edges.table()));
|
8661 |
annotations.clear(container);
|
8662 |
-
return
|
8663 |
});
|
8664 |
}, function (_) {
|
8665 |
-
return Option.some(
|
8666 |
});
|
8667 |
};
|
8668 |
};
|
8669 |
-
if (SelectionKeys.isDown(keycode) && shiftKey)
|
8670 |
return update([rc(+1, 0)]);
|
8671 |
-
else if (SelectionKeys.isUp(keycode) && shiftKey)
|
8672 |
return update([rc(-1, 0)]);
|
8673 |
-
else if (direction.isBackward(keycode) && shiftKey)
|
8674 |
return update([
|
8675 |
rc(0, -1),
|
8676 |
rc(-1, 0)
|
8677 |
]);
|
8678 |
-
else if (direction.isForward(keycode) && shiftKey)
|
8679 |
return update([
|
8680 |
rc(0, +1),
|
8681 |
rc(+1, 0)
|
8682 |
]);
|
8683 |
-
else if (SelectionKeys.isNavigation(keycode) && shiftKey === false)
|
8684 |
return clearToNavigate;
|
8685 |
-
else
|
8686 |
return Option.none;
|
|
|
8687 |
});
|
8688 |
return handler();
|
8689 |
};
|
8690 |
var keyup = function (event, start, soffset, finish, foffset) {
|
8691 |
return CellSelection.retrieve(container, annotations.selectedSelector()).fold(function () {
|
8692 |
-
var
|
8693 |
-
var
|
8694 |
-
|
|
|
8695 |
return Option.none();
|
8696 |
-
|
|
|
8697 |
return KeySelection.sync(container, isRoot, start, soffset, finish, foffset, annotations.selectRange);
|
8698 |
-
else
|
8699 |
return Option.none();
|
|
|
8700 |
}, Option.none);
|
8701 |
};
|
8702 |
return {
|
@@ -8825,8 +8723,8 @@ var table = (function (domGlobals) {
|
|
8825 |
event.kill();
|
8826 |
}
|
8827 |
response.selection().each(function (ns) {
|
8828 |
-
var relative
|
8829 |
-
var rng = asLtrRange(win, relative
|
8830 |
editor.selection.setRng(rng);
|
8831 |
});
|
8832 |
};
|
5 |
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
6 |
|
7 |
var noop = function () {
|
|
|
|
|
|
|
|
|
8 |
};
|
9 |
var compose = function (fa, fb) {
|
10 |
return function () {
|
51 |
throw new Error(msg);
|
52 |
};
|
53 |
};
|
|
|
|
|
|
|
54 |
var never = constant(false);
|
55 |
var always = constant(true);
|
56 |
|
108 |
},
|
109 |
toString: constant('none()')
|
110 |
};
|
111 |
+
if (Object.freeze) {
|
112 |
Object.freeze(me);
|
113 |
+
}
|
114 |
return me;
|
115 |
}();
|
116 |
var some = function (a) {
|
185 |
};
|
186 |
|
187 |
var typeOf = function (x) {
|
188 |
+
if (x === null) {
|
189 |
return 'null';
|
190 |
+
}
|
191 |
var t = typeof x;
|
192 |
+
if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {
|
193 |
return 'array';
|
194 |
+
}
|
195 |
+
if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {
|
196 |
return 'string';
|
197 |
+
}
|
198 |
return t;
|
199 |
};
|
200 |
var isType = function (type) {
|
208 |
var isFunction = isType('function');
|
209 |
var isNumber = isType('number');
|
210 |
|
211 |
+
var slice = Array.prototype.slice;
|
212 |
var rawIndexOf = function () {
|
213 |
var pIndexOf = Array.prototype.indexOf;
|
214 |
var fastIndex = function (xs, x) {
|
256 |
}
|
257 |
return r;
|
258 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
var foldr = function (xs, f, acc) {
|
260 |
eachr(xs, function (x) {
|
261 |
acc = f(acc, x);
|
298 |
var flatten = function (xs) {
|
299 |
var r = [];
|
300 |
for (var i = 0, len = xs.length; i < len; ++i) {
|
301 |
+
if (!isArray(xs[i])) {
|
302 |
throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs);
|
303 |
+
}
|
304 |
push.apply(r, xs[i]);
|
305 |
}
|
306 |
return r;
|
318 |
}
|
319 |
return true;
|
320 |
};
|
|
|
321 |
var reverse = function (xs) {
|
322 |
var r = slice.call(xs, 0);
|
323 |
r.reverse();
|
324 |
return r;
|
325 |
};
|
|
|
|
|
|
|
|
|
|
|
326 |
var last = function (xs) {
|
327 |
return xs.length === 0 ? Option.none() : Option.some(xs[xs.length - 1]);
|
328 |
};
|
377 |
};
|
378 |
};
|
379 |
|
380 |
+
var sort = function (arr) {
|
381 |
return arr.slice(0).sort();
|
382 |
};
|
383 |
var reqMessage = function (required, keys) {
|
384 |
+
throw new Error('All required keys (' + sort(required).join(', ') + ') were not specified. Specified keys were: ' + sort(keys).join(', ') + '.');
|
385 |
};
|
386 |
var unsuppMessage = function (unsupported) {
|
387 |
+
throw new Error('Unsupported keys for object: ' + sort(unsupported).join(', '));
|
388 |
};
|
389 |
var validateStrArr = function (label, array) {
|
390 |
+
if (!isArray(array)) {
|
391 |
throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.');
|
392 |
+
}
|
393 |
each(array, function (a) {
|
394 |
+
if (!isString(a)) {
|
395 |
throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.');
|
396 |
+
}
|
397 |
});
|
398 |
};
|
399 |
var invalidTypeMessage = function (incorrect, type) {
|
400 |
+
throw new Error('All values need to be of type: ' + type + '. Keys (' + sort(incorrect).join(', ') + ') were not.');
|
401 |
};
|
402 |
var checkDupes = function (everything) {
|
403 |
+
var sorted = sort(everything);
|
404 |
var dupe = find(sorted, function (s, i) {
|
405 |
return i < sorted.length - 1 && s === sorted[i + 1];
|
406 |
});
|
411 |
|
412 |
var MixedBag = function (required, optional) {
|
413 |
var everything = required.concat(optional);
|
414 |
+
if (everything.length === 0) {
|
415 |
throw new Error('You must specify at least one required or optional field.');
|
416 |
+
}
|
417 |
validateStrArr('required', required);
|
418 |
validateStrArr('optional', optional);
|
419 |
checkDupes(everything);
|
422 |
var allReqd = forall(required, function (req) {
|
423 |
return contains(keys$1, req);
|
424 |
});
|
425 |
+
if (!allReqd) {
|
426 |
reqMessage(required, keys$1);
|
427 |
+
}
|
428 |
var unsupported = filter(keys$1, function (key) {
|
429 |
return !contains(everything, key);
|
430 |
});
|
431 |
+
if (unsupported.length > 0) {
|
432 |
unsuppMessage(unsupported);
|
433 |
+
}
|
434 |
var r = {};
|
435 |
each(required, function (req) {
|
436 |
r[req] = constant(obj[req]);
|
455 |
var ENTITY = domGlobals.Node.ENTITY_NODE;
|
456 |
var NOTATION = domGlobals.Node.NOTATION_NODE;
|
457 |
|
458 |
+
var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')();
|
459 |
+
|
460 |
+
var path = function (parts, scope) {
|
461 |
+
var o = scope !== undefined && scope !== null ? scope : Global;
|
462 |
+
for (var i = 0; i < parts.length && o !== undefined && o !== null; ++i) {
|
463 |
+
o = o[parts[i]];
|
464 |
+
}
|
465 |
+
return o;
|
466 |
+
};
|
467 |
+
var resolve = function (p, scope) {
|
468 |
+
var parts = p.split('.');
|
469 |
+
return path(parts, scope);
|
470 |
+
};
|
471 |
+
|
472 |
+
var unsafe = function (name, scope) {
|
473 |
+
return resolve(name, scope);
|
474 |
+
};
|
475 |
+
var getOrDie = function (name, scope) {
|
476 |
+
var actual = unsafe(name, scope);
|
477 |
+
if (actual === undefined || actual === null) {
|
478 |
+
throw new Error(name + ' not available on this browser');
|
479 |
+
}
|
480 |
+
return actual;
|
481 |
+
};
|
482 |
+
var Global$1 = { getOrDie: getOrDie };
|
483 |
+
|
484 |
var name = function (element) {
|
485 |
var r = element.dom().nodeName;
|
486 |
return r.toLowerCase();
|
498 |
};
|
499 |
var isElement = isType$1(ELEMENT);
|
500 |
var isText = isType$1(TEXT);
|
|
|
501 |
|
502 |
var rawSet = function (dom, key, value) {
|
503 |
if (isString(value) || isBoolean(value) || isNumber(value)) {
|
535 |
};
|
536 |
|
537 |
var checkRange = function (str, substr, start) {
|
538 |
+
if (substr === '') {
|
539 |
return true;
|
540 |
+
}
|
541 |
+
if (str.length < substr.length) {
|
542 |
return false;
|
543 |
+
}
|
544 |
var x = str.substr(start, start + substr.length);
|
545 |
return x === substr;
|
546 |
};
|
555 |
};
|
556 |
|
557 |
var isSupported = function (dom) {
|
558 |
+
return dom.style !== undefined && isFunction(dom.style.getPropertyValue);
|
559 |
};
|
560 |
|
561 |
var cached = function (f) {
|
683 |
}
|
684 |
};
|
685 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
686 |
var node = function () {
|
687 |
var f = Global$1.getOrDie('Node');
|
688 |
return f;
|
704 |
var firstMatch = function (regexes, s) {
|
705 |
for (var i = 0; i < regexes.length; i++) {
|
706 |
var x = regexes[i];
|
707 |
+
if (x.test(s)) {
|
708 |
return x;
|
709 |
+
}
|
710 |
}
|
711 |
return undefined;
|
712 |
};
|
713 |
var find$1 = function (regexes, agent) {
|
714 |
var r = firstMatch(regexes, agent);
|
715 |
+
if (!r) {
|
716 |
return {
|
717 |
major: 0,
|
718 |
minor: 0
|
719 |
};
|
720 |
+
}
|
721 |
var group = function (i) {
|
722 |
return Number(agent.replace(r, '$' + i));
|
723 |
};
|
725 |
};
|
726 |
var detect = function (versionRegexes, agent) {
|
727 |
var cleanedAgent = String(agent).toLowerCase();
|
728 |
+
if (versionRegexes.length === 0) {
|
729 |
return unknown();
|
730 |
+
}
|
731 |
return find$1(versionRegexes, cleanedAgent);
|
732 |
};
|
733 |
var unknown = function () {
|
893 |
name: 'Edge',
|
894 |
versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
|
895 |
search: function (uastring) {
|
896 |
+
return contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit');
|
|
|
897 |
}
|
898 |
},
|
899 |
{
|
1011 |
var ELEMENT$1 = ELEMENT;
|
1012 |
var DOCUMENT$1 = DOCUMENT;
|
1013 |
var is = function (element, selector) {
|
1014 |
+
var dom = element.dom();
|
1015 |
+
if (dom.nodeType !== ELEMENT$1) {
|
1016 |
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1017 |
} else {
|
1018 |
+
var elem = dom;
|
1019 |
+
if (elem.matches !== undefined) {
|
1020 |
+
return elem.matches(selector);
|
1021 |
+
} else if (elem.msMatchesSelector !== undefined) {
|
1022 |
+
return elem.msMatchesSelector(selector);
|
1023 |
+
} else if (elem.webkitMatchesSelector !== undefined) {
|
1024 |
+
return elem.webkitMatchesSelector(selector);
|
1025 |
+
} else if (elem.mozMatchesSelector !== undefined) {
|
1026 |
+
return elem.mozMatchesSelector(selector);
|
1027 |
+
} else {
|
1028 |
+
throw new Error('Browser lacks native selectors');
|
1029 |
+
}
|
1030 |
}
|
1031 |
};
|
1032 |
var bypassSelector = function (dom) {
|
1060 |
return Element.fromDom(element.dom().ownerDocument);
|
1061 |
};
|
1062 |
var defaultView = function (element) {
|
1063 |
+
return Element.fromDom(element.dom().ownerDocument.defaultView);
|
|
|
|
|
1064 |
};
|
1065 |
var parent = function (element) {
|
1066 |
+
return Option.from(element.dom().parentNode).map(Element.fromDom);
|
|
|
1067 |
};
|
1068 |
var parents = function (element, isRoot) {
|
1069 |
+
var stop = isFunction(isRoot) ? isRoot : never;
|
1070 |
var dom = element.dom();
|
1071 |
var ret = [];
|
1072 |
while (dom.parentNode !== null && dom.parentNode !== undefined) {
|
1082 |
return ret;
|
1083 |
};
|
1084 |
var prevSibling = function (element) {
|
1085 |
+
return Option.from(element.dom().previousSibling).map(Element.fromDom);
|
|
|
1086 |
};
|
1087 |
var nextSibling = function (element) {
|
1088 |
+
return Option.from(element.dom().nextSibling).map(Element.fromDom);
|
|
|
1089 |
};
|
1090 |
var children = function (element) {
|
1091 |
+
return map(element.dom().childNodes, Element.fromDom);
|
|
|
1092 |
};
|
1093 |
var child = function (element, index) {
|
1094 |
var cs = element.dom().childNodes;
|
1169 |
remove$2(wrapper);
|
1170 |
};
|
1171 |
|
1172 |
+
var dimension = Immutable('width', 'height');
|
1173 |
var dimensions = Immutable('width', 'height');
|
1174 |
var grid = Immutable('rows', 'columns');
|
1175 |
var address = Immutable('row', 'column');
|
1183 |
var rowcells = Immutable('cells', 'section');
|
1184 |
var rowdetails = Immutable('details', 'section');
|
1185 |
var bounds = Immutable('startRow', 'startCol', 'finishRow', 'finishCol');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1186 |
|
1187 |
var ancestors = function (scope, predicate, isRoot) {
|
1188 |
return filter(parents(scope, isRoot), predicate);
|
1234 |
return Option.none();
|
1235 |
};
|
1236 |
var closest = function (scope, predicate, isRoot) {
|
1237 |
+
var is = function (s, test) {
|
1238 |
+
return test(s);
|
1239 |
};
|
1240 |
return ClosestOrAncestor(is, ancestor, scope, predicate, isRoot);
|
1241 |
};
|
1242 |
var child$1 = function (scope, predicate) {
|
1243 |
+
var pred = function (node) {
|
1244 |
+
return predicate(Element.fromDom(node));
|
1245 |
+
};
|
1246 |
+
var result = find(scope.dom().childNodes, pred);
|
1247 |
return result.map(Element.fromDom);
|
1248 |
};
|
1249 |
var descendant = function (scope, predicate) {
|
1250 |
var descend = function (node) {
|
1251 |
for (var i = 0; i < node.childNodes.length; i++) {
|
1252 |
+
var child_1 = Element.fromDom(node.childNodes[i]);
|
1253 |
+
if (predicate(child_1)) {
|
1254 |
+
return Option.some(child_1);
|
1255 |
}
|
1256 |
var res = descend(node.childNodes[i]);
|
1257 |
if (res.isSome()) {
|
1293 |
filterFirstLayer: filterFirstLayer
|
1294 |
};
|
1295 |
|
1296 |
+
var lookup = function (tags, element, isRoot) {
|
1297 |
+
if (isRoot === void 0) {
|
1298 |
+
isRoot = never;
|
1299 |
+
}
|
1300 |
if (isRoot(element)) {
|
1301 |
return Option.none();
|
1302 |
}
|
1351 |
var grid$1 = function (element, rowProp, colProp) {
|
1352 |
var rowsCount = attr(element, rowProp);
|
1353 |
var cols = attr(element, colProp);
|
1354 |
+
return grid(rowsCount, cols);
|
1355 |
};
|
1356 |
var TableLookup = {
|
1357 |
cell: cell,
|
1379 |
var cells = map(TableLookup.cells(row), function (cell) {
|
1380 |
var rowspan = has(cell, 'rowspan') ? parseInt(get(cell, 'rowspan'), 10) : 1;
|
1381 |
var colspan = has(cell, 'colspan') ? parseInt(get(cell, 'colspan'), 10) : 1;
|
1382 |
+
return detail(cell, rowspan, colspan);
|
1383 |
});
|
1384 |
+
return rowdata(element, cells, parentSection);
|
1385 |
});
|
1386 |
};
|
1387 |
var fromPastedRows = function (rows, example) {
|
1389 |
var cells = map(TableLookup.cells(row), function (cell) {
|
1390 |
var rowspan = has(cell, 'rowspan') ? parseInt(get(cell, 'rowspan'), 10) : 1;
|
1391 |
var colspan = has(cell, 'colspan') ? parseInt(get(cell, 'colspan'), 10) : 1;
|
1392 |
+
return detail(cell, rowspan, colspan);
|
1393 |
});
|
1394 |
+
return rowdata(row, cells, example.section());
|
1395 |
});
|
1396 |
};
|
1397 |
var DetailsList = {
|
1425 |
var maxColumns = 0;
|
1426 |
each(list, function (details, r) {
|
1427 |
var currentRow = [];
|
1428 |
+
each(details.cells(), function (detail) {
|
1429 |
var start = 0;
|
1430 |
while (access[key(r, start)] !== undefined) {
|
1431 |
start++;
|
1432 |
}
|
1433 |
+
var current = extended(detail.element(), detail.rowspan(), detail.colspan(), r, start);
|
1434 |
for (var i = 0; i < detail.colspan(); i++) {
|
1435 |
for (var j = 0; j < detail.rowspan(); j++) {
|
1436 |
var cr = r + j;
|
1442 |
}
|
1443 |
currentRow.push(current);
|
1444 |
});
|
1445 |
+
cells.push(rowdata(details.element(), currentRow, details.section()));
|
1446 |
});
|
1447 |
+
var grid$1 = grid(maxRows, maxColumns);
|
1448 |
return {
|
1449 |
+
grid: constant(grid$1),
|
1450 |
access: constant(access),
|
1451 |
all: constant(cells)
|
1452 |
};
|
1558 |
}
|
1559 |
return getOption(element).getOr('');
|
1560 |
};
|
1561 |
+
var getOption = function (element) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1562 |
return is(element) ? Option.from(element.dom().nodeValue) : Option.none();
|
1563 |
};
|
|
|
|
|
1564 |
var set = function (element, value) {
|
1565 |
if (!is(element)) {
|
1566 |
throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node');
|
1669 |
});
|
1670 |
return replica;
|
1671 |
};
|
1672 |
+
var pasteReplace = function (cell) {
|
1673 |
+
return cell;
|
1674 |
};
|
1675 |
var newRow = function (doc) {
|
1676 |
return function () {
|
1749 |
return children(Element.fromDom(div));
|
1750 |
};
|
1751 |
|
1752 |
+
var inSelection = function (bounds, detail) {
|
1753 |
+
var leftEdge = detail.column();
|
1754 |
+
var rightEdge = detail.column() + detail.colspan() - 1;
|
1755 |
+
var topEdge = detail.row();
|
1756 |
+
var bottomEdge = detail.row() + detail.rowspan() - 1;
|
1757 |
+
return leftEdge <= bounds.finishCol() && rightEdge >= bounds.startCol() && (topEdge <= bounds.finishRow() && bottomEdge >= bounds.startRow());
|
1758 |
+
};
|
1759 |
+
var isWithin = function (bounds, detail) {
|
1760 |
+
return detail.column() >= bounds.startCol() && detail.column() + detail.colspan() - 1 <= bounds.finishCol() && detail.row() >= bounds.startRow() && detail.row() + detail.rowspan() - 1 <= bounds.finishRow();
|
1761 |
+
};
|
1762 |
+
var isRectangular = function (warehouse, bounds) {
|
1763 |
+
var isRect = true;
|
1764 |
+
var detailIsWithin = curry(isWithin, bounds);
|
1765 |
+
for (var i = bounds.startRow(); i <= bounds.finishRow(); i++) {
|
1766 |
+
for (var j = bounds.startCol(); j <= bounds.finishCol(); j++) {
|
1767 |
+
isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin);
|
1768 |
+
}
|
1769 |
+
}
|
1770 |
+
return isRect ? Option.some(bounds) : Option.none();
|
1771 |
+
};
|
1772 |
+
var CellBounds = {
|
1773 |
+
inSelection: inSelection,
|
1774 |
+
isWithin: isWithin,
|
1775 |
+
isRectangular: isRectangular
|
1776 |
+
};
|
1777 |
+
|
1778 |
+
var getBounds = function (detailA, detailB) {
|
1779 |
+
return bounds(Math.min(detailA.row(), detailB.row()), Math.min(detailA.column(), detailB.column()), Math.max(detailA.row() + detailA.rowspan() - 1, detailB.row() + detailB.rowspan() - 1), Math.max(detailA.column() + detailA.colspan() - 1, detailB.column() + detailB.colspan() - 1));
|
1780 |
+
};
|
1781 |
+
var getAnyBox = function (warehouse, startCell, finishCell) {
|
1782 |
+
var startCoords = Warehouse.findItem(warehouse, startCell, eq);
|
1783 |
+
var finishCoords = Warehouse.findItem(warehouse, finishCell, eq);
|
1784 |
+
return startCoords.bind(function (sc) {
|
1785 |
+
return finishCoords.map(function (fc) {
|
1786 |
+
return getBounds(sc, fc);
|
1787 |
+
});
|
1788 |
+
});
|
1789 |
+
};
|
1790 |
+
var getBox = function (warehouse, startCell, finishCell) {
|
1791 |
+
return getAnyBox(warehouse, startCell, finishCell).bind(function (bounds) {
|
1792 |
+
return CellBounds.isRectangular(warehouse, bounds);
|
1793 |
+
});
|
1794 |
+
};
|
1795 |
+
var CellGroup = {
|
1796 |
+
getAnyBox: getAnyBox,
|
1797 |
+
getBox: getBox
|
1798 |
+
};
|
1799 |
+
|
1800 |
+
var moveBy = function (warehouse, cell, row, column) {
|
1801 |
+
return Warehouse.findItem(warehouse, cell, eq).bind(function (detail) {
|
1802 |
+
var startRow = row > 0 ? detail.row() + detail.rowspan() - 1 : detail.row();
|
1803 |
+
var startCol = column > 0 ? detail.column() + detail.colspan() - 1 : detail.column();
|
1804 |
+
var dest = Warehouse.getAt(warehouse, startRow + row, startCol + column);
|
1805 |
+
return dest.map(function (d) {
|
1806 |
+
return d.element();
|
1807 |
+
});
|
1808 |
+
});
|
1809 |
+
};
|
1810 |
+
var intercepts = function (warehouse, start, finish) {
|
1811 |
+
return CellGroup.getAnyBox(warehouse, start, finish).map(function (bounds) {
|
1812 |
+
var inside = Warehouse.filterItems(warehouse, curry(CellBounds.inSelection, bounds));
|
1813 |
+
return map(inside, function (detail) {
|
1814 |
+
return detail.element();
|
1815 |
+
});
|
1816 |
+
});
|
1817 |
+
};
|
1818 |
+
var parentCell = function (warehouse, innerCell) {
|
1819 |
+
var isContainedBy = function (c1, c2) {
|
1820 |
+
return contains$2(c2, c1);
|
1821 |
+
};
|
1822 |
+
return Warehouse.findItem(warehouse, innerCell, isContainedBy).map(function (detail) {
|
1823 |
+
return detail.element();
|
1824 |
+
});
|
1825 |
+
};
|
1826 |
+
var CellFinder = {
|
1827 |
+
moveBy: moveBy,
|
1828 |
+
intercepts: intercepts,
|
1829 |
+
parentCell: parentCell
|
1830 |
+
};
|
1831 |
+
|
1832 |
+
var moveBy$1 = function (cell, deltaRow, deltaColumn) {
|
1833 |
+
return TableLookup.table(cell).bind(function (table) {
|
1834 |
+
var warehouse = getWarehouse(table);
|
1835 |
+
return CellFinder.moveBy(warehouse, cell, deltaRow, deltaColumn);
|
1836 |
+
});
|
1837 |
+
};
|
1838 |
+
var intercepts$1 = function (table, first, last) {
|
1839 |
+
var warehouse = getWarehouse(table);
|
1840 |
+
return CellFinder.intercepts(warehouse, first, last);
|
1841 |
+
};
|
1842 |
+
var nestedIntercepts = function (table, first, firstTable, last, lastTable) {
|
1843 |
+
var warehouse = getWarehouse(table);
|
1844 |
+
var optStartCell = eq(table, firstTable) ? Option.some(first) : CellFinder.parentCell(warehouse, first);
|
1845 |
+
var optLastCell = eq(table, lastTable) ? Option.some(last) : CellFinder.parentCell(warehouse, last);
|
1846 |
+
return optStartCell.bind(function (startCell) {
|
1847 |
+
return optLastCell.bind(function (lastCell) {
|
1848 |
+
return CellFinder.intercepts(warehouse, startCell, lastCell);
|
1849 |
+
});
|
1850 |
+
});
|
1851 |
+
};
|
1852 |
+
var getBox$1 = function (table, first, last) {
|
1853 |
+
var warehouse = getWarehouse(table);
|
1854 |
+
return CellGroup.getBox(warehouse, first, last);
|
1855 |
+
};
|
1856 |
+
var getWarehouse = function (table) {
|
1857 |
+
var list = DetailsList.fromTable(table);
|
1858 |
+
return Warehouse.generate(list);
|
1859 |
+
};
|
1860 |
+
var TablePositions = {
|
1861 |
+
moveBy: moveBy$1,
|
1862 |
+
intercepts: intercepts$1,
|
1863 |
+
nestedIntercepts: nestedIntercepts,
|
1864 |
+
getBox: getBox$1
|
1865 |
+
};
|
1866 |
+
|
1867 |
var TagBoundaries = [
|
1868 |
'body',
|
1869 |
'p',
|
1906 |
return element.dom().ownerDocument;
|
1907 |
};
|
1908 |
var isBoundary = function (element) {
|
1909 |
+
if (!isElement(element)) {
|
1910 |
return false;
|
1911 |
+
}
|
1912 |
+
if (name(element) === 'body') {
|
1913 |
return true;
|
1914 |
+
}
|
1915 |
return contains(TagBoundaries, name(element));
|
1916 |
};
|
1917 |
var isEmptyTag = function (element) {
|
1918 |
+
if (!isElement(element)) {
|
1919 |
return false;
|
1920 |
+
}
|
1921 |
return contains([
|
1922 |
'br',
|
1923 |
'img',
|
1997 |
}
|
1998 |
|
1999 |
var leftRight = Immutable('left', 'right');
|
2000 |
+
var brokenPath = Immutable('first', 'second', 'splits');
|
2001 |
var bisect = function (universe, parent, child) {
|
2002 |
var children = universe.property().children(parent);
|
2003 |
var index = findIndex(children, curry(universe.eq, child));
|
2026 |
});
|
2027 |
};
|
2028 |
var breakPath = function (universe, item, isTop, breaker) {
|
|
|
2029 |
var next = function (child, group, splits) {
|
2030 |
+
var fallback = brokenPath(child, Option.none(), splits);
|
2031 |
+
if (isTop(child)) {
|
2032 |
+
return brokenPath(child, group, splits);
|
2033 |
+
} else {
|
2034 |
return universe.property().parent(child).bind(function (parent) {
|
2035 |
return breaker(universe, parent, child).map(function (breakage) {
|
2036 |
var extra = [{
|
2039 |
}];
|
2040 |
var nextChild = isTop(parent) ? parent : breakage.left();
|
2041 |
return next(nextChild, Option.some(breakage.right()), splits.concat(extra));
|
2042 |
+
});
|
2043 |
+
}).getOr(fallback);
|
2044 |
}
|
2045 |
};
|
2046 |
return next(item, Option.none(), []);
|
2047 |
};
|
|
|
|
|
|
|
|
|
|
|
2048 |
|
2049 |
var all$1 = function (universe, look, elements, f) {
|
2050 |
var head = elements[0];
|
2066 |
return end.filter(curry(universe.eq, s));
|
2067 |
});
|
2068 |
};
|
|
|
2069 |
|
2070 |
var eq$1 = function (universe, item) {
|
2071 |
return curry(universe.eq, item);
|
2072 |
};
|
2073 |
var unsafeSubset = function (universe, common, ps1, ps2) {
|
2074 |
var children = universe.property().children(common);
|
2075 |
+
if (universe.eq(common, ps1[0])) {
|
2076 |
return Option.some([ps1[0]]);
|
2077 |
+
}
|
2078 |
+
if (universe.eq(common, ps2[0])) {
|
2079 |
return Option.some([ps2[0]]);
|
2080 |
+
}
|
2081 |
var finder = function (ps) {
|
2082 |
var topDown = reverse(ps);
|
2083 |
var index = findIndex(topDown, eq$1(universe, common)).getOr(-1);
|
2094 |
});
|
2095 |
});
|
2096 |
};
|
2097 |
+
var ancestors$2 = function (universe, start, end, isRoot) {
|
2098 |
+
if (isRoot === void 0) {
|
2099 |
+
isRoot = never;
|
2100 |
+
}
|
2101 |
var ps1 = [start].concat(universe.up().all(start));
|
2102 |
var ps2 = [end].concat(universe.up().all(end));
|
2103 |
var prune = function (path) {
|
2125 |
return unsafeSubset(universe, shared, ancs.firstpath(), ancs.secondpath());
|
2126 |
});
|
2127 |
};
|
2128 |
+
var SubsetFn = {
|
2129 |
subset: subset,
|
2130 |
ancestors: ancestors$2
|
2131 |
};
|
2132 |
|
2133 |
+
var sharedOne = oneAll;
|
2134 |
+
var subset$1 = SubsetFn.subset;
|
2135 |
+
var ancestors$3 = SubsetFn.ancestors;
|
2136 |
+
var breakToLeft$1 = breakToLeft;
|
2137 |
+
var breakToRight$1 = breakToRight;
|
2138 |
+
var breakPath$1 = breakPath;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2139 |
var Parent = {
|
2140 |
sharedOne: sharedOne,
|
2141 |
subset: subset$1,
|
2147 |
|
2148 |
var universe = DomUniverse();
|
2149 |
var sharedOne$1 = function (look, elements) {
|
2150 |
+
return Parent.sharedOne(universe, function (_universe, element) {
|
2151 |
return look(element);
|
2152 |
}, elements);
|
2153 |
};
|
2154 |
var subset$2 = function (start, finish) {
|
2155 |
return Parent.subset(universe, start, finish);
|
2156 |
};
|
2157 |
+
var ancestors$4 = function (start, finish, isRoot) {
|
2158 |
+
return Parent.ancestors(universe, start, finish, isRoot);
|
2159 |
};
|
2160 |
var breakToLeft$2 = function (parent, child) {
|
2161 |
return Parent.breakToLeft(universe, parent, child);
|
2177 |
breakPath: breakPath$2
|
2178 |
};
|
2179 |
|
2180 |
+
var create = MixedBag([
|
2181 |
+
'boxes',
|
2182 |
+
'start',
|
2183 |
+
'finish'
|
2184 |
+
], []);
|
2185 |
+
var Identified = { create: create };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2186 |
|
2187 |
+
var lookupTable = function (container) {
|
2188 |
+
return ancestor$1(container, 'table');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2189 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2190 |
var identify = function (start, finish, isRoot) {
|
2191 |
var getIsRoot = function (rootTable) {
|
2192 |
return function (element) {
|
2193 |
+
return isRoot !== undefined && isRoot(element) || eq(element, rootTable);
|
2194 |
};
|
2195 |
};
|
2196 |
if (eq(start, finish)) {
|
2197 |
+
return Option.some(Identified.create({
|
2198 |
boxes: Option.some([start]),
|
2199 |
start: start,
|
2200 |
finish: finish
|
2201 |
}));
|
2202 |
} else {
|
2203 |
+
return lookupTable(start).bind(function (startTable) {
|
2204 |
+
return lookupTable(finish).bind(function (finishTable) {
|
2205 |
if (eq(startTable, finishTable)) {
|
2206 |
+
return Option.some(Identified.create({
|
2207 |
boxes: TablePositions.intercepts(startTable, start, finish),
|
2208 |
start: start,
|
2209 |
finish: finish
|
2211 |
} else if (contains$2(startTable, finishTable)) {
|
2212 |
var ancestorCells = ancestors$1(finish, 'td,th', getIsRoot(startTable));
|
2213 |
var finishCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : finish;
|
2214 |
+
return Option.some(Identified.create({
|
2215 |
boxes: TablePositions.nestedIntercepts(startTable, start, startTable, finish, finishTable),
|
2216 |
start: start,
|
2217 |
finish: finishCell
|
2219 |
} else if (contains$2(finishTable, startTable)) {
|
2220 |
var ancestorCells = ancestors$1(start, 'td,th', getIsRoot(finishTable));
|
2221 |
var startCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : start;
|
2222 |
+
return Option.some(Identified.create({
|
2223 |
boxes: TablePositions.nestedIntercepts(finishTable, start, startTable, finish, finishTable),
|
2224 |
start: start,
|
2225 |
finish: startCell
|
2231 |
var finishCell = finishAncestorCells.length > 0 ? finishAncestorCells[finishAncestorCells.length - 1] : finish;
|
2232 |
var startAncestorCells = ancestors$1(start, 'td,th', getIsRoot(lcaTable));
|
2233 |
var startCell = startAncestorCells.length > 0 ? startAncestorCells[startAncestorCells.length - 1] : start;
|
2234 |
+
return Option.some(Identified.create({
|
2235 |
boxes: TablePositions.nestedIntercepts(lcaTable, start, startTable, finish, finishTable),
|
2236 |
start: startCell,
|
2237 |
finish: finishCell
|
2366 |
throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength);
|
2367 |
}
|
2368 |
var args = new Array(argLength);
|
2369 |
+
for (var i = 0; i < args.length; i++) {
|
2370 |
args[i] = arguments[i];
|
2371 |
+
}
|
2372 |
var match = function (branches) {
|
2373 |
var branchKeys = keys(branches);
|
2374 |
if (constructors.length !== branchKeys.length) {
|
2377 |
var allReqd = forall(constructors, function (reqKey) {
|
2378 |
return contains(branchKeys, reqKey);
|
2379 |
});
|
2380 |
+
if (!allReqd) {
|
2381 |
throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\nRequired: ' + constructors.join(', '));
|
2382 |
+
}
|
2383 |
return branches[key].apply(null, args);
|
2384 |
};
|
2385 |
return {
|
2690 |
return cellWidth / tableSize.pixelWidth() * 100;
|
2691 |
};
|
2692 |
var choosePercentageSize = function (element, width, tableSize) {
|
2693 |
+
var percentMatch = percentageBasedSizeRegex.exec(width);
|
2694 |
+
if (percentMatch !== null) {
|
2695 |
return parseFloat(percentMatch[1]);
|
2696 |
} else {
|
2697 |
var intWidth = get$4(element);
|
2711 |
return cellWidth / 100 * tableSize.pixelWidth();
|
2712 |
};
|
2713 |
var choosePixelSize = function (element, width, tableSize) {
|
2714 |
+
var pixelMatch = pixelBasedSizeRegex.exec(width);
|
2715 |
+
if (pixelMatch !== null) {
|
2716 |
return parseInt(pixelMatch[1], 10);
|
2717 |
+
}
|
2718 |
+
var percentMatch = percentageBasedSizeRegex.exec(width);
|
2719 |
+
if (percentMatch !== null) {
|
2720 |
var floatWidth = parseFloat(percentMatch[1]);
|
2721 |
return normalizePixelWidth(floatWidth, tableSize);
|
|
|
|
|
2722 |
}
|
2723 |
+
return get$4(element);
|
2724 |
};
|
2725 |
var getPixelWidth = function (cell, tableSize) {
|
2726 |
var width = getRawWidth(cell);
|
2736 |
var getGenericWidth = function (cell) {
|
2737 |
var width = getRawWidth(cell);
|
2738 |
return width.bind(function (w) {
|
2739 |
+
var match = genericSizeRegex.exec(w);
|
2740 |
+
if (match !== null) {
|
2741 |
return Option.some({
|
2742 |
+
width: constant(parseFloat(match[1])),
|
2743 |
unit: constant(match[3])
|
2744 |
});
|
2745 |
} else {
|
2774 |
};
|
2775 |
var CellMutations = { halve: halve };
|
2776 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2777 |
var r = function (left, top) {
|
2778 |
var translate = function (x, y) {
|
2779 |
return r(left + x, top + y);
|
2796 |
var absolute = function (element) {
|
2797 |
var doc = element.dom().ownerDocument;
|
2798 |
var body = doc.body;
|
2799 |
+
var win = doc.defaultView;
|
2800 |
var html = doc.documentElement;
|
2801 |
var scrollTop = firstDefinedOrZero(win.pageYOffset, html.scrollTop);
|
2802 |
var scrollLeft = firstDefinedOrZero(win.pageXOffset, html.scrollLeft);
|
2808 |
var dom = element.dom();
|
2809 |
var doc = dom.ownerDocument;
|
2810 |
var body = doc.body;
|
|
|
2811 |
if (body === dom) {
|
2812 |
return Position(body.offsetLeft, body.offsetTop);
|
2813 |
}
|
2814 |
+
if (!inBody(element)) {
|
2815 |
return Position(0, 0);
|
2816 |
}
|
2817 |
return boxPosition(dom);
|
2855 |
});
|
2856 |
return lines.concat([lastLine]);
|
2857 |
};
|
2858 |
+
var negate = function (step) {
|
2859 |
return -step;
|
2860 |
};
|
2861 |
var height = {
|
2862 |
delta: identity,
|
2863 |
+
positions: function (optElements) {
|
2864 |
+
return findPositions(getTopEdge, getBottomEdge, optElements);
|
2865 |
+
},
|
2866 |
edge: getTop
|
2867 |
};
|
2868 |
var ltr = {
|
2869 |
delta: identity,
|
2870 |
edge: ltrEdge,
|
2871 |
+
positions: function (optElements) {
|
2872 |
+
return findPositions(getLeftEdge, getRightEdge, optElements);
|
2873 |
+
}
|
2874 |
};
|
2875 |
var rtl = {
|
2876 |
delta: negate,
|
2877 |
edge: rtlEdge,
|
2878 |
+
positions: function (optElements) {
|
2879 |
+
return findPositions(getRightEdge, getLeftEdge, optElements);
|
2880 |
+
}
|
2881 |
};
|
2882 |
var BarPositions = {
|
2883 |
height: height,
|
2898 |
return auto(table).delta(amount, table);
|
2899 |
};
|
2900 |
var positions = function (cols, table) {
|
2901 |
+
return auto(table).positions(cols, table);
|
2902 |
};
|
2903 |
var edge = function (cell) {
|
2904 |
return auto(cell).edge(cell);
|
2917 |
};
|
2918 |
var TableGridSize = { getGridSize: getGridSize };
|
2919 |
|
2920 |
+
var __assign = function () {
|
2921 |
+
__assign = Object.assign || function __assign(t) {
|
2922 |
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
2923 |
+
s = arguments[i];
|
2924 |
+
for (var p in s)
|
2925 |
+
if (Object.prototype.hasOwnProperty.call(s, p))
|
2926 |
+
t[p] = s[p];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2927 |
}
|
2928 |
+
return t;
|
2929 |
};
|
2930 |
+
return __assign.apply(this, arguments);
|
2931 |
};
|
|
|
2932 |
|
2933 |
var cat = function (arr) {
|
2934 |
var r = [];
|
3112 |
}
|
3113 |
return r;
|
3114 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3115 |
var deduce = function (xs, index) {
|
3116 |
if (index < 0 || index >= xs.length - 1) {
|
3117 |
return Option.none();
|
3155 |
});
|
3156 |
});
|
3157 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
3158 |
|
3159 |
var columns = function (warehouse) {
|
3160 |
var grid = warehouse.grid();
|
3161 |
+
var cols = range(0, grid.columns());
|
3162 |
+
var rowsArr = range(0, grid.rows());
|
3163 |
return map(cols, function (col) {
|
3164 |
var getBlock = function () {
|
3165 |
return bind(rowsArr, function (r) {
|
3191 |
};
|
3192 |
var rows$1 = function (warehouse) {
|
3193 |
var grid = warehouse.grid();
|
3194 |
+
var rowsArr = range(0, grid.rows());
|
3195 |
+
var cols = range(0, grid.columns());
|
3196 |
return map(rowsArr, function (row) {
|
3197 |
var getBlock = function () {
|
3198 |
return bind(cols, function (c) {
|
3267 |
var resizeRowBar = Styles.resolve('resizer-rows');
|
3268 |
var resizeColBar = Styles.resolve('resizer-cols');
|
3269 |
var BAR_THICKNESS = 7;
|
3270 |
+
var destroy = function (wire) {
|
3271 |
var previous = descendants$1(wire.parent(), '.' + resizeBar);
|
3272 |
each(previous, remove$2);
|
3273 |
};
|
3303 |
refreshCol(wire, colPositions, position, getOuter(table));
|
3304 |
};
|
3305 |
var refresh = function (wire, table, hdirection, vdirection) {
|
3306 |
+
destroy(wire);
|
3307 |
var list = DetailsList.fromTable(table);
|
3308 |
var warehouse = Warehouse.generate(list);
|
3309 |
var rows = Blocks.rows(warehouse);
|
3334 |
refresh: refresh,
|
3335 |
hide: hide,
|
3336 |
show: show,
|
3337 |
+
destroy: destroy,
|
3338 |
isRowBar: isRowBar,
|
3339 |
isColBar: isColBar
|
3340 |
};
|
3351 |
cells[index] = cell;
|
3352 |
};
|
3353 |
var setCells = function (gridRow, cells) {
|
3354 |
+
return rowcells(cells, gridRow.section());
|
3355 |
};
|
3356 |
var mapCells = function (gridRow, f) {
|
3357 |
var cells = gridRow.cells();
|
3358 |
var r = map(cells, f);
|
3359 |
+
return rowcells(r, gridRow.section());
|
3360 |
};
|
3361 |
var getCell = function (gridRow, index) {
|
3362 |
return gridRow.cells()[index];
|
3429 |
if (seen[ri][ci] === false) {
|
3430 |
var result = TableGrid.subgrid(grid, ri, ci, comparator);
|
3431 |
updateSeen(ri, ci, result.rowspan(), result.colspan());
|
3432 |
+
return [detailnew(cell.element(), result.rowspan(), result.colspan(), cell.isNew())];
|
3433 |
} else {
|
3434 |
return [];
|
3435 |
}
|
3436 |
});
|
3437 |
+
return rowdetails(details, row.section());
|
3438 |
});
|
3439 |
};
|
3440 |
var toGrid = function (warehouse, generators, isNew) {
|
3443 |
var rowCells = [];
|
3444 |
for (var j = 0; j < warehouse.grid().columns(); j++) {
|
3445 |
var element = Warehouse.getAt(warehouse, i, j).map(function (item) {
|
3446 |
+
return elementnew(item.element(), isNew);
|
3447 |
}).getOrThunk(function () {
|
3448 |
+
return elementnew(generators.gap(), true);
|
3449 |
});
|
3450 |
rowCells.push(element);
|
3451 |
}
|
3452 |
+
var row = rowcells(rowCells, warehouse.all()[i].section());
|
3453 |
grid.push(row);
|
3454 |
}
|
3455 |
return grid;
|
3467 |
var rowOfCells = findMap(details, function (detail) {
|
3468 |
return parent(detail.element()).map(function (row) {
|
3469 |
var isNew = parent(row).isNone();
|
3470 |
+
return elementnew(row, isNew);
|
3471 |
});
|
3472 |
});
|
3473 |
return rowOfCells.getOrThunk(function () {
|
3474 |
+
return elementnew(generators.row(), true);
|
3475 |
});
|
3476 |
};
|
3477 |
return map(rendered, function (details) {
|
3478 |
var row = findRow(details.details());
|
3479 |
+
return rowdatanew(row.element(), details.details(), details.section(), row.isNew());
|
3480 |
});
|
3481 |
};
|
3482 |
var toDetailList = function (grid, generators) {
|
3527 |
var onPaste = function (warehouse, target) {
|
3528 |
return TableLookup.cell(target.element()).bind(function (cell) {
|
3529 |
return findInWarehouse(warehouse, cell).map(function (details) {
|
3530 |
+
var value = __assign({}, details, {
|
3531 |
generators: target.generators,
|
3532 |
clipboard: target.clipboard
|
3533 |
});
|
3534 |
+
return value;
|
3535 |
});
|
3536 |
});
|
3537 |
};
|
3542 |
});
|
3543 |
});
|
3544 |
var cells = cat(details);
|
3545 |
+
return cells.length > 0 ? Option.some({
|
3546 |
+
cells: cells,
|
3547 |
generators: target.generators,
|
3548 |
clipboard: target.clipboard
|
3549 |
+
}) : Option.none();
|
3550 |
};
|
3551 |
+
var onMergable = function (_warehouse, target) {
|
3552 |
return target.mergable();
|
3553 |
};
|
3554 |
+
var onUnmergable = function (_warehouse, target) {
|
3555 |
return target.unmergable();
|
3556 |
};
|
3557 |
var onCells = function (warehouse, target) {
|
3563 |
var cells = cat(details);
|
3564 |
return cells.length > 0 ? Option.some(cells) : Option.none();
|
3565 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3566 |
|
3567 |
var value = function (o) {
|
3568 |
var is = function (v) {
|
3661 |
toOption: Option.none
|
3662 |
};
|
3663 |
};
|
3664 |
+
var fromOption = function (opt, err) {
|
3665 |
+
return opt.fold(function () {
|
3666 |
+
return error(err);
|
3667 |
+
}, value);
|
3668 |
+
};
|
3669 |
var Result = {
|
3670 |
value: value,
|
3671 |
+
error: error,
|
3672 |
+
fromOption: fromOption
|
3673 |
};
|
3674 |
|
3675 |
var measure = function (startAddress, gridA, gridB) {
|
3695 |
};
|
3696 |
var fill = function (cells, generator) {
|
3697 |
return map(cells, function () {
|
3698 |
+
return elementnew(generator.cell(), true);
|
3699 |
});
|
3700 |
};
|
3701 |
var rowFill = function (grid, amount, generator) {
|
3702 |
+
return grid.concat(repeat(amount, function (_row) {
|
3703 |
return GridRow.setCells(grid[grid.length - 1], fill(grid[grid.length - 1].cells(), generator));
|
3704 |
}));
|
3705 |
};
|
3706 |
var colFill = function (grid, amount, generator) {
|
3707 |
return map(grid, function (row) {
|
3708 |
+
return GridRow.setCells(row, row.cells().concat(fill(range(0, amount), generator)));
|
3709 |
});
|
3710 |
};
|
3711 |
var tailor = function (gridA, delta, generator) {
|
3721 |
tailor: tailor
|
3722 |
};
|
3723 |
|
3724 |
+
var merge = function (grid, bounds, comparator, substitution) {
|
3725 |
if (grid.length === 0) {
|
3726 |
return grid;
|
3727 |
}
|
3728 |
for (var i = bounds.startRow(); i <= bounds.finishRow(); i++) {
|
3729 |
for (var j = bounds.startCol(); j <= bounds.finishCol(); j++) {
|
3730 |
+
GridRow.mutateCell(grid[i], j, elementnew(substitution(), false));
|
3731 |
}
|
3732 |
}
|
3733 |
return grid;
|
3739 |
var current = GridRow.getCellElement(grid[i], j);
|
3740 |
var isToReplace = comparator(current, target);
|
3741 |
if (isToReplace === true && first === false) {
|
3742 |
+
GridRow.mutateCell(grid[i], j, elementnew(substitution(), true));
|
3743 |
} else if (isToReplace === true) {
|
3744 |
first = false;
|
3745 |
}
|
3769 |
replacement = Option.some(substitution());
|
3770 |
}
|
3771 |
replacement.each(function (sub) {
|
3772 |
+
GridRow.mutateCell(grid[i], j, elementnew(sub, true));
|
3773 |
});
|
3774 |
}
|
3775 |
};
|
3785 |
return grid;
|
3786 |
};
|
3787 |
var MergingOperations = {
|
3788 |
+
merge: merge,
|
3789 |
unmerge: unmerge,
|
3790 |
splitRows: splitRows
|
3791 |
};
|
3794 |
var candidate = GridRow.getCell(grid[row], col);
|
3795 |
var matching = curry(comparator, candidate.element());
|
3796 |
var currentRow = grid[row];
|
3797 |
+
return grid.length > 1 && GridRow.cellLength(currentRow) > 1 && (col > 0 && matching(GridRow.getCellElement(currentRow, col - 1)) || col < currentRow.cells().length - 1 && matching(GridRow.getCellElement(currentRow, col + 1)) || row > 0 && matching(GridRow.getCellElement(grid[row - 1], col)) || row < grid.length - 1 && matching(GridRow.getCellElement(grid[row + 1], col)));
|
3798 |
};
|
3799 |
var mergeTables = function (startAddress, gridA, gridB, generator, comparator) {
|
3800 |
var startRow = startAddress.row();
|
3810 |
}
|
3811 |
var newCell = GridRow.getCellElement(gridB[r - startRow], c - startCol);
|
3812 |
var replacement = generator.replace(newCell);
|
3813 |
+
GridRow.mutateCell(gridA[r], c, elementnew(replacement, true));
|
3814 |
}
|
3815 |
}
|
3816 |
return gridA;
|
3817 |
};
|
3818 |
+
var merge$1 = function (startAddress, gridA, gridB, generator, comparator) {
|
3819 |
var result = Fitment.measure(startAddress, gridA, gridB);
|
3820 |
return result.map(function (delta) {
|
3821 |
var fittedGrid = Fitment.tailor(gridA, delta, generator);
|
3831 |
return fittedOldGrid.slice(0, index).concat(fittedNewGrid).concat(fittedOldGrid.slice(index, fittedOldGrid.length));
|
3832 |
};
|
3833 |
var TableMerge = {
|
3834 |
+
merge: merge$1,
|
3835 |
insert: insert
|
3836 |
};
|
3837 |
|
3840 |
var after = grid.slice(index);
|
3841 |
var between = GridRow.mapCells(grid[example], function (ex, c) {
|
3842 |
var withinSpan = index > 0 && index < grid.length && comparator(GridRow.getCellElement(grid[index - 1], c), GridRow.getCellElement(grid[index], c));
|
3843 |
+
var ret = withinSpan ? GridRow.getCell(grid[index], c) : elementnew(substitution(ex.element(), comparator), true);
|
3844 |
return ret;
|
3845 |
});
|
3846 |
return before.concat([between]).concat(after);
|
3848 |
var insertColumnAt = function (grid, index, example, comparator, substitution) {
|
3849 |
return map(grid, function (row) {
|
3850 |
var withinSpan = index > 0 && index < GridRow.cellLength(row) && comparator(GridRow.getCellElement(row, index - 1), GridRow.getCellElement(row, index));
|
3851 |
+
var sub = withinSpan ? GridRow.getCell(row, index) : elementnew(substitution(GridRow.getCellElement(row, example), comparator), true);
|
3852 |
return GridRow.addCell(row, index, sub);
|
3853 |
});
|
3854 |
};
|
3856 |
var index = exampleCol + 1;
|
3857 |
return map(grid, function (row, i) {
|
3858 |
var isTargetCell = i === exampleRow;
|
3859 |
+
var sub = isTargetCell ? elementnew(substitution(GridRow.getCellElement(row, exampleCol), comparator), true) : GridRow.getCell(row, exampleCol);
|
3860 |
return GridRow.addCell(row, index, sub);
|
3861 |
});
|
3862 |
};
|
3866 |
var after = grid.slice(index);
|
3867 |
var between = GridRow.mapCells(grid[exampleRow], function (ex, i) {
|
3868 |
var isTargetCell = i === exampleCol;
|
3869 |
+
return isTargetCell ? elementnew(substitution(ex.element(), comparator), true) : ex;
|
3870 |
});
|
3871 |
return before.concat([between]).concat(after);
|
3872 |
};
|
3873 |
var deleteColumnsAt = function (grid, start, finish) {
|
3874 |
var rows = map(grid, function (row) {
|
3875 |
var cells = row.cells().slice(0, start).concat(row.cells().slice(finish + 1));
|
3876 |
+
return rowcells(cells, row.section());
|
3877 |
});
|
3878 |
return filter(rows, function (row) {
|
3879 |
return row.cells().length > 0;
|
3891 |
deleteColumnsAt: deleteColumnsAt
|
3892 |
};
|
3893 |
|
|
|
|
|
|
|
|
|
3894 |
var replaceIn = function (grid, targets, comparator, substitution) {
|
3895 |
var isTarget = function (cell) {
|
3896 |
return exists(targets, function (target) {
|
3899 |
};
|
3900 |
return map(grid, function (row) {
|
3901 |
return GridRow.mapCells(row, function (cell) {
|
3902 |
+
return isTarget(cell) ? elementnew(substitution(cell.element(), comparator), true) : cell;
|
3903 |
});
|
3904 |
});
|
3905 |
};
|
3924 |
});
|
3925 |
return replaceIn(grid, targets, comparator, substitution);
|
3926 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3927 |
var TransformOperations = {
|
3928 |
replaceColumn: replaceColumn,
|
3929 |
+
replaceRow: replaceRow
|
|
|
|
|
3930 |
};
|
3931 |
|
3932 |
+
var adt = Adt.generate([
|
3933 |
+
{ none: [] },
|
3934 |
+
{ only: ['index'] },
|
3935 |
+
{
|
3936 |
+
left: [
|
3937 |
+
'index',
|
3938 |
+
'next'
|
3939 |
+
]
|
3940 |
+
},
|
3941 |
+
{
|
3942 |
+
middle: [
|
3943 |
+
'prev',
|
3944 |
+
'index',
|
3945 |
+
'next'
|
3946 |
+
]
|
3947 |
+
},
|
3948 |
+
{
|
3949 |
+
right: [
|
3950 |
+
'prev',
|
3951 |
+
'index'
|
3952 |
+
]
|
3953 |
+
}
|
3954 |
+
]);
|
3955 |
+
var ColumnContext = __assign({}, adt);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3956 |
|
3957 |
var neighbours$1 = function (input, index) {
|
3958 |
if (input.length === 0) {
|
3999 |
}
|
4000 |
};
|
4001 |
var onLeft = onChange;
|
4002 |
+
var onMiddle = function (_prev, index, next) {
|
4003 |
return onChange(index, next);
|
4004 |
};
|
4005 |
+
var onRight = function (_prev, index) {
|
4006 |
if (step >= 0) {
|
4007 |
return zero(result.slice(0, index)).concat([step]);
|
4008 |
} else {
|
4041 |
return raw;
|
4042 |
});
|
4043 |
};
|
4044 |
+
var getRawW = function (cell, tableSize) {
|
4045 |
+
return getRaw$1(cell, 'width', function (e) {
|
4046 |
+
return Sizes.getPixelWidth(e, tableSize);
|
4047 |
+
});
|
4048 |
};
|
4049 |
var getRawH = function (cell) {
|
4050 |
return getRaw$1(cell, 'height', Sizes.getHeight);
|
4057 |
return map(columns, function (cellOption, c) {
|
4058 |
var columnCell = cellOption.filter(not(CellUtils.hasColspan));
|
4059 |
return columnCell.fold(function () {
|
4060 |
+
var deduced = deduce(backups, c);
|
4061 |
return fallback(deduced);
|
4062 |
}, function (cell) {
|
4063 |
return getWidth(cell, tableSize);
|
4069 |
return d + 'px';
|
4070 |
}).getOr('');
|
4071 |
};
|
4072 |
+
var getRawWidths = function (warehouse, direction, tableSize) {
|
4073 |
+
return getWidthFrom(warehouse, direction, getRawW, getDeduced, tableSize);
|
4074 |
};
|
4075 |
var getPercentageWidths = function (warehouse, direction, tableSize) {
|
4076 |
return getWidthFrom(warehouse, direction, Sizes.getPercentageWidth, function (deduced) {
|
4094 |
return map(rows, function (cellOption, c) {
|
4095 |
var rowCell = cellOption.filter(not(CellUtils.hasRowspan));
|
4096 |
return rowCell.fold(function () {
|
4097 |
+
var deduced = deduce(backups, c);
|
4098 |
return fallback(deduced);
|
4099 |
}, function (cell) {
|
4100 |
return getHeight(cell);
|
4173 |
return CellUtils.minWidth() / pixelWidth * 100;
|
4174 |
};
|
4175 |
var setTableWidth = function (table, _newWidths, delta) {
|
4176 |
+
var ratio = delta / 100;
|
4177 |
+
var change = ratio * floatWidth;
|
4178 |
+
Sizes.setPercentageWidth(table, floatWidth + change);
|
4179 |
};
|
4180 |
return {
|
4181 |
width: constant(floatWidth),
|
4189 |
};
|
4190 |
};
|
4191 |
var pixelSize = function (width) {
|
|
|
4192 |
var getCellDelta = identity;
|
4193 |
var singleColumnWidth = function (w, delta) {
|
4194 |
var newNext = Math.max(CellUtils.minWidth(), w + delta);
|
4201 |
Sizes.setPixelWidth(table, total);
|
4202 |
};
|
4203 |
return {
|
4204 |
+
width: constant(width),
|
4205 |
+
pixelWidth: constant(width),
|
4206 |
getWidths: ColumnSizes.getPixelWidths,
|
4207 |
getCellDelta: getCellDelta,
|
4208 |
singleColumnWidth: singleColumnWidth,
|
4212 |
};
|
4213 |
};
|
4214 |
var chooseSize = function (element, width) {
|
4215 |
+
var percentMatch = Sizes.percentageBasedSizeRegex().exec(width);
|
4216 |
+
if (percentMatch !== null) {
|
4217 |
return percentageSize(percentMatch[1], element);
|
|
|
|
|
|
|
|
|
|
|
|
|
4218 |
}
|
4219 |
+
var pixelMatch = Sizes.pixelBasedSizeRegex().exec(width);
|
4220 |
+
if (pixelMatch !== null) {
|
4221 |
+
var intWidth = parseInt(pixelMatch[1], 10);
|
4222 |
+
return pixelSize(intWidth);
|
4223 |
+
}
|
4224 |
+
var fallbackWidth = get$4(element);
|
4225 |
+
return pixelSize(fallbackWidth);
|
4226 |
};
|
4227 |
var getTableSize = function (element) {
|
4228 |
var width = Sizes.getRawWidth(element);
|
4289 |
each(newSizes, function (cell) {
|
4290 |
tableSize.setElementWidth(cell.element(), cell.width());
|
4291 |
});
|
|
|
|
|
|
|
4292 |
if (newSizes.length > 0) {
|
4293 |
+
tableSize.setTableWidth(table, widths, tableSize.getCellDelta(0));
|
4294 |
}
|
4295 |
};
|
4296 |
var Adjustments = {
|
4324 |
});
|
4325 |
};
|
4326 |
var baseWith = function (handleUnsupported, required, pred) {
|
4327 |
+
if (required.length === 0) {
|
4328 |
throw new Error('You must specify at least one required field.');
|
4329 |
+
}
|
4330 |
validateStrArr('required', required);
|
4331 |
checkDupes(required);
|
4332 |
return function (obj) {
|
4334 |
var allReqd = forall(required, function (req) {
|
4335 |
return contains(keys$1, req);
|
4336 |
});
|
4337 |
+
if (!allReqd) {
|
4338 |
reqMessage(required, keys$1);
|
4339 |
+
}
|
4340 |
handleUnsupported(required, keys$1);
|
4341 |
var invalidKeys = filter(required, function (key) {
|
4342 |
return !pred.validate(obj[key], key);
|
4343 |
});
|
4344 |
+
if (invalidKeys.length > 0) {
|
4345 |
invalidTypeMessage(invalidKeys, pred.label);
|
4346 |
+
}
|
4347 |
return obj;
|
4348 |
};
|
4349 |
};
|
4351 |
var unsupported = filter(keys, function (key) {
|
4352 |
return !contains(required, key);
|
4353 |
});
|
4354 |
+
if (unsupported.length > 0) {
|
4355 |
unsuppMessage(unsupported);
|
4356 |
+
}
|
4357 |
};
|
4358 |
var exactly = function (required) {
|
4359 |
return base(handleExact, required);
|
4360 |
};
|
4361 |
|
4362 |
+
var verifyGenerators = exactly([
|
4363 |
+
'cell',
|
4364 |
+
'row',
|
4365 |
+
'replace',
|
4366 |
+
'gap'
|
4367 |
+
]);
|
4368 |
var elementToData = function (element) {
|
4369 |
var colspan = has(element, 'colspan') ? parseInt(get(element, 'colspan'), 10) : 1;
|
4370 |
var rowspan = has(element, 'rowspan') ? parseInt(get(element, 'rowspan'), 10) : 1;
|
4374 |
rowspan: constant(rowspan)
|
4375 |
};
|
4376 |
};
|
4377 |
+
var modification = function (generators, toData) {
|
4378 |
+
if (toData === void 0) {
|
4379 |
+
toData = elementToData;
|
4380 |
+
}
|
4381 |
+
verifyGenerators(generators);
|
4382 |
var position = Cell(Option.none());
|
|
|
4383 |
var nu = function (data) {
|
4384 |
return generators.cell(data);
|
4385 |
};
|
4414 |
var transform = function (scope, tag) {
|
4415 |
return function (generators) {
|
4416 |
var position = Cell(Option.none());
|
4417 |
+
verifyGenerators(generators);
|
4418 |
var list = [];
|
4419 |
var find$1 = function (element, comparator) {
|
4420 |
return find(list, function (x) {
|
4422 |
});
|
4423 |
};
|
4424 |
var makeNew = function (element) {
|
4425 |
+
var attrs = { scope: scope };
|
4426 |
+
var cell = generators.replace(element, tag, attrs);
|
4427 |
list.push({
|
4428 |
item: element,
|
4429 |
sub: cell
|
4447 |
};
|
4448 |
};
|
4449 |
var merging = function (generators) {
|
4450 |
+
verifyGenerators(generators);
|
4451 |
var position = Cell(Option.none());
|
4452 |
var combine = function (cell) {
|
4453 |
if (position.get().isNone()) {
|
4469 |
cursor: position.get
|
4470 |
};
|
4471 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
4472 |
var Generators = {
|
4473 |
modification: modification,
|
4474 |
transform: transform,
|
4615 |
isInline: isInline$1
|
4616 |
};
|
4617 |
|
4618 |
+
var merge$2 = function (cells) {
|
4619 |
var isBr = function (el) {
|
4620 |
return name(el) === 'br';
|
4621 |
};
|
4635 |
if (DomStructure.isEmptyTag(rightSibling)) {
|
4636 |
return name(rightSibling) === 'img' ? false : true;
|
4637 |
}
|
4638 |
+
return false;
|
4639 |
}).getOr(false);
|
4640 |
};
|
4641 |
var markCell = function (cell) {
|
4657 |
empty(cells[0]);
|
4658 |
append$1(cells[0], contents);
|
4659 |
};
|
4660 |
+
var TableContent = { merge: merge$2 };
|
4661 |
|
4662 |
var prune = function (table) {
|
4663 |
var cells = TableLookup.cells(table);
|
4783 |
var newGrid = ModificationOperations.splitCellIntoRows(grid, detail.row(), detail.column(), comparator, genWrappers.getOrInit);
|
4784 |
return bundle(newGrid, detail.row(), detail.column());
|
4785 |
};
|
4786 |
+
var eraseColumns = function (grid, details, _comparator, _genWrappers) {
|
4787 |
var columns = uniqueColumns(details);
|
4788 |
var newGrid = ModificationOperations.deleteColumnsAt(grid, columns[0].column(), columns[columns.length - 1].column());
|
4789 |
var cursor = elementFromGrid(newGrid, details[0].row(), details[0].column());
|
4790 |
return outcome(newGrid, cursor);
|
4791 |
};
|
4792 |
+
var eraseRows = function (grid, details, _comparator, _genWrappers) {
|
4793 |
var rows = uniqueRows(details);
|
4794 |
var newGrid = ModificationOperations.deleteRowsAt(grid, rows[0].row(), rows[rows.length - 1].row());
|
4795 |
var cursor = elementFromGrid(newGrid, details[0].row(), details[0].column());
|
4814 |
return Transitions.toGrid(wh, generators, true);
|
4815 |
};
|
4816 |
var gridB = gridify(pasteDetails.clipboard(), pasteDetails.generators());
|
4817 |
+
var startAddress = address(pasteDetails.row(), pasteDetails.column());
|
4818 |
var mergedGrid = TableMerge.merge(startAddress, grid, gridB, pasteDetails.generators(), comparator);
|
4819 |
return mergedGrid.fold(function () {
|
4820 |
return outcome(grid, Option.some(pasteDetails.element()));
|
4844 |
var cursor = elementFromGrid(mergedGrid, pasteDetails.cells[0].row(), pasteDetails.cells[0].column());
|
4845 |
return outcome(mergedGrid, cursor);
|
4846 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4847 |
var resize = Adjustments.adjustWidthTo;
|
4848 |
var TableOperations = {
|
4849 |
+
insertRowBefore: run(insertRowBefore, onCell, noop, noop, Generators.modification),
|
4850 |
+
insertRowsBefore: run(insertRowsBefore, onCells, noop, noop, Generators.modification),
|
4851 |
+
insertRowAfter: run(insertRowAfter, onCell, noop, noop, Generators.modification),
|
4852 |
+
insertRowsAfter: run(insertRowsAfter, onCells, noop, noop, Generators.modification),
|
4853 |
+
insertColumnBefore: run(insertColumnBefore, onCell, resize, noop, Generators.modification),
|
4854 |
+
insertColumnsBefore: run(insertColumnsBefore, onCells, resize, noop, Generators.modification),
|
4855 |
+
insertColumnAfter: run(insertColumnAfter, onCell, resize, noop, Generators.modification),
|
4856 |
+
insertColumnsAfter: run(insertColumnsAfter, onCells, resize, noop, Generators.modification),
|
4857 |
+
splitCellIntoColumns: run(splitCellIntoColumns$1, onCell, resize, noop, Generators.modification),
|
4858 |
+
splitCellIntoRows: run(splitCellIntoRows$1, onCell, noop, noop, Generators.modification),
|
4859 |
+
eraseColumns: run(eraseColumns, onCells, resize, prune, Generators.modification),
|
4860 |
+
eraseRows: run(eraseRows, onCells, noop, prune, Generators.modification),
|
4861 |
+
makeColumnHeader: run(makeColumnHeader, onCell, noop, noop, Generators.transform('row', 'th')),
|
4862 |
+
unmakeColumnHeader: run(unmakeColumnHeader, onCell, noop, noop, Generators.transform(null, 'td')),
|
4863 |
+
makeRowHeader: run(makeRowHeader, onCell, noop, noop, Generators.transform('col', 'th')),
|
4864 |
+
unmakeRowHeader: run(unmakeRowHeader, onCell, noop, noop, Generators.transform(null, 'td')),
|
4865 |
+
mergeCells: run(mergeCells, onMergable, noop, noop, Generators.merging),
|
4866 |
+
unmergeCells: run(unmergeCells, onUnmergable, resize, noop, Generators.merging),
|
4867 |
+
pasteCells: run(pasteCells, onPaste, resize, noop, Generators.modification),
|
4868 |
+
pasteRowsBefore: run(pasteRowsBefore, onPasteRows, noop, noop, Generators.modification),
|
4869 |
+
pasteRowsAfter: run(pasteRowsAfter, onPasteRows, noop, noop, Generators.modification)
|
|
|
|
|
4870 |
};
|
4871 |
|
4872 |
var getBody$1 = function (editor) {
|
5087 |
var copyRows = function (table, target, generators) {
|
5088 |
var list = DetailsList.fromTable(table);
|
5089 |
var house = Warehouse.generate(list);
|
5090 |
+
var details = onCells(house, target);
|
5091 |
return details.map(function (selectedCells) {
|
5092 |
var grid = Transitions.toGrid(house, generators, false);
|
5093 |
var slicedGrid = grid.slice(selectedCells[0].row(), selectedCells[selectedCells.length - 1].row() + selectedCells[selectedCells.length - 1].rowspan());
|
5094 |
+
var slicedDetails = toDetailList(slicedGrid, generators);
|
5095 |
return Redraw.copy(slicedDetails);
|
5096 |
});
|
5097 |
};
|
5866 |
return table;
|
5867 |
};
|
5868 |
|
5869 |
+
var get$7 = function (element) {
|
5870 |
return element.dom().innerHTML;
|
5871 |
};
|
5872 |
var getOuter$2 = function (element) {
|
5873 |
var container = Element.fromTag('div');
|
5874 |
var clone = Element.fromDom(element.dom().cloneNode(true));
|
5875 |
append(container, clone);
|
5876 |
+
return get$7(container);
|
5877 |
};
|
5878 |
|
5879 |
var placeCaretInCell = function (editor, cell) {
|
6320 |
};
|
6321 |
var Commands = { registerCommands: registerCommands };
|
6322 |
|
6323 |
+
var only = function (element) {
|
6324 |
var parent = Option.from(element.dom().documentElement).map(Element.fromDom).getOr(element);
|
6325 |
return {
|
6326 |
parent: constant(parent),
|
6329 |
};
|
6330 |
};
|
6331 |
var detached = function (editable, chrome) {
|
6332 |
+
var origin = function () {
|
6333 |
+
return absolute(chrome);
|
6334 |
+
};
|
6335 |
return {
|
6336 |
parent: constant(chrome),
|
6337 |
view: constant(editable),
|
6346 |
};
|
6347 |
};
|
6348 |
var ResizeWire = {
|
6349 |
+
only: only,
|
6350 |
detached: detached,
|
6351 |
body: body$1
|
6352 |
};
|
6353 |
|
6354 |
+
var Event = function (fields) {
|
6355 |
var struct = Immutable.apply(null, fields);
|
6356 |
var handlers = [];
|
6357 |
var bind = function (handler) {
|
6358 |
if (handler === undefined) {
|
6359 |
+
throw new Error('Event bind error: undefined handler');
|
6360 |
}
|
6361 |
handlers.push(handler);
|
6362 |
};
|
6366 |
});
|
6367 |
};
|
6368 |
var trigger = function () {
|
6369 |
+
var args = [];
|
6370 |
+
for (var _i = 0; _i < arguments.length; _i++) {
|
6371 |
+
args[_i] = arguments[_i];
|
6372 |
+
}
|
6373 |
+
var event = struct.apply(null, args);
|
6374 |
each(handlers, function (handler) {
|
6375 |
handler(event);
|
6376 |
});
|
6380 |
unbind: unbind,
|
6381 |
trigger: trigger
|
6382 |
};
|
6383 |
+
};
|
6384 |
|
6385 |
+
var create$1 = function (typeDefs) {
|
6386 |
var registry = map$1(typeDefs, function (event) {
|
6387 |
return {
|
6388 |
bind: event.bind,
|
6397 |
trigger: trigger
|
6398 |
};
|
6399 |
};
|
6400 |
+
var Events = { create: create$1 };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6401 |
|
6402 |
var mkEvent = function (target, x, y, stop, prevent, kill, raw) {
|
6403 |
return {
|
6444 |
return bind$1(element, event, filter$1, handler);
|
6445 |
};
|
6446 |
|
6447 |
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
6448 |
+
var shallow$1 = function (old, nu) {
|
6449 |
+
return nu;
|
|
|
|
|
|
|
|
|
|
|
6450 |
};
|
6451 |
+
var baseMerge = function (merger) {
|
6452 |
+
return function () {
|
6453 |
+
var objects = new Array(arguments.length);
|
6454 |
+
for (var i = 0; i < objects.length; i++) {
|
6455 |
+
objects[i] = arguments[i];
|
6456 |
+
}
|
6457 |
+
if (objects.length === 0) {
|
6458 |
+
throw new Error('Can\'t merge zero objects');
|
6459 |
+
}
|
6460 |
+
var ret = {};
|
6461 |
+
for (var j = 0; j < objects.length; j++) {
|
6462 |
+
var curObject = objects[j];
|
6463 |
+
for (var key in curObject) {
|
6464 |
+
if (hasOwnProperty.call(curObject, key)) {
|
6465 |
+
ret[key] = merger(ret[key], curObject[key]);
|
6466 |
+
}
|
6467 |
+
}
|
6468 |
+
}
|
6469 |
+
return ret;
|
6470 |
+
};
|
6471 |
+
};
|
6472 |
+
var merge$3 = baseMerge(shallow$1);
|
6473 |
+
|
6474 |
+
var styles$1 = css('ephox-dragster');
|
6475 |
+
var Styles$2 = { resolve: styles$1.resolve };
|
6476 |
+
|
6477 |
+
var Blocker = function (options) {
|
6478 |
+
var settings = merge$3({ layerClass: Styles$2.resolve('blocker') }, options);
|
6479 |
+
var div = Element.fromTag('div');
|
6480 |
+
set(div, 'role', 'presentation');
|
6481 |
+
setAll$1(div, {
|
6482 |
+
position: 'fixed',
|
6483 |
+
left: '0px',
|
6484 |
+
top: '0px',
|
6485 |
+
width: '100%',
|
6486 |
+
height: '100%'
|
6487 |
+
});
|
6488 |
+
add$2(div, Styles$2.resolve('blocker'));
|
6489 |
+
add$2(div, settings.layerClass);
|
6490 |
+
var element = function () {
|
6491 |
+
return div;
|
6492 |
+
};
|
6493 |
+
var destroy = function () {
|
6494 |
+
remove$2(div);
|
6495 |
+
};
|
6496 |
+
return {
|
6497 |
+
element: element,
|
6498 |
+
destroy: destroy
|
6499 |
+
};
|
6500 |
+
};
|
6501 |
+
|
6502 |
+
var DragMode = exactly([
|
6503 |
+
'compare',
|
6504 |
+
'extract',
|
6505 |
+
'mutate',
|
6506 |
+
'sink'
|
6507 |
+
]);
|
6508 |
+
var DragSink = exactly([
|
6509 |
+
'element',
|
6510 |
+
'start',
|
6511 |
+
'stop',
|
6512 |
+
'destroy'
|
6513 |
+
]);
|
6514 |
+
var DragApi = exactly([
|
6515 |
+
'forceDrop',
|
6516 |
+
'drop',
|
6517 |
+
'move',
|
6518 |
+
'delayDrop'
|
6519 |
+
]);
|
6520 |
+
|
6521 |
+
var compare = function (old, nu) {
|
6522 |
+
return Position(nu.left() - old.left(), nu.top() - old.top());
|
6523 |
+
};
|
6524 |
+
var extract$1 = function (event) {
|
6525 |
+
return Option.some(Position(event.x(), event.y()));
|
6526 |
+
};
|
6527 |
+
var mutate = function (mutation, info) {
|
6528 |
+
mutation.mutate(info.left(), info.top());
|
6529 |
+
};
|
6530 |
+
var sink = function (dragApi, settings) {
|
6531 |
var blocker = Blocker(settings);
|
6532 |
var mdown = bind$2(blocker.element(), 'mousedown', dragApi.forceDrop);
|
6533 |
var mup = bind$2(blocker.element(), 'mouseup', dragApi.drop);
|
6546 |
var stop = function () {
|
6547 |
remove$2(blocker.element());
|
6548 |
};
|
6549 |
+
return DragSink({
|
6550 |
element: blocker.element,
|
6551 |
start: start,
|
6552 |
stop: stop,
|
6553 |
destroy: destroy
|
6554 |
});
|
6555 |
};
|
6556 |
+
var MouseDrag = DragMode({
|
6557 |
compare: compare,
|
6558 |
extract: extract$1,
|
6559 |
+
sink: sink,
|
6560 |
mutate: mutate
|
6561 |
});
|
6562 |
|
6563 |
+
var last$2 = function (fn, rate) {
|
6564 |
+
var timer = null;
|
6565 |
+
var cancel = function () {
|
6566 |
+
if (timer !== null) {
|
6567 |
+
domGlobals.clearTimeout(timer);
|
6568 |
+
timer = null;
|
6569 |
+
}
|
6570 |
+
};
|
6571 |
+
var throttle = function () {
|
6572 |
+
var args = [];
|
6573 |
+
for (var _i = 0; _i < arguments.length; _i++) {
|
6574 |
+
args[_i] = arguments[_i];
|
6575 |
+
}
|
6576 |
+
if (timer !== null) {
|
6577 |
+
domGlobals.clearTimeout(timer);
|
6578 |
+
}
|
6579 |
+
timer = domGlobals.setTimeout(function () {
|
6580 |
+
fn.apply(null, args);
|
6581 |
+
timer = null;
|
6582 |
+
}, rate);
|
6583 |
+
};
|
6584 |
+
return {
|
6585 |
+
cancel: cancel,
|
6586 |
+
throttle: throttle
|
6587 |
+
};
|
6588 |
+
};
|
6589 |
+
|
6590 |
function InDrag () {
|
6591 |
var previous = Option.none();
|
6592 |
var reset = function () {
|
6616 |
};
|
6617 |
}
|
6618 |
|
6619 |
+
function NoDrag () {
|
|
|
|
|
6620 |
return {
|
6621 |
+
onEvent: noop,
|
6622 |
reset: noop
|
6623 |
};
|
6624 |
}
|
6650 |
};
|
6651 |
}
|
6652 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6653 |
var setup = function (mutation, mode, settings) {
|
6654 |
var active = false;
|
6655 |
var events = Events.create({
|
6670 |
movement.on();
|
6671 |
events.trigger.start();
|
6672 |
};
|
6673 |
+
var mousemove = function (event) {
|
6674 |
throttledDrop.cancel();
|
6675 |
movement.onEvent(event, mode);
|
6676 |
};
|
6685 |
};
|
6686 |
var runIfActive = function (f) {
|
6687 |
return function () {
|
6688 |
+
var args = [];
|
6689 |
+
for (var _i = 0; _i < arguments.length; _i++) {
|
6690 |
+
args[_i] = arguments[_i];
|
6691 |
+
}
|
6692 |
if (active) {
|
6693 |
+
f.apply(null, args);
|
6694 |
}
|
6695 |
};
|
6696 |
};
|
6697 |
+
var sink = mode.sink(DragApi({
|
6698 |
forceDrop: drop,
|
6699 |
drop: runIfActive(drop),
|
6700 |
move: runIfActive(mousemove),
|
6714 |
};
|
6715 |
var Dragging = { setup: setup };
|
6716 |
|
6717 |
+
var transform$1 = function (mutation, settings) {
|
6718 |
+
if (settings === void 0) {
|
6719 |
+
settings = {};
|
6720 |
+
}
|
6721 |
var mode = settings.mode !== undefined ? settings.mode : MouseDrag;
|
6722 |
+
return Dragging.setup(mutation, mode, settings);
|
6723 |
};
|
6724 |
var Dragger = { transform: transform$1 };
|
6725 |
|
6726 |
+
var Mutation = function () {
|
|
|
|
|
|
|
|
|
6727 |
var events = Events.create({
|
6728 |
drag: Event([
|
6729 |
'xDelta',
|
6737 |
mutate: mutate,
|
6738 |
events: events.registry
|
6739 |
};
|
6740 |
+
};
|
6741 |
|
6742 |
+
var BarMutation = function () {
|
6743 |
var events = Events.create({
|
6744 |
drag: Event([
|
6745 |
'xDelta',
|
6766 |
mutate: delegate.mutate,
|
6767 |
events: events.registry
|
6768 |
};
|
6769 |
+
};
|
6770 |
+
|
6771 |
+
var isContentEditableTrue = function (elm) {
|
6772 |
+
return get(elm, 'contenteditable') === 'true';
|
6773 |
+
};
|
6774 |
+
var findClosestContentEditable = function (target, isRoot) {
|
6775 |
+
return closest$1(target, '[contenteditable]', isRoot);
|
6776 |
+
};
|
6777 |
|
6778 |
var resizeBarDragging = Styles.resolve('resizer-bar-dragging');
|
6779 |
+
var BarManager = function (wire, direction, hdirection) {
|
6780 |
var mutation = BarMutation();
|
6781 |
var resizing = Dragger.transform(mutation, {});
|
6782 |
var hoverTable = Option.none();
|
6834 |
var isRoot = function (e) {
|
6835 |
return eq(e, wire.view());
|
6836 |
};
|
6837 |
+
var findClosestEditableTable = function (target) {
|
6838 |
+
return closest$1(target, 'table', isRoot).filter(function (table) {
|
6839 |
+
return findClosestContentEditable(table, isRoot).exists(isContentEditableTrue);
|
6840 |
+
});
|
6841 |
+
};
|
6842 |
var mouseover = bind$2(wire.view(), 'mouseover', function (event) {
|
6843 |
+
findClosestEditableTable(event.target()).fold(function () {
|
6844 |
+
if (inBody(event.target())) {
|
6845 |
+
Bars.destroy(wire);
|
6846 |
+
}
|
6847 |
+
}, function (table) {
|
6848 |
+
hoverTable = Option.some(table);
|
6849 |
+
Bars.refresh(wire, table, hdirection, direction);
|
6850 |
+
});
|
6851 |
});
|
6852 |
var destroy = function () {
|
6853 |
mousedown.unbind();
|
6880 |
showBars: curry(Bars.show, wire),
|
6881 |
events: events.registry
|
6882 |
};
|
6883 |
+
};
|
6884 |
|
6885 |
function TableResize (wire, vdirection) {
|
6886 |
var hdirection = BarPositions.height;
|
6892 |
});
|
6893 |
manager.events.adjustHeight.bind(function (event) {
|
6894 |
events.trigger.beforeResize(event.table());
|
6895 |
+
var delta = hdirection.delta(event.delta(), event.table());
|
6896 |
Adjustments.adjustHeight(event.table(), delta, event.row(), hdirection);
|
6897 |
events.trigger.afterResize(event.table());
|
6898 |
});
|
6928 |
append(body(), container);
|
6929 |
return container;
|
6930 |
};
|
6931 |
+
var get$8 = function (editor, container) {
|
6932 |
return editor.inline ? ResizeWire.body(getBody$1(editor), createContainer()) : ResizeWire.only(Element.fromDom(editor.getDoc()));
|
6933 |
};
|
6934 |
var remove$6 = function (editor, wire) {
|
6937 |
}
|
6938 |
};
|
6939 |
var TableWire = {
|
6940 |
+
get: get$8,
|
6941 |
remove: remove$6
|
6942 |
};
|
6943 |
|
7035 |
};
|
7036 |
};
|
7037 |
|
7038 |
+
var adt$1 = Adt.generate([
|
7039 |
+
{ none: ['current'] },
|
7040 |
+
{ first: ['current'] },
|
7041 |
+
{
|
7042 |
+
middle: [
|
7043 |
+
'current',
|
7044 |
+
'target'
|
7045 |
+
]
|
7046 |
+
},
|
7047 |
+
{ last: ['current'] }
|
7048 |
+
]);
|
7049 |
+
var none$1 = function (current) {
|
7050 |
+
if (current === void 0) {
|
7051 |
+
current = undefined;
|
7052 |
+
}
|
7053 |
+
return adt$1.none(current);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7054 |
};
|
7055 |
+
var CellLocation = __assign({}, adt$1, { none: none$1 });
|
7056 |
|
7057 |
var detect$4 = function (current, isRoot) {
|
7058 |
return TableLookup.table(current, isRoot).bind(function (table) {
|
7089 |
prev: prev
|
7090 |
};
|
7091 |
|
7092 |
+
var create$2 = Immutable('start', 'soffset', 'finish', 'foffset');
|
7093 |
+
var SimRange = { create: create$2 };
|
7094 |
+
|
7095 |
+
var adt$2 = Adt.generate([
|
7096 |
{ before: ['element'] },
|
7097 |
{
|
7098 |
on: [
|
7108 |
var getStart = function (situ) {
|
7109 |
return situ.fold(identity, identity, identity);
|
7110 |
};
|
7111 |
+
var before$2 = adt$2.before;
|
7112 |
+
var on = adt$2.on;
|
7113 |
+
var after$2 = adt$2.after;
|
7114 |
var Situ = {
|
7115 |
before: before$2,
|
7116 |
on: on,
|
7119 |
getStart: getStart
|
7120 |
};
|
7121 |
|
7122 |
+
var adt$3 = Adt.generate([
|
7123 |
{ domRange: ['rng'] },
|
7124 |
{
|
7125 |
relative: [
|
7136 |
]
|
7137 |
}
|
7138 |
]);
|
7139 |
+
var exactFromRange = function (simRange) {
|
7140 |
+
return adt$3.exact(simRange.start(), simRange.soffset(), simRange.finish(), simRange.foffset());
|
7141 |
+
};
|
7142 |
var getStart$1 = function (selection) {
|
7143 |
return selection.match({
|
7144 |
domRange: function (rng) {
|
7152 |
}
|
7153 |
});
|
7154 |
};
|
7155 |
+
var domRange = adt$3.domRange;
|
7156 |
+
var relative = adt$3.relative;
|
7157 |
+
var exact = adt$3.exact;
|
7158 |
var getWin = function (selection) {
|
7159 |
var start = getStart$1(selection);
|
7160 |
return defaultView(start);
|
7161 |
};
|
7162 |
+
var range$1 = SimRange.create;
|
7163 |
+
var Selection = {
|
7164 |
+
domRange: domRange,
|
7165 |
+
relative: relative,
|
7166 |
+
exact: exact,
|
7167 |
+
exactFromRange: exactFromRange,
|
7168 |
+
getWin: getWin,
|
7169 |
+
range: range$1
|
|
|
|
|
|
|
|
|
|
|
|
|
7170 |
};
|
7171 |
|
7172 |
var selectNodeContents = function (win, element) {
|
7223 |
return rect.width > 0 || rect.height > 0 ? Option.some(rect).map(toRect) : Option.none();
|
7224 |
};
|
7225 |
|
7226 |
+
var adt$4 = Adt.generate([
|
7227 |
{
|
7228 |
ltr: [
|
7229 |
'start',
|
7281 |
return rev.collapsed === false;
|
7282 |
});
|
7283 |
return reversed.map(function (rev) {
|
7284 |
+
return adt$4.rtl(Element.fromDom(rev.endContainer), rev.endOffset, Element.fromDom(rev.startContainer), rev.startOffset);
|
7285 |
}).getOrThunk(function () {
|
7286 |
+
return fromRange(win, adt$4.ltr, rng);
|
7287 |
});
|
7288 |
} else {
|
7289 |
+
return fromRange(win, adt$4.ltr, rng);
|
7290 |
}
|
7291 |
};
|
7292 |
var diagnose = function (win, selection) {
|
7371 |
});
|
7372 |
};
|
7373 |
var locateNode = function (doc, node, x, y) {
|
7374 |
+
return isText(node) ? locate(doc, node, x, y) : searchInChildren(doc, node, x, y);
|
|
|
7375 |
};
|
7376 |
var locate$1 = function (doc, node, x, y) {
|
7377 |
var r = doc.dom().createRange();
|
7447 |
var fromPoint$1 = function (win, x, y) {
|
7448 |
var doc = Element.fromDom(win.document);
|
7449 |
return availableSearch(doc, x, y).map(function (rng) {
|
7450 |
+
return SimRange.create(Element.fromDom(rng.startContainer), rng.startOffset, Element.fromDom(rng.endContainer), rng.endOffset);
|
7451 |
});
|
7452 |
};
|
7453 |
|
7467 |
var preprocessRelative = function (startSitu, finishSitu) {
|
7468 |
var start = startSitu.fold(Situ.before, beforeSpecial, Situ.after);
|
7469 |
var finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after);
|
7470 |
+
return Selection.relative(start, finish);
|
7471 |
};
|
7472 |
var preprocessExact = function (start, soffset, finish, foffset) {
|
7473 |
var startSitu = beforeSpecial(start, soffset);
|
7474 |
var finishSitu = beforeSpecial(finish, foffset);
|
7475 |
+
return Selection.relative(startSitu, finishSitu);
|
7476 |
};
|
7477 |
var preprocess = function (selection) {
|
7478 |
return selection.match({
|
7486 |
});
|
7487 |
};
|
7488 |
|
7489 |
+
var makeRange = function (start, soffset, finish, foffset) {
|
7490 |
+
var doc = owner(start);
|
7491 |
+
var rng = doc.dom().createRange();
|
7492 |
+
rng.setStart(start.dom(), soffset);
|
7493 |
+
rng.setEnd(finish.dom(), foffset);
|
7494 |
+
return rng;
|
7495 |
+
};
|
7496 |
+
var after$3 = function (start, soffset, finish, foffset) {
|
7497 |
+
var r = makeRange(start, soffset, finish, foffset);
|
7498 |
+
var same = eq(start, finish) && soffset === foffset;
|
7499 |
+
return r.collapsed && !same;
|
7500 |
+
};
|
7501 |
+
|
7502 |
var doSetNativeRange = function (win, rng) {
|
7503 |
Option.from(win.getSelection()).each(function (selection) {
|
7504 |
selection.removeAllRanges();
|
7543 |
setRangeFromRelative(win, relative);
|
7544 |
};
|
7545 |
var toNative = function (selection) {
|
7546 |
+
var win = Selection.getWin(selection).dom();
|
7547 |
var getDomRange = function (start, soffset, finish, foffset) {
|
7548 |
return exactToNative(win, start, soffset, finish, foffset);
|
7549 |
};
|
7557 |
if (selection.rangeCount > 0) {
|
7558 |
var firstRng = selection.getRangeAt(0);
|
7559 |
var lastRng = selection.getRangeAt(selection.rangeCount - 1);
|
7560 |
+
return Option.some(SimRange.create(Element.fromDom(firstRng.startContainer), firstRng.startOffset, Element.fromDom(lastRng.endContainer), lastRng.endOffset));
|
7561 |
} else {
|
7562 |
return Option.none();
|
7563 |
}
|
7565 |
var doGetExact = function (selection) {
|
7566 |
var anchor = Element.fromDom(selection.anchorNode);
|
7567 |
var focus = Element.fromDom(selection.focusNode);
|
7568 |
+
return after$3(anchor, selection.anchorOffset, focus, selection.focusOffset) ? Option.some(SimRange.create(anchor, selection.anchorOffset, focus, selection.focusOffset)) : readRange(selection);
|
7569 |
};
|
7570 |
var setToElement = function (win, element) {
|
7571 |
var rng = selectNodeContents(win, element);
|
7576 |
return sel.rangeCount > 0;
|
7577 |
}).bind(doGetExact);
|
7578 |
};
|
7579 |
+
var get$9 = function (win) {
|
7580 |
return getExact(win).map(function (range) {
|
7581 |
+
return Selection.exact(range.start(), range.soffset(), range.finish(), range.foffset());
|
7582 |
});
|
7583 |
};
|
7584 |
var getFirstRect$1 = function (win, selection) {
|
7588 |
var getAtPoint = function (win, x, y) {
|
7589 |
return fromPoint$1(win, x, y);
|
7590 |
};
|
7591 |
+
var clear = function (win) {
|
7592 |
var selection = win.getSelection();
|
7593 |
selection.removeAllRanges();
|
7594 |
};
|
7602 |
return go(editor, isRoot, CellNavigation.prev(cell), lazyWire);
|
7603 |
};
|
7604 |
var getCellFirstCursorPosition = function (editor, cell) {
|
7605 |
+
var selection = Selection.exact(cell, 0, cell, 0);
|
7606 |
return toNative(selection);
|
7607 |
};
|
7608 |
var getNewRowCursorPosition = function (editor, table) {
|
7656 |
};
|
7657 |
var TabContext = { handle: handle$1 };
|
7658 |
|
7659 |
+
var create$3 = Immutable('selection', 'kill');
|
7660 |
+
var Response = { create: create$3 };
|
7661 |
|
7662 |
+
var create$4 = function (start, soffset, finish, foffset) {
|
7663 |
+
return {
|
7664 |
+
start: constant(Situ.on(start, soffset)),
|
7665 |
+
finish: constant(Situ.on(finish, foffset))
|
7666 |
};
|
7667 |
};
|
7668 |
+
var Situs = { create: create$4 };
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7669 |
|
7670 |
var convertToRange = function (win, selection) {
|
7671 |
var rng = asLtrRange(win, selection);
|
7672 |
+
return SimRange.create(Element.fromDom(rng.startContainer), rng.startOffset, Element.fromDom(rng.endContainer), rng.endOffset);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7673 |
};
|
7674 |
+
var makeSitus = Situs.create;
|
7675 |
+
var Util = {
|
7676 |
convertToRange: convertToRange,
|
7677 |
makeSitus: makeSitus
|
7678 |
};
|
7679 |
|
7680 |
+
var sync = function (container, isRoot, start, soffset, finish, foffset, selectRange) {
|
7681 |
+
if (!(eq(start, finish) && soffset === foffset)) {
|
7682 |
+
return closest$1(start, 'td,th', isRoot).bind(function (s) {
|
7683 |
+
return closest$1(finish, 'td,th', isRoot).bind(function (f) {
|
7684 |
+
return detect$5(container, isRoot, s, f, selectRange);
|
7685 |
+
});
|
7686 |
+
});
|
7687 |
+
} else {
|
7688 |
+
return Option.none();
|
7689 |
+
}
|
7690 |
};
|
7691 |
+
var detect$5 = function (container, isRoot, start, finish, selectRange) {
|
7692 |
+
if (!eq(start, finish)) {
|
7693 |
+
return CellSelection.identify(start, finish, isRoot).bind(function (cellSel) {
|
7694 |
+
var boxes = cellSel.boxes().getOr([]);
|
7695 |
+
if (boxes.length > 0) {
|
7696 |
+
selectRange(container, boxes, cellSel.start(), cellSel.finish());
|
7697 |
+
return Option.some(Response.create(Option.some(Util.makeSitus(start, 0, start, getEnd(start))), true));
|
7698 |
+
} else {
|
7699 |
+
return Option.none();
|
7700 |
+
}
|
7701 |
+
});
|
7702 |
+
} else {
|
7703 |
+
return Option.none();
|
7704 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7705 |
};
|
7706 |
var update = function (rows, columns, container, selected, annotations) {
|
7707 |
var updateSelection = function (newSels) {
|
7717 |
update: update
|
7718 |
};
|
7719 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7720 |
var traverse = Immutable('item', 'mode');
|
7721 |
var backtrack = function (universe, item, _direction, transition) {
|
7722 |
if (transition === void 0) {
|
7777 |
});
|
7778 |
};
|
7779 |
|
7780 |
+
var left = function () {
|
7781 |
var sibling = function (universe, item) {
|
7782 |
return universe.query().prevSibling(item);
|
7783 |
};
|
7789 |
first: first
|
7790 |
};
|
7791 |
};
|
7792 |
+
var right = function () {
|
7793 |
var sibling = function (universe, item) {
|
7794 |
return universe.query().nextSibling(item);
|
7795 |
};
|
7802 |
};
|
7803 |
};
|
7804 |
var Walkers = {
|
7805 |
+
left: left,
|
7806 |
+
right: right
|
7807 |
};
|
7808 |
|
7809 |
var hone = function (universe, item, predicate, mode, direction, isRoot) {
|
7810 |
var next = go$1(universe, item, mode, direction);
|
7811 |
return next.bind(function (n) {
|
7812 |
+
if (isRoot(n.item())) {
|
7813 |
return Option.none();
|
7814 |
+
} else {
|
7815 |
return predicate(n.item()) ? Option.some(n.item()) : hone(universe, n.item(), predicate, n.mode(), direction, isRoot);
|
7816 |
+
}
|
7817 |
});
|
7818 |
};
|
7819 |
+
var left$1 = function (universe, item, predicate, isRoot) {
|
7820 |
return hone(universe, item, predicate, sidestep, Walkers.left(), isRoot);
|
7821 |
};
|
7822 |
+
var right$1 = function (universe, item, predicate, isRoot) {
|
7823 |
return hone(universe, item, predicate, sidestep, Walkers.right(), isRoot);
|
7824 |
};
|
7825 |
|
7834 |
var after$4 = function (universe, item, isRoot) {
|
7835 |
return seekRight(universe, item, isLeaf(universe), isRoot);
|
7836 |
};
|
7837 |
+
var seekLeft = left$1;
|
7838 |
+
var seekRight = right$1;
|
7839 |
+
|
7840 |
+
var universe$2 = DomUniverse();
|
7841 |
+
var before$4 = function (element, isRoot) {
|
7842 |
+
return before$3(universe$2, element, isRoot);
|
7843 |
+
};
|
7844 |
+
var after$5 = function (element, isRoot) {
|
7845 |
+
return after$4(universe$2, element, isRoot);
|
7846 |
+
};
|
7847 |
+
var seekLeft$1 = function (element, predicate, isRoot) {
|
7848 |
+
return seekLeft(universe$2, element, predicate, isRoot);
|
7849 |
+
};
|
7850 |
+
var seekRight$1 = function (element, predicate, isRoot) {
|
7851 |
+
return seekRight(universe$2, element, predicate, isRoot);
|
7852 |
+
};
|
7853 |
+
|
7854 |
+
var ancestor$2 = function (scope, predicate, isRoot) {
|
7855 |
+
return ancestor(scope, predicate, isRoot).isSome();
|
7856 |
+
};
|
7857 |
+
|
7858 |
+
var point = Immutable('element', 'offset');
|
7859 |
+
var delta = Immutable('element', 'deltaOffset');
|
7860 |
+
var range$2 = Immutable('element', 'start', 'finish');
|
7861 |
+
var points = Immutable('begin', 'end');
|
7862 |
+
var text = Immutable('element', 'text');
|
7863 |
+
|
7864 |
+
var adt$5 = Adt.generate([
|
7865 |
+
{ none: ['message'] },
|
7866 |
+
{ success: [] },
|
7867 |
+
{ failedUp: ['cell'] },
|
7868 |
+
{ failedDown: ['cell'] }
|
7869 |
+
]);
|
7870 |
+
var isOverlapping = function (bridge, before, after) {
|
7871 |
+
var beforeBounds = bridge.getRect(before);
|
7872 |
+
var afterBounds = bridge.getRect(after);
|
7873 |
+
return afterBounds.right > beforeBounds.left && afterBounds.left < beforeBounds.right;
|
7874 |
+
};
|
7875 |
+
var isRow = function (elem) {
|
7876 |
+
return closest$1(elem, 'tr');
|
7877 |
+
};
|
7878 |
+
var verify = function (bridge, before, beforeOffset, after, afterOffset, failure, isRoot) {
|
7879 |
+
return closest$1(after, 'td,th', isRoot).bind(function (afterCell) {
|
7880 |
+
return closest$1(before, 'td,th', isRoot).map(function (beforeCell) {
|
7881 |
+
if (!eq(afterCell, beforeCell)) {
|
7882 |
+
return DomParent.sharedOne(isRow, [
|
7883 |
+
afterCell,
|
7884 |
+
beforeCell
|
7885 |
+
]).fold(function () {
|
7886 |
+
return isOverlapping(bridge, beforeCell, afterCell) ? adt$5.success() : failure(beforeCell);
|
7887 |
+
}, function (_sharedRow) {
|
7888 |
+
return failure(beforeCell);
|
7889 |
+
});
|
7890 |
+
} else {
|
7891 |
+
return eq(after, afterCell) && getEnd(afterCell) === afterOffset ? failure(beforeCell) : adt$5.none('in same cell');
|
7892 |
+
}
|
7893 |
+
});
|
7894 |
+
}).getOr(adt$5.none('default'));
|
7895 |
+
};
|
7896 |
+
var cata$2 = function (subject, onNone, onSuccess, onFailedUp, onFailedDown) {
|
7897 |
+
return subject.fold(onNone, onSuccess, onFailedUp, onFailedDown);
|
7898 |
+
};
|
7899 |
+
var BeforeAfter = __assign({}, adt$5, {
|
7900 |
+
verify: verify,
|
7901 |
+
cata: cata$2
|
7902 |
+
});
|
7903 |
+
|
7904 |
+
var inAncestor = Immutable('ancestor', 'descendants', 'element', 'index');
|
7905 |
+
var inParent = Immutable('parent', 'children', 'element', 'index');
|
7906 |
+
var indexInParent = function (element) {
|
7907 |
+
return parent(element).bind(function (parent) {
|
7908 |
+
var children$1 = children(parent);
|
7909 |
+
return indexOf(children$1, element).map(function (index) {
|
7910 |
+
return inParent(parent, children$1, element, index);
|
7911 |
+
});
|
7912 |
+
});
|
7913 |
+
};
|
7914 |
+
var indexOf = function (elements, element) {
|
7915 |
+
return findIndex(elements, curry(eq, element));
|
7916 |
+
};
|
7917 |
+
|
7918 |
+
var isBr = function (elem) {
|
7919 |
+
return name(elem) === 'br';
|
7920 |
+
};
|
7921 |
+
var gatherer = function (cand, gather, isRoot) {
|
7922 |
+
return gather(cand, isRoot).bind(function (target) {
|
7923 |
+
return isText(target) && get$2(target).trim().length === 0 ? gatherer(target, gather, isRoot) : Option.some(target);
|
7924 |
+
});
|
7925 |
+
};
|
7926 |
+
var handleBr = function (isRoot, element, direction) {
|
7927 |
+
return direction.traverse(element).orThunk(function () {
|
7928 |
+
return gatherer(element, direction.gather, isRoot);
|
7929 |
+
}).map(direction.relative);
|
7930 |
+
};
|
7931 |
+
var findBr = function (element, offset) {
|
7932 |
+
return child(element, offset).filter(isBr).orThunk(function () {
|
7933 |
+
return child(element, offset - 1).filter(isBr);
|
7934 |
+
});
|
7935 |
+
};
|
7936 |
+
var handleParent = function (isRoot, element, offset, direction) {
|
7937 |
+
return findBr(element, offset).bind(function (br) {
|
7938 |
+
return direction.traverse(br).fold(function () {
|
7939 |
+
return gatherer(br, direction.gather, isRoot).map(direction.relative);
|
7940 |
+
}, function (adjacent) {
|
7941 |
+
return indexInParent(adjacent).map(function (info) {
|
7942 |
+
return Situ.on(info.parent(), info.index());
|
7943 |
+
});
|
7944 |
+
});
|
7945 |
+
});
|
7946 |
+
};
|
7947 |
+
var tryBr = function (isRoot, element, offset, direction) {
|
7948 |
+
var target = isBr(element) ? handleBr(isRoot, element, direction) : handleParent(isRoot, element, offset, direction);
|
7949 |
+
return target.map(function (tgt) {
|
7950 |
+
return {
|
7951 |
+
start: constant(tgt),
|
7952 |
+
finish: constant(tgt)
|
7953 |
+
};
|
7954 |
+
});
|
7955 |
+
};
|
7956 |
+
var process = function (analysis) {
|
7957 |
+
return BeforeAfter.cata(analysis, function (message) {
|
7958 |
+
return Option.none();
|
7959 |
+
}, function () {
|
7960 |
+
return Option.none();
|
7961 |
+
}, function (cell) {
|
7962 |
+
return Option.some(point(cell, 0));
|
7963 |
+
}, function (cell) {
|
7964 |
+
return Option.some(point(cell, getEnd(cell)));
|
7965 |
+
});
|
7966 |
+
};
|
7967 |
+
var BrTags = {
|
7968 |
+
tryBr: tryBr,
|
7969 |
+
process: process
|
7970 |
+
};
|
7971 |
+
|
7972 |
+
var nu$3 = MixedBag([
|
7973 |
+
'left',
|
7974 |
+
'top',
|
7975 |
+
'right',
|
7976 |
+
'bottom'
|
7977 |
+
], []);
|
7978 |
+
var moveDown = function (caret, amount) {
|
7979 |
+
return nu$3({
|
7980 |
+
left: caret.left(),
|
7981 |
+
top: caret.top() + amount,
|
7982 |
+
right: caret.right(),
|
7983 |
+
bottom: caret.bottom() + amount
|
7984 |
+
});
|
7985 |
+
};
|
7986 |
+
var moveUp = function (caret, amount) {
|
7987 |
+
return nu$3({
|
7988 |
+
left: caret.left(),
|
7989 |
+
top: caret.top() - amount,
|
7990 |
+
right: caret.right(),
|
7991 |
+
bottom: caret.bottom() - amount
|
7992 |
+
});
|
7993 |
+
};
|
7994 |
+
var moveBottomTo = function (caret, bottom) {
|
7995 |
+
var height = caret.bottom() - caret.top();
|
7996 |
+
return nu$3({
|
7997 |
+
left: caret.left(),
|
7998 |
+
top: bottom - height,
|
7999 |
+
right: caret.right(),
|
8000 |
+
bottom: bottom
|
8001 |
+
});
|
8002 |
+
};
|
8003 |
+
var moveTopTo = function (caret, top) {
|
8004 |
+
var height = caret.bottom() - caret.top();
|
8005 |
+
return nu$3({
|
8006 |
+
left: caret.left(),
|
8007 |
+
top: top,
|
8008 |
+
right: caret.right(),
|
8009 |
+
bottom: top + height
|
8010 |
+
});
|
8011 |
+
};
|
8012 |
+
var translate = function (caret, xDelta, yDelta) {
|
8013 |
+
return nu$3({
|
8014 |
+
left: caret.left() + xDelta,
|
8015 |
+
top: caret.top() + yDelta,
|
8016 |
+
right: caret.right() + xDelta,
|
8017 |
+
bottom: caret.bottom() + yDelta
|
8018 |
+
});
|
8019 |
+
};
|
8020 |
+
var getTop$1 = function (caret) {
|
8021 |
+
return caret.top();
|
8022 |
+
};
|
8023 |
+
var getBottom = function (caret) {
|
8024 |
+
return caret.bottom();
|
8025 |
+
};
|
8026 |
+
var toString = function (caret) {
|
8027 |
+
return '(' + caret.left() + ', ' + caret.top() + ') -> (' + caret.right() + ', ' + caret.bottom() + ')';
|
8028 |
+
};
|
8029 |
+
var Carets = {
|
8030 |
+
nu: nu$3,
|
8031 |
+
moveUp: moveUp,
|
8032 |
+
moveDown: moveDown,
|
8033 |
+
moveBottomTo: moveBottomTo,
|
8034 |
+
moveTopTo: moveTopTo,
|
8035 |
+
getTop: getTop$1,
|
8036 |
+
getBottom: getBottom,
|
8037 |
+
translate: translate,
|
8038 |
+
toString: toString
|
8039 |
+
};
|
8040 |
+
|
8041 |
+
var getPartialBox = function (bridge, element, offset) {
|
8042 |
+
if (offset >= 0 && offset < getEnd(element)) {
|
8043 |
+
return bridge.getRangedRect(element, offset, element, offset + 1);
|
8044 |
+
} else if (offset > 0) {
|
8045 |
+
return bridge.getRangedRect(element, offset - 1, element, offset);
|
8046 |
+
}
|
8047 |
+
return Option.none();
|
8048 |
+
};
|
8049 |
+
var toCaret = function (rect) {
|
8050 |
+
return Carets.nu({
|
8051 |
+
left: rect.left,
|
8052 |
+
top: rect.top,
|
8053 |
+
right: rect.right,
|
8054 |
+
bottom: rect.bottom
|
8055 |
+
});
|
8056 |
+
};
|
8057 |
+
var getElemBox = function (bridge, element) {
|
8058 |
+
return Option.some(bridge.getRect(element));
|
8059 |
};
|
8060 |
+
var getBoxAt = function (bridge, element, offset) {
|
8061 |
+
if (isElement(element)) {
|
8062 |
+
return getElemBox(bridge, element).map(toCaret);
|
8063 |
+
} else if (isText(element)) {
|
8064 |
+
return getPartialBox(bridge, element, offset).map(toCaret);
|
8065 |
+
} else {
|
8066 |
+
return Option.none();
|
8067 |
+
}
|
8068 |
};
|
8069 |
+
var getEntireBox = function (bridge, element) {
|
8070 |
+
if (isElement(element)) {
|
8071 |
+
return getElemBox(bridge, element).map(toCaret);
|
8072 |
+
} else if (isText(element)) {
|
8073 |
+
return bridge.getRangedRect(element, 0, element, getEnd(element)).map(toCaret);
|
8074 |
+
} else {
|
8075 |
+
return Option.none();
|
8076 |
+
}
|
8077 |
};
|
8078 |
+
var Rectangles = {
|
8079 |
+
getBoxAt: getBoxAt,
|
8080 |
+
getEntireBox: getEntireBox
|
8081 |
};
|
8082 |
|
8083 |
var JUMP_SIZE = 5;
|
8084 |
var NUM_RETRIES = 100;
|
8085 |
+
var adt$6 = Adt.generate([
|
8086 |
+
{ none: [] },
|
8087 |
+
{ retry: ['caret'] }
|
8088 |
]);
|
8089 |
var isOutside = function (caret, box) {
|
8090 |
return caret.left() < box.left() || Math.abs(box.right() - caret.left()) < 1 || caret.left() > box.right();
|
8098 |
};
|
8099 |
var adjustDown = function (bridge, element, guessBox, original, caret) {
|
8100 |
var lowerCaret = Carets.moveDown(caret, JUMP_SIZE);
|
8101 |
+
if (Math.abs(guessBox.bottom() - original.bottom()) < 1) {
|
8102 |
+
return adt$6.retry(lowerCaret);
|
8103 |
+
} else if (guessBox.top() > caret.bottom()) {
|
8104 |
+
return adt$6.retry(lowerCaret);
|
8105 |
+
} else if (guessBox.top() === caret.bottom()) {
|
8106 |
+
return adt$6.retry(Carets.moveDown(caret, 1));
|
8107 |
+
} else {
|
8108 |
+
return inOutsideBlock(bridge, element, caret) ? adt$6.retry(Carets.translate(lowerCaret, JUMP_SIZE, 0)) : adt$6.none();
|
8109 |
+
}
|
8110 |
};
|
8111 |
var adjustUp = function (bridge, element, guessBox, original, caret) {
|
8112 |
var higherCaret = Carets.moveUp(caret, JUMP_SIZE);
|
8113 |
+
if (Math.abs(guessBox.top() - original.top()) < 1) {
|
8114 |
+
return adt$6.retry(higherCaret);
|
8115 |
+
} else if (guessBox.bottom() < caret.top()) {
|
8116 |
+
return adt$6.retry(higherCaret);
|
8117 |
+
} else if (guessBox.bottom() === caret.top()) {
|
8118 |
+
return adt$6.retry(Carets.moveUp(caret, 1));
|
8119 |
+
} else {
|
8120 |
+
return inOutsideBlock(bridge, element, caret) ? adt$6.retry(Carets.translate(higherCaret, JUMP_SIZE, 0)) : adt$6.none();
|
8121 |
+
}
|
8122 |
};
|
8123 |
var upMovement = {
|
8124 |
point: Carets.getTop,
|
8141 |
return adjustTil(bridge, movement, original, movement.move(caret, JUMP_SIZE), numRetries);
|
8142 |
};
|
8143 |
var adjustTil = function (bridge, movement, original, caret, numRetries) {
|
8144 |
+
if (numRetries === 0) {
|
8145 |
return Option.some(caret);
|
8146 |
+
}
|
8147 |
+
if (isAtTable(bridge, caret.left(), movement.point(caret))) {
|
8148 |
return adjustForTable(bridge, movement, original, caret, numRetries - 1);
|
8149 |
+
}
|
8150 |
return bridge.situsFromPoint(caret.left(), movement.point(caret)).bind(function (guess) {
|
8151 |
+
return guess.start().fold(Option.none, function (element) {
|
8152 |
+
return Rectangles.getEntireBox(bridge, element).bind(function (guessBox) {
|
8153 |
return movement.adjuster(bridge, element, guessBox, original, caret).fold(Option.none, function (newCaret) {
|
8154 |
return adjustTil(bridge, movement, original, newCaret, numRetries - 1);
|
8155 |
});
|
8166 |
return bridge.situsFromPoint(caret.left(), caret.top() - JUMP_SIZE);
|
8167 |
};
|
8168 |
var checkScroll = function (movement, adjusted, bridge) {
|
8169 |
+
if (movement.point(adjusted) > bridge.getInnerHeight()) {
|
8170 |
return Option.some(movement.point(adjusted) - bridge.getInnerHeight());
|
8171 |
+
} else if (movement.point(adjusted) < 0) {
|
8172 |
return Option.some(-movement.point(adjusted));
|
8173 |
+
} else {
|
8174 |
return Option.none();
|
8175 |
+
}
|
8176 |
};
|
8177 |
var retry = function (movement, bridge, caret) {
|
8178 |
var moved = movement.move(caret, JUMP_SIZE);
|
8192 |
getJumpSize: constant(JUMP_SIZE)
|
8193 |
};
|
8194 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8195 |
var MAX_RETRIES = 20;
|
8196 |
var platform$1 = PlatformDetection$1.detect();
|
8197 |
var findSpot = function (bridge, isRoot, direction) {
|
8206 |
});
|
8207 |
};
|
8208 |
var scan = function (bridge, isRoot, element, offset, direction, numRetries) {
|
8209 |
+
if (numRetries === 0) {
|
8210 |
return Option.none();
|
8211 |
+
}
|
8212 |
return tryCursor(bridge, isRoot, element, offset, direction).bind(function (situs) {
|
8213 |
var range = bridge.fromSitus(situs);
|
8214 |
var analysis = BeforeAfter.verify(bridge, element, offset, range.finish(), range.foffset(), direction.failure, isRoot);
|
8217 |
}, function () {
|
8218 |
return Option.some(situs);
|
8219 |
}, function (cell) {
|
8220 |
+
if (eq(element, cell) && offset === 0) {
|
8221 |
return tryAgain(bridge, element, offset, Carets.moveUp, direction);
|
8222 |
+
} else {
|
8223 |
return scan(bridge, isRoot, cell, 0, direction, numRetries - 1);
|
8224 |
+
}
|
8225 |
}, function (cell) {
|
8226 |
+
if (eq(element, cell) && offset === getEnd(cell)) {
|
8227 |
return tryAgain(bridge, element, offset, Carets.moveDown, direction);
|
8228 |
+
} else {
|
8229 |
return scan(bridge, isRoot, cell, getEnd(cell), direction, numRetries - 1);
|
8230 |
+
}
|
8231 |
});
|
8232 |
});
|
8233 |
};
|
8237 |
});
|
8238 |
};
|
8239 |
var tryAt = function (bridge, direction, box) {
|
8240 |
+
if (platform$1.browser.isChrome() || platform$1.browser.isSafari() || platform$1.browser.isFirefox() || platform$1.browser.isEdge()) {
|
8241 |
return direction.otherRetry(bridge, box);
|
8242 |
+
} else if (platform$1.browser.isIE()) {
|
8243 |
return direction.ieRetry(bridge, box);
|
8244 |
+
} else {
|
8245 |
return Option.none();
|
8246 |
+
}
|
8247 |
};
|
8248 |
var tryCursor = function (bridge, isRoot, element, offset, direction) {
|
8249 |
return Rectangles.getBoxAt(bridge, element, offset).bind(function (box) {
|
8257 |
};
|
8258 |
var TableKeys = { handle: handle$2 };
|
8259 |
|
|
|
|
|
|
|
|
|
8260 |
var detection = PlatformDetection$1.detect();
|
8261 |
var inSameTable = function (elem, table) {
|
8262 |
return ancestor$2(elem, function (e) {
|
8268 |
var simulate = function (bridge, isRoot, direction, initial, anchor) {
|
8269 |
return closest$1(initial, 'td,th', isRoot).bind(function (start) {
|
8270 |
return closest$1(start, 'table', isRoot).bind(function (table) {
|
8271 |
+
if (!inSameTable(anchor, table)) {
|
8272 |
return Option.none();
|
8273 |
+
}
|
8274 |
return TableKeys.handle(bridge, isRoot, direction).bind(function (range) {
|
8275 |
return closest$1(range.finish(), 'td,th', isRoot).map(function (finish) {
|
8276 |
return {
|
8290 |
return precheck(initial, isRoot).orThunk(function () {
|
8291 |
return simulate(bridge, isRoot, direction, initial, anchor).map(function (info) {
|
8292 |
var range = info.range();
|
8293 |
+
return Response.create(Option.some(Util.makeSitus(range.start(), range.soffset(), range.finish(), range.foffset())), true);
|
8294 |
});
|
8295 |
});
|
8296 |
}
|
8304 |
return last$1(element).isSome();
|
8305 |
}, isRoot).map(function (last) {
|
8306 |
var lastOffset = getEnd(last);
|
8307 |
+
return Response.create(Option.some(Util.makeSitus(last, lastOffset, last, lastOffset)), true);
|
8308 |
});
|
8309 |
} else {
|
8310 |
return Option.none();
|
8320 |
return seekRight$1(table, function (element) {
|
8321 |
return first(element).isSome();
|
8322 |
}, isRoot).map(function (first) {
|
8323 |
+
return Response.create(Option.some(Util.makeSitus(first, 0, first, 0)), true);
|
8324 |
});
|
8325 |
} else {
|
8326 |
return Option.none();
|
8366 |
});
|
8367 |
});
|
8368 |
};
|
8369 |
+
var mouseup = function (_event) {
|
8370 |
cursor.each(clearState);
|
8371 |
};
|
8372 |
return {
|
8376 |
};
|
8377 |
}
|
8378 |
|
8379 |
+
var down = {
|
8380 |
+
traverse: nextSibling,
|
8381 |
+
gather: after$5,
|
8382 |
+
relative: Situ.before,
|
8383 |
+
otherRetry: Retries.tryDown,
|
8384 |
+
ieRetry: Retries.ieTryDown,
|
8385 |
+
failure: BeforeAfter.failedDown
|
8386 |
+
};
|
8387 |
+
var up = {
|
8388 |
+
traverse: prevSibling,
|
8389 |
+
gather: before$4,
|
8390 |
+
relative: Situ.before,
|
8391 |
+
otherRetry: Retries.tryUp,
|
8392 |
+
ieRetry: Retries.ieTryUp,
|
8393 |
+
failure: BeforeAfter.failedUp
|
8394 |
+
};
|
8395 |
var KeyDirection = {
|
8396 |
+
down: down,
|
8397 |
+
up: up
|
8398 |
+
};
|
8399 |
+
|
8400 |
+
var isKey = function (key) {
|
8401 |
+
return function (keycode) {
|
8402 |
+
return keycode === key;
|
8403 |
+
};
|
8404 |
+
};
|
8405 |
+
var isUp = isKey(38);
|
8406 |
+
var isDown = isKey(40);
|
8407 |
+
var isNavigation = function (keycode) {
|
8408 |
+
return keycode >= 37 && keycode <= 40;
|
8409 |
+
};
|
8410 |
+
var SelectionKeys = {
|
8411 |
+
ltr: {
|
8412 |
+
isBackward: isKey(37),
|
8413 |
+
isForward: isKey(39)
|
8414 |
},
|
8415 |
+
rtl: {
|
8416 |
+
isBackward: isKey(39),
|
8417 |
+
isForward: isKey(37)
|
8418 |
+
},
|
8419 |
+
isUp: isUp,
|
8420 |
+
isDown: isDown,
|
8421 |
+
isNavigation: isNavigation
|
8422 |
+
};
|
8423 |
+
|
8424 |
+
var toRaw = function (sr) {
|
8425 |
+
return {
|
8426 |
+
left: sr.left(),
|
8427 |
+
top: sr.top(),
|
8428 |
+
right: sr.right(),
|
8429 |
+
bottom: sr.bottom(),
|
8430 |
+
width: sr.width(),
|
8431 |
+
height: sr.height()
|
8432 |
+
};
|
8433 |
+
};
|
8434 |
+
var Rect = { toRaw: toRaw };
|
8435 |
+
|
8436 |
+
var isSafari = PlatformDetection$1.detect().browser.isSafari();
|
8437 |
+
var get$a = function (_DOC) {
|
8438 |
+
var doc = _DOC !== undefined ? _DOC.dom() : domGlobals.document;
|
8439 |
+
var x = doc.body.scrollLeft || doc.documentElement.scrollLeft;
|
8440 |
+
var y = doc.body.scrollTop || doc.documentElement.scrollTop;
|
8441 |
+
return Position(x, y);
|
8442 |
+
};
|
8443 |
+
var by = function (x, y, _DOC) {
|
8444 |
+
var doc = _DOC !== undefined ? _DOC.dom() : domGlobals.document;
|
8445 |
+
var win = doc.defaultView;
|
8446 |
+
win.scrollBy(x, y);
|
8447 |
+
};
|
8448 |
+
|
8449 |
+
var WindowBridge = function (win) {
|
8450 |
+
var elementFromPoint = function (x, y) {
|
8451 |
+
return Element.fromPoint(Element.fromDom(win.document), x, y);
|
8452 |
+
};
|
8453 |
+
var getRect = function (element) {
|
8454 |
+
return element.dom().getBoundingClientRect();
|
8455 |
+
};
|
8456 |
+
var getRangedRect = function (start, soffset, finish, foffset) {
|
8457 |
+
var sel = Selection.exact(start, soffset, finish, foffset);
|
8458 |
+
return getFirstRect$1(win, sel).map(Rect.toRaw);
|
8459 |
+
};
|
8460 |
+
var getSelection = function () {
|
8461 |
+
return get$9(win).map(function (exactAdt) {
|
8462 |
+
return Util.convertToRange(win, exactAdt);
|
8463 |
+
});
|
8464 |
+
};
|
8465 |
+
var fromSitus = function (situs) {
|
8466 |
+
var relative = Selection.relative(situs.start(), situs.finish());
|
8467 |
+
return Util.convertToRange(win, relative);
|
8468 |
+
};
|
8469 |
+
var situsFromPoint = function (x, y) {
|
8470 |
+
return getAtPoint(win, x, y).map(function (exact) {
|
8471 |
+
return Situs.create(exact.start(), exact.soffset(), exact.finish(), exact.foffset());
|
8472 |
+
});
|
8473 |
+
};
|
8474 |
+
var clearSelection = function () {
|
8475 |
+
clear(win);
|
8476 |
+
};
|
8477 |
+
var selectContents = function (element) {
|
8478 |
+
setToElement(win, element);
|
8479 |
+
};
|
8480 |
+
var setSelection = function (sel) {
|
8481 |
+
setExact(win, sel.start(), sel.soffset(), sel.finish(), sel.foffset());
|
8482 |
+
};
|
8483 |
+
var setRelativeSelection = function (start, finish) {
|
8484 |
+
setRelative(win, start, finish);
|
8485 |
+
};
|
8486 |
+
var getInnerHeight = function () {
|
8487 |
+
return win.innerHeight;
|
8488 |
+
};
|
8489 |
+
var getScrollY = function () {
|
8490 |
+
var pos = get$a(Element.fromDom(win.document));
|
8491 |
+
return pos.top();
|
8492 |
+
};
|
8493 |
+
var scrollBy = function (x, y) {
|
8494 |
+
by(x, y, Element.fromDom(win.document));
|
8495 |
+
};
|
8496 |
+
return {
|
8497 |
+
elementFromPoint: elementFromPoint,
|
8498 |
+
getRect: getRect,
|
8499 |
+
getRangedRect: getRangedRect,
|
8500 |
+
getSelection: getSelection,
|
8501 |
+
fromSitus: fromSitus,
|
8502 |
+
situsFromPoint: situsFromPoint,
|
8503 |
+
clearSelection: clearSelection,
|
8504 |
+
setSelection: setSelection,
|
8505 |
+
setRelativeSelection: setRelativeSelection,
|
8506 |
+
selectContents: selectContents,
|
8507 |
+
getInnerHeight: getInnerHeight,
|
8508 |
+
getScrollY: getScrollY,
|
8509 |
+
scrollBy: scrollBy
|
8510 |
+
};
|
8511 |
};
|
8512 |
|
8513 |
var rc = Immutable('rows', 'cols');
|
8527 |
return Option.none();
|
8528 |
};
|
8529 |
var keydown = function (event, start, soffset, finish, foffset, direction) {
|
8530 |
+
var realEvent = event.raw();
|
8531 |
+
var keycode = realEvent.which;
|
8532 |
+
var shiftKey = realEvent.shiftKey === true;
|
8533 |
var handler = CellSelection.retrieve(container, annotations.selectedSelector()).fold(function () {
|
8534 |
if (SelectionKeys.isDown(keycode) && shiftKey) {
|
8535 |
return curry(VerticalMovement.select, bridge, container, isRoot, KeyDirection.down, finish, start, annotations.selectRange);
|
8553 |
var relative = SelectionKeys.isDown(keycode) || direction.isForward(keycode) ? Situ.after : Situ.before;
|
8554 |
bridge.setRelativeSelection(Situ.on(edges.first(), 0), relative(edges.table()));
|
8555 |
annotations.clear(container);
|
8556 |
+
return Response.create(Option.none(), true);
|
8557 |
});
|
8558 |
}, function (_) {
|
8559 |
+
return Option.some(Response.create(Option.none(), true));
|
8560 |
});
|
8561 |
};
|
8562 |
};
|
8563 |
+
if (SelectionKeys.isDown(keycode) && shiftKey) {
|
8564 |
return update([rc(+1, 0)]);
|
8565 |
+
} else if (SelectionKeys.isUp(keycode) && shiftKey) {
|
8566 |
return update([rc(-1, 0)]);
|
8567 |
+
} else if (direction.isBackward(keycode) && shiftKey) {
|
8568 |
return update([
|
8569 |
rc(0, -1),
|
8570 |
rc(-1, 0)
|
8571 |
]);
|
8572 |
+
} else if (direction.isForward(keycode) && shiftKey) {
|
8573 |
return update([
|
8574 |
rc(0, +1),
|
8575 |
rc(+1, 0)
|
8576 |
]);
|
8577 |
+
} else if (SelectionKeys.isNavigation(keycode) && shiftKey === false) {
|
8578 |
return clearToNavigate;
|
8579 |
+
} else {
|
8580 |
return Option.none;
|
8581 |
+
}
|
8582 |
});
|
8583 |
return handler();
|
8584 |
};
|
8585 |
var keyup = function (event, start, soffset, finish, foffset) {
|
8586 |
return CellSelection.retrieve(container, annotations.selectedSelector()).fold(function () {
|
8587 |
+
var realEvent = event.raw();
|
8588 |
+
var keycode = realEvent.which;
|
8589 |
+
var shiftKey = realEvent.shiftKey === true;
|
8590 |
+
if (shiftKey === false) {
|
8591 |
return Option.none();
|
8592 |
+
}
|
8593 |
+
if (SelectionKeys.isNavigation(keycode)) {
|
8594 |
return KeySelection.sync(container, isRoot, start, soffset, finish, foffset, annotations.selectRange);
|
8595 |
+
} else {
|
8596 |
return Option.none();
|
8597 |
+
}
|
8598 |
}, Option.none);
|
8599 |
};
|
8600 |
return {
|
8723 |
event.kill();
|
8724 |
}
|
8725 |
response.selection().each(function (ns) {
|
8726 |
+
var relative = Selection.relative(ns.start(), ns.finish());
|
8727 |
+
var rng = asLtrRange(win, relative);
|
8728 |
editor.selection.setRng(rng);
|
8729 |
});
|
8730 |
};
|
mce/table/plugin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(m){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),y=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t]},x=function(n,r){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n(r.apply(null,e))}},C=function(e){return function(){return e}},o=function(e){return e};function b(r){for(var o=[],e=1;e<arguments.length;e++)o[e-1]=arguments[e];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=o.concat(e);return r.apply(null,n)}}var t,n,r,i,u,g=function(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return!n.apply(null,e)}},c=function(e){return e()},a=C(!1),l=C(!0),f=a,s=l,d=function(){return h},h=(i={fold:function(e,t){return e()},is:f,isSome:f,isNone:s,getOr:r=function(e){return e},getOrThunk:n=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:r,orThunk:n,map:d,ap:d,each:function(){},bind:d,flatten:d,exists:f,forall:s,filter:d,equals:t=function(e){return e.isNone()},equals_:t,toArray:function(){return[]},toString:C("none()")},Object.freeze&&Object.freeze(i),i),p=function(n){var e=function(){return n},t=function(){return o},r=function(e){return e(n)},o={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:s,isNone:f,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:t,orThunk:t,map:function(e){return p(e(n))},ap:function(e){return e.fold(d,function(e){return p(e(n))})},each:function(e){e(n)},bind:r,flatten:e,exists:r,forall:r,filter:function(e){return e(n)?o:h},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(f,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return o},S={some:p,none:d,from:function(e){return null===e||e===undefined?h:p(e)}},v=function(t){return function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&Array.prototype.isPrototypeOf(e)?"array":"object"===t&&String.prototype.isPrototypeOf(e)?"string":t}(e)===t}},w=v("string"),R=v("array"),T=v("boolean"),D=v("function"),O=v("number"),N=(u=Array.prototype.indexOf)===undefined?function(e,t){return j(e,t)}:function(e,t){return u.call(e,t)},E=function(e,t){return-1<N(e,t)},A=function(e,t){return L(e,t).isSome()},k=function(e,t){for(var n=e.length,r=new Array(n),o=0;o<n;o++){var i=e[o];r[o]=t(i,o,e)}return r},P=function(e,t){for(var n=0,r=e.length;n<r;n++)t(e[n],n,e)},I=function(e,t){for(var n=[],r=0,o=e.length;r<o;r++){var i=e[r];t(i,r,e)&&n.push(i)}return n},B=function(e,t){if(0===e.length)return[];for(var n=t(e[0]),r=[],o=[],i=0,u=e.length;i<u;i++){var a=e[i],c=t(a);c!==n&&(r.push(o),o=[]),n=c,o.push(a)}return 0!==o.length&&r.push(o),r},W=function(e,t,n){return function(e,t){for(var n=e.length-1;0<=n;n--)t(e[n],n,e)}(e,function(e){n=t(n,e)}),n},M=function(e,t,n){return P(e,function(e){n=t(n,e)}),n},_=function(e,t){for(var n=0,r=e.length;n<r;n++){var o=e[n];if(t(o,n,e))return S.some(o)}return S.none()},L=function(e,t){for(var n=0,r=e.length;n<r;n++)if(t(e[n],n,e))return S.some(n);return S.none()},j=function(e,t){for(var n=0,r=e.length;n<r;++n)if(e[n]===t)return n;return-1},F=Array.prototype.push,z=function(e){for(var t=[],n=0,r=e.length;n<r;++n){if(!Array.prototype.isPrototypeOf(e[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+e);F.apply(t,e[n])}return t},H=function(e,t){var n=k(e,t);return z(n)},U=function(e,t){for(var n=0,r=e.length;n<r;++n)if(!0!==t(e[n],n,e))return!1;return!0},q=Array.prototype.slice,V=function(e){var t=q.call(e,0);return t.reverse(),t},G=function(e,t){var n=q.call(e,0);return n.sort(t),n},Y=(D(Array.from)&&Array.from,Object.keys),X=function(e,t){for(var n=Y(e),r=0,o=n.length;r<o;r++){var i=n[r];t(e[i],i,e)}},K=function(e,r){return J(e,function(e,t,n){return{k:t,v:r(e,t,n)}})},J=function(r,o){var i={};return X(r,function(e,t){var n=o(e,t,r);i[n.k]=n.v}),i},$=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];if(t.length!==n.length)throw new Error('Wrong number of arguments to struct. Expected "['+t.length+']", got '+n.length+" arguments");var r={};return P(t,function(e,t){r[e]=C(n[t])}),r}},Q=function(e){return e.slice(0).sort()},Z=function(e,t){throw new Error("All required keys ("+Q(e).join(", ")+") were not specified. Specified keys were: "+Q(t).join(", ")+".")},ee=function(e){throw new Error("Unsupported keys for object: "+Q(e).join(", "))},te=function(t,e){if(!R(e))throw new Error("The "+t+" fields must be an array. Was: "+e+".");P(e,function(e){if(!w(e))throw new Error("The value "+e+" in the "+t+" fields was not a string.")})},ne=function(e){var n=Q(e);_(n,function(e,t){return t<n.length-1&&e===n[t+1]}).each(function(e){throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+n.join(", ")+"].")})},re=function(o,i){var u=o.concat(i);if(0===u.length)throw new Error("You must specify at least one required or optional field.");return te("required",o),te("optional",i),ne(u),function(t){var n=Y(t);U(o,function(e){return E(n,e)})||Z(o,n);var e=I(n,function(e){return!E(u,e)});0<e.length&&ee(e);var r={};return P(o,function(e){r[e]=C(t[e])}),P(i,function(e){r[e]=C(Object.prototype.hasOwnProperty.call(t,e)?S.some(t[e]):S.none())}),r}},oe=(m.Node.ATTRIBUTE_NODE,m.Node.CDATA_SECTION_NODE,m.Node.COMMENT_NODE),ie=m.Node.DOCUMENT_NODE,ue=(m.Node.DOCUMENT_TYPE_NODE,m.Node.DOCUMENT_FRAGMENT_NODE,m.Node.ELEMENT_NODE),ae=m.Node.TEXT_NODE,ce=(m.Node.PROCESSING_INSTRUCTION_NODE,m.Node.ENTITY_REFERENCE_NODE,m.Node.ENTITY_NODE,m.Node.NOTATION_NODE,function(e){return e.dom().nodeName.toLowerCase()}),le=function(e){return e.dom().nodeType},fe=function(t){return function(e){return le(e)===t}},se=function(e){return le(e)===oe||"#comment"===ce(e)},de=fe(ue),me=fe(ae),ge=fe(ie),he=function(e,t,n){if(!(w(n)||T(n)||O(n)))throw m.console.error("Invalid call to Attr.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")},pe=function(e,t,n){he(e.dom(),t,n)},ve=function(e,t){var n=e.dom();X(t,function(e,t){he(n,t,e)})},be=function(e,t){var n=e.dom().getAttribute(t);return null===n?undefined:n},we=function(e,t){var n=e.dom();return!(!n||!n.hasAttribute)&&n.hasAttribute(t)},ye=function(e,t){e.dom().removeAttribute(t)},xe=function(e){return M(e.dom().attributes,function(e,t){return e[t.name]=t.value,e},{})},Ce=function(e,t){return-1!==e.indexOf(t)},Se=function(e){return e.style!==undefined},Re=function(n){var r,o=!1;return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o||(o=!0,r=n.apply(null,e)),r}},Te=function(e){if(null===e||e===undefined)throw new Error("Node cannot be null or undefined");return{dom:C(e)}},De={fromHtml:function(e,t){var n=(t||m.document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||1<n.childNodes.length)throw m.console.error("HTML does not have a single root node",e),new Error("HTML must have a single root node");return Te(n.childNodes[0])},fromTag:function(e,t){var n=(t||m.document).createElement(e);return Te(n)},fromText:function(e,t){var n=(t||m.document).createTextNode(e);return Te(n)},fromDom:Te,fromPoint:function(e,t,n){var r=e.dom();return S.from(r.elementFromPoint(t,n)).map(Te)}},Oe=function(e){var t=me(e)?e.dom().parentNode:e.dom();return t!==undefined&&null!==t&&t.ownerDocument.body.contains(t)},Ne=Re(function(){return Ee(De.fromDom(m.document))}),Ee=function(e){var t=e.dom().body;if(null===t||t===undefined)throw new Error("Body is not available yet");return De.fromDom(t)},Ae=function(e,t,n){if(!w(n))throw m.console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);Se(e)&&e.style.setProperty(t,n)},ke=function(e,t,n){var r=e.dom();Ae(r,t,n)},Pe=function(e,t){var n=e.dom();X(t,function(e,t){Ae(n,t,e)})},Ie=function(e,t){var n=e.dom(),r=m.window.getComputedStyle(n).getPropertyValue(t),o=""!==r||Oe(e)?r:Be(n,t);return null===o?undefined:o},Be=function(e,t){return Se(e)?e.style.getPropertyValue(t):""},We=function(e,t){var n=e.dom(),r=Be(n,t);return S.from(r).filter(function(e){return 0<e.length})},Me=function(e,t){var n,r,o=e.dom();r=t,Se(n=o)&&n.style.removeProperty(r),we(e,"style")&&""===be(e,"style").replace(/^\s+|\s+$/g,"")&&ye(e,"style")},_e="undefined"!=typeof m.window?m.window:Function("return this;")(),Le=function(e,t){return function(e,t){for(var n=t!==undefined&&null!==t?t:_e,r=0;r<e.length&&n!==undefined&&null!==n;++r)n=n[e[r]];return n}(e.split("."),t)},je=function(e,t){var n=Le(e,t);if(n===undefined||null===n)throw e+" not available on this browser";return n},Fe=function(){return je("Node")},ze=function(e,t,n){return 0!=(e.compareDocumentPosition(t)&n)},He=function(e,t){return ze(e,t,Fe().DOCUMENT_POSITION_CONTAINED_BY)},Ue=function(e,t){var n=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(r.test(t))return r}return undefined}(e,t);if(!n)return{major:0,minor:0};var r=function(e){return Number(t.replace(n,"$"+e))};return Ve(r(1),r(2))},qe=function(){return Ve(0,0)},Ve=function(e,t){return{major:e,minor:t}},Ge={nu:Ve,detect:function(e,t){var n=String(t).toLowerCase();return 0===e.length?qe():Ue(e,n)},unknown:qe},Ye="Firefox",Xe=function(e,t){return function(){return t===e}},Ke=function(e){var t=e.current;return{current:t,version:e.version,isEdge:Xe("Edge",t),isChrome:Xe("Chrome",t),isIE:Xe("IE",t),isOpera:Xe("Opera",t),isFirefox:Xe(Ye,t),isSafari:Xe("Safari",t)}},Je={unknown:function(){return Ke({current:undefined,version:Ge.unknown()})},nu:Ke,edge:C("Edge"),chrome:C("Chrome"),ie:C("IE"),opera:C("Opera"),firefox:C(Ye),safari:C("Safari")},$e="Windows",Qe="Android",Ze="Solaris",et="FreeBSD",tt=function(e,t){return function(){return t===e}},nt=function(e){var t=e.current;return{current:t,version:e.version,isWindows:tt($e,t),isiOS:tt("iOS",t),isAndroid:tt(Qe,t),isOSX:tt("OSX",t),isLinux:tt("Linux",t),isSolaris:tt(Ze,t),isFreeBSD:tt(et,t)}},rt={unknown:function(){return nt({current:undefined,version:Ge.unknown()})},nu:nt,windows:C($e),ios:C("iOS"),android:C(Qe),linux:C("Linux"),osx:C("OSX"),solaris:C(Ze),freebsd:C(et)},ot=function(e,t){var n=String(t).toLowerCase();return _(e,function(e){return e.search(n)})},it=function(e,n){return ot(e,n).map(function(e){var t=Ge.detect(e.versionRegexes,n);return{current:e.name,version:t}})},ut=function(e,n){return ot(e,n).map(function(e){var t=Ge.detect(e.versionRegexes,n);return{current:e.name,version:t}})},at=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,ct=function(t){return function(e){return Ce(e,t)}},lt=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(e){return Ce(e,"edge/")&&Ce(e,"chrome")&&Ce(e,"safari")&&Ce(e,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,at],search:function(e){return Ce(e,"chrome")&&!Ce(e,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(e){return Ce(e,"msie")||Ce(e,"trident")}},{name:"Opera",versionRegexes:[at,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:ct("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:ct("firefox")},{name:"Safari",versionRegexes:[at,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(e){return(Ce(e,"safari")||Ce(e,"mobile/"))&&Ce(e,"applewebkit")}}],ft=[{name:"Windows",search:ct("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(e){return Ce(e,"iphone")||Ce(e,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:ct("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:ct("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:ct("linux"),versionRegexes:[]},{name:"Solaris",search:ct("sunos"),versionRegexes:[]},{name:"FreeBSD",search:ct("freebsd"),versionRegexes:[]}],st={browsers:C(lt),oses:C(ft)},dt=function(e){var t,n,r,o,i,u,a,c,l,f,s,d=st.browsers(),m=st.oses(),g=it(d,e).fold(Je.unknown,Je.nu),h=ut(m,e).fold(rt.unknown,rt.nu);return{browser:g,os:h,deviceType:(n=g,r=e,o=(t=h).isiOS()&&!0===/ipad/i.test(r),i=t.isiOS()&&!o,u=t.isAndroid()&&3===t.version.major,a=t.isAndroid()&&4===t.version.major,c=o||u||a&&!0===/mobile/i.test(r),l=t.isiOS()||t.isAndroid(),f=l&&!c,s=n.isSafari()&&t.isiOS()&&!1===/safari/i.test(r),{isiPad:C(o),isiPhone:C(i),isTablet:C(c),isPhone:C(f),isTouch:C(l),isAndroid:t.isAndroid,isiOS:t.isiOS,isWebView:C(s)})}},mt={detect:Re(function(){var e=m.navigator.userAgent;return dt(e)})},gt=ue,ht=ie,pt=function(e,t){var n=e.dom();if(n.nodeType!==gt)return!1;if(n.matches!==undefined)return n.matches(t);if(n.msMatchesSelector!==undefined)return n.msMatchesSelector(t);if(n.webkitMatchesSelector!==undefined)return n.webkitMatchesSelector(t);if(n.mozMatchesSelector!==undefined)return n.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")},vt=function(e){return e.nodeType!==gt&&e.nodeType!==ht||0===e.childElementCount},bt=function(e,t){return e.dom()===t.dom()},wt=mt.detect().browser.isIE()?function(e,t){return He(e.dom(),t.dom())}:function(e,t){var n=e.dom(),r=t.dom();return n!==r&&n.contains(r)},yt=pt,xt=function(e){return De.fromDom(e.dom().ownerDocument)},Ct=function(e){var t=e.dom();return S.from(t.parentNode).map(De.fromDom)},St=function(e,t){for(var n=D(t)?t:C(!1),r=e.dom(),o=[];null!==r.parentNode&&r.parentNode!==undefined;){var i=r.parentNode,u=De.fromDom(i);if(o.push(u),!0===n(u))break;r=i}return o},Rt=function(e){var t=e.dom();return S.from(t.previousSibling).map(De.fromDom)},Tt=function(e){var t=e.dom();return S.from(t.nextSibling).map(De.fromDom)},Dt=function(e){var t=e.dom();return k(t.childNodes,De.fromDom)},Ot=function(e,t){var n=e.dom().childNodes;return S.from(n[t]).map(De.fromDom)},Nt=($("element","offset"),function(t,n){Ct(t).each(function(e){e.dom().insertBefore(n.dom(),t.dom())})}),Et=function(e,t){Tt(e).fold(function(){Ct(e).each(function(e){kt(e,t)})},function(e){Nt(e,t)})},At=function(t,n){Ot(t,0).fold(function(){kt(t,n)},function(e){t.dom().insertBefore(n.dom(),e.dom())})},kt=function(e,t){e.dom().appendChild(t.dom())},Pt=function(e,t){Nt(e,t),kt(t,e)},It=function(r,o){P(o,function(e,t){var n=0===t?r:o[t-1];Et(n,e)})},Bt=function(t,e){P(e,function(e){kt(t,e)})},Wt=function(e){e.dom().textContent="",P(Dt(e),function(e){Mt(e)})},Mt=function(e){var t=e.dom();null!==t.parentNode&&t.parentNode.removeChild(t)},_t=function(e){var t,n=Dt(e);0<n.length&&(t=e,P(n,function(e){Nt(t,e)})),Mt(e)},Lt=$("width","height"),jt=$("rows","columns"),Ft=$("row","column"),zt=$("x","y"),Ht=$("element","rowspan","colspan"),Ut=$("element","rowspan","colspan","isNew"),qt={dimensions:Lt,grid:jt,address:Ft,coords:zt,extended:$("element","rowspan","colspan","row","column"),detail:Ht,detailnew:Ut,rowdata:$("element","cells","section"),elementnew:$("element","isNew"),rowdatanew:$("element","cells","section","isNew"),rowcells:$("cells","section"),rowdetails:$("details","section"),bounds:$("startRow","startCol","finishRow","finishCol")},Vt=function(e,t){var n=[];return P(Dt(e),function(e){t(e)&&(n=n.concat([e])),n=n.concat(Vt(e,t))}),n},Gt=function(e,t,n){return r=function(e){return pt(e,t)},I(St(e,n),r);var r},Yt=function(e,t){return n=function(e){return pt(e,t)},I(Dt(e),n);var n},Xt=function(e,t){return n=t,o=(r=e)===undefined?m.document:r.dom(),vt(o)?[]:k(o.querySelectorAll(n),De.fromDom);var n,r,o};function Kt(e,t,n,r,o){return e(n,r)?S.some(n):D(o)&&o(n)?S.none():t(n,r,o)}var Jt,$t,Qt,Zt,en,tn=function(e,t,n){for(var r=e.dom(),o=D(n)?n:C(!1);r.parentNode;){r=r.parentNode;var i=De.fromDom(r);if(t(i))return S.some(i);if(o(i))break}return S.none()},nn=function(e,t,n){return tn(e,function(e){return pt(e,t)},n)},rn=function(e,t){return n=function(e){return pt(e,t)},_(e.dom().childNodes,x(n,De.fromDom)).map(De.fromDom);var n},on=function(e,t){return n=t,o=(r=e)===undefined?m.document:r.dom(),vt(o)?S.none():S.from(o.querySelector(n)).map(De.fromDom);var n,r,o},un=function(e,t,n){return Kt(pt,nn,e,t,n)},an=function(e,t,n){return H(Dt(e),function(e){return pt(e,t)?n(e)?[e]:[]:an(e,t,n)})},cn={firstLayer:function(e,t){return an(e,t,C(!0))},filterFirstLayer:an},ln=function(e,t,n){var r=n!==undefined?n:C(!1);return r(t)?S.none():E(e,ce(t))?S.some(t):nn(t,e.join(","),function(e){return pt(e,"table")||r(e)})},fn=function(t,e){return Ct(e).map(function(e){return Yt(e,t)})},sn=b(fn,"th,td"),dn=b(fn,"tr"),mn=function(e,t){return parseInt(be(e,t),10)},gn={cell:function(e,t){return ln(["td","th"],e,t)},firstCell:function(e){return on(e,"th,td")},cells:function(e){return cn.firstLayer(e,"th,td")},neighbourCells:sn,table:function(e,t){return un(e,"table",t)},row:function(e,t){return ln(["tr"],e,t)},rows:function(e){return cn.firstLayer(e,"tr")},notCell:function(e,t){return ln(["caption","tr","tbody","tfoot","thead"],e,t)},neighbourRows:dn,attr:mn,grid:function(e,t,n){var r=mn(e,t),o=mn(e,n);return qt.grid(r,o)}},hn=function(e){var t=gn.rows(e);return k(t,function(e){var t=e,n=Ct(t).map(function(e){var t=ce(e);return"tfoot"===t||"thead"===t||"tbody"===t?t:"tbody"}).getOr("tbody"),r=k(gn.cells(e),function(e){var t=we(e,"rowspan")?parseInt(be(e,"rowspan"),10):1,n=we(e,"colspan")?parseInt(be(e,"colspan"),10):1;return qt.detail(e,t,n)});return qt.rowdata(t,r,n)})},pn=function(e,n){return k(e,function(e){var t=k(gn.cells(e),function(e){var t=we(e,"rowspan")?parseInt(be(e,"rowspan"),10):1,n=we(e,"colspan")?parseInt(be(e,"colspan"),10):1;return qt.detail(e,t,n)});return qt.rowdata(e,t,n.section())})},vn=function(e,t){return e+","+t},bn=function(e,t){var n=H(e.all(),function(e){return e.cells()});return I(n,t)},wn={generate:function(e){var f={},t=[],n=e.length,s=0;P(e,function(e,c){var l=[];P(e.cells(),function(e,t){for(var n=0;f[vn(c,n)]!==undefined;)n++;for(var r=qt.extended(e.element(),e.rowspan(),e.colspan(),c,n),o=0;o<e.colspan();o++)for(var i=0;i<e.rowspan();i++){var u=n+o,a=vn(c+i,u);f[a]=r,s=Math.max(s,u+1)}l.push(r)}),t.push(qt.rowdata(e.element(),l,e.section()))});var r=qt.grid(n,s);return{grid:C(r),access:C(f),all:C(t)}},getAt:function(e,t,n){var r=e.access()[vn(t,n)];return r!==undefined?S.some(r):S.none()},findItem:function(e,t,n){var r=bn(e,function(e){return n(t,e.element())});return 0<r.length?S.some(r[0]):S.none()},filterItems:bn,justCells:function(e){var t=k(e.all(),function(e){return e.cells()});return z(t)}},yn=$("minRow","minCol","maxRow","maxCol"),xn=function(e,t){var n,i,r,u,a,c,l,o,f,s,d=function(e){return pt(e.element(),t)},m=hn(e),g=wn.generate(m),h=(i=d,r=(n=g).grid().columns(),u=n.grid().rows(),a=r,l=c=0,X(n.access(),function(e){if(i(e)){var t=e.row(),n=t+e.rowspan()-1,r=e.column(),o=r+e.colspan()-1;t<u?u=t:c<n&&(c=n),r<a?a=r:l<o&&(l=o)}}),yn(u,a,c,l)),p="th:not("+t+"),td:not("+t+")",v=cn.filterFirstLayer(e,"th,td",function(e){return pt(e,p)});return P(v,Mt),function(e,t,n,r){for(var o,i,u,a=t.grid().columns(),c=t.grid().rows(),l=0;l<c;l++)for(var f=!1,s=0;s<a;s++)l<n.minRow()||l>n.maxRow()||s<n.minCol()||s>n.maxCol()||(wn.getAt(t,l,s).filter(r).isNone()?(o=f,i=e[l].element(),u=De.fromTag("td"),kt(u,De.fromTag("br")),(o?kt:At)(i,u)):f=!0)}(m,g,h,d),o=e,f=h,s=I(cn.firstLayer(o,"tr"),function(e){return 0===e.dom().childElementCount}),P(s,Mt),f.minCol()!==f.maxCol()&&f.minRow()!==f.maxRow()||P(cn.firstLayer(o,"th,td"),function(e){ye(e,"rowspan"),ye(e,"colspan")}),ye(o,"width"),ye(o,"height"),Me(o,"width"),Me(o,"height"),e},Cn=(Jt=me,$t="text",Qt=function(e){return Jt(e)?S.from(e.dom().nodeValue):S.none()},Zt=mt.detect().browser,{get:function(e){if(!Jt(e))throw new Error("Can only get "+$t+" value of a "+$t+" node");return en(e).getOr("")},getOption:en=Zt.isIE()&&10===Zt.version.major?function(e){try{return Qt(e)}catch(t){return S.none()}}:Qt,set:function(e,t){if(!Jt(e))throw new Error("Can only set raw "+$t+" value of a "+$t+" node");e.dom().nodeValue=t}}),Sn=function(e){return Cn.get(e)},Rn=function(e){return Cn.getOption(e)},Tn=function(e,t){Cn.set(e,t)},Dn=function(e){return"img"===ce(e)?1:Rn(e).fold(function(){return Dt(e).length},function(e){return e.length})},On=["img","br"],Nn=function(e){return Rn(e).filter(function(e){return 0!==e.trim().length||-1<e.indexOf("\xa0")}).isSome()||E(On,ce(e))},En=function(e){return r=Nn,(o=function(e){for(var t=0;t<e.childNodes.length;t++){if(r(De.fromDom(e.childNodes[t])))return S.some(De.fromDom(e.childNodes[t]));var n=o(e.childNodes[t]);if(n.isSome())return n}return S.none()})(e.dom());var r,o},An=function(e){return kn(e,Nn)},kn=function(e,i){var u=function(e){for(var t=Dt(e),n=t.length-1;0<=n;n--){var r=t[n];if(i(r))return S.some(r);var o=u(r);if(o.isSome())return o}return S.none()};return u(e)},Pn=function(e,t){return De.fromDom(e.dom().cloneNode(t))},In=function(e){return Pn(e,!1)},Bn=function(e){return Pn(e,!0)},Wn=function(e,t){var n,r,o,i,u=(n=e,r=t,o=De.fromTag(r),i=xe(n),ve(o,i),o),a=Dt(Bn(e));return Bt(u,a),u},Mn=function(){var e=De.fromTag("td");return kt(e,De.fromTag("br")),e},_n=function(e,t,n){var r=Wn(e,t);return X(n,function(e,t){null===e?ye(r,t):pe(r,t,e)}),r},Ln=function(e){return e},jn=function(e){return function(){return De.fromTag("tr",e.dom())}},Fn=function(d,e,m){return{row:jn(e),cell:function(e){var r,o,i,t,n,u,a,c=xt(e.element()),l=De.fromTag(ce(e.element()),c.dom()),f=m.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),s=0<f.length?(r=e.element(),o=l,i=f,En(r).map(function(e){var t=i.join(","),n=Gt(e,t,function(e){return bt(e,r)});return W(n,function(e,t){var n=In(t);return ye(n,"contenteditable"),kt(e,n),n},o)}).getOr(o)):l;return kt(s,De.fromTag("br")),t=e.element(),n=l,u=t.dom(),a=n.dom(),Se(u)&&Se(a)&&(a.style.cssText=u.style.cssText),Me(l,"height"),1!==e.colspan()&&Me(e.element(),"width"),d(e.element(),l),l},replace:_n,gap:Mn}},zn=function(e){return{row:jn(e),cell:Mn,replace:Ln,gap:Mn}},Hn=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"];function Un(){return{up:C({selector:nn,closest:un,predicate:tn,all:St}),down:C({selector:Xt,predicate:Vt}),styles:C({get:Ie,getRaw:We,set:ke,remove:Me}),attrs:C({get:be,set:pe,remove:ye,copyTo:function(e,t){var n=xe(e);ve(t,n)}}),insert:C({before:Nt,after:Et,afterAll:It,append:kt,appendAll:Bt,prepend:At,wrap:Pt}),remove:C({unwrap:_t,remove:Mt}),create:C({nu:De.fromTag,clone:function(e){return De.fromDom(e.dom().cloneNode(!1))},text:De.fromText}),query:C({comparePosition:function(e,t){return e.dom().compareDocumentPosition(t.dom())},prevSibling:Rt,nextSibling:Tt}),property:C({children:Dt,name:ce,parent:Ct,document:function(e){return e.dom().ownerDocument},isText:me,isComment:se,isElement:de,getText:Sn,setText:Tn,isBoundary:function(e){return!!de(e)&&("body"===ce(e)||E(Hn,ce(e)))},isEmptyTag:function(e){return!!de(e)&&E(["br","img","hr","input"],ce(e))}}),eq:bt,is:yt}}var qn=$("left","right"),Vn=function(e,t,n){var r=e.property().children(t);return L(r,b(e.eq,n)).map(function(e){return{before:C(r.slice(0,e)),after:C(r.slice(e+1))}})},Gn=function(n,r,o){return Vn(n,r,o).map(function(e){var t=n.create().clone(r);return n.insert().appendAll(t,e.before().concat([o])),n.insert().appendAll(r,e.after()),n.insert().before(r,t),qn(t,r)})},Yn=function(n,r,e){return Vn(n,r,e).map(function(e){var t=n.create().clone(r);return n.insert().appendAll(t,e.after()),n.insert().after(r,t),qn(r,t)})},Xn=function(i,e,u,a){var r=$("first","second","splits"),c=function(e,t,o){var n=r(e,S.none(),o);return u(e)?r(e,t,o):i.property().parent(e).bind(function(r){return a(i,r,e).map(function(e){var t=[{first:e.left,second:e.right}],n=u(r)?r:e.left();return c(n,S.some(e.right()),o.concat(t))}).getOr(n)})};return c(e,S.none(),[])},Kn=function(r,o,e,t){var n=o(r,e);return W(t,function(e,t){var n=o(r,t);return Jn(r,e,n)},n)},Jn=function(t,e,n){return e.bind(function(e){return n.filter(b(t.eq,e))})},$n=function(e,t,n){return 0<n.length?Kn(e,t,(r=n)[0],r.slice(1)):S.none();var r},Qn=function(e,t){return b(e.eq,t)},Zn=function(t,e,n,r){var o=r!==undefined?r:C(!1),i=[e].concat(t.up().all(e)),u=[n].concat(t.up().all(n)),a=function(t){return L(t,o).fold(function(){return t},function(e){return t.slice(0,e+1)})},c=a(i),l=a(u),f=_(c,function(e){return A(l,Qn(t,e))});return{firstpath:C(c),secondpath:C(l),shared:C(f)}},er=function(t,e,n){var r=Zn(t,e,n);return r.shared().bind(function(e){return function(o,i,e,t){var u=o.property().children(i);if(o.eq(i,e[0]))return S.some([e[0]]);if(o.eq(i,t[0]))return S.some([t[0]]);var n=function(e){var t=V(e),n=L(t,Qn(o,i)).getOr(-1),r=n<t.length-1?t[n+1]:t[n];return L(u,Qn(o,r))},r=n(e),a=n(t);return r.bind(function(r){return a.map(function(e){var t=Math.min(r,e),n=Math.max(r,e);return u.slice(t,n+1)})})}(t,e,r.firstpath(),r.secondpath())})},tr=Zn,nr=function(e,t,n){return $n(e,t,n)},rr=function(e,t,n){return er(e,t,n)},or=function(e,t,n,r){return tr(e,t,n,r)},ir=function(e,t,n){return Gn(e,t,n)},ur=function(e,t,n){return Yn(e,t,n)},ar=function(e,t,n,r){return Xn(e,t,n,r)},cr=Un(),lr={sharedOne:function(n,e){return nr(cr,function(e,t){return n(t)},e)},subset:function(e,t){return rr(cr,e,t)},ancestors:function(e,t,n){return or(cr,e,t,n)},breakToLeft:function(e,t){return ir(cr,e,t)},breakToRight:function(e,t){return ur(cr,e,t)},breakPath:function(e,t,r){return ar(cr,e,t,function(e,t,n){return r(t,n)})}},fr=function(e,t){return t.column()>=e.startCol()&&t.column()+t.colspan()-1<=e.finishCol()&&t.row()>=e.startRow()&&t.row()+t.rowspan()-1<=e.finishRow()},sr=function(e,t){var n=t.column(),r=t.column()+t.colspan()-1,o=t.row(),i=t.row()+t.rowspan()-1;return n<=e.finishCol()&&r>=e.startCol()&&o<=e.finishRow()&&i>=e.startRow()},dr=function(e,t){for(var n=!0,r=b(fr,t),o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)n=n&&wn.getAt(e,o,i).exists(r);return n?S.some(t):S.none()},mr=function(e,t,n){var r=wn.findItem(e,t,bt),o=wn.findItem(e,n,bt);return r.bind(function(r){return o.map(function(e){return t=r,n=e,qt.bounds(Math.min(t.row(),n.row()),Math.min(t.column(),n.column()),Math.max(t.row()+t.rowspan()-1,n.row()+n.rowspan()-1),Math.max(t.column()+t.colspan()-1,n.column()+n.colspan()-1));var t,n})})},gr=mr,hr=function(t,e,n){return mr(t,e,n).bind(function(e){return dr(t,e)})},pr=function(r,e,o,i){return wn.findItem(r,e,bt).bind(function(e){var t=0<o?e.row()+e.rowspan()-1:e.row(),n=0<i?e.column()+e.colspan()-1:e.column();return wn.getAt(r,t+o,n+i).map(function(e){return e.element()})})},vr=function(n,e,t){return gr(n,e,t).map(function(e){var t=wn.filterItems(n,b(sr,e));return k(t,function(e){return e.element()})})},br=function(e,t){return wn.findItem(e,t,function(e,t){return wt(t,e)}).bind(function(e){return e.element()})},wr=function(e){var t=hn(e);return wn.generate(t)},yr=function(n,r,o){return gn.table(n).bind(function(e){var t=wr(e);return pr(t,n,r,o)})},xr=function(e,t,n){var r=wr(e);return vr(r,t,n)},Cr=function(e,t,n,r,o){var i=wr(e),u=bt(e,n)?t:br(i,t),a=bt(e,o)?r:br(i,r);return vr(i,u,a)},Sr=function(e,t,n){var r=wr(e);return hr(r,t,n)},Rr=function(e,t){return nn(e,"table")},Tr=re(["boxes","start","finish"],[]),Dr=function(a,c,r){var l=function(t){return function(e){return r(e)||bt(e,t)}};return bt(a,c)?S.some(Tr({boxes:S.some([a]),start:a,finish:c})):Rr(a).bind(function(u){return Rr(c).bind(function(i){if(bt(u,i))return S.some(Tr({boxes:xr(u,a,c),start:a,finish:c}));if(wt(u,i)){var e=0<(t=Gt(c,"td,th",l(u))).length?t[t.length-1]:c;return S.some(Tr({boxes:Cr(u,a,u,c,i),start:a,finish:e}))}if(wt(i,u)){var t,n=0<(t=Gt(a,"td,th",l(i))).length?t[t.length-1]:a;return S.some(Tr({boxes:Cr(i,a,u,c,i),start:a,finish:n}))}return lr.ancestors(a,c).shared().bind(function(e){return un(e,"table",r).bind(function(e){var t=Gt(c,"td,th",l(e)),n=0<t.length?t[t.length-1]:c,r=Gt(a,"td,th",l(e)),o=0<r.length?r[r.length-1]:a;return S.some(Tr({boxes:Cr(e,a,u,c,i),start:o,finish:n}))})})})})},Or=Dr,Nr=function(e,t){var n=Xt(e,t);return 0<n.length?S.some(n):S.none()},Er=function(e,t,n,r,o){return(i=e,u=o,_(i,function(e){return pt(e,u)})).bind(function(e){return yr(e,t,n).bind(function(e){return n=r,nn(t=e,"table").bind(function(e){return on(e,n).bind(function(e){return Dr(e,t).bind(function(t){return t.boxes().map(function(e){return{boxes:C(e),start:C(t.start()),finish:C(t.finish())}})})})});var t,n})});var i,u},Ar=function(e,t,r){return on(e,t).bind(function(n){return on(e,r).bind(function(t){return lr.sharedOne(Rr,[n,t]).map(function(e){return{first:C(n),last:C(t),table:C(e)}})})})},kr=function(e,t){return Nr(e,t)},Pr=function(o,e,t){return Ar(o,e,t).bind(function(n){var e=function(e){return bt(o,e)},t=nn(n.first(),"thead,tfoot,tbody,table",e),r=nn(n.last(),"thead,tfoot,tbody,table",e);return t.bind(function(t){return r.bind(function(e){return bt(t,e)?Sr(n.table(),n.first(),n.last()):S.none()})})})},Ir="data-mce-selected",Br="data-mce-first-selected",Wr="data-mce-last-selected",Mr={selected:C(Ir),selectedSelector:C("td[data-mce-selected],th[data-mce-selected]"),attributeSelector:C("[data-mce-selected]"),firstSelected:C(Br),firstSelectedSelector:C("td[data-mce-first-selected],th[data-mce-first-selected]"),lastSelected:C(Wr),lastSelectedSelector:C("td[data-mce-last-selected],th[data-mce-last-selected]")},_r=function(u){if(!R(u))throw new Error("cases must be an array");if(0===u.length)throw new Error("there must be at least one case");var a=[],n={};return P(u,function(e,r){var t=Y(e);if(1!==t.length)throw new Error("one and only one name per case");var o=t[0],i=e[o];if(n[o]!==undefined)throw new Error("duplicate key detected:"+o);if("cata"===o)throw new Error("cannot have a case named cata (sorry)");if(!R(i))throw new Error("case arguments must be an array");a.push(o),n[o]=function(){var e=arguments.length;if(e!==i.length)throw new Error("Wrong number of arguments to case "+o+". Expected "+i.length+" ("+i+"), got "+e);for(var n=new Array(e),t=0;t<n.length;t++)n[t]=arguments[t];return{fold:function(){if(arguments.length!==u.length)throw new Error("Wrong number of arguments to fold. Expected "+u.length+", got "+arguments.length);return arguments[r].apply(null,n)},match:function(e){var t=Y(e);if(a.length!==t.length)throw new Error("Wrong number of arguments to match. Expected: "+a.join(",")+"\nActual: "+t.join(","));if(!U(a,function(e){return E(t,e)}))throw new Error("Not all branches were specified when using match. Specified: "+t.join(", ")+"\nRequired: "+a.join(", "));return e[o].apply(null,n)},log:function(e){m.console.log(e,{constructors:a,constructor:o,params:n})}}}}),n},Lr=_r([{none:[]},{multiple:["elements"]},{single:["selection"]}]),jr={cata:function(e,t,n,r){return e.fold(t,n,r)},none:Lr.none,multiple:Lr.multiple,single:Lr.single},Fr=function(e,t){return jr.cata(t.get(),C([]),o,C([e]))},zr=function(n,e){return jr.cata(e.get(),S.none,function(t,e){return 0===t.length?S.none():Pr(n,Mr.firstSelectedSelector(),Mr.lastSelectedSelector()).bind(function(e){return 1<t.length?S.some({bounds:C(e),cells:C(t)}):S.none()})},S.none)},Hr=function(e,t){var n=Fr(e,t);return 0<n.length&&U(n,function(e){return we(e,"rowspan")&&1<parseInt(be(e,"rowspan"),10)||we(e,"colspan")&&1<parseInt(be(e,"colspan"),10)})?S.some(n):S.none()},Ur=Fr,qr=function(e){return{element:C(e),mergable:S.none,unmergable:S.none,selection:C([e])}},Vr=$("element","clipboard","generators"),Gr={noMenu:qr,forMenu:function(e,t,n){return{element:C(n),mergable:C(zr(t,e)),unmergable:C(Hr(n,e)),selection:C(Ur(n,e))}},notCell:function(e){return qr(e)},paste:Vr,pasteRows:function(e,t,n,r,o){return{element:C(n),mergable:S.none,unmergable:S.none,selection:C(Ur(n,e)),clipboard:C(r),generators:C(o)}}},Yr=function(f,e,s,d){f.on("BeforeGetContent",function(n){!0===n.selection&&jr.cata(e.get(),y,function(e){var t;n.preventDefault(),(t=e,gn.table(t[0]).map(Bn).map(function(e){return[xn(e,Mr.attributeSelector())]})).each(function(e){var t;n.content="text"===n.format?k(e,function(e){return e.dom().innerText}).join(""):(t=f,k(e,function(e){return t.selection.serializer.serialize(e.dom(),{})}).join(""))})},y)}),f.on("BeforeSetContent",function(l){!0===l.selection&&!0===l.paste&&S.from(f.dom.getParent(f.selection.getStart(),"th,td")).each(function(e){var c=De.fromDom(e);gn.table(c).each(function(t){var e,n,r,o=I((e=l.content,(r=(n||m.document).createElement("div")).innerHTML=e,Dt(De.fromDom(r))),function(e){return"meta"!==ce(e)});if(1===o.length&&"table"===ce(o[0])){l.preventDefault();var i=De.fromDom(f.getDoc()),u=zn(i),a=Gr.paste(c,o[0],u);s.pasteCells(t,a).each(function(e){f.selection.setRng(e),f.focus(),d.clear(t)})}})})})};function Xr(r,o){var e=function(e){var t=o(e);if(t<=0||null===t){var n=Ie(e,r);return parseFloat(n)||0}return t},i=function(o,e){return M(e,function(e,t){var n=Ie(o,t),r=n===undefined?0:parseInt(n,10);return isNaN(r)?e:e+r},0)};return{set:function(e,t){if(!O(t)&&!t.match(/^[0-9]+$/))throw new Error(r+".set accepts only positive integer values. Value was "+t);var n=e.dom();Se(n)&&(n.style[r]=t+"px")},get:e,getOuter:e,aggregate:i,max:function(e,t,n){var r=i(e,n);return r<t?t-r:0}}}var Kr=Xr("height",function(e){var t=e.dom();return Oe(e)?t.getBoundingClientRect().height:t.offsetHeight}),Jr=function(e){return Kr.get(e)},$r=function(e){return Kr.getOuter(e)},Qr=Xr("width",function(e){return e.dom().offsetWidth}),Zr=function(e){return Qr.get(e)},eo=function(e){return Qr.getOuter(e)},to=mt.detect(),no=function(e,t,n){return r=Ie(e,t),o=n,i=parseFloat(r),isNaN(i)?o:i;var r,o,i},ro=function(e){return to.browser.isIE()||to.browser.isEdge()?(n=no(t=e,"padding-top",0),r=no(t,"padding-bottom",0),o=no(t,"border-top-width",0),i=no(t,"border-bottom-width",0),u=t.dom().getBoundingClientRect().height,"border-box"===Ie(t,"box-sizing")?u:u-n-r-(o+i)):no(e,"height",Jr(e));var t,n,r,o,i,u},oo=/(\d+(\.\d+)?)(\w|%)*/,io=/(\d+(\.\d+)?)%/,uo=/(\d+(\.\d+)?)px|em/,ao=function(e,t){ke(e,"height",t+"px")},co=function(e,t,n,r){var o,i,u,a,c,l,f,s,d,m=parseInt(e,10);return s=l="%",d=(f=e).length-l.length,""!==s&&(f.length<s.length||f.substr(d,d+s.length)!==s)||"table"===ce(t)?m:(o=t,i=m,u=n,a=r,c=gn.table(o).map(function(e){var t=u(e);return Math.floor(i/100*t)}).getOr(i),a(o,c),c)},lo=function(e){var t,n=We(t=e,"height").getOrThunk(function(){return ro(t)+"px"});return n?co(n,e,Jr,ao):Jr(e)},fo=function(e,t){return we(e,t)?parseInt(be(e,t),10):1},so=function(e){return We(e,"width").fold(function(){return S.from(be(e,"width"))},function(e){return S.some(e)})},mo=function(e,t){return e/t.pixelWidth()*100},go={percentageBasedSizeRegex:C(io),pixelBasedSizeRegex:C(uo),setPixelWidth:function(e,t){ke(e,"width",t+"px")},setPercentageWidth:function(e,t){ke(e,"width",t+"%")},setHeight:ao,getPixelWidth:function(t,n){return so(t).fold(function(){return Zr(t)},function(e){return function(e,t,n){if(uo.test(t)){var r=uo.exec(t);return parseInt(r[1],10)}if(io.test(t)){var o=io.exec(t),i=parseFloat(o[1]);return i/100*n.pixelWidth()}return Zr(e)}(t,e,n)})},getPercentageWidth:function(t,n){return so(t).fold(function(){var e=Zr(t);return mo(e,n)},function(e){return function(e,t,n){if(io.test(t)){var r=io.exec(t);return parseFloat(r[1])}var o=Zr(e);return mo(o,n)}(t,e,n)})},getGenericWidth:function(e){return so(e).bind(function(e){if(oo.test(e)){var t=oo.exec(e);return S.some({width:C(t[1]),unit:C(t[3])})}return S.none()})},setGenericWidth:function(e,t,n){ke(e,"width",t+n)},getHeight:function(e){return n="rowspan",lo(t=e)/fo(t,n);var t,n},getRawWidth:so},ho=function(n,r){go.getGenericWidth(n).each(function(e){var t=e.width()/2;go.setGenericWidth(n,t,e.unit()),go.setGenericWidth(r,t,e.unit())})},po=function(n,r){return{left:C(n),top:C(r),translate:function(e,t){return po(n+e,r+t)}}},vo=po,bo=function(e,t){return e!==undefined?e:t!==undefined?t:0},wo=function(e){var t,n,r=e.dom().ownerDocument,o=r.body,i=(t=De.fromDom(r),(n=t.dom())===n.window&&t instanceof m.Window?t:ge(t)?n.defaultView||n.parentWindow:null),u=r.documentElement,a=bo(i.pageYOffset,u.scrollTop),c=bo(i.pageXOffset,u.scrollLeft),l=bo(u.clientTop,o.clientTop),f=bo(u.clientLeft,o.clientLeft);return yo(e).translate(c-f,a-l)},yo=function(e){var t,n,r,o=e.dom(),i=o.ownerDocument,u=i.body,a=De.fromDom(i.documentElement);return u===o?vo(u.offsetLeft,u.offsetTop):(t=e,n=a||De.fromDom(m.document.documentElement),tn(t,b(bt,n)).isSome()?(r=o.getBoundingClientRect(),vo(r.left,r.top)):vo(0,0))},xo=$("row","y"),Co=$("col","x"),So=function(e){return wo(e).left()+eo(e)},Ro=function(e){return wo(e).left()},To=function(e,t){return Co(e,Ro(t))},Do=function(e,t){return Co(e,So(t))},Oo=function(e){return wo(e).top()},No=function(n,t,r){if(0===r.length)return[];var e=k(r.slice(1),function(e,t){return e.map(function(e){return n(t,e)})}),o=r[r.length-1].map(function(e){return t(r.length-1,e)});return e.concat([o])},Eo={delta:o,positions:b(No,function(e,t){return xo(e,Oo(t))},function(e,t){return xo(e,Oo(t)+$r(t))}),edge:Oo},Ao={delta:o,edge:Ro,positions:b(No,To,Do)},ko={height:Eo,rtl:{delta:function(e,t){return-e},edge:So,positions:b(No,Do,To)},ltr:Ao},Po={ltr:ko.ltr,rtl:ko.rtl};function Io(t){var n=function(e){return t(e).isRtl()?Po.rtl:Po.ltr};return{delta:function(e,t){return n(t).delta(e,t)},edge:function(e){return n(e).edge(e)},positions:function(e,t){return n(t).positions(e)}}}var Bo,Wo=function(e){var t=hn(e);return wn.generate(t).grid()},Mo=Object.prototype.hasOwnProperty,_o=(Bo=function(e,t){return t},function(){for(var e=new Array(arguments.length),t=0;t<e.length;t++)e[t]=arguments[t];if(0===e.length)throw new Error("Can't merge zero objects");for(var n={},r=0;r<e.length;r++){var o=e[r];for(var i in o)Mo.call(o,i)&&(n[i]=Bo(n[i],o[i]))}return n}),Lo=function(e){for(var t=[],n=function(e){t.push(e)},r=0;r<e.length;r++)e[r].each(n);return t},jo=function(e,t){for(var n=0;n<e.length;n++){var r=t(e[n],n);if(r.isSome())return r}return S.none()},Fo=function(e,t,n,r){n===r?ye(e,t):pe(e,t,n)},zo=function(o,e){var i=[],u=[],t=function(e,t){0<e.length?function(e,t){var n=rn(o,t).getOrThunk(function(){var e=De.fromTag(t,xt(o).dom());return kt(o,e),e});Wt(n);var r=k(e,function(e){e.isNew()&&i.push(e.element());var t=e.element();return Wt(t),P(e.cells(),function(e){e.isNew()&&u.push(e.element()),Fo(e.element(),"colspan",e.colspan(),1),Fo(e.element(),"rowspan",e.rowspan(),1),kt(t,e.element())}),t});Bt(n,r)}(e,t):rn(o,t).each(Mt)},n=[],r=[],a=[];return P(e,function(e){switch(e.section()){case"thead":n.push(e);break;case"tbody":r.push(e);break;case"tfoot":a.push(e)}}),t(n,"thead"),t(r,"tbody"),t(a,"tfoot"),{newRows:C(i),newCells:C(u)}},Ho=function(e){return k(e,function(e){var n=In(e.element());return P(e.cells(),function(e){var t=Bn(e.element());Fo(t,"colspan",e.colspan(),1),Fo(t,"rowspan",e.rowspan(),1),kt(n,t)}),n})},Uo=function(e,t){var n=be(e,t);return n===undefined||""===n?[]:n.split(" ")},qo=function(e){return e.dom().classList!==undefined},Vo=function(e,t){return o=t,i=Uo(n=e,r="class").concat([o]),pe(n,r,i.join(" ")),!0;var n,r,o,i},Go=function(e,t){return o=t,0<(i=I(Uo(n=e,r="class"),function(e){return e!==o})).length?pe(n,r,i.join(" ")):ye(n,r),!1;var n,r,o,i},Yo=function(e,t){qo(e)?e.dom().classList.add(t):Vo(e,t)},Xo=function(e){0===(qo(e)?e.dom().classList:Uo(e,"class")).length&&ye(e,"class")},Ko=function(e,t){return qo(e)&&e.dom().classList.contains(t)},Jo=function(e,t){for(var n=[],r=0;r<e;r++)n.push(t(r));return n},$o=function(e,t){for(var n=[],r=e;r<t;r++)n.push(r);return n},Qo=function(t,n){if(n<0||n>=t.length-1)return S.none();var e=t[n].fold(function(){var e=V(t.slice(0,n));return jo(e,function(e,t){return e.map(function(e){return{value:e,delta:t+1}})})},function(e){return S.some({value:e,delta:0})}),r=t[n+1].fold(function(){var e=t.slice(n+1);return jo(e,function(e,t){return e.map(function(e){return{value:e,delta:t+1}})})},function(e){return S.some({value:e,delta:1})});return e.bind(function(n){return r.map(function(e){var t=e.delta+n.delta;return Math.abs(e.value-n.value)/t})})},Zo=function(e,t,n){var r=e();return _(r,t).orThunk(function(){return S.from(r[0]).orThunk(n)}).map(function(e){return e.element()})},ei=function(n){var e=n.grid(),t=$o(0,e.columns()),r=$o(0,e.rows());return k(t,function(t){return Zo(function(){return H(r,function(e){return wn.getAt(n,e,t).filter(function(e){return e.column()===t}).fold(C([]),function(e){return[e]})})},function(e){return 1===e.colspan()},function(){return wn.getAt(n,0,t)})})},ti=function(n){var e=n.grid(),t=$o(0,e.rows()),r=$o(0,e.columns());return k(t,function(t){return Zo(function(){return H(r,function(e){return wn.getAt(n,t,e).filter(function(e){return e.row()===t}).fold(C([]),function(e){return[e]})})},function(e){return 1===e.rowspan()},function(){return wn.getAt(n,t,0)})})},ni=function(e){var t=e.replace(/\./g,"-");return{resolve:function(e){return t+"-"+e}}},ri={resolve:ni("ephox-snooker").resolve},oi=function(e,t,n,r,o){var i=De.fromTag("div");return Pe(i,{position:"absolute",left:t-r/2+"px",top:n+"px",height:o+"px",width:r+"px"}),ve(i,{"data-column":e,role:"presentation"}),i},ii=function(e,t,n,r,o){var i=De.fromTag("div");return Pe(i,{position:"absolute",left:t+"px",top:n-o/2+"px",height:o+"px",width:r+"px"}),ve(i,{"data-row":e,role:"presentation"}),i},ui=ri.resolve("resizer-bar"),ai=ri.resolve("resizer-rows"),ci=ri.resolve("resizer-cols"),li=function(e){var t=Xt(e.parent(),"."+ui);P(t,Mt)},fi=function(n,e,r){var o=n.origin();P(e,function(e,t){e.each(function(e){var t=r(o,e);Yo(t,ui),kt(n.parent(),t)})})},si=function(e,t,n,r,o,i){var u,a,c,l,f=wo(t),s=0<n.length?o.positions(n,t):[];u=e,a=s,c=f,l=eo(t),fi(u,a,function(e,t){var n=ii(t.row(),c.left()-e.left(),t.y()-e.top(),l,7);return Yo(n,ai),n});var d,m,g,h,p=0<r.length?i.positions(r,t):[];d=e,m=p,g=f,h=$r(t),fi(d,m,function(e,t){var n=oi(t.col(),t.x()-e.left(),g.top()-e.top(),7,h);return Yo(n,ci),n})},di=function(e,t){var n=Xt(e.parent(),"."+ui);P(n,t)},mi={refresh:function(e,t,n,r){li(e);var o=hn(t),i=wn.generate(o),u=ti(i),a=ei(i);si(e,t,u,a,n,r)},hide:function(e){di(e,function(e){ke(e,"display","none")})},show:function(e){di(e,function(e){ke(e,"display","block")})},destroy:li,isRowBar:function(e){return Ko(e,ai)},isColBar:function(e){return Ko(e,ci)}},gi=function(e,t){return qt.rowcells(t,e.section())},hi=function(e,t){return e.cells()[t]},pi={addCell:function(e,t,n){var r=e.cells(),o=r.slice(0,t),i=r.slice(t),u=o.concat([n]).concat(i);return gi(e,u)},setCells:gi,mutateCell:function(e,t,n){e.cells()[t]=n},getCell:hi,getCellElement:function(e,t){return hi(e,t).element()},mapCells:function(e,t){var n=e.cells(),r=k(n,t);return qt.rowcells(r,e.section())},cellLength:function(e){return e.cells().length}},vi=function(e,t){if(0===e.length)return 0;var n=e[0];return L(e,function(e){return!t(n.element(),e.element())}).fold(function(){return e.length},function(e){return e})},bi=function(e,t,n,r){var o,i,u,a,c=(o=e,i=t,o[i]).cells().slice(n),l=vi(c,r),f=(u=e,a=n,k(u,function(e){return pi.getCell(e,a)})).slice(t),s=vi(f,r);return{colspan:C(l),rowspan:C(s)}},wi=function(o,i){var u=k(o,function(e,t){return k(e.cells(),function(e,t){return!1})});return k(o,function(e,r){var t=H(e.cells(),function(e,t){if(!1===u[r][t]){var n=bi(o,r,t,i);return function(e,t,n,r){for(var o=e;o<e+n;o++)for(var i=t;i<t+r;i++)u[o][i]=!0}(r,t,n.rowspan(),n.colspan()),[qt.detailnew(e.element(),n.rowspan(),n.colspan(),e.isNew())]}return[]});return qt.rowdetails(t,e.section())})},yi=function(e,t,n){for(var r=[],o=0;o<e.grid().rows();o++){for(var i=[],u=0;u<e.grid().columns();u++){var a=wn.getAt(e,o,u).map(function(e){return qt.elementnew(e.element(),n)}).getOrThunk(function(){return qt.elementnew(t.gap(),!0)});i.push(a)}var c=qt.rowcells(i,e.all()[o].section());r.push(c)}return r},xi=function(e,r){return k(e,function(e){var t,n=(t=e.details(),jo(t,function(e){return Ct(e.element()).map(function(e){var t=Ct(e).isNone();return qt.elementnew(e,t)})}).getOrThunk(function(){return qt.elementnew(r.row(),!0)}));return qt.rowdatanew(n.element(),e.details(),e.section(),n.isNew())})},Ci=function(e,t){var n=wi(e,bt);return xi(n,t)},Si=function(e,t){var n=z(k(e.all(),function(e){return e.cells()}));return _(n,function(e){return bt(t,e.element())})},Ri=function(a,c,l,f,s){return function(n,r,e,o,i){var t=hn(r),u=wn.generate(t);return c(u,e).map(function(e){var t=yi(u,o,!1),n=a(t,e,bt,s(o)),r=Ci(n.grid(),o);return{grid:C(r),cursor:n.cursor}}).fold(function(){return S.none()},function(e){var t=zo(r,e.grid());return l(r,e.grid(),i),f(r),mi.refresh(n,r,ko.height,i),S.some({cursor:e.cursor,newRows:t.newRows,newCells:t.newCells})})}},Ti=Ci,Di=function(t,e){return gn.cell(e.element()).bind(function(e){return Si(t,e)})},Oi=function(t,e){var n=k(e.selection(),function(e){return gn.cell(e).bind(function(e){return Si(t,e)})}),r=Lo(n);return 0<r.length?S.some(r):S.none()},Ni=function(t,n){return gn.cell(n.element()).bind(function(e){return Si(t,e).map(function(e){return _o(e,{generators:n.generators,clipboard:n.clipboard})})})},Ei=function(t,e){var n=k(e.selection(),function(e){return gn.cell(e).bind(function(e){return Si(t,e)})}),r=Lo(n);return 0<r.length?S.some(_o({cells:r},{generators:e.generators,clipboard:e.clipboard})):S.none()},Ai=function(e,t){return t.mergable()},ki=function(e,t){return t.unmergable()},Pi=function(n){return{is:function(e){return n===e},isValue:l,isError:a,getOr:C(n),getOrThunk:C(n),getOrDie:C(n),or:function(e){return Pi(n)},orThunk:function(e){return Pi(n)},fold:function(e,t){return t(n)},map:function(e){return Pi(e(n))},mapError:function(e){return Pi(n)},each:function(e){e(n)},bind:function(e){return e(n)},exists:function(e){return e(n)},forall:function(e){return e(n)},toOption:function(){return S.some(n)}}},Ii=function(n){return{is:a,isValue:a,isError:l,getOr:o,getOrThunk:function(e){return e()},getOrDie:function(){return e=String(n),function(){throw new Error(e)}();var e},or:function(e){return e},orThunk:function(e){return e()},fold:function(e,t){return e(n)},map:function(e){return Ii(n)},mapError:function(e){return Ii(e(n))},each:y,bind:function(e){return Ii(n)},exists:a,forall:l,toOption:S.none}},Bi={value:Pi,error:Ii},Wi=function(e,t){return k(e,function(){return qt.elementnew(t.cell(),!0)})},Mi=function(t,e,n){return t.concat(Jo(e,function(e){return pi.setCells(t[t.length-1],Wi(t[t.length-1].cells(),n))}))},_i=function(e,t,n){return k(e,function(e){return pi.setCells(e,e.cells().concat(Wi($o(0,t),n)))})},Li=function(e,t,n){if(e.row()>=t.length||e.column()>pi.cellLength(t[0]))return Bi.error("invalid start address out of table bounds, row: "+e.row()+", column: "+e.column());var r=t.slice(e.row()),o=r[0].cells().slice(e.column()),i=pi.cellLength(n[0]),u=n.length;return Bi.value({rowDelta:C(r.length-u),colDelta:C(o.length-i)})},ji=function(e,t){var n=pi.cellLength(e[0]),r=pi.cellLength(t[0]);return{rowDelta:C(0),colDelta:C(n-r)}},Fi=function(e,t,n){var r=t.colDelta()<0?_i:o;return(t.rowDelta()<0?Mi:o)(r(e,Math.abs(t.colDelta()),n),Math.abs(t.rowDelta()),n)},zi=function(e,t,n,r){if(0===e.length)return e;for(var o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)pi.mutateCell(e[o],i,qt.elementnew(r(),!1));return e},Hi=function(e,t,n,r){for(var o=!0,i=0;i<e.length;i++)for(var u=0;u<pi.cellLength(e[0]);u++){var a=n(pi.getCellElement(e[i],u),t);!0===a&&!1===o?pi.mutateCell(e[i],u,qt.elementnew(r(),!0)):!0===a&&(o=!1)}return e},Ui=function(i,n,u,a){if(0<n&&n<i.length){var e=i[n-1].cells(),t=(r=u,M(e,function(e,t){return A(e,function(e){return r(e.element(),t.element())})?e:e.concat([t])},[]));P(t,function(r){for(var o=S.none(),e=function(n){for(var e=function(t){var e=i[n].cells()[t];u(e.element(),r.element())&&(o.isNone()&&(o=S.some(a())),o.each(function(e){pi.mutateCell(i[n],t,qt.elementnew(e,!0))}))},t=0;t<pi.cellLength(i[0]);t++)e(t)},t=n;t<i.length;t++)e(t)})}var r;return i},qi=function(n,r,o,i,u){return Li(n,r,o).map(function(e){var t=Fi(r,e,i);return function(e,t,n,r,o){for(var i,u,a,c,l,f=e.row(),s=e.column(),d=f+n.length,m=s+pi.cellLength(n[0]),g=f;g<d;g++)for(var h=s;h<m;h++){i=t,u=g,a=h,c=void 0,c=b(o,pi.getCell(i[u],a).element()),l=i[u],1<i.length&&1<pi.cellLength(l)&&(0<a&&c(pi.getCellElement(l,a-1))||a<l.length-1&&c(pi.getCellElement(l,a+1))||0<u&&c(pi.getCellElement(i[u-1],a))||u<i.length-1&&c(pi.getCellElement(i[u+1],a)))&&Hi(t,pi.getCellElement(t[g],h),o,r.cell);var p=pi.getCellElement(n[g-f],h-s),v=r.replace(p);pi.mutateCell(t[g],h,qt.elementnew(v,!0))}return t}(n,t,o,i,u)})},Vi=function(e,t,n,r,o){Ui(t,e,o,r.cell);var i=ji(n,t),u=Fi(n,i,r),a=ji(t,u),c=Fi(t,a,r);return c.slice(0,e).concat(u).concat(c.slice(e,c.length))},Gi=function(n,r,e,o,i){var t=n.slice(0,r),u=n.slice(r),a=pi.mapCells(n[e],function(e,t){return 0<r&&r<n.length&&o(pi.getCellElement(n[r-1],t),pi.getCellElement(n[r],t))?pi.getCell(n[r],t):qt.elementnew(i(e.element(),o),!0)});return t.concat([a]).concat(u)},Yi=function(e,n,r,o,i){return k(e,function(e){var t=0<n&&n<pi.cellLength(e)&&o(pi.getCellElement(e,n-1),pi.getCellElement(e,n))?pi.getCell(e,n):qt.elementnew(i(pi.getCellElement(e,r),o),!0);return pi.addCell(e,n,t)})},Xi=function(e,r,o,i,u){var a=o+1;return k(e,function(e,t){var n=t===r?qt.elementnew(u(pi.getCellElement(e,o),i),!0):pi.getCell(e,o);return pi.addCell(e,a,n)})},Ki=function(e,t,n,r,o){var i=t+1,u=e.slice(0,i),a=e.slice(i),c=pi.mapCells(e[t],function(e,t){return t===n?qt.elementnew(o(e.element(),r),!0):e});return u.concat([c]).concat(a)},Ji=function(e,t,n){return e.slice(0,t).concat(e.slice(n+1))},$i=function(e,n,r){var t=k(e,function(e){var t=e.cells().slice(0,n).concat(e.cells().slice(r+1));return qt.rowcells(t,e.section())});return I(t,function(e){return 0<e.cells().length})},Qi=function(e){return e.dom().textContent},Zi=function(e,n,r,o){return k(e,function(e){return pi.mapCells(e,function(e){return t=e,A(n,function(e){return r(t.element(),e.element())})?qt.elementnew(o(e.element(),r),!0):e;var t})})},eu=function(e,t,n,r){return pi.getCellElement(e[t],n)!==undefined&&0<t&&r(pi.getCellElement(e[t-1],n),pi.getCellElement(e[t],n))},tu=function(e,t,n){return 0<t&&n(pi.getCellElement(e,t-1),pi.getCellElement(e,t))},nu=function(n,r,o,e){var t=H(n,function(e,t){return eu(n,t,r,o)||tu(e,r,o)?[]:[pi.getCell(e,r)]});return Zi(n,t,o,e)},ru=function(n,r,o,e){var i=n[r],t=H(i.cells(),function(e,t){return eu(n,r,t,o)||tu(i,t,o)?[]:[e]});return Zi(n,t,o,e)},ou=function(e,r,o,i){var t=B(e,function(e){return ce(pi.getCell(e,r).element())});return H(t,function(e){return"th"===ce(pi.getCell(e[0],r).element())?e:(t=k(e,function(e){var t=pi.getCell(e,r);return{row:e,text:Qi(t.element())}}),n=G(t,function(e,t){var n=o(e.text,t.text);return i?n:-1*n}),k(n,function(e){return e.row}));var t,n})},iu=function(e,t,o,i){var n=e[t].cells(),r=k(n,function(e){return Qi(e.element())}),u=k(e,function(e){return{zippedCells:k(e.cells(),function(e,t){return{cell:e,reference:n[t],referenceText:r[t]}}),section:e.section()}});return k(u,function(e){var t=B(e.zippedCells,function(e){return ce(e.reference.element())}),n=H(t,function(e){return"th"===ce(e[0].reference.element())?e:G(e,function(e,t){var n=o(e.referenceText,t.referenceText);return i?n:-1*n})}),r=k(n,function(e){return e.cell});return qt.rowcells(r,e.section)})},uu=function(e){return{fold:e}},au=function(){return uu(function(e,t,n,r,o){return e()})},cu=function(i){return uu(function(e,t,n,r,o){return t(i)})},lu=function(i,u){return uu(function(e,t,n,r,o){return n(i,u)})},fu=function(i,u,a){return uu(function(e,t,n,r,o){return r(i,u,a)})},su=function(i,u){return uu(function(e,t,n,r,o){return o(i,u)})},du=function(e,t,i,u){var n,r,a=e.slice(0),o=(r=t,0===(n=e).length?au():1===n.length?cu(0):0===r?lu(0,1):r===n.length-1?su(r-1,r):0<r&&r<n.length-1?fu(r-1,r,r+1):au()),c=function(e){return k(e,C(0))},l=C(c(a)),f=function(e,t){if(0<=i){var n=Math.max(u.minCellWidth(),a[t]-i);return c(a.slice(0,e)).concat([i,n-a[t]]).concat(c(a.slice(t+1)))}var r=Math.max(u.minCellWidth(),a[e]+i),o=a[e]-r;return c(a.slice(0,e)).concat([r-a[e],o]).concat(c(a.slice(t+1)))},s=f;return o.fold(l,function(e){return u.singleColumnWidth(a[e],i)},s,function(e,t,n){return f(t,n)},function(e,t){if(0<=i)return c(a.slice(0,t)).concat([i]);var n=Math.max(u.minCellWidth(),a[t]+i);return c(a.slice(0,t)).concat([n-a[t]])})},mu=function(e,t){return we(e,t)&&1<parseInt(be(e,t),10)},gu={hasColspan:function(e){return mu(e,"colspan")},hasRowspan:function(e){return mu(e,"rowspan")},minWidth:C(10),minHeight:C(10),getInt:function(e,t){return parseInt(Ie(e,t),10)}},hu=function(e,t,n){return We(e,t).fold(function(){return n(e)+"px"},function(e){return e})},pu=function(e){return hu(e,"width",go.getPixelWidth)},vu=function(e){return hu(e,"height",go.getHeight)},bu=function(e,t,n,r,o){var i=ei(e),u=k(i,function(e){return e.map(t.edge)});return k(i,function(e,t){return e.filter(g(gu.hasColspan)).fold(function(){var e=Qo(u,t);return r(e)},function(e){return n(e,o)})})},wu=function(e){return e.map(function(e){return e+"px"}).getOr("")},yu=function(e,t,n,r){var o=ti(e),i=k(o,function(e){return e.map(t.edge)});return k(o,function(e,t){return e.filter(g(gu.hasRowspan)).fold(function(){var e=Qo(i,t);return r(e)},function(e){return n(e)})})},xu={getRawWidths:function(e,t){return bu(e,t,pu,wu)},getPixelWidths:function(e,t,n){return bu(e,t,go.getPixelWidth,function(e){return e.getOrThunk(n.minCellWidth)},n)},getPercentageWidths:function(e,t,n){return bu(e,t,go.getPercentageWidth,function(e){return e.fold(function(){return n.minCellWidth()},function(e){return e/n.pixelWidth()*100})},n)},getPixelHeights:function(e,t){return yu(e,t,go.getHeight,function(e){return e.getOrThunk(gu.minHeight)})},getRawHeights:function(e,t){return yu(e,t,vu,wu)}},Cu=function(e,t,n){for(var r=0,o=e;o<t;o++)r+=n[o]!==undefined?n[o]:0;return r},Su=function(e,n){var t=wn.justCells(e);return k(t,function(e){var t=Cu(e.column(),e.column()+e.colspan(),n);return{element:e.element,width:C(t),colspan:e.colspan}})},Ru=function(e,n){var t=wn.justCells(e);return k(t,function(e){var t=Cu(e.row(),e.row()+e.rowspan(),n);return{element:e.element,height:C(t),rowspan:e.rowspan}})},Tu=function(e,n){return k(e.all(),function(e,t){return{element:e.element,height:C(n[t])}})},Du=function(e){var t=parseInt(e,10),n=o;return{width:C(t),pixelWidth:C(t),getWidths:xu.getPixelWidths,getCellDelta:n,singleColumnWidth:function(e,t){return[Math.max(gu.minWidth(),e+t)-e]},minCellWidth:gu.minWidth,setElementWidth:go.setPixelWidth,setTableWidth:function(e,t,n){var r=W(t,function(e,t){return e+t},0);go.setPixelWidth(e,r)}}},Ou=function(e,t){if(go.percentageBasedSizeRegex().test(t)){var n=go.percentageBasedSizeRegex().exec(t);return o=n[1],i=e,u=parseFloat(o),a=Zr(i),{width:C(u),pixelWidth:C(a),getWidths:xu.getPercentageWidths,getCellDelta:function(e){return e/a*100},singleColumnWidth:function(e,t){return[100-e]},minCellWidth:function(){return gu.minWidth()/a*100},setElementWidth:go.setPercentageWidth,setTableWidth:function(e,t,n){var r=u+n;go.setPercentageWidth(e,r)}}}if(go.pixelBasedSizeRegex().test(t)){var r=go.pixelBasedSizeRegex().exec(t);return Du(r[1])}var o,i,u,a,c=Zr(e);return Du(c)},Nu=function(t){return go.getRawWidth(t).fold(function(){var e=Zr(t);return Du(e)},function(e){return Ou(t,e)})},Eu=function(e){return wn.generate(e)},Au=function(e){var t=hn(e);return Eu(t)},ku=function(e,t,n,r){var o=Nu(e),i=o.getCellDelta(t),u=Au(e),a=o.getWidths(u,r,o),c=du(a,n,i,o),l=k(c,function(e,t){return e+a[t]}),f=Su(u,l);P(f,function(e){o.setElementWidth(e.element(),e.width())}),n===u.grid().columns()-1&&o.setTableWidth(e,l,i)},Pu=function(e,n,r,t){var o=Au(e),i=xu.getPixelHeights(o,t),u=k(i,function(e,t){return r===t?Math.max(n+e,gu.minHeight()):e}),a=Ru(o,u),c=Tu(o,u);P(c,function(e){go.setHeight(e.element(),e.height())}),P(a,function(e){go.setHeight(e.element(),e.height())});var l=W(u,function(e,t){return e+t},0);go.setHeight(e,l)},Iu=function(e,t,n){var r=Nu(e),o=Eu(t),i=r.getWidths(o,n,r),u=Su(o,i);P(u,function(e){r.setElementWidth(e.element(),e.width())});var a=W(i,function(e,t){return t+e},0);0<u.length&&r.setTableWidth(e,a)},Bu=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return Bu(n())}}},Wu=function(r,o,i){if(0===o.length)throw new Error("You must specify at least one required field.");return te("required",o),ne(o),function(t){var n=Y(t);U(o,function(e){return E(n,e)})||Z(o,n),r(o,n);var e=I(o,function(e){return!i.validate(t[e],e)});return 0<e.length&&function(e,t){throw new Error("All values need to be of type: "+t+". Keys ("+Q(e).join(", ")+") were not.")}(e,i.label),t}},Mu=function(t,e){var n=I(e,function(e){return!E(t,e)});0<n.length&&ee(n)},_u=function(e){return Wu(Mu,e,{validate:D,label:"function"})},Lu=function(e){var t=we(e,"colspan")?parseInt(be(e,"colspan"),10):1,n=we(e,"rowspan")?parseInt(be(e,"rowspan"),10):1;return{element:C(e),colspan:C(t),rowspan:C(n)}},ju=_u(["cell","row","replace","gap"]),Fu=function(r,e){ju(r);var n=Bu(S.none()),o=e!==undefined?e:Lu,i=function(e){var t,n=o(e);return t=n,r.cell(t)},u=function(e){var t=i(e);return n.get().isNone()&&n.set(S.some(t)),a=S.some({item:e,replacement:t}),t},a=S.none();return{getOrInit:function(t,n){return a.fold(function(){return u(t)},function(e){return n(t,e.item)?e.replacement:u(t)})},cursor:n.get}},zu=function(o,a){return function(n){var r=Bu(S.none());ju(n);var i=[],u=function(e){var t=n.replace(e,a,{scope:o});return i.push({item:e,sub:t}),r.get().isNone()&&r.set(S.some(t)),t};return{replaceOrInit:function(t,n){return(r=t,o=n,_(i,function(e){return o(e.item,r)})).fold(function(){return u(t)},function(e){return n(t,e.item)?e.sub:u(t)});var r,o},cursor:r.get}}},Hu=function(n){ju(n);var e=Bu(S.none());return{combine:function(t){return e.get().isNone()&&e.set(S.some(t)),function(){var e=n.cell({element:C(t),colspan:C(1),rowspan:C(1)});return Me(e,"width"),Me(t,"width"),e}},cursor:e.get}},Uu=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],qu=function(e,t){var n=e.property().name(t);return E(Uu,n)},Vu=function(e,t){return E(["br","img","hr","input"],e.property().name(t))},Gu=qu,Yu=function(e,t){var n=e.property().name(t);return E(["ol","ul"],n)},Xu=Vu,Ku=Un(),Ju=function(e){return Gu(Ku,e)},$u=function(e){return Yu(Ku,e)},Qu=function(e){return Xu(Ku,e)},Zu=function(e){var t,i=function(e){return"br"===ce(e)},n=function(o){return An(o).bind(function(n){var r=Tt(n).map(function(e){return!!Ju(e)||(Qu(e)?"img"!==ce(e):void 0)}).getOr(!1);return Ct(n).map(function(e){return!0===r||"li"===ce(t=e)||tn(t,$u).isSome()||i(n)||Ju(e)&&!bt(o,e)?[]:[De.fromTag("br")];var t})}).getOr([])},r=0===(t=H(e,function(e){var t=Dt(e);return U(t,function(e){return i(e)||me(e)&&0===Sn(e).trim().length})?[]:t.concat(n(e))})).length?[De.fromTag("br")]:t;Wt(e[0]),Bt(e[0],r)},ea=function(e){0===gn.cells(e).length&&Mt(e)},ta=$("grid","cursor"),na=function(e,t,n){return ra(e,t,n).orThunk(function(){return ra(e,0,0)})},ra=function(e,t,n){return S.from(e[t]).bind(function(e){return S.from(e.cells()[n]).bind(function(e){return S.from(e.element())})})},oa=function(e,t,n){return ta(e,ra(e,t,n))},ia=function(e){return M(e,function(e,t){return A(e,function(e){return e.row()===t.row()})?e:e.concat([t])},[]).sort(function(e,t){return e.row()-t.row()})},ua=function(e){return M(e,function(e,t){return A(e,function(e){return e.column()===t.column()})?e:e.concat([t])},[]).sort(function(e,t){return e.column()-t.column()})},aa=function(e,t,n){var r=pn(e,n),o=wn.generate(r);return yi(o,t,!0)},ca=function(a){return function(e,t,n,r,o,i,u){return Ri(function(e,t,n,r){return a(e,t,i,u)},Di,y,y,Fu)(e,t,n,r,o)}},la=Iu,fa={insertRowBefore:Ri(function(e,t,n,r){var o=t.row(),i=t.row(),u=Gi(e,i,o,n,r.getOrInit);return oa(u,i,t.column())},Di,y,y,Fu),insertRowsBefore:Ri(function(e,t,n,r){var o=t[0].row(),i=t[0].row(),u=ia(t),a=M(u,function(e,t){return Gi(e,i,o,n,r.getOrInit)},e);return oa(a,i,t[0].column())},Oi,y,y,Fu),insertRowAfter:Ri(function(e,t,n,r){var o=t.row(),i=t.row()+t.rowspan(),u=Gi(e,i,o,n,r.getOrInit);return oa(u,i,t.column())},Di,y,y,Fu),insertRowsAfter:Ri(function(e,t,n,r){var o=ia(t),i=o[o.length-1].row(),u=o[o.length-1].row()+o[o.length-1].rowspan(),a=M(o,function(e,t){return Gi(e,u,i,n,r.getOrInit)},e);return oa(a,u,t[0].column())},Oi,y,y,Fu),insertColumnBefore:Ri(function(e,t,n,r){var o=t.column(),i=t.column(),u=Yi(e,i,o,n,r.getOrInit);return oa(u,t.row(),i)},Di,la,y,Fu),insertColumnsBefore:Ri(function(e,t,n,r){var o=ua(t),i=o[0].column(),u=o[0].column(),a=M(o,function(e,t){return Yi(e,u,i,n,r.getOrInit)},e);return oa(a,t[0].row(),u)},Oi,la,y,Fu),insertColumnAfter:Ri(function(e,t,n,r){var o=t.column(),i=t.column()+t.colspan(),u=Yi(e,i,o,n,r.getOrInit);return oa(u,t.row(),i)},Di,la,y,Fu),insertColumnsAfter:Ri(function(e,t,n,r){var o=t[t.length-1].column(),i=t[t.length-1].column()+t[t.length-1].colspan(),u=ua(t),a=M(u,function(e,t){return Yi(e,i,o,n,r.getOrInit)},e);return oa(a,t[0].row(),i)},Oi,la,y,Fu),splitCellIntoColumns:Ri(function(e,t,n,r){var o=Xi(e,t.row(),t.column(),n,r.getOrInit);return oa(o,t.row(),t.column())},Di,la,y,Fu),splitCellIntoRows:Ri(function(e,t,n,r){var o=Ki(e,t.row(),t.column(),n,r.getOrInit);return oa(o,t.row(),t.column())},Di,y,y,Fu),eraseColumns:Ri(function(e,t,n,r){var o=ua(t),i=$i(e,o[0].column(),o[o.length-1].column()),u=na(i,t[0].row(),t[0].column());return ta(i,u)},Oi,la,ea,Fu),eraseRows:Ri(function(e,t,n,r){var o=ia(t),i=Ji(e,o[0].row(),o[o.length-1].row()),u=na(i,t[0].row(),t[0].column());return ta(i,u)},Oi,y,ea,Fu),makeColumnHeader:Ri(function(e,t,n,r){var o=nu(e,t.column(),n,r.replaceOrInit);return oa(o,t.row(),t.column())},Di,y,y,zu("row","th")),unmakeColumnHeader:Ri(function(e,t,n,r){var o=nu(e,t.column(),n,r.replaceOrInit);return oa(o,t.row(),t.column())},Di,y,y,zu(null,"td")),makeRowHeader:Ri(function(e,t,n,r){var o=ru(e,t.row(),n,r.replaceOrInit);return oa(o,t.row(),t.column())},Di,y,y,zu("col","th")),unmakeRowHeader:Ri(function(e,t,n,r){var o=ru(e,t.row(),n,r.replaceOrInit);return oa(o,t.row(),t.column())},Di,y,y,zu(null,"td")),mergeCells:Ri(function(e,t,n,r){var o=t.cells();Zu(o);var i=zi(e,t.bounds(),n,C(o[0]));return ta(i,S.from(o[0]))},Ai,y,y,Hu),unmergeCells:Ri(function(e,t,n,r){var o=W(t,function(e,t){return Hi(e,t,n,r.combine(t))},e);return ta(o,S.from(t[0]))},ki,la,y,Hu),pasteCells:Ri(function(e,n,t,r){var o,i,u,a,c=(o=n.clipboard(),i=n.generators(),u=hn(o),a=wn.generate(u),yi(a,i,!0)),l=qt.address(n.row(),n.column());return qi(l,e,c,n.generators(),t).fold(function(){return ta(e,S.some(n.element()))},function(e){var t=na(e,n.row(),n.column());return ta(e,t)})},Ni,la,y,Fu),pasteRowsBefore:Ri(function(e,t,n,r){var o=e[t.cells[0].row()],i=t.cells[0].row(),u=aa(t.clipboard(),t.generators(),o),a=Vi(i,e,u,t.generators(),n),c=na(a,t.cells[0].row(),t.cells[0].column());return ta(a,c)},Ei,y,y,Fu),pasteRowsAfter:Ri(function(e,t,n,r){var o=e[t.cells[0].row()],i=t.cells[t.cells.length-1].row()+t.cells[t.cells.length-1].rowspan(),u=aa(t.clipboard(),t.generators(),o),a=Vi(i,e,u,t.generators(),n),c=na(a,t.cells[0].row(),t.cells[0].column());return ta(a,c)},Ei,y,y,Fu),sortRows:ca(function(e,t,n,r){var o=ou(e,t.column(),n,r);return oa(o,t.row(),t.column())}),sortColumns:ca(function(e,t,n,r){var o=iu(e,t.row(),n,r);return oa(o,t.row(),t.column())})},sa=function(e){return De.fromDom(e.getBody())},da=function(e){return e.getBoundingClientRect().width},ma=function(e){return e.getBoundingClientRect().height},ga=function(t){return function(e){return bt(e,sa(t))}},ha=function(e){return/^[0-9]+$/.test(e)&&(e+="px"),e},pa=function(e){var t=Xt(e,"td[data-mce-style],th[data-mce-style]");ye(e,"data-mce-style"),P(t,function(e){ye(e,"data-mce-style")})},va={isRtl:C(!1)},ba={isRtl:C(!0)},wa={directionAt:function(e){return"rtl"==("rtl"===Ie(e,"direction")?"rtl":"ltr")?ba:va}},ya=["tableprops","tabledelete","|","tableinsertrowbefore","tableinsertrowafter","tabledeleterow","|","tableinsertcolbefore","tableinsertcolafter","tabledeletecol"],xa={"border-collapse":"collapse",width:"100%"},Ca={border:"1"},Sa=function(e){return e.getParam("table_cell_advtab",!0,"boolean")},Ra=function(e){return e.getParam("table_row_advtab",!0,"boolean")},Ta=function(e){return e.getParam("table_advtab",!0,"boolean")},Da=function(e){return e.getParam("table_style_by_css",!1,"boolean")},Oa=function(e){return e.getParam("table_cell_class_list",[],"array")},Na=function(e){return e.getParam("table_row_class_list",[],"array")},Ea=function(e){return e.getParam("table_class_list",[],"array")},Aa=function(e){return!1===e.getParam("table_responsive_width")},ka=function(e,t){return e.fire("newrow",{node:t})},Pa=function(e,t){return e.fire("newcell",{node:t})},Ia=function(e,t,n,r){e.fire("ObjectResizeStart",{target:t,width:n,height:r})},Ba=function(e,t,n,r){e.fire("ObjectResized",{target:t,width:n,height:r})},Wa=function(f,e){var t,n=function(e){return"table"===ce(sa(e))},s=(t=f.getParam("table_clone_elements"),w(t)?S.some(t.split(/[ ,]/)):Array.isArray(t)?S.some(t):S.none()),r=function(u,a,c,l){return function(e,t){pa(e);var n=l(),r=De.fromDom(f.getDoc()),o=Io(wa.directionAt),i=Fn(c,r,s);return a(e)?u(n,e,t,i,o).bind(function(e){return P(e.newRows(),function(e){ka(f,e.dom())}),P(e.newCells(),function(e){Pa(f,e.dom())}),e.cursor().map(function(e){var t=f.dom.createRng();return t.setStart(e.dom(),0),t.setEnd(e.dom(),0),t})}):S.none()}};return{deleteRow:r(fa.eraseRows,function(e){var t=Wo(e);return!1===n(f)||1<t.rows()},y,e),deleteColumn:r(fa.eraseColumns,function(e){var t=Wo(e);return!1===n(f)||1<t.columns()},y,e),insertRowsBefore:r(fa.insertRowsBefore,l,y,e),insertRowsAfter:r(fa.insertRowsAfter,l,y,e),insertColumnsBefore:r(fa.insertColumnsBefore,l,ho,e),insertColumnsAfter:r(fa.insertColumnsAfter,l,ho,e),mergeCells:r(fa.mergeCells,l,y,e),unmergeCells:r(fa.unmergeCells,l,y,e),pasteRowsBefore:r(fa.pasteRowsBefore,l,y,e),pasteRowsAfter:r(fa.pasteRowsAfter,l,y,e),pasteCells:r(fa.pasteCells,l,y,e)}},Ma=function(e,t,r){var n=hn(e),o=wn.generate(n);return Oi(o,t).map(function(e){var t=yi(o,r,!1).slice(e[0].row(),e[e.length-1].row()+e[e.length-1].rowspan()),n=Ti(t,r);return Ho(n)})},_a=tinymce.util.Tools.resolve("tinymce.util.Tools"),La=function(e,t,n){n&&e.formatter.apply("align"+n,{},t)},ja=function(e,t,n){n&&e.formatter.apply("valign"+n,{},t)},Fa=function(t,n){_a.each("left center right".split(" "),function(e){t.formatter.remove("align"+e,{},n)})},za=function(t,n){_a.each("top middle bottom".split(" "),function(e){t.formatter.remove("valign"+e,{},n)})},Ha=function(o,e,i){var t;return t=function(e,t){for(var n=0;n<t.length;n++){var r=o.getStyle(t[n],i);if(void 0===e&&(e=r),e!==r)return""}return e}(t,o.select("td,th",e))},Ua=function(e,t){var n=e.dom,r=t.control.rootControl,o=r.toJSON(),i=n.parseStyle(o.style);i["border-style"]=o.borderStyle,i["border-color"]=o.borderColor,i["background-color"]=o.backgroundColor,i.width=o.width?ha(o.width):"",i.height=o.height?ha(o.height):"",r.find("#style").value(n.serializeStyle(n.parseStyle(n.serializeStyle(i))))},qa=function(e,t){var n=e.dom,r=t.control.rootControl,o=r.toJSON(),i=n.parseStyle(o.style);r.find("#borderStyle").value(i["border-style"]||""),r.find("#borderColor").value(i["border-color"]||""),r.find("#backgroundColor").value(i["background-color"]||""),r.find("#width").value(i.width||""),r.find("#height").value(i.height||"")},Va={createStyleForm:function(n){var e=function(){var e=n.getParam("color_picker_callback");if(e)return function(t){return e.call(n,function(e){t.control.value(e).fire("change")},t.control.value())}};return{title:"Advanced",type:"form",defaults:{onchange:b(Ua,n)},items:[{label:"Style",name:"style",type:"textbox",onchange:b(qa,n)},{type:"form",padding:0,formItemDefaults:{layout:"grid",alignH:["start","right"]},defaults:{size:7},items:[{label:"Border style",type:"listbox",name:"borderStyle",width:90,onselect:b(Ua,n),values:[{text:"Select...",value:""},{text:"Solid",value:"solid"},{text:"Dotted",value:"dotted"},{text:"Dashed",value:"dashed"},{text:"Double",value:"double"},{text:"Groove",value:"groove"},{text:"Ridge",value:"ridge"},{text:"Inset",value:"inset"},{text:"Outset",value:"outset"},{text:"None",value:"none"},{text:"Hidden",value:"hidden"}]},{label:"Border color",type:"colorbox",name:"borderColor",onaction:e()},{label:"Background color",type:"colorbox",name:"backgroundColor",onaction:e()}]}]}},buildListItems:function(e,r,t){var o=function(e,n){return n=n||[],_a.each(e,function(e){var t={text:e.text||e.title};e.menu?t.menu=o(e.menu):(t.value=e.value,r&&r(t)),n.push(t)}),n};return o(e,t||[])},updateStyleField:Ua,extractAdvancedStyles:function(e,t){var n=e.parseStyle(e.getAttrib(t,"style")),r={};return n["border-style"]&&(r.borderStyle=n["border-style"]),n["border-color"]&&(r.borderColor=n["border-color"]),n["background-color"]&&(r.backgroundColor=n["background-color"]),r.style=e.serializeStyle(n),r},updateAdvancedFields:qa,syncAdvancedStyleFields:function(e,t){t.control.rootControl.find("#style")[0].getEl().isEqualNode(m.document.activeElement)?qa(e,t):Ua(e,t)}},Ga=function(r,o,e){var i,u=r.dom;function a(e,t,n){(1===o.length||n)&&u.setAttrib(e,t,n)}function c(e,t,n){(1===o.length||n)&&u.setStyle(e,t,n)}Sa(r)&&Va.syncAdvancedStyleFields(r,e),i=e.control.rootControl.toJSON(),r.undoManager.transact(function(){_a.each(o,function(e){var t,n;a(e,"scope",i.scope),1===o.length?a(e,"style",i.style):(t=e,n=i.style,delete t.dataset.mceStyle,t.style.cssText+=";"+n),a(e,"class",i["class"]),c(e,"width",ha(i.width)),c(e,"height",ha(i.height)),i.type&&e.nodeName.toLowerCase()!==i.type&&(e=u.rename(e,i.type)),1===o.length&&(Fa(r,e),za(r,e)),i.align&&La(r,e,i.align),i.valign&&ja(r,e,i.valign)}),r.focus()})},Ya=function(t){var e,n,r,o=[];if(o=t.dom.select("td[data-mce-selected],th[data-mce-selected]"),e=t.dom.getParent(t.selection.getStart(),"td,th"),!o.length&&e&&o.push(e),e=e||o[0]){var i,u,a,c;1<o.length?n={width:"",height:"",scope:"","class":"",align:"",valign:"",style:"",type:e.nodeName.toLowerCase()}:(u=e,a=(i=t).dom,c={width:a.getStyle(u,"width")||a.getAttrib(u,"width"),height:a.getStyle(u,"height")||a.getAttrib(u,"height"),scope:a.getAttrib(u,"scope"),"class":a.getAttrib(u,"class"),type:u.nodeName.toLowerCase(),style:"",align:"",valign:""},_a.each("left center right".split(" "),function(e){i.formatter.matchNode(u,"align"+e)&&(c.align=e)}),_a.each("top middle bottom".split(" "),function(e){i.formatter.matchNode(u,"valign"+e)&&(c.valign=e)}),Sa(i)&&_a.extend(c,Va.extractAdvancedStyles(a,u)),n=c),0<Oa(t).length&&(r={name:"class",type:"listbox",label:"Class",values:Va.buildListItems(Oa(t),function(e){e.value&&(e.textStyle=function(){return t.formatter.getCssText({block:"td",classes:[e.value]})})})});var l={type:"form",layout:"flex",direction:"column",labelGapCalc:"children",padding:0,items:[{type:"form",layout:"grid",columns:2,labelGapCalc:!1,padding:0,defaults:{type:"textbox",maxWidth:50},items:[{label:"Width",name:"width",onchange:b(Va.updateStyleField,t)},{label:"Height",name:"height",onchange:b(Va.updateStyleField,t)},{label:"Cell type",name:"type",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"Cell",value:"td"},{text:"Header cell",value:"th"}]},{label:"Scope",name:"scope",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Row",value:"row"},{text:"Column",value:"col"},{text:"Row group",value:"rowgroup"},{text:"Column group",value:"colgroup"}]},{label:"H Align",name:"align",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"V Align",name:"valign",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Top",value:"top"},{text:"Middle",value:"middle"},{text:"Bottom",value:"bottom"}]}]},r]};Sa(t)?t.windowManager.open({title:"Cell properties",bodyType:"tabpanel",data:n,body:[{title:"General",type:"form",items:l},Va.createStyleForm(t)],onsubmit:b(Ga,t,o)}):t.windowManager.open({title:"Cell properties",data:n,body:l,onsubmit:b(Ga,t,o)})}};function Xa(f,s,d,e){var m=f.dom;function g(e,t,n){(1===s.length||n)&&m.setAttrib(e,t,n)}Ra(f)&&Va.syncAdvancedStyleFields(f,e);var h=e.control.rootControl.toJSON();f.undoManager.transact(function(){_a.each(s,function(e){var t,n,r,o,i,u,a,c,l;g(e,"scope",h.scope),g(e,"style",h.style),g(e,"class",h["class"]),t=e,n="height",r=ha(h.height),(1===s.length||r)&&m.setStyle(t,n,r),h.type!==e.parentNode.nodeName.toLowerCase()&&(o=f.dom,i=e,u=h.type,a=o.getParent(i,"table"),c=i.parentNode,(l=o.select(u,a)[0])||(l=o.create(u),a.firstChild?"CAPTION"===a.firstChild.nodeName?o.insertAfter(l,a.firstChild):a.insertBefore(l,a.firstChild):a.appendChild(l)),l.appendChild(i),c.hasChildNodes()||o.remove(c)),h.align!==d.align&&(Fa(f,e),La(f,e,h.align))}),f.focus()})}var Ka=function(t){var e,n,r,o,i,u,a,c,l,f,s=t.dom,d=[];e=s.getParent(t.selection.getStart(),"table"),n=s.getParent(t.selection.getStart(),"td,th"),_a.each(e.rows,function(t){_a.each(t.cells,function(e){if(s.getAttrib(e,"data-mce-selected")||e===n)return d.push(t),!1})}),(r=d[0])&&(1<d.length?i={height:"",scope:"",style:"","class":"",align:"",type:r.parentNode.nodeName.toLowerCase()}:(c=r,l=(a=t).dom,f={height:l.getStyle(c,"height")||l.getAttrib(c,"height"),scope:l.getAttrib(c,"scope"),"class":l.getAttrib(c,"class"),align:"",style:"",type:c.parentNode.nodeName.toLowerCase()},_a.each("left center right".split(" "),function(e){a.formatter.matchNode(c,"align"+e)&&(f.align=e)}),Ra(a)&&_a.extend(f,Va.extractAdvancedStyles(l,c)),i=f),0<Na(t).length&&(o={name:"class",type:"listbox",label:"Class",values:Va.buildListItems(Na(t),function(e){e.value&&(e.textStyle=function(){return t.formatter.getCssText({block:"tr",classes:[e.value]})})})}),u={type:"form",columns:2,padding:0,defaults:{type:"textbox"},items:[{type:"listbox",name:"type",label:"Row type",text:"Header",maxWidth:null,values:[{text:"Header",value:"thead"},{text:"Body",value:"tbody"},{text:"Footer",value:"tfoot"}]},{type:"listbox",name:"align",label:"Alignment",text:"None",maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"Height",name:"height"},o]},Ra(t)?t.windowManager.open({title:"Row properties",data:i,bodyType:"tabpanel",body:[{title:"General",type:"form",items:u},Va.createStyleForm(t)],onsubmit:b(Xa,t,d,i)}):t.windowManager.open({title:"Row properties",data:i,body:u,onsubmit:b(Xa,t,d,i)}))},Ja=tinymce.util.Tools.resolve("tinymce.Env"),$a={styles:{"border-collapse":"collapse",width:"100%"},attributes:{border:"1"},percentages:!0},Qa=function(e,t,n,r,o){void 0===o&&(o=$a);var i=De.fromTag("table");Pe(i,o.styles),ve(i,o.attributes);var u=De.fromTag("tbody");kt(i,u);for(var a=[],c=0;c<e;c++){for(var l=De.fromTag("tr"),f=0;f<t;f++){var s=c<n||f<r?De.fromTag("th"):De.fromTag("td");f<r&&pe(s,"scope","row"),c<n&&pe(s,"scope","col"),kt(s,De.fromTag("br")),o.percentages&&ke(s,"width",100/t+"%"),kt(l,s)}a.push(l)}return Bt(u,a),i},Za=function(e,t){e.selection.select(t.dom(),!0),e.selection.collapse(!0)},ec=function(r,e,t){var n,o,i=r.getParam("table_default_styles",xa,"object"),u={styles:i,attributes:(o=r,o.getParam("table_default_attributes",Ca,"object")),percentages:(n=i.width,w(n)&&-1!==n.indexOf("%")&&!Aa(r))},a=Qa(t,e,0,0,u);pe(a,"data-mce-id","__mce");var c,l,f,s=(c=a,l=De.fromTag("div"),f=De.fromDom(c.dom().cloneNode(!0)),kt(l,f),l.dom().innerHTML);return r.insertContent(s),on(sa(r),'table[data-mce-id="__mce"]').map(function(e){var t,n;return Aa(r)&&ke(e,"width",Ie(e,"width")),ye(e,"data-mce-id"),t=r,P(Xt(e,"tr"),function(e){ka(t,e.dom()),P(Xt(e,"th,td"),function(e){Pa(t,e.dom())})}),n=r,on(e,"td,th").each(b(Za,n)),e.dom()}).getOr(null)};function tc(e,t,n,r){if("TD"===t.tagName||"TH"===t.tagName)e.setStyle(t,n,r);else if(t.children)for(var o=0;o<t.children.length;o++)tc(e,t.children[o],n,r)}var nc=function(e,t,n){var r,o,i=e.dom;Ta(e)&&Va.syncAdvancedStyleFields(e,n),!1===(o=n.control.rootControl.toJSON())["class"]&&delete o["class"],e.undoManager.transact(function(){t||(t=ec(e,o.cols||1,o.rows||1)),function(e,t,n){var r,o=e.dom,i={},u={};if(i["class"]=n["class"],u.height=ha(n.height),o.getAttrib(t,"width")&&!Da(e)?i.width=(r=n.width)?r.replace(/px$/,""):"":u.width=ha(n.width),Da(e)?(u["border-width"]=ha(n.border),u["border-spacing"]=ha(n.cellspacing),_a.extend(i,{"data-mce-border-color":n.borderColor,"data-mce-cell-padding":n.cellpadding,"data-mce-border":n.border})):_a.extend(i,{border:n.border,cellpadding:n.cellpadding,cellspacing:n.cellspacing}),Da(e)&&t.children)for(var a=0;a<t.children.length;a++)tc(o,t.children[a],{"border-width":ha(n.border),"border-color":n.borderColor,padding:ha(n.cellpadding)});n.style?_a.extend(u,o.parseStyle(n.style)):u=_a.extend({},o.parseStyle(o.getAttrib(t,"style")),u),i.style=o.serializeStyle(u),o.setAttribs(t,i)}(e,t,o),(r=i.select("caption",t)[0])&&!o.caption&&i.remove(r),!r&&o.caption&&((r=i.create("caption")).innerHTML=Ja.ie?"\xa0":'<br data-mce-bogus="1"/>',t.insertBefore(r,t.firstChild)),Fa(e,t),o.align&&La(e,t,o.align),e.focus(),e.addVisual()})},rc=function(t,e){var n,r,o,i,u,a,c,l,f,s,d=t.dom,m={};!0===e?(n=d.getParent(t.selection.getStart(),"table"))&&(c=n,l=(a=t).dom,f={width:l.getStyle(c,"width")||l.getAttrib(c,"width"),height:l.getStyle(c,"height")||l.getAttrib(c,"height"),cellspacing:l.getStyle(c,"border-spacing")||l.getAttrib(c,"cellspacing"),cellpadding:l.getAttrib(c,"data-mce-cell-padding")||l.getAttrib(c,"cellpadding")||Ha(a.dom,c,"padding"),border:l.getAttrib(c,"data-mce-border")||l.getAttrib(c,"border")||Ha(a.dom,c,"border"),borderColor:l.getAttrib(c,"data-mce-border-color"),caption:!!l.select("caption",c)[0],"class":l.getAttrib(c,"class")},_a.each("left center right".split(" "),function(e){a.formatter.matchNode(c,"align"+e)&&(f.align=e)}),Ta(a)&&_a.extend(f,Va.extractAdvancedStyles(l,c)),m=f):(r={label:"Cols",name:"cols"},o={label:"Rows",name:"rows"}),0<Ea(t).length&&(m["class"]&&(m["class"]=m["class"].replace(/\s*mce\-item\-table\s*/g,"")),i={name:"class",type:"listbox",label:"Class",values:Va.buildListItems(Ea(t),function(e){e.value&&(e.textStyle=function(){return t.formatter.getCssText({block:"table",classes:[e.value]})})})}),u={type:"form",layout:"flex",direction:"column",labelGapCalc:"children",padding:0,items:[{type:"form",labelGapCalc:!1,padding:0,layout:"grid",columns:2,defaults:{type:"textbox",maxWidth:50},items:(s=t,s.getParam("table_appearance_options",!0,"boolean")?[r,o,{label:"Width",name:"width",onchange:b(Va.updateStyleField,t)},{label:"Height",name:"height",onchange:b(Va.updateStyleField,t)},{label:"Cell spacing",name:"cellspacing"},{label:"Cell padding",name:"cellpadding"},{label:"Border",name:"border"},{label:"Caption",name:"caption",type:"checkbox"}]:[r,o,{label:"Width",name:"width",onchange:b(Va.updateStyleField,t)},{label:"Height",name:"height",onchange:b(Va.updateStyleField,t)}])},{label:"Alignment",name:"align",type:"listbox",text:"None",values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},i]},Ta(t)?t.windowManager.open({title:"Table properties",data:m,bodyType:"tabpanel",body:[{title:"General",type:"form",items:u},Va.createStyleForm(t)],onsubmit:b(nc,t,n)}):t.windowManager.open({title:"Table properties",data:m,body:u,onsubmit:b(nc,t,n)})},oc=_a.each,ic=function(a,t,c,l,n){var r=ga(a),e=function(e){return function(){return S.from(a.dom.getParent(a.selection.getStart(),e)).map(De.fromDom)}},o=e("caption"),f=e("th,td"),s=function(e){return gn.table(e,r)},d=function(e){return{width:da(e.dom()),height:da(e.dom())}},i=function(n){f().each(function(t){s(t).each(function(i){var e=Gr.forMenu(l,i,t),u=d(i);n(i,e).each(function(e){var t,n,r,o;t=a,n=u,o=d(r=i),n.width===o.width&&n.height===o.height||(Ia(t,r.dom(),n.width,n.height),Ba(t,r.dom(),o.width,o.height)),a.selection.setRng(e),a.focus(),c.clear(i),pa(i)})})})},u=function(e){return f().bind(function(o){return s(o).bind(function(e){var t=De.fromDom(a.getDoc()),n=Gr.forMenu(l,e,o),r=Fn(y,t,S.none());return Ma(e,n,r)})})},m=function(u){n.get().each(function(e){var i=k(e,function(e){return Bn(e)});f().each(function(o){s(o).each(function(t){var e=De.fromDom(a.getDoc()),n=zn(e),r=Gr.pasteRows(l,t,o,i,n);u(t,r).each(function(e){a.selection.setRng(e),a.focus(),c.clear(t)})})})})};oc({mceTableSplitCells:function(){i(t.unmergeCells)},mceTableMergeCells:function(){i(t.mergeCells)},mceTableInsertRowBefore:function(){i(t.insertRowsBefore)},mceTableInsertRowAfter:function(){i(t.insertRowsAfter)},mceTableInsertColBefore:function(){i(t.insertColumnsBefore)},mceTableInsertColAfter:function(){i(t.insertColumnsAfter)},mceTableDeleteCol:function(){i(t.deleteColumn)},mceTableDeleteRow:function(){i(t.deleteRow)},mceTableCutRow:function(e){n.set(u()),i(t.deleteRow)},mceTableCopyRow:function(e){n.set(u())},mceTablePasteRowBefore:function(e){m(t.pasteRowsBefore)},mceTablePasteRowAfter:function(e){m(t.pasteRowsAfter)},mceTableDelete:function(){f().orThunk(o).each(function(e){gn.table(e,r).filter(g(r)).each(function(e){var t=De.fromText("");Et(e,t),Mt(e);var n=a.dom.createRng();n.setStart(t.dom(),0),n.setEnd(t.dom(),0),a.selection.setRng(n)})})}},function(e,t){a.addCommand(t,e)}),oc({mceInsertTable:b(rc,a),mceTableProps:b(rc,a,!0),mceTableRowProps:b(Ka,a),mceTableCellProps:b(Ya,a)},function(n,e){a.addCommand(e,function(e,t){n(t)})})},uc=function(e){var t=S.from(e.dom().documentElement).map(De.fromDom).getOr(e);return{parent:C(t),view:C(e),origin:C(vo(0,0))}},ac=function(e,t){return{parent:C(t),view:C(e),origin:C(vo(0,0))}};function cc(e){var n=$.apply(null,e),r=[];return{bind:function(e){if(e===undefined)throw"Event bind error: undefined handler";r.push(e)},unbind:function(t){r=I(r,function(e){return e!==t})},trigger:function(){var t=n.apply(null,arguments);P(r,function(e){e(t)})}}}var lc={create:function(e){return{registry:K(e,function(e){return{bind:e.bind,unbind:e.unbind}}),trigger:K(e,function(e){return e.trigger})}}},fc={mode:_u(["compare","extract","mutate","sink"]),sink:_u(["element","start","stop","destroy"]),api:_u(["forceDrop","drop","move","delayDrop"])},sc={resolve:ni("ephox-dragster").resolve},dc=function(m,g){return function(e){if(m(e)){var t,n,r,o,i,u,a,c=De.fromDom(e.target),l=function(){e.stopPropagation()},f=function(){e.preventDefault()},s=x(f,l),d=(t=c,n=e.clientX,r=e.clientY,o=l,i=f,u=s,a=e,{target:C(t),x:C(n),y:C(r),stop:o,prevent:i,kill:u,raw:C(a)});g(d)}}},mc=function(e,t,n,r){return o=e,i=t,u=!1,a=dc(n,r),o.dom().addEventListener(i,a,u),{unbind:b(gc,o,i,a,u)};var o,i,u,a},gc=function(e,t,n,r){e.dom().removeEventListener(t,n,r)},hc=C(!0),pc=function(e,t,n){return mc(e,t,hc,n)},vc=fc.mode({compare:function(e,t){return vo(t.left()-e.left(),t.top()-e.top())},extract:function(e){return S.some(vo(e.x(),e.y()))},sink:function(e,t){var n,r,o,i=(n=t,r=_o({layerClass:sc.resolve("blocker")},n),o=De.fromTag("div"),pe(o,"role","presentation"),Pe(o,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),Yo(o,sc.resolve("blocker")),Yo(o,r.layerClass),{element:function(){return o},destroy:function(){Mt(o)}}),u=pc(i.element(),"mousedown",e.forceDrop),a=pc(i.element(),"mouseup",e.drop),c=pc(i.element(),"mousemove",e.move),l=pc(i.element(),"mouseout",e.delayDrop);return fc.sink({element:i.element,start:function(e){kt(e,i.element())},stop:function(){Mt(i.element())},destroy:function(){i.destroy(),a.unbind(),c.unbind(),l.unbind(),u.unbind()}})},mutate:function(e,t){e.mutate(t.left(),t.top())}});function bc(){var i=S.none(),u=lc.create({move:cc(["info"])});return{onEvent:function(e,o){o.extract(e).each(function(e){var t,n,r;(t=o,n=e,r=i.map(function(e){return t.compare(e,n)}),i=S.some(n),r).each(function(e){u.trigger.move(e)})})},reset:function(){i=S.none()},events:u.registry}}function wc(){var e={onEvent:function(e,t){},reset:y},t=bc(),n=e;return{on:function(){n.reset(),n=t},off:function(){n.reset(),n=e},isOn:function(){return n===t},onEvent:function(e,t){n.onEvent(e,t)},events:t.events}}var yc=function(t,n,e){var r,o,i,u=!1,a=lc.create({start:cc([]),stop:cc([])}),c=wc(),l=function(){d.stop(),c.isOn()&&(c.off(),a.trigger.stop())},f=(r=l,o=200,i=null,{cancel:function(){null!==i&&(m.clearTimeout(i),i=null)},throttle:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];null!==i&&m.clearTimeout(i),i=m.setTimeout(function(){r.apply(null,e),i=null},o)}});c.events.move.bind(function(e){n.mutate(t,e.info())});var s=function(t){return function(){var e=Array.prototype.slice.call(arguments,0);if(u)return t.apply(null,e)}},d=n.sink(fc.api({forceDrop:l,drop:s(l),move:s(function(e,t){f.cancel(),c.onEvent(e,n)}),delayDrop:s(f.throttle)}),e);return{element:d.element,go:function(e){d.start(e),c.on(),a.trigger.start()},on:function(){u=!0},off:function(){u=!1},destroy:function(){d.destroy()},events:a.registry}},xc={transform:function(e,t){var n=t!==undefined?t:{},r=n.mode!==undefined?n.mode:vc;return yc(e,r,t)}},Cc=function(e,t,n){return un(e,t,n).isSome()};function Sc(){var n,r=lc.create({drag:cc(["xDelta","yDelta","target"])}),o=S.none(),e={mutate:function(e,t){n.trigger.drag(e,t)},events:(n=lc.create({drag:cc(["xDelta","yDelta"])})).registry};return e.events.drag.bind(function(t){o.each(function(e){r.trigger.drag(t.xDelta(),t.yDelta(),e)})}),{assign:function(e){o=S.some(e)},get:function(){return o},mutate:e.mutate,events:r.registry}}var Rc=ri.resolve("resizer-bar-dragging");function Tc(e,n){var r=ko.height,t=function(o,t,i){var n=Sc(),r=xc.transform(n,{}),u=S.none(),e=function(e,t){return S.from(be(e,t))};n.events.drag.bind(function(n){e(n.target(),"data-row").each(function(e){var t=gu.getInt(n.target(),"top");ke(n.target(),"top",t+n.yDelta()+"px")}),e(n.target(),"data-column").each(function(e){var t=gu.getInt(n.target(),"left");ke(n.target(),"left",t+n.xDelta()+"px")})});var a=function(e,t){return gu.getInt(e,t)-parseInt(be(e,"data-initial-"+t),10)};r.events.stop.bind(function(){n.get().each(function(r){u.each(function(n){e(r,"data-row").each(function(e){var t=a(r,"top");ye(r,"data-initial-top"),d.trigger.adjustHeight(n,t,parseInt(e,10))}),e(r,"data-column").each(function(e){var t=a(r,"left");ye(r,"data-initial-left"),d.trigger.adjustWidth(n,t,parseInt(e,10))}),mi.refresh(o,n,i,t)})})});var c=function(e,t){d.trigger.startAdjust(),n.assign(e),pe(e,"data-initial-"+t,parseInt(Ie(e,t),10)),Yo(e,Rc),ke(e,"opacity","0.2"),r.go(o.parent())},l=pc(o.parent(),"mousedown",function(e){mi.isRowBar(e.target())&&c(e.target(),"top"),mi.isColBar(e.target())&&c(e.target(),"left")}),f=function(e){return bt(e,o.view())},s=pc(o.view(),"mouseover",function(e){"table"===ce(e.target())||Cc(e.target(),"table",f)?(u="table"===ce(e.target())?S.some(e.target()):nn(e.target(),"table",f)).each(function(e){mi.refresh(o,e,i,t)}):Oe(e.target())&&mi.destroy(o)}),d=lc.create({adjustHeight:cc(["table","delta","row"]),adjustWidth:cc(["table","delta","column"]),startAdjust:cc([])});return{destroy:function(){l.unbind(),s.unbind(),r.destroy(),mi.destroy(o)},refresh:function(e){mi.refresh(o,e,i,t)},on:r.on,off:r.off,hideBars:b(mi.hide,o),showBars:b(mi.show,o),events:d.registry}}(e,n,r),o=lc.create({beforeResize:cc(["table"]),afterResize:cc(["table"]),startDrag:cc([])});return t.events.adjustHeight.bind(function(e){o.trigger.beforeResize(e.table());var t=r.delta(e.delta());Pu(e.table(),t,e.row(),r),o.trigger.afterResize(e.table())}),t.events.startAdjust.bind(function(e){o.trigger.startDrag()}),t.events.adjustWidth.bind(function(e){o.trigger.beforeResize(e.table());var t=n.delta(e.delta(),e.table());ku(e.table(),t,e.column(),n),o.trigger.afterResize(e.table())}),{on:t.on,off:t.off,hideBars:t.hideBars,showBars:t.showBars,destroy:t.destroy,events:o.registry}}var Dc=function(e,t){return e.inline?ac(sa(e),(n=De.fromTag("div"),Pe(n,{position:"static",height:"0",width:"0",padding:"0",margin:"0",border:"0"}),kt(Ne(),n),n)):uc(De.fromDom(e.getDoc()));var n},Oc=function(e,t){e.inline&&Mt(t.parent())},Nc=function(u){var a,c,o=S.none(),i=S.none(),l=S.none(),f=/(\d+(\.\d+)?)%/,s=function(e){return"TABLE"===e.nodeName};return u.on("init",function(){var e,t=Io(wa.directionAt),n=Dc(u);if(l=S.some(n),("table"===(e=u.getParam("object_resizing",!0))||e)&&u.getParam("table_resize_bars",!0,"boolean")){var r=Tc(n,t);r.on(),r.events.startDrag.bind(function(e){o=S.some(u.selection.getRng())}),r.events.beforeResize.bind(function(e){var t=e.table().dom();Ia(u,t,da(t),ma(t))}),r.events.afterResize.bind(function(e){var t=e.table(),n=t.dom();pa(t),o.each(function(e){u.selection.setRng(e),u.focus()}),Ba(u,n,da(n),ma(n)),u.undoManager.add()}),i=S.some(r)}}),u.on("ObjectResizeStart",function(e){var t,n=e.target;s(n)&&(a=e.width,t=n,c=u.dom.getStyle(t,"width")||u.dom.getAttrib(t,"width"))}),u.on("ObjectResized",function(e){var t=e.target;if(s(t)){var n=t;if(f.test(c)){var r=parseFloat(f.exec(c)[1]),o=e.width*r/a;u.dom.setStyle(n,"width",o+"%")}else{var i=[];_a.each(n.rows,function(e){_a.each(e.cells,function(e){var t=u.dom.getStyle(e,"width",!0);i.push({cell:e,width:t})})}),_a.each(i,function(e){u.dom.setStyle(e.cell,"width",e.width),u.dom.setAttrib(e.cell,"width",null)})}}}),{lazyResize:function(){return i},lazyWire:function(){return l.getOr(uc(De.fromDom(u.getBody())))},destroy:function(){i.each(function(e){e.destroy()}),l.each(function(e){Oc(u,e)})}}},Ec=function(e){return{fold:e}},Ac=function(o){return Ec(function(e,t,n,r){return e(o)})},kc=function(o){return Ec(function(e,t,n,r){return t(o)})},Pc=function(o,i){return Ec(function(e,t,n,r){return n(o,i)})},Ic=function(o){return Ec(function(e,t,n,r){return r(o)})},Bc=function(n,e){return gn.table(n,e).bind(function(e){var t=gn.cells(e);return L(t,function(e){return bt(n,e)}).map(function(e){return{index:C(e),all:C(t)}})})},Wc=function(t,e){return Bc(t,e).fold(function(){return Ac(t)},function(e){return e.index()+1<e.all().length?Pc(t,e.all()[e.index()+1]):Ic(t)})},Mc=function(t,e){return Bc(t,e).fold(function(){return Ac()},function(e){return 0<=e.index()-1?Pc(t,e.all()[e.index()-1]):kc(t)})},_c=_r([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),Lc={before:_c.before,on:_c.on,after:_c.after,cata:function(e,t,n,r){return e.fold(t,n,r)},getStart:function(e){return e.fold(o,o,o)}},jc=_r([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),Fc=$("start","soffset","finish","foffset"),zc=function(e){var t,n=e.match({domRange:function(e){return De.fromDom(e.startContainer)},relative:function(e,t){return Lc.getStart(e)},exact:function(e,t,n,r){return e}});return t=n.dom().ownerDocument.defaultView,De.fromDom(t)},Hc=jc.relative,Uc=jc.exact,qc=function(e,t,n,r){var o,i,u,a,c,l=(i=t,u=n,a=r,(c=xt(o=e).dom().createRange()).setStart(o.dom(),i),c.setEnd(u.dom(),a),c),f=bt(e,n)&&t===r;return l.collapsed&&!f},Vc=function(e,t){e.selectNodeContents(t.dom())},Gc=function(e,t,n){var r,o,i=e.document.createRange();return r=i,t.fold(function(e){r.setStartBefore(e.dom())},function(e,t){r.setStart(e.dom(),t)},function(e){r.setStartAfter(e.dom())}),o=i,n.fold(function(e){o.setEndBefore(e.dom())},function(e,t){o.setEnd(e.dom(),t)},function(e){o.setEndAfter(e.dom())}),i},Yc=function(e,t,n,r,o){var i=e.document.createRange();return i.setStart(t.dom(),n),i.setEnd(r.dom(),o),i},Xc=function(e){return{left:C(e.left),top:C(e.top),right:C(e.right),bottom:C(e.bottom),width:C(e.width),height:C(e.height)}},Kc=_r([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),Jc=function(e,t,n){return t(De.fromDom(n.startContainer),n.startOffset,De.fromDom(n.endContainer),n.endOffset)},$c=function(e,t){var o,n,r,i=(o=e,t.match({domRange:function(e){return{ltr:C(e),rtl:S.none}},relative:function(e,t){return{ltr:Re(function(){return Gc(o,e,t)}),rtl:Re(function(){return S.some(Gc(o,t,e))})}},exact:function(e,t,n,r){return{ltr:Re(function(){return Yc(o,e,t,n,r)}),rtl:Re(function(){return S.some(Yc(o,n,r,e,t))})}}}));return(r=(n=i).ltr()).collapsed?n.rtl().filter(function(e){return!1===e.collapsed}).map(function(e){return Kc.rtl(De.fromDom(e.endContainer),e.endOffset,De.fromDom(e.startContainer),e.startOffset)}).getOrThunk(function(){return Jc(0,Kc.ltr,r)}):Jc(0,Kc.ltr,r)},Qc=function(i,e){return $c(i,e).match({ltr:function(e,t,n,r){var o=i.document.createRange();return o.setStart(e.dom(),t),o.setEnd(n.dom(),r),o},rtl:function(e,t,n,r){var o=i.document.createRange();return o.setStart(n.dom(),r),o.setEnd(e.dom(),t),o}})},Zc=function(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom},el=function(n,r,e,t,o){var i=function(e){var t=n.dom().createRange();return t.setStart(r.dom(),e),t.collapse(!0),t},u=Sn(r).length,a=function(e,t,n,r,o){if(0===o)return 0;if(t===r)return o-1;for(var i=r,u=1;u<o;u++){var a=e(u),c=Math.abs(t-a.left);if(n<=a.bottom){if(n<a.top||i<c)return u-1;i=c}}return 0}(function(e){return i(e).getBoundingClientRect()},e,t,o.right,u);return i(a)},tl=function(t,n,r,o){var e=t.dom().createRange();e.selectNode(n.dom());var i=e.getClientRects();return jo(i,function(e){return Zc(e,r,o)?S.some(e):S.none()}).map(function(e){return el(t,n,r,o,e)})},nl=function(t,e,n,r){var o=t.dom().createRange(),i=Dt(e);return jo(i,function(e){return o.selectNode(e.dom()),Zc(o.getBoundingClientRect(),n,r)?rl(t,e,n,r):S.none()})},rl=function(e,t,n,r){return(me(t)?tl:nl)(e,t,n,r)},ol=function(e,t){return t-e.left<e.right-t},il=function(e,t,n){var r=e.dom().createRange();return r.selectNode(t.dom()),r.collapse(n),r},ul=function(t,e,n){var r=t.dom().createRange();r.selectNode(e.dom());var o=r.getBoundingClientRect(),i=ol(o,n);return(!0===i?En:An)(e).map(function(e){return il(t,e,i)})},al=function(e,t,n){var r=t.dom().getBoundingClientRect(),o=ol(r,n);return S.some(il(e,t,o))},cl=function(e,t,n,r){var o=e.dom().createRange();o.selectNode(t.dom());var i=o.getBoundingClientRect();return function(e,t,n,r){var o=e.dom().createRange();o.selectNode(t.dom());var i=o.getBoundingClientRect(),u=Math.max(i.left,Math.min(i.right,n)),a=Math.max(i.top,Math.min(i.bottom,r));return rl(e,t,u,a)}(e,t,Math.max(i.left,Math.min(i.right,n)),Math.max(i.top,Math.min(i.bottom,r)))},ll=document.caretPositionFromPoint?function(n,e,t){return S.from(n.dom().caretPositionFromPoint(e,t)).bind(function(e){if(null===e.offsetNode)return S.none();var t=n.dom().createRange();return t.setStart(e.offsetNode,e.offset),t.collapse(),S.some(t)})}:document.caretRangeFromPoint?function(e,t,n){return S.from(e.dom().caretRangeFromPoint(t,n))}:function(o,i,t){return De.fromPoint(o,i,t).bind(function(r){var e=function(){return e=o,n=i,(0===Dt(t=r).length?al:ul)(e,t,n);var e,t,n};return 0===Dt(r).length?e():cl(o,r,i,t).orThunk(e)})},fl=function(e,t){var n=ce(e);return"input"===n?Lc.after(e):E(["br","img"],n)?0===t?Lc.before(e):Lc.after(e):Lc.on(e,t)},sl=function(e,t){var n=e.fold(Lc.before,fl,Lc.after),r=t.fold(Lc.before,fl,Lc.after);return Hc(n,r)},dl=function(e,t,n,r){var o=fl(e,t),i=fl(n,r);return Hc(o,i)},ml=function(e,t){S.from(e.getSelection()).each(function(e){e.removeAllRanges(),e.addRange(t)})},gl=function(e,t,n,r,o){var i=Yc(e,t,n,r,o);ml(e,i)},hl=function(s,e){return $c(s,e).match({ltr:function(e,t,n,r){gl(s,e,t,n,r)},rtl:function(e,t,n,r){var o,i,u,a,c,l=s.getSelection();if(l.setBaseAndExtent)l.setBaseAndExtent(e.dom(),t,n.dom(),r);else if(l.extend)try{i=e,u=t,a=n,c=r,(o=l).collapse(i.dom(),u),o.extend(a.dom(),c)}catch(f){gl(s,n,r,e,t)}else gl(s,n,r,e,t)}})},pl=function(e){var o=zc(e).dom(),t=function(e,t,n,r){return Yc(o,e,t,n,r)},n=e.match({domRange:function(e){var t=De.fromDom(e.startContainer),n=De.fromDom(e.endContainer);return dl(t,e.startOffset,n,e.endOffset)},relative:sl,exact:dl});return $c(o,n).match({ltr:t,rtl:t})},vl=function(e){var t=De.fromDom(e.anchorNode),n=De.fromDom(e.focusNode);return qc(t,e.anchorOffset,n,e.focusOffset)?S.some(Fc(t,e.anchorOffset,n,e.focusOffset)):function(e){if(0<e.rangeCount){var t=e.getRangeAt(0),n=e.getRangeAt(e.rangeCount-1);return S.some(Fc(De.fromDom(t.startContainer),t.startOffset,De.fromDom(n.endContainer),n.endOffset))}return S.none()}(e)},bl=function(e,t){var n,r,o=(n=t,r=e.document.createRange(),Vc(r,n),r);ml(e,o)},wl=function(e){return(t=e,S.from(t.getSelection()).filter(function(e){return 0<e.rangeCount}).bind(vl)).map(function(e){return Uc(e.start(),e.soffset(),e.finish(),e.foffset())});var t},yl=function(e,t){var n,r,o,i=Qc(e,t);return r=(n=i).getClientRects(),0<(o=0<r.length?r[0]:n.getBoundingClientRect()).width||0<o.height?S.some(o).map(Xc):S.none()},xl=function(e,t,n){return r=e,o=t,i=n,u=De.fromDom(r.document),ll(u,o,i).map(function(e){return Fc(De.fromDom(e.startContainer),e.startOffset,De.fromDom(e.endContainer),e.endOffset)});var r,o,i,u},Cl=tinymce.util.Tools.resolve("tinymce.util.VK"),Sl=function(e,t,n,r){return Ol(e,t,Wc(n),r)},Rl=function(e,t,n,r){return Ol(e,t,Mc(n),r)},Tl=function(e,t){var n=Uc(t,0,t,0);return pl(n)},Dl=function(e,t){var n,r=Xt(t,"tr");return(n=r,0===n.length?S.none():S.some(n[n.length-1])).bind(function(e){return on(e,"td,th").map(function(e){return Tl(0,e)})})},Ol=function(r,e,t,o,n){return t.fold(S.none,S.none,function(e,t){return En(t).map(function(e){return Tl(0,e)})},function(n){return gn.table(n,e).bind(function(e){var t=Gr.noMenu(n);return r.undoManager.transact(function(){o.insertRowsAfter(e,t)}),Dl(0,e)})})},Nl=["table","li","dl"],El=function(t,n,r,o){if(t.keyCode===Cl.TAB){var i=sa(n),u=function(e){var t=ce(e);return bt(e,i)||E(Nl,t)},e=n.selection.getRng();if(e.collapsed){var a=De.fromDom(e.startContainer);gn.cell(a,u).each(function(e){t.preventDefault(),(t.shiftKey?Rl:Sl)(n,u,e,r,o).each(function(e){n.selection.setRng(e)})})}}},Al={response:$("selection","kill")},kl=function(t){return function(e){return e===t}},Pl=kl(38),Il=kl(40),Bl={ltr:{isBackward:kl(37),isForward:kl(39)},rtl:{isBackward:kl(39),isForward:kl(37)},isUp:Pl,isDown:Il,isNavigation:function(e){return 37<=e&&e<=40}},Wl=function(e,t){var n=Qc(e,t);return{start:C(De.fromDom(n.startContainer)),soffset:C(n.startOffset),finish:C(De.fromDom(n.endContainer)),foffset:C(n.endOffset)}},Ml=function(e,t,n,r){return{start:C(Lc.on(e,t)),finish:C(Lc.on(n,r))}};function _l(a){return{elementFromPoint:function(e,t){return De.fromPoint(De.fromDom(a.document),e,t)},getRect:function(e){return e.dom().getBoundingClientRect()},getRangedRect:function(e,t,n,r){var o=Uc(e,t,n,r);return yl(a,o).map(function(e){return K(e,c)})},getSelection:function(){return wl(a).map(function(e){return Wl(a,e)})},fromSitus:function(e){var t=Hc(e.start(),e.finish());return Wl(a,t)},situsFromPoint:function(e,t){return xl(a,e,t).map(function(e){return{start:C(Lc.on(e.start(),e.soffset())),finish:C(Lc.on(e.finish(),e.foffset()))}})},clearSelection:function(){a.getSelection().removeAllRanges()},setSelection:function(e){var t,n,r,o,i,u;t=a,n=e.start(),r=e.soffset(),o=e.finish(),i=e.foffset(),u=dl(n,r,o,i),hl(t,u)},setRelativeSelection:function(e,t){var n,r;n=a,r=sl(e,t),hl(n,r)},selectContents:function(e){bl(a,e)},getInnerHeight:function(){return a.innerHeight},getScrollY:function(){var e,t,n,r;return(e=De.fromDom(a.document),t=e!==undefined?e.dom():m.document,n=t.body.scrollLeft||t.documentElement.scrollLeft,r=t.body.scrollTop||t.documentElement.scrollTop,vo(n,r)).top()},scrollBy:function(e,t){var n,r,o;n=e,r=t,((o=De.fromDom(a.document))!==undefined?o.dom():m.document).defaultView.scrollBy(n,r)}}}mt.detect().browser.isSafari();var Ll=function(n,e,r,t,o){return bt(r,t)?S.none():Or(r,t,e).bind(function(e){var t=e.boxes().getOr([]);return 0<t.length?(o(n,t,e.start(),e.finish()),S.some(Al.response(S.some(Ml(r,0,r,Dn(r))),!0))):S.none()})},jl={sync:function(n,r,e,t,o,i,u){return bt(e,o)&&t===i?S.none():un(e,"td,th",r).bind(function(t){return un(o,"td,th",r).bind(function(e){return Ll(n,r,t,e,u)})})},detect:Ll,update:function(e,t,n,r,o){return Er(r,e,t,o.firstSelectedSelector(),o.lastSelectedSelector()).map(function(e){return o.clear(n),o.selectRange(n,e.boxes(),e.start(),e.finish()),e.boxes()})}},Fl=re(["left","top","right","bottom"],[]),zl={nu:Fl,moveUp:function(e,t){return Fl({left:e.left(),top:e.top()-t,right:e.right(),bottom:e.bottom()-t})},moveDown:function(e,t){return Fl({left:e.left(),top:e.top()+t,right:e.right(),bottom:e.bottom()+t})},moveBottomTo:function(e,t){var n=e.bottom()-e.top();return Fl({left:e.left(),top:t-n,right:e.right(),bottom:t})},moveTopTo:function(e,t){var n=e.bottom()-e.top();return Fl({left:e.left(),top:t,right:e.right(),bottom:t+n})},getTop:function(e){return e.top()},getBottom:function(e){return e.bottom()},translate:function(e,t,n){return Fl({left:e.left()+t,top:e.top()+n,right:e.right()+t,bottom:e.bottom()+n})},toString:function(e){return"("+e.left()+", "+e.top()+") -> ("+e.right()+", "+e.bottom()+")"}},Hl=function(e){return zl.nu({left:e.left,top:e.top,right:e.right,bottom:e.bottom})},Ul=function(e,t){return S.some(e.getRect(t))},ql=function(e,t,n){return de(t)?Ul(e,t).map(Hl):me(t)?(r=e,o=t,i=n,0<=i&&i<Dn(o)?r.getRangedRect(o,i,o,i+1):0<i?r.getRangedRect(o,i-1,o,i):S.none()).map(Hl):S.none();var r,o,i},Vl=function(e,t){return de(t)?Ul(e,t).map(Hl):me(t)?e.getRangedRect(t,0,t,Dn(t)).map(Hl):S.none()},Gl=$("item","mode"),Yl=function(e,t,n,r){return void 0===r&&(r=Xl),e.property().parent(t).map(function(e){return Gl(e,r)})},Xl=function(e,t,n,r){return void 0===r&&(r=Kl),n.sibling(e,t).map(function(e){return Gl(e,r)})},Kl=function(e,t,n,r){void 0===r&&(r=Kl);var o=e.property().children(t);return n.first(o).map(function(e){return Gl(e,r)})},Jl=[{current:Yl,next:Xl,fallback:S.none()},{current:Xl,next:Kl,fallback:S.some(Yl)},{current:Kl,next:Kl,fallback:S.some(Xl)}],$l=function(t,n,r,o,e){return void 0===e&&(e=Jl),_(e,function(e){return e.current===r}).bind(function(e){return e.current(t,n,o,e.next).orThunk(function(){return e.fallback.bind(function(e){return $l(t,n,e,o)})})})},Ql=function(){return{sibling:function(e,t){return e.query().prevSibling(t)},first:function(e){return 0<e.length?S.some(e[e.length-1]):S.none()}}},Zl=function(){return{sibling:function(e,t){return e.query().nextSibling(t)},first:function(e){return 0<e.length?S.some(e[0]):S.none()}}},ef=function(t,e,n,r,o,i){return $l(t,e,r,o).bind(function(e){return i(e.item())?S.none():n(e.item())?S.some(e.item()):ef(t,e.item(),n,e.mode(),o,i)})},tf=function(t){return function(e){return 0===t.property().children(e).length}},nf=function(e,t,n,r){return ef(e,t,n,Xl,Ql(),r)},rf=function(e,t,n,r){return ef(e,t,n,Xl,Zl(),r)},of=Un(),uf=function(e,t){return r=t,nf(n=of,e,tf(n),r);var n,r},af=function(e,t){return r=t,rf(n=of,e,tf(n),r);var n,r},cf=_r([{none:[]},{retry:["caret"]}]),lf=function(t,e,r){return(n=e,o=Ju,Kt(function(e){return o(e)},tn,n,o,i)).fold(C(!1),function(e){return Vl(t,e).exists(function(e){return n=e,(t=r).left()<n.left()||Math.abs(n.right()-t.left())<1||t.left()>n.right();var t,n})});var n,o,i},ff={point:zl.getTop,adjuster:function(e,t,n,r,o){var i=zl.moveUp(o,5);return Math.abs(n.top()-r.top())<1?cf.retry(i):n.bottom()<o.top()?cf.retry(i):n.bottom()===o.top()?cf.retry(zl.moveUp(o,1)):lf(e,t,o)?cf.retry(zl.translate(i,5,0)):cf.none()},move:zl.moveUp,gather:uf},sf={point:zl.getBottom,adjuster:function(e,t,n,r,o){var i=zl.moveDown(o,5);return Math.abs(n.bottom()-r.bottom())<1?cf.retry(i):n.top()>o.bottom()?cf.retry(i):n.top()===o.bottom()?cf.retry(zl.moveDown(o,1)):lf(e,t,o)?cf.retry(zl.translate(i,5,0)):cf.none()},move:zl.moveDown,gather:af},df=function(n,r,o,i,u){return 0===u?S.some(i):(c=n,l=i.left(),f=r.point(i),c.elementFromPoint(l,f).filter(function(e){return"table"===ce(e)}).isSome()?(t=i,a=u-1,df(n,e=r,o,e.move(t,5),a)):n.situsFromPoint(i.left(),r.point(i)).bind(function(e){return e.start().fold(S.none,function(t,e){return Vl(n,t,e).bind(function(e){return r.adjuster(n,t,e,o,i).fold(S.none,function(e){return df(n,r,o,e,u-1)})}).orThunk(function(){return S.some(i)})},S.none)}));var e,t,a,c,l,f},mf=function(t,n,e){var r,o,i,u=t.move(e,5),a=df(n,t,e,u,100).getOr(u);return(r=t,o=a,i=n,r.point(o)>i.getInnerHeight()?S.some(r.point(o)-i.getInnerHeight()):r.point(o)<0?S.some(-r.point(o)):S.none()).fold(function(){return n.situsFromPoint(a.left(),t.point(a))},function(e){return n.scrollBy(0,e),n.situsFromPoint(a.left(),t.point(a)-e)})},gf={tryUp:b(mf,ff),tryDown:b(mf,sf),ieTryUp:function(e,t){return e.situsFromPoint(t.left(),t.top()-5)},ieTryDown:function(e,t){return e.situsFromPoint(t.left(),t.bottom()+5)},getJumpSize:C(5)},hf=_r([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),pf=function(e){return un(e,"tr")},vf={verify:function(a,e,t,n,r,c,o){return un(n,"td,th",o).bind(function(u){return un(e,"td,th",o).map(function(i){return bt(u,i)?bt(n,u)&&Dn(u)===r?c(i):hf.none("in same cell"):lr.sharedOne(pf,[u,i]).fold(function(){return t=i,n=u,r=(e=a).getRect(t),(o=e.getRect(n)).right>r.left&&o.left<r.right?hf.success():c(i);var e,t,n,r,o},function(e){return c(i)})})}).getOr(hf.none("default"))},cata:function(e,t,n,r,o){return e.fold(t,n,r,o)},adt:hf},bf=$("element","offset"),wf=($("element","deltaOffset"),$("element","start","finish"),$("begin","end"),$("element","text"),$("ancestor","descendants","element","index"),$("parent","children","element","index")),yf=function(e,t){return L(e,b(bt,t))},xf=function(e){return"br"===ce(e)},Cf=function(e,t,n){return t(e,n).bind(function(e){return me(e)&&0===Sn(e).trim().length?Cf(e,t,n):S.some(e)})},Sf=function(t,e,n,r){return(o=e,i=n,Ot(o,i).filter(xf).orThunk(function(){return Ot(o,i-1).filter(xf)})).bind(function(e){return r.traverse(e).fold(function(){return Cf(e,r.gather,t).map(r.relative)},function(e){return(r=e,Ct(r).bind(function(t){var n=Dt(t);return yf(n,r).map(function(e){return wf(t,n,r,e)})})).map(function(e){return Lc.on(e.parent(),e.index())});var r})});var o,i},Rf=function(e,t,n,r){var o,i,u;return(xf(t)?(o=e,i=t,(u=r).traverse(i).orThunk(function(){return Cf(i,u.gather,o)}).map(u.relative)):Sf(e,t,n,r)).map(function(e){return{start:C(e),finish:C(e)}})},Tf=function(e){return vf.cata(e,function(e){return S.none()},function(){return S.none()},function(e){return S.some(bf(e,0))},function(e){return S.some(bf(e,Dn(e)))})},Df=mt.detect(),Of=function(r,o,i,u,a,c){return 0===c?S.none():Af(r,o,i,u,a).bind(function(e){var t=r.fromSitus(e),n=vf.verify(r,i,u,t.finish(),t.foffset(),a.failure,o);return vf.cata(n,function(){return S.none()},function(){return S.some(e)},function(e){return bt(i,e)&&0===u?Nf(r,i,u,zl.moveUp,a):Of(r,o,e,0,a,c-1)},function(e){return bt(i,e)&&u===Dn(e)?Nf(r,i,u,zl.moveDown,a):Of(r,o,e,Dn(e),a,c-1)})})},Nf=function(t,e,n,r,o){return ql(t,e,n).bind(function(e){return Ef(t,o,r(e,gf.getJumpSize()))})},Ef=function(e,t,n){return Df.browser.isChrome()||Df.browser.isSafari()||Df.browser.isFirefox()||Df.browser.isEdge()?t.otherRetry(e,n):Df.browser.isIE()?t.ieRetry(e,n):S.none()},Af=function(t,e,n,r,o){return ql(t,n,r).bind(function(e){return Ef(t,o,e)})},kf=function(t,n,r){return(o=t,i=n,u=r,o.getSelection().bind(function(r){return Rf(i,r.finish(),r.foffset(),u).fold(function(){return S.some(bf(r.finish(),r.foffset()))},function(e){var t=o.fromSitus(e),n=vf.verify(o,r.finish(),r.foffset(),t.finish(),t.foffset(),u.failure,i);return Tf(n)})})).bind(function(e){return Of(t,n,e.element(),e.offset(),r,20).map(t.fromSitus)});var o,i,u},Pf=mt.detect(),If=function(e,t){return tn(e,function(e){return Ct(e).exists(function(e){return bt(e,t)})},n).isSome();var n},Bf=function(t,r,o,e,i){return un(e,"td,th",r).bind(function(n){return un(n,"table",r).bind(function(e){return If(i,e)?kf(t,r,o).bind(function(t){return un(t.finish(),"td,th",r).map(function(e){return{start:C(n),finish:C(e),range:C(t)}})}):S.none()})})},Wf=function(e,t,n,r,o,i){return Pf.browser.isIE()?S.none():i(r,t).orThunk(function(){return Bf(e,t,n,r,o).map(function(e){var t=e.range();return Al.response(S.some(Ml(t.start(),t.soffset(),t.finish(),t.foffset())),!0)})})},Mf=function(e,t,n,r,o,i,u){return Bf(e,n,r,o,i).bind(function(e){return jl.detect(t,n,e.start(),e.finish(),u)})},_f=function(e,u){return un(e,"tr",u).bind(function(i){return un(i,"table",u).bind(function(e){var t,n,r,o=Xt(e,"tr");return bt(i,o[0])?(t=e,n=function(e){return An(e).isSome()},r=u,nf(of,t,n,r)).map(function(e){var t=Dn(e);return Al.response(S.some(Ml(e,t,e,t)),!0)}):S.none()})})},Lf=function(e,u){return un(e,"tr",u).bind(function(i){return un(i,"table",u).bind(function(e){var t,n,r,o=Xt(e,"tr");return bt(i,o[o.length-1])?(t=e,n=function(e){return En(e).isSome()},r=u,rf(of,t,n,r)).map(function(e){return Al.response(S.some(Ml(e,0,e,0)),!0)}):S.none()})})},jf=function(e,t){return un(e,"td,th",t)},Ff={down:{traverse:Tt,gather:af,relative:Lc.before,otherRetry:gf.tryDown,ieRetry:gf.ieTryDown,failure:vf.adt.failedDown},up:{traverse:Rt,gather:uf,relative:Lc.before,otherRetry:gf.tryUp,ieRetry:gf.ieTryUp,failure:vf.adt.failedUp}},zf=$("rows","cols"),Hf={mouse:function(e,t,n,r){var o,i,u,a,c,l,f=_l(e),s=(o=f,i=t,u=n,a=r,c=S.none(),l=function(){c=S.none()},{mousedown:function(e){a.clear(i),c=jf(e.target(),u)},mouseover:function(e){c.each(function(r){a.clear(i),jf(e.target(),u).each(function(n){Or(r,n,u).each(function(e){var t=e.boxes().getOr([]);(1<t.length||1===t.length&&!bt(r,n))&&(a.selectRange(i,t,e.start(),e.finish()),o.selectContents(n))})})})},mouseup:function(){c.each(l)}});return{mousedown:s.mousedown,mouseover:s.mouseover,mouseup:s.mouseup}},keyboard:function(e,c,l,f){var s=_l(e),d=function(){return f.clear(c),S.none()};return{keydown:function(e,t,n,r,o,i){var u=e.raw().which,a=!0===e.raw().shiftKey;return Nr(c,f.selectedSelector()).fold(function(){return Bl.isDown(u)&&a?b(Mf,s,c,l,Ff.down,r,t,f.selectRange):Bl.isUp(u)&&a?b(Mf,s,c,l,Ff.up,r,t,f.selectRange):Bl.isDown(u)?b(Wf,s,l,Ff.down,r,t,Lf):Bl.isUp(u)?b(Wf,s,l,Ff.up,r,t,_f):S.none},function(t){var e=function(e){return function(){return jo(e,function(e){return jl.update(e.rows(),e.cols(),c,t,f)}).fold(function(){return Ar(c,f.firstSelectedSelector(),f.lastSelectedSelector()).map(function(e){var t=Bl.isDown(u)||i.isForward(u)?Lc.after:Lc.before;return s.setRelativeSelection(Lc.on(e.first(),0),t(e.table())),f.clear(c),Al.response(S.none(),!0)})},function(e){return S.some(Al.response(S.none(),!0))})}};return Bl.isDown(u)&&a?e([zf(1,0)]):Bl.isUp(u)&&a?e([zf(-1,0)]):i.isBackward(u)&&a?e([zf(0,-1),zf(-1,0)]):i.isForward(u)&&a?e([zf(0,1),zf(1,0)]):Bl.isNavigation(u)&&!1===a?d:S.none})()},keyup:function(t,n,r,o,i){return Nr(c,f.selectedSelector()).fold(function(){var e=t.raw().which;return 0==(!0===t.raw().shiftKey)?S.none():Bl.isNavigation(e)?jl.sync(c,l,n,r,o,i,f.selectRange):S.none()},S.none)}}}},Uf=function(r,e){P(e,function(e){var t,n;n=e,qo(t=r)?t.dom().classList.remove(n):Go(t,n),Xo(t)})},qf={byClass:function(o){var t,n,i=(t=o.selected(),function(e){Yo(e,t)}),r=(n=[o.selected(),o.lastSelected(),o.firstSelected()],function(e){Uf(e,n)}),u=function(e){var t=Xt(e,o.selectedSelector());P(t,r)};return{clear:u,selectRange:function(e,t,n,r){u(e),P(t,i),Yo(n,o.firstSelected()),Yo(r,o.lastSelected())},selectedSelector:o.selectedSelector,firstSelectedSelector:o.firstSelectedSelector,lastSelectedSelector:o.lastSelectedSelector}},byAttr:function(o){var n=function(e){ye(e,o.selected()),ye(e,o.firstSelected()),ye(e,o.lastSelected())},i=function(e){pe(e,o.selected(),"1")},u=function(e){var t=Xt(e,o.selectedSelector());P(t,n)};return{clear:u,selectRange:function(e,t,n,r){u(e),P(t,i),pe(n,o.firstSelected(),"1"),pe(r,o.lastSelected(),"1")},selectedSelector:o.selectedSelector,firstSelectedSelector:o.firstSelectedSelector,lastSelectedSelector:o.lastSelectedSelector}}},Vf=function(e){return!1===Ko(De.fromDom(e.target),"ephox-snooker-resizer-bar")};function Gf(h,p){var v=re(["mousedown","mouseover","mouseup","keyup","keydown"],[]),b=S.none(),w=qf.byAttr(Mr);return h.on("init",function(e){var r=h.getWin(),o=sa(h),t=ga(h),n=Hf.mouse(r,o,t,w),a=Hf.keyboard(r,o,t,w),c=function(e,t){!0===e.raw().shiftKey&&(t.kill()&&e.kill(),t.selection().each(function(e){var t=Hc(e.start(),e.finish()),n=Qc(r,t);h.selection.setRng(n)}))},i=function(e){var t=f(e);if(t.raw().shiftKey&&Bl.isNavigation(t.raw().which)){var n=h.selection.getRng(),r=De.fromDom(n.startContainer),o=De.fromDom(n.endContainer);a.keyup(t,r,n.startOffset,o,n.endOffset).each(function(e){c(t,e)})}},u=function(e){var t=f(e);p().each(function(e){e.hideBars()});var n=h.selection.getRng(),r=De.fromDom(h.selection.getStart()),o=De.fromDom(n.startContainer),i=De.fromDom(n.endContainer),u=wa.directionAt(r).isRtl()?Bl.rtl:Bl.ltr;a.keydown(t,o,n.startOffset,i,n.endOffset,u).each(function(e){c(t,e)}),p().each(function(e){e.showBars()})},l=function(e){return e.hasOwnProperty("x")&&e.hasOwnProperty("y")},f=function(e){var t=De.fromDom(e.target),n=function(){e.stopPropagation()},r=function(){e.preventDefault()},o=x(r,n);return{target:C(t),x:C(l(e)?e.x:null),y:C(l(e)?e.y:null),stop:n,prevent:r,kill:o,raw:C(e)}},s=function(e){return 0===e.button},d=function(e){s(e)&&Vf(e)&&n.mousedown(f(e))},m=function(e){var t;(t=e).buttons!==undefined&&0==(1&t.buttons)||!Vf(e)||n.mouseover(f(e))},g=function(e){s(e)&&Vf(e)&&n.mouseup(f(e))};h.on("mousedown",d),h.on("mouseover",m),h.on("mouseup",g),h.on("keyup",i),h.on("keydown",u),h.on("nodechange",function(){var e=h.selection,t=De.fromDom(e.getStart()),n=De.fromDom(e.getEnd());lr.sharedOne(gn.table,[t,n]).fold(function(){w.clear(o)},y)}),b=S.some(v({mousedown:d,mouseover:m,mouseup:g,keyup:i,keydown:u}))}),{clear:w.clear,destroy:function(){b.each(function(e){})}}}var Yf=_a.each,Xf=function(t){var n=[];function e(e){return function(){t.execCommand(e)}}Yf("inserttable tableprops deletetable | cell row column".split(" "),function(e){"|"===e?n.push({text:"-"}):n.push(t.menuItems[e])}),t.addButton("table",{type:"menubutton",title:"Table",menu:n}),t.addButton("tableprops",{title:"Table properties",onclick:e("mceTableProps"),icon:"table"}),t.addButton("tabledelete",{title:"Delete table",onclick:e("mceTableDelete")}),t.addButton("tablecellprops",{title:"Cell properties",onclick:e("mceTableCellProps")}),t.addButton("tablemergecells",{title:"Merge cells",onclick:e("mceTableMergeCells")}),t.addButton("tablesplitcells",{title:"Split cell",onclick:e("mceTableSplitCells")}),t.addButton("tableinsertrowbefore",{title:"Insert row before",onclick:e("mceTableInsertRowBefore")}),t.addButton("tableinsertrowafter",{title:"Insert row after",onclick:e("mceTableInsertRowAfter")}),t.addButton("tabledeleterow",{title:"Delete row",onclick:e("mceTableDeleteRow")}),t.addButton("tablerowprops",{title:"Row properties",onclick:e("mceTableRowProps")}),t.addButton("tablecutrow",{title:"Cut row",onclick:e("mceTableCutRow")}),t.addButton("tablecopyrow",{title:"Copy row",onclick:e("mceTableCopyRow")}),t.addButton("tablepasterowbefore",{title:"Paste row before",onclick:e("mceTablePasteRowBefore")}),t.addButton("tablepasterowafter",{title:"Paste row after",onclick:e("mceTablePasteRowAfter")}),t.addButton("tableinsertcolbefore",{title:"Insert column before",onclick:e("mceTableInsertColBefore")}),t.addButton("tableinsertcolafter",{title:"Insert column after",onclick:e("mceTableInsertColAfter")}),t.addButton("tabledeletecol",{title:"Delete column",onclick:e("mceTableDeleteCol")})},Kf=function(t){var e,n=""===(e=t.getParam("table_toolbar",ya))||!1===e?[]:w(e)?e.split(/[ ,]/):R(e)?e:[];0<n.length&&t.addContextToolbar(function(e){return t.dom.is(e,"table")&&t.getBody().contains(e)},n.join(" "))},Jf=function(o,n){var r=S.none(),i=[],u=[],a=[],c=[],l=function(e){e.disabled(!0)},f=function(e){e.disabled(!1)},e=function(){var t=this;i.push(t),r.fold(function(){l(t)},function(e){f(t)})},t=function(){var t=this;u.push(t),r.fold(function(){l(t)},function(e){f(t)})};o.on("init",function(){o.on("nodechange",function(e){var t=S.from(o.dom.getParent(o.selection.getStart(),"th,td"));(r=t.bind(function(e){var t=De.fromDom(e);return gn.table(t).map(function(e){return Gr.forMenu(n,e,t)})})).fold(function(){P(i,l),P(u,l),P(a,l),P(c,l)},function(t){P(i,f),P(u,f),P(a,function(e){e.disabled(t.mergable().isNone())}),P(c,function(e){e.disabled(t.unmergable().isNone())})})})});var s=function(e,t,n,r){var o,i,u,a,c,l=r.getEl().getElementsByTagName("table")[0],f=r.isRtl()||"tl-tr"===r.parent().rel;for(l.nextSibling.innerHTML=t+1+" x "+(n+1),f&&(t=9-t),i=0;i<10;i++)for(o=0;o<10;o++)a=l.rows[i].childNodes[o].firstChild,c=(f?t<=o:o<=t)&&i<=n,e.dom.toggleClass(a,"mce-active",c),c&&(u=a);return u.parentNode},d=!1===o.getParam("table_grid",!0,"boolean")?{text:"Table",icon:"table",context:"table",onclick:m("mceInsertTable")}:{text:"Table",icon:"table",context:"table",ariaHideMenu:!0,onclick:function(e){e.aria&&(this.parent().hideAll(),e.stopImmediatePropagation(),o.execCommand("mceInsertTable"))},onshow:function(){s(o,0,0,this.menu.items()[0])},onhide:function(){var e=this.menu.items()[0].getEl().getElementsByTagName("a");o.dom.removeClass(e,"mce-active"),o.dom.addClass(e[0],"mce-active")},menu:[{type:"container",html:function(){var e="";e='<table role="grid" class="mce-grid mce-grid-border" aria-readonly="true">';for(var t=0;t<10;t++){e+="<tr>";for(var n=0;n<10;n++)e+='<td role="gridcell" tabindex="-1"><a id="mcegrid'+(10*t+n)+'" href="#" data-mce-x="'+n+'" data-mce-y="'+t+'"></a></td>';e+="</tr>"}return e+="</table>",e+='<div class="mce-text-center" role="presentation">1 x 1</div>'}(),onPostRender:function(){this.lastX=this.lastY=0},onmousemove:function(e){var t,n,r=e.target;"A"===r.tagName.toUpperCase()&&(t=parseInt(r.getAttribute("data-mce-x"),10),n=parseInt(r.getAttribute("data-mce-y"),10),(this.isRtl()||"tl-tr"===this.parent().rel)&&(t=9-t),t===this.lastX&&n===this.lastY||(s(o,t,n,e.control),this.lastX=t,this.lastY=n))},onclick:function(e){var t=this;"A"===e.target.tagName.toUpperCase()&&(e.preventDefault(),e.stopPropagation(),t.parent().cancel(),o.undoManager.transact(function(){ec(o,t.lastX+1,t.lastY+1)}),o.addVisual())}}]};function m(e){return function(){o.execCommand(e)}}var g={text:"Table properties",context:"table",onPostRender:e,onclick:m("mceTableProps")},h={text:"Delete table",context:"table",onPostRender:e,cmd:"mceTableDelete"},p={text:"Row",context:"table",menu:[{text:"Insert row before",onclick:m("mceTableInsertRowBefore"),onPostRender:t},{text:"Insert row after",onclick:m("mceTableInsertRowAfter"),onPostRender:t},{text:"Delete row",onclick:m("mceTableDeleteRow"),onPostRender:t},{text:"Row properties",onclick:m("mceTableRowProps"),onPostRender:t},{text:"-"},{text:"Cut row",onclick:m("mceTableCutRow"),onPostRender:t},{text:"Copy row",onclick:m("mceTableCopyRow"),onPostRender:t},{text:"Paste row before",onclick:m("mceTablePasteRowBefore"),onPostRender:t},{text:"Paste row after",onclick:m("mceTablePasteRowAfter"),onPostRender:t}]},v={text:"Column",context:"table",menu:[{text:"Insert column before",onclick:m("mceTableInsertColBefore"),onPostRender:t},{text:"Insert column after",onclick:m("mceTableInsertColAfter"),onPostRender:t},{text:"Delete column",onclick:m("mceTableDeleteCol"),onPostRender:t}]},b={separator:"before",text:"Cell",context:"table",menu:[{text:"Cell properties",onclick:m("mceTableCellProps"),onPostRender:t},{text:"Merge cells",onclick:m("mceTableMergeCells"),onPostRender:function(){var t=this;a.push(t),r.fold(function(){l(t)},function(e){t.disabled(e.mergable().isNone())})}},{text:"Split cell",onclick:m("mceTableSplitCells"),onPostRender:function(){var t=this;c.push(t),r.fold(function(){l(t)},function(e){t.disabled(e.unmergable().isNone())})}}]};o.addMenuItem("inserttable",d),o.addMenuItem("tableprops",g),o.addMenuItem("deletetable",h),o.addMenuItem("row",p),o.addMenuItem("column",v),o.addMenuItem("cell",b)},$f=function(n,r){return{insertTable:function(e,t){return ec(n,e,t)},setClipboardRows:function(e){return t=r,n=k(e,De.fromDom),void t.set(S.from(n));var t,n},getClipboardRows:function(){return r.get().fold(function(){},function(e){return k(e,function(e){return e.dom()})})}}};e.add("table",function(t){var n,r=Nc(t),e=Gf(t,r.lazyResize),o=Wa(t,r.lazyWire),i=(n=t,{get:function(){var e=sa(n);return kr(e,Mr.selectedSelector()).fold(function(){return n.selection.getStart()===undefined?jr.none():jr.single(n.selection)},function(e){return jr.multiple(e)})}}),u=Bu(S.none());return ic(t,o,e,i,u),Yr(t,i,o,e),Jf(t,i),Xf(t),Kf(t),t.on("PreInit",function(){t.serializer.addTempAttr(Mr.firstSelected()),t.serializer.addTempAttr(Mr.lastSelected())}),t.getParam("table_tab_navigation",!0,"boolean")&&t.on("keydown",function(e){El(e,t,o,r.lazyWire)}),t.on("remove",function(){r.destroy(),e.destroy()}),$f(t,u)})}(window);
|
1 |
+
!function(m){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),y=function(){},x=function(n,r){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return n(r.apply(null,e))}},C=function(e){return function(){return e}},o=function(e){return e};function b(r){for(var o=[],e=1;e<arguments.length;e++)o[e-1]=arguments[e];return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=o.concat(e);return r.apply(null,n)}}var t,n,r,i,u,g=function(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return!n.apply(null,e)}},f=C(!1),a=C(!0),c=f,l=a,s=function(){return d},d=(i={fold:function(e,t){return e()},is:c,isSome:c,isNone:l,getOr:r=function(e){return e},getOrThunk:n=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},getOrNull:function(){return null},getOrUndefined:function(){return undefined},or:r,orThunk:n,map:s,ap:s,each:function(){},bind:s,flatten:s,exists:c,forall:l,filter:s,equals:t=function(e){return e.isNone()},equals_:t,toArray:function(){return[]},toString:C("none()")},Object.freeze&&Object.freeze(i),i),h=function(n){var e=function(){return n},t=function(){return o},r=function(e){return e(n)},o={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:l,isNone:c,getOr:e,getOrThunk:e,getOrDie:e,getOrNull:e,getOrUndefined:e,or:t,orThunk:t,map:function(e){return h(e(n))},ap:function(e){return e.fold(s,function(e){return h(e(n))})},each:function(e){e(n)},bind:r,flatten:e,exists:r,forall:r,filter:function(e){return e(n)?o:d},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(c,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return o},S={some:h,none:s,from:function(e){return null===e||e===undefined?d:h(e)}},p=function(t){return function(e){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&(Array.prototype.isPrototypeOf(e)||e.constructor&&"Array"===e.constructor.name)?"array":"object"===t&&(String.prototype.isPrototypeOf(e)||e.constructor&&"String"===e.constructor.name)?"string":t}(e)===t}},v=p("string"),w=p("array"),R=p("boolean"),T=p("function"),D=p("number"),O=Array.prototype.slice,N=(u=Array.prototype.indexOf)===undefined?function(e,t){return L(e,t)}:function(e,t){return u.call(e,t)},E=function(e,t){return-1<N(e,t)},k=function(e,t){return _(e,t).isSome()},A=function(e,t){for(var n=e.length,r=new Array(n),o=0;o<n;o++){var i=e[o];r[o]=t(i,o,e)}return r},P=function(e,t){for(var n=0,r=e.length;n<r;n++)t(e[n],n,e)},I=function(e,t){for(var n=[],r=0,o=e.length;r<o;r++){var i=e[r];t(i,r,e)&&n.push(i)}return n},B=function(e,t,n){return function(e,t){for(var n=e.length-1;0<=n;n--)t(e[n],n,e)}(e,function(e){n=t(n,e)}),n},W=function(e,t,n){return P(e,function(e){n=t(n,e)}),n},M=function(e,t){for(var n=0,r=e.length;n<r;n++){var o=e[n];if(t(o,n,e))return S.some(o)}return S.none()},_=function(e,t){for(var n=0,r=e.length;n<r;n++)if(t(e[n],n,e))return S.some(n);return S.none()},L=function(e,t){for(var n=0,r=e.length;n<r;++n)if(e[n]===t)return n;return-1},F=Array.prototype.push,j=function(e){for(var t=[],n=0,r=e.length;n<r;++n){if(!w(e[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+e);F.apply(t,e[n])}return t},z=function(e,t){var n=A(e,t);return j(n)},H=function(e,t){for(var n=0,r=e.length;n<r;++n)if(!0!==t(e[n],n,e))return!1;return!0},U=function(e){var t=O.call(e,0);return t.reverse(),t},q=(T(Array.from)&&Array.from,Object.keys),V=function(e,t){for(var n=q(e),r=0,o=n.length;r<o;r++){var i=n[r];t(e[i],i,e)}},G=function(e,r){return Y(e,function(e,t,n){return{k:t,v:r(e,t,n)}})},Y=function(r,o){var i={};return V(r,function(e,t){var n=o(e,t,r);i[n.k]=n.v}),i},X=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];if(t.length!==n.length)throw new Error('Wrong number of arguments to struct. Expected "['+t.length+']", got '+n.length+" arguments");var r={};return P(t,function(e,t){r[e]=C(n[t])}),r}},K=function(e){return e.slice(0).sort()},J=function(e,t){throw new Error("All required keys ("+K(e).join(", ")+") were not specified. Specified keys were: "+K(t).join(", ")+".")},$=function(e){throw new Error("Unsupported keys for object: "+K(e).join(", "))},Q=function(t,e){if(!w(e))throw new Error("The "+t+" fields must be an array. Was: "+e+".");P(e,function(e){if(!v(e))throw new Error("The value "+e+" in the "+t+" fields was not a string.")})},Z=function(e){var n=K(e);M(n,function(e,t){return t<n.length-1&&e===n[t+1]}).each(function(e){throw new Error("The field: "+e+" occurs more than once in the combined fields: ["+n.join(", ")+"].")})},ee=function(o,i){var u=o.concat(i);if(0===u.length)throw new Error("You must specify at least one required or optional field.");return Q("required",o),Q("optional",i),Z(u),function(t){var n=q(t);H(o,function(e){return E(n,e)})||J(o,n);var e=I(n,function(e){return!E(u,e)});0<e.length&&$(e);var r={};return P(o,function(e){r[e]=C(t[e])}),P(i,function(e){r[e]=C(Object.prototype.hasOwnProperty.call(t,e)?S.some(t[e]):S.none())}),r}},te=(m.Node.ATTRIBUTE_NODE,m.Node.CDATA_SECTION_NODE,m.Node.COMMENT_NODE),ne=m.Node.DOCUMENT_NODE,re=(m.Node.DOCUMENT_TYPE_NODE,m.Node.DOCUMENT_FRAGMENT_NODE,m.Node.ELEMENT_NODE),oe=m.Node.TEXT_NODE,ie=(m.Node.PROCESSING_INSTRUCTION_NODE,m.Node.ENTITY_REFERENCE_NODE,m.Node.ENTITY_NODE,m.Node.NOTATION_NODE,"undefined"!=typeof m.window?m.window:Function("return this;")()),ue=function(e,t){return function(e,t){for(var n=t!==undefined&&null!==t?t:ie,r=0;r<e.length&&n!==undefined&&null!==n;++r)n=n[e[r]];return n}(e.split("."),t)},ae=function(e,t){var n=ue(e,t);if(n===undefined||null===n)throw new Error(e+" not available on this browser");return n},ce=function(e){return e.dom().nodeName.toLowerCase()},le=function(e){return e.dom().nodeType},fe=function(t){return function(e){return le(e)===t}},se=function(e){return le(e)===te||"#comment"===ce(e)},de=fe(re),me=fe(oe),ge=function(e,t,n){if(!(v(n)||R(n)||D(n)))throw m.console.error("Invalid call to Attr.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")},he=function(e,t,n){ge(e.dom(),t,n)},pe=function(e,t){var n=e.dom();V(t,function(e,t){ge(n,t,e)})},ve=function(e,t){var n=e.dom().getAttribute(t);return null===n?undefined:n},be=function(e,t){var n=e.dom();return!(!n||!n.hasAttribute)&&n.hasAttribute(t)},we=function(e,t){e.dom().removeAttribute(t)},ye=function(e){return W(e.dom().attributes,function(e,t){return e[t.name]=t.value,e},{})},xe=function(e,t){return-1!==e.indexOf(t)},Ce=function(e){return e.style!==undefined&&T(e.style.getPropertyValue)},Se=function(n){var r,o=!1;return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return o||(o=!0,r=n.apply(null,e)),r}},Re=function(e){if(null===e||e===undefined)throw new Error("Node cannot be null or undefined");return{dom:C(e)}},Te={fromHtml:function(e,t){var n=(t||m.document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||1<n.childNodes.length)throw m.console.error("HTML does not have a single root node",e),new Error("HTML must have a single root node");return Re(n.childNodes[0])},fromTag:function(e,t){var n=(t||m.document).createElement(e);return Re(n)},fromText:function(e,t){var n=(t||m.document).createTextNode(e);return Re(n)},fromDom:Re,fromPoint:function(e,t,n){var r=e.dom();return S.from(r.elementFromPoint(t,n)).map(Re)}},De=function(e){var t=me(e)?e.dom().parentNode:e.dom();return t!==undefined&&null!==t&&t.ownerDocument.body.contains(t)},Oe=Se(function(){return Ne(Te.fromDom(m.document))}),Ne=function(e){var t=e.dom().body;if(null===t||t===undefined)throw new Error("Body is not available yet");return Te.fromDom(t)},Ee=function(e,t,n){if(!v(n))throw m.console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);Ce(e)&&e.style.setProperty(t,n)},ke=function(e,t,n){var r=e.dom();Ee(r,t,n)},Ae=function(e,t){var n=e.dom();V(t,function(e,t){Ee(n,t,e)})},Pe=function(e,t){var n=e.dom(),r=m.window.getComputedStyle(n).getPropertyValue(t),o=""!==r||De(e)?r:Ie(n,t);return null===o?undefined:o},Ie=function(e,t){return Ce(e)?e.style.getPropertyValue(t):""},Be=function(e,t){var n=e.dom(),r=Ie(n,t);return S.from(r).filter(function(e){return 0<e.length})},We=function(e,t){var n,r,o=e.dom();r=t,Ce(n=o)&&n.style.removeProperty(r),be(e,"style")&&""===ve(e,"style").replace(/^\s+|\s+$/g,"")&&we(e,"style")},Me=function(){return ae("Node")},_e=function(e,t,n){return 0!=(e.compareDocumentPosition(t)&n)},Le=function(e,t){return _e(e,t,Me().DOCUMENT_POSITION_CONTAINED_BY)},Fe=function(e,t){var n=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(r.test(t))return r}return undefined}(e,t);if(!n)return{major:0,minor:0};var r=function(e){return Number(t.replace(n,"$"+e))};return ze(r(1),r(2))},je=function(){return ze(0,0)},ze=function(e,t){return{major:e,minor:t}},He={nu:ze,detect:function(e,t){var n=String(t).toLowerCase();return 0===e.length?je():Fe(e,n)},unknown:je},Ue="Firefox",qe=function(e,t){return function(){return t===e}},Ve=function(e){var t=e.current;return{current:t,version:e.version,isEdge:qe("Edge",t),isChrome:qe("Chrome",t),isIE:qe("IE",t),isOpera:qe("Opera",t),isFirefox:qe(Ue,t),isSafari:qe("Safari",t)}},Ge={unknown:function(){return Ve({current:undefined,version:He.unknown()})},nu:Ve,edge:C("Edge"),chrome:C("Chrome"),ie:C("IE"),opera:C("Opera"),firefox:C(Ue),safari:C("Safari")},Ye="Windows",Xe="Android",Ke="Solaris",Je="FreeBSD",$e=function(e,t){return function(){return t===e}},Qe=function(e){var t=e.current;return{current:t,version:e.version,isWindows:$e(Ye,t),isiOS:$e("iOS",t),isAndroid:$e(Xe,t),isOSX:$e("OSX",t),isLinux:$e("Linux",t),isSolaris:$e(Ke,t),isFreeBSD:$e(Je,t)}},Ze={unknown:function(){return Qe({current:undefined,version:He.unknown()})},nu:Qe,windows:C(Ye),ios:C("iOS"),android:C(Xe),linux:C("Linux"),osx:C("OSX"),solaris:C(Ke),freebsd:C(Je)},et=function(e,t){var n=String(t).toLowerCase();return M(e,function(e){return e.search(n)})},tt=function(e,n){return et(e,n).map(function(e){var t=He.detect(e.versionRegexes,n);return{current:e.name,version:t}})},nt=function(e,n){return et(e,n).map(function(e){var t=He.detect(e.versionRegexes,n);return{current:e.name,version:t}})},rt=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,ot=function(t){return function(e){return xe(e,t)}},it=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(e){return xe(e,"edge/")&&xe(e,"chrome")&&xe(e,"safari")&&xe(e,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,rt],search:function(e){return xe(e,"chrome")&&!xe(e,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(e){return xe(e,"msie")||xe(e,"trident")}},{name:"Opera",versionRegexes:[rt,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:ot("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:ot("firefox")},{name:"Safari",versionRegexes:[rt,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(e){return(xe(e,"safari")||xe(e,"mobile/"))&&xe(e,"applewebkit")}}],ut=[{name:"Windows",search:ot("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(e){return xe(e,"iphone")||xe(e,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:ot("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:ot("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:ot("linux"),versionRegexes:[]},{name:"Solaris",search:ot("sunos"),versionRegexes:[]},{name:"FreeBSD",search:ot("freebsd"),versionRegexes:[]}],at={browsers:C(it),oses:C(ut)},ct=function(e){var t,n,r,o,i,u,a,c,l,f,s,d=at.browsers(),m=at.oses(),g=tt(d,e).fold(Ge.unknown,Ge.nu),h=nt(m,e).fold(Ze.unknown,Ze.nu);return{browser:g,os:h,deviceType:(n=g,r=e,o=(t=h).isiOS()&&!0===/ipad/i.test(r),i=t.isiOS()&&!o,u=t.isAndroid()&&3===t.version.major,a=t.isAndroid()&&4===t.version.major,c=o||u||a&&!0===/mobile/i.test(r),l=t.isiOS()||t.isAndroid(),f=l&&!c,s=n.isSafari()&&t.isiOS()&&!1===/safari/i.test(r),{isiPad:C(o),isiPhone:C(i),isTablet:C(c),isPhone:C(f),isTouch:C(l),isAndroid:t.isAndroid,isiOS:t.isiOS,isWebView:C(s)})}},lt={detect:Se(function(){var e=m.navigator.userAgent;return ct(e)})},ft=re,st=ne,dt=function(e,t){var n=e.dom();if(n.nodeType!==ft)return!1;var r=n;if(r.matches!==undefined)return r.matches(t);if(r.msMatchesSelector!==undefined)return r.msMatchesSelector(t);if(r.webkitMatchesSelector!==undefined)return r.webkitMatchesSelector(t);if(r.mozMatchesSelector!==undefined)return r.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")},mt=function(e){return e.nodeType!==ft&&e.nodeType!==st||0===e.childElementCount},gt=function(e,t){return e.dom()===t.dom()},ht=lt.detect().browser.isIE()?function(e,t){return Le(e.dom(),t.dom())}:function(e,t){var n=e.dom(),r=t.dom();return n!==r&&n.contains(r)},pt=dt,vt=function(e){return Te.fromDom(e.dom().ownerDocument)},bt=function(e){return S.from(e.dom().parentNode).map(Te.fromDom)},wt=function(e,t){for(var n=T(t)?t:f,r=e.dom(),o=[];null!==r.parentNode&&r.parentNode!==undefined;){var i=r.parentNode,u=Te.fromDom(i);if(o.push(u),!0===n(u))break;r=i}return o},yt=function(e){return S.from(e.dom().previousSibling).map(Te.fromDom)},xt=function(e){return S.from(e.dom().nextSibling).map(Te.fromDom)},Ct=function(e){return A(e.dom().childNodes,Te.fromDom)},St=function(e,t){var n=e.dom().childNodes;return S.from(n[t]).map(Te.fromDom)},Rt=(X("element","offset"),function(t,n){bt(t).each(function(e){e.dom().insertBefore(n.dom(),t.dom())})}),Tt=function(e,t){xt(e).fold(function(){bt(e).each(function(e){Ot(e,t)})},function(e){Rt(e,t)})},Dt=function(t,n){St(t,0).fold(function(){Ot(t,n)},function(e){t.dom().insertBefore(n.dom(),e.dom())})},Ot=function(e,t){e.dom().appendChild(t.dom())},Nt=function(e,t){Rt(e,t),Ot(t,e)},Et=function(r,o){P(o,function(e,t){var n=0===t?r:o[t-1];Tt(n,e)})},kt=function(t,e){P(e,function(e){Ot(t,e)})},At=function(e){e.dom().textContent="",P(Ct(e),function(e){Pt(e)})},Pt=function(e){var t=e.dom();null!==t.parentNode&&t.parentNode.removeChild(t)},It=function(e){var t,n=Ct(e);0<n.length&&(t=e,P(n,function(e){Rt(t,e)})),Pt(e)},Bt=(X("width","height"),X("width","height"),X("rows","columns")),Wt=X("row","column"),Mt=(X("x","y"),X("element","rowspan","colspan")),_t=X("element","rowspan","colspan","isNew"),Lt=X("element","rowspan","colspan","row","column"),Ft=X("element","cells","section"),jt=X("element","isNew"),zt=X("element","cells","section","isNew"),Ht=X("cells","section"),Ut=X("details","section"),qt=X("startRow","startCol","finishRow","finishCol"),Vt=function(e,t){var n=[];return P(Ct(e),function(e){t(e)&&(n=n.concat([e])),n=n.concat(Vt(e,t))}),n},Gt=function(e,t,n){return r=function(e){return dt(e,t)},I(wt(e,n),r);var r},Yt=function(e,t){return n=function(e){return dt(e,t)},I(Ct(e),n);var n},Xt=function(e,t){return n=t,o=(r=e)===undefined?m.document:r.dom(),mt(o)?[]:A(o.querySelectorAll(n),Te.fromDom);var n,r,o};function Kt(e,t,n,r,o){return e(n,r)?S.some(n):T(o)&&o(n)?S.none():t(n,r,o)}var Jt,$t,Qt,Zt=function(e,t,n){for(var r=e.dom(),o=T(n)?n:C(!1);r.parentNode;){r=r.parentNode;var i=Te.fromDom(r);if(t(i))return S.some(i);if(o(i))break}return S.none()},en=function(e,t,n){return Zt(e,function(e){return dt(e,t)},n)},tn=function(e,t){return n=function(e){return dt(e,t)},M(e.dom().childNodes,function(e){return n(Te.fromDom(e))}).map(Te.fromDom);var n},nn=function(e,t){return n=t,o=(r=e)===undefined?m.document:r.dom(),mt(o)?S.none():S.from(o.querySelector(n)).map(Te.fromDom);var n,r,o},rn=function(e,t,n){return Kt(dt,en,e,t,n)},on=function(e,t,n){return z(Ct(e),function(e){return dt(e,t)?n(e)?[e]:[]:on(e,t,n)})},un={firstLayer:function(e,t){return on(e,t,C(!0))},filterFirstLayer:on},an=function(e,t,n){return void 0===n&&(n=f),n(t)?S.none():E(e,ce(t))?S.some(t):en(t,e.join(","),function(e){return dt(e,"table")||n(e)})},cn=function(t,e){return bt(e).map(function(e){return Yt(e,t)})},ln=b(cn,"th,td"),fn=b(cn,"tr"),sn=function(e,t){return parseInt(ve(e,t),10)},dn={cell:function(e,t){return an(["td","th"],e,t)},firstCell:function(e){return nn(e,"th,td")},cells:function(e){return un.firstLayer(e,"th,td")},neighbourCells:ln,table:function(e,t){return rn(e,"table",t)},row:function(e,t){return an(["tr"],e,t)},rows:function(e){return un.firstLayer(e,"tr")},notCell:function(e,t){return an(["caption","tr","tbody","tfoot","thead"],e,t)},neighbourRows:fn,attr:sn,grid:function(e,t,n){var r=sn(e,t),o=sn(e,n);return Bt(r,o)}},mn=function(e){var t=dn.rows(e);return A(t,function(e){var t=e,n=bt(t).map(function(e){var t=ce(e);return"tfoot"===t||"thead"===t||"tbody"===t?t:"tbody"}).getOr("tbody"),r=A(dn.cells(e),function(e){var t=be(e,"rowspan")?parseInt(ve(e,"rowspan"),10):1,n=be(e,"colspan")?parseInt(ve(e,"colspan"),10):1;return Mt(e,t,n)});return Ft(t,r,n)})},gn=function(e,n){return A(e,function(e){var t=A(dn.cells(e),function(e){var t=be(e,"rowspan")?parseInt(ve(e,"rowspan"),10):1,n=be(e,"colspan")?parseInt(ve(e,"colspan"),10):1;return Mt(e,t,n)});return Ft(e,t,n.section())})},hn=function(e,t){return e+","+t},pn=function(e,t){var n=z(e.all(),function(e){return e.cells()});return I(n,t)},vn={generate:function(e){var l={},t=[],n=e.length,f=0;P(e,function(e,a){var c=[];P(e.cells(),function(e){for(var t=0;l[hn(a,t)]!==undefined;)t++;for(var n=Lt(e.element(),e.rowspan(),e.colspan(),a,t),r=0;r<e.colspan();r++)for(var o=0;o<e.rowspan();o++){var i=t+r,u=hn(a+o,i);l[u]=n,f=Math.max(f,i+1)}c.push(n)}),t.push(Ft(e.element(),c,e.section()))});var r=Bt(n,f);return{grid:C(r),access:C(l),all:C(t)}},getAt:function(e,t,n){var r=e.access()[hn(t,n)];return r!==undefined?S.some(r):S.none()},findItem:function(e,t,n){var r=pn(e,function(e){return n(t,e.element())});return 0<r.length?S.some(r[0]):S.none()},filterItems:pn,justCells:function(e){var t=A(e.all(),function(e){return e.cells()});return j(t)}},bn=X("minRow","minCol","maxRow","maxCol"),wn=function(e,t){var n,i,r,u,a,c,l,o,f,s,d=function(e){return dt(e.element(),t)},m=mn(e),g=vn.generate(m),h=(i=d,r=(n=g).grid().columns(),u=n.grid().rows(),a=r,l=c=0,V(n.access(),function(e){if(i(e)){var t=e.row(),n=t+e.rowspan()-1,r=e.column(),o=r+e.colspan()-1;t<u?u=t:c<n&&(c=n),r<a?a=r:l<o&&(l=o)}}),bn(u,a,c,l)),p="th:not("+t+"),td:not("+t+")",v=un.filterFirstLayer(e,"th,td",function(e){return dt(e,p)});return P(v,Pt),function(e,t,n,r){for(var o,i,u,a=t.grid().columns(),c=t.grid().rows(),l=0;l<c;l++)for(var f=!1,s=0;s<a;s++)l<n.minRow()||l>n.maxRow()||s<n.minCol()||s>n.maxCol()||(vn.getAt(t,l,s).filter(r).isNone()?(o=f,i=e[l].element(),u=Te.fromTag("td"),Ot(u,Te.fromTag("br")),(o?Ot:Dt)(i,u)):f=!0)}(m,g,h,d),o=e,f=h,s=I(un.firstLayer(o,"tr"),function(e){return 0===e.dom().childElementCount}),P(s,Pt),f.minCol()!==f.maxCol()&&f.minRow()!==f.maxRow()||P(un.firstLayer(o,"th,td"),function(e){we(e,"rowspan"),we(e,"colspan")}),we(o,"width"),we(o,"height"),We(o,"width"),We(o,"height"),e},yn=(Jt=me,$t="text",{get:function(e){if(!Jt(e))throw new Error("Can only get "+$t+" value of a "+$t+" node");return Qt(e).getOr("")},getOption:Qt=function(e){return Jt(e)?S.from(e.dom().nodeValue):S.none()},set:function(e,t){if(!Jt(e))throw new Error("Can only set raw "+$t+" value of a "+$t+" node");e.dom().nodeValue=t}}),xn=function(e){return yn.get(e)},Cn=function(e){return yn.getOption(e)},Sn=function(e,t){yn.set(e,t)},Rn=function(e){return"img"===ce(e)?1:Cn(e).fold(function(){return Ct(e).length},function(e){return e.length})},Tn=["img","br"],Dn=function(e){return Cn(e).filter(function(e){return 0!==e.trim().length||-1<e.indexOf("\xa0")}).isSome()||E(Tn,ce(e))},On=function(e){return o=Dn,(i=function(e){for(var t=0;t<e.childNodes.length;t++){var n=Te.fromDom(e.childNodes[t]);if(o(n))return S.some(n);var r=i(e.childNodes[t]);if(r.isSome())return r}return S.none()})(e.dom());var o,i},Nn=function(e){return En(e,Dn)},En=function(e,i){var u=function(e){for(var t=Ct(e),n=t.length-1;0<=n;n--){var r=t[n];if(i(r))return S.some(r);var o=u(r);if(o.isSome())return o}return S.none()};return u(e)},kn=function(e,t){return Te.fromDom(e.dom().cloneNode(t))},An=function(e){return kn(e,!1)},Pn=function(e){return kn(e,!0)},In=function(e,t){var n,r,o,i,u=(n=e,r=t,o=Te.fromTag(r),i=ye(n),pe(o,i),o),a=Ct(Pn(e));return kt(u,a),u},Bn=function(){var e=Te.fromTag("td");return Ot(e,Te.fromTag("br")),e},Wn=function(e,t,n){var r=In(e,t);return V(n,function(e,t){null===e?we(r,t):he(r,t,e)}),r},Mn=function(e){return e},_n=function(e){return function(){return Te.fromTag("tr",e.dom())}},Ln=function(d,e,m){return{row:_n(e),cell:function(e){var r,o,i,t,n,u,a,c=vt(e.element()),l=Te.fromTag(ce(e.element()),c.dom()),f=m.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),s=0<f.length?(r=e.element(),o=l,i=f,On(r).map(function(e){var t=i.join(","),n=Gt(e,t,function(e){return gt(e,r)});return B(n,function(e,t){var n=An(t);return we(n,"contenteditable"),Ot(e,n),n},o)}).getOr(o)):l;return Ot(s,Te.fromTag("br")),t=e.element(),n=l,u=t.dom(),a=n.dom(),Ce(u)&&Ce(a)&&(a.style.cssText=u.style.cssText),We(l,"height"),1!==e.colspan()&&We(e.element(),"width"),d(e.element(),l),l},replace:Wn,gap:Bn}},Fn=function(e){return{row:_n(e),cell:Bn,replace:Mn,gap:Bn}},jn=function(e,t){return t.column()>=e.startCol()&&t.column()+t.colspan()-1<=e.finishCol()&&t.row()>=e.startRow()&&t.row()+t.rowspan()-1<=e.finishRow()},zn=function(e,t){var n=t.column(),r=t.column()+t.colspan()-1,o=t.row(),i=t.row()+t.rowspan()-1;return n<=e.finishCol()&&r>=e.startCol()&&o<=e.finishRow()&&i>=e.startRow()},Hn=function(e,t){for(var n=!0,r=b(jn,t),o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)n=n&&vn.getAt(e,o,i).exists(r);return n?S.some(t):S.none()},Un=function(e,t,n){var r=vn.findItem(e,t,gt),o=vn.findItem(e,n,gt);return r.bind(function(r){return o.map(function(e){return t=r,n=e,qt(Math.min(t.row(),n.row()),Math.min(t.column(),n.column()),Math.max(t.row()+t.rowspan()-1,n.row()+n.rowspan()-1),Math.max(t.column()+t.colspan()-1,n.column()+n.colspan()-1));var t,n})})},qn=Un,Vn=function(t,e,n){return Un(t,e,n).bind(function(e){return Hn(t,e)})},Gn=function(r,e,o,i){return vn.findItem(r,e,gt).bind(function(e){var t=0<o?e.row()+e.rowspan()-1:e.row(),n=0<i?e.column()+e.colspan()-1:e.column();return vn.getAt(r,t+o,n+i).map(function(e){return e.element()})})},Yn=function(n,e,t){return qn(n,e,t).map(function(e){var t=vn.filterItems(n,b(zn,e));return A(t,function(e){return e.element()})})},Xn=function(e,t){return vn.findItem(e,t,function(e,t){return ht(t,e)}).map(function(e){return e.element()})},Kn=function(e){var t=mn(e);return vn.generate(t)},Jn=function(n,r,o){return dn.table(n).bind(function(e){var t=Kn(e);return Gn(t,n,r,o)})},$n=function(e,t,n){var r=Kn(e);return Yn(r,t,n)},Qn=function(e,t,n,r,o){var i=Kn(e),u=gt(e,n)?S.some(t):Xn(i,t),a=gt(e,o)?S.some(r):Xn(i,r);return u.bind(function(t){return a.bind(function(e){return Yn(i,t,e)})})},Zn=function(e,t,n){var r=Kn(e);return Vn(r,t,n)},er=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"];function tr(){return{up:C({selector:en,closest:rn,predicate:Zt,all:wt}),down:C({selector:Xt,predicate:Vt}),styles:C({get:Pe,getRaw:Be,set:ke,remove:We}),attrs:C({get:ve,set:he,remove:we,copyTo:function(e,t){var n=ye(e);pe(t,n)}}),insert:C({before:Rt,after:Tt,afterAll:Et,append:Ot,appendAll:kt,prepend:Dt,wrap:Nt}),remove:C({unwrap:It,remove:Pt}),create:C({nu:Te.fromTag,clone:function(e){return Te.fromDom(e.dom().cloneNode(!1))},text:Te.fromText}),query:C({comparePosition:function(e,t){return e.dom().compareDocumentPosition(t.dom())},prevSibling:yt,nextSibling:xt}),property:C({children:Ct,name:ce,parent:bt,document:function(e){return e.dom().ownerDocument},isText:me,isComment:se,isElement:de,getText:xn,setText:Sn,isBoundary:function(e){return!!de(e)&&("body"===ce(e)||E(er,ce(e)))},isEmptyTag:function(e){return!!de(e)&&E(["br","img","hr","input"],ce(e))}}),eq:gt,is:pt}}var nr=X("left","right"),rr=X("first","second","splits"),or=function(e,t,n){var r=e.property().children(t);return _(r,b(e.eq,n)).map(function(e){return{before:C(r.slice(0,e)),after:C(r.slice(e+1))}})},ir=function(r,o,e,t){var n=o(r,e);return B(t,function(e,t){var n=o(r,t);return ur(r,e,n)},n)},ur=function(t,e,n){return e.bind(function(e){return n.filter(b(t.eq,e))})},ar=function(e,t){return b(e.eq,t)},cr=function(t,e,n,r){void 0===r&&(r=f);var o=[e].concat(t.up().all(e)),i=[n].concat(t.up().all(n)),u=function(t){return _(t,r).fold(function(){return t},function(e){return t.slice(0,e+1)})},a=u(o),c=u(i),l=M(a,function(e){return k(c,ar(t,e))});return{firstpath:C(a),secondpath:C(c),shared:C(l)}},lr={sharedOne:function(e,t,n){return 0<n.length?ir(e,t,(r=n)[0],r.slice(1)):S.none();var r},subset:function(t,e,n){var r=cr(t,e,n);return r.shared().bind(function(e){return function(o,i,e,t){var u=o.property().children(i);if(o.eq(i,e[0]))return S.some([e[0]]);if(o.eq(i,t[0]))return S.some([t[0]]);var n=function(e){var t=U(e),n=_(t,ar(o,i)).getOr(-1),r=n<t.length-1?t[n+1]:t[n];return _(u,ar(o,r))},r=n(e),a=n(t);return r.bind(function(r){return a.map(function(e){var t=Math.min(r,e),n=Math.max(r,e);return u.slice(t,n+1)})})}(t,e,r.firstpath(),r.secondpath())})},ancestors:cr,breakToLeft:function(n,r,o){return or(n,r,o).map(function(e){var t=n.create().clone(r);return n.insert().appendAll(t,e.before().concat([o])),n.insert().appendAll(r,e.after()),n.insert().before(r,t),nr(t,r)})},breakToRight:function(n,r,e){return or(n,r,e).map(function(e){var t=n.create().clone(r);return n.insert().appendAll(t,e.after()),n.insert().after(r,t),nr(r,t)})},breakPath:function(i,e,u,a){var c=function(e,t,o){var n=rr(e,S.none(),o);return u(e)?rr(e,t,o):i.property().parent(e).bind(function(r){return a(i,r,e).map(function(e){var t=[{first:e.left,second:e.right}],n=u(r)?r:e.left();return c(n,S.some(e.right()),o.concat(t))})}).getOr(n)};return c(e,S.none(),[])}},fr=tr(),sr={sharedOne:function(n,e){return lr.sharedOne(fr,function(e,t){return n(t)},e)},subset:function(e,t){return lr.subset(fr,e,t)},ancestors:function(e,t,n){return lr.ancestors(fr,e,t,n)},breakToLeft:function(e,t){return lr.breakToLeft(fr,e,t)},breakToRight:function(e,t){return lr.breakToRight(fr,e,t)},breakPath:function(e,t,r){return lr.breakPath(fr,e,t,function(e,t,n){return r(t,n)})}},dr={create:ee(["boxes","start","finish"],[])},mr=function(e){return en(e,"table")},gr=function(a,c,r){var l=function(t){return function(e){return r!==undefined&&r(e)||gt(e,t)}};return gt(a,c)?S.some(dr.create({boxes:S.some([a]),start:a,finish:c})):mr(a).bind(function(u){return mr(c).bind(function(i){if(gt(u,i))return S.some(dr.create({boxes:$n(u,a,c),start:a,finish:c}));if(ht(u,i)){var e=0<(t=Gt(c,"td,th",l(u))).length?t[t.length-1]:c;return S.some(dr.create({boxes:Qn(u,a,u,c,i),start:a,finish:e}))}if(ht(i,u)){var t,n=0<(t=Gt(a,"td,th",l(i))).length?t[t.length-1]:a;return S.some(dr.create({boxes:Qn(i,a,u,c,i),start:a,finish:n}))}return sr.ancestors(a,c).shared().bind(function(e){return rn(e,"table",r).bind(function(e){var t=Gt(c,"td,th",l(e)),n=0<t.length?t[t.length-1]:c,r=Gt(a,"td,th",l(e)),o=0<r.length?r[r.length-1]:a;return S.some(dr.create({boxes:Qn(e,a,u,c,i),start:o,finish:n}))})})})})},hr=gr,pr=function(e,t){var n=Xt(e,t);return 0<n.length?S.some(n):S.none()},vr=function(e,t,n,r,o){return(i=e,u=o,M(i,function(e){return dt(e,u)})).bind(function(e){return Jn(e,t,n).bind(function(e){return n=r,en(t=e,"table").bind(function(e){return nn(e,n).bind(function(e){return gr(e,t).bind(function(t){return t.boxes().map(function(e){return{boxes:C(e),start:C(t.start()),finish:C(t.finish())}})})})});var t,n})});var i,u},br=function(e,t,r){return nn(e,t).bind(function(n){return nn(e,r).bind(function(t){return sr.sharedOne(mr,[n,t]).map(function(e){return{first:C(n),last:C(t),table:C(e)}})})})},wr=function(e,t){return pr(e,t)},yr=function(o,e,t){return br(o,e,t).bind(function(n){var e=function(e){return gt(o,e)},t=en(n.first(),"thead,tfoot,tbody,table",e),r=en(n.last(),"thead,tfoot,tbody,table",e);return t.bind(function(t){return r.bind(function(e){return gt(t,e)?Zn(n.table(),n.first(),n.last()):S.none()})})})},xr="data-mce-selected",Cr="data-mce-first-selected",Sr="data-mce-last-selected",Rr={selected:C(xr),selectedSelector:C("td[data-mce-selected],th[data-mce-selected]"),attributeSelector:C("[data-mce-selected]"),firstSelected:C(Cr),firstSelectedSelector:C("td[data-mce-first-selected],th[data-mce-first-selected]"),lastSelected:C(Sr),lastSelectedSelector:C("td[data-mce-last-selected],th[data-mce-last-selected]")},Tr=function(u){if(!w(u))throw new Error("cases must be an array");if(0===u.length)throw new Error("there must be at least one case");var a=[],n={};return P(u,function(e,r){var t=q(e);if(1!==t.length)throw new Error("one and only one name per case");var o=t[0],i=e[o];if(n[o]!==undefined)throw new Error("duplicate key detected:"+o);if("cata"===o)throw new Error("cannot have a case named cata (sorry)");if(!w(i))throw new Error("case arguments must be an array");a.push(o),n[o]=function(){var e=arguments.length;if(e!==i.length)throw new Error("Wrong number of arguments to case "+o+". Expected "+i.length+" ("+i+"), got "+e);for(var n=new Array(e),t=0;t<n.length;t++)n[t]=arguments[t];return{fold:function(){if(arguments.length!==u.length)throw new Error("Wrong number of arguments to fold. Expected "+u.length+", got "+arguments.length);return arguments[r].apply(null,n)},match:function(e){var t=q(e);if(a.length!==t.length)throw new Error("Wrong number of arguments to match. Expected: "+a.join(",")+"\nActual: "+t.join(","));if(!H(a,function(e){return E(t,e)}))throw new Error("Not all branches were specified when using match. Specified: "+t.join(", ")+"\nRequired: "+a.join(", "));return e[o].apply(null,n)},log:function(e){m.console.log(e,{constructors:a,constructor:o,params:n})}}}}),n},Dr=Tr([{none:[]},{multiple:["elements"]},{single:["selection"]}]),Or={cata:function(e,t,n,r){return e.fold(t,n,r)},none:Dr.none,multiple:Dr.multiple,single:Dr.single},Nr=function(e,t){return Or.cata(t.get(),C([]),o,C([e]))},Er=function(n,e){return Or.cata(e.get(),S.none,function(t,e){return 0===t.length?S.none():yr(n,Rr.firstSelectedSelector(),Rr.lastSelectedSelector()).bind(function(e){return 1<t.length?S.some({bounds:C(e),cells:C(t)}):S.none()})},S.none)},kr=function(e,t){var n=Nr(e,t);return 0<n.length&&H(n,function(e){return be(e,"rowspan")&&1<parseInt(ve(e,"rowspan"),10)||be(e,"colspan")&&1<parseInt(ve(e,"colspan"),10)})?S.some(n):S.none()},Ar=Nr,Pr=function(e){return{element:C(e),mergable:S.none,unmergable:S.none,selection:C([e])}},Ir=X("element","clipboard","generators"),Br={noMenu:Pr,forMenu:function(e,t,n){return{element:C(n),mergable:C(Er(t,e)),unmergable:C(kr(n,e)),selection:C(Ar(n,e))}},notCell:function(e){return Pr(e)},paste:Ir,pasteRows:function(e,t,n,r,o){return{element:C(n),mergable:S.none,unmergable:S.none,selection:C(Ar(n,e)),clipboard:C(r),generators:C(o)}}},Wr=function(f,e,s,d){f.on("BeforeGetContent",function(n){!0===n.selection&&Or.cata(e.get(),y,function(e){var t;n.preventDefault(),(t=e,dn.table(t[0]).map(Pn).map(function(e){return[wn(e,Rr.attributeSelector())]})).each(function(e){var t;n.content="text"===n.format?A(e,function(e){return e.dom().innerText}).join(""):(t=f,A(e,function(e){return t.selection.serializer.serialize(e.dom(),{})}).join(""))})},y)}),f.on("BeforeSetContent",function(l){!0===l.selection&&!0===l.paste&&S.from(f.dom.getParent(f.selection.getStart(),"th,td")).each(function(e){var c=Te.fromDom(e);dn.table(c).each(function(t){var e,n,r,o=I((e=l.content,(r=(n||m.document).createElement("div")).innerHTML=e,Ct(Te.fromDom(r))),function(e){return"meta"!==ce(e)});if(1===o.length&&"table"===ce(o[0])){l.preventDefault();var i=Te.fromDom(f.getDoc()),u=Fn(i),a=Br.paste(c,o[0],u);s.pasteCells(t,a).each(function(e){f.selection.setRng(e),f.focus(),d.clear(t)})}})})})};function Mr(r,o){var e=function(e){var t=o(e);if(t<=0||null===t){var n=Pe(e,r);return parseFloat(n)||0}return t},i=function(o,e){return W(e,function(e,t){var n=Pe(o,t),r=n===undefined?0:parseInt(n,10);return isNaN(r)?e:e+r},0)};return{set:function(e,t){if(!D(t)&&!t.match(/^[0-9]+$/))throw new Error(r+".set accepts only positive integer values. Value was "+t);var n=e.dom();Ce(n)&&(n.style[r]=t+"px")},get:e,getOuter:e,aggregate:i,max:function(e,t,n){var r=i(e,n);return r<t?t-r:0}}}var _r=Mr("height",function(e){var t=e.dom();return De(e)?t.getBoundingClientRect().height:t.offsetHeight}),Lr=function(e){return _r.get(e)},Fr=function(e){return _r.getOuter(e)},jr=Mr("width",function(e){return e.dom().offsetWidth}),zr=function(e){return jr.get(e)},Hr=function(e){return jr.getOuter(e)},Ur=lt.detect(),qr=function(e,t,n){return r=Pe(e,t),o=n,i=parseFloat(r),isNaN(i)?o:i;var r,o,i},Vr=function(e){return Ur.browser.isIE()||Ur.browser.isEdge()?(n=qr(t=e,"padding-top",0),r=qr(t,"padding-bottom",0),o=qr(t,"border-top-width",0),i=qr(t,"border-bottom-width",0),u=t.dom().getBoundingClientRect().height,"border-box"===Pe(t,"box-sizing")?u:u-n-r-(o+i)):qr(e,"height",Lr(e));var t,n,r,o,i,u},Gr=/(\d+(\.\d+)?)(\w|%)*/,Yr=/(\d+(\.\d+)?)%/,Xr=/(\d+(\.\d+)?)px|em/,Kr=function(e,t){ke(e,"height",t+"px")},Jr=function(e,t,n,r){var o,i,u,a,c,l,f,s,d,m=parseInt(e,10);return s=l="%",d=(f=e).length-l.length,""!==s&&(f.length<s.length||f.substr(d,d+s.length)!==s)||"table"===ce(t)?m:(o=t,i=m,u=n,a=r,c=dn.table(o).map(function(e){var t=u(e);return Math.floor(i/100*t)}).getOr(i),a(o,c),c)},$r=function(e){var t,n=Be(t=e,"height").getOrThunk(function(){return Vr(t)+"px"});return n?Jr(n,e,Lr,Kr):Lr(e)},Qr=function(e,t){return be(e,t)?parseInt(ve(e,t),10):1},Zr=function(e){return Be(e,"width").fold(function(){return S.from(ve(e,"width"))},function(e){return S.some(e)})},eo=function(e,t){return e/t.pixelWidth()*100},to={percentageBasedSizeRegex:C(Yr),pixelBasedSizeRegex:C(Xr),setPixelWidth:function(e,t){ke(e,"width",t+"px")},setPercentageWidth:function(e,t){ke(e,"width",t+"%")},setHeight:Kr,getPixelWidth:function(t,n){return Zr(t).fold(function(){return zr(t)},function(e){return function(e,t,n){var r=Xr.exec(t);if(null!==r)return parseInt(r[1],10);var o=Yr.exec(t);if(null!==o){var i=parseFloat(o[1]);return i/100*n.pixelWidth()}return zr(e)}(t,e,n)})},getPercentageWidth:function(t,n){return Zr(t).fold(function(){var e=zr(t);return eo(e,n)},function(e){return function(e,t,n){var r=Yr.exec(t);if(null!==r)return parseFloat(r[1]);var o=zr(e);return eo(o,n)}(t,e,n)})},getGenericWidth:function(e){return Zr(e).bind(function(e){var t=Gr.exec(e);return null!==t?S.some({width:C(parseFloat(t[1])),unit:C(t[3])}):S.none()})},setGenericWidth:function(e,t,n){ke(e,"width",t+n)},getHeight:function(e){return n="rowspan",$r(t=e)/Qr(t,n);var t,n},getRawWidth:Zr},no=function(n,r){to.getGenericWidth(n).each(function(e){var t=e.width()/2;to.setGenericWidth(n,t,e.unit()),to.setGenericWidth(r,t,e.unit())})},ro=function(n,r){return{left:C(n),top:C(r),translate:function(e,t){return ro(n+e,r+t)}}},oo=ro,io=function(e,t){return e!==undefined?e:t!==undefined?t:0},uo=function(e){var t=e.dom().ownerDocument,n=t.body,r=t.defaultView,o=t.documentElement,i=io(r.pageYOffset,o.scrollTop),u=io(r.pageXOffset,o.scrollLeft),a=io(o.clientTop,n.clientTop),c=io(o.clientLeft,n.clientLeft);return ao(e).translate(u-c,i-a)},ao=function(e){var t,n=e.dom(),r=n.ownerDocument.body;return r===n?oo(r.offsetLeft,r.offsetTop):De(e)?(t=n.getBoundingClientRect(),oo(t.left,t.top)):oo(0,0)},co=X("row","y"),lo=X("col","x"),fo=function(e){return uo(e).left()+Hr(e)},so=function(e){return uo(e).left()},mo=function(e,t){return lo(e,so(t))},go=function(e,t){return lo(e,fo(t))},ho=function(e){return uo(e).top()},po=function(e,t){return co(e,ho(t))},vo=function(e,t){return co(e,ho(t)+Fr(t))},bo=function(n,t,r){if(0===r.length)return[];var e=A(r.slice(1),function(e,t){return e.map(function(e){return n(t,e)})}),o=r[r.length-1].map(function(e){return t(r.length-1,e)});return e.concat([o])},wo={height:{delta:o,positions:function(e){return bo(po,vo,e)},edge:ho},rtl:{delta:function(e){return-e},edge:fo,positions:function(e){return bo(go,mo,e)}},ltr:{delta:o,edge:so,positions:function(e){return bo(mo,go,e)}}},yo={ltr:wo.ltr,rtl:wo.rtl};function xo(t){var n=function(e){return t(e).isRtl()?yo.rtl:yo.ltr};return{delta:function(e,t){return n(t).delta(e,t)},edge:function(e){return n(e).edge(e)},positions:function(e,t){return n(t).positions(e,t)}}}var Co=function(e){var t=mn(e);return vn.generate(t).grid()},So=function(){return(So=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},Ro=function(e){for(var t=[],n=function(e){t.push(e)},r=0;r<e.length;r++)e[r].each(n);return t},To=function(e,t){for(var n=0;n<e.length;n++){var r=t(e[n],n);if(r.isSome())return r}return S.none()},Do=function(e,t,n,r){n===r?we(e,t):he(e,t,n)},Oo=function(o,e){var i=[],u=[],t=function(e,t){0<e.length?function(e,t){var n=tn(o,t).getOrThunk(function(){var e=Te.fromTag(t,vt(o).dom());return Ot(o,e),e});At(n);var r=A(e,function(e){e.isNew()&&i.push(e.element());var t=e.element();return At(t),P(e.cells(),function(e){e.isNew()&&u.push(e.element()),Do(e.element(),"colspan",e.colspan(),1),Do(e.element(),"rowspan",e.rowspan(),1),Ot(t,e.element())}),t});kt(n,r)}(e,t):tn(o,t).each(Pt)},n=[],r=[],a=[];return P(e,function(e){switch(e.section()){case"thead":n.push(e);break;case"tbody":r.push(e);break;case"tfoot":a.push(e)}}),t(n,"thead"),t(r,"tbody"),t(a,"tfoot"),{newRows:C(i),newCells:C(u)}},No=function(e){return A(e,function(e){var n=An(e.element());return P(e.cells(),function(e){var t=Pn(e.element());Do(t,"colspan",e.colspan(),1),Do(t,"rowspan",e.rowspan(),1),Ot(n,t)}),n})},Eo=function(e,t){var n=ve(e,t);return n===undefined||""===n?[]:n.split(" ")},ko=function(e){return e.dom().classList!==undefined},Ao=function(e,t){return o=t,i=Eo(n=e,r="class").concat([o]),he(n,r,i.join(" ")),!0;var n,r,o,i},Po=function(e,t){return o=t,0<(i=I(Eo(n=e,r="class"),function(e){return e!==o})).length?he(n,r,i.join(" ")):we(n,r),!1;var n,r,o,i},Io=function(e,t){ko(e)?e.dom().classList.add(t):Ao(e,t)},Bo=function(e){0===(ko(e)?e.dom().classList:Eo(e,"class")).length&&we(e,"class")},Wo=function(e,t){return ko(e)&&e.dom().classList.contains(t)},Mo=function(e,t){for(var n=[],r=e;r<t;r++)n.push(r);return n},_o=function(t,n){if(n<0||n>=t.length-1)return S.none();var e=t[n].fold(function(){var e=U(t.slice(0,n));return To(e,function(e,t){return e.map(function(e){return{value:e,delta:t+1}})})},function(e){return S.some({value:e,delta:0})}),r=t[n+1].fold(function(){var e=t.slice(n+1);return To(e,function(e,t){return e.map(function(e){return{value:e,delta:t+1}})})},function(e){return S.some({value:e,delta:1})});return e.bind(function(n){return r.map(function(e){var t=e.delta+n.delta;return Math.abs(e.value-n.value)/t})})},Lo=function(e,t,n){var r=e();return M(r,t).orThunk(function(){return S.from(r[0]).orThunk(n)}).map(function(e){return e.element()})},Fo=function(n){var e=n.grid(),t=Mo(0,e.columns()),r=Mo(0,e.rows());return A(t,function(t){return Lo(function(){return z(r,function(e){return vn.getAt(n,e,t).filter(function(e){return e.column()===t}).fold(C([]),function(e){return[e]})})},function(e){return 1===e.colspan()},function(){return vn.getAt(n,0,t)})})},jo=function(n){var e=n.grid(),t=Mo(0,e.rows()),r=Mo(0,e.columns());return A(t,function(t){return Lo(function(){return z(r,function(e){return vn.getAt(n,t,e).filter(function(e){return e.row()===t}).fold(C([]),function(e){return[e]})})},function(e){return 1===e.rowspan()},function(){return vn.getAt(n,t,0)})})},zo=function(e){var t=e.replace(/\./g,"-");return{resolve:function(e){return t+"-"+e}}},Ho={resolve:zo("ephox-snooker").resolve},Uo=function(e,t,n,r,o){var i=Te.fromTag("div");return Ae(i,{position:"absolute",left:t-r/2+"px",top:n+"px",height:o+"px",width:r+"px"}),pe(i,{"data-column":e,role:"presentation"}),i},qo=function(e,t,n,r,o){var i=Te.fromTag("div");return Ae(i,{position:"absolute",left:t+"px",top:n-o/2+"px",height:o+"px",width:r+"px"}),pe(i,{"data-row":e,role:"presentation"}),i},Vo=Ho.resolve("resizer-bar"),Go=Ho.resolve("resizer-rows"),Yo=Ho.resolve("resizer-cols"),Xo=function(e){var t=Xt(e.parent(),"."+Vo);P(t,Pt)},Ko=function(n,e,r){var o=n.origin();P(e,function(e,t){e.each(function(e){var t=r(o,e);Io(t,Vo),Ot(n.parent(),t)})})},Jo=function(e,t,n,r,o,i){var u,a,c,l,f=uo(t),s=0<n.length?o.positions(n,t):[];u=e,a=s,c=f,l=Hr(t),Ko(u,a,function(e,t){var n=qo(t.row(),c.left()-e.left(),t.y()-e.top(),l,7);return Io(n,Go),n});var d,m,g,h,p=0<r.length?i.positions(r,t):[];d=e,m=p,g=f,h=Fr(t),Ko(d,m,function(e,t){var n=Uo(t.col(),t.x()-e.left(),g.top()-e.top(),7,h);return Io(n,Yo),n})},$o=function(e,t){var n=Xt(e.parent(),"."+Vo);P(n,t)},Qo=function(e,t,n,r){Xo(e);var o=mn(t),i=vn.generate(o),u=jo(i),a=Fo(i);Jo(e,t,u,a,n,r)},Zo=function(e){$o(e,function(e){ke(e,"display","none")})},ei=function(e){$o(e,function(e){ke(e,"display","block")})},ti=Xo,ni=function(e){return Wo(e,Go)},ri=function(e){return Wo(e,Yo)},oi=function(e,t){return Ht(t,e.section())},ii=function(e,t){return e.cells()[t]},ui={addCell:function(e,t,n){var r=e.cells(),o=r.slice(0,t),i=r.slice(t),u=o.concat([n]).concat(i);return oi(e,u)},setCells:oi,mutateCell:function(e,t,n){e.cells()[t]=n},getCell:ii,getCellElement:function(e,t){return ii(e,t).element()},mapCells:function(e,t){var n=e.cells(),r=A(n,t);return Ht(r,e.section())},cellLength:function(e){return e.cells().length}},ai=function(e,t){if(0===e.length)return 0;var n=e[0];return _(e,function(e){return!t(n.element(),e.element())}).fold(function(){return e.length},function(e){return e})},ci=function(e,t,n,r){var o,i,u,a,c=(o=e,i=t,o[i]).cells().slice(n),l=ai(c,r),f=(u=e,a=n,A(u,function(e){return ui.getCell(e,a)})).slice(t),s=ai(f,r);return{colspan:C(l),rowspan:C(s)}},li=function(o,i){var u=A(o,function(e,t){return A(e.cells(),function(e,t){return!1})});return A(o,function(e,r){var t=z(e.cells(),function(e,t){if(!1===u[r][t]){var n=ci(o,r,t,i);return function(e,t,n,r){for(var o=e;o<e+n;o++)for(var i=t;i<t+r;i++)u[o][i]=!0}(r,t,n.rowspan(),n.colspan()),[_t(e.element(),n.rowspan(),n.colspan(),e.isNew())]}return[]});return Ut(t,e.section())})},fi=function(e,t,n){for(var r=[],o=0;o<e.grid().rows();o++){for(var i=[],u=0;u<e.grid().columns();u++){var a=vn.getAt(e,o,u).map(function(e){return jt(e.element(),n)}).getOrThunk(function(){return jt(t.gap(),!0)});i.push(a)}var c=Ht(i,e.all()[o].section());r.push(c)}return r},si=function(e,r){return A(e,function(e){var t,n=(t=e.details(),To(t,function(e){return bt(e.element()).map(function(e){var t=bt(e).isNone();return jt(e,t)})}).getOrThunk(function(){return jt(r.row(),!0)}));return zt(n.element(),e.details(),e.section(),n.isNew())})},di=function(e,t){var n=li(e,gt);return si(n,t)},mi=function(e,t){var n=j(A(e.all(),function(e){return e.cells()}));return M(n,function(e){return gt(t,e.element())})},gi=function(a,c,l,f,s){return function(n,r,e,o,i){var t=mn(r),u=vn.generate(t);return c(u,e).map(function(e){var t=fi(u,o,!1),n=a(t,e,gt,s(o)),r=di(n.grid(),o);return{grid:C(r),cursor:n.cursor}}).fold(function(){return S.none()},function(e){var t=Oo(r,e.grid());return l(r,e.grid(),i),f(r),Qo(n,r,wo.height,i),S.some({cursor:e.cursor,newRows:t.newRows,newCells:t.newCells})})}},hi=function(t,e){return dn.cell(e.element()).bind(function(e){return mi(t,e)})},pi=function(t,e){var n=A(e.selection(),function(e){return dn.cell(e).bind(function(e){return mi(t,e)})}),r=Ro(n);return 0<r.length?S.some({cells:r,generators:e.generators,clipboard:e.clipboard}):S.none()},vi=function(t,e){var n=A(e.selection(),function(e){return dn.cell(e).bind(function(e){return mi(t,e)})}),r=Ro(n);return 0<r.length?S.some(r):S.none()},bi=function(n){return{is:function(e){return n===e},isValue:a,isError:f,getOr:C(n),getOrThunk:C(n),getOrDie:C(n),or:function(e){return bi(n)},orThunk:function(e){return bi(n)},fold:function(e,t){return t(n)},map:function(e){return bi(e(n))},mapError:function(e){return bi(n)},each:function(e){e(n)},bind:function(e){return e(n)},exists:function(e){return e(n)},forall:function(e){return e(n)},toOption:function(){return S.some(n)}}},wi=function(n){return{is:f,isValue:f,isError:a,getOr:o,getOrThunk:function(e){return e()},getOrDie:function(){return e=String(n),function(){throw new Error(e)}();var e},or:function(e){return e},orThunk:function(e){return e()},fold:function(e,t){return e(n)},map:function(e){return wi(n)},mapError:function(e){return wi(e(n))},each:y,bind:function(e){return wi(n)},exists:f,forall:a,toOption:S.none}},yi={value:bi,error:wi,fromOption:function(e,t){return e.fold(function(){return wi(t)},bi)}},xi=function(e,t){return A(e,function(){return jt(t.cell(),!0)})},Ci=function(t,e,n){return t.concat(function(e,t){for(var n=[],r=0;r<e;r++)n.push(t(r));return n}(e,function(e){return ui.setCells(t[t.length-1],xi(t[t.length-1].cells(),n))}))},Si=function(e,t,n){return A(e,function(e){return ui.setCells(e,e.cells().concat(xi(Mo(0,t),n)))})},Ri=function(e,t,n){if(e.row()>=t.length||e.column()>ui.cellLength(t[0]))return yi.error("invalid start address out of table bounds, row: "+e.row()+", column: "+e.column());var r=t.slice(e.row()),o=r[0].cells().slice(e.column()),i=ui.cellLength(n[0]),u=n.length;return yi.value({rowDelta:C(r.length-u),colDelta:C(o.length-i)})},Ti=function(e,t){var n=ui.cellLength(e[0]),r=ui.cellLength(t[0]);return{rowDelta:C(0),colDelta:C(n-r)}},Di=function(e,t,n){var r=t.colDelta()<0?Si:o;return(t.rowDelta()<0?Ci:o)(r(e,Math.abs(t.colDelta()),n),Math.abs(t.rowDelta()),n)},Oi=function(e,t,n,r){if(0===e.length)return e;for(var o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)ui.mutateCell(e[o],i,jt(r(),!1));return e},Ni=function(e,t,n,r){for(var o=!0,i=0;i<e.length;i++)for(var u=0;u<ui.cellLength(e[0]);u++){var a=n(ui.getCellElement(e[i],u),t);!0===a&&!1===o?ui.mutateCell(e[i],u,jt(r(),!0)):!0===a&&(o=!1)}return e},Ei=function(i,n,u,a){if(0<n&&n<i.length){var e=i[n-1].cells(),t=(r=u,W(e,function(e,t){return k(e,function(e){return r(e.element(),t.element())})?e:e.concat([t])},[]));P(t,function(r){for(var o=S.none(),e=function(n){for(var e=function(t){var e=i[n].cells()[t];u(e.element(),r.element())&&(o.isNone()&&(o=S.some(a())),o.each(function(e){ui.mutateCell(i[n],t,jt(e,!0))}))},t=0;t<ui.cellLength(i[0]);t++)e(t)},t=n;t<i.length;t++)e(t)})}var r;return i},ki=function(n,r,o,i,u){return Ri(n,r,o).map(function(e){var t=Di(r,e,i);return function(e,t,n,r,o){for(var i,u,a,c,l,f=e.row(),s=e.column(),d=f+n.length,m=s+ui.cellLength(n[0]),g=f;g<d;g++)for(var h=s;h<m;h++){i=t,u=g,a=h,l=c=void 0,c=b(o,ui.getCell(i[u],a).element()),l=i[u],1<i.length&&1<ui.cellLength(l)&&(0<a&&c(ui.getCellElement(l,a-1))||a<l.cells().length-1&&c(ui.getCellElement(l,a+1))||0<u&&c(ui.getCellElement(i[u-1],a))||u<i.length-1&&c(ui.getCellElement(i[u+1],a)))&&Ni(t,ui.getCellElement(t[g],h),o,r.cell);var p=ui.getCellElement(n[g-f],h-s),v=r.replace(p);ui.mutateCell(t[g],h,jt(v,!0))}return t}(n,t,o,i,u)})},Ai=function(e,t,n,r,o){Ei(t,e,o,r.cell);var i=Ti(n,t),u=Di(n,i,r),a=Ti(t,u),c=Di(t,a,r);return c.slice(0,e).concat(u).concat(c.slice(e,c.length))},Pi=function(n,r,e,o,i){var t=n.slice(0,r),u=n.slice(r),a=ui.mapCells(n[e],function(e,t){return 0<r&&r<n.length&&o(ui.getCellElement(n[r-1],t),ui.getCellElement(n[r],t))?ui.getCell(n[r],t):jt(i(e.element(),o),!0)});return t.concat([a]).concat(u)},Ii=function(e,n,r,o,i){return A(e,function(e){var t=0<n&&n<ui.cellLength(e)&&o(ui.getCellElement(e,n-1),ui.getCellElement(e,n))?ui.getCell(e,n):jt(i(ui.getCellElement(e,r),o),!0);return ui.addCell(e,n,t)})},Bi=function(e,r,o,i,u){var a=o+1;return A(e,function(e,t){var n=t===r?jt(u(ui.getCellElement(e,o),i),!0):ui.getCell(e,o);return ui.addCell(e,a,n)})},Wi=function(e,t,n,r,o){var i=t+1,u=e.slice(0,i),a=e.slice(i),c=ui.mapCells(e[t],function(e,t){return t===n?jt(o(e.element(),r),!0):e});return u.concat([c]).concat(a)},Mi=function(e,t,n){return e.slice(0,t).concat(e.slice(n+1))},_i=function(e,n,r){var t=A(e,function(e){var t=e.cells().slice(0,n).concat(e.cells().slice(r+1));return Ht(t,e.section())});return I(t,function(e){return 0<e.cells().length})},Li=function(e,n,r,o){return A(e,function(e){return ui.mapCells(e,function(e){return t=e,k(n,function(e){return r(t.element(),e.element())})?jt(o(e.element(),r),!0):e;var t})})},Fi=function(e,t,n,r){return ui.getCellElement(e[t],n)!==undefined&&0<t&&r(ui.getCellElement(e[t-1],n),ui.getCellElement(e[t],n))},ji=function(e,t,n){return 0<t&&n(ui.getCellElement(e,t-1),ui.getCellElement(e,t))},zi=function(n,r,o,e){var t=z(n,function(e,t){return Fi(n,t,r,o)||ji(e,r,o)?[]:[ui.getCell(e,r)]});return Li(n,t,o,e)},Hi=function(n,r,o,e){var i=n[r],t=z(i.cells(),function(e,t){return Fi(n,r,t,o)||ji(i,t,o)?[]:[e]});return Li(n,t,o,e)},Ui=Tr([{none:[]},{only:["index"]},{left:["index","next"]},{middle:["prev","index","next"]},{right:["prev","index"]}]),qi=So({},Ui),Vi=function(e,t,i,u){var n,r,a=e.slice(0),o=(r=t,0===(n=e).length?qi.none():1===n.length?qi.only(0):0===r?qi.left(0,1):r===n.length-1?qi.right(r-1,r):0<r&&r<n.length-1?qi.middle(r-1,r,r+1):qi.none()),c=function(e){return A(e,C(0))},l=C(c(a)),f=function(e,t){if(0<=i){var n=Math.max(u.minCellWidth(),a[t]-i);return c(a.slice(0,e)).concat([i,n-a[t]]).concat(c(a.slice(t+1)))}var r=Math.max(u.minCellWidth(),a[e]+i),o=a[e]-r;return c(a.slice(0,e)).concat([r-a[e],o]).concat(c(a.slice(t+1)))},s=f;return o.fold(l,function(e){return u.singleColumnWidth(a[e],i)},s,function(e,t,n){return f(t,n)},function(e,t){if(0<=i)return c(a.slice(0,t)).concat([i]);var n=Math.max(u.minCellWidth(),a[t]+i);return c(a.slice(0,t)).concat([n-a[t]])})},Gi=function(e,t){return be(e,t)&&1<parseInt(ve(e,t),10)},Yi={hasColspan:function(e){return Gi(e,"colspan")},hasRowspan:function(e){return Gi(e,"rowspan")},minWidth:C(10),minHeight:C(10),getInt:function(e,t){return parseInt(Pe(e,t),10)}},Xi=function(e,t,n){return Be(e,t).fold(function(){return n(e)+"px"},function(e){return e})},Ki=function(e,t){return Xi(e,"width",function(e){return to.getPixelWidth(e,t)})},Ji=function(e){return Xi(e,"height",to.getHeight)},$i=function(e,t,n,r,o){var i=Fo(e),u=A(i,function(e){return e.map(t.edge)});return A(i,function(e,t){return e.filter(g(Yi.hasColspan)).fold(function(){var e=_o(u,t);return r(e)},function(e){return n(e,o)})})},Qi=function(e){return e.map(function(e){return e+"px"}).getOr("")},Zi=function(e,t,n,r){var o=jo(e),i=A(o,function(e){return e.map(t.edge)});return A(o,function(e,t){return e.filter(g(Yi.hasRowspan)).fold(function(){var e=_o(i,t);return r(e)},function(e){return n(e)})})},eu={getRawWidths:function(e,t,n){return $i(e,t,Ki,Qi,n)},getPixelWidths:function(e,t,n){return $i(e,t,to.getPixelWidth,function(e){return e.getOrThunk(n.minCellWidth)},n)},getPercentageWidths:function(e,t,n){return $i(e,t,to.getPercentageWidth,function(e){return e.fold(function(){return n.minCellWidth()},function(e){return e/n.pixelWidth()*100})},n)},getPixelHeights:function(e,t){return Zi(e,t,to.getHeight,function(e){return e.getOrThunk(Yi.minHeight)})},getRawHeights:function(e,t){return Zi(e,t,Ji,Qi)}},tu=function(e,t,n){for(var r=0,o=e;o<t;o++)r+=n[o]!==undefined?n[o]:0;return r},nu=function(e,n){var t=vn.justCells(e);return A(t,function(e){var t=tu(e.column(),e.column()+e.colspan(),n);return{element:e.element,width:C(t),colspan:e.colspan}})},ru=function(e,n){var t=vn.justCells(e);return A(t,function(e){var t=tu(e.row(),e.row()+e.rowspan(),n);return{element:e.element,height:C(t),rowspan:e.rowspan}})},ou=function(e,n){return A(e.all(),function(e,t){return{element:e.element,height:C(n[t])}})},iu=function(e){var t=o;return{width:C(e),pixelWidth:C(e),getWidths:eu.getPixelWidths,getCellDelta:t,singleColumnWidth:function(e,t){return[Math.max(Yi.minWidth(),e+t)-e]},minCellWidth:Yi.minWidth,setElementWidth:to.setPixelWidth,setTableWidth:function(e,t,n){var r=B(t,function(e,t){return e+t},0);to.setPixelWidth(e,r)}}},uu=function(e,t){var n,r,o,i,u=to.percentageBasedSizeRegex().exec(t);if(null!==u)return n=u[1],r=e,o=parseFloat(n),i=zr(r),{width:C(o),pixelWidth:C(i),getWidths:eu.getPercentageWidths,getCellDelta:function(e){return e/i*100},singleColumnWidth:function(e,t){return[100-e]},minCellWidth:function(){return Yi.minWidth()/i*100},setElementWidth:to.setPercentageWidth,setTableWidth:function(e,t,n){var r=n/100*o;to.setPercentageWidth(e,o+r)}};var a=to.pixelBasedSizeRegex().exec(t);if(null!==a){var c=parseInt(a[1],10);return iu(c)}var l=zr(e);return iu(l)},au=function(t){return to.getRawWidth(t).fold(function(){var e=zr(t);return iu(e)},function(e){return uu(t,e)})},cu=function(e){return vn.generate(e)},lu=function(e){var t=mn(e);return cu(t)},fu=function(e,t,n,r){var o=au(e),i=o.getCellDelta(t),u=lu(e),a=o.getWidths(u,r,o),c=Vi(a,n,i,o),l=A(c,function(e,t){return e+a[t]}),f=nu(u,l);P(f,function(e){o.setElementWidth(e.element(),e.width())}),n===u.grid().columns()-1&&o.setTableWidth(e,l,i)},su=function(e,n,r,t){var o=lu(e),i=eu.getPixelHeights(o,t),u=A(i,function(e,t){return r===t?Math.max(n+e,Yi.minHeight()):e}),a=ru(o,u),c=ou(o,u);P(c,function(e){to.setHeight(e.element(),e.height())}),P(a,function(e){to.setHeight(e.element(),e.height())});var l=B(u,function(e,t){return e+t},0);to.setHeight(e,l)},du=function(e,t,n){var r=au(e),o=cu(t),i=r.getWidths(o,n,r),u=nu(o,i);P(u,function(e){r.setElementWidth(e.element(),e.width())}),0<u.length&&r.setTableWidth(e,i,r.getCellDelta(0))},mu=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return mu(n())}}},gu=function(r,o,i){if(0===o.length)throw new Error("You must specify at least one required field.");return Q("required",o),Z(o),function(t){var n=q(t);H(o,function(e){return E(n,e)})||J(o,n),r(o,n);var e=I(o,function(e){return!i.validate(t[e],e)});return 0<e.length&&function(e,t){throw new Error("All values need to be of type: "+t+". Keys ("+K(e).join(", ")+") were not.")}(e,i.label),t}},hu=function(t,e){var n=I(e,function(e){return!E(t,e)});0<n.length&&$(n)},pu=function(e){return gu(hu,e,{validate:T,label:"function"})},vu=pu(["cell","row","replace","gap"]),bu=function(e){var t=be(e,"colspan")?parseInt(ve(e,"colspan"),10):1,n=be(e,"rowspan")?parseInt(ve(e,"rowspan"),10):1;return{element:C(e),colspan:C(t),rowspan:C(n)}},wu=function(r,o){void 0===o&&(o=bu),vu(r);var n=mu(S.none()),i=function(e){var t,n=o(e);return t=n,r.cell(t)},u=function(e){var t=i(e);return n.get().isNone()&&n.set(S.some(t)),a=S.some({item:e,replacement:t}),t},a=S.none();return{getOrInit:function(t,n){return a.fold(function(){return u(t)},function(e){return n(t,e.item)?e.replacement:u(t)})},cursor:n.get}},yu=function(a,c){return function(r){var o=mu(S.none());vu(r);var i=[],u=function(e){var t={scope:a},n=r.replace(e,c,t);return i.push({item:e,sub:n}),o.get().isNone()&&o.set(S.some(n)),n};return{replaceOrInit:function(t,n){return(r=t,o=n,M(i,function(e){return o(e.item,r)})).fold(function(){return u(t)},function(e){return n(t,e.item)?e.sub:u(t)});var r,o},cursor:o.get}}},xu=function(n){vu(n);var e=mu(S.none());return{combine:function(t){return e.get().isNone()&&e.set(S.some(t)),function(){var e=n.cell({element:C(t),colspan:C(1),rowspan:C(1)});return We(e,"width"),We(t,"width"),e}},cursor:e.get}},Cu=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],Su=function(e,t){var n=e.property().name(t);return E(Cu,n)},Ru=function(e,t){return E(["br","img","hr","input"],e.property().name(t))},Tu=Su,Du=function(e,t){var n=e.property().name(t);return E(["ol","ul"],n)},Ou=Ru,Nu=tr(),Eu=function(e){return Tu(Nu,e)},ku=function(e){return Du(Nu,e)},Au=function(e){return Ou(Nu,e)},Pu=function(e){var t,i=function(e){return"br"===ce(e)},n=function(o){return Nn(o).bind(function(n){var r=xt(n).map(function(e){return!!Eu(e)||!!Au(e)&&"img"!==ce(e)}).getOr(!1);return bt(n).map(function(e){return!0===r||"li"===ce(t=e)||Zt(t,ku).isSome()||i(n)||Eu(e)&&!gt(o,e)?[]:[Te.fromTag("br")];var t})}).getOr([])},r=0===(t=z(e,function(e){var t=Ct(e);return H(t,function(e){return i(e)||me(e)&&0===xn(e).trim().length})?[]:t.concat(n(e))})).length?[Te.fromTag("br")]:t;At(e[0]),kt(e[0],r)},Iu=function(e){0===dn.cells(e).length&&Pt(e)},Bu=X("grid","cursor"),Wu=function(e,t,n){return Mu(e,t,n).orThunk(function(){return Mu(e,0,0)})},Mu=function(e,t,n){return S.from(e[t]).bind(function(e){return S.from(e.cells()[n]).bind(function(e){return S.from(e.element())})})},_u=function(e,t,n){return Bu(e,Mu(e,t,n))},Lu=function(e){return W(e,function(e,t){return k(e,function(e){return e.row()===t.row()})?e:e.concat([t])},[]).sort(function(e,t){return e.row()-t.row()})},Fu=function(e){return W(e,function(e,t){return k(e,function(e){return e.column()===t.column()})?e:e.concat([t])},[]).sort(function(e,t){return e.column()-t.column()})},ju=function(e,t,n){var r=gn(e,n),o=vn.generate(r);return fi(o,t,!0)},zu=du,Hu={insertRowBefore:gi(function(e,t,n,r){var o=t.row(),i=t.row(),u=Pi(e,i,o,n,r.getOrInit);return _u(u,i,t.column())},hi,y,y,wu),insertRowsBefore:gi(function(e,t,n,r){var o=t[0].row(),i=t[0].row(),u=Lu(t),a=W(u,function(e,t){return Pi(e,i,o,n,r.getOrInit)},e);return _u(a,i,t[0].column())},vi,y,y,wu),insertRowAfter:gi(function(e,t,n,r){var o=t.row(),i=t.row()+t.rowspan(),u=Pi(e,i,o,n,r.getOrInit);return _u(u,i,t.column())},hi,y,y,wu),insertRowsAfter:gi(function(e,t,n,r){var o=Lu(t),i=o[o.length-1].row(),u=o[o.length-1].row()+o[o.length-1].rowspan(),a=W(o,function(e,t){return Pi(e,u,i,n,r.getOrInit)},e);return _u(a,u,t[0].column())},vi,y,y,wu),insertColumnBefore:gi(function(e,t,n,r){var o=t.column(),i=t.column(),u=Ii(e,i,o,n,r.getOrInit);return _u(u,t.row(),i)},hi,zu,y,wu),insertColumnsBefore:gi(function(e,t,n,r){var o=Fu(t),i=o[0].column(),u=o[0].column(),a=W(o,function(e,t){return Ii(e,u,i,n,r.getOrInit)},e);return _u(a,t[0].row(),u)},vi,zu,y,wu),insertColumnAfter:gi(function(e,t,n,r){var o=t.column(),i=t.column()+t.colspan(),u=Ii(e,i,o,n,r.getOrInit);return _u(u,t.row(),i)},hi,zu,y,wu),insertColumnsAfter:gi(function(e,t,n,r){var o=t[t.length-1].column(),i=t[t.length-1].column()+t[t.length-1].colspan(),u=Fu(t),a=W(u,function(e,t){return Ii(e,i,o,n,r.getOrInit)},e);return _u(a,t[0].row(),i)},vi,zu,y,wu),splitCellIntoColumns:gi(function(e,t,n,r){var o=Bi(e,t.row(),t.column(),n,r.getOrInit);return _u(o,t.row(),t.column())},hi,zu,y,wu),splitCellIntoRows:gi(function(e,t,n,r){var o=Wi(e,t.row(),t.column(),n,r.getOrInit);return _u(o,t.row(),t.column())},hi,y,y,wu),eraseColumns:gi(function(e,t,n,r){var o=Fu(t),i=_i(e,o[0].column(),o[o.length-1].column()),u=Wu(i,t[0].row(),t[0].column());return Bu(i,u)},vi,zu,Iu,wu),eraseRows:gi(function(e,t,n,r){var o=Lu(t),i=Mi(e,o[0].row(),o[o.length-1].row()),u=Wu(i,t[0].row(),t[0].column());return Bu(i,u)},vi,y,Iu,wu),makeColumnHeader:gi(function(e,t,n,r){var o=zi(e,t.column(),n,r.replaceOrInit);return _u(o,t.row(),t.column())},hi,y,y,yu("row","th")),unmakeColumnHeader:gi(function(e,t,n,r){var o=zi(e,t.column(),n,r.replaceOrInit);return _u(o,t.row(),t.column())},hi,y,y,yu(null,"td")),makeRowHeader:gi(function(e,t,n,r){var o=Hi(e,t.row(),n,r.replaceOrInit);return _u(o,t.row(),t.column())},hi,y,y,yu("col","th")),unmakeRowHeader:gi(function(e,t,n,r){var o=Hi(e,t.row(),n,r.replaceOrInit);return _u(o,t.row(),t.column())},hi,y,y,yu(null,"td")),mergeCells:gi(function(e,t,n,r){var o=t.cells();Pu(o);var i=Oi(e,t.bounds(),n,C(o[0]));return Bu(i,S.from(o[0]))},function(e,t){return t.mergable()},y,y,xu),unmergeCells:gi(function(e,t,n,r){var o=B(t,function(e,t){return Ni(e,t,n,r.combine(t))},e);return Bu(o,S.from(t[0]))},function(e,t){return t.unmergable()},zu,y,xu),pasteCells:gi(function(e,n,t,r){var o,i,u,a,c=(o=n.clipboard(),i=n.generators(),u=mn(o),a=vn.generate(u),fi(a,i,!0)),l=Wt(n.row(),n.column());return ki(l,e,c,n.generators(),t).fold(function(){return Bu(e,S.some(n.element()))},function(e){var t=Wu(e,n.row(),n.column());return Bu(e,t)})},function(t,n){return dn.cell(n.element()).bind(function(e){return mi(t,e).map(function(e){return So({},e,{generators:n.generators,clipboard:n.clipboard})})})},zu,y,wu),pasteRowsBefore:gi(function(e,t,n,r){var o=e[t.cells[0].row()],i=t.cells[0].row(),u=ju(t.clipboard(),t.generators(),o),a=Ai(i,e,u,t.generators(),n),c=Wu(a,t.cells[0].row(),t.cells[0].column());return Bu(a,c)},pi,y,y,wu),pasteRowsAfter:gi(function(e,t,n,r){var o=e[t.cells[0].row()],i=t.cells[t.cells.length-1].row()+t.cells[t.cells.length-1].rowspan(),u=ju(t.clipboard(),t.generators(),o),a=Ai(i,e,u,t.generators(),n),c=Wu(a,t.cells[0].row(),t.cells[0].column());return Bu(a,c)},pi,y,y,wu)},Uu=function(e){return Te.fromDom(e.getBody())},qu=function(e){return e.getBoundingClientRect().width},Vu=function(e){return e.getBoundingClientRect().height},Gu=function(t){return function(e){return gt(e,Uu(t))}},Yu=function(e){return/^[0-9]+$/.test(e)&&(e+="px"),e},Xu=function(e){var t=Xt(e,"td[data-mce-style],th[data-mce-style]");we(e,"data-mce-style"),P(t,function(e){we(e,"data-mce-style")})},Ku={isRtl:C(!1)},Ju={isRtl:C(!0)},$u={directionAt:function(e){return"rtl"==("rtl"===Pe(e,"direction")?"rtl":"ltr")?Ju:Ku}},Qu=["tableprops","tabledelete","|","tableinsertrowbefore","tableinsertrowafter","tabledeleterow","|","tableinsertcolbefore","tableinsertcolafter","tabledeletecol"],Zu={"border-collapse":"collapse",width:"100%"},ea={border:"1"},ta=function(e){return e.getParam("table_cell_advtab",!0,"boolean")},na=function(e){return e.getParam("table_row_advtab",!0,"boolean")},ra=function(e){return e.getParam("table_advtab",!0,"boolean")},oa=function(e){return e.getParam("table_style_by_css",!1,"boolean")},ia=function(e){return e.getParam("table_cell_class_list",[],"array")},ua=function(e){return e.getParam("table_row_class_list",[],"array")},aa=function(e){return e.getParam("table_class_list",[],"array")},ca=function(e){return!1===e.getParam("table_responsive_width")},la=function(e,t){return e.fire("newrow",{node:t})},fa=function(e,t){return e.fire("newcell",{node:t})},sa=function(e,t,n,r){e.fire("ObjectResizeStart",{target:t,width:n,height:r})},da=function(e,t,n,r){e.fire("ObjectResized",{target:t,width:n,height:r})},ma=function(f,e){var t,n=function(e){return"table"===ce(Uu(e))},s=(t=f.getParam("table_clone_elements"),v(t)?S.some(t.split(/[ ,]/)):Array.isArray(t)?S.some(t):S.none()),r=function(u,a,c,l){return function(e,t){Xu(e);var n=l(),r=Te.fromDom(f.getDoc()),o=xo($u.directionAt),i=Ln(c,r,s);return a(e)?u(n,e,t,i,o).bind(function(e){return P(e.newRows(),function(e){la(f,e.dom())}),P(e.newCells(),function(e){fa(f,e.dom())}),e.cursor().map(function(e){var t=f.dom.createRng();return t.setStart(e.dom(),0),t.setEnd(e.dom(),0),t})}):S.none()}};return{deleteRow:r(Hu.eraseRows,function(e){var t=Co(e);return!1===n(f)||1<t.rows()},y,e),deleteColumn:r(Hu.eraseColumns,function(e){var t=Co(e);return!1===n(f)||1<t.columns()},y,e),insertRowsBefore:r(Hu.insertRowsBefore,a,y,e),insertRowsAfter:r(Hu.insertRowsAfter,a,y,e),insertColumnsBefore:r(Hu.insertColumnsBefore,a,no,e),insertColumnsAfter:r(Hu.insertColumnsAfter,a,no,e),mergeCells:r(Hu.mergeCells,a,y,e),unmergeCells:r(Hu.unmergeCells,a,y,e),pasteRowsBefore:r(Hu.pasteRowsBefore,a,y,e),pasteRowsAfter:r(Hu.pasteRowsAfter,a,y,e),pasteCells:r(Hu.pasteCells,a,y,e)}},ga=function(e,t,r){var n=mn(e),o=vn.generate(n);return vi(o,t).map(function(e){var t=fi(o,r,!1).slice(e[0].row(),e[e.length-1].row()+e[e.length-1].rowspan()),n=di(t,r);return No(n)})},ha=tinymce.util.Tools.resolve("tinymce.util.Tools"),pa=function(e,t,n){n&&e.formatter.apply("align"+n,{},t)},va=function(e,t,n){n&&e.formatter.apply("valign"+n,{},t)},ba=function(t,n){ha.each("left center right".split(" "),function(e){t.formatter.remove("align"+e,{},n)})},wa=function(t,n){ha.each("top middle bottom".split(" "),function(e){t.formatter.remove("valign"+e,{},n)})},ya=function(o,e,i){var t;return t=function(e,t){for(var n=0;n<t.length;n++){var r=o.getStyle(t[n],i);if(void 0===e&&(e=r),e!==r)return""}return e}(t,o.select("td,th",e))},xa=function(e,t){var n=e.dom,r=t.control.rootControl,o=r.toJSON(),i=n.parseStyle(o.style);i["border-style"]=o.borderStyle,i["border-color"]=o.borderColor,i["background-color"]=o.backgroundColor,i.width=o.width?Yu(o.width):"",i.height=o.height?Yu(o.height):"",r.find("#style").value(n.serializeStyle(n.parseStyle(n.serializeStyle(i))))},Ca=function(e,t){var n=e.dom,r=t.control.rootControl,o=r.toJSON(),i=n.parseStyle(o.style);r.find("#borderStyle").value(i["border-style"]||""),r.find("#borderColor").value(i["border-color"]||""),r.find("#backgroundColor").value(i["background-color"]||""),r.find("#width").value(i.width||""),r.find("#height").value(i.height||"")},Sa={createStyleForm:function(n){var e=function(){var e=n.getParam("color_picker_callback");if(e)return function(t){return e.call(n,function(e){t.control.value(e).fire("change")},t.control.value())}};return{title:"Advanced",type:"form",defaults:{onchange:b(xa,n)},items:[{label:"Style",name:"style",type:"textbox",onchange:b(Ca,n)},{type:"form",padding:0,formItemDefaults:{layout:"grid",alignH:["start","right"]},defaults:{size:7},items:[{label:"Border style",type:"listbox",name:"borderStyle",width:90,onselect:b(xa,n),values:[{text:"Select...",value:""},{text:"Solid",value:"solid"},{text:"Dotted",value:"dotted"},{text:"Dashed",value:"dashed"},{text:"Double",value:"double"},{text:"Groove",value:"groove"},{text:"Ridge",value:"ridge"},{text:"Inset",value:"inset"},{text:"Outset",value:"outset"},{text:"None",value:"none"},{text:"Hidden",value:"hidden"}]},{label:"Border color",type:"colorbox",name:"borderColor",onaction:e()},{label:"Background color",type:"colorbox",name:"backgroundColor",onaction:e()}]}]}},buildListItems:function(e,r,t){var o=function(e,n){return n=n||[],ha.each(e,function(e){var t={text:e.text||e.title};e.menu?t.menu=o(e.menu):(t.value=e.value,r&&r(t)),n.push(t)}),n};return o(e,t||[])},updateStyleField:xa,extractAdvancedStyles:function(e,t){var n=e.parseStyle(e.getAttrib(t,"style")),r={};return n["border-style"]&&(r.borderStyle=n["border-style"]),n["border-color"]&&(r.borderColor=n["border-color"]),n["background-color"]&&(r.backgroundColor=n["background-color"]),r.style=e.serializeStyle(n),r},updateAdvancedFields:Ca,syncAdvancedStyleFields:function(e,t){t.control.rootControl.find("#style")[0].getEl().isEqualNode(m.document.activeElement)?Ca(e,t):xa(e,t)}},Ra=function(r,o,e){var i,u=r.dom;function a(e,t,n){(1===o.length||n)&&u.setAttrib(e,t,n)}function c(e,t,n){(1===o.length||n)&&u.setStyle(e,t,n)}ta(r)&&Sa.syncAdvancedStyleFields(r,e),i=e.control.rootControl.toJSON(),r.undoManager.transact(function(){ha.each(o,function(e){var t,n;a(e,"scope",i.scope),1===o.length?a(e,"style",i.style):(t=e,n=i.style,delete t.dataset.mceStyle,t.style.cssText+=";"+n),a(e,"class",i["class"]),c(e,"width",Yu(i.width)),c(e,"height",Yu(i.height)),i.type&&e.nodeName.toLowerCase()!==i.type&&(e=u.rename(e,i.type)),1===o.length&&(ba(r,e),wa(r,e)),i.align&&pa(r,e,i.align),i.valign&&va(r,e,i.valign)}),r.focus()})},Ta=function(t){var e,n,r,o=[];if(o=t.dom.select("td[data-mce-selected],th[data-mce-selected]"),e=t.dom.getParent(t.selection.getStart(),"td,th"),!o.length&&e&&o.push(e),e=e||o[0]){var i,u,a,c;1<o.length?n={width:"",height:"",scope:"","class":"",align:"",valign:"",style:"",type:e.nodeName.toLowerCase()}:(u=e,a=(i=t).dom,c={width:a.getStyle(u,"width")||a.getAttrib(u,"width"),height:a.getStyle(u,"height")||a.getAttrib(u,"height"),scope:a.getAttrib(u,"scope"),"class":a.getAttrib(u,"class"),type:u.nodeName.toLowerCase(),style:"",align:"",valign:""},ha.each("left center right".split(" "),function(e){i.formatter.matchNode(u,"align"+e)&&(c.align=e)}),ha.each("top middle bottom".split(" "),function(e){i.formatter.matchNode(u,"valign"+e)&&(c.valign=e)}),ta(i)&&ha.extend(c,Sa.extractAdvancedStyles(a,u)),n=c),0<ia(t).length&&(r={name:"class",type:"listbox",label:"Class",values:Sa.buildListItems(ia(t),function(e){e.value&&(e.textStyle=function(){return t.formatter.getCssText({block:"td",classes:[e.value]})})})});var l={type:"form",layout:"flex",direction:"column",labelGapCalc:"children",padding:0,items:[{type:"form",layout:"grid",columns:2,labelGapCalc:!1,padding:0,defaults:{type:"textbox",maxWidth:50},items:[{label:"Width",name:"width",onchange:b(Sa.updateStyleField,t)},{label:"Height",name:"height",onchange:b(Sa.updateStyleField,t)},{label:"Cell type",name:"type",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"Cell",value:"td"},{text:"Header cell",value:"th"}]},{label:"Scope",name:"scope",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Row",value:"row"},{text:"Column",value:"col"},{text:"Row group",value:"rowgroup"},{text:"Column group",value:"colgroup"}]},{label:"H Align",name:"align",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"V Align",name:"valign",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Top",value:"top"},{text:"Middle",value:"middle"},{text:"Bottom",value:"bottom"}]}]},r]};ta(t)?t.windowManager.open({title:"Cell properties",bodyType:"tabpanel",data:n,body:[{title:"General",type:"form",items:l},Sa.createStyleForm(t)],onsubmit:b(Ra,t,o)}):t.windowManager.open({title:"Cell properties",data:n,body:l,onsubmit:b(Ra,t,o)})}};function Da(f,s,d,e){var m=f.dom;function g(e,t,n){(1===s.length||n)&&m.setAttrib(e,t,n)}na(f)&&Sa.syncAdvancedStyleFields(f,e);var h=e.control.rootControl.toJSON();f.undoManager.transact(function(){ha.each(s,function(e){var t,n,r,o,i,u,a,c,l;g(e,"scope",h.scope),g(e,"style",h.style),g(e,"class",h["class"]),t=e,n="height",r=Yu(h.height),(1===s.length||r)&&m.setStyle(t,n,r),h.type!==e.parentNode.nodeName.toLowerCase()&&(o=f.dom,i=e,u=h.type,a=o.getParent(i,"table"),c=i.parentNode,(l=o.select(u,a)[0])||(l=o.create(u),a.firstChild?"CAPTION"===a.firstChild.nodeName?o.insertAfter(l,a.firstChild):a.insertBefore(l,a.firstChild):a.appendChild(l)),l.appendChild(i),c.hasChildNodes()||o.remove(c)),h.align!==d.align&&(ba(f,e),pa(f,e,h.align))}),f.focus()})}var Oa=function(t){var e,n,r,o,i,u,a,c,l,f,s=t.dom,d=[];e=s.getParent(t.selection.getStart(),"table"),n=s.getParent(t.selection.getStart(),"td,th"),ha.each(e.rows,function(t){ha.each(t.cells,function(e){if(s.getAttrib(e,"data-mce-selected")||e===n)return d.push(t),!1})}),(r=d[0])&&(1<d.length?i={height:"",scope:"",style:"","class":"",align:"",type:r.parentNode.nodeName.toLowerCase()}:(c=r,l=(a=t).dom,f={height:l.getStyle(c,"height")||l.getAttrib(c,"height"),scope:l.getAttrib(c,"scope"),"class":l.getAttrib(c,"class"),align:"",style:"",type:c.parentNode.nodeName.toLowerCase()},ha.each("left center right".split(" "),function(e){a.formatter.matchNode(c,"align"+e)&&(f.align=e)}),na(a)&&ha.extend(f,Sa.extractAdvancedStyles(l,c)),i=f),0<ua(t).length&&(o={name:"class",type:"listbox",label:"Class",values:Sa.buildListItems(ua(t),function(e){e.value&&(e.textStyle=function(){return t.formatter.getCssText({block:"tr",classes:[e.value]})})})}),u={type:"form",columns:2,padding:0,defaults:{type:"textbox"},items:[{type:"listbox",name:"type",label:"Row type",text:"Header",maxWidth:null,values:[{text:"Header",value:"thead"},{text:"Body",value:"tbody"},{text:"Footer",value:"tfoot"}]},{type:"listbox",name:"align",label:"Alignment",text:"None",maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"Height",name:"height"},o]},na(t)?t.windowManager.open({title:"Row properties",data:i,bodyType:"tabpanel",body:[{title:"General",type:"form",items:u},Sa.createStyleForm(t)],onsubmit:b(Da,t,d,i)}):t.windowManager.open({title:"Row properties",data:i,body:u,onsubmit:b(Da,t,d,i)}))},Na=tinymce.util.Tools.resolve("tinymce.Env"),Ea={styles:{"border-collapse":"collapse",width:"100%"},attributes:{border:"1"},percentages:!0},ka=function(e,t,n,r,o){void 0===o&&(o=Ea);var i=Te.fromTag("table");Ae(i,o.styles),pe(i,o.attributes);var u=Te.fromTag("tbody");Ot(i,u);for(var a=[],c=0;c<e;c++){for(var l=Te.fromTag("tr"),f=0;f<t;f++){var s=c<n||f<r?Te.fromTag("th"):Te.fromTag("td");f<r&&he(s,"scope","row"),c<n&&he(s,"scope","col"),Ot(s,Te.fromTag("br")),o.percentages&&ke(s,"width",100/t+"%"),Ot(l,s)}a.push(l)}return kt(u,a),i},Aa=function(e,t){e.selection.select(t.dom(),!0),e.selection.collapse(!0)},Pa=function(r,e,t){var n,o,i=r.getParam("table_default_styles",Zu,"object"),u={styles:i,attributes:(o=r,o.getParam("table_default_attributes",ea,"object")),percentages:(n=i.width,v(n)&&-1!==n.indexOf("%")&&!ca(r))},a=ka(t,e,0,0,u);he(a,"data-mce-id","__mce");var c,l,f,s=(c=a,l=Te.fromTag("div"),f=Te.fromDom(c.dom().cloneNode(!0)),Ot(l,f),l.dom().innerHTML);return r.insertContent(s),nn(Uu(r),'table[data-mce-id="__mce"]').map(function(e){var t,n;return ca(r)&&ke(e,"width",Pe(e,"width")),we(e,"data-mce-id"),t=r,P(Xt(e,"tr"),function(e){la(t,e.dom()),P(Xt(e,"th,td"),function(e){fa(t,e.dom())})}),n=r,nn(e,"td,th").each(b(Aa,n)),e.dom()}).getOr(null)};function Ia(e,t,n,r){if("TD"===t.tagName||"TH"===t.tagName)e.setStyle(t,n,r);else if(t.children)for(var o=0;o<t.children.length;o++)Ia(e,t.children[o],n,r)}var Ba,Wa=function(e,t,n){var r,o,i=e.dom;ra(e)&&Sa.syncAdvancedStyleFields(e,n),!1===(o=n.control.rootControl.toJSON())["class"]&&delete o["class"],e.undoManager.transact(function(){t||(t=Pa(e,o.cols||1,o.rows||1)),function(e,t,n){var r,o=e.dom,i={},u={};if(i["class"]=n["class"],u.height=Yu(n.height),o.getAttrib(t,"width")&&!oa(e)?i.width=(r=n.width)?r.replace(/px$/,""):"":u.width=Yu(n.width),oa(e)?(u["border-width"]=Yu(n.border),u["border-spacing"]=Yu(n.cellspacing),ha.extend(i,{"data-mce-border-color":n.borderColor,"data-mce-cell-padding":n.cellpadding,"data-mce-border":n.border})):ha.extend(i,{border:n.border,cellpadding:n.cellpadding,cellspacing:n.cellspacing}),oa(e)&&t.children)for(var a=0;a<t.children.length;a++)Ia(o,t.children[a],{"border-width":Yu(n.border),"border-color":n.borderColor,padding:Yu(n.cellpadding)});n.style?ha.extend(u,o.parseStyle(n.style)):u=ha.extend({},o.parseStyle(o.getAttrib(t,"style")),u),i.style=o.serializeStyle(u),o.setAttribs(t,i)}(e,t,o),(r=i.select("caption",t)[0])&&!o.caption&&i.remove(r),!r&&o.caption&&((r=i.create("caption")).innerHTML=Na.ie?"\xa0":'<br data-mce-bogus="1"/>',t.insertBefore(r,t.firstChild)),ba(e,t),o.align&&pa(e,t,o.align),e.focus(),e.addVisual()})},Ma=function(t,e){var n,r,o,i,u,a,c,l,f,s,d=t.dom,m={};!0===e?(n=d.getParent(t.selection.getStart(),"table"))&&(c=n,l=(a=t).dom,f={width:l.getStyle(c,"width")||l.getAttrib(c,"width"),height:l.getStyle(c,"height")||l.getAttrib(c,"height"),cellspacing:l.getStyle(c,"border-spacing")||l.getAttrib(c,"cellspacing"),cellpadding:l.getAttrib(c,"data-mce-cell-padding")||l.getAttrib(c,"cellpadding")||ya(a.dom,c,"padding"),border:l.getAttrib(c,"data-mce-border")||l.getAttrib(c,"border")||ya(a.dom,c,"border"),borderColor:l.getAttrib(c,"data-mce-border-color"),caption:!!l.select("caption",c)[0],"class":l.getAttrib(c,"class")},ha.each("left center right".split(" "),function(e){a.formatter.matchNode(c,"align"+e)&&(f.align=e)}),ra(a)&&ha.extend(f,Sa.extractAdvancedStyles(l,c)),m=f):(r={label:"Cols",name:"cols"},o={label:"Rows",name:"rows"}),0<aa(t).length&&(m["class"]&&(m["class"]=m["class"].replace(/\s*mce\-item\-table\s*/g,"")),i={name:"class",type:"listbox",label:"Class",values:Sa.buildListItems(aa(t),function(e){e.value&&(e.textStyle=function(){return t.formatter.getCssText({block:"table",classes:[e.value]})})})}),u={type:"form",layout:"flex",direction:"column",labelGapCalc:"children",padding:0,items:[{type:"form",labelGapCalc:!1,padding:0,layout:"grid",columns:2,defaults:{type:"textbox",maxWidth:50},items:(s=t,s.getParam("table_appearance_options",!0,"boolean")?[r,o,{label:"Width",name:"width",onchange:b(Sa.updateStyleField,t)},{label:"Height",name:"height",onchange:b(Sa.updateStyleField,t)},{label:"Cell spacing",name:"cellspacing"},{label:"Cell padding",name:"cellpadding"},{label:"Border",name:"border"},{label:"Caption",name:"caption",type:"checkbox"}]:[r,o,{label:"Width",name:"width",onchange:b(Sa.updateStyleField,t)},{label:"Height",name:"height",onchange:b(Sa.updateStyleField,t)}])},{label:"Alignment",name:"align",type:"listbox",text:"None",values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},i]},ra(t)?t.windowManager.open({title:"Table properties",data:m,bodyType:"tabpanel",body:[{title:"General",type:"form",items:u},Sa.createStyleForm(t)],onsubmit:b(Wa,t,n)}):t.windowManager.open({title:"Table properties",data:m,body:u,onsubmit:b(Wa,t,n)})},_a=ha.each,La=function(a,t,c,l,n){var r=Gu(a),e=function(e){return function(){return S.from(a.dom.getParent(a.selection.getStart(),e)).map(Te.fromDom)}},o=e("caption"),f=e("th,td"),s=function(e){return dn.table(e,r)},d=function(e){return{width:qu(e.dom()),height:qu(e.dom())}},i=function(n){f().each(function(t){s(t).each(function(i){var e=Br.forMenu(l,i,t),u=d(i);n(i,e).each(function(e){var t,n,r,o;t=a,n=u,o=d(r=i),n.width===o.width&&n.height===o.height||(sa(t,r.dom(),n.width,n.height),da(t,r.dom(),o.width,o.height)),a.selection.setRng(e),a.focus(),c.clear(i),Xu(i)})})})},u=function(e){return f().bind(function(o){return s(o).bind(function(e){var t=Te.fromDom(a.getDoc()),n=Br.forMenu(l,e,o),r=Ln(y,t,S.none());return ga(e,n,r)})})},m=function(u){n.get().each(function(e){var i=A(e,function(e){return Pn(e)});f().each(function(o){s(o).each(function(t){var e=Te.fromDom(a.getDoc()),n=Fn(e),r=Br.pasteRows(l,t,o,i,n);u(t,r).each(function(e){a.selection.setRng(e),a.focus(),c.clear(t)})})})})};_a({mceTableSplitCells:function(){i(t.unmergeCells)},mceTableMergeCells:function(){i(t.mergeCells)},mceTableInsertRowBefore:function(){i(t.insertRowsBefore)},mceTableInsertRowAfter:function(){i(t.insertRowsAfter)},mceTableInsertColBefore:function(){i(t.insertColumnsBefore)},mceTableInsertColAfter:function(){i(t.insertColumnsAfter)},mceTableDeleteCol:function(){i(t.deleteColumn)},mceTableDeleteRow:function(){i(t.deleteRow)},mceTableCutRow:function(e){n.set(u()),i(t.deleteRow)},mceTableCopyRow:function(e){n.set(u())},mceTablePasteRowBefore:function(e){m(t.pasteRowsBefore)},mceTablePasteRowAfter:function(e){m(t.pasteRowsAfter)},mceTableDelete:function(){f().orThunk(o).each(function(e){dn.table(e,r).filter(g(r)).each(function(e){var t=Te.fromText("");Tt(e,t),Pt(e);var n=a.dom.createRng();n.setStart(t.dom(),0),n.setEnd(t.dom(),0),a.selection.setRng(n)})})}},function(e,t){a.addCommand(t,e)}),_a({mceInsertTable:b(Ma,a),mceTableProps:b(Ma,a,!0),mceTableRowProps:b(Oa,a),mceTableCellProps:b(Ta,a)},function(n,e){a.addCommand(e,function(e,t){n(t)})})},Fa=function(e){var t=S.from(e.dom().documentElement).map(Te.fromDom).getOr(e);return{parent:C(t),view:C(e),origin:C(oo(0,0))}},ja=function(e,t){return{parent:C(t),view:C(e),origin:C(oo(0,0))}},za=function(e){var r=X.apply(null,e),o=[];return{bind:function(e){if(e===undefined)throw new Error("Event bind error: undefined handler");o.push(e)},unbind:function(t){o=I(o,function(e){return e!==t})},trigger:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=r.apply(null,e);P(o,function(e){e(n)})}}},Ha={create:function(e){return{registry:G(e,function(e){return{bind:e.bind,unbind:e.unbind}}),trigger:G(e,function(e){return e.trigger})}}},Ua=function(m,g){return function(e){if(m(e)){var t,n,r,o,i,u,a,c=Te.fromDom(e.target),l=function(){e.stopPropagation()},f=function(){e.preventDefault()},s=x(f,l),d=(t=c,n=e.clientX,r=e.clientY,o=l,i=f,u=s,a=e,{target:C(t),x:C(n),y:C(r),stop:o,prevent:i,kill:u,raw:C(a)});g(d)}}},qa=function(e,t,n,r){return o=e,i=t,u=!1,a=Ua(n,r),o.dom().addEventListener(i,a,u),{unbind:b(Va,o,i,a,u)};var o,i,u,a},Va=function(e,t,n,r){e.dom().removeEventListener(t,n,r)},Ga=C(!0),Ya=function(e,t,n){return qa(e,t,Ga,n)},Xa=Object.prototype.hasOwnProperty,Ka=(Ba=function(e,t){return t},function(){for(var e=new Array(arguments.length),t=0;t<e.length;t++)e[t]=arguments[t];if(0===e.length)throw new Error("Can't merge zero objects");for(var n={},r=0;r<e.length;r++){var o=e[r];for(var i in o)Xa.call(o,i)&&(n[i]=Ba(n[i],o[i]))}return n}),Ja={resolve:zo("ephox-dragster").resolve},$a=pu(["compare","extract","mutate","sink"]),Qa=pu(["element","start","stop","destroy"]),Za=pu(["forceDrop","drop","move","delayDrop"]),ec=$a({compare:function(e,t){return oo(t.left()-e.left(),t.top()-e.top())},extract:function(e){return S.some(oo(e.x(),e.y()))},sink:function(e,t){var n,r,o,i=(n=t,r=Ka({layerClass:Ja.resolve("blocker")},n),o=Te.fromTag("div"),he(o,"role","presentation"),Ae(o,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),Io(o,Ja.resolve("blocker")),Io(o,r.layerClass),{element:function(){return o},destroy:function(){Pt(o)}}),u=Ya(i.element(),"mousedown",e.forceDrop),a=Ya(i.element(),"mouseup",e.drop),c=Ya(i.element(),"mousemove",e.move),l=Ya(i.element(),"mouseout",e.delayDrop);return Qa({element:i.element,start:function(e){Ot(e,i.element())},stop:function(){Pt(i.element())},destroy:function(){i.destroy(),a.unbind(),c.unbind(),l.unbind(),u.unbind()}})},mutate:function(e,t){e.mutate(t.left(),t.top())}});function tc(){var i=S.none(),u=Ha.create({move:za(["info"])});return{onEvent:function(e,o){o.extract(e).each(function(e){var t,n,r;(t=o,n=e,r=i.map(function(e){return t.compare(e,n)}),i=S.some(n),r).each(function(e){u.trigger.move(e)})})},reset:function(){i=S.none()},events:u.registry}}function nc(){var e={onEvent:y,reset:y},t=tc(),n=e;return{on:function(){n.reset(),n=t},off:function(){n.reset(),n=e},isOn:function(){return n===t},onEvent:function(e,t){n.onEvent(e,t)},events:t.events}}var rc=function(t,n,e){var r,o,i,u=!1,a=Ha.create({start:za([]),stop:za([])}),c=nc(),l=function(){d.stop(),c.isOn()&&(c.off(),a.trigger.stop())},f=(r=l,o=200,i=null,{cancel:function(){null!==i&&(m.clearTimeout(i),i=null)},throttle:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];null!==i&&m.clearTimeout(i),i=m.setTimeout(function(){r.apply(null,e),i=null},o)}});c.events.move.bind(function(e){n.mutate(t,e.info())});var s=function(n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];u&&n.apply(null,e)}},d=n.sink(Za({forceDrop:l,drop:s(l),move:s(function(e){f.cancel(),c.onEvent(e,n)}),delayDrop:s(f.throttle)}),e);return{element:d.element,go:function(e){d.start(e),c.on(),a.trigger.start()},on:function(){u=!0},off:function(){u=!1},destroy:function(){d.destroy()},events:a.registry}},oc=function(e,t){void 0===t&&(t={});var n=t.mode!==undefined?t.mode:ec;return rc(e,n,t)},ic=function(){var n,r=Ha.create({drag:za(["xDelta","yDelta","target"])}),o=S.none(),e={mutate:function(e,t){n.trigger.drag(e,t)},events:(n=Ha.create({drag:za(["xDelta","yDelta"])})).registry};return e.events.drag.bind(function(t){o.each(function(e){r.trigger.drag(t.xDelta(),t.yDelta(),e)})}),{assign:function(e){o=S.some(e)},get:function(){return o},mutate:e.mutate,events:r.registry}},uc=function(e){return"true"===ve(e,"contenteditable")},ac=Ho.resolve("resizer-bar-dragging"),cc=function(o,t,i){var n=ic(),r=oc(n,{}),u=S.none(),e=function(e,t){return S.from(ve(e,t))};n.events.drag.bind(function(n){e(n.target(),"data-row").each(function(e){var t=Yi.getInt(n.target(),"top");ke(n.target(),"top",t+n.yDelta()+"px")}),e(n.target(),"data-column").each(function(e){var t=Yi.getInt(n.target(),"left");ke(n.target(),"left",t+n.xDelta()+"px")})});var a=function(e,t){return Yi.getInt(e,t)-parseInt(ve(e,"data-initial-"+t),10)};r.events.stop.bind(function(){n.get().each(function(r){u.each(function(n){e(r,"data-row").each(function(e){var t=a(r,"top");we(r,"data-initial-top"),m.trigger.adjustHeight(n,t,parseInt(e,10))}),e(r,"data-column").each(function(e){var t=a(r,"left");we(r,"data-initial-left"),m.trigger.adjustWidth(n,t,parseInt(e,10))}),Qo(o,n,i,t)})})});var c=function(e,t){m.trigger.startAdjust(),n.assign(e),he(e,"data-initial-"+t,parseInt(Pe(e,t),10)),Io(e,ac),ke(e,"opacity","0.2"),r.go(o.parent())},l=Ya(o.parent(),"mousedown",function(e){ni(e.target())&&c(e.target(),"top"),ri(e.target())&&c(e.target(),"left")}),f=function(e){return gt(e,o.view())},s=function(e){return rn(e,"table",f).filter(function(e){return(t=e,n=f,rn(t,"[contenteditable]",n)).exists(uc);var t,n})},d=Ya(o.view(),"mouseover",function(e){s(e.target()).fold(function(){De(e.target())&&ti(o)},function(e){u=S.some(e),Qo(o,e,i,t)})}),m=Ha.create({adjustHeight:za(["table","delta","row"]),adjustWidth:za(["table","delta","column"]),startAdjust:za([])});return{destroy:function(){l.unbind(),d.unbind(),r.destroy(),ti(o)},refresh:function(e){Qo(o,e,i,t)},on:r.on,off:r.off,hideBars:b(Zo,o),showBars:b(ei,o),events:m.registry}},lc=function(e,t){return e.inline?ja(Uu(e),(n=Te.fromTag("div"),Ae(n,{position:"static",height:"0",width:"0",padding:"0",margin:"0",border:"0"}),Ot(Oe(),n),n)):Fa(Te.fromDom(e.getDoc()));var n},fc=function(e,t){e.inline&&Pt(t.parent())},sc=function(c){var u,a,l=S.none(),f=S.none(),s=S.none(),d=/(\d+(\.\d+)?)%/,m=function(e){return"TABLE"===e.nodeName};return c.on("init",function(){var n,r,e,o,t,i=xo($u.directionAt),u=lc(c);if(s=S.some(u),("table"===(t=c.getParam("object_resizing",!0))||t)&&c.getParam("table_resize_bars",!0,"boolean")){var a=(e=cc(u,n=i,r=wo.height),o=Ha.create({beforeResize:za(["table"]),afterResize:za(["table"]),startDrag:za([])}),e.events.adjustHeight.bind(function(e){o.trigger.beforeResize(e.table());var t=r.delta(e.delta(),e.table());su(e.table(),t,e.row(),r),o.trigger.afterResize(e.table())}),e.events.startAdjust.bind(function(e){o.trigger.startDrag()}),e.events.adjustWidth.bind(function(e){o.trigger.beforeResize(e.table());var t=n.delta(e.delta(),e.table());fu(e.table(),t,e.column(),n),o.trigger.afterResize(e.table())}),{on:e.on,off:e.off,hideBars:e.hideBars,showBars:e.showBars,destroy:e.destroy,events:o.registry});a.on(),a.events.startDrag.bind(function(e){l=S.some(c.selection.getRng())}),a.events.beforeResize.bind(function(e){var t=e.table().dom();sa(c,t,qu(t),Vu(t))}),a.events.afterResize.bind(function(e){var t=e.table(),n=t.dom();Xu(t),l.each(function(e){c.selection.setRng(e),c.focus()}),da(c,n,qu(n),Vu(n)),c.undoManager.add()}),f=S.some(a)}}),c.on("ObjectResizeStart",function(e){var t,n=e.target;m(n)&&(u=e.width,t=n,a=c.dom.getStyle(t,"width")||c.dom.getAttrib(t,"width"))}),c.on("ObjectResized",function(e){var t=e.target;if(m(t)){var n=t;if(d.test(a)){var r=parseFloat(d.exec(a)[1]),o=e.width*r/u;c.dom.setStyle(n,"width",o+"%")}else{var i=[];ha.each(n.rows,function(e){ha.each(e.cells,function(e){var t=c.dom.getStyle(e,"width",!0);i.push({cell:e,width:t})})}),ha.each(i,function(e){c.dom.setStyle(e.cell,"width",e.width),c.dom.setAttrib(e.cell,"width",null)})}}}),{lazyResize:function(){return f},lazyWire:function(){return s.getOr(Fa(Te.fromDom(c.getBody())))},destroy:function(){f.each(function(e){e.destroy()}),s.each(function(e){fc(c,e)})}}},dc=Tr([{none:["current"]},{first:["current"]},{middle:["current","target"]},{last:["current"]}]),mc=So({},dc,{none:function(e){return void 0===e&&(e=undefined),dc.none(e)}}),gc=function(n,e){return dn.table(n,e).bind(function(e){var t=dn.cells(e);return _(t,function(e){return gt(n,e)}).map(function(e){return{index:C(e),all:C(t)}})})},hc=function(t,e){return gc(t,e).fold(function(){return mc.none(t)},function(e){return e.index()+1<e.all().length?mc.middle(t,e.all()[e.index()+1]):mc.last(t)})},pc=function(t,e){return gc(t,e).fold(function(){return mc.none()},function(e){return 0<=e.index()-1?mc.middle(t,e.all()[e.index()-1]):mc.first(t)})},vc={create:X("start","soffset","finish","foffset")},bc=Tr([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),wc={before:bc.before,on:bc.on,after:bc.after,cata:function(e,t,n,r){return e.fold(t,n,r)},getStart:function(e){return e.fold(o,o,o)}},yc=Tr([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),xc={domRange:yc.domRange,relative:yc.relative,exact:yc.exact,exactFromRange:function(e){return yc.exact(e.start(),e.soffset(),e.finish(),e.foffset())},getWin:function(e){var t,n=e.match({domRange:function(e){return Te.fromDom(e.startContainer)},relative:function(e,t){return wc.getStart(e)},exact:function(e,t,n,r){return e}});return t=n,Te.fromDom(t.dom().ownerDocument.defaultView)},range:vc.create},Cc=function(e,t){e.selectNodeContents(t.dom())},Sc=function(e,t,n){var r,o,i=e.document.createRange();return r=i,t.fold(function(e){r.setStartBefore(e.dom())},function(e,t){r.setStart(e.dom(),t)},function(e){r.setStartAfter(e.dom())}),o=i,n.fold(function(e){o.setEndBefore(e.dom())},function(e,t){o.setEnd(e.dom(),t)},function(e){o.setEndAfter(e.dom())}),i},Rc=function(e,t,n,r,o){var i=e.document.createRange();return i.setStart(t.dom(),n),i.setEnd(r.dom(),o),i},Tc=function(e){return{left:C(e.left),top:C(e.top),right:C(e.right),bottom:C(e.bottom),width:C(e.width),height:C(e.height)}},Dc=Tr([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),Oc=function(e,t,n){return t(Te.fromDom(n.startContainer),n.startOffset,Te.fromDom(n.endContainer),n.endOffset)},Nc=function(e,t){var o,n,r,i=(o=e,t.match({domRange:function(e){return{ltr:C(e),rtl:S.none}},relative:function(e,t){return{ltr:Se(function(){return Sc(o,e,t)}),rtl:Se(function(){return S.some(Sc(o,t,e))})}},exact:function(e,t,n,r){return{ltr:Se(function(){return Rc(o,e,t,n,r)}),rtl:Se(function(){return S.some(Rc(o,n,r,e,t))})}}}));return(r=(n=i).ltr()).collapsed?n.rtl().filter(function(e){return!1===e.collapsed}).map(function(e){return Dc.rtl(Te.fromDom(e.endContainer),e.endOffset,Te.fromDom(e.startContainer),e.startOffset)}).getOrThunk(function(){return Oc(0,Dc.ltr,r)}):Oc(0,Dc.ltr,r)},Ec=function(i,e){return Nc(i,e).match({ltr:function(e,t,n,r){var o=i.document.createRange();return o.setStart(e.dom(),t),o.setEnd(n.dom(),r),o},rtl:function(e,t,n,r){var o=i.document.createRange();return o.setStart(n.dom(),r),o.setEnd(e.dom(),t),o}})},kc=function(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom},Ac=function(n,r,e,t,o){var i=function(e){var t=n.dom().createRange();return t.setStart(r.dom(),e),t.collapse(!0),t},u=xn(r).length,a=function(e,t,n,r,o){if(0===o)return 0;if(t===r)return o-1;for(var i=r,u=1;u<o;u++){var a=e(u),c=Math.abs(t-a.left);if(n<=a.bottom){if(n<a.top||i<c)return u-1;i=c}}return 0}(function(e){return i(e).getBoundingClientRect()},e,t,o.right,u);return i(a)},Pc=function(e,t,n,r){return me(t)?function(t,n,r,o){var e=t.dom().createRange();e.selectNode(n.dom());var i=e.getClientRects();return To(i,function(e){return kc(e,r,o)?S.some(e):S.none()}).map(function(e){return Ac(t,n,r,o,e)})}(e,t,n,r):(i=t,u=n,a=r,c=(o=e).dom().createRange(),l=Ct(i),To(l,function(e){return c.selectNode(e.dom()),kc(c.getBoundingClientRect(),u,a)?Pc(o,e,u,a):S.none()}));var o,i,u,a,c,l},Ic=function(e,t){return t-e.left<e.right-t},Bc=function(e,t,n){var r=e.dom().createRange();return r.selectNode(t.dom()),r.collapse(n),r},Wc=function(t,e,n){var r=t.dom().createRange();r.selectNode(e.dom());var o=r.getBoundingClientRect(),i=Ic(o,n);return(!0===i?On:Nn)(e).map(function(e){return Bc(t,e,i)})},Mc=function(e,t,n){var r=t.dom().getBoundingClientRect(),o=Ic(r,n);return S.some(Bc(e,t,o))},_c=function(e,t,n,r){var o=e.dom().createRange();o.selectNode(t.dom());var i=o.getBoundingClientRect();return function(e,t,n,r){var o=e.dom().createRange();o.selectNode(t.dom());var i=o.getBoundingClientRect(),u=Math.max(i.left,Math.min(i.right,n)),a=Math.max(i.top,Math.min(i.bottom,r));return Pc(e,t,u,a)}(e,t,Math.max(i.left,Math.min(i.right,n)),Math.max(i.top,Math.min(i.bottom,r)))},Lc=document.caretPositionFromPoint?function(n,e,t){return S.from(n.dom().caretPositionFromPoint(e,t)).bind(function(e){if(null===e.offsetNode)return S.none();var t=n.dom().createRange();return t.setStart(e.offsetNode,e.offset),t.collapse(),S.some(t)})}:document.caretRangeFromPoint?function(e,t,n){return S.from(e.dom().caretRangeFromPoint(t,n))}:function(o,i,t){return Te.fromPoint(o,i,t).bind(function(r){var e=function(){return e=o,n=i,(0===Ct(t=r).length?Mc:Wc)(e,t,n);var e,t,n};return 0===Ct(r).length?e():_c(o,r,i,t).orThunk(e)})},Fc=function(e,t){var n=ce(e);return"input"===n?wc.after(e):E(["br","img"],n)?0===t?wc.before(e):wc.after(e):wc.on(e,t)},jc=function(e,t){var n=e.fold(wc.before,Fc,wc.after),r=t.fold(wc.before,Fc,wc.after);return xc.relative(n,r)},zc=function(e,t,n,r){var o=Fc(e,t),i=Fc(n,r);return xc.relative(o,i)},Hc=function(e,t,n,r){var o,i,u,a,c,l=(i=t,u=n,a=r,(c=vt(o=e).dom().createRange()).setStart(o.dom(),i),c.setEnd(u.dom(),a),c),f=gt(e,n)&&t===r;return l.collapsed&&!f},Uc=function(e,t){S.from(e.getSelection()).each(function(e){e.removeAllRanges(),e.addRange(t)})},qc=function(e,t,n,r,o){var i=Rc(e,t,n,r,o);Uc(e,i)},Vc=function(s,e){return Nc(s,e).match({ltr:function(e,t,n,r){qc(s,e,t,n,r)},rtl:function(e,t,n,r){var o,i,u,a,c,l=s.getSelection();if(l.setBaseAndExtent)l.setBaseAndExtent(e.dom(),t,n.dom(),r);else if(l.extend)try{i=e,u=t,a=n,c=r,(o=l).collapse(i.dom(),u),o.extend(a.dom(),c)}catch(f){qc(s,n,r,e,t)}else qc(s,n,r,e,t)}})},Gc=function(e){var o=xc.getWin(e).dom(),t=function(e,t,n,r){return Rc(o,e,t,n,r)},n=e.match({domRange:function(e){var t=Te.fromDom(e.startContainer),n=Te.fromDom(e.endContainer);return zc(t,e.startOffset,n,e.endOffset)},relative:jc,exact:zc});return Nc(o,n).match({ltr:t,rtl:t})},Yc=function(e){var t=Te.fromDom(e.anchorNode),n=Te.fromDom(e.focusNode);return Hc(t,e.anchorOffset,n,e.focusOffset)?S.some(vc.create(t,e.anchorOffset,n,e.focusOffset)):function(e){if(0<e.rangeCount){var t=e.getRangeAt(0),n=e.getRangeAt(e.rangeCount-1);return S.some(vc.create(Te.fromDom(t.startContainer),t.startOffset,Te.fromDom(n.endContainer),n.endOffset))}return S.none()}(e)},Xc=function(e,t){var n,r,o=(n=t,r=e.document.createRange(),Cc(r,n),r);Uc(e,o)},Kc=function(e){return(t=e,S.from(t.getSelection()).filter(function(e){return 0<e.rangeCount}).bind(Yc)).map(function(e){return xc.exact(e.start(),e.soffset(),e.finish(),e.foffset())});var t},Jc=function(e,t){var n,r,o,i=Ec(e,t);return r=(n=i).getClientRects(),0<(o=0<r.length?r[0]:n.getBoundingClientRect()).width||0<o.height?S.some(o).map(Tc):S.none()},$c=function(e,t,n){return r=e,o=t,i=n,u=Te.fromDom(r.document),Lc(u,o,i).map(function(e){return vc.create(Te.fromDom(e.startContainer),e.startOffset,Te.fromDom(e.endContainer),e.endOffset)});var r,o,i,u},Qc=tinymce.util.Tools.resolve("tinymce.util.VK"),Zc=function(e,t,n,r){return rl(e,t,hc(n),r)},el=function(e,t,n,r){return rl(e,t,pc(n),r)},tl=function(e,t){var n=xc.exact(t,0,t,0);return Gc(n)},nl=function(e,t){var n,r=Xt(t,"tr");return(n=r,0===n.length?S.none():S.some(n[n.length-1])).bind(function(e){return nn(e,"td,th").map(function(e){return tl(0,e)})})},rl=function(r,e,t,o,n){return t.fold(S.none,S.none,function(e,t){return On(t).map(function(e){return tl(0,e)})},function(n){return dn.table(n,e).bind(function(e){var t=Br.noMenu(n);return r.undoManager.transact(function(){o.insertRowsAfter(e,t)}),nl(0,e)})})},ol=["table","li","dl"],il=function(t,n,r,o){if(t.keyCode===Qc.TAB){var i=Uu(n),u=function(e){var t=ce(e);return gt(e,i)||E(ol,t)},e=n.selection.getRng();if(e.collapsed){var a=Te.fromDom(e.startContainer);dn.cell(a,u).each(function(e){t.preventDefault(),(t.shiftKey?el:Zc)(n,u,e,r,o).each(function(e){n.selection.setRng(e)})})}}},ul={create:X("selection","kill")},al=function(e,t,n,r){return{start:C(wc.on(e,t)),finish:C(wc.on(n,r))}},cl={convertToRange:function(e,t){var n=Ec(e,t);return vc.create(Te.fromDom(n.startContainer),n.startOffset,Te.fromDom(n.endContainer),n.endOffset)},makeSitus:al},ll=function(n,e,r,t,o){return gt(r,t)?S.none():hr(r,t,e).bind(function(e){var t=e.boxes().getOr([]);return 0<t.length?(o(n,t,e.start(),e.finish()),S.some(ul.create(S.some(cl.makeSitus(r,0,r,Rn(r))),!0))):S.none()})},fl={sync:function(n,r,e,t,o,i,u){return gt(e,o)&&t===i?S.none():rn(e,"td,th",r).bind(function(t){return rn(o,"td,th",r).bind(function(e){return ll(n,r,t,e,u)})})},detect:ll,update:function(e,t,n,r,o){return vr(r,e,t,o.firstSelectedSelector(),o.lastSelectedSelector()).map(function(e){return o.clear(n),o.selectRange(n,e.boxes(),e.start(),e.finish()),e.boxes()})}},sl=X("item","mode"),dl=function(e,t,n,r){return void 0===r&&(r=ml),e.property().parent(t).map(function(e){return sl(e,r)})},ml=function(e,t,n,r){return void 0===r&&(r=gl),n.sibling(e,t).map(function(e){return sl(e,r)})},gl=function(e,t,n,r){void 0===r&&(r=gl);var o=e.property().children(t);return n.first(o).map(function(e){return sl(e,r)})},hl=[{current:dl,next:ml,fallback:S.none()},{current:ml,next:gl,fallback:S.some(dl)},{current:gl,next:gl,fallback:S.some(ml)}],pl=function(t,n,r,o,e){return void 0===e&&(e=hl),M(e,function(e){return e.current===r}).bind(function(e){return e.current(t,n,o,e.next).orThunk(function(){return e.fallback.bind(function(e){return pl(t,n,e,o)})})})},vl=function(){return{sibling:function(e,t){return e.query().prevSibling(t)},first:function(e){return 0<e.length?S.some(e[e.length-1]):S.none()}}},bl=function(){return{sibling:function(e,t){return e.query().nextSibling(t)},first:function(e){return 0<e.length?S.some(e[0]):S.none()}}},wl=function(t,e,n,r,o,i){return pl(t,e,r,o).bind(function(e){return i(e.item())?S.none():n(e.item())?S.some(e.item()):wl(t,e.item(),n,e.mode(),o,i)})},yl=function(t){return function(e){return 0===t.property().children(e).length}},xl=function(e,t,n,r){return wl(e,t,n,ml,vl(),r)},Cl=function(e,t,n,r){return wl(e,t,n,ml,bl(),r)},Sl=tr(),Rl=function(e,t){return r=t,xl(n=Sl,e,yl(n),r);var n,r},Tl=function(e,t){return r=t,Cl(n=Sl,e,yl(n),r);var n,r},Dl=X("element","offset"),Ol=(X("element","deltaOffset"),X("element","start","finish"),X("begin","end"),X("element","text"),Tr([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}])),Nl=function(e){return rn(e,"tr")},El=So({},Ol,{verify:function(a,e,t,n,r,c,o){return rn(n,"td,th",o).bind(function(u){return rn(e,"td,th",o).map(function(i){return gt(u,i)?gt(n,u)&&Rn(u)===r?c(i):Ol.none("in same cell"):sr.sharedOne(Nl,[u,i]).fold(function(){return t=i,n=u,r=(e=a).getRect(t),(o=e.getRect(n)).right>r.left&&o.left<r.right?Ol.success():c(i);var e,t,n,r,o},function(e){return c(i)})})}).getOr(Ol.none("default"))},cata:function(e,t,n,r,o){return e.fold(t,n,r,o)}}),kl=(X("ancestor","descendants","element","index"),X("parent","children","element","index")),Al=function(e,t){return _(e,b(gt,t))},Pl=function(e){return"br"===ce(e)},Il=function(e,t,n){return t(e,n).bind(function(e){return me(e)&&0===xn(e).trim().length?Il(e,t,n):S.some(e)})},Bl=function(t,e,n,r){return(o=e,i=n,St(o,i).filter(Pl).orThunk(function(){return St(o,i-1).filter(Pl)})).bind(function(e){return r.traverse(e).fold(function(){return Il(e,r.gather,t).map(r.relative)},function(e){return(r=e,bt(r).bind(function(t){var n=Ct(t);return Al(n,r).map(function(e){return kl(t,n,r,e)})})).map(function(e){return wc.on(e.parent(),e.index())});var r})});var o,i},Wl=function(e,t,n,r){var o,i,u;return(Pl(t)?(o=e,i=t,(u=r).traverse(i).orThunk(function(){return Il(i,u.gather,o)}).map(u.relative)):Bl(e,t,n,r)).map(function(e){return{start:C(e),finish:C(e)}})},Ml=function(e){return El.cata(e,function(e){return S.none()},function(){return S.none()},function(e){return S.some(Dl(e,0))},function(e){return S.some(Dl(e,Rn(e)))})},_l=ee(["left","top","right","bottom"],[]),Ll={nu:_l,moveUp:function(e,t){return _l({left:e.left(),top:e.top()-t,right:e.right(),bottom:e.bottom()-t})},moveDown:function(e,t){return _l({left:e.left(),top:e.top()+t,right:e.right(),bottom:e.bottom()+t})},moveBottomTo:function(e,t){var n=e.bottom()-e.top();return _l({left:e.left(),top:t-n,right:e.right(),bottom:t})},moveTopTo:function(e,t){var n=e.bottom()-e.top();return _l({left:e.left(),top:t,right:e.right(),bottom:t+n})},getTop:function(e){return e.top()},getBottom:function(e){return e.bottom()},translate:function(e,t,n){return _l({left:e.left()+t,top:e.top()+n,right:e.right()+t,bottom:e.bottom()+n})},toString:function(e){return"("+e.left()+", "+e.top()+") -> ("+e.right()+", "+e.bottom()+")"}},Fl=function(e){return Ll.nu({left:e.left,top:e.top,right:e.right,bottom:e.bottom})},jl=function(e,t){return S.some(e.getRect(t))},zl=function(e,t,n){return de(t)?jl(e,t).map(Fl):me(t)?(r=e,o=t,i=n,0<=i&&i<Rn(o)?r.getRangedRect(o,i,o,i+1):0<i?r.getRangedRect(o,i-1,o,i):S.none()).map(Fl):S.none();var r,o,i},Hl=function(e,t){return de(t)?jl(e,t).map(Fl):me(t)?e.getRangedRect(t,0,t,Rn(t)).map(Fl):S.none()},Ul=Tr([{none:[]},{retry:["caret"]}]),ql=function(t,e,r){return(n=e,o=Eu,Kt(function(e,t){return t(e)},Zt,n,o,i)).fold(C(!1),function(e){return Hl(t,e).exists(function(e){return n=e,(t=r).left()<n.left()||Math.abs(n.right()-t.left())<1||t.left()>n.right();var t,n})});var n,o,i},Vl={point:Ll.getTop,adjuster:function(e,t,n,r,o){var i=Ll.moveUp(o,5);return Math.abs(n.top()-r.top())<1?Ul.retry(i):n.bottom()<o.top()?Ul.retry(i):n.bottom()===o.top()?Ul.retry(Ll.moveUp(o,1)):ql(e,t,o)?Ul.retry(Ll.translate(i,5,0)):Ul.none()},move:Ll.moveUp,gather:Rl},Gl={point:Ll.getBottom,adjuster:function(e,t,n,r,o){var i=Ll.moveDown(o,5);return Math.abs(n.bottom()-r.bottom())<1?Ul.retry(i):n.top()>o.bottom()?Ul.retry(i):n.top()===o.bottom()?Ul.retry(Ll.moveDown(o,1)):ql(e,t,o)?Ul.retry(Ll.translate(i,5,0)):Ul.none()},move:Ll.moveDown,gather:Tl},Yl=function(n,r,o,i,u){return 0===u?S.some(i):(c=n,l=i.left(),f=r.point(i),c.elementFromPoint(l,f).filter(function(e){return"table"===ce(e)}).isSome()?(t=i,a=u-1,Yl(n,e=r,o,e.move(t,5),a)):n.situsFromPoint(i.left(),r.point(i)).bind(function(e){return e.start().fold(S.none,function(t){return Hl(n,t).bind(function(e){return r.adjuster(n,t,e,o,i).fold(S.none,function(e){return Yl(n,r,o,e,u-1)})}).orThunk(function(){return S.some(i)})},S.none)}));var e,t,a,c,l,f},Xl=function(t,n,e){var r,o,i,u=t.move(e,5),a=Yl(n,t,e,u,100).getOr(u);return(r=t,o=a,i=n,r.point(o)>i.getInnerHeight()?S.some(r.point(o)-i.getInnerHeight()):r.point(o)<0?S.some(-r.point(o)):S.none()).fold(function(){return n.situsFromPoint(a.left(),t.point(a))},function(e){return n.scrollBy(0,e),n.situsFromPoint(a.left(),t.point(a)-e)})},Kl={tryUp:b(Xl,Vl),tryDown:b(Xl,Gl),ieTryUp:function(e,t){return e.situsFromPoint(t.left(),t.top()-5)},ieTryDown:function(e,t){return e.situsFromPoint(t.left(),t.bottom()+5)},getJumpSize:C(5)},Jl=lt.detect(),$l=function(r,o,i,u,a,c){return 0===c?S.none():ef(r,o,i,u,a).bind(function(e){var t=r.fromSitus(e),n=El.verify(r,i,u,t.finish(),t.foffset(),a.failure,o);return El.cata(n,function(){return S.none()},function(){return S.some(e)},function(e){return gt(i,e)&&0===u?Ql(r,i,u,Ll.moveUp,a):$l(r,o,e,0,a,c-1)},function(e){return gt(i,e)&&u===Rn(e)?Ql(r,i,u,Ll.moveDown,a):$l(r,o,e,Rn(e),a,c-1)})})},Ql=function(t,e,n,r,o){return zl(t,e,n).bind(function(e){return Zl(t,o,r(e,Kl.getJumpSize()))})},Zl=function(e,t,n){return Jl.browser.isChrome()||Jl.browser.isSafari()||Jl.browser.isFirefox()||Jl.browser.isEdge()?t.otherRetry(e,n):Jl.browser.isIE()?t.ieRetry(e,n):S.none()},ef=function(t,e,n,r,o){return zl(t,n,r).bind(function(e){return Zl(t,o,e)})},tf=function(t,n,r){return(o=t,i=n,u=r,o.getSelection().bind(function(r){return Wl(i,r.finish(),r.foffset(),u).fold(function(){return S.some(Dl(r.finish(),r.foffset()))},function(e){var t=o.fromSitus(e),n=El.verify(o,r.finish(),r.foffset(),t.finish(),t.foffset(),u.failure,i);return Ml(n)})})).bind(function(e){return $l(t,n,e.element(),e.offset(),r,20).map(t.fromSitus)});var o,i,u},nf=lt.detect(),rf=function(e,t){return Zt(e,function(e){return bt(e).exists(function(e){return gt(e,t)})},n).isSome();var n},of=function(t,r,o,e,i){return rn(e,"td,th",r).bind(function(n){return rn(n,"table",r).bind(function(e){return rf(i,e)?tf(t,r,o).bind(function(t){return rn(t.finish(),"td,th",r).map(function(e){return{start:C(n),finish:C(e),range:C(t)}})}):S.none()})})},uf=function(e,t,n,r,o,i){return nf.browser.isIE()?S.none():i(r,t).orThunk(function(){return of(e,t,n,r,o).map(function(e){var t=e.range();return ul.create(S.some(cl.makeSitus(t.start(),t.soffset(),t.finish(),t.foffset())),!0)})})},af=function(e,t,n,r,o,i,u){return of(e,n,r,o,i).bind(function(e){return fl.detect(t,n,e.start(),e.finish(),u)})},cf=function(e,u){return rn(e,"tr",u).bind(function(i){return rn(i,"table",u).bind(function(e){var t,n,r,o=Xt(e,"tr");return gt(i,o[0])?(t=e,n=function(e){return Nn(e).isSome()},r=u,xl(Sl,t,n,r)).map(function(e){var t=Rn(e);return ul.create(S.some(cl.makeSitus(e,t,e,t)),!0)}):S.none()})})},lf=function(e,u){return rn(e,"tr",u).bind(function(i){return rn(i,"table",u).bind(function(e){var t,n,r,o=Xt(e,"tr");return gt(i,o[o.length-1])?(t=e,n=function(e){return On(e).isSome()},r=u,Cl(Sl,t,n,r)).map(function(e){return ul.create(S.some(cl.makeSitus(e,0,e,0)),!0)}):S.none()})})},ff=function(e,t){return rn(e,"td,th",t)},sf={down:{traverse:xt,gather:Tl,relative:wc.before,otherRetry:Kl.tryDown,ieRetry:Kl.ieTryDown,failure:El.failedDown},up:{traverse:yt,gather:Rl,relative:wc.before,otherRetry:Kl.tryUp,ieRetry:Kl.ieTryUp,failure:El.failedUp}},df=function(t){return function(e){return e===t}},mf=df(38),gf=df(40),hf={ltr:{isBackward:df(37),isForward:df(39)},rtl:{isBackward:df(39),isForward:df(37)},isUp:mf,isDown:gf,isNavigation:function(e){return 37<=e&&e<=40}},pf=function(e){return{left:e.left(),top:e.top(),right:e.right(),bottom:e.bottom(),width:e.width(),height:e.height()}},vf=(lt.detect().browser.isSafari(),function(a){return{elementFromPoint:function(e,t){return Te.fromPoint(Te.fromDom(a.document),e,t)},getRect:function(e){return e.dom().getBoundingClientRect()},getRangedRect:function(e,t,n,r){var o=xc.exact(e,t,n,r);return Jc(a,o).map(pf)},getSelection:function(){return Kc(a).map(function(e){return cl.convertToRange(a,e)})},fromSitus:function(e){var t=xc.relative(e.start(),e.finish());return cl.convertToRange(a,t)},situsFromPoint:function(e,t){return $c(a,e,t).map(function(e){return al(e.start(),e.soffset(),e.finish(),e.foffset())})},clearSelection:function(){a.getSelection().removeAllRanges()},setSelection:function(e){var t,n,r,o,i,u;t=a,n=e.start(),r=e.soffset(),o=e.finish(),i=e.foffset(),u=zc(n,r,o,i),Vc(t,u)},setRelativeSelection:function(e,t){var n,r;n=a,r=jc(e,t),Vc(n,r)},selectContents:function(e){Xc(a,e)},getInnerHeight:function(){return a.innerHeight},getScrollY:function(){var e,t,n,r;return(e=Te.fromDom(a.document),t=e!==undefined?e.dom():m.document,n=t.body.scrollLeft||t.documentElement.scrollLeft,r=t.body.scrollTop||t.documentElement.scrollTop,oo(n,r)).top()},scrollBy:function(e,t){var n,r,o;n=e,r=t,((o=Te.fromDom(a.document))!==undefined?o.dom():m.document).defaultView.scrollBy(n,r)}}}),bf=X("rows","cols"),wf={mouse:function(e,t,n,r){var o,i,u,a,c,l,f=vf(e),s=(o=f,i=t,u=n,a=r,c=S.none(),l=function(){c=S.none()},{mousedown:function(e){a.clear(i),c=ff(e.target(),u)},mouseover:function(e){c.each(function(r){a.clear(i),ff(e.target(),u).each(function(n){hr(r,n,u).each(function(e){var t=e.boxes().getOr([]);(1<t.length||1===t.length&&!gt(r,n))&&(a.selectRange(i,t,e.start(),e.finish()),o.selectContents(n))})})})},mouseup:function(e){c.each(l)}});return{mousedown:s.mousedown,mouseover:s.mouseover,mouseup:s.mouseup}},keyboard:function(e,l,f,s){var d=vf(e),m=function(){return s.clear(l),S.none()};return{keydown:function(e,t,n,r,o,i){var u=e.raw(),a=u.which,c=!0===u.shiftKey;return pr(l,s.selectedSelector()).fold(function(){return hf.isDown(a)&&c?b(af,d,l,f,sf.down,r,t,s.selectRange):hf.isUp(a)&&c?b(af,d,l,f,sf.up,r,t,s.selectRange):hf.isDown(a)?b(uf,d,f,sf.down,r,t,lf):hf.isUp(a)?b(uf,d,f,sf.up,r,t,cf):S.none},function(t){var e=function(e){return function(){return To(e,function(e){return fl.update(e.rows(),e.cols(),l,t,s)}).fold(function(){return br(l,s.firstSelectedSelector(),s.lastSelectedSelector()).map(function(e){var t=hf.isDown(a)||i.isForward(a)?wc.after:wc.before;return d.setRelativeSelection(wc.on(e.first(),0),t(e.table())),s.clear(l),ul.create(S.none(),!0)})},function(e){return S.some(ul.create(S.none(),!0))})}};return hf.isDown(a)&&c?e([bf(1,0)]):hf.isUp(a)&&c?e([bf(-1,0)]):i.isBackward(a)&&c?e([bf(0,-1),bf(-1,0)]):i.isForward(a)&&c?e([bf(0,1),bf(1,0)]):hf.isNavigation(a)&&!1===c?m:S.none})()},keyup:function(n,r,o,i,u){return pr(l,s.selectedSelector()).fold(function(){var e=n.raw(),t=e.which;return 0==(!0===e.shiftKey)?S.none():hf.isNavigation(t)?fl.sync(l,f,r,o,i,u,s.selectRange):S.none()},S.none)}}}},yf=function(r,e){P(e,function(e){var t,n;n=e,ko(t=r)?t.dom().classList.remove(n):Po(t,n),Bo(t)})},xf={byClass:function(o){var t,n,i=(t=o.selected(),function(e){Io(e,t)}),r=(n=[o.selected(),o.lastSelected(),o.firstSelected()],function(e){yf(e,n)}),u=function(e){var t=Xt(e,o.selectedSelector());P(t,r)};return{clear:u,selectRange:function(e,t,n,r){u(e),P(t,i),Io(n,o.firstSelected()),Io(r,o.lastSelected())},selectedSelector:o.selectedSelector,firstSelectedSelector:o.firstSelectedSelector,lastSelectedSelector:o.lastSelectedSelector}},byAttr:function(o){var n=function(e){we(e,o.selected()),we(e,o.firstSelected()),we(e,o.lastSelected())},i=function(e){he(e,o.selected(),"1")},u=function(e){var t=Xt(e,o.selectedSelector());P(t,n)};return{clear:u,selectRange:function(e,t,n,r){u(e),P(t,i),he(n,o.firstSelected(),"1"),he(r,o.lastSelected(),"1")},selectedSelector:o.selectedSelector,firstSelectedSelector:o.firstSelectedSelector,lastSelectedSelector:o.lastSelectedSelector}}},Cf=function(e){return!1===Wo(Te.fromDom(e.target),"ephox-snooker-resizer-bar")};function Sf(h,p){var v=ee(["mousedown","mouseover","mouseup","keyup","keydown"],[]),b=S.none(),w=xf.byAttr(Rr);return h.on("init",function(e){var r=h.getWin(),o=Uu(h),t=Gu(h),n=wf.mouse(r,o,t,w),a=wf.keyboard(r,o,t,w),c=function(e,t){!0===e.raw().shiftKey&&(t.kill()&&e.kill(),t.selection().each(function(e){var t=xc.relative(e.start(),e.finish()),n=Ec(r,t);h.selection.setRng(n)}))},i=function(e){var t=f(e);if(t.raw().shiftKey&&hf.isNavigation(t.raw().which)){var n=h.selection.getRng(),r=Te.fromDom(n.startContainer),o=Te.fromDom(n.endContainer);a.keyup(t,r,n.startOffset,o,n.endOffset).each(function(e){c(t,e)})}},u=function(e){var t=f(e);p().each(function(e){e.hideBars()});var n=h.selection.getRng(),r=Te.fromDom(h.selection.getStart()),o=Te.fromDom(n.startContainer),i=Te.fromDom(n.endContainer),u=$u.directionAt(r).isRtl()?hf.rtl:hf.ltr;a.keydown(t,o,n.startOffset,i,n.endOffset,u).each(function(e){c(t,e)}),p().each(function(e){e.showBars()})},l=function(e){return e.hasOwnProperty("x")&&e.hasOwnProperty("y")},f=function(e){var t=Te.fromDom(e.target),n=function(){e.stopPropagation()},r=function(){e.preventDefault()},o=x(r,n);return{target:C(t),x:C(l(e)?e.x:null),y:C(l(e)?e.y:null),stop:n,prevent:r,kill:o,raw:C(e)}},s=function(e){return 0===e.button},d=function(e){s(e)&&Cf(e)&&n.mousedown(f(e))},m=function(e){var t;(t=e).buttons!==undefined&&0==(1&t.buttons)||!Cf(e)||n.mouseover(f(e))},g=function(e){s(e)&&Cf(e)&&n.mouseup(f(e))};h.on("mousedown",d),h.on("mouseover",m),h.on("mouseup",g),h.on("keyup",i),h.on("keydown",u),h.on("nodechange",function(){var e=h.selection,t=Te.fromDom(e.getStart()),n=Te.fromDom(e.getEnd());sr.sharedOne(dn.table,[t,n]).fold(function(){w.clear(o)},y)}),b=S.some(v({mousedown:d,mouseover:m,mouseup:g,keyup:i,keydown:u}))}),{clear:w.clear,destroy:function(){b.each(function(e){})}}}var Rf=ha.each,Tf=function(t){var n=[];function e(e){return function(){t.execCommand(e)}}Rf("inserttable tableprops deletetable | cell row column".split(" "),function(e){"|"===e?n.push({text:"-"}):n.push(t.menuItems[e])}),t.addButton("table",{type:"menubutton",title:"Table",menu:n}),t.addButton("tableprops",{title:"Table properties",onclick:e("mceTableProps"),icon:"table"}),t.addButton("tabledelete",{title:"Delete table",onclick:e("mceTableDelete")}),t.addButton("tablecellprops",{title:"Cell properties",onclick:e("mceTableCellProps")}),t.addButton("tablemergecells",{title:"Merge cells",onclick:e("mceTableMergeCells")}),t.addButton("tablesplitcells",{title:"Split cell",onclick:e("mceTableSplitCells")}),t.addButton("tableinsertrowbefore",{title:"Insert row before",onclick:e("mceTableInsertRowBefore")}),t.addButton("tableinsertrowafter",{title:"Insert row after",onclick:e("mceTableInsertRowAfter")}),t.addButton("tabledeleterow",{title:"Delete row",onclick:e("mceTableDeleteRow")}),t.addButton("tablerowprops",{title:"Row properties",onclick:e("mceTableRowProps")}),t.addButton("tablecutrow",{title:"Cut row",onclick:e("mceTableCutRow")}),t.addButton("tablecopyrow",{title:"Copy row",onclick:e("mceTableCopyRow")}),t.addButton("tablepasterowbefore",{title:"Paste row before",onclick:e("mceTablePasteRowBefore")}),t.addButton("tablepasterowafter",{title:"Paste row after",onclick:e("mceTablePasteRowAfter")}),t.addButton("tableinsertcolbefore",{title:"Insert column before",onclick:e("mceTableInsertColBefore")}),t.addButton("tableinsertcolafter",{title:"Insert column after",onclick:e("mceTableInsertColAfter")}),t.addButton("tabledeletecol",{title:"Delete column",onclick:e("mceTableDeleteCol")})},Df=function(t){var e,n=""===(e=t.getParam("table_toolbar",Qu))||!1===e?[]:v(e)?e.split(/[ ,]/):w(e)?e:[];0<n.length&&t.addContextToolbar(function(e){return t.dom.is(e,"table")&&t.getBody().contains(e)},n.join(" "))},Of=function(o,n){var r=S.none(),i=[],u=[],a=[],c=[],l=function(e){e.disabled(!0)},f=function(e){e.disabled(!1)},e=function(){var t=this;i.push(t),r.fold(function(){l(t)},function(e){f(t)})},t=function(){var t=this;u.push(t),r.fold(function(){l(t)},function(e){f(t)})};o.on("init",function(){o.on("nodechange",function(e){var t=S.from(o.dom.getParent(o.selection.getStart(),"th,td"));(r=t.bind(function(e){var t=Te.fromDom(e);return dn.table(t).map(function(e){return Br.forMenu(n,e,t)})})).fold(function(){P(i,l),P(u,l),P(a,l),P(c,l)},function(t){P(i,f),P(u,f),P(a,function(e){e.disabled(t.mergable().isNone())}),P(c,function(e){e.disabled(t.unmergable().isNone())})})})});var s=function(e,t,n,r){var o,i,u,a,c,l=r.getEl().getElementsByTagName("table")[0],f=r.isRtl()||"tl-tr"===r.parent().rel;for(l.nextSibling.innerHTML=t+1+" x "+(n+1),f&&(t=9-t),i=0;i<10;i++)for(o=0;o<10;o++)a=l.rows[i].childNodes[o].firstChild,c=(f?t<=o:o<=t)&&i<=n,e.dom.toggleClass(a,"mce-active",c),c&&(u=a);return u.parentNode},d=!1===o.getParam("table_grid",!0,"boolean")?{text:"Table",icon:"table",context:"table",onclick:m("mceInsertTable")}:{text:"Table",icon:"table",context:"table",ariaHideMenu:!0,onclick:function(e){e.aria&&(this.parent().hideAll(),e.stopImmediatePropagation(),o.execCommand("mceInsertTable"))},onshow:function(){s(o,0,0,this.menu.items()[0])},onhide:function(){var e=this.menu.items()[0].getEl().getElementsByTagName("a");o.dom.removeClass(e,"mce-active"),o.dom.addClass(e[0],"mce-active")},menu:[{type:"container",html:function(){var e="";e='<table role="grid" class="mce-grid mce-grid-border" aria-readonly="true">';for(var t=0;t<10;t++){e+="<tr>";for(var n=0;n<10;n++)e+='<td role="gridcell" tabindex="-1"><a id="mcegrid'+(10*t+n)+'" href="#" data-mce-x="'+n+'" data-mce-y="'+t+'"></a></td>';e+="</tr>"}return e+="</table>",e+='<div class="mce-text-center" role="presentation">1 x 1</div>'}(),onPostRender:function(){this.lastX=this.lastY=0},onmousemove:function(e){var t,n,r=e.target;"A"===r.tagName.toUpperCase()&&(t=parseInt(r.getAttribute("data-mce-x"),10),n=parseInt(r.getAttribute("data-mce-y"),10),(this.isRtl()||"tl-tr"===this.parent().rel)&&(t=9-t),t===this.lastX&&n===this.lastY||(s(o,t,n,e.control),this.lastX=t,this.lastY=n))},onclick:function(e){var t=this;"A"===e.target.tagName.toUpperCase()&&(e.preventDefault(),e.stopPropagation(),t.parent().cancel(),o.undoManager.transact(function(){Pa(o,t.lastX+1,t.lastY+1)}),o.addVisual())}}]};function m(e){return function(){o.execCommand(e)}}var g={text:"Table properties",context:"table",onPostRender:e,onclick:m("mceTableProps")},h={text:"Delete table",context:"table",onPostRender:e,cmd:"mceTableDelete"},p={text:"Row",context:"table",menu:[{text:"Insert row before",onclick:m("mceTableInsertRowBefore"),onPostRender:t},{text:"Insert row after",onclick:m("mceTableInsertRowAfter"),onPostRender:t},{text:"Delete row",onclick:m("mceTableDeleteRow"),onPostRender:t},{text:"Row properties",onclick:m("mceTableRowProps"),onPostRender:t},{text:"-"},{text:"Cut row",onclick:m("mceTableCutRow"),onPostRender:t},{text:"Copy row",onclick:m("mceTableCopyRow"),onPostRender:t},{text:"Paste row before",onclick:m("mceTablePasteRowBefore"),onPostRender:t},{text:"Paste row after",onclick:m("mceTablePasteRowAfter"),onPostRender:t}]},v={text:"Column",context:"table",menu:[{text:"Insert column before",onclick:m("mceTableInsertColBefore"),onPostRender:t},{text:"Insert column after",onclick:m("mceTableInsertColAfter"),onPostRender:t},{text:"Delete column",onclick:m("mceTableDeleteCol"),onPostRender:t}]},b={separator:"before",text:"Cell",context:"table",menu:[{text:"Cell properties",onclick:m("mceTableCellProps"),onPostRender:t},{text:"Merge cells",onclick:m("mceTableMergeCells"),onPostRender:function(){var t=this;a.push(t),r.fold(function(){l(t)},function(e){t.disabled(e.mergable().isNone())})}},{text:"Split cell",onclick:m("mceTableSplitCells"),onPostRender:function(){var t=this;c.push(t),r.fold(function(){l(t)},function(e){t.disabled(e.unmergable().isNone())})}}]};o.addMenuItem("inserttable",d),o.addMenuItem("tableprops",g),o.addMenuItem("deletetable",h),o.addMenuItem("row",p),o.addMenuItem("column",v),o.addMenuItem("cell",b)},Nf=function(n,r){return{insertTable:function(e,t){return Pa(n,e,t)},setClipboardRows:function(e){return t=r,n=A(e,Te.fromDom),void t.set(S.from(n));var t,n},getClipboardRows:function(){return r.get().fold(function(){},function(e){return A(e,function(e){return e.dom()})})}}};e.add("table",function(t){var n,r=sc(t),e=Sf(t,r.lazyResize),o=ma(t,r.lazyWire),i=(n=t,{get:function(){var e=Uu(n);return wr(e,Rr.selectedSelector()).fold(function(){return n.selection.getStart()===undefined?Or.none():Or.single(n.selection)},function(e){return Or.multiple(e)})}}),u=mu(S.none());return La(t,o,e,i,u),Wr(t,i,o,e),Of(t,i),Tf(t),Df(t),t.on("PreInit",function(){t.serializer.addTempAttr(Rr.firstSelected()),t.serializer.addTempAttr(Rr.lastSelected())}),t.getParam("table_tab_navigation",!0,"boolean")&&t.on("keydown",function(e){il(e,t,o,r.lazyWire)}),t.on("remove",function(){r.destroy(),e.destroy()}),Nf(t,u)})}(window);
|
mce/visualchars/plugin.js
CHANGED
@@ -127,8 +127,9 @@ var visualchars = (function (domGlobals) {
|
|
127 |
},
|
128 |
toString: constant('none()')
|
129 |
};
|
130 |
-
if (Object.freeze)
|
131 |
Object.freeze(me);
|
|
|
132 |
return me;
|
133 |
}();
|
134 |
var some = function (a) {
|
@@ -203,13 +204,16 @@ var visualchars = (function (domGlobals) {
|
|
203 |
};
|
204 |
|
205 |
var typeOf = function (x) {
|
206 |
-
if (x === null)
|
207 |
return 'null';
|
|
|
208 |
var t = typeof x;
|
209 |
-
if (t === 'object' && Array.prototype.isPrototypeOf(x))
|
210 |
return 'array';
|
211 |
-
|
|
|
212 |
return 'string';
|
|
|
213 |
return t;
|
214 |
};
|
215 |
var isType = function (type) {
|
@@ -219,6 +223,7 @@ var visualchars = (function (domGlobals) {
|
|
219 |
};
|
220 |
var isFunction = isType('function');
|
221 |
|
|
|
222 |
var map = function (xs, f) {
|
223 |
var len = xs.length;
|
224 |
var r = new Array(len);
|
@@ -234,7 +239,6 @@ var visualchars = (function (domGlobals) {
|
|
234 |
f(x, i, xs);
|
235 |
}
|
236 |
};
|
237 |
-
var slice = Array.prototype.slice;
|
238 |
var from$1 = isFunction(Array.from) ? Array.from : function (x) {
|
239 |
return slice.call(x);
|
240 |
};
|
@@ -290,6 +294,8 @@ var visualchars = (function (domGlobals) {
|
|
290 |
var ENTITY = domGlobals.Node.ENTITY_NODE;
|
291 |
var NOTATION = domGlobals.Node.NOTATION_NODE;
|
292 |
|
|
|
|
|
293 |
var type = function (element) {
|
294 |
return element.dom().nodeType;
|
295 |
};
|
127 |
},
|
128 |
toString: constant('none()')
|
129 |
};
|
130 |
+
if (Object.freeze) {
|
131 |
Object.freeze(me);
|
132 |
+
}
|
133 |
return me;
|
134 |
}();
|
135 |
var some = function (a) {
|
204 |
};
|
205 |
|
206 |
var typeOf = function (x) {
|
207 |
+
if (x === null) {
|
208 |
return 'null';
|
209 |
+
}
|
210 |
var t = typeof x;
|
211 |
+
if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) {
|
212 |
return 'array';
|
213 |
+
}
|
214 |
+
if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) {
|
215 |
return 'string';
|
216 |
+
}
|
217 |
return t;
|
218 |
};
|
219 |
var isType = function (type) {
|
223 |
};
|
224 |
var isFunction = isType('function');
|
225 |
|
226 |
+
var slice = Array.prototype.slice;
|
227 |
var map = function (xs, f) {
|
228 |
var len = xs.length;
|
229 |
var r = new Array(len);
|
239 |
f(x, i, xs);
|
240 |
}
|
241 |
};
|
|
|
242 |
var from$1 = isFunction(Array.from) ? Array.from : function (x) {
|
243 |
return slice.call(x);
|
244 |
};
|
294 |
var ENTITY = domGlobals.Node.ENTITY_NODE;
|
295 |
var NOTATION = domGlobals.Node.NOTATION_NODE;
|
296 |
|
297 |
+
var Global = typeof domGlobals.window !== 'undefined' ? domGlobals.window : Function('return this;')();
|
298 |
+
|
299 |
var type = function (element) {
|
300 |
return element.dom().nodeType;
|
301 |
};
|
mce/visualchars/plugin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(r){"use strict";var n,e,t,o,u,i,c=function(n){var e=n,t=function(){return e};return{get:t,set:function(n){e=n},clone:function(){return c(t())}}},a=tinymce.util.Tools.resolve("tinymce.PluginManager"),f=function(n){return{isEnabled:function(){return n.get()}}},
|
1 |
+
!function(r){"use strict";var n,e,t,o,u,i,c=function(n){var e=n,t=function(){return e};return{get:t,set:function(n){e=n},clone:function(){return c(t())}}},a=tinymce.util.Tools.resolve("tinymce.PluginManager"),f=function(n){return{isEnabled:function(){return n.get()}}},d=function(n,e){return n.fire("VisualChars",{state:e})},l={"\xa0":"nbsp","\xad":"shy"},s=function(n,e){var t,r="";for(t in n)r+=t;return new RegExp("["+r+"]",e?"g":"")},m=function(n){var e,t="";for(e in n)t&&(t+=","),t+="span.mce-"+n[e];return t},N={charMap:l,regExp:s(l),regExpGlobal:s(l,!0),selector:m(l),charMapToRegExp:s,charMapToSelector:m},g=function(n){return function(){return n}},E=g(!1),h=g(!0),v=E,p=h,T=function(){return O},O=(o={fold:function(n,e){return n()},is:v,isSome:v,isNone:p,getOr:t=function(n){return n},getOrThunk:e=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:t,orThunk:e,map:T,ap:T,each:function(){},bind:T,flatten:T,exists:v,forall:p,filter:T,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:g("none()")},Object.freeze&&Object.freeze(o),o),y=function(t){var n=function(){return t},e=function(){return o},r=function(n){return n(t)},o={fold:function(n,e){return e(t)},is:function(n){return t===n},isSome:p,isNone:v,getOr:n,getOrThunk:n,getOrDie:n,getOrNull:n,getOrUndefined:n,or:e,orThunk:e,map:function(n){return y(n(t))},ap:function(n){return n.fold(T,function(n){return y(n(t))})},each:function(n){n(t)},bind:r,flatten:n,exists:r,forall:r,filter:function(n){return n(t)?o:O},equals:function(n){return n.is(t)},equals_:function(n,e){return n.fold(v,function(n){return e(t,n)})},toArray:function(){return[t]},toString:function(){return"some("+t+")"}};return o},D=function(n){return null===n||n===undefined?O:y(n)},_=(u="function",function(n){return function(n){if(null===n)return"null";var e=typeof n;return"object"===e&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"===e&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":e}(n)===u}),C=(Array.prototype.slice,function(n,e){for(var t=0,r=n.length;t<r;t++)e(n[t],t,n)}),w=(_(Array.from)&&Array.from,function(n){if(null===n||n===undefined)throw new Error("Node cannot be null or undefined");return{dom:g(n)}}),M={fromHtml:function(n,e){var t=(e||r.document).createElement("div");if(t.innerHTML=n,!t.hasChildNodes()||1<t.childNodes.length)throw r.console.error("HTML does not have a single root node",n),new Error("HTML must have a single root node");return w(t.childNodes[0])},fromTag:function(n,e){var t=(e||r.document).createElement(n);return w(t)},fromText:function(n,e){var t=(e||r.document).createTextNode(n);return w(t)},fromDom:w,fromPoint:function(n,e,t){var r=n.dom();return D(r.elementFromPoint(e,t)).map(w)}},b=(r.Node.ATTRIBUTE_NODE,r.Node.CDATA_SECTION_NODE,r.Node.COMMENT_NODE,r.Node.DOCUMENT_NODE,r.Node.DOCUMENT_TYPE_NODE,r.Node.DOCUMENT_FRAGMENT_NODE,r.Node.ELEMENT_NODE,r.Node.TEXT_NODE),k=(r.Node.PROCESSING_INSTRUCTION_NODE,r.Node.ENTITY_REFERENCE_NODE,r.Node.ENTITY_NODE,r.Node.NOTATION_NODE,"undefined"!=typeof r.window?r.window:Function("return this;")(),function(n){return n.dom().nodeValue}),S=(i=b,function(n){return n.dom().nodeType===i}),A=function(n){return'<span data-mce-bogus="1" class="mce-'+N.charMap[n]+'">'+n+"</span>"},x=function(n,e){var t=[],r=function(n,e){for(var t=n.length,r=new Array(t),o=0;o<t;o++){var u=n[o];r[o]=e(u,o,n)}return r}(n.dom().childNodes,M.fromDom);return C(r,function(n){e(n)&&(t=t.concat([n])),t=t.concat(x(n,e))}),t},P={isMatch:function(n){return S(n)&&k(n)!==undefined&&N.regExp.test(k(n))},filterDescendants:x,findParentElm:function(n,e){for(;n.parentNode;){if(n.parentNode===e)return n;n=n.parentNode}},replaceWithSpans:function(n){return n.replace(N.regExpGlobal,A)}},R=function(t,n){var r,o,e=P.filterDescendants(M.fromDom(n),P.isMatch);C(e,function(n){var e=P.replaceWithSpans(k(n));for(o=t.dom.create("div",null,e);r=o.lastChild;)t.dom.insertAfter(r,n.dom());t.dom.remove(n.dom())})},I=function(e,n){var t=e.dom.select(N.selector,n);C(t,function(n){e.dom.remove(n,1)})},B=R,U=I,V=function(n){var e=n.getBody(),t=n.selection.getBookmark(),r=P.findParentElm(n.selection.getNode(),e);r=r!==undefined?r:e,I(n,r),R(n,r),n.selection.moveToBookmark(t)},j=function(n,e){var t,r=n.getBody(),o=n.selection;e.set(!e.get()),d(n,e.get()),t=o.getBookmark(),!0===e.get()?B(n,r):U(n,r),o.moveToBookmark(t)},q=function(n,e){n.addCommand("mceVisualChars",function(){j(n,e)})},F=tinymce.util.Tools.resolve("tinymce.util.Delay"),G=function(e,t){var r=F.debounce(function(){V(e)},300);!1!==e.settings.forced_root_block&&e.on("keydown",function(n){!0===t.get()&&(13===n.keyCode?V(e):r())})},H=function(n){return n.getParam("visualchars_default_state",!1)},L=function(e,t){e.on("init",function(){var n=!H(e);t.set(n),j(e,t)})},Y=function(t){return function(n){var e=n.control;t.on("VisualChars",function(n){e.active(n.state)})}};a.add("visualchars",function(n){var e,t=c(!1);return q(n,t),(e=n).addButton("visualchars",{active:!1,title:"Show invisible characters",cmd:"mceVisualChars",onPostRender:Y(e)}),e.addMenuItem("visualchars",{text:"Show invisible characters",cmd:"mceVisualChars",onPostRender:Y(e),selectable:!0,context:"view",prependToContext:!0}),G(n,t),L(n,t),f(t)})}(window);
|
plugin-assets/tadv.css
CHANGED
@@ -167,11 +167,10 @@ span.tma-down-addow::after {
|
|
167 |
.tma-block-dropdown-toolbar-inner-wrap {
|
168 |
height: 100%;
|
169 |
width: 100%;
|
170 |
-
padding: 9px;
|
171 |
}
|
172 |
|
173 |
ul.toolbar-block-dropdown {
|
174 |
-
padding: 0;
|
175 |
margin: 0;
|
176 |
height: 100%;
|
177 |
width: 100%;
|
@@ -180,10 +179,18 @@ ul.toolbar-block-dropdown {
|
|
180 |
|
181 |
ul.toolbar-block-dropdown > li {
|
182 |
display: block;
|
183 |
-
margin: 0;
|
184 |
width: auto;
|
185 |
height: 40px;
|
186 |
cursor: move;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
}
|
188 |
|
189 |
ul.toolbar-block-dropdown .tma-components-icon-button {
|
@@ -267,10 +274,6 @@ ul.toolbar-block-dropdown span {
|
|
267 |
box-shadow: none;
|
268 |
}
|
269 |
|
270 |
-
.toolbar-block-dropdown .tma-components-icon-button:hover {
|
271 |
-
box-shadow: inset 0 0 0 1px #e2e4e7, inset 0 0 0 2px #fff, 0 1px 1px rgba(25, 30, 35, 0.2);
|
272 |
-
}
|
273 |
-
|
274 |
.toolbar-side-wrap,
|
275 |
.panel-block-colors {
|
276 |
width: 260px;
|
@@ -512,11 +515,26 @@ ul.container,
|
|
512 |
|
513 |
.tadv-mce-menu.mce-menubar .mce-menubtn:hover {
|
514 |
background: transparent;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
515 |
}
|
516 |
|
517 |
.tadv-mce-menu .mce-btn .mce-caret {
|
518 |
-
margin-top: 9px;
|
519 |
margin-left: 1px;
|
|
|
|
|
|
|
|
|
|
|
|
|
520 |
}
|
521 |
|
522 |
.tadv-mce-menu * {
|
@@ -582,7 +600,7 @@ ul.container,
|
|
582 |
}
|
583 |
|
584 |
.tadvdropzone.mce-toolbar .mce-btn .the-button {
|
585 |
-
padding:
|
586 |
}
|
587 |
|
588 |
.tadvdropzone .tadvmodule .tadvitem:hover {
|
@@ -708,7 +726,7 @@ div.tadv-error {
|
|
708 |
}
|
709 |
|
710 |
.tadv-block-editor .mce-menubtn {
|
711 |
-
margin:
|
712 |
}
|
713 |
|
714 |
.tadv-block-editor.tadvdropzone {
|
@@ -769,7 +787,6 @@ div.tadv-error {
|
|
769 |
vertical-align: middle;
|
770 |
}
|
771 |
|
772 |
-
|
773 |
/* Block toolbar */
|
774 |
.tma-block-toolbar-wrap.editor-block-toolbar {
|
775 |
white-space: nowrap;
|
@@ -975,3 +992,12 @@ div.tadv-error {
|
|
975 |
.tadvmodule .the-button {
|
976 |
margin: 0;
|
977 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
.tma-block-dropdown-toolbar-inner-wrap {
|
168 |
height: 100%;
|
169 |
width: 100%;
|
|
|
170 |
}
|
171 |
|
172 |
ul.toolbar-block-dropdown {
|
173 |
+
padding: 7px 0;
|
174 |
margin: 0;
|
175 |
height: 100%;
|
176 |
width: 100%;
|
179 |
|
180 |
ul.toolbar-block-dropdown > li {
|
181 |
display: block;
|
182 |
+
margin: 0 0 4px;
|
183 |
width: auto;
|
184 |
height: 40px;
|
185 |
cursor: move;
|
186 |
+
outline: none;
|
187 |
+
}
|
188 |
+
|
189 |
+
ul.toolbar-block-dropdown > li:hover {
|
190 |
+
color: #191e23;
|
191 |
+
border: none;
|
192 |
+
box-shadow: none;
|
193 |
+
background: #f3f4f5;
|
194 |
}
|
195 |
|
196 |
ul.toolbar-block-dropdown .tma-components-icon-button {
|
274 |
box-shadow: none;
|
275 |
}
|
276 |
|
|
|
|
|
|
|
|
|
277 |
.toolbar-side-wrap,
|
278 |
.panel-block-colors {
|
279 |
width: 260px;
|
515 |
|
516 |
.tadv-mce-menu.mce-menubar .mce-menubtn:hover {
|
517 |
background: transparent;
|
518 |
+
border-color: transparent;
|
519 |
+
}
|
520 |
+
|
521 |
+
/* Menubar fix... */
|
522 |
+
.mce-menubar .mce-menubtn button span {
|
523 |
+
font-size: 13px;
|
524 |
+
}
|
525 |
+
|
526 |
+
.tadv-mce-menu.mce-menubar .mce-menubtn:hover button span {
|
527 |
+
color: #000;
|
528 |
}
|
529 |
|
530 |
.tadv-mce-menu .mce-btn .mce-caret {
|
|
|
531 |
margin-left: 1px;
|
532 |
+
margin-top: 6px;
|
533 |
+
border-top-color: #555;
|
534 |
+
}
|
535 |
+
|
536 |
+
#tadvadmin .mce-menubar .mce-menubtn:hover .mce-caret {
|
537 |
+
border-top-color: #000;
|
538 |
}
|
539 |
|
540 |
.tadv-mce-menu * {
|
600 |
}
|
601 |
|
602 |
.tadvdropzone.mce-toolbar .mce-btn .the-button {
|
603 |
+
padding: 2px 3px 0;
|
604 |
}
|
605 |
|
606 |
.tadvdropzone .tadvmodule .tadvitem:hover {
|
726 |
}
|
727 |
|
728 |
.tadv-block-editor .mce-menubtn {
|
729 |
+
margin: 7px 0 6px;
|
730 |
}
|
731 |
|
732 |
.tadv-block-editor.tadvdropzone {
|
787 |
vertical-align: middle;
|
788 |
}
|
789 |
|
|
|
790 |
/* Block toolbar */
|
791 |
.tma-block-toolbar-wrap.editor-block-toolbar {
|
792 |
white-space: nowrap;
|
992 |
.tadvmodule .the-button {
|
993 |
margin: 0;
|
994 |
}
|
995 |
+
|
996 |
+
/* Fixes for inadequate css changes in 5.3 :( */
|
997 |
+
#tadvadmin .button,
|
998 |
+
#tadvadmin .button-primary {
|
999 |
+
font-size: 14px;
|
1000 |
+
line-height: 1.7;
|
1001 |
+
padding: 2px 10px 3px;
|
1002 |
+
}
|
1003 |
+
|
readme.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
=== TinyMCE Advanced ===
|
2 |
Contributors: azaozz
|
3 |
Tags: block editor, classic editor, editor, Gutenberg, formatting, tinymce, write
|
4 |
-
Requires at least: 5.
|
5 |
-
Tested up to: 5.
|
6 |
-
Stable tag: 5.2
|
7 |
Requires PHP: 5.2
|
8 |
License: GPLv2
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -12,10 +12,10 @@ Extends and enhances the block editor (Gutenberg) and the classic editor (TinyMC
|
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
TinyMCE Advanced introduces a "Classic Paragraph" block
|
16 |
-
If you are not quite ready to switch to the block editor, or have plugins that cannot be used there (yet), using the Classic Paragraph block
|
17 |
|
18 |
-
Version 5.
|
19 |
|
20 |
If you want to continue to use the previous ("classic") editor in WordPress 5.0 and newer, this plugin has an option to replace the new editor with the previous one. If you prefer to have access to both editors side by side or to allow your users to switch editors, it would be better to install the [Classic Editor plugin](https://wordpress.org/plugins/classic-editor/). TinyMCE Advanced is fully compatible with the classic editor plugin and similar plugins that restore use of the previous WordPress editor.
|
21 |
|
@@ -47,6 +47,9 @@ Best is to install directly from WordPress. If manual installation is required,
|
|
47 |
|
48 |
== Changelog ==
|
49 |
|
|
|
|
|
|
|
50 |
= 5.2.1 =
|
51 |
* Updated for WordPress 5.2.1 and TinyMCE 4.9.4.
|
52 |
* Fixed resetting of the advanced options on update when all were unselected.
|
1 |
=== TinyMCE Advanced ===
|
2 |
Contributors: azaozz
|
3 |
Tags: block editor, classic editor, editor, Gutenberg, formatting, tinymce, write
|
4 |
+
Requires at least: 5.3
|
5 |
+
Tested up to: 5.3
|
6 |
+
Stable tag: 5.2.1
|
7 |
Requires PHP: 5.2
|
8 |
License: GPLv2
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
TinyMCE Advanced introduces a "Classic Paragraph" block for the block editor (Gutenberg).
|
16 |
+
If you are not quite ready to switch to the block editor, or have plugins that cannot be used there (yet), using the Classic Paragraph block is your best option. It lets you to continue to use the familiar TinyMCE editor for most tasks, and at the same time gives you full access to all blocks and new features in the block editor.
|
17 |
|
18 |
+
Version 5.3 continues to improve and enhance the new features introduced in version 5.0 of TinyMCE Advanced. It includes an improved "Clear Formatting" button, several advanced settings for tables, and importing and exporting of the settings to a file.
|
19 |
|
20 |
If you want to continue to use the previous ("classic") editor in WordPress 5.0 and newer, this plugin has an option to replace the new editor with the previous one. If you prefer to have access to both editors side by side or to allow your users to switch editors, it would be better to install the [Classic Editor plugin](https://wordpress.org/plugins/classic-editor/). TinyMCE Advanced is fully compatible with the classic editor plugin and similar plugins that restore use of the previous WordPress editor.
|
21 |
|
47 |
|
48 |
== Changelog ==
|
49 |
|
50 |
+
= 5.3.0 =
|
51 |
+
* Updated for WordPress 5.3 and TinyMCE 4.9.6.
|
52 |
+
|
53 |
= 5.2.1 =
|
54 |
* Updated for WordPress 5.2.1 and TinyMCE 4.9.4.
|
55 |
* Fixed resetting of the advanced options on update when all were unselected.
|
tinymce-advanced.php
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
/*
|
3 |
Plugin Name: TinyMCE Advanced
|
4 |
Plugin URI: http://www.laptoptips.ca/projects/tinymce-advanced/
|
5 |
-
Description:
|
6 |
-
Version: 5.
|
7 |
Author: Andrew Ozz
|
8 |
Author URI: http://www.laptoptips.ca/
|
9 |
License: GPL2
|
2 |
/*
|
3 |
Plugin Name: TinyMCE Advanced
|
4 |
Plugin URI: http://www.laptoptips.ca/projects/tinymce-advanced/
|
5 |
+
Description: Extends and enhances the block editor (Gutenberg) and the classic editor (TinyMCE).
|
6 |
+
Version: 5.3.0
|
7 |
Author: Andrew Ozz
|
8 |
Author URI: http://www.laptoptips.ca/
|
9 |
License: GPL2
|