UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines (2 loc) 32.8 kB
!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports,require("kendo.draganddrop.js"),require("kendo.popup.js"),require("kendo.icons.js"),require("kendo.html.button.js")):"function"==typeof define&&define.amd?define(["exports","kendo.draganddrop","kendo.popup","kendo.icons","kendo.html.button"],i):i(((t="undefined"!=typeof globalThis?globalThis:t||self).kendo=t.kendo||{},t.kendo._globals=t.kendo._globals||{},t.kendo._globals.Window={}))}(this,(function(t){!function(t,i){var e,n=window.kendo,o=n.ui.Widget,r=n.ui.Popup.TabKeyTrap,s=n.ui.Draggable,a=t.isPlainObject,l=n._activeElement,d=n._outerWidth,p=n._outerHeight,c=t.extend,h=t.each,f=n.template,m="body",g=".kendoWindow",u=".kendoWindowModal",w=".k-window",v=".k-window-title",_=v+"bar",b=".k-window-content",x=".k-resize-handle",k=".k-overlay",T="k-window-minimized",y="k-content-frame",z="k-i-loading",L="k-hover",W="k-focus",C="k-window-maximized",O="k-display-inline-flex",P=":visible",S="k-hidden",M="hidden",H="cursor",D="open",I="activate",E="deactivate",F="close",j="refresh",R="resizeStart",N="resizeEnd",A="dragstart",K="dragend",B="restore",q="error",$="overflow",V="original-overflow-rule",U="zIndex",G=".k-window-titlebar-actions .k-i-window-minimize,.k-window-titlebar-actions .k-i-window,.k-window-titlebar-actions .k-svg-i-window-minimize,.k-window-titlebar-actions .k-svg-i-window",J=".k-i-pin,.k-svg-i-pin",Q=".k-i-unpin,.k-svg-i-unpin",X=J+","+Q,Y=".k-window-titlebar .k-window-titlebar-action",Z=".k-window-titlebar .k-i-arrow-rotate-cw,.k-window-titlebar .k-svg-i-arrow-rotate-cw",tt="WindowEventsHandled",it=/^0[a-z]*$/i,et=n.isLocalUrl,nt={small:"k-window-sm",medium:"k-window-md",large:"k-window-lg"};function ot(t){return void 0!==t}function rt(t,i){return parseInt(t.css(i),10)||0}function st(t,i,e){return t&&isNaN(t)&&t.toString().indexOf("px")<0?t:Math.max(Math.min(parseInt(t,10),e===1/0?e:parseInt(e,10)),i===-1/0?i:parseInt(i,10))}function at(){return!this.type||this.type.toLowerCase().indexOf("script")>=0}function lt(i){for(var e={top:i.offsetTop,left:i.offsetLeft},n=i.offsetParent;n;){e.top+=n.offsetTop,e.left+=n.offsetLeft;var o=t(n).css("overflowX"),r=t(n).css("overflowY");"auto"!==r&&"scroll"!==r||(e.top-=n.scrollTop),"auto"!==o&&"scroll"!==o||(e.left-=n.scrollLeft),n=n.offsetParent}return e}var dt=o.extend({init:function(e,s){var l,d,p,c,h,f,m,u,x=this,k={},T=s&&s.actions&&!s.actions.length;o.fn.init.call(x,e,s),c=(s=x.options).position,e=x.element,h=s.content,m=t(window),T&&(s.actions=[]),x.appendTo=t(s.appendTo),x.containment=s.draggable.containment?t(s.draggable.containment).first():null,h&&!a(h)&&(h=s.content={url:h}),e.find("script").filter(at).remove(),e.parent().is(x.appendTo)||x.containment||c.top!==i&&c.left!==i||(e.is(P)?(k=e.offset(),!0):(d=e.css("visibility"),p=e.css("display"),e.css({visibility:M,display:""}),k=document.body.contains(e[0])?e.offset():{top:0,left:0},e.css({visibility:d,display:p})),c.top===i&&(c.top=k.top),c.left===i&&(c.left=k.left)),ot(s.visible)&&null!==s.visible||(s.visible=e.is(P)),l=x.wrapper=e.closest(w),e.is(".k-window-content")&&l[0]||(e.addClass("k-window-content"),e.attr("tabindex",0),x._createWindow(e,s),l=x.wrapper=e.closest(w),x.title(x.options.title),x._dimensions(),s._footerTemplate&&x.wrapper.append(n.template(s._footerTemplate)(s._footerMessages))),s.themeColor&&"none"!==s.themeColor&&l.addClass(n.getValidCssClass("k-window-","themeColor",s.themeColor)),x.minTop=x.minLeft=-1/0,x.maxTop=x.maxLeft=1/0,x._position(),h&&x.refresh(h),s.visible&&x.toFront(null,!s.modal),f=l.children(b),s.visible&&s.modal&&x._overlay(l.is(P)).css({opacity:.5}),l.on("mouseenter"+g,Y,x._buttonEnter.bind(x)).on("mouseleave"+g,Y,x._buttonLeave.bind(x)).on("click"+g,"> "+Y,x._windowActionHandler.bind(x)).on("keydown"+g,x,x._keydown.bind(x)).on("focus"+g,x._focus.bind(x)).on("blur"+g,x._blur.bind(x)),f.on("keydown"+g,x,x._keydownContent.bind(x)),f.find("."+y)[0]&&!m.data(tt)&&(m.on("blur"+g,(function(){var i=t(document.activeElement).parent(b);i.length&&n.widgetInstance(i)._focus()})),m.on("focus"+g,(function(){t(b).not(".k-dialog-content").each((function(i,e){n.widgetInstance(t(e))._blur()}))})),m.data(tt,!0)),this._resizable(),this._draggable(),s.pinned&&this.wrapper.is(":visible")&&x.pin(),(u=e.attr("id"))&&(u+="_wnd_title",l.attr({role:"dialog","aria-labelledby":u}).children(_).children(v).attr("id",u)),l.add(l.children(".k-resize-handle,"+_)).on(n.support.mousedown+g,x.toFront.bind(x)),x.touchScroller=n.touchScroller(e),x._resizeHandler=x._onDocumentResize.bind(x),x._marker=n.guid().substring(0,8),t(window).on("resize"+g+x._marker,x._resizeHandler),s.visible&&(x.trigger(D),x.trigger(I)),n.notify(x),this.options.modal&&(this._tabKeyTrap=new r(l),this._tabKeyTrap.trap(),this._tabKeyTrap.shouldTrap=function(){return l.data("isFront")}),x._showWatermarkOverlay&&x._showWatermarkOverlay(x.wrapper[0])},_buttonEnter:function(i){t(i.currentTarget).addClass(L)},_buttonLeave:function(i){t(i.currentTarget).removeClass(L)},_focus:function(){this.wrapper.addClass(W)},_blur:function(){this.wrapper.removeClass(W)},_dimensions:function(){var t=this.wrapper,i=this.options,e=i.width,n=i.height,o=i.maxHeight,r=i.size,s=["minWidth","minHeight","maxWidth","maxHeight"],a="content-box"==t.css("box-sizing"),l=a?rt(t,"border-left-width")+rt(t,"border-right-width"):0,d=a?rt(t,"border-top-width")+rt(t,"border-bottom-width"):0,p=a?rt(t,"padding-top"):0;this.containment&&!this._isPinned&&(this._updateBoundaries(),i.maxHeight=Math.min(this.containment.height-(d+p),o),i.maxWidth=Math.min(this.containment.width-l,i.maxWidth));for(var c=0;c<s.length;c++){var h=i[s[c]]||"";h!=1/0&&t.css(s[c],h)}o!=1/0&&this.element.css("maxHeight",o),e?t.outerWidth(st(e,i.minWidth,i.maxWidth)):t.outerWidth(""),n?t.outerHeight(st(n,i.minHeight,i.maxHeight)):t.outerHeight(""),i.visible||t.removeClass(O).hide(),r&&nt[r]&&t.addClass(nt[r])},_position:function(){var t,i,e=this.wrapper,n=this.options.position;this._updateBoundaries(),this.containment&&(n.top=n.top||0,n.left=n.left||0,t=n.top.toString().indexOf("%")>0?parseInt(this.containment.height*(parseFloat(n.top)/100),10):n.top,i=n.left.toString().indexOf("%")>0?parseInt(this.containment.width*(parseFloat(n.left)/100),10):n.left,n.top=st(t,this.minTop,this.maxTop),n.left=st(i,this.minLeft,this.maxLeft)),n.top&&n.top.toString().indexOf("px")>0&&(n.top=Number(n.top.replace("px",""))),n.left&&n.left.toString().indexOf("px")>0&&(n.left=Number(n.left.replace("px",""))),0===n.top&&(n.top=n.top.toString()),0===n.left&&(n.left=n.left.toString()),e.css({top:n.top||"",left:n.left||""})},_updateBoundaries:function(){var t=this.containment;if(!t)return null;t.width=t.innerWidth(),t.height=t.innerHeight(),parseInt(t.width,10)>t[0].clientWidth&&(t.width-=n.support.scrollbar()),parseInt(t.height,10)>t[0].clientHeight&&(t.height-=n.support.scrollbar()),t.position=lt(t[0]),this._isPinned?(this.minTop=this.minLeft=-1/0,this.maxTop=this.maxLeft=1/0):(this.minTop=t.scrollTop(),this.minLeft=t.scrollLeft(),this.maxLeft=this.minLeft+t.width-d(this.wrapper,!0),this.maxTop=this.minTop+t.height-p(this.wrapper,!0))},_animationOptions:function(t){var i=this.options.animation;return i&&i[t]||{open:{effects:{}},close:{hide:!0,effects:{}}}[t]},_resize:function(){n.resize(this.element.children())},_resizable:function(){var i=this.options.resizable,n=this.wrapper;this.resizing&&(n.off("dblclick"+g).children(x).remove(),this.resizing.destroy(),this.resizing=null),i&&(n.on("dblclick"+g,_,function(i){t(i.target).closest(".k-window-titlebar-action").length||this.toggleMaximization()}.bind(this)),h("n e s w se sw ne nw".split(" "),(function(t,i){n.append(e.resizeHandle(i))})),this.resizing=new pt(this)),n=null},_draggable:function(){var t=this.options.draggable;this.dragging&&(this.dragging.destroy(),this.dragging=null),t&&(this.dragging=new ct(this,t.dragHandle||_,t.clickMoveClick))},_actions:function(){var i,o=this.options,r=o.actions,s=o.pinned,a=this.wrapper.children(_).find(".k-window-titlebar-actions"),l=["minimize","maximize"],d={maximize:"window",refresh:"arrow-rotate-cw",custom:"gear"};r=t.map(r,(function(t){return t=s&&"pin"===t.toLowerCase()?"unpin":t,i=d[t.toLowerCase()]||"",{name:l.indexOf(t.toLowerCase())>-1?"window-"+t:t,icon:"close"==t.toLowerCase()?"x":i}})),a.html(n.render(e.action,r))},setOptions:function(i){var e=this,r=e.options.size,s=this.containment&&!e._isPinned?this.containment:t(document),a=JSON.parse(JSON.stringify(i));e.wrapper.removeClass(n.getValidCssClass("k-window-","themeColor",e.options.themeColor)),c(i.position,e.options.position),c(i.position,a.position),e._containerScrollTop=s.scrollTop(),e._containerScrollLeft=s.scrollLeft(),o.fn.setOptions.call(e,i);var l=!1!==e.options.scrollable;if(e.restore(),void 0!==i.title&&e.title(i.title),e.wrapper.removeClass(nt[r]),e._dimensions(),e._position(),e._resizable(),e._draggable(),e._actions(),e.options.themeColor&&"none"!==e.options.themeColor&&e.wrapper.addClass(n.getValidCssClass("k-window-","themeColor",e.options.themeColor)),void 0!==i.modal){var d=!1!==e.options.visible;e._enableDocumentScrolling(),e._overlay(i.modal&&d)}e.element.css($,l?"":"hidden")},events:[D,I,E,F,"minimize","maximize",j,B,R,"resize",N,A,K,"kendoKeydown",q],options:{name:"Window",animation:{open:{effects:{zoom:{direction:"in"},fade:{direction:"in"}},duration:350},close:{effects:{zoom:{direction:"out",properties:{scale:.7}},fade:{direction:"out"}},duration:350,hide:!0}},title:"",themeColor:"",actions:["Close"],autoFocus:!0,modal:!1,size:"auto",resizable:!0,draggable:!0,minWidth:90,minHeight:50,maxWidth:1/0,maxHeight:1/0,pinned:!1,scrollable:!0,position:{},content:null,visible:null,height:null,width:null,appendTo:"body",isMaximized:!1,isMinimized:!1},_closable:function(){return t.inArray("close",t.map(this.options.actions,(function(t){return t.toLowerCase()})))>-1},_keydownContent:function(t){var i=n.keys;t.keyCode==i.ESC&&this._closable()&&(t.stopPropagation(),this._close(!1))},_keydown:function(t){var i,e,o,r,s,a,l=this,d=l.options,p=n.keys,c=t.keyCode,h=l.wrapper,f=10,m=d.isMaximized,g=d.isMinimized;c==p.ESC&&l._closable()&&(t.stopPropagation(),l._close(!1)),t.target!=t.currentTarget||l._closing||(t.altKey&&82==c&&l.refresh(),t.altKey&&80==c&&(l.options.pinned?l.unpin():l.pin()),t.altKey&&c==p.UP?g?(l.restore(),l.wrapper.trigger("focus")):m||(l.maximize(),l.wrapper.trigger("focus")):t.altKey&&c==p.DOWN&&(g||m?m&&(l.restore(),l.wrapper.trigger("focus")):(l.minimize(),l.wrapper.trigger("focus"))),i=n.getOffset(h),l.containment&&!l._isPinned&&(i=l.options.position),!d.draggable||t.ctrlKey||t.altKey||m||(l._updateBoundaries(),c==p.UP?(i.top=st(i.top-f,l.minTop,l.maxTop),e=h.css("top",i.top)):c==p.DOWN?(i.top=st(i.top+f,l.minTop,l.maxTop),e=h.css("top",i.top)):c==p.LEFT?(i.left=st(i.left-f,l.minLeft,l.maxLeft),e=h.css("left",i.left)):c==p.RIGHT&&(i.left=st(i.left+f,l.minLeft,l.maxLeft),e=h.css("left",i.left))),d.resizable&&t.ctrlKey&&!m&&!g&&(c==p.UP?(e=!0,r=h.outerHeight()-f):c==p.DOWN?(e=!0,r=l.containment&&!l._isPinned?Math.min(h.outerHeight()+f,l.containment.height-i.top-rt(h,"padding-top")-rt(h,"borderBottomWidth")-rt(h,"borderTopWidth")):h.outerHeight()+f):c==p.LEFT?(e=!0,o=h.outerWidth()-f):c==p.RIGHT&&(e=!0,o=l.containment&&!l._isPinned?Math.min(h.outerWidth()+f,l.containment.width-i.left-rt(h,"borderLeftWidth")-rt(h,"borderRightWidth")):h.outerWidth()+f),e&&(s=st(o,d.minWidth,d.maxWidth),a=st(r,d.minHeight,d.maxHeight),isNaN(s)||(h.outerWidth(s),l.options.width=s+"px"),isNaN(a)||(h.outerHeight(a),l.options.height=a+"px"),l.resize())),e&&t.preventDefault())},_overlay:function(i){var e=this.containment?this.containment.children(k):this.appendTo.children(k),n=this.wrapper,o=i?"inline-flex":"none",r=parseInt(n.css(U),10)-1;return e.length||(e=t("<div class='k-overlay' />")),e.insertBefore(n[0]).css({zIndex:r,display:o}),this.options.modal.preventScroll&&!this.containment&&this._stopDocumentScrolling(),e},_actionForIcon:function(t){return{x:"_close",window:"maximize","window-minimize":"minimize","window-restore":"restore","arrow-rotate-cw":"refresh",pin:"pin",unpin:"unpin"}[/\bk(-svg)?-i(-\w+)+\b/.exec(t[0].className)[0].replace(/(k-i-|k-svg-i-)/,"")]},_windowActionHandler:function(i){if(!this._closing){var e=t(i.target).closest(".k-window-titlebar-action").find(".k-icon,.k-svg-icon"),n=this._actionForIcon(e);return n?(i.preventDefault(),this[n](),!1):void 0}},_modals:function(){for(var i,e=this,n=t(w+P),o=[],r=0;r<n.length;r+=1)(i=e._object(t(n[r])))&&i.options&&i.options.modal&&i.options.visible&&i.options.appendTo===e.options.appendTo&&(!i.containment||e.containment&&i.containment[0]===e.containment[0])&&o.push(i.wrapper[0]);return o.sort((function(t,i){return t.style.zIndex-i.style.zIndex})),e=null,t(o)},_object:function(t){var e=t.children(b).getKendoWindow();return e||i},center:function(){var i,e,n=this,o=n.options.position,r=n.wrapper,s=t(window),a=0,l=0;return n.options.isMaximized||(n.options.pinned&&!n._isPinned&&n.pin(),n.options.pinned||(a=s.scrollTop(),l=s.scrollLeft()),this.containment&&!n.options.pinned?(i=this.minTop+(this.maxTop-this.minTop)/2,e=this.minLeft+(this.maxLeft-this.minLeft)/2):(n._scrollIsAppended=!0,e=l+Math.max(0,(s.width()-r.outerWidth())/2),i=a+Math.max(0,(s.height()-r.outerHeight()-rt(r,"paddingTop"))/2)),r.css({left:e,top:i}),o.top=i,o.left=e),n},title:function(i){var o,r=this,s=!0,a=r.wrapper,l=a.children(_),d=l.children(v);return arguments.length?(t.isPlainObject(i)?(o=void 0!==i.text?i.text:"",s=!1!==i.encoded):o=i,!1===o?(a.addClass("k-window-titleless"),a.css("padding-top",0),l.remove()):l.length?d.html(s?n.htmlEncode(o):o):(a.prepend(e.titlebar({title:s?n.htmlEncode(o):o})),r._actions(),l=a.children(_)),r.options.title=o,r):d.html()},content:function(t,i){var e=this.wrapper.children(b),o=e.children(".km-scroll-container");return e=o[0]?o:e,ot(t)?(n.destroy(this.element.children()),e.empty().html(t),this):e.html()},open:function(){var i,e,o=this,r=o.wrapper,s=o.options,a=this._animationOptions("open"),l=r.children(b),d=this.containment&&!o._isPinned?this.containment:t(document);if(!o.trigger(D)){if(o._closing&&r.kendoStop(!0,!0),o._closing=!1,o.toFront(),s.autoFocus&&o.wrapper.trigger("focus"),s.visible=!0,s.modal){if(e=!!o._modals().length,(i=o._overlay(e)).kendoStop(!0,!0),a.duration&&n.effects.Fade&&!e){var p=n.fx(i).fadeIn();p.duration(a.duration||0),p.endValue(.5),p.play()}else i.css("opacity",.5);i.show(),t(window).on("focus"+u,(function(){r.data("isFront")&&!t(document.activeElement).closest(r).length&&o.wrapper.trigger("focus")}))}r.is(P)||(l.css($,M),o.wrapper.find(Y).addClass("k-button-flat"),r.css({display:"inline-flex"}),r.kendoStop().kendoAnimate({effects:a.effects,duration:a.duration,complete:this._activate.bind(this)}))}return s.isMaximized&&(o._containerScrollTop=d.scrollTop(),o._containerScrollLeft=d.scrollLeft(),o._stopDocumentScrolling()),this.options.pinned&&!this._isPinned&&this.pin(),o},_activate:function(){var t=!1!==this.options.scrollable;this.options.autoFocus&&this.wrapper.trigger("focus"),this.element.css($,t?"":"hidden"),n.resize(this.element.children()),this.trigger(I)},_removeOverlay:function(e){var o=this._modals(),r=this.options,s=r.modal&&!o.length,a=this._animationOptions("close");if(s){if(!e&&a.duration&&n.effects.Fade){var l=n.fx(r.modal?this._overlay(!0):t(i)).fadeOut();l.duration(a.duration||0),l.startValue(.5),l.play()}else this._overlay(!1).remove();r.modal.preventScroll&&this._enableDocumentScrolling()}else o.length&&(this._object(o.last())._overlay(!0),r.modal.preventScroll&&this._stopDocumentScrolling())},_close:function(i){var e,n=this,o=n.wrapper,r=n.options,s=this._animationOptions("open"),a=this._animationOptions("close"),l=this.containment&&!n._isPinned?this.containment:t(document);n._closing||(e=n.trigger(F,{userTriggered:!i}),n._closing=!e,o.is(P)&&!e&&(r.visible=!1,t(w).each((function(i,e){var n=t(e).children(b);e!=o&&n.find("> ."+y).length>0&&n.children(k).remove()})),this._removeOverlay(),n.wrapper.find(Y).removeClass("k-button-flat"),o.kendoStop().kendoAnimate({effects:a.effects||s.effects,reverse:!0===a.reverse,duration:a.duration,complete:this._deactivate.bind(this)}),t(window).off(u)),n.options.isMaximized&&(n._enableDocumentScrolling(),n._containerScrollTop&&n._containerScrollTop>0&&l.scrollTop(n._containerScrollTop),n._containerScrollLeft&&n._containerScrollLeft>0&&l.scrollLeft(n._containerScrollLeft)),n.options.iframe&&n.wrapper.trigger("blur"))},_deactivate:function(){var t=this;if(t.wrapper.removeClass(O).hide().css("opacity",""),t.trigger(E),t.options.modal){var i=t._object(t._modals().last());i&&i.toFront()}},close:function(){return this._close(!0),this},_actionable:function(i){return t(i).is(`${Y}, :input, a, .k-input, .k-icon, .k-svg-icon, .k-svg-icon>svg, .k-svg-icon>svg>path, .k-icon-button, [role='gridcell'], .k-input-inner, .k-input-value-text`)},_shouldFocus:function(i){var e=l(),n=this.wrapper;return this.options.autoFocus&&!t(e).is(n)&&!this._actionable(i)&&(!n.find(e).length||!n.find(i).length)},toFront:function(i,n){var o=this,r=o.wrapper,s=r[0],a=o.containment&&!o._isPinned,l=this._animationOptions("open"),d=+r.css(U),p=d,c=i&&i.target||null;if(t(w).each((function(i,n){var o=t(n),a=o.css(U),l=o.children(b);isNaN(a)||(d=Math.max(+a,d)),r.data("isFront",n==s),n!=s&&l.find("."+y).length&&!l.find(k).length&&l.append(e.overlay)})),(!r[0].style.zIndex||p<d)&&r.css(U,d+2),o.element.find("> .k-overlay").remove(),o._shouldFocus(c)){n||setTimeout((function(){o.wrapper.trigger("focus")}),l?l.duration:0);var h=a?o.containment.scrollTop():t(window).scrollTop(),f=parseInt(r.position().top,10);!o.options.pinned&&f>0&&f<h&&(h>0?t(window).scrollTop(f):r.css("top",h))}return r=null,o},toggleMaximization:function(){return this._closing?this:this[this.options.isMaximized?"restore":"maximize"]()},restore:function(){var i=this,e=i.options,n=e.minHeight,o=i.restoreOptions,r=i.containment&&!i._isPinned?i.containment:t(document);return e.isMaximized||e.isMinimized?(n&&n!=1/0&&i.wrapper.css("min-height",n),o&&!e.isMaximized&&(o.height=st(o.height,i.options.minHeight,i.options.maxHeight),e.position.top+parseInt(o.height,10)>i.maxTop&&(e.position.top=st(e.position.top,i.minTop,i.maxTop-parseInt(o.height,10)),c(o,{left:e.position.left,top:e.position.top}))),i.wrapper.css({position:e.pinned?"fixed":"absolute",left:o.left,top:o.top,width:o.width,height:o.height}).removeClass(C).removeClass(T).find(".k-window-content,.k-resize-handle").show().end().find(".k-window-titlebar .k-i-window-restore,.k-window-titlebar .k-svg-i-window-restore").parent().remove().end().end().find(G).parent().show().end().end().find(X).parent().show(),e.isMaximized?i.wrapper.find(".k-i-window,.k-svg-i-window").parent().trigger("focus"):e.isMinimized&&i.wrapper.find(".k-i-window-minimize,.k-svg-i-window-minimize").parent().trigger("focus"),i.options.width=o.width,i.options.height=o.height,i.options.modal.preventScroll||i._enableDocumentScrolling(),i._containerScrollTop&&i._containerScrollTop>0&&r.scrollTop(i._containerScrollTop),i._containerScrollLeft&&i._containerScrollLeft>0&&r.scrollLeft(i._containerScrollLeft),e.isMaximized=e.isMinimized=!1,i.wrapper.removeAttr("aria-labelled-by"),i.resize(),i.trigger(B),i):i},_sizingAction:function(t,i){var n=this,o=n.wrapper,r=o[0].style,s=n.options;return s.isMaximized||s.isMinimized||(n.restoreOptions={width:r.width,height:r.height},o.children(x).hide().end().children(_).find(G).parent().hide().eq(0).before(e.action({name:"window-restore"})),i.call(n),n.wrapper.children(_).find(X).parent().toggle("maximize"!==t),n.trigger(t),o.find(".k-i-window-restore,.k-svg-i-window-restore").parent().trigger("focus")),n},maximize:function(){return this._sizingAction("maximize",(function(){var i=this,e=i.wrapper,n=this.containment&&!i._isPinned,o=e.position(),r=t(document);c(i.restoreOptions,{left:o.left+(n?this.containment.scrollLeft():0),top:o.top+(n?this.containment.scrollTop():0)}),this._containerScrollTop=n?this.containment.scrollTop():r.scrollTop(),this._containerScrollLeft=n?this.containment.scrollLeft():r.scrollLeft(),i._stopDocumentScrolling(),e.css({top:n?this.containment.scrollTop():0,left:n?this.containment.scrollLeft():0,position:n?"absolute":"fixed"}).addClass(C),i.options.isMaximized=!0,i._onDocumentResize()})),this},_stopDocumentScrolling:function(){var i=this,e=i.containment;if(e&&!i._isPinned)return i._storeOverflowRule(e),e.css($,M),void i.wrapper.css({maxWidth:e.innerWidth(),maxHeight:e.innerHeight()});var n=t("body");i._storeOverflowRule(n),n.css($,M);var o=t("html");i._storeOverflowRule(o),o.css($,M)},_enableDocumentScrolling:function(){var i=this,e=i.containment;if(e&&!i._isPinned)return i._restoreOverflowRule(e),void i.wrapper.css({maxWidth:e.width,maxHeight:e.height});i._restoreOverflowRule(t(document.body)),i._restoreOverflowRule(t("html"))},_storeOverflowRule:function(t){if(!this._isOverflowStored(t)){var i=t.get(0).style.overflow;"string"==typeof i&&t.data(V,i)}},_isOverflowStored:function(t){return"string"==typeof t.data(V)},_restoreOverflowRule:function(t){var e=t.data(V);null!==e&&e!==i?(t.css($,e),t.removeData(V)):t.css($,"")},isMaximized:function(){return this.options.isMaximized},minimize:function(){return this._sizingAction("minimize",(function(){var t=this;t.wrapper.css({height:"",minHeight:""}),t.element.hide(),t.options.isMinimized=!0})),this.wrapper.attr("aria-labelled-by",this.element.attr("aria-labelled-by")),this.wrapper.addClass(T),this._updateBoundaries(),this},isMinimized:function(){return this.options.isMinimized},pin:function(){var i=this,e=t(window),o=i.wrapper,r=i.options,s=r.position,a=this.containment?lt(o[0]).top+rt(this.containment,"borderTopWidth"):rt(o,"top"),l=this.containment?lt(o[0]).left+rt(this.containment,"borderLeftWidth"):rt(o,"left");if(!i.options.isMaximized){s.top=a,s.left=l,!i._scrollIsAppended||this.containment&&"fixed"===this.containment.css("position")||(s.top-=e.scrollTop(),s.left-=e.scrollLeft(),i._scrollIsAppended=!1),o.css(c(s,{position:"fixed"}));var d=o.children(_).find(J).eq(0);d.length>0&&n.ui.icon(d,{icon:"unpin"}),i._isPinned=!0,i.options.pinned=!0,this.containment&&(r.maxWidth=r.maxHeight=1/0,o.css({maxWidth:"",maxHeight:""}))}},unpin:function(){var i=this,e=t(window),o=i.wrapper,r=i.options,s=i.options.position,a=i.containment,l=parseInt(o.css("top"),10)+e.scrollTop(),d=parseInt(o.css("left"),10)+e.scrollLeft();if(!i.options.isMaximized){i._isPinned=!1,i._scrollIsAppended=!0,i.options.pinned=!1,a&&(i._updateBoundaries(),r.maxWidth=Math.min(a.width,r.maxWidth),r.maxHeight=Math.min(a.height-rt(o,"padding-top"),r.maxHeight),o.css({maxWidth:r.maxWidth,maxHeight:r.maxHeight}),l=l<a.position.top?i.minTop:l>a.position.top+a.height?i.maxTop:l+a.scrollTop()-(a.position.top+rt(a,"border-top-width")),d=d<a.position.left?i.minLeft:d>a.position.left+a.width?i.maxLeft:d+a.scrollLeft()-(a.position.left+rt(a,"border-left-width"))),s.top=st(l,i.minTop,i.maxTop),s.left=st(d,i.minLeft,i.maxLeft),o.css(c(s,{position:""}));var p=o.children(_).find(Q).eq(0);p.length>0&&n.ui.icon(p,{icon:"pin"})}},_onDocumentResize:function(){var i,e,o=this,r=o.wrapper,s=t(window),a=n.support.zoomLevel(),l="content-box"==r.css("box-sizing");if(o.options.isMaximized){var d=l?rt(r,"border-left-width")+rt(r,"border-right-width"):0,p=l?rt(r,"border-top-width")+rt(r,"border-bottom-width"):0,c=l?rt(r,"padding-top"):0;o.containment&&!o._isPinned?(i=o.containment.innerWidth()-d,e=o.containment.innerHeight()-(p+c)):(i=s.width()/a-d,e=s.height()/a-(p+c)),r.css({width:i,height:e}),o.options.width=i,o.options.height=e,o.resize()}},refresh:function(i){var n,o,r,s=this,l=s.options,d=t(s.element);return a(i)||(i={url:i}),i=c(l.content,i),o=ot(l.iframe)?l.iframe:i.iframe,(r=i.url)?(ot(o)||(o=!et(r)),o?((n=d.find("."+y)[0])?n.src=r||n.src:d.html(e.contentFrame(c({},l,{content:i}))),d.find("."+y).off("load"+g).on("load"+g,this._triggerRefresh.bind(this))):s._ajaxRequest(i)):(i.template&&s.content(f(i.template)({})),s.trigger(j)),d.toggleClass("k-window-iframecontent",!!o),s},_triggerRefresh:function(){this.trigger(j)},_ajaxComplete:function(){clearTimeout(this._loadingIconTimeout),this.wrapper.find(Z).removeClass(z)},_ajaxError:function(t,i){this.trigger(q,{status:i,xhr:t})},_ajaxSuccess:function(t){return function(i){var e=i;t&&(e=f(t)(i||{})),this.content(e,i),this.element.prop("scrollTop",0),this.trigger(j)}},_showLoading:function(){this.wrapper.find(Z).addClass(z)},_ajaxRequest:function(i){this._loadingIconTimeout=setTimeout(this._showLoading.bind(this),100),t.ajax(c({type:"GET",dataType:"html",cache:!1,error:this._ajaxError.bind(this),complete:this._ajaxComplete.bind(this),success:this._ajaxSuccess(i.template).bind(this)},i))},_destroy:function(){this.resizing&&this.resizing.destroy(),this.dragging&&this.dragging.destroy(),this.wrapper.off(g).children(b).off(g).end().find(".k-resize-handle,.k-window-titlebar").off(g),t(window).off("resize"+g+this._marker),t(window).off(u),t(window).off(g),clearTimeout(this._loadingIconTimeout),o.fn.destroy.call(this),this.unbind(i),n.destroy(this.wrapper)},destroy:function(){this._destroy(),this.options.modal&&this._removeOverlay(!0),this.wrapper.empty().remove(),this.wrapper=this.appendTo=this.element=t()},_createWindow:function(){var i,o,r=this.element,s=this.options,a=n.support.isRtl(r);!1===s.scrollable&&r.css("overflow","hidden"),o=t(e.wrapper(s)),i=r.find("iframe:not(.k-content-frame)").map((function(){var t=this.getAttribute("src");return this.src="",t})),o.toggleClass("k-rtl",a).attr("tabindex",0).append(r).find("iframe:not(.k-content-frame)").each((function(t){this.src=i[t]})),this.containment?this.containment.prepend(o):this.appendTo&&o.appendTo(this.appendTo),o.find(".k-window-title").css(a?"left":"right",d(o.find(".k-window-titlebar-actions"))+10),r.css("visibility","").show(),t(r).hasClass(S)&&t(r).removeClass(S),r.find("[data-role=editor]").each((function(){var i=t(this).data("kendoEditor");i&&i.refresh()})),o=r=null}});function pt(t){var i=this;i.owner=t,i._preventDragging=!1,i._draggable=new s(t.wrapper,{filter:">"+x,group:t.wrapper.id+"-resizing",dragstart:i.dragstart.bind(i),drag:i.drag.bind(i),dragend:i.dragend.bind(i)}),i._draggable.userEvents.bind("press",i.addOverlay.bind(i)),i._draggable.userEvents.bind("release",i.removeOverlay.bind(i))}function ct(t,i,e){var n=this;n.owner=t,n._preventDragging=!1,n._draggable=new s(t.wrapper,{filter:i,group:t.wrapper.id+"-moving",clickMoveClick:e,dragstart:n.dragstart.bind(n),drag:n.drag.bind(n),dragend:n.dragend.bind(n),dragcancel:n.dragcancel.bind(n)}),n._draggable.userEvents.stopPropagation=!1}e={wrapper:f((()=>"<div class='k-window'></div>")),action:f((({name:t,icon:i})=>{let e=(i||"").toLowerCase()||t.toLowerCase();return"restore"==e&&(e="window-restore"),n.html.renderButton(`<button role='button' class='k-window-titlebar-action' aria-label='${t}'></button>`,{icon:e,fillMode:"flat"})})),titlebar:f((({title:t})=>`<div class='k-window-titlebar'><span class='k-window-title'>${t}</span><div class='k-window-titlebar-actions'></div></div>`)),overlay:"<div class='k-overlay'></div>",contentFrame:f((({title:t,content:i})=>`<iframe frameborder='0' title='${t}' class='${y}' src='${i.url}'>This page requires frames in order to show content</iframe>`)),resizeHandle:f((t=>`<div aria-hidden='true' class='k-resize-handle k-resize-${t}'></div>`))},pt.prototype={addOverlay:function(){this.owner.wrapper.append(e.overlay)},removeOverlay:function(){this.owner.wrapper.find(k).remove()},dragstart:function(i){var e=this,o=e.owner,r=o.wrapper;if(e._preventDragging=o.trigger(R),!e._preventDragging){e.elementPadding=parseInt(r.css("padding-top"),10),e.initialPosition=n.getOffset(r,"position"),e.resizeDirection=i.currentTarget.prop("className").replace("k-resize-handle k-resize-",""),e.initialSize={width:r.outerWidth(),height:r.outerHeight()},o._updateBoundaries(),e.containerOffset=o.containment?o.containment.position:n.getOffset(o.appendTo);var s=r.offsetParent();if(s.is("html"))e.containerOffset.top=e.containerOffset.left=0;else{var a=s.css("margin-top"),l=s.css("margin-left");if(!it.test(a)||!it.test(l)){var d=lt(r[0]),p=d.left-e.containerOffset.left-e.initialPosition.left,c=d.top-e.containerOffset.top-e.initialPosition.top;e._relativeElMarginLeft=p>1?p:0,e._relativeElMarginTop=c>1?c:0,e.initialPosition.left+=e._relativeElMarginLeft,e.initialPosition.top+=e._relativeElMarginTop}}r.children(x).not(i.currentTarget).hide(),t(m).css(H,i.currentTarget.css(H))}},drag:function(i){if(!this._preventDragging){var e,o,r,s,a=this,l=a.owner,d=l.wrapper,p=l.options,c=p.position,h=a.resizeDirection,f=a.containerOffset,m=a.initialPosition,g=a.initialSize,u=l.containment&&!l._isPinned,w=n.support.isRtl(l.containment),v=u&&w&&l.containment.innerWidth()>l.containment.width?n.support.scrollbar():0,_=u?{top:l.containment.scrollTop(),left:l.containment.scrollLeft()}:{top:0,left:0},b=Math.max(i.x.location,0),x=Math.max(i.y.location,0);h.indexOf("e")>=0?(e=l.containment&&b-g.width>=l.maxLeft-_.left+f.left+v?l.maxLeft+v-m.left+g.width-_.left:b-m.left-f.left,d.outerWidth(st(e,p.minWidth,p.maxWidth))):h.indexOf("w")>=0&&(e=st((s=m.left+g.width+f.left)-b,p.minWidth,p.maxWidth),c.left=s-e-f.left-v-(a._relativeElMarginLeft||0)+_.left,l.containment&&c.left<=l.minLeft&&(c.left=l.minLeft,e=st(s-v-c.left-f.left+_.left,p.minWidth,p.maxWidth)),d.css({left:c.left,width:e}));var k=x;l.options.pinned&&(k-=t(window).scrollTop()),h.indexOf("s")>=0?(o=k-m.top-a.elementPadding-f.top,k-g.height-a.elementPadding>=l.maxTop+f.top-_.top&&(o=l.maxTop-m.top+g.height-_.top),d.outerHeight(st(o,p.minHeight,p.maxHeight))):h.indexOf("n")>=0&&(o=st((r=m.top+g.height+f.top)-k,p.minHeight,p.maxHeight),c.top=r-o-f.top-(a._relativeElMarginTop||0)+_.top,c.top<=l.minTop&&l.containment&&(c.top=l.minTop,o=st(r-c.top-f.top+_.top,p.minHeight,p.maxHeight)),d.css({top:c.top,height:o})),e&&(l.options.width=e+"px"),o&&(l.options.height=o+"px"),l.resize()}},dragend:function(i){if(!this._preventDragging){var e=this,n=e.owner,o=n.wrapper;return o.children(x).not(i.currentTarget).show(),t(m).css(H,""),n.touchScroller&&n.touchScroller.reset(),27==i.keyCode&&o.css(e.initialPosition).css(e.initialSize),n.trigger(N),!1}},destroy:function(){this._draggable&&this._draggable.destroy(),this._draggable=this.owner=null}},ct.prototype={dragstart:function(i){var o=this.owner,r=o.options.draggable,s=o.element,a=s.find(".k-window-titlebar-actions"),l=n.getOffset(o.appendTo);this._preventDragging=o.trigger(A)||!r,this._preventDragging||o.isMaximized()||(o.initialWindowPosition=n.getOffset(o.wrapper,"position"),o.initialPointerPosition||(o.options.position.left=st(o.initialWindowPosition.left,o.minLeft,o.maxLeft),o.options.position.top=st(o.initialWindowPosition.top,o.minTop,o.maxTop)),o.initialPointerPosition={left:o.options.position.left,top:o.options.position.top},o.startPosition={left:i.x.client-o.initialWindowPosition.left,top:i.y.client-o.initialWindowPosition.top},o._updateBoundaries(),o.containment||(a.length>0?o.minLeft=d(a)+parseInt(a.css("right"),10)-d(s):o.minLeft=20-d(s),o.minLeft-=l.left,o.minTop=-l.top),t(e.overlay).appendTo(o.wrapper).css({opacity:0}),o.wrapper.children(x).hide(),t(m).css(H,i.currentTarget.css(H)))},drag:function(i){var e,n,o=this.owner,r=o.options.position,s=o.options.draggable.axis;this._preventDragging||o.isMaximized()||(s&&"x"!==s.toLowerCase()||(e=i.x.client-o.startPosition.left,o.containment&&!o._isPinned&&(e+=o.containment.scrollLeft()),r.left=st(e,o.minLeft,o.maxLeft)),s&&"y"!==s.toLowerCase()||(n=i.y.client-o.startPosition.top,o.containment&&!o._isPinned&&(n+=o.containment.scrollTop()),r.top=st(n,o.minTop,o.maxTop)),t(o.wrapper).css("transform","translate("+(r.left-o.initialPointerPosition.left)+"px, "+(r.top-o.initialPointerPosition.top)+"px)"))},_finishDrag:function(){var i=this.owner;i.wrapper.children(x).toggle(!i.options.isMinimized).end().find(k).remove(),t(m).css(H,"")},dragcancel:function(t){this._preventDragging||(this._finishDrag(),t.currentTarget.closest(w).css(this.owner.initialWindowPosition))},dragend:function(){var i=this.owner;if(!this._preventDragging&&!i.isMaximized())return t(i.wrapper).css(i.options.position).css("transform",""),this._finishDrag(),i.trigger(K),!1},destroy:function(){this._draggable&&this._draggable.destroy(),this._draggable=this.owner=null}},n.ui.plugin(dt)}(window.kendo.jQuery);var i=kendo;t.__meta__={id:"window",name:"Window",category:"web",description:"The Window widget displays content in a modal or non-modal HTML window.",depends:["draganddrop","popup","icons"],features:[{id:"window-fx",name:"Animation",description:"Support for animation",depends:["fx"]}]},t.default=i,Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=kendo.window.min.js.map