|
1 | 1 | import {UnconnectedDropdown} from './Dropdown'; |
2 | 2 | import PropTypes from 'prop-types'; |
3 | 3 | import React, {Component} from 'react'; |
4 | | -import nestedProperty from 'plotly.js/src/lib/nested_property'; |
5 | | -import {connectToContainer} from '../../lib'; |
| 4 | +import {connectToContainer, customToPlotly, plotlyToCustom} from '../../lib'; |
6 | 5 |
|
7 | 6 | function computeTraceOptionsFromSchema(schema) { |
8 | 7 | const capitalize = s => s.charAt(0).toUpperCase() + s.substring(1); |
@@ -62,35 +61,15 @@ class TraceSelector extends Component { |
62 | 61 | this.traceOptions = [{label: 'Scatter', value: 'scatter'}]; |
63 | 62 | } |
64 | 63 |
|
65 | | - // If we used fullData mode or fill it may be undefined if the fullTrace |
66 | | - // is not visible and therefore does not have these values computed. |
67 | | - const mode = nestedProperty(props.container, 'mode').get(); |
68 | | - const fill = nestedProperty(props.container, 'fill').get(); |
69 | | - const fullValue = props.fullValue; |
70 | | - if (fullValue === 'scatter' && this.fillTypes.includes(fill)) { |
71 | | - this.fullValue = 'area'; |
72 | | - } else if (fullValue === 'scatter' && mode === 'lines') { |
73 | | - this.fullValue = 'line'; |
74 | | - } else { |
75 | | - this.fullValue = fullValue; |
76 | | - } |
| 64 | + this.fullValue = plotlyToCustom(props.container); |
77 | 65 | } |
78 | 66 |
|
79 | 67 | componentWillReceiveProps(nextProps, nextContext) { |
80 | 68 | this.setLocals(nextProps, nextContext); |
81 | 69 | } |
82 | 70 |
|
83 | 71 | updatePlot(value) { |
84 | | - let update; |
85 | | - if (value === 'line') { |
86 | | - update = {type: 'scatter', mode: 'lines', fill: 'none'}; |
87 | | - } else if (value === 'scatter') { |
88 | | - update = {type: 'scatter', mode: 'markers', fill: 'none'}; |
89 | | - } else if (value === 'area') { |
90 | | - update = {type: 'scatter', fill: 'tozeroy'}; |
91 | | - } else { |
92 | | - update = {type: value}; |
93 | | - } |
| 72 | + const update = customToPlotly(value); |
94 | 73 |
|
95 | 74 | if (this.props.updateContainer) { |
96 | 75 | this.props.updateContainer(update); |
|
0 commit comments