@neocomplexx/ngx-neo-modal
Version:
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.0.5.
16 lines (14 loc) • 19.1 kB
JavaScript
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@ng-bootstrap/ng-bootstrap"),require("@angular/core"),require("@angular/common"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@neocomplexx/ngx-neo-modal",["exports","@ng-bootstrap/ng-bootstrap","@angular/core","@angular/common","@angular/forms"],e):e(((t=t||self).neocomplexx=t.neocomplexx||{},t.neocomplexx["ngx-neo-modal"]={}),t.ngBootstrap,t.ng.core,t.ng.common,t.ng.forms)}(this,(function(t,e,n,o,i){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */function s(t,e,n,o){return new(n||(n=Promise))((function(i,s){function a(t){try{c(o.next(t))}catch(t){s(t)}}function r(t){try{c(o.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,r)}c((o=o.apply(t,e||[])).next())}))}function a(t,e){var n,o,i,s,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return s={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function r(s){return function(r){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,o&&(i=2&s[0]?o.return:s[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,s[1])).done)return i;switch(o=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,o=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(6===s[0]&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],o=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,r])}}}function r(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var o,i,s=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(o=s.next()).done;)a.push(o.value)}catch(t){i={error:t}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(i)throw i.error}}return a}function c(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(r(arguments[e]));return t}var l=function(){function t(t,e){this.activeModal=t,this.changeRef=e,this.config={title:{visibility:!0,text:"This is a title"},message:"This is a message",type:null,input:{visibility:!1,placeholder:"Ingrese su texto aquí",value:null,autofocus:!1,id:"neoInput"},button:{yes:{visibility:!1,autofocus:!1,text:"Si",id:"neoBtnYes"},no:{visibility:!1,autofocus:!1,text:"No",id:"neoBtnNo"},retry:{visibility:!1,autofocus:!1,text:"Reintentar",id:"neoBtnRetry"},cancel:{visibility:!0,autofocus:!1,text:"Cancelar",id:"neoBtnCancel"},accept:{visibility:!0,autofocus:!0,text:"Aceptar",id:"neoBtnAccept"}}}}return t.prototype.ngAfterViewInit=function(){var t=this;setTimeout((function(){return t.activeFocus()}),0)},t.prototype.activeFocus=function(t){void 0===t&&(t=!0);var e=this.getButtonFocus();if(!this.getInputFocus()||!t||e&&"neoBtnAccept"!==e){if(e){var n=this.btn.nativeElement.children.namedItem(e);n&&n.focus()}}else this.input.nativeElement.focus()},t.prototype.getButtonFocus=function(){var t=this,e=Object.keys(this.config.button).find((function(e){return t.config.button[e].visibility&&t.config.button[e].autofocus}));return e?this.config.button[e].id:null},t.prototype.getInputFocus=function(){return this.config.input.visibility&&this.config.input.autofocus?this.config.input.id:null},t.prototype.informResult=function(t){var e=p[t],n=new u(e,this.config.input.value);this.activeModal.close(n),this.activeModal.dismiss(n)},t.prototype.setFocus=function(){this.activeFocus(!1)},t.decorators=[{type:n.Component,args:[{template:'<div id="myModal">\n <div class="modal-header">\n <button type="button" class="close" aria-label="Close" data-dismiss="myModal" (click)="informResult(\'None\')">\n <span aria-hidden="true">×</span>\n </button>\n </div>\n <div class="modal-body text-center">\n <div class="icons">\n <div *ngIf="config.type === \'success\'" class="swal2-icon swal2-success swal2-animate-success-icon">\n <div class="swal2-success-circular-line-left"></div>\n <span class="swal2-success-line-tip swal2-animate-success-line-tip"></span>\n <span class="swal2-success-line-long swal2-animate-success-line-long"></span>\n <div class="swal2-success-ring"></div>\n <div class="swal2-success-fix"></div>\n <div class="swal2-success-circular-line-right"></div>\n </div>\n\n <div *ngIf="config.type === \'error\'" class="swal2-icon swal2-error swal2-animate-error-icon">\n <span class="swal2-x-mark swal2-animate-x-mark">\n <span class="swal2-x-mark-line-left"></span>\n <span class="swal2-x-mark-line-right"></span>\n </span>\n </div>\n\n <div *ngIf="config.type === \'warning\'" class="swal2-icon swal2-warning">!</div>\n\n <div *ngIf="config.type === \'info\'" class="swal2-icon swal2-info">i</div>\n\n <div *ngIf="config.type === \'question\'" class="swal2-icon swal2-question">?</div>\n </div>\n\n <h4 *ngIf=\'config.title.visibility\'>{{config.title.text}}</h4>\n <p>{{config.message}}</p>\n <div class="form-group">\n <input id="neoInput" #myInput *ngIf=\'config.input.visibility\' class="form-control" [(ngModel)]="config.input.value" placeholder={{config.input.placeholder}}\n type=\'text\' (keyup.enter)="setFocus()">\n </div>\n </div>\n\n <div #buttons class="modal-footer">\n <button id="neoBtnAccept" *ngIf=\'config.button.accept.visibility\' type="button" class="btn btn-primary" (click)="informResult(\'Accept\')">{{config.button.accept.text}}</button>\n <button id="neoBtnCancel" *ngIf=\'config.button.cancel.visibility\' type="button" class="btn btn-primary" (click)="informResult(\'Cancel\')">{{config.button.cancel.text}}</button>\n <button id="neoBtnYes" *ngIf=\'config.button.yes.visibility\' type="button" class="btn btn-primary" (click)="informResult(\'Yes\')">{{config.button.yes.text}}</button>\n <button id="neoBtnRetry" *ngIf=\'config.button.retry.visibility\' type="button" class="btn btn-primary" (click)="informResult(\'Retry\')">{{config.button.retry.text}}</button>\n <button id="neoBtnNo" *ngIf=\'config.button.no.visibility\' type="button" class="btn btn-primary" (click)="informResult(\'No\')">{{config.button.no.text}}</button>\n </div>\n\n</div>',styles:['.modal-footer,.modal-header{border:0}@-webkit-keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}@keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}.swal2-show{-webkit-animation:.3s showSweetAlert;animation:.3s showSweetAlert}.swal2-show.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-hide{-webkit-animation:.15s forwards hideSweetAlert;animation:.15s forwards hideSweetAlert}.swal2-hide.swal2-noanimation{-webkit-animation:none;animation:none}@-webkit-keyframes animate-success-tip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animate-success-tip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@-webkit-keyframes animate-success-long{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@keyframes animate-success-long{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes rotatePlaceholder{0%,5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%,12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%,12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}.swal2-animate-success-line-tip{-webkit-animation:.75s animate-success-tip;animation:.75s animate-success-tip}.swal2-animate-success-line-long{-webkit-animation:.75s animate-success-long;animation:.75s animate-success-long}@-webkit-keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}@keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}.swal2-animate-error-icon{-webkit-animation:.5s animate-error-icon;animation:.5s animate-error-icon}@-webkit-keyframes animate-x-mark{0%,50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}100%{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}@keyframes animate-x-mark{0%,50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}100%{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}.swal2-animate-x-mark{-webkit-animation:.5s animate-x-mark;animation:.5s animate-x-mark}@-webkit-keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right{-webkit-animation:4.25s ease-in rotatePlaceholder;animation:4.25s ease-in rotatePlaceholder}.swal2-icon{width:80px;height:80px;border:4px solid transparent;border-radius:50%;margin:20px auto 30px;padding:0;position:relative;box-sizing:content-box;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;display:block}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{position:absolute;height:5px;width:47px;background-color:#f27474;display:block;top:37px;border-radius:2px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{-webkit-transform:rotate(45deg);transform:rotate(45deg);left:17px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);right:16px}.swal2-icon.swal2-warning{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#f8bb86;border-color:#facea8;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-info{font-family:"Open Sans",sans-serif;color:#3fc3ee;border-color:#9de0f6;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-question{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#87adbd;border-color:#c9dae1;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{border-radius:50%;position:absolute;width:60px;height:120px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.swal2-icon.swal2-success .swal2-success-ring{width:80px;height:80px;border:4px solid rgba(165,220,134,.2);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.swal2-icon.swal2-success .swal2-success-fix{width:7px;height:90px;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{height:5px;background-color:#a5dc86;display:block;border-radius:2px;position:absolute;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}']}]}],t.ctorParameters=function(){return[{type:e.NgbActiveModal},{type:n.ChangeDetectorRef}]},t.propDecorators={btn:[{type:n.ViewChild,args:["buttons",{static:!0}]}],input:[{type:n.ViewChild,args:["myInput",{static:!1}]}]},t}();var u=function(t,e){this.ButtonResponse=t,this.messageInput=e};var p={None:0,Accept:1,Cancel:2,Yes:4,No:8,Retry:16};p[p.None]="None",p[p.Accept]="Accept",p[p.Cancel]="Cancel",p[p.Yes]="Yes",p[p.No]="No",p[p.Retry]="Retry";var f=function(){function t(t){var e=this;this.modalService=t,this.originalAlert=window.alert,window.alert=function(t){return s(e,void 0,void 0,(function(){return a(this,(function(e){switch(e.label){case 0:return[4,this.alert(t)];case 1:return e.sent(),[2]}}))}))}}return t.prototype.openModal=function(t){return s(this,void 0,void 0,(function(){var e;return a(this,(function(n){switch(n.label){case 0:return(e=this.modalService.open(l,{backdrop:"static",keyboard:!1,centered:!0,windowClass:"neoWindow"})).componentInstance.config=this.mergeDeep(e.componentInstance.config,t),e.componentInstance.changeRef.markForCheck(),[4,e.result];case 1:return[2,n.sent()]}}))}))},t.prototype.alert=function(t,e){return void 0===e&&(e=!1),s(this,void 0,void 0,(function(){var n;return a(this,(function(o){switch(o.label){case 0:return n={title:{visibility:!1},message:t,button:{cancel:{visibility:!1},accept:{autofocus:e}}},[4,this.openModal(n)];case 1:return o.sent(),[2]}}))}))},t.prototype.success=function(t,e){return void 0===e&&(e=!0),s(this,void 0,void 0,(function(){var n;return a(this,(function(o){return n={title:{text:"¡Buen trabajo!"},message:t,type:"success",button:{cancel:{visibility:!1},accept:{autofocus:e}}},[2,this.openModal(n)]}))}))},t.prototype.warning=function(t,e){return void 0===e&&(e=!1),s(this,void 0,void 0,(function(){var n;return a(this,(function(o){return n={title:{text:"¡Cuidado!"},message:t,type:"warning",button:{cancel:{visibility:!1},accept:{autofocus:e}}},[2,this.openModal(n)]}))}))},t.prototype.error=function(t,e){return void 0===e&&(e=!0),s(this,void 0,void 0,(function(){var n;return a(this,(function(o){return n={title:{text:"¡Error!"},message:t,type:"error",button:{cancel:{visibility:!1},accept:{autofocus:e}}},[2,this.openModal(n)]}))}))},t.prototype.info=function(t,e){return void 0===e&&(e=!0),s(this,void 0,void 0,(function(){var n;return a(this,(function(o){return n={title:{text:"¡Información importante!"},message:t,type:"info",button:{cancel:{visibility:!1},accept:{autofocus:e}}},[2,this.openModal(n)]}))}))},t.prototype.decision=function(t,e,n,o){return void 0===o&&(o=p.Cancel),s(this,void 0,void 0,(function(){var i,s,r,c=this;return a(this,(function(a){return i=o===p.Accept,s=o===p.Cancel,r={title:{text:"¿Está seguro?"},message:t,type:"question",button:{cancel:{autofocus:s},accept:{autofocus:i}}},[2,this.openModal(r).then((function(t){return t.ButtonResponse===p.Accept?e&&""!==e&&c.success(e):n&&c.info(n),Promise.resolve(t)}))]}))}))},t.prototype.input=function(t,e,n,o,i){return void 0===o&&(o=!0),void 0===i&&(i=p.Accept),s(this,void 0,void 0,(function(){var s,r,c,l=this;return a(this,(function(a){return s=i===p.Accept,r=i===p.Cancel,c={title:{text:t},message:"",input:{placeholder:e,visibility:!0,autofocus:o},button:{accepct:{autofocus:s},cancel:{autofocus:r}}},[2,this.openModal(c).then((function(t){return t.ButtonResponse===p.Accept&&n&&l.success(n),Promise.resolve(t)}))]}))}))},t.prototype.yesNoCancel=function(t,e,n){return s(this,void 0,void 0,(function(){return a(this,(function(o){return[2,this.custom(t,e,p.Yes|p.No|p.Cancel,n)]}))}))},t.prototype.custom=function(t,e,n,o){return s(this,void 0,void 0,(function(){var i,s,r,c,l,u,f,d,m,b,w;return a(this,(function(a){return i=(n&p.Accept)>0,s=(n&p.Yes)>0,r=(n&p.Cancel)>0,c=(n&p.No)>0,l=(n&p.Retry)>0,u=o===p.Accept,f=o===p.Yes,d=o===p.Cancel,m=o===p.No,b=o===p.Retry,w={title:{text:t},message:e,button:{yes:{visibility:s,autofocus:f},no:{visibility:c,autofocus:m},retry:{visibility:l,autofocus:b},cancel:{visibility:r,autofocus:d},accept:{visibility:i,autofocus:u}}},[2,this.openModal(w)]}))}))},t.prototype.isObject=function(t){return t&&"object"==typeof t&&!Array.isArray(t)},t.prototype.mergeDeep=function(t){for(var e,n,o=[],i=1;i<arguments.length;i++)o[i-1]=arguments[i];if(!o.length)return t;var s=o.shift();if(this.isObject(t)&&this.isObject(s))for(var a in s)this.isObject(s[a])?(t[a]||Object.assign(t,((e={})[a]={},e)),this.mergeDeep(t[a],s[a])):Object.assign(t,((n={})[a]=s[a],n));return this.mergeDeep.apply(this,c([t],o))},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[{type:e.NgbModal}]},t}();var d=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[f]}},t.decorators=[{type:n.NgModule,args:[{imports:[o.CommonModule,i.FormsModule],declarations:[l],exports:[l],entryComponents:[l]}]}],t}();t.AlertButton=p,t.AlertResult=u,t.NgxNeoModalComponent=l,t.NgxNeoModalModule=d,t.NgxNeoModalService=f,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=neocomplexx-ngx-neo-modal.umd.min.js.map