@progress/kendo-angular-popup
Advanced tools
Comparing version 1.0.0 to 1.0.1
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@angular/core"),require("rxjs/Observable"),require("rxjs/add/observable/fromEvent"),require("rxjs/add/operator/auditTime"),require("rxjs/add/observable/merge"),require("@angular/common")):"function"==typeof define&&define.amd?define(["@angular/core","rxjs/Observable","rxjs/add/observable/fromEvent","rxjs/add/operator/auditTime","rxjs/add/observable/merge","@angular/common"],t):"object"==typeof exports?exports.KendoAngularPopup=t(require("@angular/core"),require("rxjs/Observable"),require("rxjs/add/observable/fromEvent"),require("rxjs/add/operator/auditTime"),require("rxjs/add/observable/merge"),require("@angular/common")):e.KendoAngularPopup=t(e["@angular/core"],e["rxjs/Observable"],e["rxjs/add/observable/fromEvent"],e["rxjs/add/operator/auditTime"],e["rxjs/add/observable/merge"],e["@angular/common"])}(this,function(e,t,n,o,i,r){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(1);t.PopupSettings=o.PopupSettings;var i=n(2);t.PopupRef=i.PopupRef;var r=n(3);t.PopupService=r.PopupService;var s=n(5);t.PopupComponent=s.PopupComponent;var c=n(17);t.PopupModule=c.PopupModule},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){}return e}();t.PopupSettings=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){}return e}();t.PopupRef=n},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),s=n(5),c=function(){function e(e,t,n){this.applicationRef=e,this.componentFactoryResolver=t,this.injector=n}return Object.defineProperty(e.prototype,"rootViewContainer",{get:function(){var e=this.applicationRef.components;if(e)return e[0];throw new Error("View Container not found!")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rootViewContainerNode",{get:function(){return this._container?this._container:this.getComponentRootNode(this.rootViewContainer)},set:function(e){this._container=e},enumerable:!0,configurable:!0}),e.prototype.open=function(e){void 0===e&&(e={});var t=this.contentFrom(e.content),n=t.component,o=t.nodes,i=this.createComponent(s.PopupComponent,o),r=this.applicationRef;return this.projectComponentInputs(i,e),r.attachView(i.hostView),i.onDestroy(function(){n&&n.destroy(),r.detachView(i.hostView)}),this.rootViewContainerNode.appendChild(this.getComponentRootNode(i)),{close:function(){return i.destroy()},content:n,popup:i}},e.prototype.getComponentRootNode=function(e){return e.hostView.rootNodes[0]},e.prototype.createComponent=function(e,t){var n=this.componentFactoryResolver.resolveComponentFactory(e),o=n.create(this.injector,t);return o.changeDetectorRef.detectChanges(),o},e.prototype.projectComponentInputs=function(e,t){return Object.getOwnPropertyNames(t).filter(function(e){return"content"!==e||t.content instanceof r.TemplateRef}).map(function(n){e.instance[n]=t[n]}),e},e.prototype.contentFrom=function(e){if(!e||e instanceof r.TemplateRef)return{component:null,nodes:[[]]};var t=this.createComponent(e),n=t?[t.location.nativeElement]:[];return{component:t,nodes:[n]}},e}();c=o([r.Injectable(),i("design:paramtypes",[r.ApplicationRef,r.ComponentFactoryResolver,r.Injector])],c),t.PopupService=c},function(t,n){t.exports=e},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),s=n(6),c=n(7),l=n(10),a=n(11),f=n(15),u=n(9),p={left:0,top:0},d=function(){function e(e,t,n,o,i,s,c){this._alignService=e,this.container=t,this._cdr=n,this._positionService=o,this._resizeService=i,this._scrollableService=s,this._renderer=c,this.animate=!0,this.anchorAlign={horizontal:"left",vertical:"bottom"},this.collision={horizontal:"fit",vertical:"flip"},this.popupAlign={horizontal:"left",vertical:"top"},this.offset=p,this.anchorViewportLeave=new r.EventEmitter,this.close=new r.EventEmitter,this.open=new r.EventEmitter,this.direction="down",this.currentOffset=p,this.resolvedPromised=Promise.resolve(null),this._renderer.setElementClass(t.nativeElement,"k-animation-container",!0),this._renderer.setElementClass(t.nativeElement,"k-animation-container-fixed",!0)}return Object.defineProperty(e.prototype,"offsetLeft",{get:function(){return this.currentOffset.left},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"offsetTop",{get:function(){return this.currentOffset.top},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this.reposition.bind(this);this._resizeService.subscribe(e),this._scrollableService.forElement(this.anchor||this.container).subscribe(this.onScroll.bind(this))},e.prototype.ngAfterViewChecked=function(){var e=this;if(u.isDocumentAvailable()){var t=this.position(),n=t.flipped,o=t.offset,i=this.getDirection(n);(this.direction!==i||u.isDifferentOffset(this.currentOffset,o))&&this.resolvedPromised.then(function(){e.currentOffset=o,e.direction=i,e._cdr.markForCheck()})}},e.prototype.ngOnDestroy=function(){this.close.emit(),this._resizeService.unsubscribe(),this._scrollableService.unsubscribe()},e.prototype.triggerOpen=function(){this._renderer.setElementClass(this.container.nativeElement,"k-animation-container-shown",!0),this.open.emit()},e.prototype.reposition=function(){if(u.isDocumentAvailable()){var e=this.position(),t=e.flipped,n=e.offset;this.direction=this.getDirection(t),this.currentOffset=n}},e.prototype.position=function(){var e=this._alignService.alignElement({anchor:this.anchor,anchorAlign:this.anchorAlign,element:this.container,elementAlign:this.popupAlign,offset:this.offset});return this._positionService.positionElement({anchor:this.anchor,anchorAlign:this.anchorAlign,collisions:this.collision,currentLocation:e,element:this.container,elementAlign:this.popupAlign})},e.prototype.getDirection=function(e){return this.animate?e?"up":"down":"none"},e.prototype.onScroll=function(e){e?this.reposition():this.anchorViewportLeave.emit()},e}();o([r.Input(),i("design:type",Boolean)],d.prototype,"animate",void 0),o([r.Input(),i("design:type",r.ElementRef)],d.prototype,"anchor",void 0),o([r.Input(),i("design:type",Object)],d.prototype,"anchorAlign",void 0),o([r.Input(),i("design:type",Object)],d.prototype,"collision",void 0),o([r.Input(),i("design:type",Object)],d.prototype,"popupAlign",void 0),o([r.Input(),i("design:type",Object)],d.prototype,"popupClass",void 0),o([r.Input(),i("design:type",Object)],d.prototype,"offset",void 0),o([r.Output(),i("design:type",r.EventEmitter)],d.prototype,"anchorViewportLeave",void 0),o([r.Output(),i("design:type",r.EventEmitter)],d.prototype,"close",void 0),o([r.Output(),i("design:type",r.EventEmitter)],d.prototype,"open",void 0),o([r.HostBinding("style.left.px"),i("design:type",Number),i("design:paramtypes",[])],d.prototype,"offsetLeft",null),o([r.HostBinding("style.top.px"),i("design:type",Number),i("design:paramtypes",[])],d.prototype,"offsetTop",null),d=o([r.Component({animations:[r.trigger("toggle",[r.transition("void => down, up => down",[r.style({transform:"translateY(-100%)"}),r.animate("0.1s ease-in",r.style({transform:"translateY(0)"}))]),r.transition("down => void",[r.style({transform:"translateY(0)"}),r.animate("0.1s ease-in",r.style({transform:"translateY(-100%)"}))]),r.transition("void => up, down => up",[r.style({transform:"translateY(100%)"}),r.animate("0.1s ease-in",r.style({transform:"translateY(0)"}))]),r.transition("up => void",[r.style({transform:"translateY(0)"}),r.animate("0.1s ease-in",r.style({transform:"translateY(100%)"}))])])],exportAs:"kendo-popup",providers:[s.AlignService,c.DOMService,l.PositionService,a.ResizeService,f.ScrollableService],selector:"kendo-popup",template:'\n <div class="k-popup" [ngClass]="popupClass" [@toggle]="direction" (@toggle.done)="triggerOpen()">\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]="content" [ngIf]="content"></ng-template>\n </div>\n '}),i("design:paramtypes",[s.AlignService,r.ElementRef,r.ChangeDetectorRef,l.PositionService,a.ResizeService,f.ScrollableService,r.Renderer])],d),t.PopupComponent=d},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),s=n(7),c=n(9),l=function(){function e(e){this._dom=e}return e.prototype.alignElement=function(e){var t=e.anchor,n=e.element,o=e.anchorAlign,i=e.elementAlign,r=e.offset,s=this._dom,l=s.offset(n),a=s.stackingElementOffset(t||n),f=c.eitherRect(s.offset(t),r);return f=c.removeStackingOffset(f,a),t||(f=s.removeScroll(f,s.scrollPosition(n))),this._dom.align({anchorAlign:o,anchorRect:f,elementAlign:i,elementRect:l})},e}();l=o([r.Injectable(),i("design:paramtypes",[s.DOMService])],l),t.AlignService=l},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s};Object.defineProperty(t,"__esModule",{value:!0});var i=n(4),r=n(8),s=n(9),c=function(){function e(){}return e.prototype.addOffset=function(e,t){return{left:e.left+t.left,top:e.top+t.top}},e.prototype.align=function(e){return r.align(e)},e.prototype.boundingOffset=function(e){return r.boundingOffset(this.nativeElement(e))},e.prototype.getWindow=function(){return s.isWindowAvailable()?window:null},e.prototype.isBodyOffset=function(e){return r.isBodyOffset(this.nativeElement(e))},e.prototype.offset=function(e){return e?r.offset(this.nativeElement(e)):null},e.prototype.staticOffset=function(e){if(!e)return null;var t=this.nativeElement(e),n=t.style,o=n.left,i=n.top;t.style.left="0px",t.style.top="0px";var s=r.offset(t);return t.style.left=o,t.style.top=i,s},e.prototype.nativeElement=function(e){return e?e.nativeElement||e:null},e.prototype.position=function(e){return e?r.position(this.nativeElement(e)):null},e.prototype.relativeOffset=function(e,t){return r.applyLocationOffset(this.offset(e),t,this.isBodyOffset(e))},e.prototype.removeScroll=function(e,t){return r.removeScroll(e,t)},e.prototype.restrictToView=function(e){return r.restrictToView(e)},e.prototype.scrollPosition=function(e){return r.scrollPosition(this.nativeElement(e))},e.prototype.scrollableParents=function(e){return s.scrollableParents(this.nativeElement(e))},e.prototype.stackingElementOffset=function(e){var t=this.getRelativeContextElement(e);return t?r.offset(t):null},e.prototype.getRelativeContextElement=function(e){if(!e||!s.HAS_RELATIVE_STACKING_CONTEXT)return null;for(var t=this.nativeElement(e).parentElement;t;){if("none"!==window.getComputedStyle(t).transform)return t;t=t.parentElement}return null},e.prototype.useRelativePosition=function(e){return!!this.getRelativeContextElement(e)},e.prototype.windowViewPort=function(e){return r.getWindowViewPort(this.nativeElement(e))},e}();c=o([i.Injectable()],c),t.DOMService=c},function(e,t){"use strict";function n(e,t,n){var o=e.top,i=e.left;return n&&(i=0,o=0),{top:o+t.top,left:i+t.left,height:e.height,width:e.width}}function o(e,t){return{top:e.top-t.y,left:e.left-t.x,height:e.height,width:e.width}}function i(e){var t=f(e),n=m(e);return{x:n.pageXOffset||t.scrollLeft||0,y:n.pageYOffset||t.scrollTop||0}}function r(e){var t=m(e);return{height:t.innerHeight,width:t.innerWidth}}Object.defineProperty(t,"__esModule",{value:!0});var s={bottom:"bottom",center:"center",middle:"middle",left:"left",right:"right",top:"top"},c=function(e){var t=e.anchorRect,n=e.anchorAlign,o=e.elementRect,i=e.elementAlign,r=n.horizontal,c=n.vertical,l=i.horizontal,a=i.vertical,f=t.top,u=t.left;return c===s.bottom&&(f+=t.height),c!==s.center&&c!==s.middle||(f+=Math.round(t.height/2)),a===s.bottom&&(f-=o.height),a!==s.center&&a!==s.middle||(f-=Math.round(o.height/2)),r===s.right&&(u+=t.width),r!==s.center&&r!==s.middle||(u+=Math.round(t.width/2)),l===s.right&&(u-=o.width),l!==s.center&&l!==s.middle||(u-=Math.round(o.width/2)),{top:f,left:u}},l=function(e){if(!e.getBoundingClientRect)return{bottom:e.innerHeight,left:0,right:e.innerWidth,top:0};var t=e.getBoundingClientRect(),n=t.bottom,o=t.left,i=t.right,r=t.top;return{bottom:n,left:o,right:i,top:r}},a={fit:"fit",flip:"flip"},f=function(e){return e.ownerDocument.documentElement},u=function(e){for(var t=e.offsetParent;t&&"static"===t.style.position;)t=t.offsetParent;return t||f(e)},p=function(e){return u(e)===e.ownerDocument.body},d=function(e){var t=e.style,n=t.display,o=t.left,i=t.position;e.style.display="",e.style.left="-10000px",e.style.position="absolute";var r=e.getBoundingClientRect();return e.style.display=n,e.style.left=o,e.style.position=i,r},h=function(e){var t=e.getBoundingClientRect(),n=t.left,o=t.top;return t.height||t.width||(t=d(e)),{top:o,left:n,height:t.height,width:t.width}},m=function(e){return e.ownerDocument.defaultView},v=function(e){var t=m(e),n=t.getComputedStyle(e),o=h(e),i=u(e),r=t.getComputedStyle(i),s={top:0,left:0};return"fixed"!==n.position&&i!==e.ownerDocument.body&&(s=h(i),s.top+=parseInt(r.borderTopWidth,10),s.left+=parseInt(r.borderLeftWidth,10)),{top:o.top-s.top-parseInt(n.marginTop,10),left:o.left-s.left-parseInt(n.marginLeft,10),height:o.height,width:o.width}},g=function(e,t,n){var o=0;return e+t>n&&(o=n-(e+t)),e<0&&(o=-e),o},y=function(e){var t=e.offset,n=e.size,o=e.anchorSize,i=e.viewPortSize,r=e.anchorAlignPoint,c=e.elementAlignPoint,l=0,a=c===s.center||c===s.middle,f=r===s.center||r===s.middle;return c!==r&&!a&&!f&&t>-1&&(t+n>i&&(l+=-(o+n)),t+l<0&&(l+=o+n)),l},b=function(e){var t=e.anchorRect,n=e.anchorAlign,o=e.elementRect,i=e.elementAlign,r=e.collisions,s=e.viewPort,c=o.top,l=o.left,f=o.height,u=o.width,p=s.height,d=s.width,h=0,m=0,v=r.horizontal===a.flip,b=r.vertical===a.flip;return r.vertical===a.fit&&(m+=g(c,f,p)),r.horizontal===a.fit&&(h+=g(l,u,d)),b&&(m+=y({offset:c,size:f,anchorSize:t.height,viewPortSize:p,anchorAlignPoint:n.vertical,elementAlignPoint:i.vertical})),v&&(h+=y({offset:l,size:u,anchorSize:t.width,viewPortSize:d,anchorAlignPoint:n.horizontal,elementAlignPoint:i.horizontal})),{flipped:v&&0!==h||b&&0!==m,offset:{left:h,top:m}}};t.align=c,t.AlignPoint=s,t.applyLocationOffset=n,t.boundingOffset=l,t.Collision=a,t.getDocumentElement=f,t.isBodyOffset=p,t.offsetParent=u,t.offset=h,t.position=v,t.removeScroll=o,t.restrictToView=b,t.scrollPosition=i,t.getWindow=m,t.getWindowViewPort=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.eitherRect=function(e,t){return e?e:{height:0,left:t.left,top:t.top,width:0}},t.replaceOffset=function(e,t){if(!t)return e;var n={height:e.height,left:t.left,top:t.top,width:e.width};return n},t.removeStackingOffset=function(e,t){if(!t)return e;var n={height:e.height,left:e.left-t.left,top:e.top-t.top,width:e.width};return n},t.isDifferentOffset=function(e,t){var n=e.left,o=e.top,i=t.left,r=t.top;return Math.abs(n-i)>=1||Math.abs(o-r)>=1},t.isDocumentAvailable=function(){return"undefined"!=typeof document&&!!document.body},t.isWindowAvailable=function(){return"undefined"!=typeof window},t.hasBoundingRect=function(e){return!!e.getBoundingClientRect},t.OVERFLOW_REGEXP=/auto|scroll/,t.scrollableParents=function(e){var n=[];if(!t.isDocumentAvailable()||!t.isWindowAvailable())return n;for(var o=e.parentElement;o;)t.OVERFLOW_REGEXP.test(window.getComputedStyle(o).overflow)&&n.push(o),o=o.parentElement;return n.push(window),n},t.FRAME_DURATION=1e3/60,t.hasRelativeStackingContext=function(){if(!t.isDocumentAvailable())return!1;var e=10,n=document.createElement("div");n.style.transform="matrix(10, 0, 0, 10, 0, 0)",n.innerHTML='<div style="position: fixed; top: '+e+'px;">child</div>',document.body.appendChild(n);var o=n.children[0].getBoundingClientRect().top!==e;return document.body.removeChild(n),o},t.HAS_RELATIVE_STACKING_CONTEXT=t.hasRelativeStackingContext()},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),s=n(7),c=n(9),l=function(){function e(e){this._dom=e}return e.prototype.positionElement=function(e){var t=e.anchor,n=e.currentLocation,o=e.element,i=e.anchorAlign,r=e.elementAlign,s=e.collisions,l=this._dom.useRelativePosition(o),a=e.viewPort||this._dom.windowViewPort(o),f=c.eitherRect(this._dom.offset(t),n),u=l?null:n,p=l?n:null,d=c.replaceOffset(this._dom.staticOffset(o),u),h=this._dom.restrictToView({anchorAlign:i,anchorRect:f,collisions:s,elementAlign:r,elementRect:d,viewPort:a});return{flipped:h.flipped,offset:this._dom.addOffset(c.replaceOffset(d,p),h.offset)}},e}();l=o([r.Injectable(),i("design:paramtypes",[s.DOMService])],l),t.PositionService=l},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),s=n(12);n(13),n(14);var c=n(9),l=n(7),a=function(){function e(e,t){this._dom=e,this._zone=t}return e.prototype.subscribe=function(e){var t=this;c.isDocumentAvailable()&&this._zone.runOutsideAngular(function(){t.subscription=s.Observable.fromEvent(t._dom.getWindow(),"resize").auditTime(c.FRAME_DURATION).subscribe(function(){return t._zone.run(function(){return e()})})})},e.prototype.unsubscribe=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.isUnsubscribed=function(){return this.subscription&&this.subscription.closed},e}();a=o([r.Injectable(),i("design:paramtypes",[l.DOMService,r.NgZone])],a),t.ResizeService=a},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){e.exports=o},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),s=n(12);n(13),n(16),n(14);var c=n(7),l=n(9),a=function(){function e(e,t){this._dom=e,this._zone=t}return e.prototype.forElement=function(e){return this.unsubscribe(),this.element=e,this},e.prototype.subscribe=function(e){var t=this;if(e&&l.isDocumentAvailable()&&this.element){var n=this._dom.nativeElement(this.element),o=this._dom.scrollableParents(this.element);this._zone.runOutsideAngular(function(){var i=o.map(function(e){return s.Observable.fromEvent(e,"scroll").auditTime(l.FRAME_DURATION)}),r=function(o){return t._zone.run(function(){return e(t.isVisible(n,o.target))})};t.subscription=s.Observable.merge.apply(s.Observable,i).subscribe(r)})}},e.prototype.unsubscribe=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.isVisible=function(e,t){var n=this._dom.boundingOffset(e),o=this._dom.boundingOffset(t);return!(n.bottom<o.top)&&(!(n.bottom>o.bottom)&&(!(n.right>o.right)&&!(n.left<o.left)))},e}();a=o([r.Injectable(),i("design:paramtypes",[c.DOMService,r.NgZone])],a),t.ScrollableService=a},function(e,t){e.exports=i},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s};Object.defineProperty(t,"__esModule",{value:!0});var i=n(4),r=n(18),s=n(5),c=n(3),l=[s.PopupComponent],a=function(){function e(){}return e}();a=o([i.NgModule({declarations:[l],entryComponents:[l],exports:[l],imports:[r.CommonModule],providers:[c.PopupService]})],a),t.PopupModule=a},function(e,t){e.exports=r}])}); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@angular/core"),require("rxjs/Observable"),require("rxjs/add/observable/fromEvent"),require("rxjs/add/operator/auditTime"),require("rxjs/add/observable/merge"),require("@angular/common")):"function"==typeof define&&define.amd?define(["@angular/core","rxjs/Observable","rxjs/add/observable/fromEvent","rxjs/add/operator/auditTime","rxjs/add/observable/merge","@angular/common"],t):"object"==typeof exports?exports.KendoAngularPopup=t(require("@angular/core"),require("rxjs/Observable"),require("rxjs/add/observable/fromEvent"),require("rxjs/add/operator/auditTime"),require("rxjs/add/observable/merge"),require("@angular/common")):e.KendoAngularPopup=t(e["@angular/core"],e["rxjs/Observable"],e["rxjs/add/observable/fromEvent"],e["rxjs/add/operator/auditTime"],e["rxjs/add/observable/merge"],e["@angular/common"])}(this,function(e,t,n,o,i,r){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={exports:{},id:o,loaded:!1};return e[o].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(1);t.PopupService=o.PopupService,t.POPUP_CONTAINER=o.POPUP_CONTAINER;var i=n(3);t.PopupComponent=i.PopupComponent;var r=n(15);t.PopupModule=r.PopupModule},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},r=this&&this.__param||function(e,t){return function(n,o){t(n,o,e)}};Object.defineProperty(t,"__esModule",{value:!0});var s=n(2),c=n(3);t.POPUP_CONTAINER=new s.InjectionToken("Popup Container");var l=function(){function e(e,t,n,o){this.applicationRef=e,this.componentFactoryResolver=t,this.injector=n,this.container=o}return Object.defineProperty(e.prototype,"rootViewContainer",{get:function(){var e=this.applicationRef.components||[];if(e[0])return e[0];throw new Error("View Container not found!")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rootViewContainerNode",{get:function(){return this.container?this.container.nativeElement:this.getComponentRootNode(this.rootViewContainer)},enumerable:!0,configurable:!0}),e.prototype.open=function(e){void 0===e&&(e={});var t=this.contentFrom(e.content),n=t.component,o=t.nodes,i=this.createComponent(c.PopupComponent,o),r=this.applicationRef;this.projectComponentInputs(i,e),r.attachView(i.hostView),this.rootViewContainerNode.appendChild(this.getComponentRootNode(i)),n&&n.changeDetectorRef.detectChanges();var s=i.instance;return{close:function(){n?n.destroy():(i.instance.content=null,i.changeDetectorRef.detectChanges()),i.destroy()},content:n,popup:i,popupAnchorViewportLeave:s.anchorViewportLeave,popupClose:s.close,popupElement:this.getComponentRootNode(i),popupOpen:s.open}},e.prototype.getComponentRootNode=function(e){return e.hostView.rootNodes[0]},e.prototype.createComponent=function(e,t){var n=this.componentFactoryResolver.resolveComponentFactory(e);return n.create(this.injector,t)},e.prototype.projectComponentInputs=function(e,t){return Object.getOwnPropertyNames(t).filter(function(e){return"content"!==e||t.content instanceof s.TemplateRef}).map(function(n){e.instance[n]=t[n]}),e},e.prototype.contentFrom=function(e){if(!e||e instanceof s.TemplateRef)return{component:null,nodes:[[]]};var t=this.createComponent(e),n=t?[t.location.nativeElement]:[];return{component:t,nodes:[n]}},e}();l=o([s.Injectable(),r(3,s.Inject(t.POPUP_CONTAINER)),r(3,s.Optional()),i("design:paramtypes",[s.ApplicationRef,s.ComponentFactoryResolver,s.Injector,s.ElementRef])],l),t.PopupService=l},function(t,n){t.exports=e},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),s=n(4),c=n(5),l=n(8),a=n(9),f=n(13),p=n(7),u={left:0,top:0},d=function(){function e(e,t,n,o,i,s,c){this._alignService=e,this.container=t,this._cdr=n,this._positionService=o,this._resizeService=i,this._scrollableService=s,this._renderer=c,this.animate=!0,this.anchorAlign={horizontal:"left",vertical:"bottom"},this.collision={horizontal:"fit",vertical:"flip"},this.popupAlign={horizontal:"left",vertical:"top"},this.offset=u,this.anchorViewportLeave=new r.EventEmitter,this.close=new r.EventEmitter,this.open=new r.EventEmitter,this.direction="down",this.currentOffset=u,this.resolvedPromised=Promise.resolve(null),this._renderer.setElementClass(t.nativeElement,"k-animation-container",!0),this._renderer.setElementClass(t.nativeElement,"k-animation-container-fixed",!0)}return Object.defineProperty(e.prototype,"offsetLeft",{get:function(){return this.currentOffset.left},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"offsetTop",{get:function(){return this.currentOffset.top},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){var e=this.reposition.bind(this);this._resizeService.subscribe(e),this._scrollableService.forElement(this.anchor||this.container).subscribe(this.onScroll.bind(this))},e.prototype.ngAfterViewChecked=function(){var e=this;if(p.isDocumentAvailable()){var t=this.position(),n=t.flipped,o=t.offset,i=this.getDirection(n);(this.direction!==i||p.isDifferentOffset(this.currentOffset,o))&&this.resolvedPromised.then(function(){e.currentOffset=o,e.direction=i,e._cdr.markForCheck()})}},e.prototype.ngOnDestroy=function(){this.anchorViewportLeave.complete(),this.close.emit(),this.close.complete(),this._resizeService.unsubscribe(),this._scrollableService.unsubscribe()},e.prototype.triggerOpen=function(){this._renderer.setElementClass(this.container.nativeElement,"k-animation-container-shown",!0),this.open.emit(),this.open.complete()},e.prototype.reposition=function(){if(p.isDocumentAvailable()){var e=this.position(),t=e.flipped,n=e.offset;this.direction=this.getDirection(t),this.currentOffset=n}},e.prototype.position=function(){var e=this._alignService.alignElement({anchor:this.anchor,anchorAlign:this.anchorAlign,element:this.container,elementAlign:this.popupAlign,offset:this.offset});return this._positionService.positionElement({anchor:this.anchor,anchorAlign:this.anchorAlign,collisions:this.collision,currentLocation:e,element:this.container,elementAlign:this.popupAlign})},e.prototype.getDirection=function(e){return this.animate?e?"up":"down":"none"},e.prototype.onScroll=function(e){e?this.reposition():this.anchorViewportLeave.emit()},e}();o([r.Input(),i("design:type",Boolean)],d.prototype,"animate",void 0),o([r.Input(),i("design:type",r.ElementRef)],d.prototype,"anchor",void 0),o([r.Input(),i("design:type",Object)],d.prototype,"anchorAlign",void 0),o([r.Input(),i("design:type",Object)],d.prototype,"collision",void 0),o([r.Input(),i("design:type",Object)],d.prototype,"popupAlign",void 0),o([r.Input(),i("design:type",Object)],d.prototype,"popupClass",void 0),o([r.Input(),i("design:type",Object)],d.prototype,"offset",void 0),o([r.Output(),i("design:type",r.EventEmitter)],d.prototype,"anchorViewportLeave",void 0),o([r.Output(),i("design:type",r.EventEmitter)],d.prototype,"close",void 0),o([r.Output(),i("design:type",r.EventEmitter)],d.prototype,"open",void 0),o([r.HostBinding("style.left.px"),i("design:type",Number),i("design:paramtypes",[])],d.prototype,"offsetLeft",null),o([r.HostBinding("style.top.px"),i("design:type",Number),i("design:paramtypes",[])],d.prototype,"offsetTop",null),d=o([r.Component({animations:[r.trigger("toggle",[r.transition("void => down, up => down",[r.style({transform:"translateY(-100%)"}),r.animate("0.1s ease-in",r.style({transform:"translateY(0)"}))]),r.transition("down => void",[r.style({transform:"translateY(0)"}),r.animate("0.1s ease-in",r.style({transform:"translateY(-100%)"}))]),r.transition("void => up, down => up",[r.style({transform:"translateY(100%)"}),r.animate("0.1s ease-in",r.style({transform:"translateY(0)"}))]),r.transition("up => void",[r.style({transform:"translateY(0)"}),r.animate("0.1s ease-in",r.style({transform:"translateY(100%)"}))])])],exportAs:"kendo-popup",providers:[s.AlignService,c.DOMService,l.PositionService,a.ResizeService,f.ScrollableService],selector:"kendo-popup",template:'\n <div class="k-popup" [ngClass]="popupClass" [@toggle]="direction" (@toggle.done)="triggerOpen()">\n <ng-content></ng-content>\n <ng-template [ngTemplateOutlet]="content" [ngIf]="content"></ng-template>\n </div>\n '}),i("design:paramtypes",[s.AlignService,r.ElementRef,r.ChangeDetectorRef,l.PositionService,a.ResizeService,f.ScrollableService,r.Renderer])],d),t.PopupComponent=d},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),s=n(5),c=n(7),l=function(){function e(e){this._dom=e}return e.prototype.alignElement=function(e){var t=e.anchor,n=e.element,o=e.anchorAlign,i=e.elementAlign,r=e.offset,s=this._dom,l=s.offset(n),a=c.removeStackingOffset(c.eitherRect(s.offset(t),r),s.stackingElementOffset(n));return t||(a=s.removeScroll(a,s.scrollPosition(n))),this._dom.align({anchorAlign:o,anchorRect:a,elementAlign:i,elementRect:l})},e}();l=o([r.Injectable(),i("design:paramtypes",[s.DOMService])],l),t.AlignService=l},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s};Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),r=n(6),s=n(7),c=function(){function e(){}return e.prototype.addOffset=function(e,t){return{left:e.left+t.left,top:e.top+t.top}},e.prototype.align=function(e){return r.align(e)},e.prototype.boundingOffset=function(e){return r.boundingOffset(this.nativeElement(e))},e.prototype.getWindow=function(){return s.isWindowAvailable()?window:null},e.prototype.isBodyOffset=function(e){return r.isBodyOffset(this.nativeElement(e))},e.prototype.offset=function(e){return e?r.offset(this.nativeElement(e)):null},e.prototype.staticOffset=function(e){if(!e)return null;var t=this.nativeElement(e),n=t.style,o=n.left,i=n.top;t.style.left="0px",t.style.top="0px";var s=r.offset(t);return t.style.left=o,t.style.top=i,s},e.prototype.nativeElement=function(e){return e?e.nativeElement||e:null},e.prototype.position=function(e){return e?r.position(this.nativeElement(e)):null},e.prototype.relativeOffset=function(e,t){return r.applyLocationOffset(this.offset(e),t,this.isBodyOffset(e))},e.prototype.removeScroll=function(e,t){return r.removeScroll(e,t)},e.prototype.restrictToView=function(e){return r.restrictToView(e)},e.prototype.scrollPosition=function(e){return r.scrollPosition(this.nativeElement(e))},e.prototype.scrollableParents=function(e){return s.scrollableParents(this.nativeElement(e))},e.prototype.stackingElementOffset=function(e){var t=this.getRelativeContextElement(e);return t?r.offset(t):null},e.prototype.getRelativeContextElement=function(e){if(!e||!s.HAS_RELATIVE_STACKING_CONTEXT)return null;for(var t=this.nativeElement(e).parentElement;t;){if("none"!==window.getComputedStyle(t).transform)return t;t=t.parentElement}return null},e.prototype.useRelativePosition=function(e){return!!this.getRelativeContextElement(e)},e.prototype.windowViewPort=function(e){return r.getWindowViewPort(this.nativeElement(e))},e}();c=o([i.Injectable()],c),t.DOMService=c},function(e,t){"use strict";function n(e,t,n){var o=e.top,i=e.left;return n&&(i=0,o=0),{top:o+t.top,left:i+t.left,height:e.height,width:e.width}}function o(e,t){return{top:e.top-t.y,left:e.left-t.x,height:e.height,width:e.width}}function i(e){var t=f(e),n=m(e);return{x:n.pageXOffset||t.scrollLeft||0,y:n.pageYOffset||t.scrollTop||0}}function r(e){var t=m(e);return{height:t.innerHeight,width:t.innerWidth}}Object.defineProperty(t,"__esModule",{value:!0});var s={bottom:"bottom",center:"center",middle:"middle",left:"left",right:"right",top:"top"},c=function(e){var t=e.anchorRect,n=e.anchorAlign,o=e.elementRect,i=e.elementAlign,r=n.horizontal,c=n.vertical,l=i.horizontal,a=i.vertical,f=t.top,p=t.left;return c===s.bottom&&(f+=t.height),c!==s.center&&c!==s.middle||(f+=Math.round(t.height/2)),a===s.bottom&&(f-=o.height),a!==s.center&&a!==s.middle||(f-=Math.round(o.height/2)),r===s.right&&(p+=t.width),r!==s.center&&r!==s.middle||(p+=Math.round(t.width/2)),l===s.right&&(p-=o.width),l!==s.center&&l!==s.middle||(p-=Math.round(o.width/2)),{top:f,left:p}},l=function(e){if(!e.getBoundingClientRect)return{bottom:e.innerHeight,left:0,right:e.innerWidth,top:0};var t=e.getBoundingClientRect(),n=t.bottom,o=t.left,i=t.right,r=t.top;return{bottom:n,left:o,right:i,top:r}},a={fit:"fit",flip:"flip"},f=function(e){return e.ownerDocument.documentElement},p=function(e){for(var t=e.offsetParent;t&&"static"===t.style.position;)t=t.offsetParent;return t||f(e)},u=function(e){return p(e)===e.ownerDocument.body},d=function(e){var t=e.style,n=t.display,o=t.left,i=t.position;e.style.display="",e.style.left="-10000px",e.style.position="absolute";var r=e.getBoundingClientRect();return e.style.display=n,e.style.left=o,e.style.position=i,r},h=function(e){var t=e.getBoundingClientRect(),n=t.left,o=t.top;return t.height||t.width||(t=d(e)),{top:o,left:n,height:t.height,width:t.width}},m=function(e){return e.ownerDocument.defaultView},v=function(e){var t=m(e),n=t.getComputedStyle(e),o=h(e),i=p(e),r=t.getComputedStyle(i),s={top:0,left:0};return"fixed"!==n.position&&i!==e.ownerDocument.body&&(s=h(i),s.top+=parseInt(r.borderTopWidth,10),s.left+=parseInt(r.borderLeftWidth,10)),{top:o.top-s.top-parseInt(n.marginTop,10),left:o.left-s.left-parseInt(n.marginLeft,10),height:o.height,width:o.width}},g=function(e,t,n){var o=0;return e+t>n&&(o=n-(e+t)),e<0&&(o=-e),o},y=function(e){var t=e.offset,n=e.size,o=e.anchorSize,i=e.viewPortSize,r=e.anchorAlignPoint,c=e.elementAlignPoint,l=0,a=c===s.center||c===s.middle,f=r===s.center||r===s.middle;return c!==r&&!a&&!f&&t>-1&&(t+n>i&&(l+=-(o+n)),t+l<0&&(l+=o+n)),l},b=function(e){var t=e.anchorRect,n=e.anchorAlign,o=e.elementRect,i=e.elementAlign,r=e.collisions,s=e.viewPort,c=o.top,l=o.left,f=o.height,p=o.width,u=s.height,d=s.width,h=0,m=0,v=r.horizontal===a.flip,b=r.vertical===a.flip;return r.vertical===a.fit&&(m+=g(c,f,u)),r.horizontal===a.fit&&(h+=g(l,p,d)),b&&(m+=y({offset:c,size:f,anchorSize:t.height,viewPortSize:u,anchorAlignPoint:n.vertical,elementAlignPoint:i.vertical})),v&&(h+=y({offset:l,size:p,anchorSize:t.width,viewPortSize:d,anchorAlignPoint:n.horizontal,elementAlignPoint:i.horizontal})),{flipped:v&&0!==h||b&&0!==m,offset:{left:h,top:m}}};t.align=c,t.AlignPoint=s,t.applyLocationOffset=n,t.boundingOffset=l,t.Collision=a,t.getDocumentElement=f,t.isBodyOffset=u,t.offsetParent=p,t.offset=h,t.position=v,t.removeScroll=o,t.restrictToView=b,t.scrollPosition=i,t.getWindow=m,t.getWindowViewPort=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.eitherRect=function(e,t){return e?e:{height:0,left:t.left,top:t.top,width:0}},t.replaceOffset=function(e,t){if(!t)return e;var n={height:e.height,left:t.left,top:t.top,width:e.width};return n},t.removeStackingOffset=function(e,t){if(!t)return e;var n={height:e.height,left:e.left-t.left,top:e.top-t.top,width:e.width};return n},t.isDifferentOffset=function(e,t){var n=e.left,o=e.top,i=t.left,r=t.top;return Math.abs(n-i)>=1||Math.abs(o-r)>=1},t.isDocumentAvailable=function(){return"undefined"!=typeof document&&!!document.body},t.isWindowAvailable=function(){return"undefined"!=typeof window},t.hasBoundingRect=function(e){return!!e.getBoundingClientRect},t.OVERFLOW_REGEXP=/auto|scroll/,t.scrollableParents=function(e){var n=[];if(!t.isDocumentAvailable()||!t.isWindowAvailable())return n;for(var o=e.parentElement;o;)t.OVERFLOW_REGEXP.test(window.getComputedStyle(o).overflow)&&n.push(o),o=o.parentElement;return n.push(window),n},t.FRAME_DURATION=1e3/60,t.hasRelativeStackingContext=function(){if(!t.isDocumentAvailable())return!1;var e=10,n=document.createElement("div");n.style.transform="matrix(10, 0, 0, 10, 0, 0)",n.innerHTML='<div style="position: fixed; top: '+e+'px;">child</div>',document.body.appendChild(n);var o=n.children[0].getBoundingClientRect().top!==e;return document.body.removeChild(n),o},t.HAS_RELATIVE_STACKING_CONTEXT=t.hasRelativeStackingContext()},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),s=n(5),c=n(7),l=function(){function e(e){this._dom=e}return e.prototype.positionElement=function(e){var t=e.anchor,n=e.currentLocation,o=e.element,i=e.anchorAlign,r=e.elementAlign,s=e.collisions,l=this._dom.useRelativePosition(o),a=e.viewPort||this._dom.windowViewPort(o),f=c.eitherRect(this._dom.offset(t),n),p=l?null:n,u=l?n:null,d=c.replaceOffset(this._dom.staticOffset(o),p),h=this._dom.restrictToView({anchorAlign:i,anchorRect:f,collisions:s,elementAlign:r,elementRect:d,viewPort:a});return{flipped:h.flipped,offset:this._dom.addOffset(c.replaceOffset(d,u),h.offset)}},e}();l=o([r.Injectable(),i("design:paramtypes",[s.DOMService])],l),t.PositionService=l},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),s=n(10);n(11),n(12);var c=n(7),l=n(5),a=function(){function e(e,t){this._dom=e,this._zone=t}return e.prototype.subscribe=function(e){var t=this;c.isDocumentAvailable()&&this._zone.runOutsideAngular(function(){t.subscription=s.Observable.fromEvent(t._dom.getWindow(),"resize").auditTime(c.FRAME_DURATION).subscribe(function(){return t._zone.run(function(){return e()})})})},e.prototype.unsubscribe=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.isUnsubscribed=function(){return this.subscription&&this.subscription.closed},e}();a=o([r.Injectable(),i("design:paramtypes",[l.DOMService,r.NgZone])],a),t.ResizeService=a},function(e,n){e.exports=t},function(e,t){e.exports=n},function(e,t){e.exports=o},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)};Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),s=n(10);n(11),n(14),n(12);var c=n(5),l=n(7),a=function(){function e(e,t){this._dom=e,this._zone=t}return e.prototype.forElement=function(e){return this.unsubscribe(),this.element=e,this},e.prototype.subscribe=function(e){var t=this;if(e&&l.isDocumentAvailable()&&this.element){var n=this._dom.nativeElement(this.element),o=this._dom.scrollableParents(this.element);this._zone.runOutsideAngular(function(){var i=o.map(function(e){return s.Observable.fromEvent(e,"scroll").auditTime(l.FRAME_DURATION)}),r=function(o){return t._zone.run(function(){return e(t.isVisible(n,o.target))})};t.subscription=s.Observable.merge.apply(s.Observable,i).subscribe(r)})}},e.prototype.unsubscribe=function(){this.subscription&&this.subscription.unsubscribe()},e.prototype.isVisible=function(e,t){var n=this._dom.boundingOffset(e),o=this._dom.boundingOffset(t);return!(n.bottom<o.top)&&(!(n.bottom>o.bottom)&&(!(n.right>o.right)&&!(n.left<o.left)))},e}();a=o([r.Injectable(),i("design:paramtypes",[c.DOMService,r.NgZone])],a),t.ScrollableService=a},function(e,t){e.exports=i},function(e,t,n){"use strict";var o=this&&this.__decorate||function(e,t,n,o){var i,r=arguments.length,s=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,o);else for(var c=e.length-1;c>=0;c--)(i=e[c])&&(s=(r<3?i(s):r>3?i(t,n,s):i(t,n))||s);return r>3&&s&&Object.defineProperty(t,n,s),s};Object.defineProperty(t,"__esModule",{value:!0});var i=n(2),r=n(16),s=n(3),c=n(1),l=[s.PopupComponent],a=function(){function e(){}return e}();a=o([i.NgModule({declarations:[l],entryComponents:[l],exports:[l],imports:[r.CommonModule],providers:[c.PopupService]})],a),t.PopupModule=a},function(e,t){e.exports=r}])}); |
@@ -6,4 +6,4 @@ export { Align } from './models/align.interface'; | ||
export { PopupRef } from './models/popup-ref'; | ||
export { PopupService } from './popup.service'; | ||
export { PopupService, POPUP_CONTAINER } from './popup.service'; | ||
export { PopupComponent } from './popup.component'; | ||
export { PopupModule } from './popup.module'; |
@@ -1,5 +0,3 @@ | ||
export { PopupSettings } from './models/popup-settings'; | ||
export { PopupRef } from './models/popup-ref'; | ||
export { PopupService } from './popup.service'; | ||
export { PopupService, POPUP_CONTAINER } from './popup.service'; | ||
export { PopupComponent } from './popup.component'; | ||
export { PopupModule } from './popup.module'; |
@@ -1,1 +0,1 @@ | ||
[{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./models/align.interface","export":["Align"]},{"from":"./models/collision.interface","export":["Collision"]},{"from":"./models/offset.interface","export":["Offset"]},{"from":"./models/popup-settings","export":["PopupSettings"]},{"from":"./models/popup-ref","export":["PopupRef"]},{"from":"./popup.service","export":["PopupService"]},{"from":"./popup.component","export":["PopupComponent"]},{"from":"./popup.module","export":["PopupModule"]}]},{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./models/align.interface","export":["Align"]},{"from":"./models/collision.interface","export":["Collision"]},{"from":"./models/offset.interface","export":["Offset"]},{"from":"./models/popup-settings","export":["PopupSettings"]},{"from":"./models/popup-ref","export":["PopupRef"]},{"from":"./popup.service","export":["PopupService"]},{"from":"./popup.component","export":["PopupComponent"]},{"from":"./popup.module","export":["PopupModule"]}]}] | ||
[{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./models/align.interface","export":["Align"]},{"from":"./models/collision.interface","export":["Collision"]},{"from":"./models/offset.interface","export":["Offset"]},{"from":"./models/popup-settings","export":["PopupSettings"]},{"from":"./models/popup-ref","export":["PopupRef"]},{"from":"./popup.service","export":["PopupService","POPUP_CONTAINER"]},{"from":"./popup.component","export":["PopupComponent"]},{"from":"./popup.module","export":["PopupModule"]}]},{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./models/align.interface","export":["Align"]},{"from":"./models/collision.interface","export":["Collision"]},{"from":"./models/offset.interface","export":["Offset"]},{"from":"./models/popup-settings","export":["PopupSettings"]},{"from":"./models/popup-ref","export":["PopupRef"]},{"from":"./popup.service","export":["PopupService","POPUP_CONTAINER"]},{"from":"./popup.component","export":["PopupComponent"]},{"from":"./popup.module","export":["PopupModule"]}]}] |
@@ -1,2 +0,2 @@ | ||
import { ComponentRef } from '@angular/core'; | ||
import { ComponentRef, EventEmitter } from '@angular/core'; | ||
import { PopupComponent } from '../popup.component'; | ||
@@ -10,3 +10,3 @@ /** | ||
*/ | ||
export declare class PopupRef { | ||
export interface PopupRef { | ||
/** | ||
@@ -17,2 +17,6 @@ * A reference to the Popup instance. | ||
/** | ||
* A reference to the Popup HTML element. | ||
*/ | ||
popupElement: HTMLElement; | ||
/** | ||
* A reference to the child of the Popup component. | ||
@@ -23,5 +27,20 @@ * Available when the Popup is opened with [component content]({% slug service_dialog_kendouiforangular %}#toc-use-components). | ||
/** | ||
* Allows you to close the Popup through code. | ||
* Closes and destroys the Popup component. | ||
*/ | ||
close: Function; | ||
/** | ||
* Fires when the anchor is scrolled outside the screen boundaries. | ||
* | ||
* For more information, refer to the section on | ||
* [scrolling outside the viewport]({% slug overview_popup_kendouiforangular %}#toc-set-behavior-when-outside-the-viewport). | ||
*/ | ||
popupAnchorViewportLeave: EventEmitter<any>; | ||
/** | ||
* Fires after the component is closed. | ||
*/ | ||
popupClose: EventEmitter<any>; | ||
/** | ||
* Fires after the component is opened and the open animation has ended. | ||
*/ | ||
popupOpen: EventEmitter<any>; | ||
} |
@@ -1,14 +0,1 @@ | ||
/** | ||
* Holds references to the Popup object instance. | ||
* Controls the Popups that have been opened through the `PopupService`. | ||
* | ||
* For an example on sample usage, refer to the | ||
* [`PopupService.open`]({% slug api_popup_popupservice_kendouiforangular %}#toc-open) method. | ||
*/ | ||
var PopupRef = (function () { | ||
function PopupRef() { | ||
} | ||
return PopupRef; | ||
}()); | ||
export { PopupRef }; | ||
; |
@@ -1,1 +0,1 @@ | ||
[{"__symbolic":"module","version":3,"metadata":{"PopupRef":{"__symbolic":"class"}}},{"__symbolic":"module","version":1,"metadata":{"PopupRef":{"__symbolic":"class"}}}] | ||
[{"__symbolic":"module","version":3,"metadata":{"PopupRef":{"__symbolic":"interface"}}},{"__symbolic":"module","version":1,"metadata":{"PopupRef":{"__symbolic":"interface"}}}] |
@@ -11,4 +11,11 @@ import { ElementRef, TemplateRef } from '@angular/core'; | ||
*/ | ||
export declare class PopupSettings { | ||
export interface PopupSettings { | ||
/** | ||
* Controls the Popup animation. By default, the open and close animations are enabled. | ||
* | ||
* For more information, refer to the section on | ||
* [animation control]({% slug overview_popup_kendouiforangular %}#toc-enable-and-disable-animations). | ||
*/ | ||
animate?: boolean; | ||
/** | ||
* Specifies the element that will be used as an anchor. The Popup opens next to that element. | ||
@@ -15,0 +22,0 @@ */ |
@@ -1,13 +0,1 @@ | ||
/** | ||
* The settings that can be used when the Popup is opened through `PopupService`. | ||
* | ||
* For an example on sample usage, refer to the | ||
* [`PopupService.open`]({% slug api_popup_popupservice_kendouiforangular %}#toc-open) method. | ||
*/ | ||
var PopupSettings = (function () { | ||
function PopupSettings() { | ||
} | ||
return PopupSettings; | ||
}()); | ||
export { PopupSettings }; | ||
; |
@@ -1,1 +0,1 @@ | ||
[{"__symbolic":"module","version":3,"metadata":{"PopupSettings":{"__symbolic":"class"}}},{"__symbolic":"module","version":1,"metadata":{"PopupSettings":{"__symbolic":"class"}}}] | ||
[{"__symbolic":"module","version":3,"metadata":{"PopupSettings":{"__symbolic":"interface"}}},{"__symbolic":"module","version":1,"metadata":{"PopupSettings":{"__symbolic":"interface"}}}] |
@@ -30,3 +30,3 @@ import { AfterViewChecked, ChangeDetectorRef, ElementRef, EventEmitter, OnInit, OnDestroy, Renderer, TemplateRef } from '@angular/core'; | ||
private _alignService; | ||
private container; | ||
container: ElementRef; | ||
private _cdr; | ||
@@ -33,0 +33,0 @@ private _positionService; |
@@ -141,3 +141,5 @@ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer, trigger, style, transition, animate } from '@angular/core'; | ||
PopupComponent.prototype.ngOnDestroy = function () { | ||
this.anchorViewportLeave.complete(); | ||
this.close.emit(); | ||
this.close.complete(); | ||
this._resizeService.unsubscribe(); | ||
@@ -152,2 +154,3 @@ this._scrollableService.unsubscribe(); | ||
this.open.emit(); | ||
this.open.complete(); | ||
}; | ||
@@ -154,0 +157,0 @@ PopupComponent.prototype.reposition = function () { |
@@ -1,10 +0,46 @@ | ||
import { ApplicationRef, ComponentFactoryResolver, Injector } from '@angular/core'; | ||
import { ApplicationRef, ComponentFactoryResolver, ElementRef, InjectionToken, Injector } from '@angular/core'; | ||
import { PopupSettings } from './models/popup-settings'; | ||
import { PopupRef } from './models/popup-ref'; | ||
/** | ||
* A service for opening Popup components dynamically. | ||
* An InjectionToken used to inject the popup container. If not provided the first root component of | ||
* the application will be used. | ||
* | ||
* For detailed information on how to use this class, refer to the | ||
* article about the [Angular service]({% slug service_popup_kendouiforangular %}). | ||
* @example | ||
* | ||
* ```ts-no-run | ||
* // Import the Popup module | ||
* import { PopupModule, POPUP_CONTAINER } from '@progress/kendo-angular-popup'; | ||
* | ||
* // The browser platform with a compiler | ||
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; | ||
* | ||
* import { NgModule } from '@angular/core'; | ||
* | ||
* // Import the app component | ||
* import { AppComponent } from './app.component'; | ||
* | ||
* // Define the app module | ||
* @@NgModule({ | ||
* declarations: [AppComponent], // declare app component | ||
* imports: [BrowserModule, PopupModule], // import Popup module | ||
* bootstrap: [AppComponent], | ||
* providers: [{ | ||
* provide: POPUP_CONTAINER, | ||
* useFactory: () => { | ||
* //return the container ElementRef, where the popup will be injected | ||
* } | ||
* }] | ||
* }) | ||
* export class AppModule {} | ||
* | ||
* // Compile and launch the module | ||
* platformBrowserDynamic().bootstrapModule(AppModule); | ||
* ``` | ||
*/ | ||
export declare const POPUP_CONTAINER: InjectionToken<ElementRef>; | ||
/** | ||
* Service for opening Popup components dynamically. | ||
* | ||
* See the [service help topic]({% slug service_popup_kendouiforangular %}) for detailed information how to use this class. | ||
* | ||
* @export | ||
@@ -17,5 +53,5 @@ * @class PopupService | ||
private injector; | ||
private _container; | ||
private container; | ||
/** | ||
* Gets the root view container into which the component will be injected. | ||
* Gets the root view container to inject the component to. | ||
* | ||
@@ -26,12 +62,12 @@ * @returns {ComponentRef<any>} | ||
/** | ||
* Sets or gets the root HTML element of the component container. | ||
* Sets or gets the root component container html element. | ||
* | ||
* @returns {HTMLElement} | ||
*/ | ||
rootViewContainerNode: HTMLElement; | ||
constructor(applicationRef: ApplicationRef, componentFactoryResolver: ComponentFactoryResolver, injector: Injector); | ||
readonly rootViewContainerNode: HTMLElement; | ||
constructor(applicationRef: ApplicationRef, componentFactoryResolver: ComponentFactoryResolver, injector: Injector, container: ElementRef); | ||
/** | ||
* Opens a Popup component. | ||
* | ||
* The created Popup will be mounted in the DOM directly in the root application component. | ||
* Created Popup will be mounted in the DOM directly in the root application component. | ||
* | ||
@@ -75,3 +111,3 @@ * @param {PopupSettings} options - The options that define the Popup. | ||
/** | ||
* Gets the HTML element for a component reference. | ||
* Gets the html element for a component ref. | ||
* | ||
@@ -83,3 +119,3 @@ * @param {ComponentRef<any>} componentRef | ||
/** | ||
* Creates a component reference from the `Component` type class. | ||
* Creates a component ref from Component type class | ||
* | ||
@@ -92,3 +128,3 @@ * @param {*} componentClass | ||
/** | ||
* Projects the inputs onto the component. | ||
* Projects the inputs onto the component | ||
* | ||
@@ -101,3 +137,3 @@ * @param {ComponentRef<any>} component | ||
/** | ||
* Gets the component and the nodes to append from the `content` option. | ||
* Gets component and nodes to append from the content option | ||
* | ||
@@ -104,0 +140,0 @@ * @param {*} content |
@@ -1,9 +0,45 @@ | ||
import { ApplicationRef, ComponentFactoryResolver, Injectable, Injector, TemplateRef } from '@angular/core'; | ||
import { ApplicationRef, ComponentFactoryResolver, ElementRef, InjectionToken, Injectable, Injector, Inject, Optional, TemplateRef } from '@angular/core'; | ||
import { PopupComponent } from './popup.component'; | ||
/** | ||
* A service for opening Popup components dynamically. | ||
* An InjectionToken used to inject the popup container. If not provided the first root component of | ||
* the application will be used. | ||
* | ||
* For detailed information on how to use this class, refer to the | ||
* article about the [Angular service]({% slug service_popup_kendouiforangular %}). | ||
* @example | ||
* | ||
* ```ts-no-run | ||
* // Import the Popup module | ||
* import { PopupModule, POPUP_CONTAINER } from '@progress/kendo-angular-popup'; | ||
* | ||
* // The browser platform with a compiler | ||
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; | ||
* | ||
* import { NgModule } from '@angular/core'; | ||
* | ||
* // Import the app component | ||
* import { AppComponent } from './app.component'; | ||
* | ||
* // Define the app module | ||
* @@NgModule({ | ||
* declarations: [AppComponent], // declare app component | ||
* imports: [BrowserModule, PopupModule], // import Popup module | ||
* bootstrap: [AppComponent], | ||
* providers: [{ | ||
* provide: POPUP_CONTAINER, | ||
* useFactory: () => { | ||
* //return the container ElementRef, where the popup will be injected | ||
* } | ||
* }] | ||
* }) | ||
* export class AppModule {} | ||
* | ||
* // Compile and launch the module | ||
* platformBrowserDynamic().bootstrapModule(AppModule); | ||
* ``` | ||
*/ | ||
export var POPUP_CONTAINER = new InjectionToken('Popup Container'); | ||
/** | ||
* Service for opening Popup components dynamically. | ||
* | ||
* See the [service help topic]({% slug service_popup_kendouiforangular %}) for detailed information how to use this class. | ||
* | ||
* @export | ||
@@ -13,10 +49,11 @@ * @class PopupService | ||
var PopupService = (function () { | ||
function PopupService(applicationRef, componentFactoryResolver, injector) { | ||
function PopupService(applicationRef, componentFactoryResolver, injector, container) { | ||
this.applicationRef = applicationRef; | ||
this.componentFactoryResolver = componentFactoryResolver; | ||
this.injector = injector; | ||
this.container = container; | ||
} | ||
Object.defineProperty(PopupService.prototype, "rootViewContainer", { | ||
/** | ||
* Gets the root view container into which the component will be injected. | ||
* Gets the root view container to inject the component to. | ||
* | ||
@@ -27,4 +64,4 @@ * @returns {ComponentRef<any>} | ||
//https://github.com/angular/angular/blob/4.0.x/packages/core/src/application_ref.ts#L571 | ||
var rootComponents = this.applicationRef.components; | ||
if (rootComponents) { | ||
var rootComponents = this.applicationRef.components || []; | ||
if (rootComponents[0]) { | ||
return rootComponents[0]; | ||
@@ -39,3 +76,3 @@ } | ||
/** | ||
* Sets or gets the root HTML element of the component container. | ||
* Sets or gets the root component container html element. | ||
* | ||
@@ -45,7 +82,4 @@ * @returns {HTMLElement} | ||
get: function () { | ||
return this._container ? this._container : this.getComponentRootNode(this.rootViewContainer); | ||
return this.container ? this.container.nativeElement : this.getComponentRootNode(this.rootViewContainer); | ||
}, | ||
set: function (container) { | ||
this._container = container; | ||
}, | ||
enumerable: true, | ||
@@ -57,3 +91,3 @@ configurable: true | ||
* | ||
* The created Popup will be mounted in the DOM directly in the root application component. | ||
* Created Popup will be mounted in the DOM directly in the root application component. | ||
* | ||
@@ -103,17 +137,31 @@ * @param {PopupSettings} options - The options that define the Popup. | ||
appRef.attachView(popupComponentRef.hostView); | ||
popupComponentRef.onDestroy(function () { | ||
if (component) { | ||
component.destroy(); | ||
} | ||
appRef.detachView(popupComponentRef.hostView); | ||
}); | ||
this.rootViewContainerNode.appendChild(this.getComponentRootNode(popupComponentRef)); | ||
if (component) { | ||
component.changeDetectorRef.detectChanges(); | ||
} | ||
var popupInstance = popupComponentRef.instance; | ||
return { | ||
close: function () { return popupComponentRef.destroy(); }, | ||
close: function () { | ||
// XXX: Destroy is required due to this bug | ||
// https://github.com/angular/angular/issues/15578 | ||
// | ||
if (component) { | ||
component.destroy(); | ||
} | ||
else { | ||
popupComponentRef.instance.content = null; | ||
popupComponentRef.changeDetectorRef.detectChanges(); | ||
} | ||
popupComponentRef.destroy(); | ||
}, | ||
content: component, | ||
popup: popupComponentRef | ||
popup: popupComponentRef, | ||
popupAnchorViewportLeave: popupInstance.anchorViewportLeave, | ||
popupClose: popupInstance.close, | ||
popupElement: this.getComponentRootNode(popupComponentRef), | ||
popupOpen: popupInstance.open | ||
}; | ||
}; | ||
/** | ||
* Gets the HTML element for a component reference. | ||
* Gets the html element for a component ref. | ||
* | ||
@@ -127,3 +175,3 @@ * @param {ComponentRef<any>} componentRef | ||
/** | ||
* Creates a component reference from the `Component` type class. | ||
* Creates a component ref from Component type class | ||
* | ||
@@ -136,8 +184,6 @@ * @param {*} componentClass | ||
var componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass); | ||
var componentRef = componentFactory.create(this.injector, nodes); | ||
componentRef.changeDetectorRef.detectChanges(); | ||
return componentRef; | ||
return componentFactory.create(this.injector, nodes); | ||
}; | ||
/** | ||
* Projects the inputs onto the component. | ||
* Projects the inputs onto the component | ||
* | ||
@@ -157,3 +203,3 @@ * @param {ComponentRef<any>} component | ||
/** | ||
* Gets the component and the nodes to append from the `content` option. | ||
* Gets component and nodes to append from the content option | ||
* | ||
@@ -187,2 +233,3 @@ * @param {*} content | ||
{ type: Injector, }, | ||
{ type: ElementRef, decorators: [{ type: Inject, args: [POPUP_CONTAINER,] }, { type: Optional },] }, | ||
]; }; |
@@ -1,1 +0,1 @@ | ||
[{"__symbolic":"module","version":3,"metadata":{"PopupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"open":[{"__symbolic":"method"}],"getComponentRootNode":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"projectComponentInputs":[{"__symbolic":"method"}],"contentFrom":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"PopupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"open":[{"__symbolic":"method"}],"getComponentRootNode":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"projectComponentInputs":[{"__symbolic":"method"}],"contentFrom":[{"__symbolic":"method"}]}}}}] | ||
[{"__symbolic":"module","version":3,"metadata":{"POPUP_CONTAINER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["Popup Container"]},"PopupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"POPUP_CONTAINER"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"open":[{"__symbolic":"method"}],"getComponentRootNode":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"projectComponentInputs":[{"__symbolic":"method"}],"contentFrom":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"POPUP_CONTAINER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["Popup Container"]},"PopupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"POPUP_CONTAINER"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"open":[{"__symbolic":"method"}],"getComponentRootNode":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"projectComponentInputs":[{"__symbolic":"method"}],"contentFrom":[{"__symbolic":"method"}]}}}}] |
@@ -15,5 +15,3 @@ import { Injectable } from '@angular/core'; | ||
var elementRect = dom.offset(element); | ||
var stackingOffset = dom.stackingElementOffset(anchor || element); | ||
var anchorRect = eitherRect(dom.offset(anchor), offset); | ||
anchorRect = removeStackingOffset(anchorRect, stackingOffset); | ||
var anchorRect = removeStackingOffset(eitherRect(dom.offset(anchor), offset), dom.stackingElementOffset(element)); | ||
if (!anchor) { | ||
@@ -20,0 +18,0 @@ anchorRect = dom.removeScroll(anchorRect, dom.scrollPosition(element)); |
@@ -6,4 +6,4 @@ export { Align } from './models/align.interface'; | ||
export { PopupRef } from './models/popup-ref'; | ||
export { PopupService } from './popup.service'; | ||
export { PopupService, POPUP_CONTAINER } from './popup.service'; | ||
export { PopupComponent } from './popup.component'; | ||
export { PopupModule } from './popup.module'; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var popup_settings_1 = require("./models/popup-settings"); | ||
exports.PopupSettings = popup_settings_1.PopupSettings; | ||
var popup_ref_1 = require("./models/popup-ref"); | ||
exports.PopupRef = popup_ref_1.PopupRef; | ||
var popup_service_1 = require("./popup.service"); | ||
exports.PopupService = popup_service_1.PopupService; | ||
exports.POPUP_CONTAINER = popup_service_1.POPUP_CONTAINER; | ||
var popup_component_1 = require("./popup.component"); | ||
@@ -10,0 +7,0 @@ exports.PopupComponent = popup_component_1.PopupComponent; |
@@ -1,1 +0,1 @@ | ||
[{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./models/align.interface","export":["Align"]},{"from":"./models/collision.interface","export":["Collision"]},{"from":"./models/offset.interface","export":["Offset"]},{"from":"./models/popup-settings","export":["PopupSettings"]},{"from":"./models/popup-ref","export":["PopupRef"]},{"from":"./popup.service","export":["PopupService"]},{"from":"./popup.component","export":["PopupComponent"]},{"from":"./popup.module","export":["PopupModule"]}]},{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./models/align.interface","export":["Align"]},{"from":"./models/collision.interface","export":["Collision"]},{"from":"./models/offset.interface","export":["Offset"]},{"from":"./models/popup-settings","export":["PopupSettings"]},{"from":"./models/popup-ref","export":["PopupRef"]},{"from":"./popup.service","export":["PopupService"]},{"from":"./popup.component","export":["PopupComponent"]},{"from":"./popup.module","export":["PopupModule"]}]}] | ||
[{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./models/align.interface","export":["Align"]},{"from":"./models/collision.interface","export":["Collision"]},{"from":"./models/offset.interface","export":["Offset"]},{"from":"./models/popup-settings","export":["PopupSettings"]},{"from":"./models/popup-ref","export":["PopupRef"]},{"from":"./popup.service","export":["PopupService","POPUP_CONTAINER"]},{"from":"./popup.component","export":["PopupComponent"]},{"from":"./popup.module","export":["PopupModule"]}]},{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./models/align.interface","export":["Align"]},{"from":"./models/collision.interface","export":["Collision"]},{"from":"./models/offset.interface","export":["Offset"]},{"from":"./models/popup-settings","export":["PopupSettings"]},{"from":"./models/popup-ref","export":["PopupRef"]},{"from":"./popup.service","export":["PopupService","POPUP_CONTAINER"]},{"from":"./popup.component","export":["PopupComponent"]},{"from":"./popup.module","export":["PopupModule"]}]}] |
@@ -1,2 +0,2 @@ | ||
import { ComponentRef } from '@angular/core'; | ||
import { ComponentRef, EventEmitter } from '@angular/core'; | ||
import { PopupComponent } from '../popup.component'; | ||
@@ -10,3 +10,3 @@ /** | ||
*/ | ||
export declare class PopupRef { | ||
export interface PopupRef { | ||
/** | ||
@@ -17,2 +17,6 @@ * A reference to the Popup instance. | ||
/** | ||
* A reference to the Popup HTML element. | ||
*/ | ||
popupElement: HTMLElement; | ||
/** | ||
* A reference to the child of the Popup component. | ||
@@ -23,5 +27,20 @@ * Available when the Popup is opened with [component content]({% slug service_dialog_kendouiforangular %}#toc-use-components). | ||
/** | ||
* Allows you to close the Popup through code. | ||
* Closes and destroys the Popup component. | ||
*/ | ||
close: Function; | ||
/** | ||
* Fires when the anchor is scrolled outside the screen boundaries. | ||
* | ||
* For more information, refer to the section on | ||
* [scrolling outside the viewport]({% slug overview_popup_kendouiforangular %}#toc-set-behavior-when-outside-the-viewport). | ||
*/ | ||
popupAnchorViewportLeave: EventEmitter<any>; | ||
/** | ||
* Fires after the component is closed. | ||
*/ | ||
popupClose: EventEmitter<any>; | ||
/** | ||
* Fires after the component is opened and the open animation has ended. | ||
*/ | ||
popupOpen: EventEmitter<any>; | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
/** | ||
* Holds references to the Popup object instance. | ||
* Controls the Popups that have been opened through the `PopupService`. | ||
* | ||
* For an example on sample usage, refer to the | ||
* [`PopupService.open`]({% slug api_popup_popupservice_kendouiforangular %}#toc-open) method. | ||
*/ | ||
var PopupRef = (function () { | ||
function PopupRef() { | ||
} | ||
return PopupRef; | ||
}()); | ||
exports.PopupRef = PopupRef; | ||
; |
@@ -1,1 +0,1 @@ | ||
[{"__symbolic":"module","version":3,"metadata":{"PopupRef":{"__symbolic":"class"}}},{"__symbolic":"module","version":1,"metadata":{"PopupRef":{"__symbolic":"class"}}}] | ||
[{"__symbolic":"module","version":3,"metadata":{"PopupRef":{"__symbolic":"interface"}}},{"__symbolic":"module","version":1,"metadata":{"PopupRef":{"__symbolic":"interface"}}}] |
@@ -11,4 +11,11 @@ import { ElementRef, TemplateRef } from '@angular/core'; | ||
*/ | ||
export declare class PopupSettings { | ||
export interface PopupSettings { | ||
/** | ||
* Controls the Popup animation. By default, the open and close animations are enabled. | ||
* | ||
* For more information, refer to the section on | ||
* [animation control]({% slug overview_popup_kendouiforangular %}#toc-enable-and-disable-animations). | ||
*/ | ||
animate?: boolean; | ||
/** | ||
* Specifies the element that will be used as an anchor. The Popup opens next to that element. | ||
@@ -15,0 +22,0 @@ */ |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
/** | ||
* The settings that can be used when the Popup is opened through `PopupService`. | ||
* | ||
* For an example on sample usage, refer to the | ||
* [`PopupService.open`]({% slug api_popup_popupservice_kendouiforangular %}#toc-open) method. | ||
*/ | ||
var PopupSettings = (function () { | ||
function PopupSettings() { | ||
} | ||
return PopupSettings; | ||
}()); | ||
exports.PopupSettings = PopupSettings; | ||
; |
@@ -1,1 +0,1 @@ | ||
[{"__symbolic":"module","version":3,"metadata":{"PopupSettings":{"__symbolic":"class"}}},{"__symbolic":"module","version":1,"metadata":{"PopupSettings":{"__symbolic":"class"}}}] | ||
[{"__symbolic":"module","version":3,"metadata":{"PopupSettings":{"__symbolic":"interface"}}},{"__symbolic":"module","version":1,"metadata":{"PopupSettings":{"__symbolic":"interface"}}}] |
@@ -30,3 +30,3 @@ import { AfterViewChecked, ChangeDetectorRef, ElementRef, EventEmitter, OnInit, OnDestroy, Renderer, TemplateRef } from '@angular/core'; | ||
private _alignService; | ||
private container; | ||
container: ElementRef; | ||
private _cdr; | ||
@@ -33,0 +33,0 @@ private _positionService; |
@@ -143,3 +143,5 @@ "use strict"; | ||
PopupComponent.prototype.ngOnDestroy = function () { | ||
this.anchorViewportLeave.complete(); | ||
this.close.emit(); | ||
this.close.complete(); | ||
this._resizeService.unsubscribe(); | ||
@@ -154,2 +156,3 @@ this._scrollableService.unsubscribe(); | ||
this.open.emit(); | ||
this.open.complete(); | ||
}; | ||
@@ -156,0 +159,0 @@ PopupComponent.prototype.reposition = function () { |
@@ -1,10 +0,46 @@ | ||
import { ApplicationRef, ComponentFactoryResolver, Injector } from '@angular/core'; | ||
import { ApplicationRef, ComponentFactoryResolver, ElementRef, InjectionToken, Injector } from '@angular/core'; | ||
import { PopupSettings } from './models/popup-settings'; | ||
import { PopupRef } from './models/popup-ref'; | ||
/** | ||
* A service for opening Popup components dynamically. | ||
* An InjectionToken used to inject the popup container. If not provided the first root component of | ||
* the application will be used. | ||
* | ||
* For detailed information on how to use this class, refer to the | ||
* article about the [Angular service]({% slug service_popup_kendouiforangular %}). | ||
* @example | ||
* | ||
* ```ts-no-run | ||
* // Import the Popup module | ||
* import { PopupModule, POPUP_CONTAINER } from '@progress/kendo-angular-popup'; | ||
* | ||
* // The browser platform with a compiler | ||
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; | ||
* | ||
* import { NgModule } from '@angular/core'; | ||
* | ||
* // Import the app component | ||
* import { AppComponent } from './app.component'; | ||
* | ||
* // Define the app module | ||
* @@NgModule({ | ||
* declarations: [AppComponent], // declare app component | ||
* imports: [BrowserModule, PopupModule], // import Popup module | ||
* bootstrap: [AppComponent], | ||
* providers: [{ | ||
* provide: POPUP_CONTAINER, | ||
* useFactory: () => { | ||
* //return the container ElementRef, where the popup will be injected | ||
* } | ||
* }] | ||
* }) | ||
* export class AppModule {} | ||
* | ||
* // Compile and launch the module | ||
* platformBrowserDynamic().bootstrapModule(AppModule); | ||
* ``` | ||
*/ | ||
export declare const POPUP_CONTAINER: InjectionToken<ElementRef>; | ||
/** | ||
* Service for opening Popup components dynamically. | ||
* | ||
* See the [service help topic]({% slug service_popup_kendouiforangular %}) for detailed information how to use this class. | ||
* | ||
* @export | ||
@@ -17,5 +53,5 @@ * @class PopupService | ||
private injector; | ||
private _container; | ||
private container; | ||
/** | ||
* Gets the root view container into which the component will be injected. | ||
* Gets the root view container to inject the component to. | ||
* | ||
@@ -26,12 +62,12 @@ * @returns {ComponentRef<any>} | ||
/** | ||
* Sets or gets the root HTML element of the component container. | ||
* Sets or gets the root component container html element. | ||
* | ||
* @returns {HTMLElement} | ||
*/ | ||
rootViewContainerNode: HTMLElement; | ||
constructor(applicationRef: ApplicationRef, componentFactoryResolver: ComponentFactoryResolver, injector: Injector); | ||
readonly rootViewContainerNode: HTMLElement; | ||
constructor(applicationRef: ApplicationRef, componentFactoryResolver: ComponentFactoryResolver, injector: Injector, container: ElementRef); | ||
/** | ||
* Opens a Popup component. | ||
* | ||
* The created Popup will be mounted in the DOM directly in the root application component. | ||
* Created Popup will be mounted in the DOM directly in the root application component. | ||
* | ||
@@ -75,3 +111,3 @@ * @param {PopupSettings} options - The options that define the Popup. | ||
/** | ||
* Gets the HTML element for a component reference. | ||
* Gets the html element for a component ref. | ||
* | ||
@@ -83,3 +119,3 @@ * @param {ComponentRef<any>} componentRef | ||
/** | ||
* Creates a component reference from the `Component` type class. | ||
* Creates a component ref from Component type class | ||
* | ||
@@ -92,3 +128,3 @@ * @param {*} componentClass | ||
/** | ||
* Projects the inputs onto the component. | ||
* Projects the inputs onto the component | ||
* | ||
@@ -101,3 +137,3 @@ * @param {ComponentRef<any>} component | ||
/** | ||
* Gets the component and the nodes to append from the `content` option. | ||
* Gets component and nodes to append from the content option | ||
* | ||
@@ -104,0 +140,0 @@ * @param {*} content |
@@ -6,7 +6,43 @@ "use strict"; | ||
/** | ||
* A service for opening Popup components dynamically. | ||
* An InjectionToken used to inject the popup container. If not provided the first root component of | ||
* the application will be used. | ||
* | ||
* For detailed information on how to use this class, refer to the | ||
* article about the [Angular service]({% slug service_popup_kendouiforangular %}). | ||
* @example | ||
* | ||
* ```ts-no-run | ||
* // Import the Popup module | ||
* import { PopupModule, POPUP_CONTAINER } from '@progress/kendo-angular-popup'; | ||
* | ||
* // The browser platform with a compiler | ||
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; | ||
* | ||
* import { NgModule } from '@angular/core'; | ||
* | ||
* // Import the app component | ||
* import { AppComponent } from './app.component'; | ||
* | ||
* // Define the app module | ||
* @@NgModule({ | ||
* declarations: [AppComponent], // declare app component | ||
* imports: [BrowserModule, PopupModule], // import Popup module | ||
* bootstrap: [AppComponent], | ||
* providers: [{ | ||
* provide: POPUP_CONTAINER, | ||
* useFactory: () => { | ||
* //return the container ElementRef, where the popup will be injected | ||
* } | ||
* }] | ||
* }) | ||
* export class AppModule {} | ||
* | ||
* // Compile and launch the module | ||
* platformBrowserDynamic().bootstrapModule(AppModule); | ||
* ``` | ||
*/ | ||
exports.POPUP_CONTAINER = new core_1.InjectionToken('Popup Container'); | ||
/** | ||
* Service for opening Popup components dynamically. | ||
* | ||
* See the [service help topic]({% slug service_popup_kendouiforangular %}) for detailed information how to use this class. | ||
* | ||
* @export | ||
@@ -16,10 +52,11 @@ * @class PopupService | ||
var PopupService = (function () { | ||
function PopupService(applicationRef, componentFactoryResolver, injector) { | ||
function PopupService(applicationRef, componentFactoryResolver, injector, container) { | ||
this.applicationRef = applicationRef; | ||
this.componentFactoryResolver = componentFactoryResolver; | ||
this.injector = injector; | ||
this.container = container; | ||
} | ||
Object.defineProperty(PopupService.prototype, "rootViewContainer", { | ||
/** | ||
* Gets the root view container into which the component will be injected. | ||
* Gets the root view container to inject the component to. | ||
* | ||
@@ -30,4 +67,4 @@ * @returns {ComponentRef<any>} | ||
//https://github.com/angular/angular/blob/4.0.x/packages/core/src/application_ref.ts#L571 | ||
var rootComponents = this.applicationRef.components; | ||
if (rootComponents) { | ||
var rootComponents = this.applicationRef.components || []; | ||
if (rootComponents[0]) { | ||
return rootComponents[0]; | ||
@@ -42,3 +79,3 @@ } | ||
/** | ||
* Sets or gets the root HTML element of the component container. | ||
* Sets or gets the root component container html element. | ||
* | ||
@@ -48,7 +85,4 @@ * @returns {HTMLElement} | ||
get: function () { | ||
return this._container ? this._container : this.getComponentRootNode(this.rootViewContainer); | ||
return this.container ? this.container.nativeElement : this.getComponentRootNode(this.rootViewContainer); | ||
}, | ||
set: function (container) { | ||
this._container = container; | ||
}, | ||
enumerable: true, | ||
@@ -60,3 +94,3 @@ configurable: true | ||
* | ||
* The created Popup will be mounted in the DOM directly in the root application component. | ||
* Created Popup will be mounted in the DOM directly in the root application component. | ||
* | ||
@@ -106,17 +140,31 @@ * @param {PopupSettings} options - The options that define the Popup. | ||
appRef.attachView(popupComponentRef.hostView); | ||
popupComponentRef.onDestroy(function () { | ||
if (component) { | ||
component.destroy(); | ||
} | ||
appRef.detachView(popupComponentRef.hostView); | ||
}); | ||
this.rootViewContainerNode.appendChild(this.getComponentRootNode(popupComponentRef)); | ||
if (component) { | ||
component.changeDetectorRef.detectChanges(); | ||
} | ||
var popupInstance = popupComponentRef.instance; | ||
return { | ||
close: function () { return popupComponentRef.destroy(); }, | ||
close: function () { | ||
// XXX: Destroy is required due to this bug | ||
// https://github.com/angular/angular/issues/15578 | ||
// | ||
if (component) { | ||
component.destroy(); | ||
} | ||
else { | ||
popupComponentRef.instance.content = null; | ||
popupComponentRef.changeDetectorRef.detectChanges(); | ||
} | ||
popupComponentRef.destroy(); | ||
}, | ||
content: component, | ||
popup: popupComponentRef | ||
popup: popupComponentRef, | ||
popupAnchorViewportLeave: popupInstance.anchorViewportLeave, | ||
popupClose: popupInstance.close, | ||
popupElement: this.getComponentRootNode(popupComponentRef), | ||
popupOpen: popupInstance.open | ||
}; | ||
}; | ||
/** | ||
* Gets the HTML element for a component reference. | ||
* Gets the html element for a component ref. | ||
* | ||
@@ -130,3 +178,3 @@ * @param {ComponentRef<any>} componentRef | ||
/** | ||
* Creates a component reference from the `Component` type class. | ||
* Creates a component ref from Component type class | ||
* | ||
@@ -139,8 +187,6 @@ * @param {*} componentClass | ||
var componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass); | ||
var componentRef = componentFactory.create(this.injector, nodes); | ||
componentRef.changeDetectorRef.detectChanges(); | ||
return componentRef; | ||
return componentFactory.create(this.injector, nodes); | ||
}; | ||
/** | ||
* Projects the inputs onto the component. | ||
* Projects the inputs onto the component | ||
* | ||
@@ -160,3 +206,3 @@ * @param {ComponentRef<any>} component | ||
/** | ||
* Gets the component and the nodes to append from the `content` option. | ||
* Gets component and nodes to append from the content option | ||
* | ||
@@ -189,3 +235,4 @@ * @param {*} content | ||
{ type: core_1.Injector, }, | ||
{ type: core_1.ElementRef, decorators: [{ type: core_1.Inject, args: [exports.POPUP_CONTAINER,] }, { type: core_1.Optional },] }, | ||
]; }; | ||
exports.PopupService = PopupService; |
@@ -1,1 +0,1 @@ | ||
[{"__symbolic":"module","version":3,"metadata":{"PopupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"open":[{"__symbolic":"method"}],"getComponentRootNode":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"projectComponentInputs":[{"__symbolic":"method"}],"contentFrom":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"PopupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"open":[{"__symbolic":"method"}],"getComponentRootNode":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"projectComponentInputs":[{"__symbolic":"method"}],"contentFrom":[{"__symbolic":"method"}]}}}}] | ||
[{"__symbolic":"module","version":3,"metadata":{"POPUP_CONTAINER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["Popup Container"]},"PopupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"POPUP_CONTAINER"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"open":[{"__symbolic":"method"}],"getComponentRootNode":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"projectComponentInputs":[{"__symbolic":"method"}],"contentFrom":[{"__symbolic":"method"}]}}}},{"__symbolic":"module","version":1,"metadata":{"POPUP_CONTAINER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken"},"arguments":["Popup Container"]},"PopupService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","name":"POPUP_CONTAINER"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ApplicationRef"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"open":[{"__symbolic":"method"}],"getComponentRootNode":[{"__symbolic":"method"}],"createComponent":[{"__symbolic":"method"}],"projectComponentInputs":[{"__symbolic":"method"}],"contentFrom":[{"__symbolic":"method"}]}}}}] |
@@ -17,5 +17,3 @@ "use strict"; | ||
var elementRect = dom.offset(element); | ||
var stackingOffset = dom.stackingElementOffset(anchor || element); | ||
var anchorRect = util_1.eitherRect(dom.offset(anchor), offset); | ||
anchorRect = util_1.removeStackingOffset(anchorRect, stackingOffset); | ||
var anchorRect = util_1.removeStackingOffset(util_1.eitherRect(dom.offset(anchor), offset), dom.stackingElementOffset(element)); | ||
if (!anchor) { | ||
@@ -22,0 +20,0 @@ anchorRect = dom.removeScroll(anchorRect, dom.scrollPosition(element)); |
{ | ||
"name": "@progress/kendo-angular-popup", | ||
"description": "Kendo UI Angular 2 Popup component", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"publishConfig": { | ||
@@ -6,0 +6,0 @@ "registry": "https://registry.npm.telerik.com" |
271328
3208