File

projects/netgrif-components-core/src/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.ts

Extends

AbstractTextErrorsComponent

Implements

OnInit

Metadata

selector ncc-abstract-html-area-field

Index

Properties
Methods
Inputs

Constructor

constructor(_translate: TranslateService, _sanitizer: DomSanitizer, dataFieldPortalData: DataFieldPortalData<TextAreaField>)
Parameters :
Name Type Optional
_translate TranslateService No
_sanitizer DomSanitizer No
dataFieldPortalData DataFieldPortalData<TextAreaField> No

Inputs

dataField
Type : T
formControlRef
Type : FormControl
showLargeLayout
Type : WrappedBoolean

Methods

Public getErrorMessage
getErrorMessage()
Returns : any
ngOnInit
ngOnInit()
Returns : void
Protected sanitizeValue
sanitizeValue()
Returns : SafeHtml
Protected buildErrorMessage
buildErrorMessage(textField: TextField | TextAreaField, formControlRef: FormControl)
Parameters :
Name Type Optional
textField TextField | TextAreaField No
formControlRef FormControl No
Returns : any
Protected resolveErrorMessage
resolveErrorMessage(textField: TextField | TextAreaField, search: string, generalMessage: string)
Parameters :
Name Type Optional
textField TextField | TextAreaField No
search string No
generalMessage string No
Returns : any
Public checkPropertyInComponent
checkPropertyInComponent(property: string)
Parameters :
Name Type Optional
property string No
Returns : boolean
Public hasHint
hasHint()
Returns : boolean
Public hasTitle
hasTitle()
Returns : boolean
ngOnDestroy
ngOnDestroy()
Returns : void

Properties

Public disabledDisplay
Type : SafeHtml
Public quillModules
Type : object
Default value : { toolbar: [ ['bold', 'italic', 'underline', 'strike'], // toggled buttons ['blockquote', 'code-block'], [{ list: 'ordered'}, { list: 'bullet' }], // ordered/unordered list [{ script: 'sub'}, { script: 'super' }], // superscript/subscript [{ indent: '-1'}, { indent: '+1' }], // outdent/indent [{ header: [1, 2, 3, 4, 5, 6, false] }], [{ color: [] }, { background: [] }], // dropdown with defaults from theme [{ font: [] }], [{ align: '' }, { align: 'center' }, { align: 'right' }, { align: 'justify' }], // alignment buttons ['clean'], // remove formatting button ['link', 'image', 'video'] // link and image, video ] }
Public dataField
Type : T
Decorators :
@Input()
Public formControlRef
Type : FormControl
Decorators :
@Input()
Public showLargeLayout
Type : WrappedBoolean
Decorators :
@Input()
import {Component, Inject, OnInit, Optional} from '@angular/core';
import {TranslateService} from '@ngx-translate/core';
import {AbstractTextErrorsComponent} from '../abstract-text-errors.component';
import {TextAreaField} from '../models/text-area-field';
import {DomSanitizer, SafeHtml} from '@angular/platform-browser';
import {DATA_FIELD_PORTAL_DATA, DataFieldPortalData} from "../../models/data-field-portal-data-injection-token";

@Component({
    selector: 'ncc-abstract-html-area-field',
    template: ''
})
export abstract class AbstractHtmlTextareaFieldComponent extends AbstractTextErrorsComponent<TextAreaField> implements OnInit {

    public quillModules = {
        toolbar: [
            ['bold', 'italic', 'underline', 'strike'],        // toggled buttons
            ['blockquote', 'code-block'],
            [{ list: 'ordered'}, { list: 'bullet' }],      // ordered/unordered list
            [{ script: 'sub'}, { script: 'super' }],      // superscript/subscript
            [{ indent: '-1'}, { indent: '+1' }],          // outdent/indent

            [{ header: [1, 2, 3, 4, 5, 6, false] }],

            [{ color: [] }, { background: [] }],          // dropdown with defaults from theme
            [{ font: [] }],
            [{ align: '' }, { align: 'center' }, { align: 'right' }, { align: 'justify' }],     // alignment buttons

            ['clean'],                                         // remove formatting button

            ['link', 'image', 'video']                         // link and image, video
        ]
    };

    public disabledDisplay: SafeHtml;

    constructor(protected _translate: TranslateService, protected _sanitizer: DomSanitizer,
                @Optional() @Inject(DATA_FIELD_PORTAL_DATA) dataFieldPortalData: DataFieldPortalData<TextAreaField>) {
        super(_translate, dataFieldPortalData);
    }

    ngOnInit(): void {
        this.disabledDisplay = this.sanitizeValue();
        this.dataField.valueChanges().subscribe(() => {
            this.disabledDisplay = this.sanitizeValue();
        });
    }

    protected sanitizeValue(): SafeHtml {
        return this._sanitizer.bypassSecurityTrustHtml(this.dataField.value !== undefined ? this.dataField.value : '');
    }

    public getErrorMessage() {
        return this.buildErrorMessage(this.dataField, this.formControlRef);
    }
}
Legend
Html element
Component
Html element with directive

result-matching ""

    No results matching ""