Интегрируя CKEditor в PCF, я хочу получить и установить данные CKEditor
Я делаю элемент управления PCF и включаю в него CKEditor. Я создаю тег скрипта в своем init() и устанавливаю src на CDN CKEditor. Я использую HTML TextArea и заменяю его на CKEditor (устанавливая класс на CKEditor).
В моем getOutputs
а также updateView()
, Я не могу вернуть или установить значение этого CKEditor. Я используюEVAL()
для этой цели, которая не работает.
Как мне это сделать?
Для краткости я публикую только необходимые методы ниже моего кода -
public init(context: ComponentFramework.Context<IInputs>, notifyOutputChanged: () => void, state: ComponentFramework.Dictionary, container:HTMLDivElement)
{
this.createHTMLElements(container);
}
public updateView(context: ComponentFramework.Context<IInputs>): void
{
eval("CKEDITOR.instances['txtCKEditor].setData(" + context.parameters.HTMLContent + ")");
}
public getOutputs(): IOutputs
{
return {HTMLContent: eval("CKEDITOR.instances['txtCKEditor'].getData()")};
}
private createHTMLElements(container:HTMLDivElement): void
{
var scriptElement: HTMLScriptElement;
scriptElement = document.createElement("script");
scriptElement.setAttribute("src", this.ckEditorCDN);
this.textAreaElement = document.createElement("textarea");
this.textAreaElement.setAttribute("rows", "20");
this.textAreaElement.setAttribute("cols", "100");
this.textAreaElement.setAttribute("class", "ckeditor");
this.textAreaElement.setAttribute("id", "txtCKEditor");
container.appendChild(scriptElement);
container.appendChild(this.textAreaElement);
}