mirror of
https://github.com/apache/superset.git
synced 2026-04-23 01:55:09 +00:00
Added filter in ControlPanelsContainer for explore V2 (#1647)
* Added filter in ControlPanelsContainer * Move function for getting url params object to utils * Fixed python test * Move Filter to separate component * Added specs and made changes based on comments * Moved specs to right folder
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
/* eslint camelcase: 0 */
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import ExploreViewContainer from './components/ExploreViewContainer';
|
||||
@@ -28,6 +29,35 @@ const bootstrappedState = Object.assign(initialState(bootstrapData.viz.form_data
|
||||
bootstrappedState.viz.form_data.datasource = parseInt(bootstrapData.datasource_id, 10);
|
||||
bootstrappedState.viz.form_data.datasource_name = bootstrapData.datasource_name;
|
||||
|
||||
function parseFilters(form_data, prefix = 'flt') {
|
||||
const filters = [];
|
||||
for (let i = 0; i < 10; i++) {
|
||||
if (form_data[`${prefix}_col_${i}`] && form_data[`${prefix}_op_${i}`]) {
|
||||
filters.push({
|
||||
prefix,
|
||||
col: form_data[`${prefix}_col_${i}`],
|
||||
op: form_data[`${prefix}_op_${i}`],
|
||||
value: form_data[`${prefix}_eq_${i}`],
|
||||
});
|
||||
}
|
||||
/* eslint no-param-reassign: 0 */
|
||||
delete form_data[`${prefix}_col_${i}`];
|
||||
delete form_data[`${prefix}_op_${i}`];
|
||||
delete form_data[`${prefix}_eq_${i}`];
|
||||
}
|
||||
return filters;
|
||||
}
|
||||
|
||||
function getFilters(form_data, datasource_type) {
|
||||
if (datasource_type === 'table') {
|
||||
return parseFilters(form_data);
|
||||
}
|
||||
return parseFilters(form_data).concat(parseFilters(form_data, 'having'));
|
||||
}
|
||||
|
||||
bootstrappedState.viz.form_data.filters =
|
||||
getFilters(bootstrappedState.viz.form_data, bootstrapData.datasource_type);
|
||||
|
||||
const store = createStore(exploreReducer, bootstrappedState,
|
||||
compose(applyMiddleware(thunk))
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user