ng2-json-editor
Version:
Angular2 component for editing large json documents
45 lines • 1.68 kB
JavaScript
import { Directive, ElementRef, Input, Output, EventEmitter, HostListener } from '@angular/core';
var ContentModelDirective = (function () {
function ContentModelDirective(elementRef) {
this.elementRef = elementRef;
this.contentModelChange = new EventEmitter();
}
ContentModelDirective.prototype.ngOnChanges = function (changes) {
if (changes['contentModel']) {
this.refresh();
}
};
ContentModelDirective.prototype.onBlur = function () {
this.emitContentModelChange();
};
ContentModelDirective.prototype.onKeypress = function (event) {
if (event.key === 'Enter') {
this.emitContentModelChange();
}
};
ContentModelDirective.prototype.emitContentModelChange = function () {
var value = this.elementRef.nativeElement.innerText;
this.contentModelChange.emit(value);
};
ContentModelDirective.prototype.refresh = function () {
this.elementRef.nativeElement.innerText = this.contentModel;
};
return ContentModelDirective;
}());
export { ContentModelDirective };
ContentModelDirective.decorators = [
{ type: Directive, args: [{
selector: '[contentModel]'
},] },
];
/** @nocollapse */
ContentModelDirective.ctorParameters = function () { return [
{ type: ElementRef, },
]; };
ContentModelDirective.propDecorators = {
'contentModel': [{ type: Input },],
'contentModelChange': [{ type: Output },],
'onBlur': [{ type: HostListener, args: ['blur',] },],
'onKeypress': [{ type: HostListener, args: ['keypress', ['$event'],] },],
};
//# sourceMappingURL=content-model.directive.js.map