This is an automated email from the ASF dual-hosted git repository.
maximebeauchemin pushed a change to branch 0.28
in repository https://gitbox.apache.org/repos/asf/incubator-superset.git.
from 28e321b 0.28.0rc6
add ee89a3e [SIP-6] removed get_data for BigNumber (#5861)
add 10836ce fixed modal close issue (#5865)
add 8569261 [bug fix] Fixed adhoc metric is not working for WordCloud
(#5877)
add 83fa7af Enable Teradata (#5870)
add 057c749 Addded documentation for Teradata DB (#5885)
add 7098ada [SIP-5] Refactor Time Series Table (#5775)
add b453cd2 [lint] turn no-undef back on, set browser, cypress, and mocha
env's (#5879)
add fdd44ac remove duplicated utils (#5851)
add acf1a1b [treemap] add row_limit control (#5811)
add b68766d Add cypress artifacts directory (videos/screenshots) to
gitignore and sort items in gitignore (#5900)
add 9c486a3 [react16] fix React type checking (#5903)
add 0e93a94 [SIP-5] Refactor nvd3 (#5838)
add 041fe52 Adds a new macro to allow getting filter values easily (#5547)
add 39ef77a Remove jquery usage to highlight sql lab menu (#5907)
add 74940e6 Fixing linting error in macro_tests (#5918)
add 14de28a [bugfix] Fix color scheme picker (#5891)
add f2d6449 Remove unused functions and jquery dependency (#5868)
add 19a3319 [bugfix] Fix percent metric display and check for string
columns in table (#5917)
add 24be692 [refactor] Remove dependency on personal fork of supercluster
from mapbox visualizations (#5902)
add 42ab175 [contributing.md] swap cypress command order (#5921)
add 8cb734d Table and dist bar tests (#5901)
add 325e7c0 [bugfix] De-dup <script> tags. #5883 (#5890)
add 7448d07 [bugfix] ignore history.pushState errors (#5905)
add 75bc501 [explore flow] handling duplicated column aliases (#5778)
add 8fff0d9 [SIP-6] Add reactify function and convert world map to new
directory structure. (#5893)
add 549328f Clean up CONTRIBUTING.md: (#5911)
add b9e3159 Fix regression around low row limit for CSV exports (#5866)
add 71f014e Allow removing legend (#5932)
add 5b97fe5 Some linting (#5790)
add 1e5a02a use es6 import (#5938)
add 00c4c7e fix csv upload bugs (#5940)
add 8c83b72 remove .only (#5943)
add a0e7c17 fix sqlab progress bar and status inconsistency (#5848)
add b6d7d57 Add schema level access control on csv upload (#5787)
add 15b1037 Adding configuration to cypress to enable dashboard (#5926)
add 4e78803 [eslint] add no-only-tests (#5945)
add 896c260 [docs] iterating to get to ASF compliance on project site
(#5923)
add 73d1e45 [explore] add "View samples" modal to action buttons (#5770)
add f94bda0 [bugfix] metrics issue in 'Periodicity Pivot' (#5931)
add a1fa4bc [deck_polygon] implement null locations flag (#5948)
add 70c095b [deck_polyline] show metric in geohash (#5952)
add 0886870 ensure npm run build is in production mode (#5934)
add 4c62494 fix sqllab querysearch typeahead permission error (#5906)
add 6b89b7f Deprecate getColorFromSchem (#5937)
add 5811a26 Constrain the max version of markdown (#5967)
add 569f221 Add fordeal to superset user list (#5970)
add 52033cb Pinning a version of click to fix travis (#5975)
add 4c21c65 Remove lodash.throttle and replace underscore calls with
lodash (#5946)
add 458b2b5 Explicit set markdown version to >= 3.0 (#5959)
add 0cc0996 [cypress] Update dashboard test to remove 10s timeout (#5957)
add bf9a102 Update webpack bundle configuration (#5983)
add 2cd9407 [SIP-6] Migrate visualizations to new directory structure.
(#5949)
add 4868c00 wait and verify one-by-one (#5995)
add 36e2ddd disable dashboard test (#6008)
add 414a4bf Removing the key from cypress build and removing parallel
flag (#6005)
add 604524b [feat] Feature flag system via config (#5960)
add 7388294 feat: import/export dashboards via cli (#5991)
add f9344f1 [cypress] Combine multiple tests under visualizations into
single test to save running time (#6019)
add 5c2a788 [SIP-6] Migrate visualizations to new directory structure
(part 3 - nvd3) (#6006)
add df64eca [cypress] Add integration test for area, pie, pivot_table,
world_map, dual_line, sunburst, sankey, big_number, bubble, box_plot, treemap
(#5924)
add ab5c910 [bugfix] Fix Tableviz metrics column disorder (#5566)
add e12d00a log query fetch time (#6033)
add a9ef0ae Revert #5991 (#6035)
add 9f028cc [SIP-6] Migrate visualizations to new directory structure
(part 2) (#5997)
add f889798 use world map only bundle (#6029)
add 50c701c [ci] Update ci config to reduce javascript test time and some
of cypress. (#6016)
add df341ff Sorting tables by "modified" is broken (#6027)
add 8fe6f12 refer to default color scheme in colorpickercontrol instead
of pointing to specific scheme (#6031)
add 160e477 Deprecate support for Python < 3.6 (#5985)
add adfe9e3 [tablemodelview] Fixing JSON api/read serializable issue
(#6023)
add 93fe453 remove redundant mysql (#6049)
add 06e029f fix for annotation layer bug (#6047)
add 96952d0 Search queries when enter is pressed (#6043)
add 6282edd Revert old precision formatters (#6056)
add 9dcf8e1 Upgrade flask-appbuilder to latest. (#6030)
add 1ee08fc [select-star] Adding optional schema to view (#6051)
add 712c1aa Allow user to force refresh metadata (#5933)
add f50ed17 check db extra and metadata params preemptively (#6004)
add 361f588 [Dashboard] Fix margin issue in dashboard modal (#6037)
add 395359f [cypress] add integration tests for dashboard (#6002)
add cd2c46a Add data structures for chart plugin system (#6028)
add 3cc6fb6 Add increment back arrow to time player (#6062)
add 238ffb4 [setup] Using pip-tools to create requirements.txt (#6054)
add ee472af feat: import/export dashboards via cli (#6061)
add 9b4cf85 [cypress] add SQL lab tests (#5974)
add 247a85b Fix top groups with user defined metrics (#6073)
add 5c5be82 remove future imports (#6050)
add c0f685b Fix the horizon title only show the first key (#5998)
add 64383ce Rename color constants and move util function into separate
file (#6074)
add b7d5554 Cypress tests for controls and explore links (#6069)
add e37b83a remove future imports from db migrations (#6063)
add 5282f39 Create chart plugins and metadata (#6072)
add 2a7b64f [SIP-5] Remove references to slice from all deck.gl
components. (#6039)
add 1d2b1aa [cypress][sqllab] increase timeout for sqllab results (#6089)
add 8e88d02 Add ChartPlugin and metadata for nvd3 and BigNumber vis
(#6085)
add e1e8778 Add ChartPlugin and metadata for deck.gl vis (#6090)
add 047c8b0 remove six dependency (#6091)
add dd9eeda remove future (#6065)
add 2fc0743 move countries directory under CountryMap (#6088)
add 12ce1b2 Fix link formating in README.md (#6097)
add 3df98e5 make BigNumber PureComponent (#6105)
add dc7b6f2 Rename onTooltip to setTooltip (#6103)
add 68ff4e5 fix dependency issue #6086 (#6102)
add 46c8667 remove utf8 declaration (#6096)
add 9029701 [refactor] Migrate from Mocha+Chai to Jest (#6079)
add 316fdcb [SIP-4] replace chart ajax calls with `SupersetClient` (#5875)
add 91792a5 send username in sync request (#6113)
add 75d0823 Merge branch 'master' into 0.28
add 87a3260 0.28.0rc7
No new revisions were added by this update.
Summary of changes:
.gitignore | 45 +-
.travis.yml | 89 +-
CONTRIBUTING.md | 667 ++--
README.md | 4 +-
RELEASING.md | 93 +
UPDATING.md | 20 +-
contrib/docker/Dockerfile | 2 +-
docs/conf.py | 10 +-
docs/index.rst | 30 +-
docs/installation.rst | 39 +-
docs/sqllab.rst | 2 +
requirements-dev.txt | 3 +-
requirements.txt | 67 +-
scripts/permissions_cleanup.py | 6 -
setup.py | 17 +-
superset/__init__.py | 15 +-
superset/assets/.babelrc | 9 +-
superset/assets/.eslintrc | 7 +-
superset/assets/.istanbul.yml | 1 +
superset/assets/cypress.json | 7 +-
superset/assets/cypress/.eslintrc | 8 +
.../cypress/integration/dashboard/controls.js | 71 +
.../integration/dashboard/dashboard.helper.js | 4 +
.../integration/dashboard/dashboard_tests.js | 26 -
.../cypress/integration/dashboard/edit_mode.js | 62 +
.../assets/cypress/integration/dashboard/filter.js | 51 +
.../cypress/integration/dashboard/index.test.js | 11 +
.../assets/cypress/integration/dashboard/load.js | 36 +
.../cypress/integration/explore/control.test.js | 269 ++
.../cypress/integration/explore/control_tests.js | 59 -
.../cypress/integration/explore/link.test.js | 140 +
.../integration/explore/visualizations/area.js | 76 +
.../explore/visualizations/big_number.js | 99 +-
.../explore/visualizations/big_number_total.js | 54 +
.../integration/explore/visualizations/box_plot.js | 50 +
.../integration/explore/visualizations/bubble.js | 71 +
.../integration/explore/visualizations/compare.js | 72 +
.../integration/explore/visualizations/dist_bar.js | 61 +
.../explore/visualizations/dual_line.js | 53 +
.../explore/visualizations/histogram.js | 62 +
.../explore/visualizations/index.test.js | 35 +
.../integration/explore/visualizations/line.js | 92 +-
.../integration/explore/visualizations/pie.js | 53 +
.../explore/visualizations/pivot_table.js | 92 +
.../integration/explore/visualizations/sankey.js | 60 +
.../explore/visualizations/shared.helper.js | 62 +-
.../integration/explore/visualizations/sunburst.js | 66 +
.../integration/explore/visualizations/table.js | 108 +
.../integration/explore/visualizations/treemap.js | 59 +
.../explore/visualizations/world_map.js | 62 +
.../cypress/integration/sqllab/index.test.js | 9 +
.../assets/cypress/integration/sqllab/query.js | 103 +
.../cypress/integration/sqllab/sourcePanel.js | 57 +
.../cypress/integration/sqllab/sqllab.helper.js | 23 +
superset/assets/cypress/integration/sqllab/tabs.js | 38 +
superset/assets/cypress/support/commands.js | 51 +-
superset/assets/cypress/support/index.js | 9 +-
superset/assets/cypress/utils/readResponseBlob.js | 11 +
superset/assets/cypress_build.sh | 3 +-
superset/assets/images/apache_feather.png | Bin 0 -> 138140 bytes
superset/assets/jest.config.js | 11 +
superset/assets/package.json | 42 +-
superset/assets/spec/.eslintrc | 12 +-
superset/assets/spec/__mocks__/fileMock.js | 1 +
superset/assets/spec/__mocks__/styleMock.js | 1 +
.../assets/spec/helpers/setupSupersetClient.js | 10 +
superset/assets/spec/helpers/shim.js | 15 +-
.../spec/javascripts/CRUD/CollectionTable_spec.jsx | 8 +-
.../addSlice/AddSliceContainer_spec.jsx | 14 +-
.../assets/spec/javascripts/chart/Chart_spec.jsx | 12 +-
.../components/AlteredSliceTag_spec.jsx | 70 +-
.../javascripts/components/AsyncSelect_spec.jsx | 18 +-
.../javascripts/components/CachedLabel_spec.jsx | 6 +-
.../spec/javascripts/components/Checkbox_spec.jsx | 14 +-
.../javascripts/components/ColumnOption_spec.jsx | 26 +-
.../components/ColumnTypeLabel_spec.jsx | 28 +-
.../components/CopyToClipboard_spec.jsx | 4 +-
.../FilterableTable/FilterableTable_spec.jsx | 12 +-
.../javascripts/components/MetricOption_spec.jsx | 22 +-
.../javascripts/components/ModalTrigger_spec.jsx | 4 +-
.../javascripts/components/OnPasteSelect_spec.jsx | 28 +-
.../components/OptionDescription_spec.jsx | 6 +-
.../javascripts/components/PopoverSection_spec.jsx | 8 +-
.../components/URLShortLinkButton_spec.jsx | 4 +-
.../components/URLShortLinkModal_spec.jsx | 4 +-
.../components/VirtualizedRendererWrap_spec.jsx | 30 +-
.../assets/spec/javascripts/dashboard/.eslintrc | 1 -
.../dashboard/actions/dashboardLayout_spec.js | 100 +-
.../dashboard/components/CodeModal_spec.jsx | 6 +-
.../dashboard/components/CssEditor_spec.jsx | 6 +-
.../dashboard/components/DashboardBuilder_spec.jsx | 40 +-
.../dashboard/components/DashboardGrid_spec.jsx | 24 +-
.../dashboard/components/Dashboard_spec.jsx | 24 +-
.../components/HeaderActionsDropdown_spec.jsx | 38 +-
.../dashboard/components/Header_spec.jsx | 32 +-
.../dashboard/components/MissingChart_spec.jsx | 8 +-
.../components/RefreshIntervalModal_spec.jsx | 6 +-
.../dashboard/components/SliceAdder_spec.jsx | 34 +-
.../components/dnd/DragDroppable_spec.jsx | 26 +-
.../components/gridComponents/ChartHolder_spec.jsx | 34 +-
.../components/gridComponents/Chart_spec.jsx | 16 +-
.../components/gridComponents/Column_spec.jsx | 38 +-
.../components/gridComponents/Divider_spec.jsx | 16 +-
.../components/gridComponents/Header_spec.jsx | 24 +-
.../components/gridComponents/Markdown_spec.jsx | 50 +-
.../components/gridComponents/Row_spec.jsx | 24 +-
.../components/gridComponents/Tab_spec.jsx | 28 +-
.../components/gridComponents/Tabs_spec.jsx | 32 +-
.../new/DraggableNewComponent_spec.jsx | 12 +-
.../gridComponents/new/NewColumn_spec.jsx | 6 +-
.../gridComponents/new/NewDivider_spec.jsx | 6 +-
.../gridComponents/new/NewHeader_spec.jsx | 6 +-
.../components/gridComponents/new/NewRow_spec.jsx | 6 +-
.../components/gridComponents/new/NewTabs_spec.jsx | 6 +-
.../dashboard/components/menu/HoverMenu_spec.jsx | 4 +-
.../components/menu/WithPopoverMenu_spec.jsx | 28 +-
.../resizable/ResizableContainer_spec.jsx | 4 +-
.../components/resizable/ResizableHandle_spec.jsx | 10 +-
.../dashboard/containers/Dashboard_spec.jsx | 38 +
.../dashboard/reducers/dashboardLayout_spec.js | 45 +-
.../dashboard/reducers/dashboardState_spec.js | 39 +-
.../dashboard/reducers/sliceEntities_spec.js | 15 +-
.../dashboard/util/componentIsResizable_spec.js | 7 +-
.../javascripts/dashboard/util/dnd-reorder_spec.js | 11 +-
.../dashboard/util/dropOverflowsParent_spec.js | 19 +-
.../util/findFirstParentContainer_spec.js | 9 +-
.../dashboard/util/findParentId_spec.js | 9 +-
.../dashboard/util/getChartIdsFromLayout_spec.js | 13 +-
.../dashboard/util/getDashboardUrl_spec.js | 5 +-
.../util/getDetailedComponentWidth_spec.js | 43 +-
.../dashboard/util/getDropPosition_spec.js | 45 +-
.../util/getFormDataWithExtraFilters_spec.js | 13 +-
.../dashboard/util/isValidChild_spec.js | 7 +-
.../dashboard/util/newComponentFactory_spec.js | 13 +-
.../dashboard/util/newEntitiesFromDrop_spec.js | 25 +-
.../datasource/DatasourceEditor_spec.jsx | 14 +-
.../datasource/DatasourceModal_spec.jsx | 10 +-
.../spec/javascripts/explore/AdhocFilter_spec.js | 41 +-
.../spec/javascripts/explore/AdhocMetric_spec.js | 123 +-
.../spec/javascripts/explore/chartActions_spec.js | 128 +-
.../explore/components/AdhocFilterControl_spec.jsx | 24 +-
...AdhocFilterEditPopoverSimpleTabContent_spec.jsx | 40 +-
.../AdhocFilterEditPopoverSqlTabContent_spec.jsx | 12 +-
.../components/AdhocFilterEditPopover_spec.jsx | 40 +-
.../explore/components/AdhocFilterOption_spec.jsx | 6 +-
.../AdhocMetricEditPopoverTitle_spec.jsx | 10 +-
.../components/AdhocMetricEditPopover_spec.jsx | 40 +-
.../explore/components/AdhocMetricOption_spec.jsx | 6 +-
.../components/AdhocMetricStaticOption_spec.jsx | 4 +-
.../explore/components/AggregateOption_spec.jsx | 4 +-
.../explore/components/BoundsControl_spec.jsx | 10 +-
.../explore/components/CheckboxControl_spec.jsx | 6 +-
.../explore/components/ColorPickerControl_spec.jsx | 17 +-
.../explore/components/ColorScheme_spec.jsx | 4 +-
.../components/ControlPanelSection_spec.jsx | 11 +-
.../components/ControlPanelsContainer_spec.jsx | 4 +-
.../explore/components/ControlRow_spec.jsx | 10 +-
.../explore/components/DatasourceControl_spec.jsx | 4 +-
.../explore/components/DateFilterControl_spec.jsx | 14 +-
.../explore/components/DisplayQueryButton_spec.jsx | 6 +-
.../explore/components/EmbedCodeButton_spec.jsx | 10 +-
.../components/ExploreActionButtons_spec.jsx | 6 +-
.../explore/components/ExploreChartHeader_spec.jsx | 8 +-
.../explore/components/ExploreChartPanel_spec.js | 22 -
.../explore/components/ExploreChartPanel_spec.jsx | 17 +
.../components/ExploreViewContainer_spec.js | 39 -
.../components/ExploreViewContainer_spec.jsx | 68 +
.../components/FilterDefinitionOption_spec.jsx | 8 +-
.../components/FixedOrMetricControl_spec.jsx | 10 +-
.../components/MetricDefinitionOption_spec.jsx | 8 +-
.../components/MetricDefinitionValue_spec.jsx | 6 +-
.../explore/components/MetricsControl_spec.jsx | 58 +-
.../explore/components/QueryAndSaveBtns_spec.jsx | 12 +-
.../explore/components/RowCountLabel_spec.jsx | 10 +-
.../components/RunQueryActionButton_spec.jsx | 6 +-
.../explore/components/SaveModal_spec.jsx | 59 +-
.../explore/components/SelectControl_spec.jsx | 22 +-
.../explore/components/TextArea_spec.jsx | 10 +-
.../components/TimeSeriesColumnControl_spec.jsx | 6 +-
.../explore/components/ViewportControl_spec.jsx | 10 +-
.../explore/components/VizTypeControl_spec.jsx | 10 +-
.../javascripts/explore/exploreActions_spec.js | 6 +-
.../assets/spec/javascripts/explore/utils_spec.jsx | 22 +-
superset/assets/spec/javascripts/logger_spec.js | 157 +-
.../spec/javascripts/messageToasts/.eslintrc | 1 -
.../components/ToastPresenter_spec.jsx | 8 +-
.../messageToasts/components/Toast_spec.jsx | 10 +-
.../messageToasts/reducers/messageToasts_spec.js | 11 +-
.../utils/getToastsFromPyFlashMessages_spec.js | 9 +-
.../modules/CategoricalColorNameSpace_spec.js | 166 +-
.../modules/CategoricalColorScale_spec.js | 36 +-
.../javascripts/modules/ColorSchemeManager_spec.js | 44 +-
.../spec/javascripts/modules/Registry_spec.js | 191 ++
.../spec/javascripts/modules/colors_spec.jsx | 56 +-
.../assets/spec/javascripts/modules/dates_spec.js | 46 +-
.../assets/spec/javascripts/modules/geo_spec.jsx | 17 +-
.../spec/javascripts/modules/sandbox_spec.jsx | 11 +-
.../assets/spec/javascripts/modules/time_spec.js | 27 +-
.../assets/spec/javascripts/modules/utils_spec.jsx | 76 +-
.../assets/spec/javascripts/profile/App_spec.jsx | 10 +-
.../javascripts/profile/CreatedContent_spec.jsx | 8 +-
.../javascripts/profile/EditableTitle_spec.jsx | 34 +-
.../spec/javascripts/profile/Favorites_spec.jsx | 8 +-
.../javascripts/profile/RecentActivity_spec.jsx | 6 +-
.../spec/javascripts/profile/Security_spec.jsx | 14 +-
.../spec/javascripts/profile/UserInfo_spec.jsx | 14 +-
.../assets/spec/javascripts/sqllab/App_spec.jsx | 43 +-
.../spec/javascripts/sqllab/ColumnElement_spec.jsx | 18 +-
.../javascripts/sqllab/CopyQueryTabUrl_spec.jsx | 4 +-
.../sqllab/ExploreResultsButton_spec.jsx | 52 +-
.../javascripts/sqllab/HighlightedSql_spec.jsx | 13 +-
.../assets/spec/javascripts/sqllab/Link_spec.jsx | 8 +-
.../spec/javascripts/sqllab/QuerySearch_spec.jsx | 33 +-
.../javascripts/sqllab/QueryStateLabel_spec.jsx | 6 +-
.../spec/javascripts/sqllab/QueryTable_spec.jsx | 12 +-
.../spec/javascripts/sqllab/ResultSet_spec.jsx | 32 +-
.../spec/javascripts/sqllab/SaveQuery_spec.jsx | 12 +-
.../javascripts/sqllab/SqlEditorLeftBar_spec.jsx | 46 +-
.../spec/javascripts/sqllab/SqlEditor_spec.jsx | 6 +-
.../spec/javascripts/sqllab/TabStatusIcon_spec.jsx | 12 +-
.../javascripts/sqllab/TabbedSqlEditors_spec.jsx | 39 +-
.../spec/javascripts/sqllab/TableElement_spec.jsx | 28 +-
.../assets/spec/javascripts/sqllab/Timer_spec.jsx | 19 +-
.../assets/spec/javascripts/sqllab/actions_spec.js | 36 +-
.../spec/javascripts/sqllab/reducers_spec.js | 53 +-
.../assets/spec/javascripts/utils/common_spec.jsx | 60 +-
.../utils/convertKeysToCamelCase_spec.js | 27 +
.../spec/javascripts/utils/isDefined_spec.js | 20 +
.../spec/javascripts/utils/isRequired_spec.js | 7 +
.../spec/javascripts/utils/makeSingleton_spec.js | 42 +
.../visualizations/models/ChartPlugin_spec.js | 40 +
.../visualizations/models/Plugin_spec.js | 52 +
.../visualizations/models/Preset_spec.js | 63 +
.../javascripts/visualizations/nvd3/utils_spec.js | 33 +
.../javascripts/visualizations/nvd3_viz_spec.jsx | 28 -
.../spec/javascripts/visualizations/table_spec.jsx | 23 +-
.../javascripts/welcome/DashboardTable_spec.jsx | 9 +-
.../spec/javascripts/welcome/Welcome_spec.jsx | 10 +-
superset/assets/src/CRUD/utils.js | 2 +-
superset/assets/src/SqlLab/App.jsx | 14 +-
superset/assets/src/SqlLab/actions.js | 2 -
superset/assets/src/SqlLab/components/App.jsx | 7 +-
.../src/SqlLab/components/ExploreResultsButton.jsx | 17 +-
.../src/SqlLab/components/QueryAutoRefresh.jsx | 2 +-
.../assets/src/SqlLab/components/QuerySearch.jsx | 8 +-
.../assets/src/SqlLab/components/ResultSet.jsx | 2 +-
.../assets/src/SqlLab/components/SqlEditor.jsx | 4 +-
.../src/SqlLab/components/SqlEditorLeftBar.jsx | 52 +-
.../assets/src/SqlLab/components/TableElement.jsx | 2 +-
superset/assets/src/SqlLab/constants.js | 1 +
superset/assets/src/SqlLab/getInitialState.js | 2 +-
superset/assets/src/SqlLab/reducers.js | 5 +-
superset/assets/src/chart/Chart.jsx | 13 +-
superset/assets/src/chart/ChartBody.jsx | 21 -
superset/assets/src/chart/chartAction.js | 109 +-
superset/assets/src/common.js | 31 +-
superset/assets/src/components/AlteredSliceTag.jsx | 2 +-
superset/assets/src/components/Button.jsx | 4 +-
.../src/components/InfoTooltipWithTrigger.jsx | 4 +-
superset/assets/src/components/ModalTrigger.jsx | 34 +-
superset/assets/src/components/RefreshLabel.jsx | 51 +
superset/assets/src/components/TooltipWrapper.jsx | 4 +-
.../assets/src/components/URLShortLinkButton.jsx | 2 +-
superset/assets/src/dashboard/.eslintrc | 1 -
.../assets/src/dashboard/components/Dashboard.jsx | 1 -
.../assets/src/dashboard/components/Header.jsx | 1 -
.../dashboard/components/HeaderActionsDropdown.jsx | 1 -
.../src/dashboard/components/dnd/handleHover.js | 2 +-
.../assets/src/dashboard/containers/Dashboard.jsx | 22 +-
.../src/dashboard/reducers/getInitialState.js | 8 +-
superset/assets/src/dashboard/reducers/index.js | 2 +
.../src/dashboard/stylesheets/dashboard.less | 10 +-
.../assets/src/datasource/DatasourceEditor.jsx | 10 +-
superset/assets/src/datasource/DatasourceModal.jsx | 7 -
superset/assets/src/explore/App.jsx | 53 +-
.../assets/src/explore/actions/exploreActions.js | 6 +
.../AdhocFilterEditPopoverSimpleTabContent.jsx | 2 +-
.../AdhocFilterEditPopoverSqlTabContent.jsx | 1 +
.../explore/components/AdhocMetricEditPopover.jsx | 1 +
superset/assets/src/explore/components/Control.jsx | 8 +-
.../src/explore/components/ControlHeader.jsx | 3 +
.../src/explore/components/DisplayQueryButton.jsx | 103 +-
.../src/explore/components/EmbedCodeButton.jsx | 2 +-
.../src/explore/components/ExploreChartPanel.jsx | 2 +-
.../explore/components/ExploreViewContainer.jsx | 33 +-
.../src/explore/components/RowCountLabel.jsx | 7 +-
.../assets/src/explore/components/SaveModal.jsx | 2 +
.../components/controls/AnnotationLayer.jsx | 287 +-
.../components/controls/ColorPickerControl.jsx | 5 +-
.../components/controls/ColorSchemeControl.jsx | 26 +-
.../components/controls/DatasourceControl.jsx | 5 -
.../explore/components/controls/MetricsControl.jsx | 4 +-
.../components/controls/SelectAsyncControl.jsx | 1 -
superset/assets/src/explore/controls.jsx | 32 +-
superset/assets/src/explore/exploreUtils.js | 8 +-
.../assets/src/explore/reducers/getInitialState.js | 58 +
superset/assets/src/explore/reducers/index.js | 2 +
superset/assets/src/explore/visTypes.jsx | 4 +
superset/assets/src/featureFlags.js | 11 +
superset/assets/src/messageToasts/.eslintrc | 1 -
superset/assets/src/modules/Registry.js | 72 +
superset/assets/src/modules/colors.js | 29 +-
superset/assets/src/modules/utils.js | 45 -
superset/assets/src/modules/visUtils.js | 6 +-
superset/assets/src/reduxUtils.js | 2 +-
.../assets/src/utils/convertKeysToCamelCase.js | 11 +
superset/assets/src/utils/createAdaptor.jsx | 19 +
superset/assets/src/utils/isDefined.js | 3 +
superset/assets/src/utils/isRequired.js | 3 +
superset/assets/src/utils/makeSingleton.js | 10 +
superset/assets/src/utils/reactify.jsx | 54 +
.../src/visualizations/BigNumber/BigNumber.jsx | 104 +-
.../BigNumber/BigNumberChartPlugin.js | 20 +
.../src/visualizations/BigNumber/adaptor.jsx | 5 +
.../visualizations/BigNumber/images/thumbnail.png} | Bin
.../BigNumber/images/thumbnailLarge.png} | Bin
.../src/visualizations/BigNumber/transformProps.js | 78 +
.../BigNumberTotal/BigNumberTotalChartPlugin.js | 20 +
.../BigNumberTotal/images/thumbnail.png} | Bin
.../BigNumberTotal/images/thumbnailLarge.png} | Bin
.../{cal_heatmap.css => Calendar/Calendar.css} | 0
.../{cal_heatmap.js => Calendar/Calendar.js} | 51 +-
.../visualizations/Calendar/CalendarChartPlugin.js | 21 +
.../src/visualizations/Calendar/ReactCalendar.js | 4 +
.../assets/src/visualizations/Calendar/adaptor.jsx | 5 +
.../visualizations/Calendar/images/thumbnail.png} | Bin
.../Calendar/images/thumbnailLarge.png} | Bin
.../src/visualizations/Calendar/transformProps.js | 32 +
.../visualizations/{chord.css => Chord/Chord.css} | 0
.../visualizations/{chord.jsx => Chord/Chord.js} | 27 +-
.../src/visualizations/Chord/ChordChartPlugin.js | 21 +
.../assets/src/visualizations/Chord/ReactChord.js | 4 +
.../assets/src/visualizations/Chord/adaptor.jsx | 5 +
.../visualizations/Chord/images/thumbnail.png} | Bin
.../Chord/images/thumbnailLarge.png} | Bin
.../src/visualizations/Chord/transformProps.js | 10 +
.../{country_map.css => CountryMap/CountryMap.css} | 0
.../{country_map.js => CountryMap/CountryMap.js} | 30 +-
.../CountryMap/CountryMapChartPlugin.js | 21 +
.../visualizations/CountryMap/ReactCountryMap.js | 4 +
.../src/visualizations/CountryMap/adaptor.jsx | 5 +
.../{ => CountryMap}/countries/belgium.geojson | 0
.../{ => CountryMap}/countries/brazil.geojson | 0
.../{ => CountryMap}/countries/china.geojson | 0
.../{ => CountryMap}/countries/egypt.geojson | 0
.../{ => CountryMap}/countries/france.geojson | 0
.../{ => CountryMap}/countries/germany.geojson | 0
.../{ => CountryMap}/countries/india.geojson | 0
.../{ => CountryMap}/countries/italy.geojson | 0
.../{ => CountryMap}/countries/morocco.geojson | 0
.../{ => CountryMap}/countries/myanmar.geojson | 0
.../{ => CountryMap}/countries/netherlands.geojson | 0
.../{ => CountryMap}/countries/portugal.geojson | 0
.../{ => CountryMap}/countries/russia.geojson | 0
.../{ => CountryMap}/countries/singapore.geojson | 0
.../{ => CountryMap}/countries/spain.geojson | 0
.../{ => CountryMap}/countries/thailand.geojson | 0
.../{ => CountryMap}/countries/timorleste.geojson | 0
.../{ => CountryMap}/countries/uk.geojson | 0
.../{ => CountryMap}/countries/ukraine.geojson | 0
.../{ => CountryMap}/countries/usa.geojson | 0
.../{ => CountryMap}/countries/zambia.geojson | 0
.../CountryMap/images/thumbnail.png} | Bin
.../CountryMap/images/thumbnailLarge.png} | Bin
.../visualizations/CountryMap/transformProps.js | 15 +
superset/assets/src/visualizations/EventFlow.jsx | 62 -
.../src/visualizations/EventFlow/EventFlow.jsx | 52 +
.../EventFlow/EventFlowChartPlugin.js | 20 +
.../src/visualizations/EventFlow/adaptor.jsx | 5 +
.../visualizations/EventFlow/images/thumbnail.png} | Bin
.../EventFlow/images/thumbnailLarge.png} | Bin
.../src/visualizations/EventFlow/transformProps.js | 36 +
.../{filter_box.css => FilterBox/FilterBox.css} | 0
.../{filter_box.jsx => FilterBox/FilterBox.jsx} | 57 +-
.../FilterBox/FilterBoxChartPlugin.js | 20 +
.../src/visualizations/FilterBox/adaptor.jsx | 5 +
.../visualizations/FilterBox/images/thumbnail.png} | Bin
.../FilterBox/images/thumbnailLarge.png} | Bin
.../src/visualizations/FilterBox/transformProps.js | 39 +
.../ForceDirected.css} | 0
.../ForceDirected.js} | 23 +-
.../ForceDirected/ForceDirectedChartPlugin.js | 21 +
.../ForceDirected/ReactForceDirected.js | 4 +
.../src/visualizations/ForceDirected/adaptor.jsx | 5 +
.../ForceDirected/images/thumbnail.png} | Bin
.../ForceDirected/images/thumbnailLarge.png} | Bin
.../visualizations/ForceDirected/transformProps.js | 10 +
.../{heatmap.css => Heatmap/Heatmap.css} | 0
.../{heatmap.js => Heatmap/Heatmap.js} | 58 +-
.../visualizations/Heatmap/HeatmapChartPlugin.js | 21 +
.../src/visualizations/Heatmap/ReactHeatmap.js | 4 +
.../assets/src/visualizations/Heatmap/adaptor.jsx | 5 +
.../visualizations/Heatmap/images/thumbnail.png} | Bin
.../Heatmap/images/thumbnailLarge.png} | Bin
.../src/visualizations/Heatmap/transformProps.js | 43 +
.../visualizations/{ => Histogram}/Histogram.jsx | 34 +-
.../Histogram/HistogramChartPlugin.js | 20 +
.../src/visualizations/Histogram/adaptor.jsx | 5 +
.../visualizations/Histogram/images/thumbnail.png} | Bin
.../Histogram/images/thumbnailLarge.png} | Bin
.../src/visualizations/Histogram/transformProps.js | 21 +
.../visualizations/{ => Horizon}/HorizonChart.css | 0
.../visualizations/{ => Horizon}/HorizonChart.jsx | 24 +-
.../visualizations/Horizon/HorizonChartPlugin.js | 21 +
.../visualizations/{ => Horizon}/HorizonRow.jsx | 0
.../assets/src/visualizations/Horizon/adaptor.jsx | 5 +
.../visualizations/Horizon/images/thumbnail.png} | Bin
.../Horizon/images/thumbnailLarge.png} | Bin
.../src/visualizations/Horizon/transformProps.js | 13 +
superset/assets/src/visualizations/Legend.jsx | 6 +-
.../assets/src/visualizations/MapBox/MapBox.jsx | 108 +-
.../src/visualizations/MapBox/MapBoxChartPlugin.js | 20 +
.../MapBox/ScatterPlotGlowOverlay.jsx | 51 +-
.../assets/src/visualizations/MapBox/adaptor.jsx | 5 +
.../visualizations/MapBox/images/thumbnail.png} | Bin
.../MapBox/images/thumbnailLarge.png} | Bin
.../src/visualizations/MapBox/transformProps.js | 79 +
.../src/visualizations/PairedTTest/PairedTTest.jsx | 27 +-
.../PairedTTest/PairedTTestChartPlugin.js | 20 +
.../src/visualizations/PairedTTest/adaptor.jsx | 5 +
.../PairedTTest/images/thumbnail.png} | Bin
.../PairedTTest/images/thumbnailLarge.png} | Bin
.../visualizations/PairedTTest/transformProps.js | 19 +
.../ParallelCoordinates.css} | 0
.../ParallelCoordinates.js} | 42 +-
.../ParallelCoordinatesChartPlugin.js | 21 +
.../ReactParallelCoordinates.js | 4 +
.../visualizations/ParallelCoordinates/adaptor.jsx | 5 +
.../ParallelCoordinates/images/thumbnail.png} | Bin
.../ParallelCoordinates/images/thumbnailLarge.png} | Bin
.../ParallelCoordinates/transformProps.js | 23 +
.../{partition.css => Partition/Partition.css} | 0
.../{partition.js => Partition/Partition.js} | 57 +-
.../Partition/PartitionChartPlugin.js | 20 +
.../src/visualizations/Partition/ReactPartition.js | 4 +
.../src/visualizations/Partition/adaptor.jsx | 5 +
.../visualizations/Partition/images/thumbnail.png} | Bin
.../Partition/images/thumbnailLarge.png} | Bin
.../src/visualizations/Partition/transformProps.js | 32 +
.../{pivot_table.css => PivotTable/PivotTable.css} | 0
.../{pivot_table.js => PivotTable/PivotTable.js} | 38 +-
.../PivotTable/PivotTableChartPlugin.js | 20 +
.../visualizations/PivotTable/ReactPivotTable.js | 4 +
.../src/visualizations/PivotTable/adaptor.jsx | 5 +
.../PivotTable/images/thumbnail.png} | Bin
.../PivotTable/images/thumbnailLarge.png} | Bin
.../visualizations/PivotTable/transformProps.js | 19 +
superset/assets/src/visualizations/PlaySlider.jsx | 23 +-
.../assets/src/visualizations/Rose/ReactRose.js | 4 +
.../src/visualizations/{rose.css => Rose/Rose.css} | 0
.../src/visualizations/{rose.js => Rose/Rose.js} | 34 +-
.../src/visualizations/Rose/RoseChartPlugin.js | 20 +
.../assets/src/visualizations/Rose/adaptor.jsx | 5 +
.../visualizations/Rose/images/thumbnail.png} | Bin
.../visualizations/Rose/images/thumbnailLarge.png} | Bin
.../src/visualizations/Rose/transformProps.js | 19 +
.../src/visualizations/Sankey/ReactSankey.js | 4 +
.../{sankey.css => Sankey/Sankey.css} | 0
.../visualizations/{sankey.js => Sankey/Sankey.js} | 21 +-
.../src/visualizations/Sankey/SankeyChartPlugin.js | 21 +
.../assets/src/visualizations/Sankey/adaptor.jsx | 5 +
.../visualizations/Sankey/images/thumbnail.png} | Bin
.../Sankey/images/thumbnailLarge.png} | Bin
.../src/visualizations/Sankey/transformProps.js | 9 +
.../src/visualizations/Sunburst/ReactSunburst.js | 4 +
.../{sunburst.css => Sunburst/Sunburst.css} | 0
.../{sunburst.js => Sunburst/Sunburst.js} | 29 +-
.../visualizations/Sunburst/SunburstChartPlugin.js | 21 +
.../assets/src/visualizations/Sunburst/adaptor.jsx | 5 +
.../visualizations/Sunburst/images/thumbnail.png} | Bin
.../Sunburst/images/thumbnailLarge.png} | Bin
.../src/visualizations/Sunburst/transformProps.js | 10 +
.../assets/src/visualizations/Table/ReactTable.js | 4 +
.../visualizations/{table.css => Table/Table.css} | 0
.../visualizations/{table.js => Table/Table.js} | 78 +-
.../src/visualizations/Table/TableChartPlugin.js | 20 +
.../assets/src/visualizations/Table/adaptor.jsx | 5 +
.../visualizations/Table/images/thumbnail.png} | Bin
.../Table/images/thumbnailLarge.png} | Bin
.../src/visualizations/Table/transformProps.js | 58 +
.../visualizations/TimeTable/FormattedNumber.jsx | 27 +
.../{ => TimeTable}/SparklineCell.jsx | 4 +-
.../src/visualizations/TimeTable/TimeTable.css | 3 +
.../src/visualizations/TimeTable/TimeTable.jsx | 272 ++
.../TimeTable/TimeTableChartPlugin.js | 20 +
.../src/visualizations/TimeTable/adaptor.jsx | 5 +
.../visualizations/TimeTable/images/thumbnail.png} | Bin
.../TimeTable/images/thumbnailLarge.png} | Bin
.../src/visualizations/TimeTable/transformProps.js | 49 +
.../src/visualizations/Treemap/ReactTreemap.js | 4 +
.../{treemap.css => Treemap/Treemap.css} | 0
.../{treemap.js => Treemap/Treemap.js} | 32 +-
.../visualizations/Treemap/TreemapChartPlugin.js | 21 +
.../assets/src/visualizations/Treemap/adaptor.jsx | 5 +
.../visualizations/Treemap/images/thumbnail.png} | Bin
.../Treemap/images/thumbnailLarge.png} | Bin
.../src/visualizations/Treemap/transformProps.js | 15 +
.../src/visualizations/WorldMap/ReactWorldMap.js | 4 +
.../{world_map.css => WorldMap/WorldMap.css} | 0
.../{world_map.js => WorldMap/WorldMap.js} | 25 +-
.../visualizations/WorldMap/WorldMapChartPlugin.js | 21 +
.../assets/src/visualizations/WorldMap/adaptor.jsx | 5 +
.../visualizations/WorldMap/images/thumbnail.png} | Bin
.../WorldMap/images/thumbnailLarge.png} | Bin
.../src/visualizations/WorldMap/transformProps.js | 10 +
.../visualizations/core/models/ChartMetadata.js | 15 +
.../src/visualizations/core/models/ChartPlugin.js | 43 +
.../src/visualizations/core/models/Plugin.js | 25 +
.../src/visualizations/core/models/Preset.js | 23 +
.../registries/ChartComponentRegistrySingleton.js | 12 +
.../registries/ChartMetadataRegistrySingleton.js | 12 +
.../ChartTransformPropsRegistrySingleton.js | 12 +
.../deckgl/CategoricalDeckGLContainer.jsx | 21 +-
.../src/visualizations/deckgl/Multi/Multi.jsx | 87 +
.../deckgl/Multi/MultiChartPlugin.js | 19 +
.../deckgl/Multi/images/thumbnail.png} | Bin
.../deckgl/Multi/images/thumbnailLarge.png} | Bin
.../src/visualizations/deckgl/createAdaptor.jsx | 30 +
.../assets/src/visualizations/deckgl/factory.jsx | 87 +
.../src/visualizations/deckgl/layers/Arc/Arc.jsx | 29 +
.../deckgl/layers/Arc/ArcChartPlugin.js | 19 +
.../deckgl/layers/Arc/images/thumbnail.png} | Bin
.../deckgl/layers/Arc/images/thumbnailLarge.png} | Bin
.../layers/{geojson.jsx => Geojson/Geojson.jsx} | 74 +-
.../deckgl/layers/Geojson/GeojsonChartPlugin.js | 19 +
.../deckgl/layers/Geojson/images/thumbnail.png} | Bin
.../layers/Geojson/images/thumbnailLarge.png} | Bin
.../src/visualizations/deckgl/layers/Grid/Grid.jsx | 40 +
.../deckgl/layers/Grid/GridChartPlugin.js | 19 +
.../deckgl/layers/Grid/images/thumbnail.png} | Bin
.../deckgl/layers/Grid/images/thumbnailLarge.png} | Bin
.../src/visualizations/deckgl/layers/Hex/Hex.jsx | 40 +
.../deckgl/layers/Hex/HexChartPlugin.js | 19 +
.../deckgl/layers/Hex/images/thumbnail.png} | Bin
.../deckgl/layers/Hex/images/thumbnailLarge.png} | Bin
.../src/visualizations/deckgl/layers/Path/Path.jsx | 40 +
.../deckgl/layers/Path/PathChartPlugin.js | 19 +
.../deckgl/layers/Path/images/thumbnail.png} | Bin
.../deckgl/layers/Path/images/thumbnailLarge.png} | Bin
.../deckgl/layers/Polygon/Polygon.jsx | 52 +
.../deckgl/layers/Polygon/PolygonChartPlugin.js | 19 +
.../deckgl/layers/Polygon/images/thumbnail.png} | Bin
.../layers/Polygon/images/thumbnailLarge.png} | Bin
.../deckgl/layers/Scatter/Scatter.jsx | 36 +
.../deckgl/layers/Scatter/ScatterChartPlugin.js | 19 +
.../deckgl/layers/Scatter/images/thumbnail.png} | Bin
.../layers/Scatter/images/thumbnailLarge.png} | Bin
.../{screengrid.jsx => Screengrid/Screengrid.jsx} | 71 +-
.../layers/Screengrid/ScreengridChartPlugin.js | 19 +
.../deckgl/layers/Screengrid/images/thumbnail.png} | Bin
.../layers/Screengrid/images/thumbnailLarge.png} | Bin
.../src/visualizations/deckgl/layers/arc.jsx | 63 -
.../deckgl/layers/{common.js => common.jsx} | 22 +-
.../src/visualizations/deckgl/layers/grid.jsx | 70 -
.../src/visualizations/deckgl/layers/hex.jsx | 71 -
.../src/visualizations/deckgl/layers/index.js | 17 +-
.../src/visualizations/deckgl/layers/path.jsx | 71 -
.../src/visualizations/deckgl/layers/polygon.jsx | 84 -
.../src/visualizations/deckgl/layers/scatter.jsx | 70 -
.../assets/src/visualizations/deckgl/multi.jsx | 57 -
superset/assets/src/visualizations/index.js | 70 +-
.../src/visualizations/models/BasicChartInput.js | 19 +
.../visualizations/nvd3/Area/AreaChartPlugin.js | 21 +
.../visualizations/nvd3/Area/images/thumbnail.png} | Bin
.../nvd3/Area/images/thumbnailLarge.png} | Bin
.../src/visualizations/nvd3/Bar/BarChartPlugin.js | 21 +
.../visualizations/nvd3/Bar/images/thumbnail.png} | Bin
.../nvd3/Bar/images/thumbnailLarge.png} | Bin
.../nvd3/BoxPlot/BoxPlotChartPlugin.js | 21 +
.../nvd3/BoxPlot/images/thumbnail.png} | Bin
.../nvd3/BoxPlot/images/thumbnailLarge.png} | Bin
.../nvd3/Bubble/BubbleChartPlugin.js | 21 +
.../nvd3/Bubble/images/thumbnail.png} | Bin
.../nvd3/Bubble/images/thumbnailLarge.png} | Bin
.../nvd3/Bullet/BulletChartPlugin.js | 21 +
.../nvd3/Bullet/images/thumbnail.png} | Bin
.../nvd3/Bullet/images/thumbnailLarge.png} | Bin
.../nvd3/Compare/CompareChartPlugin.js | 21 +
.../nvd3/Compare/images/thumbnail.png} | Bin
.../nvd3/Compare/images/thumbnailLarge.png} | Bin
.../nvd3/DistBar/DistBarChartPlugin.js | 21 +
.../nvd3/DistBar/images/thumbnail.png} | Bin
.../nvd3/DistBar/images/thumbnailLarge.png} | Bin
.../nvd3/DualLine/DualLineChartPlugin.js | 21 +
.../nvd3/DualLine/images/thumbnail.png} | Bin
.../nvd3/DualLine/images/thumbnailLarge.png} | Bin
.../visualizations/nvd3/Line/LineChartPlugin.js | 21 +
.../visualizations/nvd3/Line/images/thumbnail.png} | Bin
.../nvd3/Line/images/thumbnailLarge.png} | Bin
.../{line_multi.js => nvd3/LineMulti.js} | 6 +-
.../nvd3/LineMulti/images/thumbnail.png} | Bin
.../nvd3/LineMulti/images/thumbnailLarge.png} | Bin
.../{nvd3_vis.css => nvd3/NVD3Vis.css} | 0
.../{nvd3_vis.js => nvd3/NVD3Vis.js} | 787 ++---
.../src/visualizations/nvd3/Pie/PieChartPlugin.js | 21 +
.../visualizations/nvd3/Pie/images/thumbnail.png} | Bin
.../nvd3/Pie/images/thumbnailLarge.png} | Bin
.../assets/src/visualizations/nvd3/PropTypes.js | 63 +
.../assets/src/visualizations/nvd3/ReactNVD3.js | 4 +
.../nvd3/TimePivot/TimePivotChartPlugin.js | 21 +
.../nvd3/TimePivot/images/thumbnail.png} | Bin
.../nvd3/TimePivot/images/thumbnailLarge.png} | Bin
.../assets/src/visualizations/nvd3/adaptor.jsx | 5 +
.../src/visualizations/nvd3/transformProps.js | 112 +
superset/assets/src/visualizations/nvd3/utils.js | 206 ++
superset/assets/src/visualizations/time_table.css | 3 -
superset/assets/src/visualizations/time_table.jsx | 208 --
.../src/visualizations/wordcloud/ReactWordCloud.js | 4 +
.../src/visualizations/wordcloud/WordCloud.js | 48 +-
.../wordcloud/WordCloudChartPlugin.js | 21 +
.../src/visualizations/wordcloud/adaptor.jsx | 5 +
.../visualizations/wordcloud/images/thumbnail.png} | Bin
.../wordcloud/images/thumbnailLarge.png} | Bin
.../src/visualizations/wordcloud/transformProps.js | 27 +
superset/assets/stylesheets/superset.less | 7 +-
superset/assets/webpack.config.js | 56 +-
superset/assets/yarn.lock | 3302 ++++++++------------
superset/bin/superset | 6 -
superset/cache_util.py | 42 +-
superset/cli.py | 58 +-
superset/config.py | 25 +-
superset/connectors/base/models.py | 6 -
superset/connectors/base/views.py | 6 -
superset/connectors/connector_registry.py | 6 -
superset/connectors/druid/__init__.py | 1 -
superset/connectors/druid/models.py | 9 +-
superset/connectors/druid/views.py | 6 -
superset/connectors/sqla/__init__.py | 1 -
superset/connectors/sqla/models.py | 19 +-
superset/connectors/sqla/views.py | 9 +-
superset/dashboard_import_export_util.py | 38 +
superset/data/__init__.py | 5 -
superset/data/countries.py | 5 -
superset/dataframe.py | 6 -
superset/db_engine_specs.py | 107 +-
superset/db_engines/hive.py | 6 -
superset/dict_import_export_util.py | 6 -
superset/exceptions.py | 5 -
superset/extract_table_names.py | 6 -
superset/forms.py | 69 +-
superset/import_util.py | 6 -
superset/jinja_context.py | 51 +-
superset/legacy.py | 6 -
superset/migrations/env.py | 3 -
...9ee0e3_fix_wrong_constraint_on_table_columns.py | 7 +-
.../versions/1296d28ec131_druid_exports.py | 1 -
.../versions/12d55656cbca_is_featured.py | 1 -
.../versions/18e88e1cc004_making_audit_nullable.py | 149 +-
.../19a814813610_adding_metric_warning_text.py | 1 -
.../versions/1a48a5411020_adding_slug_to_dash.py | 1 -
.../migrations/versions/1d2ddd543133_log_dt.py | 2 -
superset/migrations/versions/1d9e835a84f9_.py | 21 +-
superset/migrations/versions/1e2841a4128_.py | 1 -
.../versions/21e88bc06c02_annotation_migration.py | 1 -
.../migrations/versions/2591d77e9831_user_id.py | 1 -
.../versions/27ae655e4247_make_creator_owners.py | 1 -
.../289ce07647b_add_encrypted_password_field.py | 1 -
.../2929af7925ed_tz_offsets_in_data_sources.py | 1 -
.../versions/2fcdcb35e487_saved_queries.py | 2 -
.../versions/315b3f4da9b0_adding_log_model.py | 1 -
.../versions/33d996bcc382_update_slice_model.py | 1 -
.../versions/3b626e2a6783_sync_db_with_models.py | 22 +-
.../3c3ffe173e4f_add_sql_string_to_table.py | 1 -
...1c4c6_migrate_num_period_compare_and_period_.py | 2 -
.../41f6a59a61f2_database_options_for_sql_lab.py | 1 -
.../migrations/versions/430039611635_log_more.py | 5 +-
.../migrations/versions/43df8de3a5f4_dash_json.py | 1 -
.../versions/4500485bde7d_allow_run_sync_async.py | 1 -
superset/migrations/versions/472d2f73dfd4_.py | 1 -
superset/migrations/versions/4736ec66ce19_.py | 1 -
superset/migrations/versions/4e6a06bad7a8_init.py | 1 -
.../versions/4fa88fe24e94_owners_many_to_many.py | 2 -
.../versions/525c854f0005_log_this_plus.py | 1 -
.../migrations/versions/55179c7f25c7_sqla_descr.py | 1 -
superset/migrations/versions/5a7bad26f2a7_.py | 1 -
superset/migrations/versions/5ccf602336a0_.py | 1 -
.../5e4a03ef0bf0_add_request_access_model.py | 1 -
superset/migrations/versions/6414e83d82b7_.py | 2 -
.../migrations/versions/65903709c321_allow_dml.py | 1 -
.../versions/67a6ac9b727b_update_spatial_params.py | 1 -
superset/migrations/versions/705732c70154_.py | 1 -
.../732f1c06bcbf_add_fetch_values_predicate.py | 1 -
.../versions/763d4b211ec9_fixing_audit_fk.py | 1 -
.../versions/7dbf98566af7_slice_description.py | 1 -
.../versions/7e3ddad2a00b_results_key_to_query.py | 1 -
superset/migrations/versions/7fcdcde0761c_.py | 11 +-
.../versions/836c0bf75904_cache_timeouts.py | 2 -
...4f117f9_adding_extra_field_to_database_model.py | 2 -
superset/migrations/versions/8e80a26a31db_.py | 2 -
.../versions/956a063c52b3_adjusting_key_length.py | 6 +-
superset/migrations/versions/960c69cb1f5b_.py | 1 -
superset/migrations/versions/979c03af3341_.py | 1 -
.../versions/a2d606a761d9_adding_favstar_model.py | 1 -
...a65458420354_add_result_backend_time_logging.py | 1 -
.../a6c18f869a4e_query_start_running_time.py | 10 +-
...7c195a_rewriting_url_from_shortner_with_new_.py | 1 -
.../a9c47e2c1547_add_impersonate_user_to_dbs.py | 2 -
...d66c4246e_add_cache_timeout_to_druid_cluster.py | 1 -
.../versions/ad4d656d92bc_add_avg_metric.py | 1 -
.../versions/ad82a75afd82_add_query_model.py | 1 -
...dfe5fb6c_adding_verbose_name_to_druid_column.py | 1 -
superset/migrations/versions/b347b202819b_.py | 2 -
.../b4456560d4f3_change_table_unique_constraint.py | 4 +-
.../versions/b46fa1b0b39e_add_params_to_tables.py | 1 -
.../bb51420eaf83_add_schema_to_table_model.py | 1 -
.../versions/bcf3126872fc_add_keyvalue.py | 1 -
.../bebcf3fed1fe_convert_dashboard_v1_positions.py | 45 +-
.../bf706ae5eb46_cal_heatmap_metric_to_metrics.py | 7 +-
superset/migrations/versions/c18bd4186f15_.py | 3 -
.../c3a8f8611885_materializing_permission.py | 15 +-
.../migrations/versions/c611f2b591b8_dim_spec.py | 1 -
superset/migrations/versions/c9495751e314_.py | 1 -
.../versions/ca69c70ec99b_tracking_url.py | 1 -
superset/migrations/versions/d2424a248d63_.py | 1 -
superset/migrations/versions/d39b1e37131d_.py | 1 -
superset/migrations/versions/d6db5a5cdb5d_.py | 2 -
.../versions/d827694c7555_css_templates.py | 1 -
...d8bc074f7aad_add_new_field_is_restricted_to_.py | 1 -
.../db0c65b146bd_update_slice_model_json.py | 1 -
.../versions/db527d8c4c78_add_db_verbose_name.py | 1 -
.../versions/ddd6ebdd853b_annotations.py | 1 -
.../versions/e46f2d27a08e_materialize_perms.py | 2 -
.../versions/e866bd2d4976_smaller_grid.py | 1 -
superset/migrations/versions/ea033256294a_.py | 1 -
superset/migrations/versions/ec1f88a35cc6_.py | 3 -
.../eca4694defa7_sqllab_setting_defaults.py | 1 -
superset/migrations/versions/ef8843b41dac_.py | 5 -
...bf6129e13_adding_verbose_name_to_tablecolumn.py | 1 -
.../versions/f162a1dea4c4_d3format_by_metric.py | 1 -
.../f18570e03440_add_query_result_key_index.py | 1 -
superset/migrations/versions/f1f2d4af5b90_.py | 1 -
superset/migrations/versions/f959a6652acd_.py | 1 -
superset/migrations/versions/fee7b758c130_.py | 1 -
superset/models/__init__.py | 1 -
superset/models/annotations.py | 6 -
superset/models/core.py | 35 +-
superset/models/helpers.py | 8 +-
superset/models/sql_lab.py | 6 -
superset/models/user_attributes.py | 6 -
superset/security.py | 18 +-
superset/sql_lab.py | 39 +-
superset/sql_parse.py | 6 -
superset/stats_logger.py | 6 -
superset/templates/appbuilder/navbar_right.html | 2 +-
superset/templates/superset/ajah.html | 1 -
superset/templates/superset/base.html | 6 +-
superset/templates/superset/basic.html | 10 +-
.../form_view/csv_to_database_view/edit.html | 46 +
.../templates/superset/models/database/add.html | 1 +
.../templates/superset/models/database/edit.html | 1 +
.../templates/superset/models/database/macros.html | 6 +
.../templates/superset/partials/_script_tag.html | 2 +-
superset/translations/requirements.txt | 1 +
superset/translations/utils.py | 6 -
superset/utils.py | 9 +-
superset/views/__init__.py | 1 -
superset/views/annotations.py | 6 -
superset/views/base.py | 17 +-
superset/views/core.py | 249 +-
superset/views/datasource.py | 6 -
superset/views/sql_lab.py | 6 -
superset/views/utils.py | 8 +-
superset/viz.py | 106 +-
tests/access_tests.py | 6 -
tests/base_tests.py | 13 +-
tests/cache_tests.py | 6 -
tests/celery_tests.py | 80 +-
tests/core_tests.py | 44 +-
tests/dashboard_tests.py | 6 -
tests/dataframe_test.py | 6 -
tests/datasource_tests.py | 6 -
tests/db_engine_specs_test.py | 11 +-
tests/dict_import_export_tests.py | 7 -
tests/druid_func_tests.py | 6 -
tests/druid_tests.py | 6 -
tests/email_tests.py | 6 -
tests/fixtures/datasource.py | 6 -
tests/form_tests.py | 6 -
tests/import_export_tests.py | 6 -
tests/macro_tests.py | 59 +
tests/model_tests.py | 6 -
tests/security_tests.py | 6 -
tests/sql_parse_tests.py | 6 -
tests/sqllab_tests.py | 6 -
tests/superset_test_config.py | 3 -
tests/utils.py | 6 -
tests/utils_tests.py | 6 -
tests/viz_tests.py | 54 +-
tox.ini | 5 +-
789 files changed, 12084 insertions(+), 8301 deletions(-)
create mode 100644 RELEASING.md
create mode 100644 superset/assets/cypress/.eslintrc
create mode 100644 superset/assets/cypress/integration/dashboard/controls.js
create mode 100644
superset/assets/cypress/integration/dashboard/dashboard.helper.js
delete mode 100644
superset/assets/cypress/integration/dashboard/dashboard_tests.js
create mode 100644 superset/assets/cypress/integration/dashboard/edit_mode.js
create mode 100644 superset/assets/cypress/integration/dashboard/filter.js
create mode 100644 superset/assets/cypress/integration/dashboard/index.test.js
create mode 100644 superset/assets/cypress/integration/dashboard/load.js
create mode 100644 superset/assets/cypress/integration/explore/control.test.js
delete mode 100644 superset/assets/cypress/integration/explore/control_tests.js
create mode 100644 superset/assets/cypress/integration/explore/link.test.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/area.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/big_number_total.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/box_plot.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/bubble.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/compare.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/dist_bar.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/dual_line.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/histogram.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/index.test.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/pie.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/pivot_table.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/sankey.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/sunburst.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/table.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/treemap.js
create mode 100644
superset/assets/cypress/integration/explore/visualizations/world_map.js
create mode 100644 superset/assets/cypress/integration/sqllab/index.test.js
create mode 100644 superset/assets/cypress/integration/sqllab/query.js
create mode 100644 superset/assets/cypress/integration/sqllab/sourcePanel.js
create mode 100644 superset/assets/cypress/integration/sqllab/sqllab.helper.js
create mode 100644 superset/assets/cypress/integration/sqllab/tabs.js
create mode 100644 superset/assets/cypress/utils/readResponseBlob.js
create mode 100644 superset/assets/images/apache_feather.png
create mode 100644 superset/assets/jest.config.js
create mode 100644 superset/assets/spec/__mocks__/fileMock.js
create mode 100644 superset/assets/spec/__mocks__/styleMock.js
create mode 100644 superset/assets/spec/helpers/setupSupersetClient.js
create mode 100644
superset/assets/spec/javascripts/dashboard/containers/Dashboard_spec.jsx
delete mode 100644
superset/assets/spec/javascripts/explore/components/ExploreChartPanel_spec.js
create mode 100644
superset/assets/spec/javascripts/explore/components/ExploreChartPanel_spec.jsx
delete mode 100644
superset/assets/spec/javascripts/explore/components/ExploreViewContainer_spec.js
create mode 100644
superset/assets/spec/javascripts/explore/components/ExploreViewContainer_spec.jsx
create mode 100644 superset/assets/spec/javascripts/modules/Registry_spec.js
create mode 100644
superset/assets/spec/javascripts/utils/convertKeysToCamelCase_spec.js
create mode 100644 superset/assets/spec/javascripts/utils/isDefined_spec.js
create mode 100644 superset/assets/spec/javascripts/utils/isRequired_spec.js
create mode 100644 superset/assets/spec/javascripts/utils/makeSingleton_spec.js
create mode 100644
superset/assets/spec/javascripts/visualizations/models/ChartPlugin_spec.js
create mode 100644
superset/assets/spec/javascripts/visualizations/models/Plugin_spec.js
create mode 100644
superset/assets/spec/javascripts/visualizations/models/Preset_spec.js
create mode 100644
superset/assets/spec/javascripts/visualizations/nvd3/utils_spec.js
delete mode 100644
superset/assets/spec/javascripts/visualizations/nvd3_viz_spec.jsx
create mode 100644 superset/assets/src/components/RefreshLabel.jsx
create mode 100644 superset/assets/src/explore/reducers/getInitialState.js
create mode 100644 superset/assets/src/featureFlags.js
create mode 100644 superset/assets/src/modules/Registry.js
create mode 100644 superset/assets/src/utils/convertKeysToCamelCase.js
create mode 100644 superset/assets/src/utils/createAdaptor.jsx
create mode 100644 superset/assets/src/utils/isDefined.js
create mode 100644 superset/assets/src/utils/isRequired.js
create mode 100644 superset/assets/src/utils/makeSingleton.js
create mode 100644 superset/assets/src/utils/reactify.jsx
create mode 100644
superset/assets/src/visualizations/BigNumber/BigNumberChartPlugin.js
create mode 100644 superset/assets/src/visualizations/BigNumber/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/big_number.png =>
src/visualizations/BigNumber/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/big_number.png =>
src/visualizations/BigNumber/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/BigNumber/transformProps.js
create mode 100644
superset/assets/src/visualizations/BigNumberTotal/BigNumberTotalChartPlugin.js
copy superset/assets/{images/viz_thumbnails/big_number_total.png =>
src/visualizations/BigNumberTotal/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/big_number_total.png =>
src/visualizations/BigNumberTotal/images/thumbnailLarge.png} (100%)
rename superset/assets/src/visualizations/{cal_heatmap.css =>
Calendar/Calendar.css} (100%)
rename superset/assets/src/visualizations/{cal_heatmap.js =>
Calendar/Calendar.js} (73%)
create mode 100644
superset/assets/src/visualizations/Calendar/CalendarChartPlugin.js
create mode 100644 superset/assets/src/visualizations/Calendar/ReactCalendar.js
create mode 100644 superset/assets/src/visualizations/Calendar/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/cal_heatmap.png =>
src/visualizations/Calendar/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/cal_heatmap.png =>
src/visualizations/Calendar/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/Calendar/transformProps.js
rename superset/assets/src/visualizations/{chord.css => Chord/Chord.css} (100%)
rename superset/assets/src/visualizations/{chord.jsx => Chord/Chord.js} (82%)
create mode 100644 superset/assets/src/visualizations/Chord/ChordChartPlugin.js
create mode 100644 superset/assets/src/visualizations/Chord/ReactChord.js
create mode 100644 superset/assets/src/visualizations/Chord/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/chord.png =>
src/visualizations/Chord/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/chord.png =>
src/visualizations/Chord/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/Chord/transformProps.js
rename superset/assets/src/visualizations/{country_map.css =>
CountryMap/CountryMap.css} (100%)
rename superset/assets/src/visualizations/{country_map.js =>
CountryMap/CountryMap.js} (88%)
create mode 100644
superset/assets/src/visualizations/CountryMap/CountryMapChartPlugin.js
create mode 100644
superset/assets/src/visualizations/CountryMap/ReactCountryMap.js
create mode 100644 superset/assets/src/visualizations/CountryMap/adaptor.jsx
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/belgium.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/brazil.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/china.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/egypt.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/france.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/germany.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/india.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/italy.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/morocco.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/myanmar.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/netherlands.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/portugal.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/russia.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/singapore.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/spain.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/thailand.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/timorleste.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/uk.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/ukraine.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/usa.geojson (100%)
rename superset/assets/src/visualizations/{ =>
CountryMap}/countries/zambia.geojson (100%)
copy superset/assets/{images/viz_thumbnails/country_map.png =>
src/visualizations/CountryMap/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/country_map.png =>
src/visualizations/CountryMap/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/CountryMap/transformProps.js
delete mode 100644 superset/assets/src/visualizations/EventFlow.jsx
create mode 100644 superset/assets/src/visualizations/EventFlow/EventFlow.jsx
create mode 100644
superset/assets/src/visualizations/EventFlow/EventFlowChartPlugin.js
create mode 100644 superset/assets/src/visualizations/EventFlow/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/event_flow.png =>
src/visualizations/EventFlow/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/event_flow.png =>
src/visualizations/EventFlow/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/EventFlow/transformProps.js
rename superset/assets/src/visualizations/{filter_box.css =>
FilterBox/FilterBox.css} (100%)
rename superset/assets/src/visualizations/{filter_box.jsx =>
FilterBox/FilterBox.jsx} (81%)
create mode 100644
superset/assets/src/visualizations/FilterBox/FilterBoxChartPlugin.js
create mode 100644 superset/assets/src/visualizations/FilterBox/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/filter_box.png =>
src/visualizations/FilterBox/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/filter_box.png =>
src/visualizations/FilterBox/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/FilterBox/transformProps.js
rename superset/assets/src/visualizations/{directed_force.css =>
ForceDirected/ForceDirected.css} (100%)
rename superset/assets/src/visualizations/{directed_force.js =>
ForceDirected/ForceDirected.js} (89%)
create mode 100644
superset/assets/src/visualizations/ForceDirected/ForceDirectedChartPlugin.js
create mode 100644
superset/assets/src/visualizations/ForceDirected/ReactForceDirected.js
create mode 100644 superset/assets/src/visualizations/ForceDirected/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/directed_force.png =>
src/visualizations/ForceDirected/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/directed_force.png =>
src/visualizations/ForceDirected/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/ForceDirected/transformProps.js
rename superset/assets/src/visualizations/{heatmap.css => Heatmap/Heatmap.css}
(100%)
rename superset/assets/src/visualizations/{heatmap.js => Heatmap/Heatmap.js}
(87%)
create mode 100644
superset/assets/src/visualizations/Heatmap/HeatmapChartPlugin.js
create mode 100644 superset/assets/src/visualizations/Heatmap/ReactHeatmap.js
create mode 100644 superset/assets/src/visualizations/Heatmap/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/heatmap.png =>
src/visualizations/Heatmap/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/heatmap.png =>
src/visualizations/Heatmap/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/Heatmap/transformProps.js
rename superset/assets/src/visualizations/{ => Histogram}/Histogram.jsx (78%)
create mode 100644
superset/assets/src/visualizations/Histogram/HistogramChartPlugin.js
create mode 100644 superset/assets/src/visualizations/Histogram/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/histogram.png =>
src/visualizations/Histogram/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/histogram.png =>
src/visualizations/Histogram/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/Histogram/transformProps.js
rename superset/assets/src/visualizations/{ => Horizon}/HorizonChart.css (100%)
rename superset/assets/src/visualizations/{ => Horizon}/HorizonChart.jsx (78%)
create mode 100644
superset/assets/src/visualizations/Horizon/HorizonChartPlugin.js
rename superset/assets/src/visualizations/{ => Horizon}/HorizonRow.jsx (100%)
create mode 100644 superset/assets/src/visualizations/Horizon/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/horizon.png =>
src/visualizations/Horizon/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/horizon.png =>
src/visualizations/Horizon/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/Horizon/transformProps.js
create mode 100644
superset/assets/src/visualizations/MapBox/MapBoxChartPlugin.js
create mode 100644 superset/assets/src/visualizations/MapBox/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/mapbox.png =>
src/visualizations/MapBox/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/mapbox.png =>
src/visualizations/MapBox/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/MapBox/transformProps.js
create mode 100644
superset/assets/src/visualizations/PairedTTest/PairedTTestChartPlugin.js
create mode 100644 superset/assets/src/visualizations/PairedTTest/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/paired_ttest.png =>
src/visualizations/PairedTTest/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/paired_ttest.png =>
src/visualizations/PairedTTest/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/PairedTTest/transformProps.js
rename superset/assets/src/visualizations/{parallel_coordinates.css =>
ParallelCoordinates/ParallelCoordinates.css} (100%)
rename superset/assets/src/visualizations/{parallel_coordinates.js =>
ParallelCoordinates/ParallelCoordinates.js} (68%)
create mode 100644
superset/assets/src/visualizations/ParallelCoordinates/ParallelCoordinatesChartPlugin.js
create mode 100644
superset/assets/src/visualizations/ParallelCoordinates/ReactParallelCoordinates.js
create mode 100644
superset/assets/src/visualizations/ParallelCoordinates/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/para.png =>
src/visualizations/ParallelCoordinates/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/para.png =>
src/visualizations/ParallelCoordinates/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/ParallelCoordinates/transformProps.js
rename superset/assets/src/visualizations/{partition.css =>
Partition/Partition.css} (100%)
rename superset/assets/src/visualizations/{partition.js =>
Partition/Partition.js} (88%)
create mode 100644
superset/assets/src/visualizations/Partition/PartitionChartPlugin.js
create mode 100644
superset/assets/src/visualizations/Partition/ReactPartition.js
create mode 100644 superset/assets/src/visualizations/Partition/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/partition.png =>
src/visualizations/Partition/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/partition.png =>
src/visualizations/Partition/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/Partition/transformProps.js
rename superset/assets/src/visualizations/{pivot_table.css =>
PivotTable/PivotTable.css} (100%)
rename superset/assets/src/visualizations/{pivot_table.js =>
PivotTable/PivotTable.js} (77%)
create mode 100644
superset/assets/src/visualizations/PivotTable/PivotTableChartPlugin.js
create mode 100644
superset/assets/src/visualizations/PivotTable/ReactPivotTable.js
create mode 100644 superset/assets/src/visualizations/PivotTable/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/pivot_table.png =>
src/visualizations/PivotTable/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/pivot_table.png =>
src/visualizations/PivotTable/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/PivotTable/transformProps.js
create mode 100644 superset/assets/src/visualizations/Rose/ReactRose.js
rename superset/assets/src/visualizations/{rose.css => Rose/Rose.css} (100%)
rename superset/assets/src/visualizations/{rose.js => Rose/Rose.js} (95%)
create mode 100644 superset/assets/src/visualizations/Rose/RoseChartPlugin.js
create mode 100644 superset/assets/src/visualizations/Rose/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/rose.png =>
src/visualizations/Rose/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/rose.png =>
src/visualizations/Rose/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/Rose/transformProps.js
create mode 100644 superset/assets/src/visualizations/Sankey/ReactSankey.js
rename superset/assets/src/visualizations/{sankey.css => Sankey/Sankey.css}
(100%)
rename superset/assets/src/visualizations/{sankey.js => Sankey/Sankey.js} (90%)
create mode 100644
superset/assets/src/visualizations/Sankey/SankeyChartPlugin.js
create mode 100644 superset/assets/src/visualizations/Sankey/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/sankey.png =>
src/visualizations/Sankey/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/sankey.png =>
src/visualizations/Sankey/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/Sankey/transformProps.js
create mode 100644 superset/assets/src/visualizations/Sunburst/ReactSunburst.js
rename superset/assets/src/visualizations/{sunburst.css =>
Sunburst/Sunburst.css} (100%)
rename superset/assets/src/visualizations/{sunburst.js =>
Sunburst/Sunburst.js} (94%)
create mode 100644
superset/assets/src/visualizations/Sunburst/SunburstChartPlugin.js
create mode 100644 superset/assets/src/visualizations/Sunburst/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/sunburst.png =>
src/visualizations/Sunburst/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/sunburst.png =>
src/visualizations/Sunburst/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/Sunburst/transformProps.js
create mode 100644 superset/assets/src/visualizations/Table/ReactTable.js
rename superset/assets/src/visualizations/{table.css => Table/Table.css} (100%)
rename superset/assets/src/visualizations/{table.js => Table/Table.js} (79%)
create mode 100644 superset/assets/src/visualizations/Table/TableChartPlugin.js
create mode 100644 superset/assets/src/visualizations/Table/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/table.png =>
src/visualizations/Table/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/table.png =>
src/visualizations/Table/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/Table/transformProps.js
create mode 100644
superset/assets/src/visualizations/TimeTable/FormattedNumber.jsx
rename superset/assets/src/visualizations/{ => TimeTable}/SparklineCell.jsx
(97%)
create mode 100644 superset/assets/src/visualizations/TimeTable/TimeTable.css
create mode 100644 superset/assets/src/visualizations/TimeTable/TimeTable.jsx
create mode 100644
superset/assets/src/visualizations/TimeTable/TimeTableChartPlugin.js
create mode 100644 superset/assets/src/visualizations/TimeTable/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/time_table.png =>
src/visualizations/TimeTable/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/time_table.png =>
src/visualizations/TimeTable/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/TimeTable/transformProps.js
create mode 100644 superset/assets/src/visualizations/Treemap/ReactTreemap.js
rename superset/assets/src/visualizations/{treemap.css => Treemap/Treemap.css}
(100%)
rename superset/assets/src/visualizations/{treemap.js => Treemap/Treemap.js}
(92%)
create mode 100644
superset/assets/src/visualizations/Treemap/TreemapChartPlugin.js
create mode 100644 superset/assets/src/visualizations/Treemap/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/treemap.png =>
src/visualizations/Treemap/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/treemap.png =>
src/visualizations/Treemap/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/Treemap/transformProps.js
create mode 100644 superset/assets/src/visualizations/WorldMap/ReactWorldMap.js
rename superset/assets/src/visualizations/{world_map.css =>
WorldMap/WorldMap.css} (100%)
rename superset/assets/src/visualizations/{world_map.js =>
WorldMap/WorldMap.js} (83%)
create mode 100644
superset/assets/src/visualizations/WorldMap/WorldMapChartPlugin.js
create mode 100644 superset/assets/src/visualizations/WorldMap/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/world_map.png =>
src/visualizations/WorldMap/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/world_map.png =>
src/visualizations/WorldMap/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/WorldMap/transformProps.js
create mode 100644
superset/assets/src/visualizations/core/models/ChartMetadata.js
create mode 100644
superset/assets/src/visualizations/core/models/ChartPlugin.js
create mode 100644 superset/assets/src/visualizations/core/models/Plugin.js
create mode 100644 superset/assets/src/visualizations/core/models/Preset.js
create mode 100644
superset/assets/src/visualizations/core/registries/ChartComponentRegistrySingleton.js
create mode 100644
superset/assets/src/visualizations/core/registries/ChartMetadataRegistrySingleton.js
create mode 100644
superset/assets/src/visualizations/core/registries/ChartTransformPropsRegistrySingleton.js
create mode 100644 superset/assets/src/visualizations/deckgl/Multi/Multi.jsx
create mode 100644
superset/assets/src/visualizations/deckgl/Multi/MultiChartPlugin.js
copy superset/assets/{images/viz_thumbnails/deck_multi.png =>
src/visualizations/deckgl/Multi/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/deck_multi.png =>
src/visualizations/deckgl/Multi/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/deckgl/createAdaptor.jsx
create mode 100644 superset/assets/src/visualizations/deckgl/factory.jsx
create mode 100644 superset/assets/src/visualizations/deckgl/layers/Arc/Arc.jsx
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Arc/ArcChartPlugin.js
copy superset/assets/{images/viz_thumbnails/deck_arc.png =>
src/visualizations/deckgl/layers/Arc/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/deck_arc.png =>
src/visualizations/deckgl/layers/Arc/images/thumbnailLarge.png} (100%)
rename superset/assets/src/visualizations/deckgl/layers/{geojson.jsx =>
Geojson/Geojson.jsx} (62%)
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Geojson/GeojsonChartPlugin.js
copy superset/assets/{images/viz_thumbnails/deck_geojson.png =>
src/visualizations/deckgl/layers/Geojson/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/deck_geojson.png =>
src/visualizations/deckgl/layers/Geojson/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Grid/Grid.jsx
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Grid/GridChartPlugin.js
copy superset/assets/{images/viz_thumbnails/deck_grid.png =>
src/visualizations/deckgl/layers/Grid/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/deck_grid.png =>
src/visualizations/deckgl/layers/Grid/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/deckgl/layers/Hex/Hex.jsx
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Hex/HexChartPlugin.js
copy superset/assets/{images/viz_thumbnails/deck_hex.png =>
src/visualizations/deckgl/layers/Hex/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/deck_hex.png =>
src/visualizations/deckgl/layers/Hex/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Path/Path.jsx
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Path/PathChartPlugin.js
copy superset/assets/{images/viz_thumbnails/deck_path.png =>
src/visualizations/deckgl/layers/Path/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/deck_path.png =>
src/visualizations/deckgl/layers/Path/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Polygon/Polygon.jsx
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Polygon/PolygonChartPlugin.js
copy superset/assets/{images/viz_thumbnails/deck_polygon.png =>
src/visualizations/deckgl/layers/Polygon/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/deck_polygon.png =>
src/visualizations/deckgl/layers/Polygon/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Scatter/Scatter.jsx
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Scatter/ScatterChartPlugin.js
copy superset/assets/{images/viz_thumbnails/deck_scatter.png =>
src/visualizations/deckgl/layers/Scatter/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/deck_scatter.png =>
src/visualizations/deckgl/layers/Scatter/images/thumbnailLarge.png} (100%)
rename superset/assets/src/visualizations/deckgl/layers/{screengrid.jsx =>
Screengrid/Screengrid.jsx} (71%)
create mode 100644
superset/assets/src/visualizations/deckgl/layers/Screengrid/ScreengridChartPlugin.js
copy superset/assets/{images/viz_thumbnails/deck_screengrid.png =>
src/visualizations/deckgl/layers/Screengrid/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/deck_screengrid.png =>
src/visualizations/deckgl/layers/Screengrid/images/thumbnailLarge.png} (100%)
delete mode 100644 superset/assets/src/visualizations/deckgl/layers/arc.jsx
rename superset/assets/src/visualizations/deckgl/layers/{common.js =>
common.jsx} (71%)
delete mode 100644 superset/assets/src/visualizations/deckgl/layers/grid.jsx
delete mode 100644 superset/assets/src/visualizations/deckgl/layers/hex.jsx
delete mode 100644 superset/assets/src/visualizations/deckgl/layers/path.jsx
delete mode 100644 superset/assets/src/visualizations/deckgl/layers/polygon.jsx
delete mode 100644 superset/assets/src/visualizations/deckgl/layers/scatter.jsx
delete mode 100644 superset/assets/src/visualizations/deckgl/multi.jsx
create mode 100644 superset/assets/src/visualizations/models/BasicChartInput.js
create mode 100644
superset/assets/src/visualizations/nvd3/Area/AreaChartPlugin.js
copy superset/assets/{images/viz_thumbnails/area.png =>
src/visualizations/nvd3/Area/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/area.png =>
src/visualizations/nvd3/Area/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/nvd3/Bar/BarChartPlugin.js
copy superset/assets/{images/viz_thumbnails/bar.png =>
src/visualizations/nvd3/Bar/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/bar.png =>
src/visualizations/nvd3/Bar/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/nvd3/BoxPlot/BoxPlotChartPlugin.js
copy superset/assets/{images/viz_thumbnails/box_plot.png =>
src/visualizations/nvd3/BoxPlot/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/box_plot.png =>
src/visualizations/nvd3/BoxPlot/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/nvd3/Bubble/BubbleChartPlugin.js
copy superset/assets/{images/viz_thumbnails/bubble.png =>
src/visualizations/nvd3/Bubble/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/bubble.png =>
src/visualizations/nvd3/Bubble/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/nvd3/Bullet/BulletChartPlugin.js
copy superset/assets/{images/viz_thumbnails/bullet.png =>
src/visualizations/nvd3/Bullet/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/bullet.png =>
src/visualizations/nvd3/Bullet/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/nvd3/Compare/CompareChartPlugin.js
copy superset/assets/{images/viz_thumbnails/compare.png =>
src/visualizations/nvd3/Compare/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/compare.png =>
src/visualizations/nvd3/Compare/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/nvd3/DistBar/DistBarChartPlugin.js
copy superset/assets/{images/viz_thumbnails/dist_bar.png =>
src/visualizations/nvd3/DistBar/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/dist_bar.png =>
src/visualizations/nvd3/DistBar/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/nvd3/DualLine/DualLineChartPlugin.js
copy superset/assets/{images/viz_thumbnails/dual_line.png =>
src/visualizations/nvd3/DualLine/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/dual_line.png =>
src/visualizations/nvd3/DualLine/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/nvd3/Line/LineChartPlugin.js
copy superset/assets/{images/viz_thumbnails/line.png =>
src/visualizations/nvd3/Line/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/line.png =>
src/visualizations/nvd3/Line/images/thumbnailLarge.png} (100%)
rename superset/assets/src/visualizations/{line_multi.js => nvd3/LineMulti.js}
(94%)
copy superset/assets/{images/viz_thumbnails/line_multi.png =>
src/visualizations/nvd3/LineMulti/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/line_multi.png =>
src/visualizations/nvd3/LineMulti/images/thumbnailLarge.png} (100%)
rename superset/assets/src/visualizations/{nvd3_vis.css => nvd3/NVD3Vis.css}
(100%)
rename superset/assets/src/visualizations/{nvd3_vis.js => nvd3/NVD3Vis.js}
(50%)
create mode 100644
superset/assets/src/visualizations/nvd3/Pie/PieChartPlugin.js
copy superset/assets/{images/viz_thumbnails/pie.png =>
src/visualizations/nvd3/Pie/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/pie.png =>
src/visualizations/nvd3/Pie/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/nvd3/PropTypes.js
create mode 100644 superset/assets/src/visualizations/nvd3/ReactNVD3.js
create mode 100644
superset/assets/src/visualizations/nvd3/TimePivot/TimePivotChartPlugin.js
copy superset/assets/{images/viz_thumbnails/time_pivot.png =>
src/visualizations/nvd3/TimePivot/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/time_pivot.png =>
src/visualizations/nvd3/TimePivot/images/thumbnailLarge.png} (100%)
create mode 100644 superset/assets/src/visualizations/nvd3/adaptor.jsx
create mode 100644 superset/assets/src/visualizations/nvd3/transformProps.js
create mode 100644 superset/assets/src/visualizations/nvd3/utils.js
delete mode 100644 superset/assets/src/visualizations/time_table.css
delete mode 100644 superset/assets/src/visualizations/time_table.jsx
create mode 100644
superset/assets/src/visualizations/wordcloud/ReactWordCloud.js
create mode 100644
superset/assets/src/visualizations/wordcloud/WordCloudChartPlugin.js
create mode 100644 superset/assets/src/visualizations/wordcloud/adaptor.jsx
copy superset/assets/{images/viz_thumbnails/word_cloud.png =>
src/visualizations/wordcloud/images/thumbnail.png} (100%)
copy superset/assets/{images/viz_thumbnails_large/word_cloud.png =>
src/visualizations/wordcloud/images/thumbnailLarge.png} (100%)
create mode 100644
superset/assets/src/visualizations/wordcloud/transformProps.js
create mode 100644 superset/dashboard_import_export_util.py
delete mode 100644 superset/templates/superset/ajah.html
create mode 100644
superset/templates/superset/form_view/csv_to_database_view/edit.html
create mode 100644 superset/translations/requirements.txt
create mode 100644 tests/macro_tests.py