Uit Hack42
Regel 25: | Regel 25: | ||
var textContent = body.textContent || body.innerText; | var textContent = body.textContent || body.innerText; | ||
let amount = textContent.match(/(€)[0-9]{0,4}(,?\.?[0-9]{0,2})?/g); | let amount = textContent.match(/(€)[0-9]{0,4}(,?\.?[0-9]{0,2})?/g); | ||
+ | |||
amount = amount.map(x => parseFloat(x.replace(",",".").replace("€",""))).reduce((a, b) => a + b); | amount = amount.map(x => parseFloat(x.replace(",",".").replace("€",""))).reduce((a, b) => a + b); | ||
if (document.getElementById("euros")){ | if (document.getElementById("euros")){ |
Versie van 12 jun 2019 13:38
/* JavaScript die hier wordt geplaatst heeft invloed op alle pagina's voor alle gebruikers */ jQuery().ready(function() { euros(); getEditToken(); user = wgUserName; if (user) { var titles = jQuery('#Ik_kom_wel,#Ik_kom_niet,#Ik_kom_misschien,#Animo,#Aanwezig,#Afwezig,#Wie,#Wie_niet,#Wie_misschien'); titles.each(function() { var $title = jQuery(this).parent(); var $siblings = $title.nextUntil('h1,h2,h3,h4,h5,h6'); var $ul = $siblings.filter('ul:first'); var alreadyInList = $ul.find('li a:contains("'+user+'")').length > 0; if ( ! alreadyInList) { if ( ! $ul.length) { $ul = jQuery('<ul>').insertAfter($title); } addAddUserButton($title, $ul); } }); } }); function euros(){ var body = document.body; var textContent = body.textContent || body.innerText; let amount = textContent.match(/(€)[0-9]{0,4}(,?\.?[0-9]{0,2})?/g); amount = amount.map(x => parseFloat(x.replace(",",".").replace("€",""))).reduce((a, b) => a + b); if (document.getElementById("euros")){ document.getElementById("euros").innerHTML = "€" + amount; } }; function getEditToken() { jQuery.getJSON( wgScriptPath + '/api.php?', { action: 'query', prop: 'info', intoken: 'edit', titles: 'Main Page', indexpageids: '', format: 'json' }, function( data ) { if ( data.query.pages && data.query.pageids ) { var pageid = data.query.pageids[0]; wgEditToken = data.query.pages[pageid].edittoken; } } ) } function addAddUserButton($title, $ul) { var button = jQuery('<input type="button" value="'+user+'"/>'); var textField = jQuery('<input type="text" value="+soep, oid" />'); $ul.append(jQuery('<li>').append(button, textField)); button.click(function() { var comment = textField.attr('value'); if (comment == '+soep, oid') comment = ''; ajaxSubmitUserAndComment($title, comment); }); textField .css({color: 'lightgray'}) // TODO: use CSS class instead? .focus(function() { if (this.value == '+soep, oid') jQuery(this).val('').css({color: 'black'}); }) .blur(function() { if (this.value == '') jQuery(this).val('+soep, oid').css({color: 'lightgray'}); }); } function ajaxSubmitUserAndComment($title, comment) { var $editButton = $title.find('span a'); if ($editButton.length) { var section_id = $editButton.attr('href').match(/section=([0-9]+)/)[1]; jQuery.ajax({ url: wgScriptPath + '/api.php', data: { format: 'json', action: 'edit', title: wgPageName, minor: true, summary: 'Naam toegevoegd via button', section: section_id, appendtext: '\n* {{Mentioneduserbutton|' + wgUserName + '}}' + comment, token: wgEditToken }, dataType: 'json', type: 'POST', success: function(data) { window.location.href = window.location.href + '?' + new Date().getTime(); window.location.reload(true); }, error: function(xhr) { alert('Error: iets is mis gegaan, herlaad pagina en probeer opnieuw.'); } }); } else { alert('Error: iets is mis gegaan, herlaad pagina en probeer opnieuw.'); } }