Skip to content

Commit

Permalink
add number format to pivot table (#2703)
Browse files Browse the repository at this point in the history
* modify pivot table number format

* lint code

* lint code

* lint

* lint

* change variable name

* add number format to pivot table

* clean

* fix code climate
  • Loading branch information
yileic authored and mistercrunch committed May 12, 2017
1 parent 818251f commit d79a45f
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 5 deletions.
6 changes: 2 additions & 4 deletions superset/assets/backendSync.json
Original file line number Diff line number Diff line change
Expand Up @@ -1328,10 +1328,8 @@
"type": "SelectControl",
"freeForm": true,
"label": "Number format",
"default": [
".3s",
".3s | 12.3k"
],
"renderTrigger": true,
"default": ".3s",
"choices": [
[
".3s",
Expand Down
3 changes: 2 additions & 1 deletion superset/assets/javascripts/explorev2/stores/controls.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -550,7 +550,8 @@ export const controls = {
type: 'SelectControl',
freeForm: true,
label: 'Number format',
default: D3_TIME_FORMAT_OPTIONS[0],
renderTrigger: true,
default: '.3s',
choices: D3_TIME_FORMAT_OPTIONS,
description: D3_FORMAT_DOCS,
},
Expand Down
1 change: 1 addition & 0 deletions superset/assets/javascripts/explorev2/stores/visTypes.js
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,7 @@ const visTypes = {
controlSetRows: [
['groupby', 'columns'],
['metrics', 'pandas_aggfunc'],
['number_format'],
],
},
],
Expand Down
9 changes: 9 additions & 0 deletions superset/assets/visualizations/pivot_table.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,19 @@ module.exports = function (slice, payload) {
const container = slice.container;
const fd = slice.formData;
const height = container.height();
const numberFormat = fd.number_format;

// payload data is a string of html with a single table element
container.html(payload.data);

// format number
$('td').each(function () {
const tdText = $(this)[0].textContent;
if (!isNaN(tdText) && tdText !== '') {
$(this)[0].textContent = d3.format(numberFormat)(tdText);
}
});

if (fd.groupby.length === 1) {
// When there is only 1 group by column,
// we use the DataTable plugin to make the header fixed.
Expand Down

0 comments on commit d79a45f

Please sign in to comment.