Skip to content

Commit 0084233

Browse files
author
Adrian Hurtado
committed
WIP - minor fixes
1 parent 5d05139 commit 0084233

File tree

6 files changed

+90
-109
lines changed

6 files changed

+90
-109
lines changed

demo/App.vue

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
/>
3030
<LinesTest />
3131
<StackedLinesTest />
32+
<BarsTest />
33+
<LinesVerticalTest />
3234
<BarsHorizontalTest />
3335
<button
3436
class="Btn"
@@ -43,7 +45,9 @@
4345
<script>
4446
import { Cartesian, Pie, Scatter } from './sections'
4547
import LinesTest from './sections/tests/lines/LinesTest.vue'
48+
import LinesVerticalTest from './sections/tests/lines/LinesVerticalTest.vue'
4649
import StackedLinesTest from './sections/tests/lines/StackedLinesTest.vue'
50+
import BarsTest from './sections/tests/bars/BarsTest.vue'
4751
import BarsHorizontalTest from './sections/tests/bars/BarsHorizontalTest.vue'
4852
4953
const dataOne = [
@@ -101,7 +105,9 @@ export default {
101105
Pie,
102106
Scatter,
103107
LinesTest,
108+
LinesVerticalTest,
104109
StackedLinesTest,
110+
BarsTest,
105111
BarsHorizontalTest,
106112
},
107113
data () {

demo/sections/tests/lines/LinesHorizontalTest.vue

Lines changed: 0 additions & 101 deletions
This file was deleted.
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
<template>
2+
<div>
3+
<WChart
4+
:dataset="dataset"
5+
responsive
6+
:padding="30"
7+
>
8+
<WXAxis
9+
id="fruits"
10+
position="top"
11+
reversed
12+
:numTicks="4"
13+
:domain="[0]"
14+
/>
15+
<WYAxis
16+
id="month"
17+
type="categorical"
18+
datakey="month"
19+
position="right"
20+
:categoricalPadding="0"
21+
/>
22+
23+
<WLine
24+
xDatakey="apples"
25+
label="apples"
26+
color="red"
27+
/>
28+
<WLine
29+
xDatakey="bananas"
30+
label="bananas"
31+
color="yellow"
32+
/>
33+
<WLine
34+
xDatakey="pears"
35+
label="pears"
36+
color="green"
37+
/>
38+
<WLine
39+
xDatakey="cherries"
40+
label="cherries"
41+
color="blue"
42+
/>
43+
<Legend />
44+
</WChart>
45+
46+
<div>
47+
<button
48+
class="Btn"
49+
@click="change"
50+
>
51+
Change dataset
52+
</button>
53+
</div>
54+
</div>
55+
</template>
56+
57+
<script>
58+
import Legend from '../../../../src/components/Legend/Legend.vue'
59+
import { randomFruitsDataset } from '../randomDataset'
60+
61+
export default {
62+
name: 'LinesVerticalTest',
63+
components: {
64+
Legend,
65+
},
66+
data () {
67+
return {
68+
dataset: randomFruitsDataset(),
69+
}
70+
},
71+
methods: {
72+
change () {
73+
this.dataset = randomFruitsDataset()
74+
},
75+
},
76+
}
77+
</script>

src/components/Axis/axisUtils.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ export function obtainCategories ({ dataset, datakeys, allowDuplicatedCategory }
3131
* @returns {number[]} [min, max]
3232
*/
3333
export function obtainNumericDataDomainFromValue (value) {
34-
if (value === undefined) return undefined
34+
if (value === undefined || value === null) return undefined
3535
if (typeof value === 'number') return [value, value]
36-
const valuesArray = Array.isArray(value) ? value : Object.values(value)
37-
return [Math.min(...valuesArray), Math.max(...valuesArray)]
36+
const valuesArray = Array.isArray(value) ? value : Object.values(value).filter(v => typeof v === 'number')
37+
return valuesArray.length > 0 ? [Math.min(...valuesArray), Math.max(...valuesArray)] : undefined
3838
}
3939
export function obtainNumericDataDomainFromDatakey ({ dataset, series, datakey }) {
4040
const datums = getDatums({ dataset, series })
@@ -43,7 +43,7 @@ export function obtainNumericDataDomainFromDatakey ({ dataset, series, datakey }
4343
let overallMax = -Infinity
4444
datums.forEach((datum) => {
4545
const value = datakeyValue(datum, datakey)
46-
const [currentMin, currentMax] = obtainNumericDataDomainFromValue(value)
46+
const [currentMin, currentMax] = obtainNumericDataDomainFromValue(value) || [Infinity, -Infinity]
4747
overallMin = Math.min(overallMin, currentMin)
4848
overallMax = Math.max(overallMax, currentMax)
4949
})

src/components/Stack/Stack.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ export default {
125125
const { stackData } = this
126126
if (stackData.length > 0) {
127127
return [
128-
Math.min(...stackData.map(stackDataItem => Math.min(...stackDataItem.map(range => range[0])))),
129-
Math.max(...stackData.map(stackDataItem => Math.max(...stackDataItem.map(range => range[1])))),
128+
Math.min(...stackData.map(stackDataItem => Math.min(...stackDataItem.map(range => range[0]).filter(v => typeof v === 'number' && !Number.isNaN(v))))),
129+
Math.max(...stackData.map(stackDataItem => Math.max(...stackDataItem.map(range => range[1]).filter(v => typeof v === 'number' && !Number.isNaN(v))))),
130130
]
131131
}
132132
return undefined

src/components/basicsElements/d3Utils.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ import d3Transition from 'd3-transition/dist/d3-transition'
44
import getD3Curve from './getD3Curve'
55

66
const normalizeAccessor = accessor => (typeof accessor === 'string' ? d => d[accessor] : accessor)
7-
const isUndefinedOrNull = x => x === undefined || x === null
87
const normalizeDefined = (defined, ...accessors) => (
9-
(defined === true && (d => !accessors.some(accessor => isUndefinedOrNull(accessor(d))))) ||
8+
(defined === true && (d => !accessors.some(accessor => accessor(d) === undefined))) ||
109
defined ||
1110
(() => true)
1211
)

0 commit comments

Comments
 (0)