Я хочу интегрировать Quill в проект SAPUI5. Проблема в том, что Quill использует HTML с разными 's, тогда как все мое приложение SAPUI5 имеет только один тег div, а все остальное - это Javascript.
Мне удалось заставить редактор перьев правильно работать в моем приложении следующим образом:
var oPanel = new sap.m.Panel( {
content: new sap.ui.core.HTML( {
afterRendering: function() {
var oRichTextArea = new Quill("#" + oPanel.sId, {
'toolbar': {
container: "#toolbar"
},
theme: 'snow'
});
oRichTextArea.setHTML("");
oRichTextArea.on('text-change', function(delta, source) {
//do something
});
}
})
});
Однако в документации для панели инструментов предлагается сделать следующее:
<div id="toolbar">
<!-- Add font size dropdown -->
<select class="ql-size">
<option value="10px">Small</option>
<option value="13px" selected>Normal</option>
<option value="18px">Large</option>
<option value="32px">Huge</option>
</select>
<!-- Add a bold button -->
<button class="ql-bold"></button>
</div>
<div id="editor"></div>
Я хочу либо добавить этот div в свой SAPUI5 в рабочем режиме, либо создать свою собственную панель инструментов. Я попытался выполнить следующий код (в документации говорится, что эти классы стилей автоматически добавляют событие щелчка):
var oTools = new sap.m.Panel("toolbar", {
content: [new sap.m.Text( {
text: "Bold"
}).addStyleClass("ql-bold")]
}).addStyleClass("ql-toolbar");
но это было безрезультатно.
Я также попытался добавить рекомендуемый HTML в качестве содержимого элемента HTML, но также мне не удалось подключить кнопки к текстовому редактору:
var oPanelHTML = new sap.m.Panel();
var sInnerHTML = '<div id=toolbar><button class="ql-bold">Bold</button><button class="ql-italic">Italic</button></div><!-- Create the editor container --><div id="' + oPanelResult.sId + '-editor' + '"><div>Hello World!</div><div>Some initial <b>bold</b> text</div> <div><br></div></div>';
$("#" + oPanelHTML.sId).append(sInnerHTML);
и я попробовал
var oHTML = new sap.ui.core.HTML( {
content: sInnerHTML
});
ни чего не работает.