UNPKG

ngx-confirm-box

Version:

Library for confirm box - Angular 4/5/6

183 lines (174 loc) 16.5 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common')) : typeof define === 'function' && define.amd ? define('ngx-confirm-box', ['exports', '@angular/core', 'rxjs', '@angular/common'], factory) : (factory((global['ngx-confirm-box'] = {}),global.ng.core,global.rxjs,global.ng.common)); }(this, (function (exports,i0,rxjs,common) { 'use strict'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var NgxConfirmBoxService = (function () { function NgxConfirmBoxService() { this.confirmChange = new rxjs.Subject(); } //show(bgColor:string='rgba(0,0,0,0.5)',Heading:string,Content:string,Canceltext:string,Okaytext:string) { /** * @return {?} */ NgxConfirmBoxService.prototype.show = /** * @return {?} */ function () { this.confirmChange.next(true); //this.confirmChange.next({ bgColor: bgColor,confirmHeading: Heading,confirmContent: Content,confirmCanceltext: Canceltext,confirmOkaytext: Okaytext,show:true }); }; /** * @return {?} */ NgxConfirmBoxService.prototype.hide = /** * @return {?} */ function () { this.confirmChange.next(false); }; /** * @return {?} */ NgxConfirmBoxService.prototype.getState = /** * @return {?} */ function () { return this.confirmChange.asObservable(); }; NgxConfirmBoxService.decorators = [ { type: i0.Injectable, args: [{ providedIn: 'root' },] }, ]; /** @nocollapse */ NgxConfirmBoxService.ctorParameters = function () { return []; }; /** @nocollapse */ NgxConfirmBoxService.ngInjectableDef = i0.defineInjectable({ factory: function NgxConfirmBoxService_Factory() { return new NgxConfirmBoxService(); }, token: NgxConfirmBoxService, providedIn: "root" }); return NgxConfirmBoxService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var NgxConfirmBoxComponent = (function () { function NgxConfirmBoxComponent(confirmService) { this.confirmService = confirmService; this.bgColor = 'rgba(0,0,0,0.5)'; this.confirmContent = 'Are you sure want to delete this?'; this.confirmHeading = 'Confirmation'; this.confirmCanceltext = 'Cancel'; this.confirmOkaytext = 'Okay'; //confirmHeading:string; this.showHide = false; this.returnval = false; this.confirmaray = { bgColor: 'rgba(0,0,0,0.5)', confirmHeading: '', confirmContent: 'Are you sure want to delete this?', confirmCanceltext: 'No', confirmOkaytext: 'Yes', show: this.showHide }; this.confirmEvt = new i0.EventEmitter(); } /** * @return {?} */ NgxConfirmBoxComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; this.subscription = this.confirmService.getState().subscribe(function (showHide) { _this.showHide = showHide; }); this.confirmaray.show = this.showHide; this.confirmaray.bgColor = this.bgColor; this.confirmaray.confirmHeading = this.confirmHeading; this.confirmaray.confirmContent = this.confirmContent; this.confirmaray.confirmCanceltext = this.confirmCanceltext; this.confirmaray.confirmOkaytext = this.confirmOkaytext; }; /** * @return {?} */ NgxConfirmBoxComponent.prototype.hideConfirm = /** * @return {?} */ function () { this.showHide = false; this.confirmaray.show = false; this.confirmEvt.emit(false); }; /** * @return {?} */ NgxConfirmBoxComponent.prototype.returConfirmBox = /** * @return {?} */ function () { this.confirmaray.show = false; this.showHide = false; this.confirmEvt.emit(true); }; /** * @return {?} */ NgxConfirmBoxComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { this.subscription.unsubscribe(); }; NgxConfirmBoxComponent.decorators = [ { type: i0.Component, args: [{ selector: 'ngx-confirm-box', template: "<div class=\"overlay\" [ngStyle]=\"{'background-color':confirmaray.bgColor}\" *ngIf=\"showHide\" >\n <div class=\"confirmbox-container\">\n\t<h3 *ngIf=\"confirmaray.confirmHeading\">{{confirmaray.confirmHeading}}</h3>\n\t<p>{{confirmaray.confirmContent}}</p>\n\t<div class=\"col-md-12 btn-grp col-sm-12\">\n\t<button class=\"cancel-btn btn-default btn btn-sm\" (click)=\"hideConfirm()\">{{confirmaray.confirmCanceltext}}</button>\n\t<button class=\"btn-primary btn btn-sm confirm-btn\" (click)=\"returConfirmBox()\">{{confirmaray.confirmOkaytext}}</button></div>\n\t</div>\n</div>", styles: [".overlay{position:fixed;width:100%;height:100%;top:0;left:0;right:0;bottom:0;z-index:2}.confirmbox-container{position:absolute;top:40%;left:40%;width:300px;background:#fff;padding:15px;border-radius:6px}.confirmbox-container h3{padding:0 0 10px;margin:5px;border-bottom:1px solid #c5c5c6;font-size:18px}.confirmbox-container p{margin:0;padding:3px;text-align:center}.btn-grp{text-align:center;padding-top:10px}.confirm-btn{margin:0 10px}"] },] }, ]; /** @nocollapse */ NgxConfirmBoxComponent.ctorParameters = function () { return [ { type: NgxConfirmBoxService } ]; }; NgxConfirmBoxComponent.propDecorators = { bgColor: [{ type: i0.Input }], confirmContent: [{ type: i0.Input }], confirmHeading: [{ type: i0.Input }], confirmCanceltext: [{ type: i0.Input }], confirmOkaytext: [{ type: i0.Input }], confirmEvt: [{ type: i0.Output }] }; return NgxConfirmBoxComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var NgxConfirmBoxModule = (function () { function NgxConfirmBoxModule() { } NgxConfirmBoxModule.decorators = [ { type: i0.NgModule, args: [{ imports: [ common.CommonModule ], declarations: [NgxConfirmBoxComponent], exports: [NgxConfirmBoxComponent] },] }, ]; return NgxConfirmBoxModule; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ exports.NgxConfirmBoxService = NgxConfirmBoxService; exports.NgxConfirmBoxComponent = NgxConfirmBoxComponent; exports.NgxConfirmBoxModule = NgxConfirmBoxModule; Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWNvbmZpcm0tYm94LnVtZC5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vbmd4LWNvbmZpcm0tYm94L2xpYi9uZ3gtY29uZmlybS1ib3guc2VydmljZS50cyIsIm5nOi8vbmd4LWNvbmZpcm0tYm94L2xpYi9uZ3gtY29uZmlybS1ib3guY29tcG9uZW50LnRzIiwibmc6Ly9uZ3gtY29uZmlybS1ib3gvbGliL25neC1jb25maXJtLWJveC5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd4Q29uZmlybUJveFNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpcm1DaGFuZ2UgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbiAgLy9zaG93KGJnQ29sb3I6c3RyaW5nPSdyZ2JhKDAsMCwwLDAuNSknLEhlYWRpbmc6c3RyaW5nLENvbnRlbnQ6c3RyaW5nLENhbmNlbHRleHQ6c3RyaW5nLE9rYXl0ZXh0OnN0cmluZykge1xuICAgIHNob3coKXtcbiAgICAgIHRoaXMuY29uZmlybUNoYW5nZS5uZXh0KHRydWUpO1xuICAgICAgLy90aGlzLmNvbmZpcm1DaGFuZ2UubmV4dCh7IGJnQ29sb3I6IGJnQ29sb3IsY29uZmlybUhlYWRpbmc6IEhlYWRpbmcsY29uZmlybUNvbnRlbnQ6IENvbnRlbnQsY29uZmlybUNhbmNlbHRleHQ6IENhbmNlbHRleHQsY29uZmlybU9rYXl0ZXh0OiBPa2F5dGV4dCxzaG93OnRydWUgfSk7XG4gICAgfVxuXG4gIGhpZGUoKXtcbiAgICB0aGlzLmNvbmZpcm1DaGFuZ2UubmV4dChmYWxzZSk7XG4gIH1cblxuICBnZXRTdGF0ZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpcm1DaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBcbn1cbiIsImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0eyBOZ3hDb25maXJtQm94U2VydmljZX0gZnJvbSAnLi9uZ3gtY29uZmlybS1ib3guc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1jb25maXJtLWJveCcsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cIm92ZXJsYXlcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtY29sb3InOmNvbmZpcm1hcmF5LmJnQ29sb3J9XCIgKm5nSWY9XCJzaG93SGlkZVwiID5cclxuICAgIDxkaXYgY2xhc3M9XCJjb25maXJtYm94LWNvbnRhaW5lclwiPlxyXG5cdDxoMyAqbmdJZj1cImNvbmZpcm1hcmF5LmNvbmZpcm1IZWFkaW5nXCI+e3tjb25maXJtYXJheS5jb25maXJtSGVhZGluZ319PC9oMz5cclxuXHQ8cD57e2NvbmZpcm1hcmF5LmNvbmZpcm1Db250ZW50fX08L3A+XHJcblx0PGRpdiBjbGFzcz1cImNvbC1tZC0xMiBidG4tZ3JwIGNvbC1zbS0xMlwiPlxyXG5cdDxidXR0b24gY2xhc3M9XCJjYW5jZWwtYnRuIGJ0bi1kZWZhdWx0IGJ0biBidG4tc21cIiAoY2xpY2spPVwiaGlkZUNvbmZpcm0oKVwiPnt7Y29uZmlybWFyYXkuY29uZmlybUNhbmNlbHRleHR9fTwvYnV0dG9uPlxyXG5cdDxidXR0b24gY2xhc3M9XCJidG4tcHJpbWFyeSBidG4gYnRuLXNtIGNvbmZpcm0tYnRuXCIgKGNsaWNrKT1cInJldHVyQ29uZmlybUJveCgpXCI+e3tjb25maXJtYXJheS5jb25maXJtT2theXRleHR9fTwvYnV0dG9uPjwvZGl2PlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5gLFxuICBzdHlsZXM6IFtgLm92ZXJsYXl7cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjJ9LmNvbmZpcm1ib3gtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MCU7bGVmdDo0MCU7d2lkdGg6MzAwcHg7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjZweH0uY29uZmlybWJveC1jb250YWluZXIgaDN7cGFkZGluZzowIDAgMTBweDttYXJnaW46NXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNjNWM1YzY7Zm9udC1zaXplOjE4cHh9LmNvbmZpcm1ib3gtY29udGFpbmVyIHB7bWFyZ2luOjA7cGFkZGluZzozcHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmJ0bi1ncnB7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6MTBweH0uY29uZmlybS1idG57bWFyZ2luOjAgMTBweH1gXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hDb25maXJtQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICBASW5wdXQoKSBiZ0NvbG9yICAgICAgICAgICAgPSAncmdiYSgwLDAsMCwwLjUpJzsgLy9vdmVybGF5IGJhY2tncm91bmQgY29sb3JcbiAgIEBJbnB1dCgpIGNvbmZpcm1Db250ZW50ICAgICA9ICdBcmUgeW91IHN1cmUgd2FudCB0byBkZWxldGUgdGhpcz8nOyBcbiAgIEBJbnB1dCgpIGNvbmZpcm1IZWFkaW5nICAgICA9ICdDb25maXJtYXRpb24nOyBcbiAgIEBJbnB1dCgpIGNvbmZpcm1DYW5jZWx0ZXh0ICA9ICdDYW5jZWwnOyBcbiAgIEBJbnB1dCgpIGNvbmZpcm1Pa2F5dGV4dCAgICA9ICdPa2F5JzsgXG5cbiAgLy9jb25maXJtSGVhZGluZzpzdHJpbmc7XG4gIHNob3dIaWRlICA9IGZhbHNlOyBcbiAgcmV0dXJudmFsID0gZmFsc2U7IFxuICBjb25maXJtYXJheTphbnkgPSB7YmdDb2xvcjoncmdiYSgwLDAsMCwwLjUpJyxjb25maXJtSGVhZGluZzonJyxjb25maXJtQ29udGVudDonQXJlIHlvdSBzdXJlIHdhbnQgdG8gZGVsZXRlIHRoaXM/Jyxjb25maXJtQ2FuY2VsdGV4dDonTm8nLGNvbmZpcm1Pa2F5dGV4dDonWWVzJyxzaG93OnRoaXMuc2hvd0hpZGV9O1xuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlybVNlcnZpY2UgOiBOZ3hDb25maXJtQm94U2VydmljZSkgeyBcbiAgIFxuICB9XG4gIEBPdXRwdXQoKSBjb25maXJtRXZ0ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuIFxuICBuZ09uSW5pdCgpIHtcblxuICB0aGlzLnN1YnNjcmlwdGlvbiA9dGhpcy5jb25maXJtU2VydmljZS5nZXRTdGF0ZSgpLnN1YnNjcmliZSggc2hvd0hpZGUgPT4ge1xuICB0aGlzLnNob3dIaWRlID0gc2hvd0hpZGUgfSk7XG4gIHRoaXMuY29uZmlybWFyYXkuc2hvdyAgICA9IHRoaXMuc2hvd0hpZGU7XG5cbiAgdGhpcy5jb25maXJtYXJheS5iZ0NvbG9yICAgICAgICAgICA9IHRoaXMuYmdDb2xvcjtcbiAgdGhpcy5jb25maXJtYXJheS5jb25maXJtSGVhZGluZyAgICA9IHRoaXMuY29uZmlybUhlYWRpbmc7XG4gIHRoaXMuY29uZmlybWFyYXkuY29uZmlybUNvbnRlbnQgICAgPSB0aGlzLmNvbmZpcm1Db250ZW50O1xuICB0aGlzLmNvbmZpcm1hcmF5LmNvbmZpcm1DYW5jZWx0ZXh0ID0gdGhpcy5jb25maXJtQ2FuY2VsdGV4dDtcbiAgdGhpcy5jb25maXJtYXJheS5jb25maXJtT2theXRleHQgICA9IHRoaXMuY29uZmlybU9rYXl0ZXh0O1xuICB9XG5cbiAgaGlkZUNvbmZpcm0oKXtcbiAgIFxuICAgIHRoaXMuc2hvd0hpZGUgICAgICAgICAgICAgICAgICAgICAgID0gZmFsc2U7XG4gICAgdGhpcy5jb25maXJtYXJheS5zaG93ICAgICAgICAgICAgICAgPSBmYWxzZTtcbiAgICB0aGlzLmNvbmZpcm1FdnQuZW1pdChmYWxzZSk7IFxuICB9XG5cbiAgcmV0dXJDb25maXJtQm94KCl7XG4gICAgdGhpcy5jb25maXJtYXJheS5zaG93ICAgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dIaWRlICAgICAgICAgICA9IGZhbHNlO1xuICAgIHRoaXMuY29uZmlybUV2dC5lbWl0KHRydWUpOyAgIFxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iLCJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5neENvbmZpcm1Cb3hDb21wb25lbnQgfSBmcm9tICcuL25neC1jb25maXJtLWJveC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW05neENvbmZpcm1Cb3hDb21wb25lbnRdLFxuICBleHBvcnRzOiBbTmd4Q29uZmlybUJveENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4Q29uZmlybUJveE1vZHVsZSB7IH1cbiJdLCJuYW1lcyI6WyJTdWJqZWN0IiwiSW5qZWN0YWJsZSIsIkV2ZW50RW1pdHRlciIsIkNvbXBvbmVudCIsIklucHV0IiwiT3V0cHV0IiwiTmdNb2R1bGUiLCJDb21tb25Nb2R1bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtRQVNFO2lDQUZ3QixJQUFJQSxZQUFPLEVBQU87U0FFekI7Ozs7O1FBRWYsbUNBQUk7OztZQUFKO2dCQUNFLElBQUks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