|
38 | 38 | <img src="../assets/img/eraser.svg"> |
39 | 39 | </button> |
40 | 40 | </div> |
41 | | - <select id="language"></select> |
| 41 | + <div class="button-div"> |
| 42 | + <label for="erase-precisely">Erase precisely:</label> |
| 43 | + <input type="checkbox" id="erase-precisely" name="erase-precisely"> |
| 44 | + </div> |
42 | 45 | </nav> |
43 | 46 | <div id="editor" touch-action="none"></div> |
44 | 47 | </div> |
45 | 48 | <script> |
46 | 49 | const editorElement = document.getElementById('editor'); |
47 | 50 |
|
48 | | - const languageElement = document.getElementById('language'); |
49 | 51 | const undoElement = document.getElementById('undo'); |
50 | 52 | const redoElement = document.getElementById('redo'); |
51 | 53 | const eraserElement = document.getElementById('eraser'); |
52 | 54 | const penElement = document.getElementById('pen'); |
| 55 | + const erasePreciselyElement = document.getElementById('erase-precisely'); |
53 | 56 |
|
54 | 57 | editorElement.addEventListener('changed', (event) => { |
55 | 58 | undoElement.disabled = !event.detail.canUndo; |
56 | 59 | redoElement.disabled = !event.detail.canRedo; |
57 | 60 | }); |
58 | 61 |
|
59 | | - editorElement.addEventListener('loaded', async (evt) => { |
60 | | - /** |
61 | | - * Retrieve the list of available recognition languages |
62 | | - * @param {Object} The editor recognition parameters |
63 | | - */ |
64 | | - const currentLanguage = evt.target.editor.configuration.recognitionParams.iink.lang; |
65 | | - const res = await iink.getAvailableLanguageList(evt.target.editor.configuration); |
66 | | - |
67 | | - if (languageElement.options.length === 0) { |
68 | | - Object.keys(res.result).forEach((key) => { |
69 | | - const selected = currentLanguage === key; |
70 | | - languageElement.options[languageElement.options.length] = new Option(res.result[key], key, selected, selected); |
71 | | - }); |
72 | | - } |
73 | | - }); |
74 | | - |
75 | | - languageElement.addEventListener('change', (e) => { |
76 | | - const configuration = editorElement.editor.configuration; |
77 | | - //The path to the language depend of the version of API you are using. |
78 | | - configuration.recognitionParams.iink.lang = e.target.value; |
79 | | - }); |
80 | | - |
81 | 62 | undoElement.addEventListener('click', () => { |
82 | 63 | editorElement.editor.undo(); |
83 | 64 | }); |
|
96 | 77 | penElement.disabled = true; |
97 | 78 | }); |
98 | 79 |
|
| 80 | + erasePreciselyElement.addEventListener('change', (e) => { |
| 81 | + const configuration = { ... editorElement.editor.configuration }; |
| 82 | + configuration.recognitionParams.iink.text.eraser['erase-precisely'] = e.target.checked; |
| 83 | + editorElement.editor.configuration = configuration |
| 84 | + }) |
| 85 | + |
99 | 86 | /** |
100 | 87 | * Attach an editor to the document |
101 | 88 | * @param {Element} The DOM element to attach the ink paper |
|
116 | 103 | jiix: { |
117 | 104 | strokes: true |
118 | 105 | } |
119 | | - } |
| 106 | + }, |
| 107 | + text: { |
| 108 | + eraser: { |
| 109 | + 'erase-precisely': false |
| 110 | + } |
| 111 | + }, |
120 | 112 | } |
121 | 113 | } |
122 | 114 | }); |
|
0 commit comments