Diferencia entre revisiones de «MediaWiki:Gadget-ec-make-pie.js»
Ir a la navegación
Ir a la búsqueda
m (try this) |
m (+) |
||
Línea 72: | Línea 72: | ||
console.debug('gadget:', 'make-pie', 'start-render', arguments) |
console.debug('gadget:', 'make-pie', 'start-render', arguments) |
||
console.debug('gadget:', 'make-pie', 'data:', graph_data.data[0].values) |
|||
// attempt to render |
// attempt to render |
Revisión del 19:41 2 ago 2019
///# show graphs on editors corner mw.hook( 'wikipage.content' ).add(function () { if (mw.config.get('wgPageName') != "Coppermind:Editor's_Corner") return console.warn('gadget:', 'ec-make-pie') const radius = 200 const font_size = 10 const graph_data = { version: 2, width: radius * 2, height: radius * 2, data: [ { name: 'X', values: [ /*{ label: '', count: 0, color: '', }*/ ], transforms: [ { type: 'pie', field: 'count', }, ], } ], marks: [ { type: 'arc', from: { data: 'X', }, properties: { enter: { x: { field: { group: 'width', }, mult: .5, }, y: { field: { group: 'height',}, mult: .5, }, startAngle: { field: 'layout_start', }, endAngle: { field: 'layout_end', }, innerRadius: { value: 0, }, outerRadius: { value: radius, }, fill: { field: 'color', }, stroke: { value: 'white', }, }, }, }, { type: 'text', from: { data: 'X', }, properties: { enter: { x: { field: { group: 'width', }, mult: .5, }, y: { field: { group: 'height',}, mult: .5, }, radius: { value: radius, }, theta: { value: 'layout_mid', }, fill: { value: 'white', }, align: { value: 'center', }, baseline: { value: 'middle', }, text: { field: 'label', }, fontWeight: { value: 'bold', }, fotnSize: { value: font_size, } }, }, }, ], } // FIXME: get json from /wiki/MediaWiki:Gadget-ec-make-pie-status.json' // fill it with article counts graph_data.data[0].values.push({ label: 'Complete', count: 100, color: 'green', }) graph_data.data[0].values.push({ label: 'Pending', count: 90, color: 'blue', }) graph_data.data[0].values.push({ label: 'Partial', count: 120, color: 'yellow', }) graph_data.data[0].values.push({ label: 'Stub', count: 130, color: 'grey', }) // find render spot const render_spot = document.createElement('div') const stats_table = document.querySelector('.infobox') stats_table.parentElement.insertBefore(render_spot, stats_table) // load renderer mw.loader.using('ext.graph.vega2').then(function () { console.debug('gadget:', 'make-pie', 'start-render', arguments) console.debug('gadget:', 'make-pie', 'data:', graph_data.data[0].values) // attempt to render mw.drawVegaGraph( render_spot, graph_data, function () { console.warn('gadget:', 'make-pie', 'done', arguments) }); }); // done });