Skip to content

Commit 8001b5a

Browse files
author
Simon Sendler
committed
feat: replace tinymce with quill
1 parent 32cf51f commit 8001b5a

File tree

124 files changed

+29
-7918
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+29
-7918
lines changed

module-gui/src/main/webapp/resources/uii/plugin_step_transcription.xhtml

+29-32
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,15 @@
6666
<link rel="stylesheet"
6767
href="plugins/step/intranda_step_transcription/css/style.css"></link>
6868

69-
7069
<script src="#{HelperForm.applicationWebsiteUrl}/uii/template/js/reactiveX/rx.lite.min.js"></script>
7170
<script src="#{HelperForm.applicationWebsiteUrl}/uii/template/js/q-promises/q.min.js"></script>
7271

7372
<script src="#{HelperForm.applicationWebsiteUrl}/uii/template/js/openseadragon/openseadragon.min.js"></script>
7473
<script src="#{HelperForm.applicationWebsiteUrl}/uii/template/js/openseadragon/openseadragon-viewerinputhook.js"></script>
7574
<script src="#{HelperForm.applicationWebsiteUrl}/uii/template/js/imageView.min.js"></script>
75+
<link href="https://cdn.jsdelivr.net/npm/quill@2.0.3/dist/quill.snow.css" rel="stylesheet" />
76+
<script src="https://cdn.jsdelivr.net/npm/quill@2.0.3/dist/quill.js"></script>
7677

77-
<script
78-
src="plugins/step/intranda_step_transcription/tinymce/tinymce.min.js"></script>
7978

8079
<section:section type="neutral">
8180
<section:header
@@ -94,12 +93,11 @@
9493
</h:commandLink>
9594
<h:commandLink
9695
id="id10a"
97-
onclick="save()"
9896
action="#{AktuelleSchritteForm.myPlugin.saveOcr}"
9997
title="#{msgs.save}"
10098
styleClass="btn d-flex align-items-center btn--title-action"
10199
pt:data-bs-toggle="tooltip">
102-
<f:ajax execute="hiddenInputs" render="" />
100+
<f:ajax execute="hiddenInputs" render=":myform" />
103101
<span
104102
aria-hidden="true"
105103
class="fa fa-save" />
@@ -171,9 +169,11 @@
171169
</div>
172170
</div>
173171
<div class="col-md-6 transcription-editor-col">
174-
<textarea class="ocr-text" id="textarea_0">
172+
<textarea class="ocr-text visually-hidden" id="textarea_0">
175173
#{AktuelleSchritteForm.myPlugin.image.ocrText}
176174
</textarea>
175+
<div id="editor">
176+
</div>
177177
</div>
178178
</div>
179179
<!-- </ui:repeat> -->
@@ -215,18 +215,15 @@
215215
<!-- Save -->
216216
<h:commandLink
217217
styleClass="btn btn-blank"
218-
id="save" onclick="save()"
218+
id="save"
219219
action="#{AktuelleSchritteForm.myPlugin.saveOcr}">
220220
<span
221221
aria-hidden="true"
222222
class="fa fa-save" />
223223
<span>
224224
<h:outputText value="#{msgs.save}" />
225225
</span>
226-
<f:setPropertyActionListener
227-
target="#{NavigationForm.uiStatus.pluginSimulation}"
228-
value="#{false}" />
229-
<f:ajax execute="hiddenInputs" render="" />
226+
<f:ajax execute="hiddenInputs" />
230227
</h:commandLink>
231228
<!-- Save and finish the task -->
232229
<h:commandLink
@@ -298,38 +295,38 @@
298295
});
299296
};
300297

301-
const initTinyMCE = () => {
302-
let mytiny = tinymce.init({
303-
plugins: 'table',
304-
selector : '.ocr-text',
305-
menubar : '',
306-
toolbar: 'undo redo | formatselect | fontsizeselect | bold italic underline strikethrough | alignleft aligncenter alignright alighnblock | indent outdent | table | pastetext | forecolor backcolor',
307-
paste_as_text: true,
308-
height : "90vh",
309-
license_key: 'gpl',
310-
promotion: false,
311-
init_instance_callback: function (editor) {
312-
editor.on('blur', function (e) {
313-
save();
314-
});
315-
}
316-
298+
const initQuill = () => {
299+
let quill = new Quill('#editor', {
300+
modules: {
301+
history: {
302+
delay: 2000,
303+
userOnly: true,
304+
},
305+
toolbar: true,
306+
},
307+
theme: 'snow',
308+
});
309+
const content = document.querySelector('.ocr-text').value;
310+
quill.clipboard.dangerouslyPasteHTML(content);
311+
quill.on('text-change', function(delta, oldDelta, source) {
312+
const updatedContent = quill.getSemanticHTML();
313+
const inputEl = document.querySelector('.input_0');
314+
inputEl.value = updatedContent;
315+
const textArea = document.querySelector('.ocr-text');
316+
textArea.value = updatedContent;
317317
});
318-
mytiny.then(mt => {
319-
console.log(mt)
320-
})
321318
};
322319

323320
document.addEventListener('DOMContentLoaded', function() {
324321
showImage();
325-
initTinyMCE();
322+
initQuill();
326323
});
327324

328325
// initialize image viewer and tinyMCE after ajax request
329326
jsf.ajax.addOnEvent(function (data) {
330327
if (data.status === 'success') {
331328
showImage();
332-
initTinyMCE();
329+
initQuill();
333330
}
334331
});
335332
</script>

module-gui/src/main/webapp/resources/uii/plugins/step/intranda_step_transcription/tinymce/icons/default/icons.min.js

-1
This file was deleted.

module-gui/src/main/webapp/resources/uii/plugins/step/intranda_step_transcription/tinymce/langs/README.md

-3
This file was deleted.

module-gui/src/main/webapp/resources/uii/plugins/step/intranda_step_transcription/tinymce/license.md

-6
This file was deleted.

module-gui/src/main/webapp/resources/uii/plugins/step/intranda_step_transcription/tinymce/models/dom/model.min.js

-4
This file was deleted.

module-gui/src/main/webapp/resources/uii/plugins/step/intranda_step_transcription/tinymce/plugins/accordion/plugin.min.js

-4
This file was deleted.

0 commit comments

Comments
 (0)