Libraryless. Click here for Pure Java version (3244L/20K).
// see https://jsfiddle.net/stefanreich/yLcus69t/4/ sclass HTMLGauge { S internalID = aRandomID(); S id = "gauge-" + internalID; S varName = "gauge_" + internalID; // add params for the div here like style or class new MapSO divParams; // shared with all gauges S headStuff() { ret [[ <script src="https://code.highcharts.com/highcharts.js"></script> <script src="https://code.highcharts.com/highcharts-more.js"></script> <script src="https://code.highcharts.com/modules/solid-gauge.js"></script> <script src="https://code.highcharts.com/modules/accessibility.js"></script> ]]; } S htmlAndJS() { ret makeDiv() + hjs(js()); } S makeDiv() { ret div("", paramsPlus(divParams, +id)); } S js() { ret replaceDollarVars2([[ var ${varName}_gaugeOptions = { chart: { type: 'solidgauge' }, title: null, pane: { center: ['50%', '85%'], size: '140%', startAngle: -90, endAngle: 90, background: { backgroundColor: Highcharts.defaultOptions.legend.backgroundColor || '#EEE', innerRadius: '60%', outerRadius: '100%', shape: 'arc' } }, // the value axis yAxis: { stops: [ [0.6, '#55BF3B'], // green [0.75, '#DDDF0D'], // yellow [0.85, '#DF5353'] // red ], lineWidth: 0, tickWidth: 0, minorTickInterval: null, tickAmount: 2, title: { y: -70 }, labels: { y: 16 } }, plotOptions: { solidgauge: { dataLabels: { y: 5, borderWidth: 0, useHTML: true } } } }; var $varName = Highcharts.chart('$id', Highcharts.merge(${varName}_gaugeOptions, { yAxis: { min: 0, max: 200, title: { text: 'RAM' } }, credits: { enabled: false }, series: [{ name: 'RAM used', data: [80], dataLabels: { format: '<div style="text-align:center">' + '<span style="font-size:25px">{y}</span><br/>' + '<span style="font-size:12px;opacity:0.4">GB</span>' + '</div>' }, tooltip: { valueSuffix: ' GB' } }] })); function ${varName}_setValue(value) { point = ${varName}.series[0].points[0].update(value); } ]], +varName, +id); } }
download show line numbers debug dex old transpilations
Travelled to 5 computer(s): bhatertpkbcr, ekrmjmnbrukm, mqqgnosmbjvj, pyentgdyhuwx, vouqrxazstgt
No comments. add comment
Snippet ID: | #1030661 |
Snippet name: | HTMLGauge [dev.] |
Eternal ID of this version: | #1030661/7 |
Text MD5: | 9a18fd8715006da45f2ccb1f932eea41 |
Transpilation MD5: | af39b3152cf1e85aaa9d9c81081435be |
Author: | stefan |
Category: | javax / html |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2021-02-22 13:33:36 |
Source code size: | 2934 bytes / 105 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 282 / 521 |
Version history: | 6 change(s) |
Referenced in: | #1030682 - HTMLTokenization - render tokens + spacers in "brickwall" arrangement #1034167 - Standard Classes + Interfaces (LIVE, continuation of #1003674) |