core/modal/modal.component.ts
C8y modal component.
Creating custom modal:
* import { Component } from "@angular/core";
* import { Subject } from 'rxjs';
*
* @Component({
* selector: "my-modal",
* template: `
<c8y-modal title="CustomTitle"
(onClose)="onClose($event)"
(onDismiss)="onDismiss($event)"
[labels]="labels"
[disabled]="true" <- will disable ok button
>
<span>I am body of modal</span>
<span>For simple string use body="string"</span>
</c8y-modal>`
* })
*
* export class MyModalComponent {
*
* closeSubject: Subject<boolean> = new Subject();
* labels : ModalLabels = {ok: "customOK", cancel: "customCancel"};
*
* onDismiss(event){
* this.closeSubject.next(false);
* }
*
* onClose(event) {
* this.closeSubject.next(true);
* }
* }
*
Showing modal:
* import { BsModalService } from "ngx-bootstrap/modal";
*
* constructor(
* public bsModalService: BsModalService,
* ) {}
*
* showModal() {
* const modalRef = this.bsModalService.show(MyModalComponent);
* modalRef.content.closeSubject.subscribe(result => {
* console.log('results:', result);
* });
* }
*
selector | c8y-modal |
templateUrl | ./modal.component.html |
Methods |
Inputs |
Outputs |
HostListeners |
Accessors |
constructor(modal: BsModalRef)
|
||||||
Parameters :
|
body
|
Type : |
close
|
Type : |
customFooter
|
Type :
Default value : |
disabled
|
Default value : |
dismiss
|
Type : |
labels
|
title
|
Type : |
onClose
|
$event Type: EventEmitter<boolean>
|
onDismiss
|
$event Type: EventEmitter<boolean>
|
document:keydown.enter |
Arguments : '$event'
|
document:keydown.enter(event: KeyboardEvent)
|
_close |
_close()
|
Returns :
void
|
_dismiss |
_dismiss()
|
Returns :
void
|
labels | |||
getlabels()
|
|||
setlabels(undefined)
|
|||
Parameters :
Returns :
void
|
<div class="modal-header">
<ng-content select="[c8y-modal-title]"></ng-content>
<h3 [hidden]="!title">
{{ title | translate }}
</h3>
</div>
<div class="modal-body">
<p [hidden]="!title" class="text-center text-break-word">
{{ body }}
</p>
<ng-content></ng-content>
</div>
<div
class="modal-footer"
*ngIf="!customFooter">
<ng-content select="[c8y-modal-footer]"></ng-content>
<button
title="{{ labels.cancel | translate }}"
*ngIf="labels.cancel"
class="btn btn-default"
(click)="_dismiss()"
>
{{ labels.cancel | translate }}
</button>
<button
title="{{ labels.ok | translate }}"
*ngIf="labels.ok"
class="btn btn-primary"
(click)="_close()"
[disabled]="disabled"
>
{{ labels.ok | translate }}
</button>
</div>