Skip to content

Commit 7c6dcde

Browse files
authored
Merge pull request #781 from plotly/trace-selector-props
Trace selector props
2 parents 6692ae6 + f20bd86 commit 7c6dcde

File tree

3 files changed

+31
-37
lines changed

3 files changed

+31
-37
lines changed

src/components/fields/TraceSelector.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ class TraceSelector extends Component {
118118
handleClick={() =>
119119
this.context.openModal(TraceTypeSelector, {
120120
...props,
121+
traceTypesConfig: this.context.traceTypesConfig,
121122
glByDefault: this.context.glByDefault,
122123
})
123124
}

src/components/widgets/TraceTypeSelector.js

Lines changed: 23 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,10 @@ class TraceTypeSelector extends Component {
138138

139139
renderCategories() {
140140
const {fullValue} = this.props;
141+
const {mapBoxAccess, localize: _, chartHelp} = this.context;
141142
const {
142143
traceTypesConfig: {traces, categories, complex},
143-
mapBoxAccess,
144-
localize: _,
145-
chartHelp,
146-
} = this.context;
144+
} = this.props;
147145

148146
return categories(_).map((category, i) => {
149147
let items = traces(_)
@@ -156,14 +154,11 @@ class TraceTypeSelector extends Component {
156154

157155
const MAX_ITEMS = 4;
158156

159-
let columnClasses = 'trace-grid__column';
160-
161-
if (
157+
const columnClasses =
162158
(items.length > MAX_ITEMS && !category.maxColumns) ||
163159
(category.maxColumns && category.maxColumns > 1)
164-
) {
165-
columnClasses += ' trace-grid__column--double';
166-
}
160+
? 'trace-grid__column trace-grid__column--double'
161+
: 'trace-grid__column';
167162

168163
return (
169164
<div className={columnClasses} key={i}>
@@ -192,43 +187,34 @@ class TraceTypeSelector extends Component {
192187

193188
renderSingleBlock() {
194189
const {fullValue} = this.props;
190+
const {localize: _} = this.context;
195191
const {
196192
traceTypesConfig: {traces, complex},
197-
localize: _,
198-
} = this.context;
199-
200-
const items = traces(_).map(item => (
201-
<Item
202-
key={item.value}
203-
complex={complex}
204-
active={fullValue === item.value}
205-
item={item}
206-
actions={this.actions}
207-
showActions={false}
208-
handleClick={() => this.selectAndClose(item.value)}
209-
style={{display: 'inline-block'}}
210-
/>
211-
));
193+
} = this.props;
212194

213195
return (
214-
<div
215-
style={{
216-
maxWidth: '460px',
217-
display: 'flex',
218-
flexFlow: 'wrap',
219-
padding: '5px',
220-
}}
221-
>
222-
{items}
196+
<div className="trace-grid-single-block">
197+
{traces(_).map(item => (
198+
<Item
199+
key={item.value}
200+
complex={complex}
201+
active={fullValue === item.value}
202+
item={item}
203+
actions={this.actions}
204+
showActions={false}
205+
handleClick={() => this.selectAndClose(item.value)}
206+
style={{display: 'inline-block'}}
207+
/>
208+
))}
223209
</div>
224210
);
225211
}
226212

227213
render() {
214+
const {localize: _} = this.context;
228215
const {
229216
traceTypesConfig: {categories},
230-
localize: _,
231-
} = this.context;
217+
} = this.props;
232218

233219
return (
234220
<Modal title={_('Select Trace Type')}>
@@ -243,9 +229,9 @@ TraceTypeSelector.propTypes = {
243229
fullValue: PropTypes.string,
244230
fullContainer: PropTypes.object,
245231
glByDefault: PropTypes.bool,
232+
traceTypesConfig: PropTypes.object,
246233
};
247234
TraceTypeSelector.contextTypes = {
248-
traceTypesConfig: PropTypes.object,
249235
handleClose: PropTypes.func,
250236
localize: PropTypes.func,
251237
mapBoxAccess: PropTypes.bool,

src/styles/components/widgets/_trace-type-selector.scss

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ $label-height: 34px;
44
$row-height: $image-size + $label-height + $default-half-spacing-unit +
55
$default-quarter-spacing-unit;
66

7+
.trace-grid-single-block {
8+
max-width: 460px;
9+
display: flex;
10+
flex-flow: wrap;
11+
padding: var(--spacing-quarter-unit);
12+
}
13+
714
.trace-grid {
815
display: grid;
916
grid-template-columns: repeat(4, 1fr);

0 commit comments

Comments
 (0)