Overview
Comment: | Ne charger l'éditeur que lorsque la page est chargée, sinon on risque d'essayer d'interagir avec des éléments qui n'existent pas encore dans le DOM |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dev |
Files: | files | file ages | folders |
SHA1: |
a2baba85e54862ced9a147956497270f |
User & Date: | bohwaz on 2018-09-03 14:15:11 |
Other Links: | branch diff | manifest | tags |
References
2020-12-08
| ||
23:25 | • Wiki page "Changelog/0.9" artifact: b9c916b4d1 user: bohwaz | |
Context
2018-09-03
| ||
19:57 | Correction fonctionnement filtre supprimer_skriv check-in: 4404a06eaf user: bohwaz tags: dev | |
14:15 | Ne charger l'éditeur que lorsque la page est chargée, sinon on risque d'essayer d'interagir avec des éléments qui n'existent pas encore dans le DOM check-in: a2baba85e5 user: bohwaz tags: dev | |
14:14 | Changement libellé pour être plus explicite check-in: f16e19023c user: bohwaz tags: dev | |
Changes
Modified src/www/admin/static/scripts/wiki_editor.js from [2dad10610c] to [e1b49b3d06].
1 2 3 | (function () { var wiki_id = window.location.search.match(/id=(\d+)/)[1]; | > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | (function () { var wiki_id = window.location.search.match(/id=(\d+)/)[1]; g.onload(function () { g.style('scripts/wiki_editor.css'); g.script('scripts/text_editor.min.js').onload = function () { var t = new textEditor('f_contenu'); t.parent = t.textarea.parentNode; var toolbar = document.createElement('nav'); toolbar.className = 'te'; var toggleFullscreen = function (e) { var classes = t.parent.className.split(' '); for (var i = 0; i < classes.length; i++) { if (classes[i] == 'fullscreen') { classes.splice(i, 1); t.parent.className = classes.join(' '); t.fullscreen = false; return true; } } classes.push('fullscreen'); t.parent.className = classes.join(' '); t.fullscreen = true; return true; }; var openPreview = function () { openIFrame(''); var form = document.createElement('form'); form.appendChild(t.textarea.cloneNode(true)); form.firstChild.value = t.textarea.value; form.target = 'editorFrame'; form.action = g.admin_url + 'wiki/_preview.php?id=' + wiki_id; form.style.display = 'none'; form.method = 'post'; document.body.appendChild(form); form.submit(); //document.body.removeChild(form); }; var openSyntaxHelp = function () { openIFrame(g.admin_url + 'wiki/_syntaxe.html'); }; var openFileInsert = function () { openIFrame(g.admin_url + 'wiki/_fichiers.php?page=' + wiki_id); }; window.te_insertFile = function (file) { var tag = '<<fichier|'+file+'>>'; t.insertAtPosition(t.getSelection().start, tag); closeIFrame(); }; window.te_insertImage = function (file, position, caption) { var tag = '<<image|' + file; if (position) tag += '|' + position; if (caption) tag += '|' + caption; tag += '>>'; t.insertAtPosition(t.getSelection().start, tag); closeIFrame(); }; var openIFrame = function(url) { if (t.iframe && t.iframe.src == t.base_url + url) { t.iframe.className = ''; t.parent.className += ' iframe'; return true; } else if (t.iframe) { t.parent.removeChild(t.iframe); t.iframe = null; } var w = t.textarea.offsetWidth, h = t.textarea.offsetHeight; var iframe = document.createElement('iframe'); iframe.width = w; iframe.height = h; iframe.src = url; iframe.name = 'editorFrame'; iframe.frameborder = '0'; iframe.scrolling = 'yes'; t.parent.appendChild(iframe); t.parent.className += ' iframe'; t.iframe = iframe; }; var closeIFrame = function () { t.parent.className = t.parent.className.replace(/ iframe$/, ''); t.iframe.className = 'hidden'; }; var appendButton = function (name, title, action, altTitle) { var btn = document.createElement('input'); btn.type = 'button'; btn.title = altTitle ? altTitle : title; btn.value = title; btn.className = name; btn.onclick = function () { action.call(); return false; }; toolbar.appendChild(btn); return btn; }; var wrapTags = function (left, right) { t.wrapSelection(t.getSelection(), left, right); return true; }; appendButton('title', "== Titre", function () { wrapTags("== ", ""); } ); appendButton('bold', '**gras**', function () { wrapTags('**', '**'); } ); appendButton('italic', "''italique''", function () { wrapTags("''", "''"); } ); appendButton('link', "[[lien|http://]]", function () { if (url = window.prompt('Adresse URL ?')) wrapTags("[[", "|" + url + ']]'); } ); appendButton('icnl file', "📎", openFileInsert, 'Insérer fichier / image'); appendButton('ext icnl preview', '⎙', openPreview, 'Prévisualiser'); appendButton('ext icnl help', '❓', openSyntaxHelp, 'Aide sur la syntaxe'); appendButton('ext fullscreen', 'Plein écran', toggleFullscreen, 'Plein écran'); appendButton('ext close', 'Fermer', closeIFrame); t.parent.insertBefore(toolbar, t.parent.firstChild); t.shortcuts.push({key: 'F11', callback: toggleFullscreen}); t.shortcuts.push({ctrl: true, key: 'b', callback: function () { return wrapTags('**', '**'); } }); t.shortcuts.push({ctrl: true, key: 'g', callback: function () { return wrapTags('**', '**'); } }); t.shortcuts.push({ctrl: true, key: 'i', callback: function () { return wrapTags("''", "''"); } }); if (window.location.hash.match(/fullscreen/)) { t.toggleFullscreen(); window.location.hash = ''; } }; }); }()); |