This is an automated email from the ASF dual-hosted git repository. beto pushed a commit to branch fix_ro_tags in repository https://gitbox.apache.org/repos/asf/incubator-superset.git
commit 41e96be080586d018b5e4a709f3886b4f15d2282 Merge: c05bfad 73f7e82 Author: Dave Smith <dave.a.sm...@gmail.com> AuthorDate: Mon Feb 17 16:14:12 2020 -0800 Merge pull request #95 from lyft/mergeApache_02122020 merge apache@966d3217 (02122020) .dockerignore | 6 +- .fossa.yml | 4 +- .gitignore | 11 +- .rat-excludes | 5 + .travis.yml | 2 +- CHANGELOG.md | 2758 ++++++++++---------- CONTRIBUTING.md | 43 +- Dockerfile | 14 +- MANIFEST.in | 14 +- README.md | 19 +- RELEASING/Dockerfile.from_local_tarball | 2 +- RELEASING/Dockerfile.from_svn_tarball | 2 +- RELEASING/README.md | 30 +- RELEASING/make_tarball_entrypoint.sh | 4 +- UPDATING.md | 14 + docker-compose.yml | 3 +- docs/admintutorial.rst | 210 +- docs/build.sh | 5 +- docs/druid.rst | 2 +- docs/gallery.rst | 95 +- docs/images | 2 +- docs/index.rst | 14 +- docs/installation.rst | 4 +- docs/security.rst | 2 +- docs/sqllab.rst | 2 +- docs/usertutorial.rst | 61 +- docs/visualization.rst | 24 +- pypi_push.sh | 4 +- requirements.txt | 89 +- scripts/check_license.sh | 3 - setup.py | 9 +- {superset/assets => superset-frontend}/.babelrc | 0 .../assets => superset-frontend}/.eslintignore | 2 +- {superset/assets => superset-frontend}/.eslintrc | 0 {superset/assets => superset-frontend}/.prettierrc | 0 .../branding/superset-logo-horiz-apache.png | Bin .../branding/superset-logo-horiz-apache.svg | 0 .../branding/superset-logo-horiz.png | Bin .../branding/superset-logo-horiz.svg | 0 .../branding/superset-logo-stacked-apache.png | Bin .../branding/superset-logo-stacked-apache.svg | 0 .../branding/superset-logo-stacked.png | Bin .../branding/superset-logo-stacked.svg | 0 .../cypress-base/cypress.json | 0 .../cypress-base/cypress/.eslintrc | 0 .../cypress-base/cypress/fixtures/example.json | 0 .../cypress/integration/dashboard/controls.js | 0 .../integration/dashboard/dashboard.helper.js | 0 .../cypress/integration/dashboard/edit_mode.js | 0 .../cypress/integration/dashboard/fav_star.js | 0 .../cypress/integration/dashboard/filter.js | 0 .../cypress/integration/dashboard/index.test.js | 0 .../cypress/integration/dashboard/load.js | 0 .../cypress/integration/dashboard/save.js | 0 .../cypress/integration/dashboard/tabs.js | 0 .../cypress/integration/dashboard/url_params.js | 0 .../cypress/integration/explore/chart.test.js | 0 .../cypress/integration/explore/control.test.js | 0 .../cypress/integration/explore/link.test.js | 0 .../integration/explore/visualizations/area.js | 0 .../explore/visualizations/big_number.js | 0 .../explore/visualizations/big_number_total.js | 0 .../integration/explore/visualizations/box_plot.js | 0 .../integration/explore/visualizations/bubble.js | 0 .../integration/explore/visualizations/compare.js | 0 .../integration/explore/visualizations/dist_bar.js | 0 .../explore/visualizations/dual_line.js | 0 .../explore/visualizations/filter_box.js | 0 .../explore/visualizations/histogram.js | 0 .../explore/visualizations/index.test.js | 0 .../integration/explore/visualizations/line.js | 0 .../integration/explore/visualizations/pie.js | 0 .../explore/visualizations/pivot_table.js | 0 .../integration/explore/visualizations/sankey.js | 0 .../explore/visualizations/shared.helper.js | 0 .../integration/explore/visualizations/sunburst.js | 0 .../integration/explore/visualizations/table.js | 0 .../explore/visualizations/time_table.js | 0 .../integration/explore/visualizations/treemap.js | 0 .../explore/visualizations/world_map.js | 0 .../cypress/integration/sqllab/index.test.js | 0 .../cypress/integration/sqllab/query.js | 0 .../cypress/integration/sqllab/sourcePanel.js | 0 .../cypress/integration/sqllab/sqllab.helper.js | 0 .../cypress/integration/sqllab/tabs.js | 0 .../cypress-base/cypress/plugins/index.js | 0 .../cypress-base/cypress/support/commands.js | 0 .../cypress-base/cypress/support/index.js | 0 .../cypress-base/cypress/utils/readResponseBlob.js | 0 .../cypress-base/package-lock.json | 0 .../cypress-base/package.json | 0 .../assets => superset-frontend}/cypress_build.sh | 2 +- .../images/apache_feather.png | Bin .../assets => superset-frontend}/images/babies.png | Bin .../assets => superset-frontend}/images/bubble.png | Bin .../assets => superset-frontend}/images/cloud.png | Bin .../images/create_role.png | Bin .../assets => superset-frontend}/images/dash.png | Bin .../images/druid_agg.png | Bin .../images/favicon.png | Bin .../images/loading.gif | Bin .../assets => superset-frontend}/images/noimg.png | Bin .../assets => superset-frontend}/images/s.png | Bin .../images/screenshots/bank_dash.png | Bin .../images/screenshots/deckgl_dash.png | Bin .../images/screenshots/explore.png | Bin .../images/screenshots/sqllab.png | Bin .../images/screenshots/visualizations.png | Bin .../images/superset-l...@2x.png | Bin .../images/superset.png | Bin .../images/superset_screenshot.png | Bin .../images/tutorial/add_db.png | Bin .../tutorial/tutorial_01_sources_database.png | Bin .../images/tutorial/tutorial_02_add_database.png | Bin .../images/tutorial/tutorial_03_database_name.png | Bin .../tutorial_04_sqlalchemy_connection_string.png | Bin .../tutorial/tutorial_05_connection_popup.png | Bin .../images/tutorial/tutorial_06_list_of_tables.png | Bin .../images/tutorial/tutorial_07_save_button.png | Bin .../images/tutorial/tutorial_08_sources_tables.png | Bin .../images/tutorial/tutorial_09_add_new_table.png | Bin .../images/tutorial/tutorial_10_table_name.png | Bin .../images/tutorial/tutorial_11_choose_db.png | Bin .../tutorial_12_table_creation_success_msg.png | Bin .../tutorial/tutorial_13_edit_table_config.png | Bin .../images/tutorial/tutorial_14_field_config.png | Bin .../tutorial/tutorial_15_click_table_name.png | Bin .../tutorial/tutorial_16_datasource_chart_type.png | Bin .../tutorial/tutorial_17_choose_time_range.png | Bin .../images/tutorial/tutorial_18_choose_metric.png | Bin .../images/tutorial/tutorial_19_click_query.png | Bin .../tutorial/tutorial_20_count_star_result.png | Bin .../images/tutorial/tutorial_21_group_by.png | Bin .../tutorial/tutorial_22_group_by_result.png | Bin .../tutorial_23_group_by_more_dimensions.png | Bin .../images/tutorial/tutorial_24_max_metric.png | Bin .../tutorial/tutorial_25_max_temp_filter.png | Bin .../images/tutorial/tutorial_26_row_limit.png | Bin .../tutorial/tutorial_27_top_10_max_temps.png | Bin .../images/tutorial/tutorial_28_bar_chart.png | Bin .../tutorial_29_bar_chart_series_metrics.png | Bin .../tutorial/tutorial_30_bar_chart_results.png | Bin .../tutorial_31_save_slice_to_dashboard.png | Bin .../tutorial_32_save_slice_confirmation.png | Bin .../images/tutorial/tutorial_33_dashboard.png | Bin .../tutorial/tutorial_34_weather_dashboard.png | Bin .../tutorial/tutorial_35_slice_on_dashboard.png | Bin .../tutorial/tutorial_36_adjust_dimensions.gif | Bin .../images/usertutorial/add_new_chart.png | Bin .../usertutorial/advanced_analytics_base.png | Bin .../images/usertutorial/annotation.png | Bin .../images/usertutorial/annotation_settings.png | Bin .../usertutorial/average_aggregate_for_cost.png | Bin .../usertutorial/blue_bar_insert_component.png | Bin .../images/usertutorial/chose_a_datasource.png | Bin .../usertutorial/csv_to_database_configuration.png | Bin .../images/usertutorial/edit-record.png | Bin .../images/usertutorial/edit_annotation.png | Bin .../usertutorial/filter_on_origin_country.png | Bin .../images/usertutorial/markdown.png | Bin .../usertutorial/no_filter_on_time_filter.png | Bin .../images/usertutorial/parse_dates_column.png | Bin .../images/usertutorial/publish_dashboard.png | Bin .../images/usertutorial/resample.png | Bin .../resize_tutorial_table_on_dashboard.png | Bin .../images/usertutorial/rolling_mean.png | Bin .../images/usertutorial/save_tutorial_table.png | Bin .../usertutorial/select_dates_pivot_table.png | Bin .../select_table_visualization_type.png | Bin .../images/usertutorial/sum_cost_column.png | Bin .../time_comparison_absolute_difference.png | Bin .../usertutorial/time_comparison_two_series.png | Bin .../images/usertutorial/tutorial_line_chart.png | Bin .../images/usertutorial/tutorial_pivot_table.png | Bin .../images/usertutorial/tutorial_table.png | Bin .../images/usertutorial/upload_a_csv.png | Bin .../images/viz_thumbnails/area.png | Bin .../images/viz_thumbnails/bar.png | Bin .../images/viz_thumbnails/big_number.png | Bin .../images/viz_thumbnails/big_number_total.png | Bin .../images/viz_thumbnails/box_plot.png | Bin .../images/viz_thumbnails/bubble.png | Bin .../images/viz_thumbnails/bullet.png | Bin .../images/viz_thumbnails/cal_heatmap.png | Bin .../images/viz_thumbnails/chord.png | Bin .../images/viz_thumbnails/compare.png | Bin .../images/viz_thumbnails/country_map.png | Bin .../images/viz_thumbnails/deck_arc.png | Bin .../images/viz_thumbnails/deck_geojson.png | Bin .../images/viz_thumbnails/deck_grid.png | Bin .../images/viz_thumbnails/deck_hex.png | Bin .../images/viz_thumbnails/deck_multi.png | Bin .../images/viz_thumbnails/deck_path.png | Bin .../images/viz_thumbnails/deck_polygon.png | Bin .../images/viz_thumbnails/deck_scatter.png | Bin .../images/viz_thumbnails/deck_screengrid.png | Bin .../images/viz_thumbnails/directed_force.png | Bin .../images/viz_thumbnails/dist_bar.png | Bin .../images/viz_thumbnails/dual_line.png | Bin .../images/viz_thumbnails/event_flow.png | Bin .../images/viz_thumbnails/filter_box.png | Bin .../images/viz_thumbnails/heatmap.png | Bin .../images/viz_thumbnails/histogram.png | Bin .../images/viz_thumbnails/horizon.png | Bin .../images/viz_thumbnails/iframe.png | Bin .../images/viz_thumbnails/line.png | Bin .../images/viz_thumbnails/line_multi.png | Bin .../images/viz_thumbnails/mapbox.png | Bin .../images/viz_thumbnails/markup.png | Bin .../images/viz_thumbnails/multi.png | Bin .../images/viz_thumbnails/paired_ttest.png | Bin .../images/viz_thumbnails/para.png | Bin .../images/viz_thumbnails/partition.png | Bin .../images/viz_thumbnails/pie.png | Bin .../images/viz_thumbnails/pivot_table.png | Bin .../images/viz_thumbnails/rose.png | Bin .../images/viz_thumbnails/sankey.png | Bin .../images/viz_thumbnails/separator.png | Bin .../images/viz_thumbnails/sunburst.png | Bin .../images/viz_thumbnails/table.png | Bin .../images/viz_thumbnails/time_pivot.png | Bin .../images/viz_thumbnails/time_table.png | Bin .../images/viz_thumbnails/treemap.png | Bin .../images/viz_thumbnails/word_cloud.png | Bin .../images/viz_thumbnails/world_map.png | Bin .../assets => superset-frontend}/jest.config.js | 0 {superset/assets => superset-frontend}/js_build.sh | 0 .../assets => superset-frontend}/package-lock.json | 396 ++- .../assets => superset-frontend}/package.json | 21 +- .../assets => superset-frontend}/spec/.eslintrc | 0 .../spec/__mocks__/fileMock.js | 0 .../spec/__mocks__/styleMock.js | 0 .../spec/fixtures/mockDatasource.js | 0 .../spec/helpers/setupSupersetClient.js | 0 .../spec/helpers/shim.js | 0 .../spec/javascripts/CRUD/CollectionTable_spec.jsx | 0 .../addSlice/AddSliceContainer_spec.jsx | 0 .../spec/javascripts/chart/ChartRenderer_spec.jsx | 0 .../spec/javascripts/chart/chartActions_spec.js | 0 .../spec/javascripts/chart/chartReducers_spec.js | 0 .../components/AlteredSliceTag_spec.jsx | 0 .../javascripts/components/AnchorLink_spec.jsx | 0 .../javascripts/components/AsyncSelect_spec.jsx | 0 .../javascripts/components/CachedLabel_spec.jsx | 0 .../spec/javascripts/components/Checkbox_spec.jsx | 0 .../javascripts/components/ColumnOption_spec.jsx | 0 .../components/ColumnTypeLabel_spec.jsx | 0 .../components/ConfirmStatusChange_spec.jsx | 43 +- .../components/CopyToClipboard_spec.jsx | 0 .../FilterableTable/FilterableTable_spec.jsx | 0 .../spec/javascripts/components/FormRow_spec.jsx | 0 .../components/ListView/ListView_spec.jsx | 257 ++ .../spec/javascripts/components/Menu_spec.jsx | 0 .../javascripts/components/MetricOption_spec.jsx | 0 .../javascripts/components/ModalTrigger_spec.jsx | 0 .../javascripts/components/OnPasteSelect_spec.jsx | 0 .../components/OptionDescription_spec.jsx | 0 .../javascripts/components/PopoverSection_spec.jsx | 0 .../javascripts/components/TableSelector_spec.jsx | 0 .../components/URLShortLinkButton_spec.jsx | 0 .../components/URLShortLinkModal_spec.jsx | 0 .../components/VirtualizedRendererWrap_spec.jsx | 0 .../spec/javascripts}/dashboard/.eslintrc | 0 .../dashboard/actions/dashboardLayout_spec.js | 0 .../dashboard/actions/dashboardState_spec.js | 0 .../dashboard/components/CodeModal_spec.jsx | 0 .../dashboard/components/CssEditor_spec.jsx | 0 .../dashboard/components/DashboardBuilder_spec.jsx | 0 .../dashboard/components/DashboardGrid_spec.jsx | 0 .../dashboard/components/Dashboard_spec.jsx | 0 .../components/FilterIndicatorGroup_spec.jsx | 0 .../components/FilterIndicatorTooltip_spec.jsx | 0 .../dashboard/components/FilterIndicator_spec.jsx | 0 .../components/FilterIndicatorsContainer_spec.jsx | 0 .../components/FilterTooltipWrapper_spec.jsx | 0 .../components/HeaderActionsDropdown_spec.jsx | 0 .../dashboard/components/Header_spec.jsx | 70 +- .../dashboard/components/MissingChart_spec.jsx | 0 .../components/RefreshIntervalModal_spec.jsx | 0 .../dashboard/components/SliceAdder_spec.jsx | 0 .../components/dnd/DragDroppable_spec.jsx | 0 .../components/gridComponents/ChartHolder_spec.jsx | 0 .../components/gridComponents/Chart_spec.jsx | 0 .../components/gridComponents/Column_spec.jsx | 0 .../components/gridComponents/Divider_spec.jsx | 0 .../components/gridComponents/Header_spec.jsx | 0 .../components/gridComponents/Markdown_spec.jsx | 0 .../components/gridComponents/Row_spec.jsx | 0 .../components/gridComponents/Tab_spec.jsx | 0 .../components/gridComponents/Tabs_spec.jsx | 0 .../new/DraggableNewComponent_spec.jsx | 0 .../gridComponents/new/NewColumn_spec.jsx | 0 .../gridComponents/new/NewDivider_spec.jsx | 0 .../gridComponents/new/NewHeader_spec.jsx | 0 .../components/gridComponents/new/NewRow_spec.jsx | 0 .../components/gridComponents/new/NewTabs_spec.jsx | 0 .../dashboard/components/menu/HoverMenu_spec.jsx | 0 .../components/menu/WithPopoverMenu_spec.jsx | 0 .../resizable/ResizableContainer_spec.jsx | 0 .../components/resizable/ResizableHandle_spec.jsx | 0 .../dashboard/fixtures/mockChartQueries.js | 0 .../dashboard/fixtures/mockDashboardData.js | 0 .../dashboard/fixtures/mockDashboardFilters.js | 0 .../dashboard/fixtures/mockDashboardInfo.js | 0 .../dashboard/fixtures/mockDashboardLayout.js | 0 .../dashboard/fixtures/mockDashboardState.js | 0 .../dashboard/fixtures/mockSliceEntities.js | 0 .../javascripts/dashboard/fixtures/mockState.js | 0 .../javascripts/dashboard/fixtures/mockStore.js | 0 .../dashboard/helpers/WithDragDropContext.jsx | 0 .../dashboard/reducers/dashboardFilters_spec.js | 0 .../dashboard/reducers/dashboardLayout_spec.js | 0 .../dashboard/reducers/dashboardState_spec.js | 0 .../dashboard/reducers/sliceEntities_spec.js | 0 .../dashboard/util/componentIsResizable_spec.js | 0 .../javascripts/dashboard/util/dnd-reorder_spec.js | 0 .../dashboard/util/dropOverflowsParent_spec.js | 0 .../util/findFirstParentContainer_spec.js | 0 .../dashboard/util/findParentId_spec.js | 0 .../util/findTabIndexByComponentId_spec.js | 0 .../getChartAndLabelComponentIdFromPath_spec.js | 0 .../dashboard/util/getChartIdsFromLayout_spec.js | 0 .../dashboard/util/getDashboardUrl_spec.js | 0 .../util/getDetailedComponentWidth_spec.js | 0 .../dashboard/util/getDropPosition_spec.js | 0 .../util/getFilterConfigsFromFormdata_spec.js | 0 .../util/getFilterScopeFromNodesTree_spec.js | 0 .../util/getFormDataWithExtraFilters_spec.js | 0 .../util/getLeafComponentIdFromPath_spec.js | 0 .../dashboard/util/isValidChild_spec.js | 0 .../dashboard/util/newComponentFactory_spec.js | 0 .../dashboard/util/newEntitiesFromDrop_spec.js | 0 .../util/updateComponentParentsList_spec.js | 0 .../datasource/ChangeDatasourceModal_spec.jsx | 0 .../datasource/DatasourceEditor_spec.jsx | 0 .../datasource/DatasourceModal_spec.jsx | 0 .../spec/javascripts/explore/AdhocFilter_spec.js | 0 .../spec/javascripts/explore/AdhocMetric_spec.js | 0 .../explore/components/AdhocFilterControl_spec.jsx | 0 ...AdhocFilterEditPopoverSimpleTabContent_spec.jsx | 0 .../AdhocFilterEditPopoverSqlTabContent_spec.jsx | 0 .../components/AdhocFilterEditPopover_spec.jsx | 0 .../explore/components/AdhocFilterOption_spec.jsx | 0 .../AdhocMetricEditPopoverTitle_spec.jsx | 0 .../components/AdhocMetricEditPopover_spec.jsx | 0 .../explore/components/AdhocMetricOption_spec.jsx | 0 .../components/AdhocMetricStaticOption_spec.jsx | 0 .../explore/components/AggregateOption_spec.jsx | 0 .../explore/components/BoundsControl_spec.jsx | 0 .../explore/components/CheckboxControl_spec.jsx | 0 .../explore/components/ColorPickerControl_spec.jsx | 0 .../explore/components/ColorScheme_spec.jsx | 0 .../components/ControlPanelSection_spec.jsx | 0 .../components/ControlPanelsContainer_spec.jsx | 0 .../explore/components/ControlRow_spec.jsx | 0 .../explore/components/DatasourceControl_spec.jsx | 0 .../explore/components/DateFilterControl_spec.jsx | 0 .../explore/components/DisplayQueryButton_spec.jsx | 0 .../explore/components/EmbedCodeButton_spec.jsx | 0 .../components/ExploreActionButtons_spec.jsx | 0 .../explore/components/ExploreChartHeader_spec.jsx | 0 .../explore/components/ExploreChartPanel_spec.jsx | 0 .../components/ExploreViewContainer_spec.jsx | 0 .../components/FilterBoxItemControl_spec.jsx | 0 .../components/FilterDefinitionOption_spec.jsx | 0 .../components/FixedOrMetricControl_spec.jsx | 0 .../components/MetricDefinitionOption_spec.jsx | 0 .../components/MetricDefinitionValue_spec.jsx | 0 .../explore/components/MetricsControl_spec.jsx | 0 .../explore/components/QueryAndSaveBtns_spec.jsx | 0 .../explore/components/RowCountLabel_spec.jsx | 0 .../components/RunQueryActionButton_spec.jsx | 0 .../explore/components/SaveModal_spec.jsx | 0 .../explore/components/SelectControl_spec.jsx | 0 .../explore/components/TextArea_spec.jsx | 0 .../components/TimeSeriesColumnControl_spec.jsx | 0 .../explore/components/ViewportControl_spec.jsx | 0 .../explore/components/VizTypeControl_spec.jsx | 0 .../explore/components/withVerification_spec.jsx | 0 .../spec/javascripts/explore/controlUtils_spec.jsx | 0 .../javascripts/explore/exploreActions_spec.js | 0 .../spec/javascripts/explore/store_spec.jsx | 0 .../spec/javascripts/explore/utils_spec.jsx | 11 +- .../spec/javascripts/messageToasts/.eslintrc | 0 .../components/ToastPresenter_spec.jsx | 0 .../messageToasts/components/Toast_spec.jsx | 0 .../javascripts/messageToasts/mockMessageToasts.js | 0 .../messageToasts/reducers/messageToasts_spec.js | 0 .../utils/getToastsFromPyFlashMessages_spec.js | 0 .../spec/javascripts/middleware/logger_spec.js | 0 .../spec/javascripts/modules/dates_spec.js | 0 .../spec/javascripts/modules/utils_spec.jsx | 0 .../spec/javascripts/profile/App_spec.jsx | 0 .../javascripts/profile/CreatedContent_spec.jsx | 0 .../javascripts/profile/EditableTitle_spec.jsx | 0 .../spec/javascripts/profile/Favorites_spec.jsx | 0 .../javascripts/profile/RecentActivity_spec.jsx | 0 .../spec/javascripts/profile/Security_spec.jsx | 0 .../spec/javascripts/profile/UserInfo_spec.jsx | 0 .../spec/javascripts/profile/fixtures.jsx | 0 .../spec/javascripts/showSavedQuery/utils_spec.jsx | 0 .../spec/javascripts/sqllab/App_spec.jsx | 0 .../spec/javascripts/sqllab/ColumnElement_spec.jsx | 0 .../sqllab/ExploreResultsButton_spec.jsx | 0 .../javascripts/sqllab/HighlightedSql_spec.jsx | 0 .../spec/javascripts/sqllab/LimitControl_spec.jsx | 0 .../spec/javascripts/sqllab/Link_spec.jsx | 0 .../javascripts/sqllab/QueryAutoRefresh_spec.jsx | 0 .../spec/javascripts/sqllab/QuerySearch_spec.jsx | 0 .../javascripts/sqllab/QueryStateLabel_spec.jsx | 0 .../spec/javascripts/sqllab/QueryTable_spec.jsx | 0 .../spec/javascripts/sqllab/ResultSet_spec.jsx | 0 .../spec/javascripts/sqllab/SaveQuery_spec.jsx | 0 .../javascripts/sqllab/ShareSqlLabQuery_spec.jsx | 0 .../spec/javascripts/sqllab/SouthPane_spec.jsx | 0 .../javascripts/sqllab/SqlEditorLeftBar_spec.jsx | 0 .../spec/javascripts/sqllab/SqlEditor_spec.jsx | 0 .../spec/javascripts/sqllab/TabStatusIcon_spec.jsx | 0 .../javascripts/sqllab/TabbedSqlEditors_spec.jsx | 0 .../spec/javascripts/sqllab/TableElement_spec.jsx | 0 .../spec/javascripts/sqllab/Timer_spec.jsx | 0 .../spec/javascripts/sqllab/actions/sqlLab_spec.js | 2 +- .../spec/javascripts/sqllab/fixtures.js | 0 .../javascripts/sqllab/reducers/sqlLab_spec.js | 0 .../sqllab/utils/emptyQueryResults_spec.js | 0 .../spec/javascripts/utils/common_spec.jsx | 0 .../javascripts/utils/getClientErrorObject_spec.js | 0 .../spec/javascripts/utils/safeStringify_spec.ts | 0 .../javascripts/views/chartList/ChartList_spec.jsx | 40 +- .../views/dashboardList/DashboardList_spec.jsx | 0 .../javascripts/welcome/DashboardTable_spec.jsx | 8 +- .../spec/javascripts/welcome/Welcome_spec.jsx | 0 .../src/CRUD/CollectionTable.jsx | 0 .../src/CRUD/Field.jsx | 0 .../src/CRUD/Fieldset.jsx | 0 .../src/CRUD/crud.less | 8 +- .../assets => superset-frontend}/src/CRUD/utils.js | 0 .../src/SqlLab/App.jsx | 0 .../src/SqlLab/actions/sqlLab.js | 2 +- .../src/SqlLab/components/AceEditorWrapper.jsx | 29 +- .../src/SqlLab/components/App.jsx | 0 .../src/SqlLab/components/ColumnElement.jsx | 0 .../SqlLab/components/EstimateQueryCostButton.jsx | 0 .../src/SqlLab/components/ExploreResultsButton.jsx | 0 .../src/SqlLab/components/HighlightedSql.jsx | 0 .../src/SqlLab/components/LimitControl.jsx | 0 .../src/SqlLab/components/Link.jsx | 0 .../src/SqlLab/components/QueryAutoRefresh.jsx | 0 .../src/SqlLab/components/QueryHistory.jsx | 0 .../src/SqlLab/components/QuerySearch.jsx | 0 .../src/SqlLab/components/QueryStateLabel.jsx | 0 .../src/SqlLab/components/QueryTable.jsx | 0 .../src/SqlLab/components/ResultSet.jsx | 7 +- .../src/SqlLab/components/RunQueryActionButton.jsx | 0 .../src/SqlLab/components/SaveQuery.jsx | 0 .../src/SqlLab/components/ScheduleQueryButton.jsx | 0 .../src/SqlLab/components/ShareSqlLabQuery.jsx | 0 .../src/SqlLab/components/ShowSQL.jsx | 0 .../src/SqlLab/components/SouthPane.jsx | 0 .../src/SqlLab/components/SqlEditor.jsx | 3 + .../src/SqlLab/components/SqlEditorLeftBar.jsx | 0 .../src/SqlLab/components/TabStatusIcon.jsx | 0 .../src/SqlLab/components/TabbedSqlEditors.jsx | 0 .../src/SqlLab/components/TableElement.jsx | 0 .../src/SqlLab/components/TemplateParamsEditor.jsx | 0 .../src/SqlLab/constants.js | 1 + .../src/SqlLab}/index.jsx | 0 .../src/SqlLab/main.less | 96 +- .../src/SqlLab/reducers/common.js | 0 .../src/SqlLab/reducers/getInitialState.js | 0 .../src/SqlLab/reducers/index.js | 0 .../src/SqlLab/reducers/localStorageUsage.js | 0 .../src/SqlLab/reducers/sqlLab.js | 0 .../SqlLab/utils/reduxStateToLocalStorageHelper.js | 0 .../src/SqlLab/utils/sqlKeywords.ts | 0 .../src/addSlice/AddSliceContainer.jsx | 0 .../src/addSlice/App.jsx | 0 .../src/addSlice/index.jsx | 0 .../src/chart/Chart.jsx | 0 .../src/chart/ChartContainer.jsx | 0 .../src/chart/ChartRenderer.jsx | 0 .../src/chart/chart.less | 0 .../src/chart/chartAction.js | 24 +- .../src/chart/chartReducer.js | 0 .../src/components/ActionMenuItem.jsx | 0 .../src/components/AlteredSliceTag.jsx | 0 .../src/components/AnchorLink.jsx | 0 .../src/components/AsyncSelect.jsx | 0 .../src/components/BootstrapSliderWrapper.jsx | 0 .../src/components/BootstrapSliderWrapper.less | 0 .../src/components/Button.jsx | 0 .../src/components/CachedLabel.jsx | 0 .../src/components/ChartIcon.jsx | 0 .../src/components/Checkbox.jsx | 0 .../src/components/CheckboxIcons.jsx | 0 .../src/components/ColumnOption.jsx | 0 .../src/components/ColumnTypeLabel.jsx | 0 .../src/components/ConfirmStatusChange.tsx | 79 + .../src/components/CopyToClipboard.jsx | 0 .../src/components/EditableTitle.jsx | 0 .../src/components/ErrorBoundary.jsx | 0 .../src/components/FaveStar.jsx | 0 .../src/components/FilterBadgeIcon.jsx | 0 .../src/components/FilterBadgeIcon.less | 6 +- .../components/FilterableTable/FilterableTable.jsx | 0 .../FilterableTable/FilterableTableStyles.less | 16 + .../src/components/FormRow.jsx | 0 .../src/components/Hotkeys.jsx | 0 .../src/components/IndeterminateCheckbox.jsx | 25 +- .../src/components/InfoTooltipWithTrigger.jsx | 0 .../src/components/ListView/ListView.tsx | 128 +- .../src/components/ListView/ListViewStyles.less | 9 + .../src/components/ListView/TableCollection.tsx | 2 +- .../src/components/ListView/types.ts | 15 +- .../src/components/ListView/utils.ts | 68 +- .../src/components/Loading.jsx | 0 .../src/components/Loading.less | 0 .../src/components/Menu/LanguagePicker.jsx | 0 .../src/components/Menu/Menu.jsx | 0 .../src/components/Menu/Menu.less | 3 + .../src/components/Menu/MenuObject.jsx | 0 .../src/components/Menu/NewMenu.jsx | 0 .../src/components/Menu/UserMenu.jsx | 0 .../src/components/MetricOption.jsx | 0 .../src/components/ModalTrigger.jsx | 0 .../src/components/ObjectTags.css | 0 .../src/components/ObjectTags.jsx | 0 .../src/components/OmniContainer.jsx | 0 .../src/components/OnPasteSelect.jsx | 0 .../src/components/OptionDescription.jsx | 0 .../src/components/PopoverSection.jsx | 0 .../src/components/RefreshChartOverlay.jsx | 0 .../src/components/RefreshLabel.jsx | 0 .../src/components/RefreshLabel.less | 8 +- .../src/components/StackTraceMessage.jsx | 0 .../src/components/TableLoader.jsx | 0 .../src/components/TableSelector.jsx | 9 +- .../src/components/TableSelector.less | 5 + .../src/components/Timer.jsx | 0 .../src/components/TooltipWrapper.jsx | 0 .../src/components/URLShortLinkButton.jsx | 0 .../src/components/URLShortLinkModal.jsx | 0 .../src/components/VictoryTheme.js | 0 .../src/components/VirtualizedRendererWrap.jsx | 0 .../src}/dashboard/.eslintrc | 0 .../src/dashboard/App.jsx | 0 .../src/dashboard/actions/dashboardFilters.js | 0 .../src/dashboard/actions/dashboardInfo.js | 0 .../src/dashboard/actions/dashboardLayout.js | 0 .../src/dashboard/actions/dashboardState.js | 42 +- .../src/dashboard/actions/datasources.js | 0 .../src/dashboard/actions/sliceEntities.js | 2 +- .../src/dashboard/components/AddSliceCard.jsx | 0 .../dashboard/components/BuilderComponentPane.jsx | 0 .../src/dashboard/components/CodeModal.jsx | 0 .../dashboard/components/ColorComponentPane.jsx | 0 .../src/dashboard/components/CssEditor.jsx | 0 .../src/dashboard/components/Dashboard.jsx | 0 .../src/dashboard/components/DashboardBuilder.jsx | 0 .../src/dashboard/components/DashboardGrid.jsx | 0 .../dashboard/components/DeleteComponentButton.jsx | 0 .../dashboard/components/DeleteComponentModal.jsx | 0 .../src/dashboard/components/FilterIndicator.jsx | 0 .../dashboard/components/FilterIndicatorGroup.jsx | 0 .../components/FilterIndicatorTooltip.jsx | 0 .../components/FilterIndicatorsContainer.jsx | 0 .../dashboard/components/FilterTooltipWrapper.jsx | 0 .../src/dashboard/components/Header.jsx | 45 +- .../dashboard/components/HeaderActionsDropdown.jsx | 0 .../src/dashboard/components/IconButton.jsx | 0 .../dashboard/components/InsertComponentPane.jsx | 0 .../src/dashboard/components/MissingChart.jsx | 0 .../src/dashboard/components/PropertiesModal.jsx | 79 +- .../src/dashboard/components/PublishedStatus.jsx | 0 .../dashboard/components/RefreshIntervalModal.jsx | 0 .../src/dashboard/components/SaveModal.jsx | 0 .../src/dashboard/components/SliceAdder.jsx | 0 .../src/dashboard/components/SliceHeader.jsx | 0 .../dashboard/components/SliceHeaderControls.jsx | 0 .../dashboard/components/UndoRedoKeylisteners.jsx | 0 .../components/dnd/AddSliceDragPreview.jsx | 0 .../src/dashboard/components/dnd/DragDroppable.jsx | 0 .../src/dashboard/components/dnd/DragHandle.jsx | 0 .../components/dnd/dragDroppableConfig.js | 0 .../src/dashboard/components/dnd/handleDrop.js | 0 .../src/dashboard/components/dnd/handleHover.js | 0 .../components/filterscope/FilterFieldItem.jsx | 0 .../components/filterscope/FilterFieldTree.jsx | 0 .../components/filterscope/FilterScopeModal.jsx | 0 .../components/filterscope/FilterScopeSelector.jsx | 0 .../components/filterscope/FilterScopeTree.jsx | 0 .../filterscope/renderFilterFieldTreeNodes.jsx | 0 .../filterscope/renderFilterScopeTreeNodes.jsx | 0 .../dashboard/components/filterscope/treeIcons.jsx | 0 .../dashboard/components/gridComponents/Chart.jsx | 2 +- .../components/gridComponents/ChartHolder.jsx | 0 .../dashboard/components/gridComponents/Column.jsx | 0 .../components/gridComponents/Divider.jsx | 0 .../dashboard/components/gridComponents/Header.jsx | 0 .../components/gridComponents/Markdown.jsx | 0 .../dashboard/components/gridComponents/Row.jsx | 0 .../dashboard/components/gridComponents/Tab.jsx | 0 .../dashboard/components/gridComponents/Tabs.jsx | 0 .../dashboard/components/gridComponents/Tags.jsx | 0 .../dashboard/components/gridComponents/index.js | 0 .../gridComponents/new/DraggableNewComponent.jsx | 0 .../components/gridComponents/new/NewColumn.jsx | 0 .../components/gridComponents/new/NewDivider.jsx | 0 .../components/gridComponents/new/NewHeader.jsx | 0 .../components/gridComponents/new/NewMarkdown.jsx | 0 .../components/gridComponents/new/NewRow.jsx | 0 .../components/gridComponents/new/NewTabs.jsx | 0 .../components/gridComponents/new/NewTags.jsx | 0 .../components/menu/BackgroundStyleDropdown.jsx | 0 .../src/dashboard/components/menu/HoverMenu.jsx | 0 .../components/menu/MarkdownModeDropdown.jsx | 0 .../dashboard/components/menu/PopoverDropdown.jsx | 0 .../dashboard/components/menu/WithPopoverMenu.jsx | 0 .../components/resizable/ResizableContainer.jsx | 0 .../components/resizable/ResizableHandle.jsx | 0 .../src/dashboard/containers/Chart.jsx | 0 .../src/dashboard/containers/Dashboard.jsx | 0 .../src/dashboard/containers/DashboardBuilder.jsx | 0 .../dashboard/containers/DashboardComponent.jsx | 0 .../src/dashboard/containers/DashboardGrid.jsx | 0 .../src/dashboard/containers/DashboardHeader.jsx | 2 - .../src/dashboard/containers/FilterIndicators.jsx | 0 .../src/dashboard/containers/FilterScope.jsx | 0 .../src/dashboard/containers/SliceAdder.jsx | 0 .../src/dashboard/fixtures/emptyDashboardLayout.js | 0 .../src/dashboard}/index.jsx | 0 .../src/dashboard/reducers/dashboardFilters.js | 0 .../src/dashboard/reducers/dashboardInfo.js | 0 .../src/dashboard/reducers/dashboardLayout.js | 0 .../src/dashboard/reducers/dashboardState.js | 0 .../src/dashboard/reducers/datasources.js | 0 .../src/dashboard/reducers/getInitialState.js | 5 +- .../src/dashboard/reducers/index.js | 0 .../src/dashboard/reducers/sliceEntities.js | 0 .../dashboard/reducers/undoableDashboardLayout.js | 0 .../dashboard/stylesheets/builder-sidepane.less | 5 +- .../src/dashboard/stylesheets/builder.less | 0 .../src/dashboard/stylesheets/buttons.less | 14 +- .../dashboard/stylesheets/components/chart.less | 100 +- .../dashboard/stylesheets/components/column.less | 62 +- .../dashboard/stylesheets/components/divider.less | 0 .../dashboard/stylesheets/components/header.less | 52 +- .../dashboard/stylesheets/components/index.less | 0 .../dashboard/stylesheets/components/markdown.less | 2 + .../stylesheets/components/new-component.less | 8 +- .../src/dashboard/stylesheets/components/row.less | 70 +- .../src/dashboard/stylesheets/components/tabs.less | 42 +- .../src/dashboard/stylesheets/dashboard.less | 21 +- .../src/dashboard/stylesheets/dnd.less | 20 +- .../stylesheets/filter-indicator-tooltip.less | 2 +- .../dashboard/stylesheets/filter-indicator.less | 7 +- .../stylesheets/filter-scope-selector.less | 6 +- .../src/dashboard/stylesheets/grid.less | 2 +- .../src/dashboard/stylesheets/hover-menu.less | 2 +- .../src/dashboard/stylesheets/index.less | 0 .../src/dashboard/stylesheets/popover-menu.less | 143 +- .../src/dashboard/stylesheets/resizable.less | 114 +- .../src/dashboard/util/activeDashboardFilters.js | 0 .../src/dashboard/util/backgroundStyleOptions.js | 0 .../dashboard/util/buildFilterScopeTreeEntry.js | 0 .../util/charts/getEffectiveExtraFilters.js | 0 .../util/charts/getFormDataWithExtraFilters.js | 0 .../src/dashboard/util/componentIsResizable.js | 0 .../src/dashboard/util/componentTypes.js | 0 .../src/dashboard/util/constants.js | 0 .../src/dashboard/util/dashboardFiltersColorMap.js | 0 .../src/dashboard/util/dnd-reorder.js | 0 .../src/dashboard/util/dropOverflowsParent.js | 0 .../src/dashboard/util/findFirstParentContainer.js | 0 .../src/dashboard/util/findParentId.js | 0 .../dashboard/util/findTabIndexByComponentId.js | 0 .../util/getChartAndLabelComponentIdFromPath.js | 0 .../src/dashboard/util/getChartIdsFromLayout.js | 0 .../dashboard/util/getComponentWidthFromDrop.js | 0 .../src/dashboard/util/getDashboardFilterKey.js | 0 .../src/dashboard/util/getDashboardUrl.js | 0 .../dashboard/util/getDetailedComponentWidth.js | 0 .../src/dashboard/util/getDirectPathToTabIndex.js | 0 .../src/dashboard/util/getDragDropManager.js | 0 .../src/dashboard/util/getDropPosition.js | 0 .../src/dashboard/util/getEmptyLayout.js | 0 .../dashboard/util/getFilterConfigsFromFormdata.js | 0 .../src/dashboard/util/getFilterFieldNodesTree.js | 0 .../dashboard/util/getFilterScopeFromNodesTree.js | 0 .../src/dashboard/util/getFilterScopeNodesTree.js | 0 .../dashboard/util/getFilterScopeParentNodes.js | 0 .../dashboard/util/getFilterValuesByFilterId.js | 0 .../src/dashboard/util/getKeyForFilterScopeTree.js | 0 .../util/getLayoutComponentFromChartId.js | 0 .../dashboard/util/getLeafComponentIdFromPath.js | 0 .../src/dashboard/util/getLocationHash.js | 0 .../src/dashboard/util/getRevertedFilterScope.js | 0 .../util/getSelectedChartIdForFilterScopeTree.js | 0 .../src/dashboard/util/headerStyleOptions.js | 0 .../src/dashboard/util/injectCustomCss.js | 0 .../src/dashboard/util/isDashboardLoading.js | 0 .../dashboard/util/isInDifferentFilterScopes.js | 0 .../src/dashboard/util/isValidChild.js | 0 .../dashboard/util/logging/childChartsDidLoad.js | 0 .../util/logging/findNonTabChildChartIds.js | 0 .../util/logging/findTopLevelComponentIds.js | 0 .../logging/getLoadStatsPerTopLevelComponent.js | 0 .../src/dashboard/util/newComponentFactory.js | 0 .../src/dashboard/util/newEntitiesFromDrop.js | 0 .../src/dashboard/util/propShapes.jsx | 0 .../src/dashboard/util/resizableConfig.js | 0 .../dashboard/util/serializeActiveFilterValues.js | 0 .../src/dashboard/util/serializeFilterScopes.js | 0 .../src/dashboard/util/setPeriodicRunner.js | 19 +- .../src/dashboard/util/shouldWrapChildInRow.js | 0 .../dashboard/util/updateComponentParentsList.js | 0 .../src/datasource/ChangeDatasourceModal.jsx | 0 .../src/datasource/DatasourceEditor.jsx | 0 .../src/datasource/DatasourceModal.jsx | 0 .../src/datasource/main.less | 0 .../src/explore/AdhocFilter.js | 0 .../src/explore/AdhocMetric.js | 0 .../src/explore/App.jsx | 0 .../src/explore/actions/exploreActions.js | 5 + .../src/explore/actions/saveModalActions.js | 0 .../explore/components/AdhocFilterEditPopover.jsx | 0 .../AdhocFilterEditPopoverSimpleTabContent.jsx | 0 .../AdhocFilterEditPopoverSqlTabContent.jsx | 0 .../src/explore/components/AdhocFilterOption.jsx | 0 .../explore/components/AdhocMetricEditPopover.jsx | 0 .../components/AdhocMetricEditPopoverTitle.jsx | 0 .../src/explore/components/AdhocMetricOption.jsx | 0 .../explore/components/AdhocMetricStaticOption.jsx | 0 .../src/explore/components/AggregateOption.jsx | 0 .../src/explore/components/Control.jsx | 0 .../src/explore/components/Control.less | 0 .../src/explore/components/ControlHeader.jsx | 0 .../src/explore/components/ControlPanelSection.jsx | 0 .../explore/components/ControlPanelsContainer.jsx | 0 .../src/explore/components/ControlRow.jsx | 0 .../src/explore/components/DisplayQueryButton.jsx | 27 +- .../src/explore/components/EmbedCodeButton.jsx | 0 .../explore/components/ExploreActionButtons.jsx | 3 + .../src/explore/components/ExploreChartHeader.jsx | 0 .../src/explore/components/ExploreChartPanel.jsx | 0 .../explore/components/ExploreViewContainer.jsx | 0 .../explore/components/FilterDefinitionOption.jsx | 0 .../explore/components/MetricDefinitionOption.jsx | 0 .../explore/components/MetricDefinitionValue.jsx | 0 .../src/explore/components/PropertiesModal.jsx | 239 ++ .../src/explore/components/QueryAndSaveBtns.jsx | 0 .../src/explore/components/RowCountLabel.jsx | 0 .../src/explore/components/SaveModal.jsx | 0 .../components/controls/AdhocFilterControl.jsx | 0 .../components/controls/AnnotationLayer.jsx | 0 .../components/controls/AnnotationLayer.less | 0 .../components/controls/AnnotationLayerControl.jsx | 0 .../explore/components/controls/BoundsControl.jsx | 0 .../components/controls/CheckboxControl.jsx | 0 .../components/controls/CollectionControl.jsx | 0 .../components/controls/CollectionControl.less | 0 .../components/controls/ColorMapControl.jsx | 0 .../components/controls/ColorPickerControl.jsx | 0 .../components/controls/ColorSchemeControl.jsx | 0 .../components/controls/DatasourceControl.jsx | 0 .../components/controls/DatasourceControl.less | 2 +- .../components/controls/DateFilterControl.jsx | 0 .../components/controls/DateFilterControl.less | 0 .../components/controls/FilterBoxItemControl.jsx | 0 .../components/controls/FixedOrMetricControl.jsx | 0 .../explore/components/controls/HiddenControl.jsx | 0 .../explore/components/controls/MetricsControl.jsx | 0 .../components/controls/SelectAsyncControl.jsx | 0 .../explore/components/controls/SelectControl.jsx | 0 .../explore/components/controls/SliderControl.jsx | 0 .../explore/components/controls/SpatialControl.jsx | 0 .../components/controls/TextAreaControl.jsx | 0 .../explore/components/controls/TextControl.jsx | 0 .../controls/TimeSeriesColumnControl.jsx | 0 .../components/controls/ViewportControl.jsx | 0 .../explore/components/controls/VizTypeControl.jsx | 0 .../components/controls/VizTypeControl.less | 30 +- .../src/explore/components/controls/index.js | 0 .../components/controls/withVerification.jsx | 0 .../src/explore/constants.js | 0 .../src/explore/controlPanels/Area.js | 0 .../src/explore/controlPanels/Bar.js | 0 .../src/explore/controlPanels/BigNumber.js | 0 .../src/explore/controlPanels/BigNumberTotal.js | 0 .../src/explore/controlPanels/BoxPlot.js | 0 .../src/explore/controlPanels/Bubble.js | 0 .../src/explore/controlPanels/Bullet.js | 0 .../src/explore/controlPanels/CalHeatmap.js | 0 .../src/explore/controlPanels/Chord.js | 0 .../src/explore/controlPanels/Compare.js | 0 .../src/explore/controlPanels/CountryMap.js | 0 .../src/explore/controlPanels/DeckArc.js | 0 .../src/explore/controlPanels/DeckGeojson.js | 0 .../src/explore/controlPanels/DeckGrid.js | 0 .../src/explore/controlPanels/DeckHex.js | 0 .../src/explore/controlPanels/DeckMulti.js | 0 .../src/explore/controlPanels/DeckPath.js | 0 .../src/explore/controlPanels/DeckPolygon.js | 0 .../src/explore/controlPanels/DeckScatter.js | 0 .../src/explore/controlPanels/DeckScreengrid.js | 0 .../src/explore/controlPanels/DirectedForce.js | 0 .../src/explore/controlPanels/DistBar.js | 0 .../src/explore/controlPanels/DualLine.js | 0 .../src/explore/controlPanels/EventFlow.js | 0 .../src/explore/controlPanels/FilterBox.jsx | 0 .../src/explore/controlPanels/Heatmap.js | 0 .../src/explore/controlPanels/Histogram.js | 0 .../src/explore/controlPanels/Horizon.js | 0 .../src/explore/controlPanels/Iframe.js | 0 .../src/explore/controlPanels/Kepler.js | 0 .../src/explore/controlPanels/Line.js | 0 .../src/explore/controlPanels/LineMulti.js | 0 .../src/explore/controlPanels/Mapbox.js | 0 .../src/explore/controlPanels/Markup.js | 0 .../src/explore/controlPanels/PairedTtest.js | 0 .../src/explore/controlPanels/Para.js | 0 .../src/explore/controlPanels/Partition.js | 0 .../src/explore/controlPanels/Pie.js | 0 .../src/explore/controlPanels/PivotTable.js | 0 .../src/explore/controlPanels/Rose.js | 0 .../src/explore/controlPanels/Sankey.js | 0 .../src/explore/controlPanels/Separator.js | 0 .../src/explore/controlPanels/Sunburst.js | 0 .../src/explore/controlPanels/Table.js | 0 .../src/explore/controlPanels/TimePivot.js | 0 .../src/explore/controlPanels/TimeTable.js | 0 .../src/explore/controlPanels/Treemap.js | 0 .../src/explore/controlPanels/WordCloud.js | 0 .../src/explore/controlPanels/WorldMap.js | 0 .../src/explore/controlPanels/sections.jsx | 0 .../timeGrainSqlaAnimationOverrides.js | 0 .../src/explore/controlUtils.js | 0 .../src/explore/controls.jsx | 2 +- .../src/explore/exploreUtils.js | 8 + .../src/explore/index.jsx | 0 .../src/explore/main.less | 102 +- .../src/explore/propTypes/adhocFilterType.js | 0 .../src/explore/propTypes/adhocMetricType.js | 0 .../src/explore/propTypes/aggregateOptionType.js | 0 .../src/explore/propTypes/columnType.js | 0 .../src/explore/propTypes/savedMetricType.js | 0 .../src/explore/reducers/exploreReducer.js | 9 + .../src/explore/reducers/getInitialState.js | 0 .../src/explore/reducers/index.js | 0 .../src/explore/reducers/saveModalReducer.js | 0 .../src/explore/store.js | 0 .../src/explore/validators.js | 0 .../src/featureFlags.ts | 0 .../src/logger/LogUtils.js | 1 + .../src/logger/actions/index.js | 0 .../src/messageToasts/actions/index.js | 0 .../src/messageToasts/components/Toast.jsx | 0 .../messageToasts/components/ToastPresenter.jsx | 0 .../src/messageToasts/constants.js | 0 .../messageToasts/containers/ToastPresenter.jsx | 0 .../src/messageToasts/enhancers/withToasts.jsx | 0 .../src/messageToasts/propShapes.js | 0 .../src/messageToasts/reducers/index.js | 0 .../src/messageToasts/stylesheets/toast.less | 28 +- .../utils/getToastsFromPyFlashMessages.js | 0 .../src/middleware/loggerMiddleware.js | 1 + .../src/modules/AnnotationTypes.js | 0 .../src/modules/dates.js | 0 .../src/modules/utils.js | 0 .../assets => superset-frontend}/src/preamble.js | 0 .../src/profile/App.jsx | 0 .../src/profile/components/App.jsx | 0 .../src/profile/components/CreatedContent.jsx | 0 .../src/profile/components/Favorites.jsx | 0 .../src/profile/components/RecentActivity.jsx | 0 .../src/profile/components/Security.jsx | 0 .../src/profile/components/UserInfo.jsx | 0 .../src/profile}/index.jsx | 0 .../src/profile/main.less | 0 .../assets => superset-frontend}/src/reduxUtils.js | 0 .../src/setup/setupApp.js | 0 .../src/setup/setupClient.js | 0 .../src/setup/setupColors.js | 0 .../src/setup/setupFormatters.js | 0 .../src/setup/setupPlugins.ts | 0 .../src/setup/setupPluginsExtra.js | 0 .../src/showSavedQuery/index.jsx | 0 .../src/showSavedQuery/index.less | 1 + .../src/showSavedQuery/utils.js | 0 {superset/assets => superset-frontend}/src/tags.js | 0 .../assets => superset-frontend}/src/theme.js | 0 .../src/types/react-table-config.d.ts | 137 + .../src/utils/DebouncedMessageQueue.js | 0 .../src/utils/common.js | 0 .../src/utils/errorMessages.js | 0 .../src/utils/getClientErrorObject.js | 0 .../src/utils/hostNamesConfig.js | 0 .../src/utils/reducerUtils.js | 0 .../src/utils/safeStringify.ts | 0 .../src/views/chartList/ChartList.tsx | 316 +++ .../src/views/dashboardList/DashboardList.tsx | 344 +++ .../src/visualizations/FilterBox/FilterBox.jsx | 0 .../src/visualizations/FilterBox/FilterBox.less | 30 +- .../FilterBox/FilterBoxChartPlugin.js | 0 .../visualizations/FilterBox/images/thumbnail.png | Bin .../FilterBox/images/thumbnailLarge.png | Bin .../src/visualizations/FilterBox/transformProps.js | 0 .../visualizations/TimeTable/FormattedNumber.jsx | 0 .../src/visualizations/TimeTable/SparklineCell.jsx | 0 .../src/visualizations/TimeTable/TimeTable.jsx | 0 .../src/visualizations/TimeTable/TimeTable.less | 0 .../TimeTable/TimeTableChartPlugin.js | 0 .../visualizations/TimeTable/images/thumbnail.png | Bin .../TimeTable/images/thumbnailLarge.png | Bin .../src/visualizations/TimeTable/transformProps.js | 0 .../src/visualizations/constants.js | 0 .../src/visualizations/presets/MainPreset.js | 0 .../src/welcome/App.jsx | 4 + .../src/welcome/DashboardTable.jsx | 0 .../src/welcome/TagsTable.jsx | 0 .../src/welcome/Welcome.jsx | 0 .../src/welcome}/index.jsx | 0 .../stylesheets/fonts/Roboto-Regular.woff | Bin .../stylesheets/fonts/Roboto-Regular.woff2 | Bin .../stylesheets/less/cosmo/bootswatch.less | 56 +- .../stylesheets/less/cosmo/cosmoTheme.js | 0 .../stylesheets/less/cosmo/variables.less | 2 +- .../stylesheets/less/index.less | 1 + .../stylesheets/less/variables.less | 31 +- .../stylesheets/react-select/select.less | 12 +- .../stylesheets/reactable-pagination.less | 20 +- .../stylesheets/superset.less | 112 +- .../assets => superset-frontend}/tsconfig.json | 0 {superset/assets => superset-frontend}/tslint.json | 7 +- .../assets => superset-frontend}/webpack.config.js | 21 +- superset/app.py | 92 +- superset/assets/docs | 1 - .../components/ListView/ListView_spec.jsx | 175 -- superset/assets/src/types/react-table.d.ts | 243 -- .../src/views/dashboardList/DashboardList.tsx | 294 --- superset/cli.py | 24 +- superset/common/query_context.py | 20 +- superset/common/query_object.py | 9 +- superset/config.py | 37 +- superset/connectors/druid/models.py | 35 +- superset/connectors/druid/views.py | 21 +- superset/connectors/sqla/models.py | 33 +- superset/connectors/sqla/views.py | 5 + superset/constants.py | 42 + superset/db_engine_specs/base.py | 18 +- .../cockroachdb.py} | 6 +- superset/db_engine_specs/hive.py | 44 +- superset/db_engine_specs/presto.py | 23 +- superset/examples/css_templates.py | 22 - superset/extensions.py | 2 +- superset/models/core.py | 29 +- superset/models/dashboard.py | 7 +- superset/models/helpers.py | 10 +- superset/models/slice.py | 14 +- superset/result_set.py | 58 +- superset/security/manager.py | 51 +- superset/sql_parse.py | 3 +- superset/sql_validators/presto_db.py | 9 +- superset/static/.gitkeep | 0 superset/static/assets | 1 - superset/stats_logger.py | 10 +- superset/tasks/schedules.py | 7 +- .../fab_overrides/list_with_checkboxes.html | 3 +- .../templates/superset/models/database/macros.html | 4 +- superset/translations/babel.cfg | 6 +- superset/{constants.py => typing.py} | 8 +- superset/utils/cache_manager.py | 30 +- superset/utils/core.py | 31 +- superset/utils/dashboard_import_export.py | 4 +- superset/utils/decorators.py | 5 +- superset/utils/dict_import_export.py | 13 +- superset/utils/import_datasource.py | 8 +- superset/utils/logging_configurator.py | 4 +- superset/views/annotations.py | 3 + superset/views/base.py | 54 +- superset/views/base_api.py | 31 +- superset/views/chart/api.py | 18 +- superset/views/chart/mixin.py | 8 +- superset/views/chart/views.py | 57 +- superset/views/core.py | 204 +- superset/views/dashboard/api.py | 18 +- superset/views/dashboard/views.py | 45 +- superset/views/database/api.py | 249 +- superset/views/database/filters.py | 45 + superset/views/database/mixins.py | 29 +- superset/views/database/views.py | 50 +- superset/views/log/api.py | 14 +- superset/views/log/views.py | 2 + superset/views/schedules.py | 2 + superset/views/sql_lab.py | 15 +- superset/viz.py | 47 +- tests/base_api_tests.py | 106 + tests/core_tests.py | 37 +- tests/dashboard_api_tests.py | 24 +- tests/dashboard_tests.py | 12 +- tests/database_api_tests.py | 144 + tests/dataframe_test.py | 2 + tests/druid_func_tests.py | 2 + tests/email_tests.py | 7 +- tests/import_export_tests.py | 7 +- tests/log_api_tests.py | 132 + tests/model_tests.py | 2 + tests/result_set_tests.py | 76 + tests/security_tests.py | 57 +- tests/sql_validator_tests.py | 2 + tests/sqla_models_tests.py | 2 + tests/sqllab_tests.py | 86 +- tests/strategy_tests.py | 2 + .../views/log/views.py => tests/tagging_tests.py | 25 +- tests/utils_tests.py | 9 +- tests/viz_tests.py | 7 +- tox.ini | 15 +- 1017 files changed, 6327 insertions(+), 4052 deletions(-)