Skip to content

Commit

Permalink
getCategories function as exposed API
Browse files Browse the repository at this point in the history
  • Loading branch information
ranaalisaeed committed May 30, 2021
1 parent 4df155c commit ee3d41f
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 11 deletions.
2 changes: 1 addition & 1 deletion src/charts/stackbar.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ describe('Stackbar Chart', () => {
})

test('should provide maxValue getter and setter', () => {
const sample_categories = stackbarChart.categories()
const sample_categories = stackbarChart.getCategories(sample_data)
const data_maxVal = max(
sample_data.map(d => max(
[sum(sample_categories.map(k => d[k]))]
Expand Down
27 changes: 17 additions & 10 deletions src/charts/stackbar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,16 +107,16 @@ export default function stackbar(): any {
}


function getCategories(data: StackbarDatum[]): string[] {
return Array.from(new Set(data
.map(d => Object.keys(d))
.reduce((acc, val) => acc.concat(val), []) // alternative .flat()
)).slice(1)
}
// function getCategories(data: StackbarDatum[]): string[] {
// return Array.from(new Set(data
// .map(d => Object.keys(d))
// .reduce((acc, val) => acc.concat(val), []) // alternative .flat()
// )).slice(1)
// }


function getMaxValue(data: StackbarDatum[]): number {
let categories = getCategories(data)
let categories = _.getCategories(data)

const transformedData: number[] = data.map(d => {
return max([ sum(
Expand All @@ -131,7 +131,7 @@ export default function stackbar(): any {
* @param data StackbarDatum[]
*/
function buildScales(data: StackbarDatum[]): void {
let categories = getCategories(data)
let categories = _.getCategories(data)
let computedMaxValue = getMaxValue(data)

xScMkr = scaleBand()
Expand Down Expand Up @@ -196,7 +196,7 @@ export default function stackbar(): any {
* @param data
*/
function buildLayout(data: StackbarDatum[]): void {
let categories = getCategories(data)
let categories = _.getCategories(data)

let stackMkr = stack<StackbarDatum[]>()
.keys(categories)
Expand Down Expand Up @@ -345,7 +345,7 @@ export default function stackbar(): any {
let legendGroup: any = svg.select('.legend-group')

let existingElems = legendGroup.selectAll('.key-group')
.data(getCategories(data), (d: any) => d)
.data(_.getCategories(data), (d: any) => d)

let appendedElems = existingElems
.enter().append('g')
Expand Down Expand Up @@ -404,6 +404,13 @@ export default function stackbar(): any {
return this
}

_.getCategories = function(data: StackbarDatum[]): string[] {
return Array.from(new Set(data
.map(d => Object.keys(d))
.reduce((acc, val) => acc.concat(val), []) // alternative .flat()
)).slice(1)
}


return _
}

0 comments on commit ee3d41f

Please sign in to comment.