From 6d5541bd615217209198941a93ed25296ba1ebd7 Mon Sep 17 00:00:00 2001 From: wbudic Date: Thu, 12 Aug 2021 10:36:05 +1000 Subject: [PATCH] Autocalc upgraded to also multiply and divide. --- htdocs/cgi-bin/wsrc/main.js | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/htdocs/cgi-bin/wsrc/main.js b/htdocs/cgi-bin/wsrc/main.js index a9e457b..cb18f5b 100644 --- a/htdocs/cgi-bin/wsrc/main.js +++ b/htdocs/cgi-bin/wsrc/main.js @@ -116,17 +116,27 @@ function onBodyLoad(toggle, locale, tz, today, expires, rs_cur, log_limit) { } m.forEach( (match, groupIndex) => { let v = `${match}`; + let d = v.startsWith('/'); + let m = v.startsWith('*'); + if(d||m){v=v.substring(1)} let s = v.startsWith('-'); v = v.replace(/^\./g,'0.'); v = v.replace(/^\D/g,''); //console.log(`Found match, group ${groupIndex}: ${match}`); - if(s){ tot -= parseFloat(v); - }else{ tot += parseFloat(v); } - + if(d){ + if(s){ tot /= -parseFloat(v); + }else{ tot /= parseFloat(v); } + }else if(m){ + if(s){ tot *= -parseFloat(v); + }else{ tot *= parseFloat(v); } + }else{ + if(s){ tot -= parseFloat(v); + }else{ tot += parseFloat(v); } + } }); } - $('#am').val(tot); - + if(tot==0){tot=""} + $('#am').val(tot); } -- 2.34.1