From 60ce10d1e39e18e561600a3e3c2cfb264a2a6b0a Mon Sep 17 00:00:00 2001 From: Eugene Pankov Date: Sat, 15 Jul 2017 19:11:49 +0200 Subject: [PATCH] tab renaming (fixes #19) --- .../components/renameTabModal.component.pug | 6 +++++ .../components/renameTabModal.component.ts | 22 +++++++++++++++++++ .../src/components/tabHeader.component.pug | 2 +- .../src/components/tabHeader.component.ts | 3 +++ 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 terminus-core/src/components/renameTabModal.component.pug create mode 100644 terminus-core/src/components/renameTabModal.component.ts diff --git a/terminus-core/src/components/renameTabModal.component.pug b/terminus-core/src/components/renameTabModal.component.pug new file mode 100644 index 00000000..901ceb22 --- /dev/null +++ b/terminus-core/src/components/renameTabModal.component.pug @@ -0,0 +1,6 @@ +.modal-body + input.form-control(type='text', [(ngModel)]='value', (keyup.enter)='save()', autofocus) + +.modal-footer + button.btn.btn-outline-primary((click)='save()') Save + button.btn.btn-outline-secondary((click)='close()') Cancel diff --git a/terminus-core/src/components/renameTabModal.component.ts b/terminus-core/src/components/renameTabModal.component.ts new file mode 100644 index 00000000..bbca5daa --- /dev/null +++ b/terminus-core/src/components/renameTabModal.component.ts @@ -0,0 +1,22 @@ +import { Component, Input } from '@angular/core' +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap' + +@Component({ + selector: 'rename-tab-modal', + template: require('./renameTabModal.component.pug'), +}) +export class RenameTabModalComponent { + @Input() value: string + + constructor ( + private modalInstance: NgbActiveModal + ) { } + + save () { + this.modalInstance.close(this.value) + } + + close () { + this.modalInstance.dismiss() + } +} diff --git a/terminus-core/src/components/tabHeader.component.pug b/terminus-core/src/components/tabHeader.component.pug index 4707c9bf..b6b90bff 100644 --- a/terminus-core/src/components/tabHeader.component.pug +++ b/terminus-core/src/components/tabHeader.component.pug @@ -1,3 +1,3 @@ .index {{index + 1}} -.name {{tab.title || tab.customTitle}} +.name {{tab.customTitle || tab.title}} button((click)='closeClicked.emit()') × diff --git a/terminus-core/src/components/tabHeader.component.ts b/terminus-core/src/components/tabHeader.component.ts index 1392b28a..0b47b1c8 100644 --- a/terminus-core/src/components/tabHeader.component.ts +++ b/terminus-core/src/components/tabHeader.component.ts @@ -22,6 +22,9 @@ export class TabHeaderComponent { @HostListener('dblclick') onDoubleClick (): void { let modal = this.ngbModal.open(RenameTabModalComponent) modal.componentInstance.value = this.tab.customTitle || this.tab.title + modal.result.then(result => { + this.tab.customTitle = result + }).catch(() => null) } @HostListener('auxclick', ['$event']) onAuxClick ($event: MouseEvent): void {