Skip to content

Commit

Permalink
feat(plex): incorpora params a swap modal service
Browse files Browse the repository at this point in the history
  • Loading branch information
ma7payne committed Jan 3, 2025
1 parent 4ebb12d commit 11ab145
Showing 1 changed file with 25 additions and 16 deletions.
41 changes: 25 additions & 16 deletions src/lib/core/service.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { BehaviorSubject, Subject } from 'rxjs';
import { Injectable, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';
import { Title } from '@angular/platform-browser';
import { BreakpointObserver } from '@angular/cdk/layout';
import { TitleCasePipe } from '@angular/common';
import { ComponentFactoryResolver, Injectable, ViewContainerRef } from '@angular/core';
import { Title } from '@angular/platform-browser';
import * as introJs from 'intro.js';
import { BehaviorSubject, Subject } from 'rxjs';
import { default as swal, SweetAlertType } from 'sweetalert2';
import { DropdownItem } from './../dropdown/dropdown-item.inteface';
import { NotificationsService } from './../toast/simple-notifications/services/notifications.service';
import { default as swal } from 'sweetalert2';
import { WizardConfig } from './wizard-config.interface';
import { PlexTitle } from './plex-title.interface';
import * as introJs from 'intro.js';
import { BreakpointObserver } from '@angular/cdk/layout';
import { WizardConfig } from './wizard-config.interface';

@Injectable()
export class Plex {
Expand Down Expand Up @@ -113,11 +113,13 @@ export class Plex {
*
* @memberof Plex
*/
confirm(params: { content: string, title: string, confirmButtonText: string, cancelButtonText: string });
confirm(params: {
content: string, title: string, confirmButtonText: string, cancelButtonText: string, confirmButtonType?: string, cancelButtonType?: string, type?: string, customClass?: string
});

confirm(content: string, title?: string, confirmButtonText?: string, cancelButtonText?: string);
confirm(content: string, title?: string, confirmButtonText?: string, cancelButtonText?: string, confirmButtonType?: string, cancelButtonType?: string, type?: string, customClass?: string);

confirm(content, title = 'Confirmación', confirmButtonText = 'Confirmar', cancelButtonText = 'Cancelar'): Promise<any> {
confirm(content, title = 'Confirmación', confirmButtonText = 'Confirmar', cancelButtonText = 'Cancelar', confirmButtonType = 'danger', cancelButtonType = 'success', type = 'question', customClass = ''): Promise<any> {

let htmlContent;

Expand All @@ -127,6 +129,10 @@ export class Plex {
htmlContent = content.content;
confirmButtonText = content.confirmButtonText || 'Confirmar';
cancelButtonText = content.cancelButtonText || 'Cancelar';
confirmButtonType = content.confirmButtonType || 'danger';
cancelButtonType = content.cancelButtonType || 'success';
type = content.type || 'question';
customClass = content.customClass || '';
} else {
htmlContent = content;
}
Expand All @@ -135,13 +141,14 @@ export class Plex {
swal({
title,
html: htmlContent,
type: 'question',
type: type as SweetAlertType,
showCancelButton: true,
confirmButtonText: confirmButtonText.toLocaleUpperCase(),
cancelButtonText: cancelButtonText.toLocaleUpperCase(),
buttonsStyling: false,
confirmButtonClass: 'btn btn-success',
cancelButtonClass: 'btn btn-danger',
confirmButtonClass: `btn btn-${confirmButtonType}`,
cancelButtonClass: `btn btn-${cancelButtonType}`,
customClass: customClass
}).then(() => resolve(true))
.catch(() => resolve(false));
});
Expand All @@ -158,9 +165,9 @@ export class Plex {
*
* @memberof Plex
*/
info(type: String, content: String, title?: String, timeOut?: Number, confirmButtonText?: String);
info(params: { type: String, content: String, title: String, confirmButtonText: String, timeOut?: Number });
info(type, content = '', title = 'Información', timeOut = 0, confirmButtonText = 'Aceptar') {
info(type: String, content: String, title?: String, timeOut?: Number, confirmButtonText?: String, customClass?: string);
info(params: { type: String, content: String, title: String, confirmButtonText: String, timeOut?: Number, customClass?: string });
info(type, content = '', title = 'Información', timeOut = 0, confirmButtonText = 'Aceptar', customClass = '') {
let modalType;

// Para compatibilidad
Expand All @@ -171,6 +178,7 @@ export class Plex {
title = type.title || 'Información';
confirmButtonText = type.confirmButtonText ? type.confirmButtonText.toLocaleUpperCase() : 'Aceptar';
timeOut = type.timeOut || 0;
customClass = type.customClass || '';
} else {
// TODO: Usar el tipo SweetAlertType?
if (type === 'danger') {
Expand All @@ -187,6 +195,7 @@ export class Plex {
buttonsStyling: false,
confirmButtonClass: `btn btn-${modalType === 'error' ? 'danger' : modalType}`,
timer: timeOut || null,
customClass: customClass,
}).catch(swal.noop);
}

Expand Down

0 comments on commit 11ab145

Please sign in to comment.