add confirm modal directive
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
import { Directive, Input, TemplateRef, HostListener } from '@angular/core';
|
||||
import { ConfirmModalService } from './confirm-modal.service';
|
||||
import { IDataSource } from '@poweredsoft/data';
|
||||
|
||||
@Directive({
|
||||
selector: '[psbxConfirmModal]'
|
||||
})
|
||||
export class ConfirmModalDirective {
|
||||
|
||||
constructor(private confirmModalService: ConfirmModalService) { }
|
||||
|
||||
|
||||
@Input() dataSource: IDataSource<any>;
|
||||
@Input() command: string;
|
||||
@Input() model: any;
|
||||
@Input() template: TemplateRef<any>;
|
||||
@Input() commandTitle: string;
|
||||
@Input() refreshOnSuccess: boolean;
|
||||
@Input() commandText: string;
|
||||
@Input() cancelText: string;
|
||||
@Input() animated: boolean;
|
||||
|
||||
|
||||
@HostListener('click')
|
||||
wasClicked() {
|
||||
this.dataSource.resolveCommandModelByName({
|
||||
command: this.command,
|
||||
model: this.model
|
||||
}).subscribe(commandModel => {
|
||||
this.confirmModalService.confirm({
|
||||
message: 'Do you want to delete this merchant?',
|
||||
yesText: 'yes delete this merchant',
|
||||
yesClass: 'danger',
|
||||
noText: 'no please dont',
|
||||
noClass: 'light'
|
||||
}).subscribe(result => {
|
||||
if(result){
|
||||
this.dataSource.executeCommandByName(this.command, commandModel).subscribe(
|
||||
res => {
|
||||
this.dataSource.refresh();
|
||||
},
|
||||
err => {
|
||||
console.log(err);
|
||||
alert('failed');
|
||||
}
|
||||
);
|
||||
}
|
||||
})
|
||||
|
||||
}, error => {
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,16 +3,18 @@ import { CommonModule } from '@angular/common';
|
||||
import { ConfirmModalComponent } from './confirm-modal-components/confirm-modal/confirm-modal.component';
|
||||
import { ModalModule } from 'ngx-bootstrap/modal';
|
||||
import { ConfirmModalService } from './confirm-modal.service';
|
||||
import { ConfirmModalDirective } from './confirm-modal.directive';
|
||||
|
||||
|
||||
|
||||
@NgModule({
|
||||
declarations: [ConfirmModalComponent],
|
||||
declarations: [ConfirmModalComponent, ConfirmModalDirective],
|
||||
imports: [
|
||||
CommonModule,
|
||||
ModalModule.forRoot(),
|
||||
|
||||
],
|
||||
exports:[ConfirmModalDirective],
|
||||
providers: [ConfirmModalService]
|
||||
})
|
||||
export class ConfirmModalModule { }
|
||||
|
||||
@@ -10,5 +10,6 @@ export * from './lib/pagination/psbxPagination.module';
|
||||
export * from './lib/pagination/data-source-pagination/data-source-pagination.component';
|
||||
export * from './lib/confirm-modal/confirm-modal.module';
|
||||
export * from './lib/confirm-modal/confirm-modal.service';
|
||||
export * from './lib/confirm-modal/confirm-modal.directive';
|
||||
export * from './lib/spinner/spinner.module';
|
||||
export * from './lib/spinner/spinner/spinner.component';
|
||||
Reference in New Issue
Block a user