[WiP] Deprecate Explore v1 (#2064)

* Simplifying the viz interface (#2005)

* Working on dashes

* Making this a collaborative branch

* Fixing some bugs

* Fixing bugs

* More improvements

* Add datasource back in bootstrap data

* Decent state

* Linting

* Moving forward

* Some more linting

* Fix the timer

* Triggering events through state

* Lingint

* Put filters in an array instead of flt strings (#2090)

* Put filters in an array instead of flt strings

* Remove query_filter(), put opChoices into Filter

* Update version_info.json

* Fix migrations

* More renderTrigger=true

* Fixing bugs

* Working on standalone

* getting standalone to work

* Fixed forcedHeight for standalone =view

* Linting

* Get save slice working in v2 (#2106)

* Filter bugfix

* Fixing empty series limit bug

* Fixed dashboard view

* Fixing short urls

* Only allow owners to overwrite slice (#2142)

* Raise exception when date range is wrong

* Only allow owner to overwrite a slice

* Fix tests for deprecate v1 (#2140)

* Fixed tests for control panels container and filters

* Fixed python tests for explorev2

* Fix linting errors

* Add in stop button during slice querying/rendering (#2121)

* Add in stop button during slice querying/rendering

* Abort ajax request on stop

* Adding missing legacy module

* Removing select2.sortable.js because of license

* Allow query to display while slice is loading (#2100)

* Allow query to display while slice is loading

* Put latestQueryFormData in store

* Reorganized query function, got rid of tu[le return values

* Merging migrations

* Wrapping up shortner migration

* Fixing tests

* Add folder creation to syncBackend

* Fixing edit URL in explore view

* Fix look of Stop button

* Adding syntax highlighting to query modal

* Fix cast_form_data and flase checkbox on dash

* Bugfix

* Going deeper

* Fix filtering

* Deleing invalid filters when changing datasource

* Minor adjustments

* Fixing calendar heatmap examples

* Moving edit datasource button to header's right side

* Fixing mapbox example

* Show stack trace when clicking alert

* Adding npm sync-backend command to build instruction

* Bumping up JS dependencies

* rm dep on select2

* Fix py3 urlparse

* rm superset-select2.js

* Improving migration scripts

* Bugfixes on staging

* Fixing Markup viz
This commit is contained in:
Maxime Beauchemin
2017-02-16 17:28:35 -08:00
committed by GitHub
parent 3b023e5eaa
commit 0cc8eff1c3
82 changed files with 4018 additions and 3867 deletions

View File

@@ -1,18 +1,18 @@
import { it, describe } from 'mocha';
import { expect } from 'chai';
import * as actions from '../../../javascripts/explorev2/actions/exploreActions';
import { initialState } from '../../../javascripts/explorev2/stores/store';
import { defaultState } from '../../../javascripts/explorev2/stores/store';
import { exploreReducer } from '../../../javascripts/explorev2/reducers/exploreReducer';
describe('reducers', () => {
it('sets correct field value given a key and value', () => {
const newState = exploreReducer(
initialState('dist_bar'), actions.setFieldValue('x_axis_label', 'x'));
expect(newState.viz.form_data.x_axis_label).to.equal('x');
defaultState, actions.setFieldValue('x_axis_label', 'x', []));
expect(newState.fields.x_axis_label.value).to.equal('x');
});
it('setFieldValue works as expected with a checkbox', () => {
const newState = exploreReducer(initialState('dist_bar'),
actions.setFieldValue('show_legend', true));
expect(newState.viz.form_data.show_legend).to.equal(true);
const newState = exploreReducer(defaultState,
actions.setFieldValue('show_legend', true, []));
expect(newState.fields.show_legend.value).to.equal(true);
});
});

View File

@@ -3,24 +3,19 @@ import { expect } from 'chai';
import { describe, it, beforeEach } from 'mocha';
import { shallow } from 'enzyme';
import { Panel } from 'react-bootstrap';
import { defaultFormData, initialState } from '../../../../javascripts/explorev2/stores/store';
import { getFormDataFromFields, defaultFields }
from '../../../../javascripts/explorev2/stores/store';
import {
ControlPanelsContainer,
} from '../../../../javascripts/explorev2/components/ControlPanelsContainer';
import { fields } from '../../../../javascripts/explorev2/stores/fields';
const defaultProps = {
datasource_id: 1,
datasource_type: 'type',
exploreState: initialState(),
form_data: defaultFormData(),
fields,
actions: {
fetchFieldOptions: () => {
// noop
},
},
datasource_type: 'table',
actions: {},
fields: defaultFields,
form_data: getFormDataFromFields(defaultFields),
isDatasourceMetaLoading: false,
exploreState: {},
};
describe('ControlPanelsContainer', () => {

View File

@@ -2,7 +2,7 @@ import React from 'react';
import { expect } from 'chai';
import { describe, it } from 'mocha';
import DisplayQueryButton from '../../../../javascripts/explore/components/DisplayQueryButton';
import DisplayQueryButton from '../../../../javascripts/explorev2/components/DisplayQueryButton';
describe('DisplayQueryButton', () => {
const defaultProps = {

View File

@@ -4,7 +4,7 @@ import { describe, it } from 'mocha';
import { shallow, mount } from 'enzyme';
import { OverlayTrigger } from 'react-bootstrap';
import EmbedCodeButton from '../../../../javascripts/explore/components/EmbedCodeButton';
import EmbedCodeButton from '../../../../javascripts/explorev2/components/EmbedCodeButton';
describe('EmbedCodeButton', () => {
const defaultProps = {

View File

@@ -2,8 +2,8 @@ import React from 'react';
import { expect } from 'chai';
import { describe, it } from 'mocha';
import { shallow } from 'enzyme';
import ExploreActionButtons from '../../../../javascripts/explore/components/ExploreActionButtons';
import ExploreActionButtons from
'../../../../javascripts/explorev2/components/ExploreActionButtons';
describe('ExploreActionButtons', () => {
const defaultProps = {

View File

@@ -7,6 +7,7 @@ import { expect } from 'chai';
import { describe, it, beforeEach } from 'mocha';
import { shallow } from 'enzyme';
import Filter from '../../../../javascripts/explorev2/components/Filter';
import SelectField from '../../../../javascripts/explorev2/components/SelectField';
const defaultProps = {
choices: ['country_name'],
@@ -16,8 +17,6 @@ const defaultProps = {
// noop
},
filter: {
id: 1,
prefix: 'flt',
col: null,
op: 'in',
value: '',
@@ -45,7 +44,7 @@ describe('Filter', () => {
it('renders two selects, one button and one input', () => {
expect(wrapper.find(Select)).to.have.lengthOf(2);
expect(wrapper.find(Button)).to.have.lengthOf(1);
expect(wrapper.find('input')).to.have.lengthOf(1);
expect(wrapper.find(SelectField)).to.have.lengthOf(1);
});
it('calls changeFilter when select is changed', () => {
@@ -53,8 +52,8 @@ describe('Filter', () => {
selectCol.simulate('change', { value: 'col' });
const selectOp = wrapper.find('#select-op');
selectOp.simulate('change', { value: 'in' });
const input = wrapper.find('input');
input.simulate('change', { target: { value: 'x' } });
const selectVal = wrapper.find(SelectField);
selectVal.simulate('change', { value: 'x' });
expect(defaultProps.changeFilter).to.have.property('callCount', 3);
});
});

View File

@@ -4,7 +4,7 @@ import { expect } from 'chai';
import { shallow } from 'enzyme';
import sinon from 'sinon';
import QueryAndSaveButtons from '../../../../javascripts/explore/components/QueryAndSaveBtns';
import QueryAndSaveButtons from '../../../../javascripts/explorev2/components/QueryAndSaveBtns';
import Button from '../../../../javascripts/components/Button';
describe('QueryAndSaveButtons', () => {
@@ -36,7 +36,7 @@ describe('QueryAndSaveButtons', () => {
});
it('calls onQuery when query button is clicked', () => {
const queryButton = wrapper.find('#query_button');
const queryButton = wrapper.find('.query');
queryButton.simulate('click');
expect(defaultProps.onQuery.called).to.eql(true);
});

View File

@@ -14,10 +14,8 @@ const defaultProps = {
saveSlice: sinon.spy(),
},
form_data: defaultFormData,
datasource_id: 1,
datasource_name: 'birth_names',
datasource_type: 'table',
user_id: 1,
slice: {},
};
describe('SaveModal', () => {

View File

@@ -2,7 +2,7 @@ import React from 'react';
import { expect } from 'chai';
import { describe, it } from 'mocha';
import URLShortLinkButton from '../../../../javascripts/explore/components/URLShortLinkButton';
import URLShortLinkButton from '../../../../javascripts/explorev2/components/URLShortLinkButton';
describe('URLShortLinkButton', () => {
const defaultProps = {