MediaWiki:Common.js: verschil tussen versies
Uit Auditpedia
Regel 1: | Regel 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. <script>*/ | /* Any JavaScript here will be loaded for all users on every page load. <script>*/ | ||
+ | //check for visualeditor textareas | ||
var vetextarea = document.querySelectorAll('.ve-area-wrapper textarea'); | var vetextarea = document.querySelectorAll('.ve-area-wrapper textarea'); | ||
if(vetextarea){ | if(vetextarea){ | ||
− | + | //load veforall | |
mw.loader.using('ext.veforall.main').then(function(data){ | mw.loader.using('ext.veforall.main').then(function(data){ | ||
vetextarea.forEach(function(el){ | vetextarea.forEach(function(el){ | ||
+ | //un-escape pipes | ||
var text = $(el).val(); | var text = $(el).val(); | ||
var esc = text.replace(/{{!}}/gmi, "|"); | var esc = text.replace(/{{!}}/gmi, "|"); | ||
$(el).val(esc); | $(el).val(esc); | ||
+ | //apply visualeditor(s) | ||
$(el).applyVisualEditor(); | $(el).applyVisualEditor(); | ||
}) | }) | ||
Regel 17: | Regel 20: | ||
} | } | ||
− | + | //save visualeditor form | |
function veToText(){ | function veToText(){ | ||
− | + | //find active visualeditors | |
var visualEditors = $.fn.getVEInstances(); | var visualEditors = $.fn.getVEInstances(); | ||
if( visualEditors.length > 0 ) { | if( visualEditors.length > 0 ) { | ||
var savingQueue = []; | var savingQueue = []; | ||
$(visualEditors).each( function( i, ve ) { | $(visualEditors).each( function( i, ve ) { | ||
+ | //update textareas | ||
savingQueue.push( ve.target.updateContent() ); | savingQueue.push( ve.target.updateContent() ); | ||
Regel 29: | Regel 33: | ||
$.when.apply( $, savingQueue ).then( function () { | $.when.apply( $, savingQueue ).then( function () { | ||
$(visualEditors).each( function( i, ve ) { | $(visualEditors).each( function( i, ve ) { | ||
− | + | //escape pipes | |
− | + | var text = ve.$node.val(); | |
var esc = text.replace(/\|/gmi, "{{!}}"); | var esc = text.replace(/\|/gmi, "{{!}}"); | ||
− | + | ve.$node.val(esc); | |
}); | }); | ||
+ | //submit form | ||
$('#real-submit').click(); | $('#real-submit').click(); | ||
}); | }); |
Versie van 28 nov 2020 03:45
/* Any JavaScript here will be loaded for all users on every page load. <script>*/
//check for visualeditor textareas
var vetextarea = document.querySelectorAll('.ve-area-wrapper textarea');
if(vetextarea){
//load veforall
mw.loader.using('ext.veforall.main').then(function(data){
vetextarea.forEach(function(el){
//un-escape pipes
var text = $(el).val();
var esc = text.replace(/{{!}}/gmi, "|");
$(el).val(esc);
//apply visualeditor(s)
$(el).applyVisualEditor();
})
})
}
//save visualeditor form
function veToText(){
//find active visualeditors
var visualEditors = $.fn.getVEInstances();
if( visualEditors.length > 0 ) {
var savingQueue = [];
$(visualEditors).each( function( i, ve ) {
//update textareas
savingQueue.push( ve.target.updateContent() );
});
$.when.apply( $, savingQueue ).then( function () {
$(visualEditors).each( function( i, ve ) {
//escape pipes
var text = ve.$node.val();
var esc = text.replace(/\|/gmi, "{{!}}");
ve.$node.val(esc);
});
//submit form
$('#real-submit').click();
});
}
}