From commits-return-1681-archive-asf-public=cust-asf.ponee.io@superset.incubator.apache.org Tue Oct 16 06:02:23 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 5064F180647 for ; Tue, 16 Oct 2018 06:02:22 +0200 (CEST) Received: (qmail 55464 invoked by uid 500); 16 Oct 2018 04:02:21 -0000 Mailing-List: contact commits-help@superset.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@superset.incubator.apache.org Delivered-To: mailing list commits@superset.incubator.apache.org Received: (qmail 55451 invoked by uid 99); 16 Oct 2018 04:02:21 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Oct 2018 04:02:21 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 9305282C3A; Tue, 16 Oct 2018 04:02:20 +0000 (UTC) Date: Tue, 16 Oct 2018 04:02:20 +0000 To: "commits@superset.apache.org" Subject: [incubator-superset] 01/02: Merge branch 'master' into 0.28 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit From: maximebeauchemin@apache.org In-Reply-To: <153966253892.8185.6168319935792679022@gitbox.apache.org> References: <153966253892.8185.6168319935792679022@gitbox.apache.org> X-Git-Host: gitbox.apache.org X-Git-Repo: incubator-superset X-Git-Refname: refs/tags/0.28.0rc7 X-Git-Reftype: tag X-Git-Rev: 75d0823298909e9382b3231db3aebcb522be0a28 X-Git-NotificationType: diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated Message-Id: <20181016040220.9305282C3A@gitbox.apache.org> This is an automated email from the ASF dual-hosted git repository. maximebeauchemin pushed a commit to tag 0.28.0rc7 in repository https://gitbox.apache.org/repos/asf/incubator-superset.git commit 75d0823298909e9382b3231db3aebcb522be0a28 Merge: 28e321b 91792a5 Author: Maxime Beauchemin AuthorDate: Mon Oct 15 20:51:57 2018 -0700 Merge branch 'master' into 0.28 .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 | 40 +- 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 0 -> 103045 bytes .../BigNumber/images/thumbnailLarge.png | Bin 0 -> 51404 bytes .../src/visualizations/BigNumber/transformProps.js | 78 + .../BigNumberTotal/BigNumberTotalChartPlugin.js | 20 + .../BigNumberTotal/images/thumbnail.png | Bin 0 -> 4925 bytes .../BigNumberTotal/images/thumbnailLarge.png | Bin 0 -> 27637 bytes .../{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 0 -> 11238 bytes .../Calendar/images/thumbnailLarge.png | Bin 0 -> 31627 bytes .../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 + .../src/visualizations/Chord/images/thumbnail.png | Bin 0 -> 39273 bytes .../visualizations/Chord/images/thumbnailLarge.png | Bin 0 -> 407616 bytes .../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 .../visualizations/CountryMap/images/thumbnail.png | Bin 0 -> 41210 bytes .../CountryMap/images/thumbnailLarge.png | Bin 0 -> 303004 bytes .../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 0 -> 17191 bytes .../EventFlow/images/thumbnailLarge.png | Bin 0 -> 108626 bytes .../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 0 -> 8550 bytes .../FilterBox/images/thumbnailLarge.png | Bin 0 -> 49653 bytes .../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 0 -> 42753 bytes .../ForceDirected/images/thumbnailLarge.png | Bin 0 -> 247382 bytes .../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 0 -> 39866 bytes .../Heatmap/images/thumbnailLarge.png | Bin 0 -> 435496 bytes .../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 0 -> 9717 bytes .../Histogram/images/thumbnailLarge.png | Bin 0 -> 64899 bytes .../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 0 -> 24924 bytes .../Horizon/images/thumbnailLarge.png | Bin 0 -> 165253 bytes .../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 + .../src/visualizations/MapBox/images/thumbnail.png | Bin 0 -> 85714 bytes .../MapBox/images/thumbnailLarge.png | Bin 0 -> 225567 bytes .../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 0 -> 23323 bytes .../PairedTTest/images/thumbnailLarge.png | Bin 0 -> 236049 bytes .../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 0 -> 52039 bytes .../ParallelCoordinates/images/thumbnailLarge.png | Bin 0 -> 471027 bytes .../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 0 -> 11364 bytes .../Partition/images/thumbnailLarge.png | Bin 0 -> 198125 bytes .../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 + .../visualizations/PivotTable/images/thumbnail.png | Bin 0 -> 54527 bytes .../PivotTable/images/thumbnailLarge.png | Bin 0 -> 276020 bytes .../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 + .../src/visualizations/Rose/images/thumbnail.png | Bin 0 -> 37386 bytes .../visualizations/Rose/images/thumbnailLarge.png | Bin 0 -> 506254 bytes .../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 + .../src/visualizations/Sankey/images/thumbnail.png | Bin 0 -> 43735 bytes .../Sankey/images/thumbnailLarge.png | Bin 0 -> 205313 bytes .../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 0 -> 26030 bytes .../Sunburst/images/thumbnailLarge.png | Bin 0 -> 173806 bytes .../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 + .../src/visualizations/Table/images/thumbnail.png | Bin 0 -> 22572 bytes .../visualizations/Table/images/thumbnailLarge.png | Bin 0 -> 109326 bytes .../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 0 -> 17464 bytes .../TimeTable/images/thumbnailLarge.png | Bin 0 -> 65153 bytes .../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 0 -> 16623 bytes .../Treemap/images/thumbnailLarge.png | Bin 0 -> 96420 bytes .../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 0 -> 28598 bytes .../WorldMap/images/thumbnailLarge.png | Bin 0 -> 136501 bytes .../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 0 -> 106790 bytes .../deckgl/Multi/images/thumbnailLarge.png | Bin 0 -> 991412 bytes .../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 0 -> 38815 bytes .../deckgl/layers/Arc/images/thumbnailLarge.png | Bin 0 -> 230107 bytes .../layers/{geojson.jsx => Geojson/Geojson.jsx} | 74 +- .../deckgl/layers/Geojson/GeojsonChartPlugin.js | 19 + .../deckgl/layers/Geojson/images/thumbnail.png | Bin 0 -> 42386 bytes .../layers/Geojson/images/thumbnailLarge.png | Bin 0 -> 181512 bytes .../src/visualizations/deckgl/layers/Grid/Grid.jsx | 40 + .../deckgl/layers/Grid/GridChartPlugin.js | 19 + .../deckgl/layers/Grid/images/thumbnail.png | Bin 0 -> 143670 bytes .../deckgl/layers/Grid/images/thumbnailLarge.png | Bin 0 -> 2125810 bytes .../src/visualizations/deckgl/layers/Hex/Hex.jsx | 40 + .../deckgl/layers/Hex/HexChartPlugin.js | 19 + .../deckgl/layers/Hex/images/thumbnail.png | Bin 0 -> 85015 bytes .../deckgl/layers/Hex/images/thumbnailLarge.png | Bin 0 -> 1090997 bytes .../src/visualizations/deckgl/layers/Path/Path.jsx | 40 + .../deckgl/layers/Path/PathChartPlugin.js | 19 + .../deckgl/layers/Path/images/thumbnail.png | Bin 0 -> 75705 bytes .../deckgl/layers/Path/images/thumbnailLarge.png | Bin 0 -> 523094 bytes .../deckgl/layers/Polygon/Polygon.jsx | 52 + .../deckgl/layers/Polygon/PolygonChartPlugin.js | 19 + .../deckgl/layers/Polygon/images/thumbnail.png | Bin 0 -> 37261 bytes .../layers/Polygon/images/thumbnailLarge.png | Bin 0 -> 443630 bytes .../deckgl/layers/Scatter/Scatter.jsx | 36 + .../deckgl/layers/Scatter/ScatterChartPlugin.js | 19 + .../deckgl/layers/Scatter/images/thumbnail.png | Bin 0 -> 120091 bytes .../layers/Scatter/images/thumbnailLarge.png | Bin 0 -> 795739 bytes .../{screengrid.jsx => Screengrid/Screengrid.jsx} | 71 +- .../layers/Screengrid/ScreengridChartPlugin.js | 19 + .../deckgl/layers/Screengrid/images/thumbnail.png | Bin 0 -> 76990 bytes .../layers/Screengrid/images/thumbnailLarge.png | Bin 0 -> 591701 bytes .../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 0 -> 14469 bytes .../nvd3/Area/images/thumbnailLarge.png | Bin 0 -> 105237 bytes .../src/visualizations/nvd3/Bar/BarChartPlugin.js | 21 + .../visualizations/nvd3/Bar/images/thumbnail.png | Bin 0 -> 9058 bytes .../nvd3/Bar/images/thumbnailLarge.png | Bin 0 -> 50564 bytes .../nvd3/BoxPlot/BoxPlotChartPlugin.js | 21 + .../nvd3/BoxPlot/images/thumbnail.png | Bin 0 -> 9496 bytes .../nvd3/BoxPlot/images/thumbnailLarge.png | Bin 0 -> 56136 bytes .../nvd3/Bubble/BubbleChartPlugin.js | 21 + .../nvd3/Bubble/images/thumbnail.png | Bin 0 -> 22779 bytes .../nvd3/Bubble/images/thumbnailLarge.png | Bin 0 -> 135455 bytes .../nvd3/Bullet/BulletChartPlugin.js | 21 + .../nvd3/Bullet/images/thumbnail.png | Bin 0 -> 2174 bytes .../nvd3/Bullet/images/thumbnailLarge.png | Bin 0 -> 8764 bytes .../nvd3/Compare/CompareChartPlugin.js | 21 + .../nvd3/Compare/images/thumbnail.png | Bin 0 -> 32918 bytes .../nvd3/Compare/images/thumbnailLarge.png | Bin 0 -> 258894 bytes .../nvd3/DistBar/DistBarChartPlugin.js | 21 + .../nvd3/DistBar/images/thumbnail.png | Bin 0 -> 8752 bytes .../nvd3/DistBar/images/thumbnailLarge.png | Bin 0 -> 52519 bytes .../nvd3/DualLine/DualLineChartPlugin.js | 21 + .../nvd3/DualLine/images/thumbnail.png | Bin 0 -> 19229 bytes .../nvd3/DualLine/images/thumbnailLarge.png | Bin 0 -> 165716 bytes .../visualizations/nvd3/Line/LineChartPlugin.js | 21 + .../visualizations/nvd3/Line/images/thumbnail.png | Bin 0 -> 42915 bytes .../nvd3/Line/images/thumbnailLarge.png | Bin 0 -> 321509 bytes .../{line_multi.js => nvd3/LineMulti.js} | 6 +- .../nvd3/LineMulti/images/thumbnail.png | Bin 0 -> 54363 bytes .../nvd3/LineMulti/images/thumbnailLarge.png | Bin 0 -> 116138 bytes .../{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 0 -> 6007 bytes .../nvd3/Pie/images/thumbnailLarge.png | Bin 0 -> 28302 bytes .../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 0 -> 13209 bytes .../nvd3/TimePivot/images/thumbnailLarge.png | Bin 0 -> 84481 bytes .../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 0 -> 24048 bytes .../wordcloud/images/thumbnailLarge.png | Bin 0 -> 117846 bytes .../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, 12083 insertions(+), 8300 deletions(-)