diff --git a/superset/assets/src/explore/components/controls/SpatialControl.jsx b/superset/assets/src/explore/components/controls/SpatialControl.jsx
index 7332193cfb04e..356f7d41763e7 100644
--- a/superset/assets/src/explore/components/controls/SpatialControl.jsx
+++ b/superset/assets/src/explore/components/controls/SpatialControl.jsx
@@ -15,6 +15,7 @@ const spatialTypes = {
delimited: 'delimited',
geohash: 'geohash',
zipcode: 'zipcode',
+ fsa: 'fsa',
};
const propTypes = {
@@ -47,6 +48,7 @@ export default class SpatialControl extends React.Component {
reverseCheckbox: v.reverseCheckbox || false,
geohashCol: v.geohashCol || defaultCol,
zipcodeCol: v.zipcodeCol || defaultCol,
+ fsaCol: v.fsaCol || defaultCol,
value: null,
errors: [],
};
@@ -87,6 +89,12 @@ export default class SpatialControl extends React.Component {
if (!value.zipcodeCol) {
errors.push(errMsg);
}
+ } else if (type === spatialTypes.fsa) {
+ value.fsaCol = this.state.fsaCol;
+ value.reverseCheckbox = this.state.reverseCheckbox;
+ if (!value.fsaCol) {
+ errors.push(errMsg);
+ }
}
this.setState({ value, errors });
this.props.onChange(value, errors);
@@ -112,6 +120,8 @@ export default class SpatialControl extends React.Component {
return `${this.state.geohashCol}`;
} else if (this.state.type === spatialTypes.zipcode) {
return `${this.state.zipcodeCol}`;
+ } else if (this.state.type === spatialTypes.fsa) {
+ return `${this.state.fsaCol}`;
}
return null;
}
@@ -206,6 +216,21 @@ export default class SpatialControl extends React.Component {
+