@kre-form/survey
Version:
186 lines • 12.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, EventEmitter, Input, Output, forwardRef, } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
/** @type {?} */
const EDITOR_VALUE_ACCESSOR = {
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef((/**
* @return {?}
*/
() => InlineEditorComponent)),
multi: true,
};
// <div
// [(contenteditableModel)]="value"
// [ngClass]="active==true?'inline_editor':'inline_editor_hidden'"
// role="textbox"
// [attr.contenteditable]="disabled ? 'false' : 'true'"
// [class.disabled]="disabled"
// (blur)="handleBlur($event)"
// (focus)="handleFocus($event)"
// [brMode]="brMode"
// [placeholder]="placeholder"
// [debounce]="debounce"
// (contenteditableModelChange)="onContenteditableModelChange($event)"
// ></div>
export class InlineEditorComponent {
//@ViewChild(ContenteditableModel,{static:true}) contenteditableModel: ContenteditableModel|undefined;
constructor() {
this._value = "";
this._classList = {};
this.debounce = '100';
this.placeholder = '';
this.className = 'inline_editor';
this.brMode = true;
this.blur = new EventEmitter();
this.focus = new EventEmitter();
this.disabled = false;
this.data = "";
this.active = false;
}
// focus() {
// this.contenteditableModel.doFocus();
// }
/**
* @return {?}
*/
ngOnInit() {
// if (this.className) {
// var splits = this.className.split(' ');
// for (var i = 0; i < splits.length; i++) {
// this._classList[splits[i]] = true;
// }
// }
}
/**
* @param {?} evt
* @return {?}
*/
handleFocus(evt) {
this.focus.emit(evt);
}
/**
* @param {?} evt
* @return {?}
*/
handleBlur(evt) {
this.blur.emit(evt);
}
/**
* @return {?}
*/
get value() {
return this._value;
}
/**
* @param {?} v
* @return {?}
*/
set value(v) {
if (v !== this._value) {
this._value = v;
this.onChange(v);
}
}
/**
* @param {?} evt
* @return {?}
*/
onContenteditableModelChange(evt) {
this.onTouched();
this.onChange(evt);
}
/**
* Implements ControlValueAccessor
* @param {?} value
* @return {?}
*/
writeValue(value) {
this._value = value;
//if (this.contenteditableModel && this.contenteditableModel.instance) {
//this.contenteditableModel.instance.setData(value);
//}
}
/**
* @param {?} _
* @return {?}
*/
onChange(_) { }
/**
* @return {?}
*/
onTouched() { }
/**
* @param {?} fn
* @return {?}
*/
registerOnChange(fn) {
this.onChange = fn;
}
/**
* @param {?} fn
* @return {?}
*/
registerOnTouched(fn) {
this.onTouched = fn;
}
}
InlineEditorComponent.decorators = [
{ type: Component, args: [{
selector: 'inline-editor',
providers: [EDITOR_VALUE_ACCESSOR],
template: `
<input *ngIf="active==true" nz-input [(ngModel)]="value" />
<div *ngIf="active==false"
class="inline_editor_show"
[innerHTML]="value | safeHtml">
</div>
`,
styles: [`
:host ::ng-deep {
}
`]
}] }
];
/** @nocollapse */
InlineEditorComponent.ctorParameters = () => [];
InlineEditorComponent.propDecorators = {
debounce: [{ type: Input }],
placeholder: [{ type: Input }],
className: [{ type: Input }],
brMode: [{ type: Input }],
blur: [{ type: Output }],
focus: [{ type: Output }],
disabled: [{ type: Input }],
data: [{ type: Input }],
active: [{ type: Input }],
value: [{ type: Input }]
};
if (false) {
/** @type {?} */
InlineEditorComponent.prototype._value;
/** @type {?} */
InlineEditorComponent.prototype._classList;
/** @type {?} */
InlineEditorComponent.prototype.debounce;
/** @type {?} */
InlineEditorComponent.prototype.placeholder;
/** @type {?} */
InlineEditorComponent.prototype.className;
/** @type {?} */
InlineEditorComponent.prototype.brMode;
/** @type {?} */
InlineEditorComponent.prototype.blur;
/** @type {?} */
InlineEditorComponent.prototype.focus;
/** @type {?} */
InlineEditorComponent.prototype.disabled;
/** @type {?} */
InlineEditorComponent.prototype.data;
/** @type {?} */
InlineEditorComponent.prototype.active;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWVkaXRvci5jb21vbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrcmUtZm9ybS9zdXJ2ZXkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9pbmxpbmUtZWRpdG9yL2lubGluZS1lZGl0b3IuY29tb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxnQkFBZ0IsQ0FBQzs7TUFJbkUscUJBQXFCLEdBQVE7SUFDakMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVTs7O0lBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLEVBQUM7SUFDcEQsS0FBSyxFQUFFLElBQUk7Q0FDWjs7Ozs7Ozs7Ozs7Ozs7QUFpQ0QsTUFBTSxPQUFPLHFCQUFxQjs7SUFjaEM7UUFiQSxXQUFNLEdBQUMsRUFBRSxDQUFDO1FBQ1YsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNQLGFBQVEsR0FBVyxLQUFLLENBQUM7UUFDekIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFXLGVBQWUsQ0FBQztRQUNwQyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2IsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixTQUFJLEdBQUssRUFBRSxDQUFDO1FBQ1osV0FBTSxHQUFTLEtBQUssQ0FBQTtJQUdkLENBQUM7Ozs7Ozs7SUFNaEIsUUFBUTtRQUNOLHdCQUF3QjtRQUN4Qiw0Q0FBNEM7UUFDNUMsOENBQThDO1FBQzlDLHlDQUF5QztRQUN6QyxNQUFNO1FBQ04sSUFBSTtJQUNOLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLEdBQU87UUFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxVQUFVLENBQUMsR0FBTztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBQ0QsSUFDSSxLQUFLLENBQUMsQ0FBSztRQUNiLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjtJQUNILENBQUM7Ozs7O0lBRUQsNEJBQTRCLENBQUMsR0FBTztRQUNsQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDOzs7Ozs7SUFLRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQix3RUFBd0U7UUFDdEUsb0RBQW9EO1FBQ3RELEdBQUc7SUFDTCxDQUFDOzs7OztJQUNELFFBQVEsQ0FBQyxDQUFNLElBQUcsQ0FBQzs7OztJQUNuQixTQUFTLEtBQUksQ0FBQzs7Ozs7SUFDZCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBQ0QsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7WUF0RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDbEMsUUFBUSxFQUFFOzs7Ozs7R0FNVDt5QkFFQzs7O0tBR0M7YUFFSjs7Ozs7dUJBSUUsS0FBSzswQkFDTCxLQUFLO3dCQUNMLEtBQUs7cUJBQ0wsS0FBSzttQkFDTCxNQUFNO29CQUNOLE1BQU07dUJBQ04sS0FBSzttQkFDTCxLQUFLO3FCQUNMLEtBQUs7b0JBNkJMLEtBQUs7Ozs7SUF2Q04sdUNBQVU7O0lBQ1YsMkNBQWdCOztJQUNoQix5Q0FBa0M7O0lBQ2xDLDRDQUFrQzs7SUFDbEMsMENBQTZDOztJQUM3Qyx1Q0FBdUI7O0lBQ3ZCLHFDQUFvQzs7SUFDcEMsc0NBQXFDOztJQUNyQyx5Q0FBMEI7O0lBQzFCLHFDQUFxQjs7SUFDckIsdUNBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIGZvcndhcmRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IENvbnRlbnRlZGl0YWJsZU1vZGVsIH0gZnJvbSAnLi9jb250ZW50ZWRpdGFibGUnOyBcclxuXHJcbmNvbnN0IEVESVRPUl9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElubGluZUVkaXRvckNvbXBvbmVudCksXHJcbiAgbXVsdGk6IHRydWUsXHJcbn07XHJcblxyXG4vLyA8ZGl2XHJcbi8vICAgICAgIFsoY29udGVudGVkaXRhYmxlTW9kZWwpXT1cInZhbHVlXCJcclxuLy8gICAgICAgW25nQ2xhc3NdPVwiYWN0aXZlPT10cnVlPydpbmxpbmVfZWRpdG9yJzonaW5saW5lX2VkaXRvcl9oaWRkZW4nXCJcclxuLy8gICAgICAgcm9sZT1cInRleHRib3hcIlxyXG4vLyAgICAgICBbYXR0ci5jb250ZW50ZWRpdGFibGVdPVwiZGlzYWJsZWQgPyAnZmFsc2UnIDogJ3RydWUnXCJcclxuLy8gICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuLy8gICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1cigkZXZlbnQpXCJcclxuLy8gICAgICAgKGZvY3VzKT1cImhhbmRsZUZvY3VzKCRldmVudClcIlxyXG4vLyAgICAgICBbYnJNb2RlXT1cImJyTW9kZVwiXHJcbi8vICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbi8vICAgICAgIFtkZWJvdW5jZV09XCJkZWJvdW5jZVwiXHJcbi8vICAgICAgIChjb250ZW50ZWRpdGFibGVNb2RlbENoYW5nZSk9XCJvbkNvbnRlbnRlZGl0YWJsZU1vZGVsQ2hhbmdlKCRldmVudClcIlxyXG4vLyAgICAgPjwvZGl2PlxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbmxpbmUtZWRpdG9yJyxcclxuICBwcm92aWRlcnM6IFtFRElUT1JfVkFMVUVfQUNDRVNTT1JdLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aW5wdXQgKm5nSWY9XCJhY3RpdmU9PXRydWVcIiAgbnotaW5wdXQgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIC8+IFxyXG4gICAgPGRpdiAqbmdJZj1cImFjdGl2ZT09ZmFsc2VcIiBcclxuICAgICAgY2xhc3M9XCJpbmxpbmVfZWRpdG9yX3Nob3dcIlxyXG4gICAgICBbaW5uZXJIVE1MXT1cInZhbHVlIHwgc2FmZUh0bWxcIj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgXHJcbiAgICAgIDpob3N0IDo6bmctZGVlcCB7XHJcbiAgICAgIH1cclxuICAgIGAsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElubGluZUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBfdmFsdWU9XCJcIjtcclxuICBfY2xhc3NMaXN0ID0ge307XHJcbiAgQElucHV0KCkgZGVib3VuY2U6IHN0cmluZyA9ICcxMDAnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBjbGFzc05hbWU6IHN0cmluZyA9ICdpbmxpbmVfZWRpdG9yJztcclxuICBASW5wdXQoKSBick1vZGUgPSB0cnVlO1xyXG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRhdGE6YW55PVwiXCI7XHJcbiAgQElucHV0KCkgYWN0aXZlOmJvb2xlYW49ZmFsc2UgXHJcbiAgLy9AVmlld0NoaWxkKENvbnRlbnRlZGl0YWJsZU1vZGVsLHtzdGF0aWM6dHJ1ZX0pIGNvbnRlbnRlZGl0YWJsZU1vZGVsOiBDb250ZW50ZWRpdGFibGVNb2RlbHx1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgLy8gICBmb2N1cygpIHtcclxuICAvLyAgICAgdGhpcy5jb250ZW50ZWRpdGFibGVNb2RlbC5kb0ZvY3VzKCk7XHJcbiAgLy8gICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgLy8gaWYgKHRoaXMuY2xhc3NOYW1lKSB7XHJcbiAgICAvLyAgIHZhciBzcGxpdHMgPSB0aGlzLmNsYXNzTmFtZS5zcGxpdCgnICcpO1xyXG4gICAgLy8gICBmb3IgKHZhciBpID0gMDsgaSA8IHNwbGl0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgLy8gICAgIHRoaXMuX2NsYXNzTGlzdFtzcGxpdHNbaV1dID0gdHJ1ZTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRm9jdXMoZXZ0OmFueSkge1xyXG4gICAgdGhpcy5mb2N1cy5lbWl0KGV2dCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVCbHVyKGV2dDphbnkpIHtcclxuICAgIHRoaXMuYmx1ci5lbWl0KGV2dCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgdmFsdWUodjphbnkpIHtcclxuICAgIGlmICh2ICE9PSB0aGlzLl92YWx1ZSkge1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgIHRoaXMub25DaGFuZ2Uodik7XHJcbiAgICB9XHJcbiAgfSBcclxuICBcclxuICBvbkNvbnRlbnRlZGl0YWJsZU1vZGVsQ2hhbmdlKGV2dDphbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKGV2dCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbiAgICovXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgLy9pZiAodGhpcy5jb250ZW50ZWRpdGFibGVNb2RlbCAmJiB0aGlzLmNvbnRlbnRlZGl0YWJsZU1vZGVsLmluc3RhbmNlKSB7XHJcbiAgICAgIC8vdGhpcy5jb250ZW50ZWRpdGFibGVNb2RlbC5pbnN0YW5jZS5zZXREYXRhKHZhbHVlKTtcclxuICAgIC8vfVxyXG4gIH1cclxuICBvbkNoYW5nZShfOiBhbnkpIHt9XHJcbiAgb25Ub3VjaGVkKCkge31cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbn1cclxuIl19