aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/core/confirm/confirm.component.ts
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-01-27 16:54:44 +0100
committerChocobozzz <florian.bigard@gmail.com>2017-01-27 16:59:56 +0100
commit5769e1db8d3d5a1e3baa8dff23090cfe93d48a50 (patch)
treeacbb14fda82b7517734f22d4ca57fb5e1ff9ef04 /client/src/app/core/confirm/confirm.component.ts
parent7ddd02c9b8c1e088f6679a2227f105e6439fc992 (diff)
downloadPeerTube-5769e1db8d3d5a1e3baa8dff23090cfe93d48a50.tar.gz
PeerTube-5769e1db8d3d5a1e3baa8dff23090cfe93d48a50.tar.zst
PeerTube-5769e1db8d3d5a1e3baa8dff23090cfe93d48a50.zip
Client: better confirm box for a beautiful world
Diffstat (limited to 'client/src/app/core/confirm/confirm.component.ts')
-rw-r--r--client/src/app/core/confirm/confirm.component.ts61
1 files changed, 61 insertions, 0 deletions
diff --git a/client/src/app/core/confirm/confirm.component.ts b/client/src/app/core/confirm/confirm.component.ts
new file mode 100644
index 000000000..14b4ef324
--- /dev/null
+++ b/client/src/app/core/confirm/confirm.component.ts
@@ -0,0 +1,61 @@
1import { Component, HostListener, OnInit, ViewChild } from '@angular/core';
2
3import { ModalDirective } from 'ng2-bootstrap/modal';
4
5import { ConfirmService } from './confirm.service';
6
7export interface ConfigChangedEvent {
8 columns: { [id: string]: { isDisplayed: boolean }; };
9 config: { resultsPerPage: number };
10}
11
12@Component({
13 selector: 'my-confirm',
14 templateUrl: './confirm.component.html'
15})
16export class ConfirmComponent implements OnInit {
17 @ViewChild('confirmModal') confirmModal: ModalDirective;
18
19 title = '';
20 message = '';
21
22 constructor (private confirmService: ConfirmService) {
23 // Empty
24 }
25
26 ngOnInit() {
27 this.confirmModal.config = {
28 backdrop: 'static',
29 keyboard: false
30 };
31
32 this.confirmService.showConfirm.subscribe(
33 ({ title, message }) => {
34 this.title = title;
35 this.message = message;
36
37 this.showModal();
38 }
39 );
40 }
41
42 @HostListener('keydown.enter')
43 confirm() {
44 this.confirmService.confirmResponse.next(true);
45 this.hideModal();
46 }
47
48 @HostListener('keydown.esc')
49 abort() {
50 this.confirmService.confirmResponse.next(false);
51 this.hideModal();
52 }
53
54 showModal() {
55 this.confirmModal.show();
56 }
57
58 hideModal() {
59 this.confirmModal.hide();
60 }
61}