MediaWiki:Common.js: verschil tussen versies

Uit Auditpedia
Ga naar:navigatie, zoeken
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 text = ve.$node.val();
 
                   var esc = text.replace(/\|/gmi, "{{!}}");   
 
                   var esc = text.replace(/\|/gmi, "{{!}}");   
                  ve.$node.val(esc);
+
                  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();
			});
		}

}