{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/basic/rich-text-editor/src/rich-text-editor.props.ts","../../../../../projects/components/widgets/basic/rich-text-editor/src/rich-text-editor.component.ts","../../../../../projects/components/widgets/basic/rich-text-editor/src/rich-text-editor.component.html","../../../../../projects/components/widgets/basic/rich-text-editor/src/index.ts"],"sourcesContent":["import {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\nimport {FormWidgetType} from '@wm/core';\n\nexport const richTextProps = new Map(\n    [\n        ['class', PROP_STRING],\n        ['datavaluesource', PROP_ANY],\n        ['datavalue', PROP_STRING],\n        ['height', PROP_STRING],\n        ['hint', PROP_STRING],\n        ['arialabel', PROP_STRING],\n        ['name', PROP_STRING],\n        ['placeholder', PROP_STRING],\n        ['readonly', PROP_BOOLEAN],\n        ['show', {value: true, ...PROP_BOOLEAN}],\n        ['showpreview', {value: false, ...PROP_BOOLEAN}],\n        ['tabindex', {value: 0, ...PROP_NUMBER}]\n    ]\n);\n\nexport const registerProps = () => {\n    register(\n        'wm-richtexteditor',\n        richTextProps\n    );\n    registerFormWidget(\n        FormWidgetType.RICHTEXT,\n        new Map(richTextProps)\n    );\n};\n","import {Component, Inject, Injector, NgZone, OnDestroy, OnInit, Optional, SecurityContext} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\n\nimport {setAttr, setCSS, setHtml} from '@wm/core';\nimport {APPLY_STYLES_TYPE, provideAs, provideAsWidgetRef, SanitizePipe, styler} from '@wm/components/base';\nimport {BaseFormCustomComponent} from '@wm/components/input/base-form-custom';\n\nimport {registerProps} from './rich-text-editor.props';\nimport {extend} from \"lodash-es\";\n\n\nconst WIDGET_INFO = {widgetType: 'wm-richtexteditor', hostClass: 'app-richtexteditor clearfix'};\n\nconst getChangeEvt = () => {\n    let changeEvt;\n    // for IE the event constructor doesn't work so use the createEvent proto\n    if (typeof(Event) === 'function') {\n        changeEvt = new Event('change');\n    } else {\n        changeEvt = document.createEvent('Event');\n        changeEvt.initEvent('change', true, true);\n    }\n    return changeEvt;\n};\n\ndeclare const _, $;\n\nconst overrideSummerNote = () => {\n    if (!$.summernote.__overidden) {\n        // override summernote methods\n\n        const origFn = $.summernote.ui_template().button.bind($.summernote);\n\n        $.summernote.ui_template.button = (...args) => {\n\n            const retVal = origFn(...args);\n            const origCallback = retVal.callback;\n\n            retVal.callback = ($node, options) => {\n                // add bs3 btn class to the buttons\n                $node.addClass('btn');\n                return origCallback($node, options);\n            };\n            return retVal;\n        };\n        $.summernote.__overidden = true;\n    }\n};\n\n@Component({\n    standalone: true,\n    selector: 'div[wmRichTextEditor]',\n    templateUrl: './rich-text-editor.component.html',\n    providers: [\n        provideAs(RichTextEditorComponent, NG_VALUE_ACCESSOR, true),\n        provideAsWidgetRef(RichTextEditorComponent)\n    ],\n    exportAs: 'wmRichTextEditor'\n})\nexport class RichTextEditorComponent extends BaseFormCustomComponent implements OnInit, OnDestroy {\n    static initializeProps = registerProps();\n\n    $richTextEditor;\n    $hiddenInputEle;\n\n    proxyModel;\n    _operationStack = [];\n    isEditorLoaded = false;\n\n    public showpreview: any;\n    public disabled: boolean;\n\n    EDITOR_DEFAULT_OPTIONS = {\n        toolbar: [\n            // [groupName, [list of button]]\n            ['misc', ['undo', 'redo']],\n            ['style', ['style']],\n            ['fontname', ['fontname']],\n            ['fontsize', ['fontsize']],\n            ['height', ['height']],\n            ['style', ['bold', 'italic', 'underline', 'clear']],\n            ['font', ['strikethrough', 'superscript', 'subscript']],\n            ['color', ['color']],\n            ['insert', ['table', 'picture', 'link', 'video', 'hr']],\n            ['para', ['ul', 'ol', 'paragraph']],\n            ['misc', ['codeview', 'fullscreen', 'help']]\n        ],\n        callbacks: {\n            onInit: () => {\n                this.isEditorLoaded = true;\n                if (this._operationStack.length) {\n                    this._operationStack.forEach(operationParam => {\n                        const key = Array.from(operationParam.keys())[0],\n                            val = operationParam.get(key);\n                        this.performEditorOperation(key, val);\n                    });\n                    this._operationStack = [];\n                }\n            },\n            onChange: (contents, editable) => {\n                this.proxyModel = this.sanitizePipe.transform(contents, SecurityContext.HTML);\n                this.invokeOnChange(contents, getChangeEvt(), true);\n                this.invokeOnTouched();\n            }\n        },\n        fontNames: ['Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Merriweather'],\n        placeholder: 'write here...',\n        minHeight: 100,\n        disableResizeEditor: true\n    };\n\n    get htmlcontent() {\n        return this.performEditorOperation('code');\n    }\n\n    // @ts-ignore\n    get datavalue() {\n        return this.htmlcontent;\n    }\n\n    // @ts-ignore\n    set datavalue(nv) {\n        if (nv !== undefined && nv !== null) {\n            this.$hiddenInputEle.val(nv);\n            this.performEditorOperation('reset');\n            this.performEditorOperation('code', nv);\n        }\n    }\n\n    constructor(inj: Injector, private sanitizePipe: SanitizePipe, private ngZone: NgZone, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n        super(inj, WIDGET_INFO, explicitContext);\n        styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER, ['height']);\n        overrideSummerNote();\n    }\n\n    ngOnInit() {\n        this.$richTextEditor = $(this.nativeElement.querySelector('[richTextEditor]'));\n        this.$hiddenInputEle = $(this.nativeElement.querySelector('input.model-holder'));\n        super.ngOnInit();\n        this.initEditor();\n        $('.note-editable').attr('aria-label', 'textbox');\n    }\n\n    initEditor() {\n        this.ngZone.runOutsideAngular(() => {\n            this.invokeEventCallback('beforerender', {'$event' : {}});\n            this.$richTextEditor.summernote(this.EDITOR_DEFAULT_OPTIONS);\n        });\n\n    }\n\n    getDefaultOptions() {\n        return this.EDITOR_DEFAULT_OPTIONS;\n    }\n\n    getLib() {\n        return 'summernote';\n    }\n\n    overrideDefaults(options) {\n        extend(this.EDITOR_DEFAULT_OPTIONS, options);\n    }\n\n    onPropertyChange(key: string, nv: any, ov?: any) {\n        if (key === 'placeholder') {\n            this.performEditorOperation('placeholder', nv);\n        } else if (key === 'disabled' || key === 'readonly') {\n            this.performEditorOperation(nv ? 'disable' : 'enable');\n        } else {\n            super.onPropertyChange(key, nv, ov);\n        }\n    }\n\n    onStyleChange(key, nv, ov) {\n        if (key === 'height') {\n            this.performEditorOperation('height', nv);\n        }\n    }\n\n    performEditorOperation(key, value?) {\n        if (this.isEditorLoaded) {\n            if (key === 'height') {\n                setCSS(this.nativeElement.querySelector('div.note-editable'), key, value, true);\n            } else if (key === 'placeholder') {\n                setAttr(this.nativeElement, key, value);\n                setHtml(this.nativeElement.querySelector('div.note-placeholder'), value, true);\n            } else {\n                // if editor content is empty then summernote('code') is returning empty p tags like <p></br></p>. So checking for empty and returning undefined.\n                if (arguments.length === 1 && key === 'code' && this.$richTextEditor.summernote('isEmpty')) {\n                    const content = this.$richTextEditor.summernote('code');\n                    return content === '' ? content : undefined;\n                }\n                return this.$richTextEditor.summernote(key, value);\n            }\n        } else {\n            const op: any = new Map();\n            op.set(key, value);\n            this._operationStack.push(op);\n            return;\n        }\n    }\n\n    getCurrentPosition() {\n        return this.performEditorOperation('createRange');\n    }\n\n    undo() {\n        this.performEditorOperation('undo');\n    }\n\n    focus() {\n        this.performEditorOperation('focus');\n    }\n\n    ngOnDestroy() {\n        this.performEditorOperation('destroy');\n        super.ngOnDestroy();\n    }\n}\n","<div richTextEditor></div>\n@if (showpreview) {\n  <div [innerHTML]=\"proxyModel\" class=\"ta-preview\"></div>\n}\n<input class=\"model-holder\" [disabled]=\"disabled\" hidden>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}