ngx-modialog
Version:
Modal / Dialog for Angular
3 lines (2 loc) • 9.32 kB
JavaScript
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("ngx-modialog"),require("tslib"),require("rxjs"),require("@angular/common")):"function"==typeof define&&define.amd?define("ngxModialog.plugins.vex",["exports","@angular/core","ngx-modialog","tslib","rxjs","@angular/common"],e):e((t.ngxModialog=t.ngxModialog||{},t.ngxModialog.plugins=t.ngxModialog.plugins||{},t.ngxModialog.plugins.vex={}),t.ng.core,t.ngxModialog,t.tslib,t.rxjs,t.ng.common)}(this,function(t,e,r,n,c,o){"use strict";var i=function(){function t(){this.onButtonClick=new e.EventEmitter}return t.prototype.onClick=function(t,e){e.stopPropagation(),this.onButtonClick.emit({btn:t,$event:e})},t}();i.decorators=[{type:e.Component,args:[{selector:"vex-dialog-buttons",encapsulation:e.ViewEncapsulation.None,template:'<div class="vex-dialog-buttons">\n <button type="button" \n *ngFor="let btn of buttons;"\n [class]="btn.cssClass"\n (click)="onClick(btn, $event)">{{btn.caption}}</button>\n</div>'}]}],i.propDecorators={buttons:[{type:e.Input}],onButtonClick:[{type:e.Output}]};var s=function(){function t(t){this.dialog=t,this.context=t.context}return t.prototype.onButtonClick=function(t){t.btn.onClick(this,t.$event)},t}();s.decorators=[{type:e.Component,args:[{selector:"modal-dialog",encapsulation:e.ViewEncapsulation.None,template:'<form class="vex-dialog-form">\n <ng-container *ngComponentOutlet="context.content"></ng-container>\n <vex-dialog-buttons [buttons]="context.buttons"\n (onButtonClick)="onButtonClick($event)"></vex-dialog-buttons>\n</form>'}]}],s.ctorParameters=function(){return[{type:r.DialogRef}]};var a=function(t){this.dialog=t,this.context=t.context};a.decorators=[{type:e.Component,args:[{selector:"drop-in-dialog",encapsulation:e.ViewEncapsulation.None,template:'<div class="vex-dialog-message">{{context.message}}</div>\n <div *ngIf="context.showInput" class="vex-dialog-input">\n <input #input\n autofocus\n name="vex" \n type="text" \n class="vex-dialog-prompt-input"\n (change)="context.defaultResult = input.value" \n placeholder="{{context.placeholder}}">\n </div>\n <div *ngIf="context.showCloseButton" \n [class]="context.closeClassName"\n (click)="dialog.dismiss()"></div>'}]}],a.ctorParameters=function(){return[{type:r.DialogRef}]};var l={className:"default",overlayClassName:"vex-overlay",contentClassName:"vex-content",closeClassName:"vex-close"},u=["className","overlayClassName","contentClassName","closeClassName","showCloseButton"],d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.normalize=function(){this.className||(this.className=l.className),this.overlayClassName||(this.overlayClassName=l.overlayClassName),this.contentClassName||(this.contentClassName=l.contentClassName),this.closeClassName||(this.closeClassName=l.closeClassName),t.prototype.normalize.call(this)},e}(r.ModalOpenContext),p=function(o){function t(t,e,n){return void 0===t&&(t=undefined),void 0===e&&(e=undefined),void 0===n&&(n=undefined),o.call(this,r.extend(l,t||{}),r.arrayUnion(u,e||[]),n||d)||this}return n.__extends(t,o),t.prototype.overlayClosesOnClick=function(t){return this[r.privateKey("isBlocking")]=!t,this},t}(r.ModalOpenContextBuilder),m=["content"],v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e}(d),y=function(i){function t(t,e,n,o){return void 0===e&&(e=undefined),void 0===n&&(n=undefined),void 0===o&&(o=undefined),i.call(this,r.extend({modal:t,component:s,buttons:[],defaultResult:!0},e||{}),r.arrayUnion(m,n||[]),o||v)||this}return n.__extends(t,i),t.prototype.addButton=function(t,e,n){var o={cssClass:t,caption:e,onClick:n};return this[r.privateKey("buttons")].push(o),this},t.prototype.addOkButton=function(t){return void 0===t&&(t="OK"),this.addButton("vex-dialog-button-primary vex-dialog-button vex-first",t,function(t,e){return t.dialog.close(t.dialog.context.defaultResult)}),this},t.prototype.addCancelButton=function(t){return void 0===t&&(t="CANCEL"),this.addButton("vex-dialog-button-secondary vex-dialog-button vex-last",t,function(t,e){return t.dialog.dismiss()}),this},t}(p),f={component:s,content:a,okBtn:"OK",cancelBtn:"Cancel"},g=["okBtn","cancelBtn","placeholder"],x=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),Object.defineProperty(e.prototype,"showInput",{get:function(){return this.dropInType===r.DROP_IN_TYPE.prompt},enumerable:!0,configurable:!0}),e}(v),h=function(o){function t(t,e,n){return void 0===n&&(n=undefined),o.call(this,t,r.extend(r.extend({modal:t,dropInType:e},f),n||{}),g,x)||this}return n.__extends(t,o),t.prototype.$$beforeOpen=function(t){switch(o.prototype.$$beforeOpen.call(this,t),t.okBtn&&this.addOkButton(t.okBtn),t.dropInType){case r.DROP_IN_TYPE.prompt:t.defaultResult=undefined;break;case r.DROP_IN_TYPE.confirm:t.cancelBtn&&this.addCancelButton(t.cancelBtn)}},t}(y),C=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.apply=function(t){t.setClickBoundary(this.vexContentContainer.nativeElement),this.dialog.inElement&&(this.setStyle("padding","20px 0 0 0"),"bottom-right-corner"===this.dialog.context.className&&(this.setStyle("overflow-y","hidden"),this.renderer.setStyle(this.vexContentContainer.nativeElement,"position","absolute")))},e}(r.CSSDialogContainer);C.decorators=[{type:e.Component,args:[{selector:"css-dialog-container",host:{tabindex:"-1",role:"dialog"},encapsulation:e.ViewEncapsulation.None,template:'<div #clickBoundary class="{{dialog.context.contentClassName}}"><ng-content></ng-content></div>'}]}],C.propDecorators={vexContentContainer:[{type:e.ViewChild,args:["clickBoundary",{read:e.ElementRef}]}]};var b=!("undefined"==typeof document||!document),k=!1;var B=function(e){function t(t){return e.call(this,t)||this}return n.__extends(t,e),t.prototype.alert=function(){return new h(this,r.DROP_IN_TYPE.alert,{isBlocking:!1})},t.prototype.prompt=function(){return new h(this,r.DROP_IN_TYPE.prompt,{isBlocking:!0,keyboard:null})},t.prototype.confirm=function(){return new h(this,r.DROP_IN_TYPE.confirm,{isBlocking:!0,keyboard:null})},t.prototype.create=function(n,t){var o=this;if(!0===k)return this.createV3(n,t);var e=this.createBackdrop(n,r.CSSBackdrop),i=this.createContainer(n,C,t),s=n.overlayRef.instance,a=e.instance,l=i.instance;return n.inElement?(s.insideElement(),s.setContainerStyle("position","relative").setContainerStyle("height","100%").setContainerStyle("width","100%"),a.setStyle("position","absolute").setStyle("display","block").setStyle("height","100%").setStyle("width","100%"),l.setStyle("position","relative").setStyle("display","block").setStyle("height","100%").setStyle("width","100%")):s.fullscreen(),b&&!document.body.classList.contains("vex-open")&&document.body.classList.add("vex-open"),a.addClass("vex-overlay"),l.addClass("vex vex-theme-"+n.context.className),l.setStyle("display","block"),i.location.nativeElement&&i.location.nativeElement.focus(),s.beforeDestroy(function(){a.addClass("vex-closing"),l.addClass("vex-closing");var e=new r.PromiseCompleter;return a.myAnimationEnd$().subscribe(function(t){b&&1===o.overlay.groupStackLength(n)&&document.body.classList.remove("vex-open"),e.resolve()}),e.promise}),l.apply(s),n},t.prototype.createV3=function(n,t){var o=this,e=this.createBackdrop(n,r.CSSBackdrop),i=this.createContainer(n,r.CSSDialogContainer,t),s=n.overlayRef.instance,a=e.instance,l=i.instance;return n.inElement?s.insideElement():s.fullscreen(),b&&!document.body.classList.contains("vex-open")&&document.body.classList.add("vex-open"),s.addClass("vex vex-theme-"+n.context.className),a.addClass("vex-overlay"),l.addClass(n.context.contentClassName),l.setStyle("display","block"),n.inElement&&(s.setStyle("padding","0"),l.setStyle("margin-top","20px")),i.location.nativeElement&&i.location.nativeElement.focus(),"bottom-right-corner"===n.context.className&&(s.setStyle("overflow-y","hidden"),l.setStyle("position","absolute")),s.beforeDestroy(function(){s.addClass("vex-closing");var e=new r.PromiseCompleter,t=l.myAnimationEnd$();return"bottom-right-corner"!==n.context.className&&(t=c.combineLatest.call(t,a.myAnimationEnd$(),function(t,e){return[t,e]})),t.subscribe(function(t){b&&1===o.overlay.groupStackLength(n)&&document.body.classList.remove("vex-open"),e.resolve()}),e.promise}),s.setClickBoundary(i.location.nativeElement),n},t}(r.Modal);B.decorators=[{type:e.Injectable}],B.ctorParameters=function(){return[{type:r.Overlay}]};var N=[{provide:r.Modal,useClass:B},{provide:B,useClass:B}],E=function(){function t(){}return t.getProviders=function(){return N},t}();E.decorators=[{type:e.NgModule,args:[{imports:[r.ModalModule,o.CommonModule],declarations:[C,i,a,s],providers:N,entryComponents:[C,s,a]}]}],t.Modal=B,t.vexV3Mode=function(){k=!0},t.VEXModalContext=d,t.VEXModalContextBuilder=p,t.DropInPreset=x,t.DropInPresetBuilder=h,t.DialogFormModal=s,t.FormDropIn=a,t.VEXDialogButtons=i,t.DialogPreset=v,t.DialogPresetBuilder=y,t.VexModalModule=E,t.providers=N,t.ɵa=C,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=ngx-modialog-plugins-vex.umd.min.js.map