forked from devs/PCv5
editor: Add support for type= custom extension on media
This commit is contained in:
parent
546b32c22b
commit
5e368ac08b
|
@ -105,10 +105,14 @@ function editor_clear_modals(event, close = true) {
|
|||
event.stopPropagation()
|
||||
|
||||
// Reset all modal inputs
|
||||
document.getElementById('img-alt-input').value = '';
|
||||
document.getElementById('img-link-input').value = '';
|
||||
document.getElementById('media-alt-input').value = '';
|
||||
document.getElementById('media-link-input').value = '';
|
||||
document.getElementById('link-desc-input').value = '';
|
||||
document.getElementById('link-desc-input').value = '';
|
||||
const media_type = document.getElementsByName("media-type");
|
||||
for(i = 0; i < media_type.length; i++) {
|
||||
media_type[i].checked = false;
|
||||
}
|
||||
|
||||
// Close all modal if requested
|
||||
if (!close) { return }
|
||||
|
@ -116,7 +120,7 @@ function editor_clear_modals(event, close = true) {
|
|||
for (const i of modals) {i.style.display = 'none'};
|
||||
}
|
||||
|
||||
function editor_insert_link(event, link_id, text_id, image = false)
|
||||
function editor_insert_link(event, link_id, text_id, media = false)
|
||||
{
|
||||
const [editor, button, ta] = editor_event_source(event);
|
||||
ta.focus();
|
||||
|
@ -125,11 +129,19 @@ function editor_insert_link(event, link_id, text_id, image = false)
|
|||
|
||||
const link = document.getElementById(link_id).value;
|
||||
const text = document.getElementById(text_id).value;
|
||||
let media_type = "";
|
||||
|
||||
const media_selector = document.getElementsByName("media-type");
|
||||
for(i = 0; i < media_selector.length; i++) {
|
||||
if(media_selector[i].checked) {
|
||||
media_type = `{type=${media_selector[i].value}}`;
|
||||
}
|
||||
}
|
||||
|
||||
editor_clear_modals(event);
|
||||
|
||||
let [start, end] = editor_replace_range(ta, indexStart, indexEnd,
|
||||
`[${text.length === 0 ? ta.value.substring(indexStart, indexEnd) : text}]${image ? "!" : ""}(${link})`);
|
||||
`[${text.length === 0 ? ta.value.substring(indexStart, indexEnd) : text}]${media ? "!" : ""}(${link})${media ? media_type : ""}`);
|
||||
|
||||
/* Restore selection */
|
||||
if(indexStart != indexEnd) {
|
||||
|
|
|
@ -127,13 +127,22 @@
|
|||
</svg>
|
||||
<div class="modal" style="display: none">
|
||||
<div>
|
||||
<label for="img-alt-input">Texte alternatif (sera affiché en cas d'erreur de chargement)</label>
|
||||
<input type="text" id="img-alt-input" name="img-alt-input">
|
||||
<label for="img-link-input">Lien vers l'image</label>
|
||||
<input type="url" id="img-link-input" name="img-link-input">
|
||||
<label for="media-alt-input">Texte alternatif (sera affiché en cas d'erreur de chargement)</label>
|
||||
<input type="text" id="media-alt-input" name="media-alt-input">
|
||||
<label for="media-link-input">Lien vers le média</label>
|
||||
<input type="url" id="media-link-input" name="media-link-input">
|
||||
<fieldset title="Optionel mais peut être important si le type de média n'est pas correctement détecté">
|
||||
<legend>
|
||||
Type de média
|
||||
</legend>
|
||||
<label for="media-type-video" title="Vidéo">Vidéo</label>
|
||||
<input type="radio" id="media-type-video" name="media-type" value="video" title="Vidéo" />
|
||||
<label for="media-type-image" title="Image">Image</label>
|
||||
<input type="radio" id="media-type-image" name="media-type" value="image" title="Image" />
|
||||
</fieldset>
|
||||
</div>
|
||||
<div>
|
||||
<a type="button" class="button bg-ok" onclick="editor_insert_link(event, 'img-link-input', 'img-alt-input', true)">Valider</a>
|
||||
<a type="button" class="button bg-ok" onclick="editor_insert_link(event, 'media-link-input', 'media-alt-input', true)">Valider</a>
|
||||
<a type="button" class="button bg-error" onclick="editor_clear_modals(event)">Annuler</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue