001 Props: quote2 [n, n], quote3 [n, n, n], totale (€), compatto…002 ============================================================…003(function () {004 'use strict';005 var MM = window.MM;006 if (!MM || !MM.react || !MM.react.React) return;007 var h = MM.react.h, R = MM.react.React;008 function leggi(v) {009 var n = parseFloat(String(v).replace(/\s|€/g, '').replace('…010 return isFinite(n) ? n : NaN;011 }012 function fmt(n, dec) { return n.toLocaleString('it-IT', { min…013 function euro(n) { return fmt(n, 2) + ' €'; }014 function calcola(quote, totale, arrotonda) {015 if (!(totale > 0) || quote.some(function (q) { return !(q >…016 var inv = quote.map(function (q) { return 1 / q; });017 var S = inv.reduce(function (a, b) { return a + b; }, 0);018 var puntate = inv.map(function (i) { return totale * i / S;…019 if (arrotonda) puntate = puntate.map(function (p) { return …020 var investito = puntate.reduce(function (a, b) { return a +…021 var ritorni = puntate.map(function (p, k) { return p * quot…022 var peggiore = Math.min.apply(null, ritorni);023 return {024 S: S, arb: S < 1, perc: (S < 1 ? 1 / S - 1 : S - 1) * 100,025 inv: inv, puntate: puntate, investito: investito, ritorni…026 };027 }028 function Campo(p) {029 return h('label', { className: 'sb__campo' + (p.classe ? ' …030 h('span', { className: 'etichetta' }, p.etichetta),031 h('input', {032 type: 'text', inputMode: 'decimal', autoComplete: 'off'…033 'aria-invalid': p.errato ? 'true' : 'false',034 onChange: function (e) { p.cambia(e.target.value); },001 Props: quote2 [n, n], quote3 [n, n, n], totale (€), compatto…002 ============================================================…003(function () {004 'use strict';005 var MM = window.MM;006 if (!MM || !MM.react || !MM.react.React) return;007 var h = MM.react.h, R = MM.react.React;008 function leggi(v) {009 var n = parseFloat(String(v).replace(/\s|€/g, '').replace('…010 return isFinite(n) ? n : NaN;011 }012 function fmt(n, dec) { return n.toLocaleString('it-IT', { min…013 function euro(n) { return fmt(n, 2) + ' €'; }014 function calcola(quote, totale, arrotonda) {015 if (!(totale > 0) || quote.some(function (q) { return !(q >…016 var inv = quote.map(function (q) { return 1 / q; });017 var S = inv.reduce(function (a, b) { return a + b; }, 0);018 var puntate = inv.map(function (i) { return totale * i / S;…019 if (arrotonda) puntate = puntate.map(function (p) { return …020 var investito = puntate.reduce(function (a, b) { return a +…021 var ritorni = puntate.map(function (p, k) { return p * quot…022 var peggiore = Math.min.apply(null, ritorni);023 return {024 S: S, arb: S < 1, perc: (S < 1 ? 1 / S - 1 : S - 1) * 100,025 inv: inv, puntate: puntate, investito: investito, ritorni…026 };027 }028 function Campo(p) {029 return h('label', { className: 'sb__campo' + (p.classe ? ' …030 h('span', { className: 'etichetta' }, p.etichetta),031 h('input', {032 type: 'text', inputMode: 'decimal', autoComplete: 'off'…033 'aria-invalid': p.errato ? 'true' : 'false',034 onChange: function (e) { p.cambia(e.target.value); },
001 var h = 2166136261;002 for (var i = 0; i < testo.length; i++) { h ^= testo.charCod…003 return h >>> 0;004 }005 function casuale(seme) {006 var a = seme >>> 0;007 return function () {008 a = (a + 0x6d2b79f5) | 0;009 var t = Math.imul(a ^ (a >>> 15), 1 | a);010 t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;011 return ((t ^ (t >>> 14)) >>> 0) / 4294967296;012 };013 }014 var annunci = null;015 MM.annuncia = function (testo) {016 annunci = annunci || d.getElementById('mm-annunci');017 if (!annunci) return;018 annunci.textContent = '';019 setTimeout(function () { annunci.textContent = testo; }, 60…020 };021 var filtriSvg = null;022 function filtri() {023 if (!filtriSvg) {024 filtriSvg = d.createElementNS('http://www.w3.org/2000/svg…025 filtriSvg.setAttribute('class', 'mm-filtri');026 filtriSvg.setAttribute('aria-hidden', 'true');027 filtriSvg.setAttribute('width', '0');028 filtriSvg.setAttribute('height', '0');029 d.body.appendChild(filtriSvg);030 }031 return filtriSvg;032 }033 var contaFiltri = 0;034 function creaFiltro(markup, attr) {001 var h = 2166136261;002 for (var i = 0; i < testo.length; i++) { h ^= testo.charCod…003 return h >>> 0;004 }005 function casuale(seme) {006 var a = seme >>> 0;007 return function () {008 a = (a + 0x6d2b79f5) | 0;009 var t = Math.imul(a ^ (a >>> 15), 1 | a);010 t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;011 return ((t ^ (t >>> 14)) >>> 0) / 4294967296;012 };013 }014 var annunci = null;015 MM.annuncia = function (testo) {016 annunci = annunci || d.getElementById('mm-annunci');017 if (!annunci) return;018 annunci.textContent = '';019 setTimeout(function () { annunci.textContent = testo; }, 60…020 };021 var filtriSvg = null;022 function filtri() {023 if (!filtriSvg) {024 filtriSvg = d.createElementNS('http://www.w3.org/2000/svg…025 filtriSvg.setAttribute('class', 'mm-filtri');026 filtriSvg.setAttribute('aria-hidden', 'true');027 filtriSvg.setAttribute('width', '0');028 filtriSvg.setAttribute('height', '0');029 d.body.appendChild(filtriSvg);030 }031 return filtriSvg;032 }033 var contaFiltri = 0;034 function creaFiltro(markup, attr) {