UNPKG

@kre-form/survey

Version:

186 lines 12.2 kB
/** * @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