Difference between revisions of "MediaWiki:Common.js"
From Observer GigaFlow Support | VIAVI Solutions Inc.
(Created page with "- →Any JavaScript here will be loaded for all users on every page load.: $(function () { var myElement = document.getElementById('mw-mywiki-example'); myElement.innerH...") |
|||
Line 9: | Line 9: | ||
$(function () { | $(function () { | ||
− | $('# | + | $('#calculator').html('any HTML'); |
}()); | }()); | ||
+ | |||
+ | |||
+ | $(function () { | ||
+ | $('#mw-mywiki-example').html('<div align="center"> | ||
+ | <table width="80%" border="4"> | ||
+ | <tr><td colspan="2" align="center">Server Requirements</td></tr> | ||
+ | <tr><td>Devices</td><td><input type="range" id="devices" value="10" min="10" max="1000" step="10" onchange="printSliderValue()" oninput="printSliderValue()"><input id="devicesvalue" type="text" size="5"></td></tr> | ||
+ | <tr><td>Max Flows/second</td><td><input type="range" id="flows" value="1000" min="1000" max="50000" step="1000" onchange="printSliderValue()" oninput="printSliderValue()"><input id="flowsvalue" type="text" size="4"></td></tr> | ||
+ | </table> | ||
+ | </div> | ||
+ | <div align="center"> | ||
+ | <table width="80%" border="4"> | ||
+ | <tr><td colspan="2" align="center">IO</td></tr> | ||
+ | <tr><td><table ><thead><tr><th>Type</th><th>Requirement</th><th>Calculation</th></tr></thead> | ||
+ | <tr><td>Write MB/s</td><td><input type="text" id="writembps" size="6" disabled/></td><td>FlowsPerSecond*600Bytes</td></tr> | ||
+ | <tr><td>Write IOP/s</td><td><input type="text" id="writeiops" size="6" disabled/></td><td>20+(FlowsPerSecond/500)+(Devices/5)</td></tr> | ||
+ | </table></td></tr> | ||
+ | </table> | ||
+ | </div> | ||
+ | <div align="center"> | ||
+ | <table width="80%" border="4"> | ||
+ | <tr><td colspan="2" align="center">Min Storage Required GB</td></tr> | ||
+ | <tr><td><table><thead><tr><th>Type</th><th>Hour</th><th>Day</th><th>Week</th><th>Month</th><th>3 Months</th><th>Year</th></tr></thead> | ||
+ | <tr><td>Forensics Total</td><td><input type="text" id="forensicsh" size="6" disabled/></td><td><input type="text" id="forensicsd" size="6" disabled/></td><td><input type="text" id="forensicsw" size="6" disabled/></td><td><input type="text" id="forensicsm" size="6" disabled/></td><td><input type="text" id="forensicsq" size="6" disabled/></td><td><input type="text" id="forensicsy" size="6" disabled/></td></tr> | ||
+ | <tr><td>Forensics Per Device</td><td><input type="text" id="forensicshpd" size="6" disabled/></td><td><input type="text" id="forensicsdpd" size="6" disabled/></td><td><input type="text" id="forensicswpd" size="6" disabled/></td><td><input type="text" id="forensicsmpd" size="6" disabled/></td><td><input type="text" id="forensicsqpd" size="6" disabled/></td><td><input type="text" id="forensicsypd" size="6" disabled/></td></tr> | ||
+ | </table></td></tr> | ||
+ | </table> | ||
+ | </div> | ||
+ | <div align="center"> | ||
+ | <table width="80%" border="4"> | ||
+ | <tr><td colspan="2" align="center">Min Memory Required GB</td><td><input type="text" id="memoryrequired" size="6" disabled/></td></tr> | ||
+ | <tr><td colspan="2" align="center">Min Cores Required</td><td><input type="text" id="coresrequired" size="2" disabled/></td></tr> | ||
+ | |||
+ | </table> | ||
+ | </div> | ||
+ | <script> | ||
+ | printSliderValue('devices', 'devicesvalue'); | ||
+ | printSliderValue('flows', 'flowsvalue'); | ||
+ | </script> | ||
+ | '); | ||
+ | |||
+ | |||
+ | |||
+ | function checkSizes() { | ||
+ | var devices = document.getElementById("devices"); | ||
+ | var maxallowedflows = 50000 - (25 * (parseInt(devices.value) - 20)) | ||
+ | var flows = document.getElementById("flows"); | ||
+ | if (parseInt(flows.value) > maxallowedflows) { | ||
+ | flows.value = maxallowedflows; | ||
+ | document.getElementById("flowsvalue").value = maxallowedflows; | ||
+ | } | ||
+ | if (parseInt(flows.value) > 20000 || parseInt(devices.value) > 50) { | ||
+ | document.getElementById("coresrequired").value = 16; | ||
+ | } else { | ||
+ | document.getElementById("coresrequired").value = 8; | ||
+ | } | ||
+ | } | ||
+ | function printSliderValue() { | ||
+ | checkSizes(); | ||
+ | document.getElementById("flowsvalue").value = document.getElementById("flows").value; | ||
+ | document.getElementById("devicesvalue").value = document.getElementById("devices").value; | ||
+ | var dayrate = (parseInt(document.getElementById("flowsvalue").value)) / (1000 * 1000) * 60 * 60 * 24 * .25; | ||
+ | document.getElementById("writembps").value = ((parseInt(flows.value)*.6)/1000).toFixed(2); | ||
+ | document.getElementById("writeiops").value = (20+((parseInt(flows.value)/500))+(devices.value/5)).toFixed(2); | ||
+ | |||
+ | |||
+ | document.getElementById("forensicsh").value = (Math.ceil(dayrate) / 24).toFixed(2); | ||
+ | document.getElementById("forensicsd").value = (Math.ceil(dayrate)).toFixed(2); | ||
+ | document.getElementById("forensicsw").value = (Math.ceil(dayrate * 7)).toFixed(2); | ||
+ | document.getElementById("forensicsm").value = (Math.ceil(dayrate * 31)).toFixed(2); | ||
+ | document.getElementById("forensicsq").value = (Math.ceil(dayrate * 92)).toFixed(2); | ||
+ | document.getElementById("forensicsy").value = (Math.ceil(dayrate * 366)).toFixed(2); | ||
+ | document.getElementById("forensicshpd").value = (Math.ceil(dayrate) / 24 / devices.value).toFixed(2); | ||
+ | document.getElementById("forensicsdpd").value = (Math.ceil(dayrate) / devices.value).toFixed(2); | ||
+ | document.getElementById("forensicswpd").value = (Math.ceil(dayrate * 7) / devices.value).toFixed(2); | ||
+ | document.getElementById("forensicsmpd").value = (Math.ceil(dayrate * 31) / devices.value).toFixed(2); | ||
+ | document.getElementById("forensicsqpd").value = (Math.ceil(dayrate * 92) / devices.value).toFixed(2); | ||
+ | document.getElementById("forensicsypd").value = (Math.ceil(dayrate * 366) / devices.value).toFixed(2); | ||
+ | document.getElementById("memoryrequired").value = Math.ceil(4 + (0.05 * parseInt(document.getElementById("devices").value))); | ||
+ | } |
Revision as of 10:55, 15 November 2018
/* Any JavaScript here will be loaded for all users on every page load. */ $(function () { var myElement = document.getElementById('mw-mywiki-example'); myElement.innerHTML = 'any HTML'; }()); $(function () { $('#calculator').html('any HTML'); }()); $(function () { $('#mw-mywiki-example').html('<div align="center"> <table width="80%" border="4"> <tr><td colspan="2" align="center">Server Requirements</td></tr> <tr><td>Devices</td><td><input type="range" id="devices" value="10" min="10" max="1000" step="10" onchange="printSliderValue()" oninput="printSliderValue()"><input id="devicesvalue" type="text" size="5"></td></tr> <tr><td>Max Flows/second</td><td><input type="range" id="flows" value="1000" min="1000" max="50000" step="1000" onchange="printSliderValue()" oninput="printSliderValue()"><input id="flowsvalue" type="text" size="4"></td></tr> </table> </div> <div align="center"> <table width="80%" border="4"> <tr><td colspan="2" align="center">IO</td></tr> <tr><td><table ><thead><tr><th>Type</th><th>Requirement</th><th>Calculation</th></tr></thead> <tr><td>Write MB/s</td><td><input type="text" id="writembps" size="6" disabled/></td><td>FlowsPerSecond*600Bytes</td></tr> <tr><td>Write IOP/s</td><td><input type="text" id="writeiops" size="6" disabled/></td><td>20+(FlowsPerSecond/500)+(Devices/5)</td></tr> </table></td></tr> </table> </div> <div align="center"> <table width="80%" border="4"> <tr><td colspan="2" align="center">Min Storage Required GB</td></tr> <tr><td><table><thead><tr><th>Type</th><th>Hour</th><th>Day</th><th>Week</th><th>Month</th><th>3 Months</th><th>Year</th></tr></thead> <tr><td>Forensics Total</td><td><input type="text" id="forensicsh" size="6" disabled/></td><td><input type="text" id="forensicsd" size="6" disabled/></td><td><input type="text" id="forensicsw" size="6" disabled/></td><td><input type="text" id="forensicsm" size="6" disabled/></td><td><input type="text" id="forensicsq" size="6" disabled/></td><td><input type="text" id="forensicsy" size="6" disabled/></td></tr> <tr><td>Forensics Per Device</td><td><input type="text" id="forensicshpd" size="6" disabled/></td><td><input type="text" id="forensicsdpd" size="6" disabled/></td><td><input type="text" id="forensicswpd" size="6" disabled/></td><td><input type="text" id="forensicsmpd" size="6" disabled/></td><td><input type="text" id="forensicsqpd" size="6" disabled/></td><td><input type="text" id="forensicsypd" size="6" disabled/></td></tr> </table></td></tr> </table> </div> <div align="center"> <table width="80%" border="4"> <tr><td colspan="2" align="center">Min Memory Required GB</td><td><input type="text" id="memoryrequired" size="6" disabled/></td></tr> <tr><td colspan="2" align="center">Min Cores Required</td><td><input type="text" id="coresrequired" size="2" disabled/></td></tr> </table> </div> <script> printSliderValue('devices', 'devicesvalue'); printSliderValue('flows', 'flowsvalue'); </script> '); function checkSizes() { var devices = document.getElementById("devices"); var maxallowedflows = 50000 - (25 * (parseInt(devices.value) - 20)) var flows = document.getElementById("flows"); if (parseInt(flows.value) > maxallowedflows) { flows.value = maxallowedflows; document.getElementById("flowsvalue").value = maxallowedflows; } if (parseInt(flows.value) > 20000 || parseInt(devices.value) > 50) { document.getElementById("coresrequired").value = 16; } else { document.getElementById("coresrequired").value = 8; } } function printSliderValue() { checkSizes(); document.getElementById("flowsvalue").value = document.getElementById("flows").value; document.getElementById("devicesvalue").value = document.getElementById("devices").value; var dayrate = (parseInt(document.getElementById("flowsvalue").value)) / (1000 * 1000) * 60 * 60 * 24 * .25; document.getElementById("writembps").value = ((parseInt(flows.value)*.6)/1000).toFixed(2); document.getElementById("writeiops").value = (20+((parseInt(flows.value)/500))+(devices.value/5)).toFixed(2); document.getElementById("forensicsh").value = (Math.ceil(dayrate) / 24).toFixed(2); document.getElementById("forensicsd").value = (Math.ceil(dayrate)).toFixed(2); document.getElementById("forensicsw").value = (Math.ceil(dayrate * 7)).toFixed(2); document.getElementById("forensicsm").value = (Math.ceil(dayrate * 31)).toFixed(2); document.getElementById("forensicsq").value = (Math.ceil(dayrate * 92)).toFixed(2); document.getElementById("forensicsy").value = (Math.ceil(dayrate * 366)).toFixed(2); document.getElementById("forensicshpd").value = (Math.ceil(dayrate) / 24 / devices.value).toFixed(2); document.getElementById("forensicsdpd").value = (Math.ceil(dayrate) / devices.value).toFixed(2); document.getElementById("forensicswpd").value = (Math.ceil(dayrate * 7) / devices.value).toFixed(2); document.getElementById("forensicsmpd").value = (Math.ceil(dayrate * 31) / devices.value).toFixed(2); document.getElementById("forensicsqpd").value = (Math.ceil(dayrate * 92) / devices.value).toFixed(2); document.getElementById("forensicsypd").value = (Math.ceil(dayrate * 366) / devices.value).toFixed(2); document.getElementById("memoryrequired").value = Math.ceil(4 + (0.05 * parseInt(document.getElementById("devices").value))); }