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