Added header component for macro

This commit is contained in:
NejcZdovc
2016-09-21 20:40:46 +02:00
parent e50561170b
commit e9a6e30a5d
10 changed files with 96 additions and 69 deletions

View File

@@ -1,45 +0,0 @@
import { Directive, ElementRef, EventEmitter, Input, OnChanges, Output, Renderer, SimpleChanges } from '@angular/core';
const KEY_ENTER = 13;
@Directive({
selector: '[contenteditableModel]',
host: {
'(blur)': 'onBlur()',
'(keypress)': 'onKeypress($event)'
}
})
export class ContenteditableDirective implements OnChanges {
@Input('contenteditableModel') model: any;
@Input('contenteditableUpdateOnEnter') updateOnEnter: boolean;
@Output('contenteditableModelChange') update = new EventEmitter();
private lastViewModel: any;
constructor(private elRef: ElementRef, private renderer: Renderer) {}
ngOnChanges(changes: SimpleChanges) {
if (changes[this.lastViewModel]) {
this.lastViewModel = this.model;
this.refreshView();
}
}
onKeypress(event: any) {
if (this.updateOnEnter && (event.which === KEY_ENTER)) {
// Finish editing when Enter pressed
this.renderer.invokeElementMethod(this.elRef.nativeElement, 'blur');
return false;
}
}
onBlur() {
let value = this.elRef.nativeElement.innerText;
this.lastViewModel = value;
this.update.emit(value);
}
private refreshView() {
this.elRef.nativeElement.innerText = this.model;
}
}

View File

@@ -1 +0,0 @@
export { ContenteditableDirective } from './contenteditable.directive';